Sails.js is an MVC framework for Node.js, modelled on Ruby on Rails, with the Waterline ORM, auto-generated REST routes called blueprints, and socket messages routed to the same controllers as HTTP. It is still published: npm lists sails 1.5.18 from May 27, 2026. But the pace is slow. Version 1.0.0 dates from March 28, 2018, 1.5.15 shipped in August 2025 and 1.5.16 not until February 2026, and the dependency list of 1.5.18 pins Express 4.22.2.
The data layer has stalled further. Waterline on npm has had no release since 0.15.2 in December 2022. In May 2025 the RestoApp team explained in a post on leaving Sails.js that outdated patterns, broken dependencies and failed attempts to add TypeScript pushed them to build their own framework. The picks below start with the frameworks that keep Sails' structure and end with the leaner ones.
Prices below are as of November 8, 2026. Our method is on How we review tools.
Quick comparison
| Tool | Best for | Price | Platforms |
|---|---|---|---|
| AdonisJS | Rails-style MVC in TypeScript | Free (MIT) | Node.js 24+ |
| NestJS | Structured APIs with WebSocket gateways | Free (MIT) | Node.js 20+ |
| Feathers | Blueprint-like services with live events | Free (MIT) | Node.js; browser and React Native clients |
| LoopBack | REST APIs generated from models | Free (MIT) | Node.js 22, 24, 26 |
| Laravel | Mature MVC with first-party WebSockets | Free (MIT) | PHP 8.3+ |
| Express | Keep Sails' Express base, drop the rest | Free (MIT) | Node.js 18+ |
| Fastify | Fast JSON APIs with schemas | Free (MIT) | Node.js 20, 22 |
AdonisJS
AdonisJS gives Sails developers the same folder-per-concern MVC, but with TypeScript and an ORM that is still moving. Lucid, its active record ORM built on Knex, replaces Waterline, and auth, VineJS validation, mail, file storage, queues and tests come from the same team. Real-time updates go through the Transmit module, which uses server-sent events.
@adonisjs/core 7.6.0 shipped on October 5, 2026, seven months after 7.0.0, under MIT. Our AdonisJS alternatives guide looks at it from the other side.
Best for: Sails apps that need a maintained MVC home in Node with real types.
Pricing:
- Free, MIT licence
- AdonisJS Plus starter kits and components sold separately
Watch out for:
- Sails sockets do not have a direct equivalent. Transmit, at 3.0.2 on npm, pushes events from server to client only, so two-way socket calls need another library.
- Version 7 requires Node 24 or newer, a big jump from the Node 0.10 floor Sails still declares.
Official site: AdonisJS.
NestJS
NestJS suits Sails teams whose app turned into an API for several clients. Controllers and providers live in modules wired by dependency injection, and WebSocket gateways share the same guards and pipes as HTTP routes, with a Socket.IO adapter for rooms and namespaces.
Release 12.4.0 came out on November 6, 2026 under MIT and needs Node 20 or newer. Express sits underneath by default, and @nestjs/platform-fastify swaps in Fastify.
Best for: Growing API backends where many developers need the same conventions.
Pricing:
- Free, MIT licence
- Enterprise support from the core team, price on request
Watch out for:
- There are no blueprints. Every CRUD endpoint is a controller method you write, and Nest has no built-in ORM, so you also pick one such as TypeORM or Prisma.
- Paid support exists but no rate is published on the NestJS docs site.
Official site: NestJS.
Feathers
Feathers is the nearest thing to Sails blueprints with live updates. Each service exposes find, get, create, update, patch and remove over REST and Socket.IO at once, and every service emits created, updated, patched and removed events to subscribed clients without extra code. Database adapters such as @feathersjs/knex and @feathersjs/mongodb play Waterline's role.
The 5.x packages are current, with the Express, Koa and Socket.IO bindings at 5.0.51 from October 26, 2026, all MIT. Version 6 is in pre-release.
Best for: Real-time CRUD apps that relied on Sails blueprints and socket events.
Pricing:
- Free, MIT licence
- Supported through GitHub Sponsors
Watch out for:
- A major change is coming. Feathers 6 pre-releases ship as a new unscoped package on npm, at 6.0.0-pre.11 since March 19, 2026, with no stable date. Install it with feathers@pre, since the default tag still points to 2.2.4 from 2018.
- There are no views or asset pipeline, so server-rendered Sails pages need a separate front end.
Official site: Feathers.
LoopBack
LoopBack builds REST APIs from models and datasources, which is close to how Sails users think about blueprints. Version 4 is written in TypeScript, produces OpenAPI descriptions, and has connectors for SQL and NoSQL databases. IBM's StrongLoop gave it to the OpenJS Foundation in 2021.
@loopback/core 8.0.0 was published on October 24, 2026, MIT-licensed, and supports Node 22, 24 and 26. The project lists April 2028 as the earliest end-of-life date for LoopBack 4.
Best for: Model-driven REST APIs with OpenAPI output and many database connectors.
Pricing:
- Free, MIT licence
Watch out for:
- The community is small. The loopback-next repository has about 5.1k stars, and real-time features are not part of the core.
- LoopBack 3 reached end of life in December 2020, so many tutorials online describe a version you should not use.
Official site: LoopBack.
Laravel
Sails was built to bring Rails ideas to Node, and Laravel is the most complete version of those ideas still in active development. Eloquent models, migrations, queues, mail and auth come from one team, and Reverb adds a first-party WebSocket server that plugs into Laravel's broadcasting and scales across servers through Redis.
Laravel 13 was released on March 17, 2026, requires PHP 8.3, and gets security fixes until March 17, 2028. The framework skeleton is MIT-licensed.
Best for: Teams open to PHP who want MVC plus real-time with long support dates.
Pricing:
- Free, MIT licence
- Laravel Cloud hosting is a separate paid service
Watch out for:
- It means a language change, so shared code between a JavaScript front end and the server goes away.
- Reverb's default event loop is limited to about 1,024 open files, and the Reverb docs recommend the ext-uv extension above 1,000 connections.
Official site: Laravel.
Express
Sails runs on Express already, so dropping down to Express is the smallest conceptual step. Your Sails policies become middleware, controllers become route handlers, and most Express-compatible packages Sails used keep working. Express 5.3.0, from October 9, 2026, needs Node 18 or newer and forwards rejected promises from async handlers to the error middleware.
The 4.x line also still gets fixes, at 4.22.3 from September 14, 2026, which is newer than the 4.22.2 that Sails 1.5.18 pins.
Best for: Small Sails apps that only used routing, policies and a few models.
Pricing:
- Free, MIT licence
- Extended support through HeroDevs, price on request
Watch out for:
- You rebuild what Sails added: an ORM, sockets, blueprints and the config loader all become separate choices.
- Version 5 changed path syntax, so Sails-era route strings with bare wildcards fail. The Express 5 migration guide covers the rewrite.
Official site: Express.
Fastify
Fastify fits Sails users who mostly served JSON. Each route can declare JSON Schema for its input and output, which gives the validation that Waterline model attributes used to provide, and logging through Pino is built in. WebSocket routes come from the official @fastify/websocket plugin, at 11.3.7 from November 4, 2026.
Fastify 5.12.8 was published on November 2, 2026, MIT-licensed, and 6.0.0-alpha.6 is on the next tag.
Best for: JSON APIs where speed and schema-checked input matter more than MVC structure.
Pricing:
- Free, MIT licence
- Commercial support for end-of-life versions through HeroDevs, price on request
Watch out for:
- No ORM, views or blueprints ship with it, so it replaces Sails' HTTP layer only.
- Majors get security fixes for six months after the next major ships, per the Fastify LTS page, and v6 is already in alpha.
Official site: Fastify.
How to choose
| If you need | Pick |
|---|---|
| Sails-style MVC in TypeScript | AdonisJS |
| A structured API with WebSocket gateways | NestJS |
| Blueprints plus live events on every model | Feathers |
| REST and OpenAPI generated from models | LoopBack |
| The most mature MVC, even in another language | Laravel |
| The same Express base with fewer moving parts | Express |
| Fast schema-validated JSON endpoints | Fastify |
When to stay with Sails.js
Stay on Sails if the app is stable, your team knows Waterline, and you mostly need the occasional patch. The Sails Company still publishes releases and offers paid support through the Sails site, with no public price. Plan an exit for anything you expect to grow, because new Node, Express and TypeScript features are arriving faster than Sails adopts them.
Frequently asked questions
Is Sails.js still maintained?
Yes, but slowly. sails 1.5.18 was published on May 27, 2026, after 1.5.16 and 1.5.17 in February 2026. There is no 2.0 release, Waterline has had no release since December 2022, and 1.5.18 still depends on Express 4 and declares support back to Node 0.10.
Is Sails.js dead?
Not dead, but in maintenance mode in practice. Releases arrive a few times a year, and the RestoApp team described them in 2025 as little more than security version bumps. Teams that need TypeScript or a maintained ORM have been moving off it.
What can replace Waterline?
In Node, Lucid comes with AdonisJS, and Feathers offers @feathersjs/knex for SQL and @feathersjs/mongodb for MongoDB. NestJS leaves the choice to you. Laravel's Eloquent is the equivalent if you move to PHP.
Sails.js vs NestJS, which should I use for a new project?
NestJS for most new APIs. It is released far more often, at 12.4.0 in November 2026, and gives large teams clear rules. Sails still gets a CRUD app with sockets running faster thanks to blueprints, but it has stayed on the 1.x line since 2018.