Sulu 2.0 - New major release ahead!
As mentioned on the blog the Sulu 1.6 release is the last one of the 1.x series. There are many reasons why we made this decision and it’s time to share our thoughts with our community.
Software and especially the technology which is used to build the software evolves over time. This is challenging for everybody involved, but the Sulu team has always been very committed to the project forward with the best available solutions. Building a large legacy codebase has never been our goal. So a new major version allows us to introduce breaking changes und clean up existing code.
Luckily we decided early on to separate the back office admin into a frontend-application and backend-application. They only communicate via REST API with each other. So it's basically a classic single page application. This allows us to move forward with a different pace for each technology. And exactly this is what we are going to do.
So in spring 2017 we decided to finalize the feature set for the 1.x series and introduced Audience Targeting in 1.6. Afterwards we started moving forward regarding the frontend issues. We quickly realized that it won't be a refactoring of the existing code and we need to start over again.
At this point we already had some experience with Angular and React and to be honest, after our past decision only frameworks from big players were taken into account, at best when they are using the technology heavily it self.
On the other hand the PHP ecosystem fortunately doesn't develop that quickly and we are really happy to have chosen Symfony as our foundation. So regarding PHP we will only update all the dependencies and will introduces smaller breaking change which should not affect a lot of projects. We are also going to rise the minimal PHP version to 7.1 and will support Symfony 3.4 and 4.x.
What exactly means this for upgrades from 1.6 to 2.0?
If you haven’t used custom built modules the upgrade path should be fairly smooth. Only smaller BC breaks need to be adopted. The data structure will stay the same and there will be obviously an upgrade guidance.
If you have added your own modules the good news is that all the backend stuff like controllers, models, services, REST API's etc. will stay in place. You only need to check that your code is at least Symfony 3.4 compatible and runs with PHP 7.1.
When will Sulu 2.0 be released?
That's a good question. Our initial goal was to release at the beginning of 2018, but things don't always play out like we want. Our current plan is to release Sulu 2.0 within June. There will be a developer preview within May.
What about 1.x support?
We are aware of the fact that Sulu is used for all kinds of websites and even mission critical web applications. That's exactly the reason why we are going to announce today that Sulu is going to have LTS - Long Term Support - versions. What does that mean exactly? The last release of every major series is a LTS version and will be maintained until the release after the next major release. So 1.6 will be supported till the release of 3.0. We are planning to ship new major versions every 2 to 3 years to keep up with the evolution.
So stay tuned for the upcoming blog posts with more details about Sulu 2.0. It's going to be an amazing journey.