Пользователь
0,0
рейтинг
3 июня 2013 в 20:35

Разработка → Symfony 2.3.0! Первый релиз с долгосрочной поддержкой! перевод

image

Symfony 2.3.0


Мы все долго этого ждали, многие из нас работали последние 4 года что бы это произошло. Сегодня, Symfony 2.3.0 доступна и это первый релиз с долгосрочной поддержкой(LTS) для Symfony 2.

Я очень счастлив, что мы достигли этой точки в жизни Фреймворка. Спасибо вам, что сделали это возможным!

Что это значит? С момента введения новой политики релизов, стандартная версия с восьми-месячной поддержкой Symfony выходит каждые пол года. Каждые два года мы выпускаем версию LTS с поддержкой в течении трех лет.

Это даёт нам лучшее двух разных миров: маленькие команды и agile компании могут использовать лучшее из новых возможностей, обновляясь каждые пол года; большие команды и традиционные компании могут полагаться на релиз в течении трех лет и иметь ещё один год что бы обновиться до следующего LTS релиза.

И 2.3.0 это наш первый релиз долгосрочной поддержки. Мы, сообщество, будем поддерживать его следующие три года (до мая 2016).

Цифры


Традиционно, я хочу показать некоторые факты в цифрах. На Symfony 2.3.0 нам понадобилось всего три месяца вместо шести. В итоге, 2.3 включает в себя 437 пулл-реквеста, 1,260 коммитов, отправленных 50ю разработчиками. В документацию вошли 839 коммита от 44 авторов.

1,260 коммитов за 3 месяца — это примерно 14 коммитов каждый день. 437 пулл-реквеста — 5 пулл-реквестов сливалось с основной веткой за сутки. Это новый рекорд!

Возможности


Что насчет самых интересных изменений? Давайте суммируем всё то что я писал в этом блоге последние пару месяцев:



Обновление


Обновление с 2.2 до 2.3 должно произойти безболезнено.

Если вы используете стандартную версию (Symfony Standard Edition), вы должны учесть, что некоторые бандлы были удалены из-за проблем с лицензией. Начиная с ветки 2.3 весь код находится под MIT-like лицензией, а так же все зависимости.

composer.json
diff --git a/composer.json b/composer.json
index c2d7588..5705d76 100644
--- a/composer.json
+++ b/composer.json
@@ -1,32 +1,35 @@
 {
     "name": "symfony/framework-standard-edition",
+    "license": "MIT",
+    "type": "project",
     "description": "The \"Symfony Standard Edition\" distribution",
     "autoload": {
         "psr-0": { "": "src/" }
     },
     "require": {
         "php": ">=5.3.3",
-        "symfony/symfony": "2.2.*",
-        "doctrine/orm": "~2.2,>=2.2.3",
+        "symfony/symfony": "2.3.*",
+        "doctrine/orm": ">=2.2.3,<2.4-dev",
         "doctrine/doctrine-bundle": "1.2.*",
         "twig/extensions": "1.0.*",
-        "symfony/assetic-bundle": "2.1.*",
-        "symfony/swiftmailer-bundle": "2.2.*",
-        "symfony/monolog-bundle": "2.2.*",
-        "sensio/distribution-bundle": "2.2.*",
-        "sensio/framework-extra-bundle": "2.2.*",
-        "sensio/generator-bundle": "2.2.*",
-        "jms/security-extra-bundle": "1.4.*",
-        "jms/di-extra-bundle": "1.3.*"
+        "symfony/assetic-bundle": "2.3.*",
+        "symfony/swiftmailer-bundle": "2.3.*",
+        "symfony/monolog-bundle": "2.3.*",
+        "sensio/distribution-bundle": "2.3.*",
+        "sensio/framework-extra-bundle": "2.3.*",
+        "sensio/generator-bundle": "2.3.*",
+        "incenteev/composer-parameter-handler": "~2.0"
     },
     "scripts": {
         "post-install-cmd": [
+            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
         ],
         "post-update-cmd": [
+            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
@@ -36,12 +39,15 @@
     "config": {
         "bin-dir": "bin"
     },
-    "minimum-stability": "alpha",
+    "minimum-stability": "stable",
     "extra": {
         "symfony-app-dir": "app",
         "symfony-web-dir": "web",
+        "incenteev-parameters": {
+            "file": "app/config/parameters.yml"
+        },
         "branch-alias": {
-            "dev-master": "2.2-dev"
+            "dev-master": "2.3-dev"
         }
     }
 }


Вся обратная совместимость, которая была реализована в предыдущей версии была удаленна, проверьте ещё раз свой код и ознакомьтесь с файлом UPGRADE.

Установка


Если вы начинаете новый проект с помощью Symfony 2.3 у вас есть несколько вариантов:
  • Создайте новый проект посредством Composer (рекомендовано)
    $ php composer.phar create-project symfony/framework-standard-edition somewhere/ 2.3.0
  • Скачайте архив для Symfony Standard Edition

Если вы используете некоторые компоненты Symfony в вашем новом приложении, используйте версию 2.3.0 или ветку 2.3:
Перевод: Fabien Potencier
Дмитрий Смагин @choor
карма
21,0
рейтинг 0,0

Похожие публикации

Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (6)

  • +1
    — «jms/security-extra-bundle»: «1.4.*»,
    — «jms/di-extra-bundle»: «1.3.*»

    Эти бандлы исключены просто из стандартной версии, т.е. самим их установить будет возможно или они вообще прекратят поддерживаться в этой версии? Извиняюсь, за, возможно, глупый вопрос.
    • +1
      Да, конечно возможно, просто добавьте самостоятельно в свой composer.json в зависимости, я думаю эти бандлы могут вернуться в стандартную версию, если перейдут на MIT-like лицензию.
    • 0
      На последнем релизе не проверял, а вот в последнем RC эти два бандла у меня нормально ставились.
    • 0
      Аналогичный вопрос был в комментариях к оригинальной новости.
      Ответ Fabien Potencier:
      As the Symfony Standard Edition is under the MIT license, we did not want to have anything else in its deps. That helps people developing GPL projects on top of Symfony. That said, if you are developing your own project, using dependencies under an Apache license should not be a problem at all. So, feel free to add them back.
  • +10
    С новой политикой релизов у symfony2 все больше шансов стать стандартом де-факто для корпоративной разработки, ура!
  • +1
    Еще год-полтора назад, я говорил, что ZendFramework2 на уровне Symfony2. Теперь, приходится в основном проекте работать с ZF2 и становится ясно, что этот фреймворк все больше отстает от Symfony. Точнее, Symfony развивается просто отлично — документация на уровне, активное комьюнити, каждую неделю в офиц. блоге Фабьен описывает человеческим языком изменения.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.