See the tentative 2020.1 items for details.
Please remember that the following schedule is a plan, not a promise:
2020-06: tentative release date
See the Orbeon Forms release history.
How often do we release? Since 2013, starting with version 4.0, we have had about 2 major releases per year, with point releases as needed.
Why do we release often? We think more frequent releases are better because features and bug-fixes reach users faster. They also keep us almost always ready to ship, rather than having very large work in progress which can destabilize the product and then take weeks or months to fix. In short, we think that incremental development and releases are much better for everyone! Based on our experience since early 2013 when we introduced the new release schedule, we are so far (2019) very happy with the change.
What do releases contain? Releases address both new features and bug-fixes. Point-releases (2018.1.1, 2018.1.2, etc.) essentially contain bug-fixes and sometimes very small features. They are done only when necessary, and only for the PE version of the product. Bigger features are left to the major releases (2017.1, 2017.2, 2018.1, 2018.2, etc.), and we strive to do those on a regular schedule.
How far ahead do we plan? Once we've published a major release, we do the planning for the following one. You can see the future releases listed on the open projects page, and from there, see what has been planned for the next release. We don't plan feature or bugs to be included in releases beyond the very next release, so we can react faster to our customers needs, deciding for every release what will best serve our customers.
How do we decide what improvements to include in a release? A fair amount of the new features we develop are designed in collaboration with our customers, and sponsored by customers through a Dev Support plan. Other features are added to better serve existing and future users of the product. And last, but not least, for every release we strive to do work in each one of the development tracks outlined below.
This are general development tracks which we consider from release to release:
Architecture and maintenance – Like any project, Orbeon Forms has some technical debt. It is not possible to remove all of it at once, but, like garbage collection, we want improve the code base incrementally. In addition, we want to look to the future to use the best possible languages and frameworks. This includes: modularizing of the code, taking care of issues flagged as "maintenance", drop old frameworks and adopt new ones (get rid of YUI, use Scala.js), and do more automated testing (we have almost 800 tests, but need more).
Integration and workflow – We want to make it easier to embed forms, make it easier to use HTTP/DB services for validation, allow forms to be imported/exported with dependencies, better document standard use cases / workflows, make integration with external systems/workflows simpler, include built-in Basic workflow, and more.
Form Builder modernization – We want to push the envelope and keep improving the usability of Form Builder.
For each release we would like to:
have at least one new feature (which can be small)
book one day of work on documentation tasks
pick one maintenance task (build system, refactoring, …)
The idea is, as some of those tasks are large, to do it incrementally when possible, so that some progress is made.