Originally published on strongloop.com
For the past few months, we have been focusing on the following stories:
- Authentication: released a new
@loopback/authentication
2.0 version. - Authorization: ability to add authorization through interceptors.
- Inclusion of related models: set up foundation in
repository-json-schema
package. - Architectural improvements: introduction of lifecycle observers and interceptors.
- Migration: allows you to migrate incrementally.
- Internal tooling and CI: Support Node.js 12, reduce build time, etc.
- New Look and Feel on LoopBack Web Site: published a new look on the loopback.io web site.
We have a monthly blog reviewing what we've done in each milestone. To stay tuned, don't forget to follow us on Twitter @StrongLoop.
Authentication
We have recently released @loopback/authentication
2.0. Now you can secure your endpoints with both passport-based and LoopBack native authentication strategies that implement the AuthenticationStrategy
interface. Our shopping app example has also been updated accordingly to include this capability. More details can be found in this authentication updates blog post.
Authorization
Besides creating an authorization component to add authorization in your LoopBack 4 application, you can now do so by using interceptors. This tutorial shows how to do it from end to end.
Inclusion of Related Models
We have set up the foundation for inclusion of related models. We made improvements in our repository-json-schema
package to provide the base for inclusion. We updated our TodoList
example to describe navigational properties. The approach we used is a temporary approach to demonstrate how inclusion would work. You can clone the example to check it out.
Architectural Improvements
As one of the major architectural improvements, the concept of interceptor was introduced. Interceptors are reusable functions that provide aspect-oriented logic around method invocations. They can be applied for various uses. See the interceptors docs page for more details.
Besides the interceptor, LoopBack 4 now has a basic life cycle support. It allows registration of life cycle observers and actions, and there is a command line interface and a booter to make this even easier.
In addition, extensibility has been a great advancement for LoopBack 4. We've added decorator functions to allow you to add extensions even more easily.
Migration
If you have existing LoopBack 3 applications, it's a good time to start looking into how to migrate them to LoopBack 4. You can do this incrementally by mounting your LB3 application to LoopBack 4. Read this docs page for steps on how to do that.
Internal Tooling and CI
There has been a lot of enhancement in our tooling. We covered a new major release (v2.0) of @loopback/build
in our June milestone blog.
We have also introduced the concept of experimental features to LoopBack development. The goal is to be able to release experimental features quickly for early feedback while maintaining high code quality on our production-ready code. For details, see https://github.com/strongloop/loopback-next/blob/labs/base/LABS.md.
Additionally, we have put tremendous effort into fixing the CI errors on the connectors, so that we can help land PRs from the community more quickly and more confidently. We've also reduced the build time in loopback-next which improves our development efficiency.
Lastly, Node.js 12 support has been added to the LoopBack 3 and LoopBack 4 core. The next step is to add Node.js 12 support to the connectors.
New Look and Feel on LoopBack Web Site
Our web site loopback.io now has a new look! We have moved the LoopBack 4 web site content back to our main web site.
We have rebuilt the "Who's using LoopBack" section to showcase our users. If you would like to be a part of it, see the details in this GitHub issue.
What's Next?
We'd like to hear from you! Our Q3 roadmap started with a pull request. We'll continue to create future roadmaps in the form of a PR, so feel free to chime in!
For the next 3 months, we'd like to focus on the following:
- Continue with the Q2 stories. e.g. Authentication, Authorization and Inclusion of related models.
- Feature parity gap. e.g. Declarative support
- Internal tooling/infrastructure: e.g. support Node.js 12 in connectors, reduce build time, etc.
- Juggler-next: If time permits, we'd like to start looking into the infrastructure to prepare us to work on juggler-next.
Previous Milestone Blogs
There are too many features added and bug fixes that cannot be captured here. Check out our previously published monthly milestone blog posts in Q2 for more details:
Call for Action
LoopBack's future success depends on you. We appreciate your continuous support and engagement to make LoopBack even better and meaningful for your API creation experience. Please join us and help the project by:
- Reporting issues.
- Contributing code and documentation.
- Opening a pull request on one of our "good first issues".