Skip to content

Releases: raveljs/ravel

Release 0.17.4

28 Jul 21:26
Compare
Choose a tag to compare
Release 0.17.4 Pre-release
Pre-release

Fix for #133

Release 0.17.3

15 Jul 17:52
Compare
Choose a tag to compare
Release 0.17.3 Pre-release
Pre-release

Loosening restrictions on (optional) hiredis version, to increase compatibility with node versions as 6.x.x+ is developed.

Release 0.17.2

11 Jul 18:04
Compare
Choose a tag to compare
Release 0.17.2 Pre-release
Pre-release

Fixes for #129 and #130

Release 0.17.1

08 Jul 22:23
Compare
Choose a tag to compare
Release 0.17.1 Pre-release
Pre-release

Fixing critical bug in passport_init

Release 0.17.0

07 Jul 19:57
Compare
Choose a tag to compare
Release 0.17.0 Pre-release
Pre-release
  • adding a few properties to AuthenticationProvider superclass

Release 0.16.0

07 Jul 19:14
Compare
Choose a tag to compare
Release 0.16.0 Pre-release
Pre-release
  • Heavy focus on documentation improvements. README is now comprehensive. API docs are now hosted at http://raveljs.github.io/docs/latest/.
  • Refactoring of DatabaseProvider and AuthenticationProvider to simplify development process for Ravel plugin developers. There are minor changes on the user-side, which will be reflected in updates to the READMEs for current DatabaseProviders and AuthenticationProviders in their corresponding 0.16.x releases.
  • Added a new lifecycle decorator @koaconfig for configuring the underlying koa app in ways which cannot be accomplished through Ravel. Generally not meant to be used, but should be available just in case.
  • hiredis is now an optional dependency, and can be installed alongside Ravel if desired.
  • Barring any further bugfixes or minor tweaks, this release will likely lead directly into 1.0.0.

Release 0.15.0

06 Jun 01:42
Compare
Choose a tag to compare
Release 0.15.0 Pre-release
Pre-release

Critical API refactoring before 1.0 release. There are several (minor) API-breaking changes in this release:

  • Resources and Routes previously offered REST-oriented response middleware via @before('respond'). This has now been made smarter and enabled by default. Please eliminate any instances of @before('respond') in your code.
  • Resources and Routes previously offered auth-oriented middleware via @before('authorize') and @before('authorizeRedirect'). These have been merged and migrated into a single, configurable decorator @authenticate. @before('authorize') simply becomes @authenticate and @before(authorizeRedirect) becomes @authenticate({redirect:true}). @authorize is available as Routes.authorize or Resource.authorize.
  • Resources and Routes previously offered database-oriented transaction middleware via @before('transaction'). This has been deprecated in favour of a new decorator @transaction. Simply replace all instances of @before('transaction') with @transaction to replicate the same behaviour or, for more control, specifying exactly which connections to open is supported via @transaction('mysql') or the like (use the name of the provider). @transaction is available as Routes.transaction or Resource.transaction.
  • Ravel.Error subclasses should no longer supply constructor to super() (this parameter was completely unused). Rather, they should call super(msg, code) instead.
  • The @authconfig Module API has been significantly refactored to bring it back in line with passport.js naming conventions. getUserById is now deserializeUser, getOrCreateUserByProfile is now deserializeOrCreateUser, and verifyCredentials is now verify. Additionally, serialization is now customizable, so you will also need to add a serializeUser(profile) function which returns a Promise resolving with profile.id or another serialization scheme. It is now up to you how you choose to uniquely identify user objects and what you choose to store in the user session.
  • To make it easier for @authconfig modules to content with multiple authentication methods in a single app, verify() now receives the name of the relevant AuthenticationProvider as its first argument.
  • AuthorizationProvider is now AuthenticationProvider, and app.get('authorization providers') is now app.get('authentication providers') to reduce confusion. Authentication provider packages will need updating.

Release 0.14.2

24 May 15:59
Compare
Choose a tag to compare
Release 0.14.2 Pre-release
Pre-release

Better logging for uncaught errors within ES6 Promises

Release 0.14.1

24 May 04:38
Compare
Choose a tag to compare
Release 0.14.1 Pre-release
Pre-release

Changing koa session cookies back to httpOnly. Switch was made in error.

Release 0.14.0

24 May 04:18
Compare
Choose a tag to compare
Release 0.14.0 Pre-release
Pre-release

Two major breaking changes in this release:

  1. Ravel#registerSimpleParameter is now Ravel#registerParameter
  2. Transaction functionality now supports the opening and closing of connections to specific database providers, rather than all of them every time. This will improve efficiency in applications connecting to several different databases. Examples of change are below:

before:

const before = Resource.before;
class MyResource extends Resource {
  ...
  @before('transaction')
  getAll(ctx) {
    ...
  }
}

after:

const transaction = Resource.transaction;
class MyResource extends Resource {
  ...
  // open all connections
  @transaction()
  getAll(ctx) {
    ...
  }

  // open some connections
  @transaction('mysql', 'rethinkdb')
  get(ctx) {
    ...
  }
}