Sails v1.0 is here! Sails.js is an MVC framework for Node.js, to easily build custom, enterprise-grade Node.js apps. It combines the familiarity of working with MVC pattern of frameworks like Ruby on Rails, with the requirements of modern apps, such as data-driven APIs with a service-oriented architecture.
Version 1.0 promises to provide a better developer experience over backward compatibility. Because of this, the upgrade to Sails 1.0 may include more breaking changes than previous versions.
Here’s an overview of what’s changed in this release and some of the new features you might want to take advantage of in your app.
Sails v1.0 no longer supports Node v0.x; the earliest version it supports is Node 4.x.
Sails v1.0 introduces custom builds. These custom builds provide more control over an app’s dependencies as certain core hooks are now installed as direct dependencies of an app. It also makes npm install sails run considerably faster.
The new Sails also comes with several improvements in app configurations. This includes:
- datastores, which is by far the biggest change in app configuration. Datastores represent the data sources configured for an app.
- automatic install of lodash and async are now customizable to any version.
- view engine configuration syntax has been normalized to be consistent with the approach in Express v4+.
The new blueprint API is getting expanded to include a new endpoint which might require developers to make changes in the client-side code.
Most importantly, Sails v1.0 comes with a new release of Waterline ORM (v0.13). This Waterline version introduces full support for SQL transactions, picking/omitting attributes in result sets, dynamic database connections, and more granular control over query behavior. It also comes with a major stability and performance overhaul.
These cover the majority of changes that Sails version 1.0 has introduced. A comprehensive list of all changes along with the necessary code files required to upgrade to the version 1.0 is available on the Sails Documentation.