We had a planning meeting last week to decide what will go into AngularJS 1.4. Here is a summary of what happened. You can watch the video of the meeting on YouTube below.
We decided that the first release (1.4.0) will be in Spring 2015, coinciding with ng-conf on 5th March 2015. In the meantime, we'll continue with 1.3.x releases as usual.
Lucas prepared a spreadsheet with a list of suggested items for 1.4 from the issues and PRs on GitHub with the most community interest. This focussed on large work items or things that would require breaking changes or considerable new API. The bulk of the meeting was going through these items, deciding whether they should appear in Angular 1.x and, if so, which release and who would own the item.
There is a tracking spreadsheet for the items that are scheduled for 1.4.
The main themes for 1.4 are as follows:
- Router - Brian - a new router for Angular 1 and 2 - Progress
- I18N - Chirayu - provide a first class internationalization story for Angular - Design Doc
- Forms - Martin - a fresh look at parsing/formatting/validation to simplify usage and maintenance (while fixing numerous outstanding issues) - Design Doc
- HTTP - Pawel - improvements to the $http service, such as serialization, JSON parsing, testing mock DSL
- Parser - Lucas - performance improvements to $parse service
- Documentation - Caitlin - redesign the look of the docs app to use Material Design
In addition, we're planning to include the following notable or breaking changes:
- $injector - Brian - throw an error if you redefine a module, to help identify bugs faster (#1779)
- $compile - Igor - provide extra new module.component helper for defining component type directives more easily (#10007).
- $compile - Caitlin - throw an error if non-optional isolated scope mappings are missing their attributes (#9216).
- Project layout/Modularity - Pete - further partition angular.js into smaller optional modules/files to reduce the non-optional core file size (useful for mobile use cases).
Github Milestones and Labels
Finally we will start developing 1.4.x on the master branch soon. To support this here are the new labels/milestones for on-going development:
1.4.x - use this for issues and pull requests that are accepted and scheduled to be in 1.4
branch: 1.2.x (replaces stable: yes)
branch: 1.3.x (replaces stable: no)
branch: 1.4.x (replaces 1.4 - for triaging 1.4.x issues and PRs)
Primary Focus: (new for items that we are focussing on for 1.4 - i.e. the stuff in the tracking spreadsheet)
Other Versions and Backporting
The master branch (i.e. 1.4.x) will now receive the majority of the focus.
The 1.3.x branch will receive version specific fixes backported from master.
The 1.2.x branch will now only receive fixes for security issues and major regressions.
In our continued efforts to be transparent and open about our design and development activities, we published a recording of our planning meeting: https://www.youtube.com/watch?v=Uae9_8aFo-o