Skip to content

Releases: balderdashy/sails

v0.12.0-rc3

07 Jan 07:14
Compare
Choose a tag to compare
v0.12.0-rc3 Pre-release
Pre-release

v0.12.0-rc1

07 Jan 07:26
Compare
Choose a tag to compare
v0.12.0-rc1 Pre-release
Pre-release

v0.11.0

07 Jan 07:21
Compare
Choose a tag to compare

This release includes an upgrade to Socket.io v1.0, as well as many other bugfixes and performance improvements.

See the v0.11 migration guide for detailed instructions on how to upgrade your v0.10 or v0.9 Sails app.

v0.11 (second release candidate)

19 Dec 22:38
Compare
Choose a tag to compare
Pre-release
v0.11.0-rc2

v0.11.0-rc2

v0.10.5

19 Dec 22:32
Compare
Choose a tag to compare
0.10.5

v0.10.2

07 Aug 02:25
Compare
Choose a tag to compare
0.10.2

beta (v0.10.0 release candidate)

03 Apr 14:05
Compare
Choose a tag to compare
Pre-release

For a complete overview of what's changed since v0.9.x, see http://beta.sailsjs.org/#documentation/reference/Upgrading/Upgrading.html.


  • Associations
    • Adapter-level support for optimized joins (SQL databases and Mongo)
    • Built-in support for in-memory joins. Allows for cross-database and even cross-adapter joins! (e.g. a User in Mongo has many Messages in a MySQL database called legacy_messages, and also a Role in a MySQL database called myapp. These can be automatically joined together using the same ORM syntax as normal.)
  • Better Error Handling in Waterline
  • Revamped Sails CLI
    • Generators w/ support for coffeescript
    • Support for dry runs (--dry) for sails generate and sails new
    • Experimental support for custom generators
  • API Blueprints
    • Blueprints are injected into project, allowing the built-in API to be customized.
    • Dramatic simplification of how blueprints are injected-- by implicitly including them in the routes file.
    • Backwards compatibility for blueprints on <=v0.9 apps can be achieved by plugging in a simple config to re-enable the traditional support and configurations.
    • Blueprint routes automatically take associations into account, e.g.:
      • GET /user/2/dogs -- get dogs belonging to user #2
      • GET /user/2/dad -- get dad belonging to user #2
      • PUT /user/2/dogs -- add a dog to user #2
      • DELETE /user/2/dogs/2 -- remove dog #5 from user #2
  • PubSub
    • Simplified dramatically- removed concept of class rooms (most of the time, this isn't exactly what you want anyways)
    • Blueprints still work the same way by introspecting your app's schema and taking advantage of information about assocations to create logical publish/subscribe dependencies, relying on the global channel in cases where a shared instance doesn't exist.
    • Reduced to a handful of simple methods:
      • SomeModel.publish() -- publish to model instance
      • SomeModel.subscribe() -- subscribe socket to model instance
      • SomeModel.unsubscribe() -- unsubscribe socket from model instance
      • sails.publish() -- publish to global channel
      • sails.subscribe() -- subscribe socket to global channel
      • sails.unsubscribe() -- unsubscribe socket to global channel
  • Error Negotiation Shortcuts
    • Automatically content-negotiate a response-- configurable in 500.js, 404.js, 400.js, 403.js
    • res.serverError( msgOrObj )
    • res.notFound()
    • res.forbidden( msgOrObj )
    • res.badRequest( msgOrObj )

Deprecated

Overview

The following features are considered deprecated and should at some point be removed from the codebase

Dynamic Finder Methods

  • .findOneBy<attribute>In()
  • .findOneBy<attribute>Like()
  • .findBy<attribute>In()
  • .findBy<attribute>Like()
  • .countBy<attribute>In()
  • .countBy<attribute>Like()
  • .<attribute>Contains()

CRUD Class Methods

  • .findAll()
  • .findOneLike()
  • .findLike()
  • .contains()
  • .join()
  • .select()
  • .findOrCreateEach()
  • .join()
  • .startsWith()
  • .endsWith()

stable

03 Apr 14:04
Compare
Choose a tag to compare
v0.9.16

v0.9.13: 0.9.13

12 Mar 17:36
Compare
Choose a tag to compare

v0.9.12: 0.9.12

12 Mar 17:06
Compare
Choose a tag to compare
v0.9.12