Which Symfony version to choose? - symfony

I am wondering why support for Symfony 3.2 will end on July 2017 while Symfony 2.8 will on November 2018?
I will start a new project and I am little lost about what version of symfony to download. The last version or an old version that has more support.

Symfony 2.8 has long term support (LTS). This means it will be supported up to four years after its release. Since the release was November 2015 the support will continue until 2019. 2.8 will be the last version of Symfony 2, wich means that Symfony 2 will be end of life in November 2018.
Symfony 3.2 is a "normal" version without LTS. The next LTS version of Symfony 3 will be 3.4 which is scheduled to be released in 9/2017, which means that Symfony 3 will be end of life in 2021.
You can find the complete release schedule including Symfony 4 at this link. Symfony Release Schedule
TL;DR: Use Symfony 3.x, it will be supported 3 more years than Symfony 2.
EDIT: The symfony website mentions different values for the number of years a lts version is supported. The page I linked mentions four years, so I corrected the numbers above. The three years I mentioned in the original post can be found here. version 2.8 roadmap

Take a look at this release schedule. Version 2.8 is part of the Long Term Support. You could go with version 2.8, but it makes more sense to use the latest version of 3.2, and then use composer update to update your project. Version 3.4 should be coming out soon.
You have a choice not to update your Symfony version if you don't want to. I'm not sure if that addresses your question?

I would choose Symfony 3.2, it will be easier to upgrade to the 3.4 release which is a long time support version (2021).
Check here

Related

Can't find Utf8JsonWriter.WriteRawValue() in .NET 5 SDK 5.0.400

This pull request added the WriteRawValue method to the Utf8JsonWriter class in the .NET runtime repo on 3 July 2021. The next .NET release (see release history and the version tag on Github) was on 10 August. It's version 5.0.9, SDK version 5.0.400. After installing this version, the above-mentioned method is still missing from the Utf8JsonWriter class.
I am banging my head in the wall and asking why?
According to the github history, this is targeted for .NET 6.0.0.

How should I update FreePBX version 2.0.X to 14?

I am working on a project and the client is using freePBX version 2.0.X and they want to upgrade their version to 14.0.X. How should I do this keeping in mind that all the data and configurations needs to be migrated to the newer version?
edit: to those who are marking it negative, I am new to this and if I new the answer then, I wouldn't ask.
You have update 2.0->2.2. After that 2.2 -> 2.4, 2.4->2.5, 2.5->2.6
After that you have updat 2.6 to 13, 13 to 14.
Some of this upgrades not go without problem, huge experience required.
On upgrade from 2.6 to 13 you have also upgrade asterisk to version 13.
If you have no very complex config, in most cases faster will be backup extensions, dids, restore, put all other config items.
ps also you need have archive for thoose version,i think it will be complex to find something below 2.4

Should I upgrade from Symfony 2.6 to Symfony 4 directly or do it in intermediate stages?

We are thinking of upgrading our Symfony app to Symfony 4.
The app is currently on Symfony 2.6 version (we can upgrade to php 7).
What are the benefits to upgrade through 2 stages from 2.6 to 3 then from 3 to 4 compared with upgrading directly from Symfony 2.6 to Symfony 4?
There are some differences between SF 3.4 and SF 4. So if you have an older Version you should first upgrade to SF 3.4. This is because SF 4 has another structure and use the flex framework. It's possible that you have to change a lot of things during the migration. If you have the time you can do that. If your have Unit-Tests it's much easier to find all the problems.
In general you should read the migration documents that describes the changes in every version and change your code in that way.
https://symfony.com/doc/2.7/setup/upgrade_major.html
So better you upgrade first to version 3.4. Then you have the compatibility to your older code and plugins but no new features that come up in SF 4. But all that depends on the size of your application.
You can upgrade, but it will be very painful because the development methodology has changed very much between symfony2 and symfony4. Will better to install separate Symfony 4 project and implement each component of application separate.
You should upgrade by this step:
1 -Symfony2.6 to Symfony2.7
2- Symfony2.7 to Symfony2.8
3 - Symfony2.8 to Symfony3.4
4- Symfony3.4 to Symfony4

Should I use the new Symfony 4 file structure with 3.3 & 3.4?

I'm wondering if it makes sense to use the Symfony 4 file structure (as described in Fabian's post) for projects running Symfony 3.3 and 3.4?
The Architecture page in the documentation for 3.3, 3.4 and 4.0 all show the version 3.* directory structure so I'm not sure where the canonical information is and thus I'm not 100% sure it's either a good idea nor what the "final" decision is.
Yes, it is good idea – if you plan to start using Symfony Flex (the next big thing in Symfony world), the directory structure used Symfony 4 is required. Last version of Symfony Standard Edition will be 3.4, so if you want your application to keep up to date, it's better choice to start use that structure now, than moving and review tens (or hundreds) of files later.
Documentation is not yet updated – current master version (4.0) is just clone of 3.4.

Upgrade flyway version 1.5 to 3.2

I have been looking for migration method from flyway version 1.x to 3.x
(i.e. com.googlecode.flyway to org.flywaydb) everywhere it is mentioned to migrate first to version 2.3 but no where it is mentioned how? Is there a direct way to do it or do I have to do something from backend.
My database already has data and I cannot drop database.
Note: Flyway 1.X to 2.X has breaking changes for table schema_version.
EDIT
I have upgraded my maven dependency for flyway from 1.5 to 3.1. It now says schema_version does not have some column which is made by flyway itself for its own reference. I went through docs and all over stackoverflow and found flyway 3.1 and 1.5 are incompatible. It is mentioned on SO and docs that we need to first upgrade to 2.3 and then to 3.1. But no where it is mentioned how. Because just by adding pom dependency, it doesnot seem to solve the schema_version problem.
I also tried adding 2.3 to pom and started my spring based application but still Flyway fails throwing stacktrace saying it cannot find some column.
Exact error is Unknown column 'success' in 'where clause' for schema_version table made by flyway 1.5 itself.
Please suggest how to fix this up ?
As you can see at Release Notes:
Dropped compatibility with the Flyway 1.X metadata table format. If you are upgrading from 1.X, you must upgrade to 2.3 first, before upgrading to 3.0.
you have to upgrade to version 2.3. And as you could read in Release Notes:
Flyway 2.1 (2013-03-05)
This version fixes minor issues with the metadata table. Migration is transparent and automatic on first run.
[...]
Flyway 2.0.2 (2012-11-22)
This version performs minor fixes on the metadata table. Migration is transparent and automatic on first run.
[...]
Flyway 2.0 (2012-11-14)
This version comes with a new metadata table format. Migration is transparent and automatic on first run.
Flyway upgrades its schema by itself.
See also:
MetaDataTableTo20FormatUpgrader.java
MetaDataTableTo202FormatUpgrader.java
MetaDataTableTo21FormatUpgrader.java

Resources