- Implements login tokens.
- Fixes forgot password.
- PropertyTypes#Transform's transform method is now always invoked. Any argument names may be null if not set.
- Changes Test#getVariant to always return a promise.
- Changes Test#getVariant to stop throwing an error if the user is not participating a test. If the user is not participating, null is returned.
- PropertyTypes#Transform is now dependency injection-aware.
- Schedulers is now dependency injection-aware.
- Introduces a continuous worker type. A simpler worker which continuously works, instead of waiting for tasks in a work queue.
- Fixes issue where sometimes migrations would throw an error.
- Fixes issue where authorize would sometimes fail.
- Fixes issue where release:migrate would sometimes fail.
- Fixes issue where ModelInstance#changePassword would fail.
- Adds ModelInstance#signOut and ModelInstance#changePassword to model instance in the front-end.
- Changes authorize, forgot password and reset password endpoints.
- Adds dependency injection to onResetPassword and onForgotPassword.
- Implements custom isomorphic model methods.
- Implements API call to update an array of model instances.
- Implements Model#updateOrCreate.
- Implements Model#changePassword.
- Fixes issue running
grunt run
locally.
- Fixes issue where Heroku couldn't find Procfile.
- Adds explanation to fire apps:create command.
- Fixes an issue when querying on the API on automatic properties.
- Fixes an issue where removing models no options would get passed in the client-side.
- Fixes an issue where querying a one-to-one relation would sometimes fail.
- Fixes an issue where colors in terminal would disappear when running some grunt tasks.
- Implements a
fire
command.
- Removes foreman dependency by switching to node-foreman.
- Removes DATABASE_URL fallback url.
- Fixes issue querying many-to-many relations in migrations.
- Implements Model#updateFunction which updates model instances with a function.
- Renames PropertyTypes#ReadOnly to PropertyTypes#SQL.
- Moves generated files to
.fire/.build
. This file should be added to your .gitignore.
- Fixes issue in App#service and App#factory where files would not get generated properly.
- Fixes issue where date properties wouldn't get parsed properly.
- Fixes issue where invalid model instance would get removed when removing client associations.
- Implements Controller#resolve to resolve specific dependencies in $routeProvider.
- Adds ModelInstance#cancel method to clear any unsaved changes.
- Implements updating multiple associations at once.
- Fixes invalid typecast in cookie's maxAge.
- Implements dependency injection in App#configure.
- Adds isomorphic module. Services and factories can now be included in the back-end side, too.
- Fixes validate hash method.
- Enables many-to-many api again.
- Disables caching in models API to fix caching issues in IE9.
- Fixes issue with properties in ReadOnly property type.
- Implements a COOKIE_DOMAIN environment variable which allows you to set the session cookie's domain.
- Changes tests service to provider.
- Fixes unknown schemas table issue in grunt release.
- Fixes unknown view.jade issue in single-app project.
- Fixes issue where shared models would sometimes not get created in single-app projects.
- Fixes access control in many-to-many associations. Access control is defined on the through model.
- Moves installing uuid-ossp Postgres extension from run stage to release stage.
- Fixes duplicate process type names in Procfile.
- Fixes issue where building Procfile would sometimes not include all workers.
- Fixes issue where only one path per controller instead of multiple would work.
- Fixes issue where saving model instances sometimes failed.
- Fixes issue where grunt release would fail if there are 0 migration files.
- Implements issue where workers of different apps were not available.
- Fixes issue which sometimes prevented schemas from being created.
- Fixes issue where after a Node on Fire upgrade some migrations would throw errors.
- Re-implements many-to-many associations.
- Fixes issue where test models would be included in non-master migrations.
- Fixes issue where password property is unavailable on authenticator models in non-master apps.
- Fixes issue where reset password model would sometimes end up in migrations of non-master apps.
- Creates app setting
includeAPI
which sets whether the app, if it's not the master app, should include the HTTP API. - Includes example app.
- Fixes an issue where password property is unavailable on authenticator models
- Fixes an issue where some return values in access control would cause errors.
- Fixes transforming app.directive(string, function) properly.
- Fixes loading the correct view.jade/view.html.
- Exposes app in build system (Gruntfile).
- Implements
public/_shared
as public folder.
- Fixes issue with upgrading the Schema model.
- Fixes issue with anonymous functions in App#run.
- Moves
_api
and_migrations
to.fire
folder. - Removes SEO module (which implements PhantomJS).
- PropertyTypes#Authenticate is now also set to unique.
- Internal models are now also written to your migrations.
- Removes automatic many-to-many relations. Create two one-to-many relations to a connecting model instead.
- Dependency injection is now available in the model hooks e.g. Model#afterCreate.
- Access control is now defined via a method Model#accessControl instead of a virtual property.
- Controller's in Angular now automatic set the templateUrl of the controller based on the controller's name.
- Deprecates ignoreDisabled in favor of stages.
- Automatically generates a Procfile based on the workers, schedulers, triggers, etc.
- Changes routing of controller's to just one path in App#controller.
- Templates do not get compiled anymore in the run phase. Instead, templates get compiled during the build phase.
- Fixes issue where model's associations
- Fixes issue where datastore transaction's would sometimes fail.
- Fixes issue where sometimes model properties would collide with properties in user-land.
- Supports multiple apps per project (which app to run is configured through the NODE_APP environment variable).
- Implements an A/B testing module.
- When destroying an already destroyed model,
Models
will not throw an error anymore.
- Fixes an issue where sorting 1 task would sometimes fail.
Static
is now initialised afterMiddleware
. This allowsMiddleware
to intercept static files.
- It is now possible to remove module via
App#removeModule
.
Clock
now cleans up clock task result rows (all but the 25 most recent ones per task).
- Fixes setting name on model constructor functions which caused errors in Node v0.12.0.
- Fixes issue where web process would crash if message broker disconnects.
- Channel#get now returns a promise which resolves to a channel instance, instead of returning a channel directly.
- Fixes issue where
next
in middleware methods would be unavailable.
- Fixes issue where using middleware methods would throw error during the build phase.
- Falls back to page reloads in browsers not supporting
pushState
.
- Implement Controller#ready which gets called when the view is ready and attached to the DOM.
- Fixes issue where an error would throw when clicking anchor tags with empty hrefs.
- Fixes issue where promises wouldn't resolve in Ractive-based apps.
- Fixes issue where update and delete statements would escape values incorrectly with a limit clause.
- Fixes issues where some queries with ? would produce the wrong results.
- Disables less css source maps.
- Fixes issue where migrations would not get generated.
PropertyTypes#Has
now only accepts one argument.hasModel
is deprecated.
- Middleware module extended with express-esque App#use.
- You can now define which properties may be set through the api via PropertyTypes#CanSet.
- Fixes issue where
Models#execute
would run multiple times during migrations. - Fixes issue where sessions would expire even during activity.
- Fixes issue where
grunt release
sometimes wouldn't work.
- It's not possible anymore to query on a property with a hash method. Instead, use
ModelInstance#validateHash
. - When a model is created, update or deleted it's considered partial and any association keys are not included.
- Removes less middleware and compiles less and jade in the build phase. This also means referring to
/templates/my-template.jade
is deprecated. Instead, you need to refer to/templates/my-template.html
. - Read, update and delete actions in the API now also use query params in the where clause.
- Access control methods
CanCreate
,CanRead
,CanUpdate
andCanDelete
do not have athis
anymore and use dependency injection instead. PropertyTypesHas
now uses dependency injection and does not have athis
anymore.- Changes
AMQP_URL
toBROKER_URL
. - Sign out now clears the authenticator's access token in the datastore.
- Adds salt property to authenticator model. This should be backwards compatible.
- Implements authenticator#findMe.
grunt release
doesn't return an error anymore when the datastore is already up-to-date.
- Fixes issue where Node on Fire migrations are not executed. This change should create ClockTaskResult and TriggerResult models and triggerResult property to authenticator during the next migration, if they not already exist.
- Deprecates old-style Gruntfile.js declaration.
- Optimizes dependency injection to prepare once and execute many times.
- Fixes crash in HTTP handler when error an error occurs but it's null.
- Fixes issue where auto-fetched associations of associations (of associations, ...) would not get fetched.
- Removes requirement to use
$
in route methods.
- Replaces existing query builder system with knex.js.
- Implements a generic dependency injector module.
- Implements a express-like middleware module with dependency injection.
- Fixes issue when ModelInstance#save is called without any changes. This issue was only occuring on the front-end.
- Fixes issue when calling Model#find with model instance properties not getting properly resolved in the query.
- Fixes issue where sometimes
grunt build
wouldn't build all parts. - Changes migration file names to [0-9]{3} to force conflicts when multiple migrations get created.
- Fixes naming issue in one-to-one associations.
- Fixes an issue where deleting many-to-many associations sometimes fails.
- Fixes issue where relationships in models were not properly set.
- Changes
stylesheets
tostyles
inapp.options
. - Creating new model instances now automatically updates locally.
- Creates new build system which should be integrated in a project's Gruntfile.
- Implements deleting model instance in the front-end.
- Implements additional model instance methods to manage associations (create, read, update, delete).
- Implements dependency injection in Model constructors.
- Implements $ilike: case-insensitive like.
- Fixes issue where many-to-many association could return duplicate values in deep auto-fetched associations.