Today we are excited to announce the official release of v6 of the NgRx framework. This release is jam packed with bug fixes and improvements to our Schematics package. We have focused on trying to make the upgrade as smooth as possible with very few breaking changes. You can view the full change log for a list of all of the bug fixes and breaking changes.
If you are using the CLI, upgrading is as easy as
ng update @ngrx/store. This will update all of your NgRx packages to v6 including Effects, Schematics, Entity, Router Store, and Store Devtools.
While there are very few user facing features in NgRx 6 this release was a major milestone for us. We have updated our build process to Bazel, we are committing to unifying our major version number with Angular, and we have strengthened our integration with the Angular CLI by introducing full support for the
ng add and
ng update commands.
We have big plans for the near future of NgRx. This summer we will be working on NgRx.io, a brand new documentation resource for NgRx. Not only will this be the new home for our documentation and examples but we plan on launching an official NgRx style guide and collection of best practices to help teams be more productive with NgRx.
We have also begun planning out the NgRx 7 release. There is a milestone on the NgRx Platform repository that captures all of the new and exciting enhancements we are planning that you can find here. Highlights include better runtime development checks, builtin support for state hydration/serialization, improved type inference for Effects, and a variety of enhancements to NgRx Entity.
Also new in NgRx 7 will be the recently announced NgRx Data package by John Papa and Ward Bell. We are well aware that the explicitness that NgRx demands of developers causes slow development cycles and makes it hard to get started with NgRx quickly (“Boilerplate!”). John and Ward’s NgRx Data package simplifies the startup process by automatically integrating NgRx with your REST API; no actions, reducers, effects, or selectors required. Checkout the end of our ng-conf 2018 talk “Reducing the Boilerplate with NgRx” to learn more about NgRx Data. We are excited to fold NgRx Data into the NgRx framework later this year.
NgRx.io, NgRx Data, and NgRx 7 gives you a roadmap of what to expect in the next six to nine months but what about beyond that? One of the biggest changes coming to Angular is the introduction of Renderer 3 — aka Ivy. Our friend Max at Angular in Depth has a great write up of what’s changing with this new renderer.
What excites the NgRx team about Ivy is that will enable us to introduce functional reactivity to even more parts of the Angular framework. NgRx has not always been just state management; some of our earlier packages provided reactive APIs for notifications, local storage, and routing. Over time we’ve deprecated some of these libraries and others — like NgRx Router — have been integrated directly into the Angular framework itself.
With Ivy we are excited to return to our roots and introduce more functional reactive libraries for Angular beyond state management. Expect us to start looking at introducing libraries for handling forms, routing, and components in the not-too-distant future.
Not Going At This Alone
The NgRx team is growing! We are excited to announce that Ward Bell and Tim Deschryver are joining the NgRx team. Ward joins us to help build out and support NgRx Data as well as help us shape NgRx.io. Tim joins us to continue doing an excellent job supporting developers and building out the platform. Brandon, Rob, Victor, and myself will remain actively involved in planning, growing, and developing NgRx.
NgRx at ng-conf 2018!
NgRx was provided a full fair-day track at ng-conf 2018, and we were very excited to see all the great talks and workshops. If you haven’t watched all the videos by the NgRx core team you can watch the entire playlist here.
We plan on attending even more events throughout 2018. You can find us at WeRise Tech, Framework Summit, and AngularConnect just to name a few. Head on over to the NgRx Platform repository to find a full list of all the events and meet-ups that we will be attending. If you are at one of those events please come say hello and grab an NgRx sticker! We love engaging with developers that use NgRx .
Thank You for Your Support
This release was truly collaborative and we would like to take a minute to thank everyone who submitted pull requests and bug reports; you really helped shape this release. We would like to call out in particular Alex Eagle for his tremendous help in moving us to Bazel, Vitalii Bobrov for helping with Schematics integration and San Nguyen for the extra effort with issue triaging and pull requests.
We also greatly appreciate the continued support for NgRx from our backers and sponsors on OpenCollective. The support aids in the development time and effort put into the NgRx framework. If you haven’t already, consider backing or sponsoring NgRx through the OpenCollective. We would also like to offer a huge shoutout and our gratitude to our trusted partners at Z Wave Development, BrieBug, Oasis Digital, and AngularFirebase along with Lukas Ruebbelke, Thomas Burleson, and Joshua Wiens.