As 2019 draws to a close, we’re continuing our annual tradition of celebrating the hard work that the LoopBack team achieved in the past year. As you might expect, developing LoopBack 4 was the main focus, with events, updates and “how to” content adding flavour to the mix. That focus has resulted in a lot of improvements and features for the framework, as well as quality interaction with the LoopBack community.

Grab your seasonal beverage of choice, whether hot or cold, and read on for a trip down 2019 memory lane!

GitHub Activity and Downloads

2019 began with LoopBack just past the 12,000 star count on GitHub, and wrapped the year up at more than 13k. LoopBack 4 began the year at more than 1260 and practically doubled it by year’s end at more than 2400. Meanwhile, npmjs.com shows 432,800+ downloads of LB4 since January 1 - quite a jump from the prior year’s 141,948. We’re excited to see all of this activity as LoopBack downloads continue to grow.

LoopBack, Winner of 2019 API Award for API Middleware

Congratulations again to LoopBack for earning the 2019 API Award for the “Best in API Middleware” category. These awards were presented at the 2019 API Awards Ceremony during API World 2019, celebrating the technical innovation, adoption, and reception in the API & Microservices industries and use by a global developer community. Raymond Feng, co-creator and architect for LoopBack, presented the team to receive the award.

Well done, LoopBack team!

LoopBack 4 Features and Previews

With the team focusing so much on enhancing and imporving LoopBack 4, there were a lot of updates. In terms of the features, here are the highlights:

  • Authentication & Authorization
    • Basic support for authentication and authorization. The team released a new major version of @loopback/authentication, and a new @loopback/security layer.
    • Authentication docs.
    • Authorization docs.
  • Model relations
  • Architectural improvements
  • Going Cloud Native
    • Added to Appsody/Kabanero application stack.
    • Deployment guide to Kubernetes clusters.
    • Adding observability in microservices, e.g. added health/metrics/tracing features.
  • Migration / Migration guide
  • Strengthen the core modules as a platform for building large-scale Node.js projects
  • Enhancements in connectors
    • Support partitioned database in cloudant connector.
    • Support decimal128 type in mongodb connector.
  • Update Example Shopping app to showcase the features we’ve added

  • Experimenting with Plain javascript programming in LoopBack 4: https://strongloop.com/strongblog/loopback4-javascript-experience/

  • Improvement in documentation

  • Enabled Node.js 12 support, Added latest TypeScript 3.7 support, switch to ESLint, etc.

Want a bit more detail on some updates? Check out “Experimenting with Plain JavaScript Programming in LoopBack 4” by Hage Yaapa (which looks at functionality following a spike to enable LoopBack 4 development using JavaScript), “What’s New in LoopBack 4 Authentication 2.0 by Dominique Emond, and “LoopBack 4 Offers Inclusion of Related Models” by Agnes Lin.

The LoopBack 4 Web Site Updates

The LoopBack web site was changed from the LoopBack 3 look feel to the LB4 theme that was launched previously.

The team also refreshed the “Who’s using LoopBack” section and added more testimonial from the users. If your company wants to be highlighted as the LoopBack user on our web site, please see strongloop/loopback-next#3047 for details.

Increased Transparency with Milestone Updates

We would like to provide more visibility to you (our users) on what we have accomplished and our plans, so we started to create blog posts to keep everyone up-to-date. We always welcome feedback!

  • Milestone github issues to show our plan for the month (github ticket with “Monthly Milestone” label.

  • Monthly milestone and quarter summaries on what we have accomplished (you can see a summary of what we posted in 2019 further into this post).

  • To go even further, we start our planning on milestone and a quarterly roadmap in pull requests. Look for pull requests with “Monthly Milestone” and “Roadmap” labels.

Events and Community Outreach

The LoopBack team managed to join some events throughout the year!

DEVELOPERWEEK 2019 ran from February 20-24, and LoopBack architect Raymond Feng covered “Speed and Scale: Building APIs with Node.js, TypeScript and LoopBack.”

The Toronto Cloud Integration Meetup group held a Meetup in Toronto in February with the topic “Quickly Build APIs with Existing Services and Data Using LoopBack!” Janny Hou explained what LoopBack is, what you can do with it, and the rationale behind the rewrite of the framework. Biniam Admikew demonstrated how how easy it is to expose REST API from your database with just a few steps. Jamil Spain provided an additional demo while also taking care of capturing the meetup on video. Check out the details and video here.

  • LoopBack QuickLab - Code@THINK, NodeConf.eu and Node+JSInteractive.

  • HackerJS Meetup in California. Raymond Feng shared his cotent from DEVELOPER WEEK 2019 with this meetup group.

  • TechConnect (internal IBM event at the Canada Lab in Markham) - May 2019

Raymond also presented at a meetup in Santa Clara in May. “Building APIs at Warp Speed with LoopBack “

As mentioned earlier, Raymond Feng attended the 2019 API Awards Ceremony during API World 2019, in October to accept the 2019 API Award for the “Best in API Middleware” category.

In November, the LoopBack team attended CASCONxEVOKE. As one of Canada’s largest combined academic, research and developer conferences, it offered over 150 speakers to over 1,500 attendees. Diana Lau provided an overview of the LoopBack booth and a workshop. Learn more here.

LoopBack 3 LTS Support

In March, the LoopBack team announced LoopBack 3 was receiving an extended long term support to provide more time for users to move to the new version which is a different programming model and language. The revised LTS start is December 2019 and the revised end of life is December 2020.

Check out the timeline and some frequently asked questions here.

More LoopBack How-To Content

While much of their focus was on improving LoopBack 4, the team also shared insight into using the framework as well. Here’s a look back!

Diana Lau shared a two part series about learning LoopBack 4 Interceptors. In the first part she looked at Global Interceptors, what they are and how to use them. In Part 2 she looked at Method Level and Class Level Interceptors, building an application that validates the incoming request using class level and method level interceptors.

Miroslav Bajtoš announced and demonstrated preview version of a tool automating migration of models from LoopBack 3 to LoopBack 4. Check it out here. In a similar vein, Nora Abdelgadir shared a way to mount your LoopBack 3 applications in a LoopBack 4 project in “Migrating from LoopBack 3 to LoopBack 4”.

Wenbo Sun provided a 7-part series called “Building an Online Game With LoopBack 4”. The aim of the series is to help you learn LoopBack 4 and how to use it to easily build your own API and web project. Wenbo did so by highlighting a new project he was working on: an online web text-based adventure game. Check the series out here.

Anything Else?

For more details about work on LoopBack, the best resource is the monthly milestone updates. The LoopBack team outlined their progress with these updates, often explaining hurdles or rationale for changes and tweaks. Check them out below:

You can also follow LoopBack’s progress throughout the year in the LoopBack 4 2019 Q1 Overview, LoopBack 4 2019 Q2 Overview, and LoopBack 4 2019 Q3 Overview.

What’s Next?

Migration guide work began this year and it will continue to be the focus. The goal is to add some tooling around migration to make the migration process from LB3 to LB4 easier. If you have an existing LoopBack 3 application, take a look at the migration guide and gives us feedback!

The LB team will also work on feature parity that is needed for LB3 to LB4 migration, and the developer experience to make users’ lives easier. They would like to take some time in each milestone to address some of the pain points that users mentioned. The team is also looking at innovation around cloud native deployment, database integration, as well as messaging/event driven style APIs.

Finally, look for improved documentation that address user questions, and more up-to-date docs that better reflect the quickly-changing code base.

Keep an eye out to see the developments in the new year!