v0.8.11 - 2016-06-16
- Allow null or undefined to be returned from endpoint function when HTTP response is handled manually (#135)
v0.8.10 - 2016-03-28
- Add result from
onLoggedOuthook todata.extrafield (#196) - Remove the default
onLoggedInandonLoggedOuthooks that returned an empty object (docs incorrectly listed them asundefined, but the result was not being used prior to v0.8.9)
v0.8.9 - 2016-03-14
- Add result from
onLoggedInhook todata.extrafield (#194)
v0.8.8 - 2016-03-10
- Update to the latest version of
simple:json-routes(v2.1.0)- Resolves errors when using alongside Iron Router (#185)
v0.8.7 - 2016-02-24
- Declare dependency on accounts-password (#169)
v0.8.6 - 2016-02-24
- Update to the latest version of
simple:json-routes(v2.0.1)
v0.8.5 - 2016-02-24
- Remove
Routeclass from global namespace (#170)
v0.8.4 - 2015-08-18
- Enable CORS with default authentication when both are configured (#99)
- Default OPTIONS endpoint when CORS is enabled (#99)
v0.8.3 - 2015-08-12
- Accept explicit
usernameoremailin default login endpoint (#121)
v0.8.2 - 2015-08-05
- Update
simple:json-routesto v1.0.4 to remove Connect deprecation warnings (#118)
v0.8.1 - 2015-07-07
- Default logout endpoint at
POST /api/logout
- Default logout endpoint at
GET /api/logout(#100)- Will be removed in v1.0
- Use
POST /api/logoutinstead
v0.8.0 - 2015-07-06
WARNING! API-breaking changes! Please be aware when upgrading!
Note: API-breaking changes are in bold
- Support API versioning via URL path
- API configuration option for defining a default OPTIONS endpoint (used on
any route that doesn't define it's own OPTIONS endpoint):
defaultOptionsEndpoint
- Export Restivus as a "class" instead of an object
- Replace Iron Router with [JSON Routes] (https://github.com/stubailo/meteor-rest/tree/master/packages/json-routes)! (#38)
- Return standard response codes in any autogenerated endpoints (#48)
201: Resource created (inPOSTcollection endpoints)403: Role permission errors405: API method not found (but route exists)
- Remove dependency on
useAuthAPI config option for endpoint authentication (#49)
useAuthAPI config option (replaced withuseDefaultAuthto better reflect it's purpose, which is to generate the default auth endpoints)
- Iron Router related issues
- Issue #91: Return a
401error when auth info is not provided in endpoint requiring default auth (previously returned500error)
deleteAllcollection endpoint (it had the potential to be quite destructive - #47)Restivus.configure()(configuration now available via Restivus constructor)
v0.7.1 - 2015-07-01
- Issue #95: On 401 and 403 errors, Restivus should wait before sending any data
v0.7.0 - 2015-06-18
WARNING! Potentially breaking changes! Please be aware when upgrading!
- Update default auth endpoints to match current Accounts token storage (#79)
- WARNING! All clients consuming a Restivus API with the default authentication will need to reauthenticate after this update
- Login token is now stored as
hashedTokeninstead oftoken
- Return
401 Unauthorizedfor failed authentication - When logging in with bad credentials, randomly delay the response (#81)
- Declare dependency on
accounts-basepackage
v0.6.6 - 2015-05-25
- Improve the Contributing Guidelines
- Tighten up some conventions
- Add more detailed information
- Issue #68: Make Restivus a server-only package (
Restivusis nowundefinedon the client)
v0.6.5 - 2015-04-27
- Include an endpoint's configuration options [in its context] (https://github.com/kahmali/meteor-restivus#thisendpointoption)
- Allow default response headers to be configured
- Allow CORS to be disabled in API config (using [
enableCors] (https://github.com/kahmali/meteor-restivus#enablecors) option)- Resolves Issue #39
- Default response Content-Type is now
application/jsoninstead oftext/json- This shouldn't have any effect on existing APIs. Updating to match standard JSON type, according to RFC 4627.
- Issue #32: Prevent non-JSON response types from being wrapped in quotes
- This bug required clients to do additional parsing of non-JSON types (removing quotes and escaped characters)
v0.6.4 - 2015-04-14
- Configuration option to disable Iron Router on the client (resolves Issue #24)
- Allow API to be configured and added to before Meteor starts (previously required within
Meteor.startup())
v0.6.3 - 2015-04-03
- Issue #20: Allow manual response in endpoints using underlying Node response object.
v0.6.2 - 2015-03-04
- Issue #14: Prevent endpoints from being generated for any
excludedEndpointsconfigured on collection routes (previously generated when no options were configured for anyendpoints). - Restivus.configure() is now bound to the Restivus object context
v0.6.1 - 2015-02-19
WARNING! API-breaking changes! Please be aware when upgrading!
- Allow existing collections to be added to API
- v0.6.0 did not allow you to work with existing collections, or access collections created in
Restivus elsewhere in your app, which is not the intended behavior. Since Meteor expects you to
construct each collection only once (using
new Mongo.Collection()), and store that globally, Restivus now requires that you pass an existing collection inRestivus.addCollection(), in place of the name.
- v0.6.0 did not allow you to work with existing collections, or access collections created in
Restivus elsewhere in your app, which is not the intended behavior. Since Meteor expects you to
construct each collection only once (using
v0.6.0 - 2015-02-17
WARNING! Do not use v0.6.0! Please upgrade to v0.6.1 or above. WARNING! API-breaking changes! Please be aware when upgrading!
Restivus.addCollection()method for generating CRUD endpoints for Mongo Collections. Please see README for detailed information on defining collection routes in Restivus.
- Rename
Restivus.add()toRestivus.addRoute()for clarity, now thatRestivus.addCollection()has been added to API. Warning! This is an API-breaking change! - Convert all responses generated by Restivus to JSend format. Warning! This is an API-breaking change!
- README
- Update and refactor README to include detailed information on new collection route features, including code examples and an all-new Quick Start example that also highlights the new Restivus.addCollection() method.
- Add "Terminology" section to the README for clarification on a few key terms that are heavily used throughout the docs
- Add section on upgrading from v0.5.x
v0.5.9 - 2015-02-16
- Allow user-defined OPTIONS endpoints on routes
- README
- Show support for OPTIONS endpoints in description and code examples in the Defining Endpoints section of README
v0.5.8 - 2015-02-11
- The following options have been added in
Restivus.configure()to allow for custom user authentication on endpoints (see Configuration Options for a much more detailed breakdown):auth.token: The path to the auth token in theMeteor.userdocumentauth.user: A function providing one of two levels of authentication, depending on the data it returns. Once the user authentication completes successfully, the authenticated user and their ID will be attached to the endpoint context.
- README
- Add
auth.tokenandauth.userto Configuration Options
- Add
v0.5.7 - 2015-02-02
- README
- Update Quick Start examples so Restivus is configured and built from within the Meteor.startup() callback
- Add "Important!" note in the Configuration and Defining Routes sections that these must be done within the Meteor.startup() callback
- Resolve and configure endpoints in Route.addToApi() instead of Route constructor so that endpoints are never configured until the API has been configured (with Restivus.configure()). This was causing unexpected behavior in routes that were added before the API was configured, such as authentication not being checked when necessary (so this.user and this.userId were undefined in authenticated endpoints).
v0.5.6 - 2015-01-31
- Issue #2: Make Restivus._initAuth() private only by convention for proper context. Context was accidentally altered when refactoring Restivus into a class in latest update.
v0.5.5 - 2015-01-30
- User role permissions for limiting access to endpoints (works alongside the
alanning:rolespackage)
- Resolve and configure endpoints during Route construction, to prevent a bunch of unnecessary processing every time an endpoint was being accessed. This should yield at least a minor performance gain on all endpoints.
- Refactor Route and Restivus into CoffeeScript classes
- README
- Add info on setting up role permissions to Route Options and Defining Endpoints sections
- Update Quick Start example to show definition of role permissions on an endpoint
v0.5.4 - 2015-01-27
- Issue #1: The default api path ('api/') is used if no apiPath is provided in Restivus.configure() (would previously crash Meteor).
- Only a
config.apiPaththat is missing the trailing '/' will have it appended during API configuration
v0.5.3 - 2015-01-15
- Access
this.userIdwithin authenticated endpoints
- README
- Add
this.userIdto Endpoint Context - Specify context in
onLoggedInandonLoggedOuthooks
- Add
- Context in onLoggedIn and onLoggedOut hooks is now the same as within an authenticated endpoint
v0.5.2 - 2015-01-14
- Support pretty JSON in API configuration
- README
- Show endpoint object in 'Quick Start' code examples
- Restructure topic hierarchy
- Change 'Route Structure' section to 'Path Structure' and reword for consistent use of terminology
- Add
prettyJsonto Configuration Options
- Prevent endpoint from being called if authentication fails (and return 401)
v0.5.1 - 2015-01-10
- Allow cross-domain requests to API from browsers (CORS-compliant)
- README
- Clean up code examples
- Add section on documenting API with apiDoc
- Specify supported Meteor version
- Add section on default http response configuration
- Make it more readable in plain-text format
- Terminology (in code, comments, and README)
Method: The type of HTTP request (e.g., GET, PUT, POST, etc.)Endpoint: The function executed when a request is made at a given path for a specific HTTP methodRoute: A path and a set of endpoints
Content-Typeheader in endpoint response will default totext/jsonif not overridden by user
v0.5.0 - 2015-01-04
- Initial release