Skip to content

Latest commit

 

History

History
337 lines (263 loc) · 15.8 KB

HISTORY.md

File metadata and controls

337 lines (263 loc) · 15.8 KB

History

This document records all notable changes to Deployd. This project adheres to Semantic Versioning.

v0.8.7 (2015-10-30)

Bug Fixes

  • dpd:: dpd CLI was crashing (shelljs global missing) (e1729f2d88)

v0.8.6 (2015-10-29)

Bug Fixes

  • User-collection:
    • prevent crash on invalid user for session (thx @nicholasareed) (4183b7c9)
    • Server crashes if password is number (thx @docnoe) (52212427)
  • collection: can't rename or delete new, empty collection (thx @docnoe) (49f769600)
  • Dashboard: Property types in dashboard are sortable (thx @docnoe) (ab7cec630)

Chore

  • Dependency Update:
    • qs to version 5.2.0
    • shelljs to version 0.5.3
    • grunt-contrib-jshint to version 0.11.3
    • sinon to version 1.17.1
    • request to version 2.65.0
  • Cleanup: request to version 2.65.0 (0adf309a5)
  • Build: Our tests now run on NodeJS 4.2 (a5687dc352)

v0.8.5 (2015-08-05)

Bug Fixes

  • bin/dpd: prevent process quit when latestversion is not writable (d8a507d5)
  • collection: object queries on booleans would be converted to false (84a1d039)
  • internal-client: add null check for ctx (d3ccf38f)
  • session: improve how socket.io connection to finds session (bb05ce4a)
  • user-collection: null check to prevent crash (36c4ec2d)

Features

  • collection:
    • add BeforeRequest event (4960d07f)
    • Add Collection.extendDomain() (450b8ada)
    • Add previous to AfterCommit event (fd8c9750)
  • http:
    • option to allow dpd-ssh-key via CORS (2f795565)
    • cache OPTIONS request for 5 minutes (89cd1f02)
  • internal-client:
    • allow access to underlying resource from dpd internal client (d478b348)
    • pass through headers and connection from caller (9a1cefc0)
  • script:

v0.8.4 (2015-05-26)

  • chore: update mongo and socket.io

v0.8.3 (2015-05-26)

Bug Fixes

  • UserCollection: onGet event can break session handling (74f23631)

  • db: Properly report database connection issues (25308f89)

  • http:

    • allow X-Session-* headers through CORS response (e8aa28b3)
    • Allow CORS authorization header (for non-cookie auth) (f6c13c96)
  • internal-resource: handle errors in type events (7cec886c)

  • session: socket disconnection after login (56fe4d83)

  • store: add error handling in callbacks (0bbce4e7)

  • user-collection: do not allow empty passwords on PUT/POST (fa076553)

    NB: There's a breaking change for an undocumented feature: due to the CORS improvements, all unknown origins will be rejected for CORS requests. For more info, please refer to this message

Features

  • collection: add AfterCommit event (1d6bec51)
  • dashboard: height of code editor should fill window (7ed76106)
  • session: allow multiple sockets per sessions And add options.origins (f67ee1ec)

0.8.2 (2015-04-23)

Bug Fixes

  • collection: should not crash on deleting non existent id (1b85c2127c)

0.8.1 (2015-04-22)

Bug Fixes

  • UserCollection: res.cookies not available from internal client (5717c4d1)
  • cli:
    • dpd keygen fails when .dpd folder doesn't exist (b5a6fd5b)
    • bug515 correct wrong error message when deployd crashes (59af175c)
  • dashboard: use ejs delimiter instead of open and close tag (776e17cf)
  • delete: call Delete event for every record matched (462c6766)
  • dpd.js: dpd.socket null (5331ac39)
  • script: memory leak and performance improvement (578bd28d)
  • server: allow request.rawBody for middlewares (59fbdbab, #519)
  • user-collection: crash when password is not specified in login (65f4170b)

0.8.0

Bug Fixes

  • typeload: load custom resources from package.json if exists (f1f0738)
  • attach.js: mkdir resourcesPath if not exists (55cf4b36)
  • collection:
    • $push should work with arrays when inserting new records (077c2b97)
    • allow changed() function to work properly with collection properties of type object. (46f518dc)
  • config-loader: improve the 'resources' dir reading (67218018)
  • db:
    • update/delete should return count of records affected (6a8caad8)
    • Should not crash process when an invalid $fields query is passed. (ca68e153)
  • internal-client: exec resource.path is missing (c1acee8e)
  • script: null values in domain were changed to {} (26311eea)
  • session: correct usages of an emit queue. (53b226ad)
  • session.js: Refactor session creation code to use promises in order to fix a possible race condition while inserting a session to the database. (3080de2f)
  • tests: call done() properly from async function (061f16de)
  • correctly delete cookies, update cookies-dependency

Features

  • collection: $addUnique for MongoDB $addToSet support (from yoneal PR #252) (730e980e)
  • config-loader server: customize server and public dirs through options (f17d296d)
  • core: wait for promises in events (964ec452)
  • dashboard: sort sidebar resources in alphabetical order (4cf89a63)
  • events: Expose ctx object to the event scripts (c0b39d3a)
  • server: add deployd.attach to extend http/expressjs/connect server and provide a middleware (29cf94b4)
  • session: get session by uid (ffb33bf5)
  • dpd.js add promises to client library

0.7.0

  • Add ability to query by subproperty within GET event
  • Add X-Requested-With header for AngularJS support
  • Add auto https support to dpd.js client lib
  • Removed Forever Monitor support from CLI
  • Fix bug with repl causing typed characters to be printed twice and not executed correctly
  • Fix bug where dashboard would not load if a config had not yet been created
  • Fix issue where number query params for string type properties were not being converted to strings on server
  • Fix MongoDB startup and settings
  • Add check for $inc operands to ensure numbers before attempting to increment
  • Add more core tests, and features to make mocking easier within tests

0.6.11

  • Fixed bug where missing content-type header when updating a user threw an error.

0.6.10

  • Fixed bug where query strings were not properly parsed.
  • Fixed certain errors returned as HTML rather than JSON.
  • Fixed bug where changing a property type from "number" to "string" made existing properties uneditable.
  • Fixed bug where changed() was returning true for values that had not changed.
  • Fixed certain error's returned as HTML rather than JSON.
  • Data editor
    • Fixed bug where data editor would expand as the page scrolls
    • Fixed bug where the cursor would randomly move around while editing text
    • Removed overlay for inline editing

0.6.9

  • Fixed bug where internal-client was not accessible from modules
  • Fixed restarts caused by 404s of unexpected http verbs

0.6.8

  • Fixed CORS incorrectly requiring a referer header
  • Added dpd.once(name, fn) function to execute a realtime handler exactly once
  • Added dpd.off(name, [fn]) function to remove a realtime handler
  • Added dpd.socketReady(fn) function to listen for the built-in connect event
  • Added dpd.socket property to provide direct access to socket.io.
  • Fixed bug where username and password could be updated by an unauthenticated put.
  • Usernames and passwords can be updated only by that user's session, a root session, or an internal request.
  • Made data folder smaller by default in development environment
  • Added cancelIf(), cancelUnless(), errorIf(), and errorUnless() functions to event API for more declarative events
  • Added hasErrors() function to event API
  • Added isMe() function to event API
  • Fixed external prototype bug causing custom external prototypes to fail
  • Removed docs from repository. They are now available at http://docs.deployd.com or https://github.com/deployd/docs.

0.6.7

  • Added new data editor
  • Fixed major bug where calling error() would not always cancel the request
  • Fixed bug where PUT would fail without an error if you provided a query
  • Changed root behavior - no longer ignores cancel() in events
  • Fixed bugs preventing events from being emit()ed to users in certain connection states
  • Fixed bug where boolean query values (?bool=true) were not treated as booleans
  • Fixed unnecessary error when parsing JSON body
  • Added more intelligent body parsing
  • Added changed() method in collection events
  • Added previous object in collection events
  • Fixed dpd showkey prompt for missing keys.json

0.6.6

  • Added CORS support
  • Exposed the server object to modules as process.server
  • Fixed a rare bug where the first request after a login would not be authenticated
  • Fixed minor bug when loading only node modules

0.6.5

  • Fixed process.send bug
  • Remote DB Authentication

0.6.4

  • Fixed incorrect Content-Length response header.

0.6.3

  • Removed dependency on jQuery for dpd.js
  • JSON-formatted "bad credentials" login error
  • Improved error reporting on CLI when port is in use
  • If in development mode, and no port has been specifically requested, CLI will retry with up to 5 different ports
  • Fixed "no open connections" bug on startup
  • Renamed Db.connect() to Db.create()
  • Db connections are now lazy and only occur once a request is made
  • Added 500 and 404 error pages
  • Added module domain error handling for better module errors
  • Added automatic reloading on error
  • Dropped support for node 0.6

0.6.2

  • Fixed rare but annoying bug where server would crash for no good reason ("Cannot set headers") on a request

0.6.1

  • Bumped the default recursion limit to 2 levels
  • Fixed rare case where a resource's dashboard would not load
  • Fixed user events
  • Fixed several validation bugs
  • In a UserCollection /users/me will return 204 instead of 401

0.6.0

Breaking Changes

  • Restructured Deployd app folder structure. Let us know if you need to migrate any 0.5 apps.
  • Changed the "email" property of a UserCollection to "username", in order to be less opinionated about user logic.

New Features

  • Rebuilt the dashboard
  • You can now manage resources from any page on the dashboard. Navigation has also been improved
  • You can now reorder properties in a collection
  • Added custom resource API. You can now write your own resources and include them in your app. See the [docs] for examples and reference.

Major Bugfixes

  • Fixed bug where your session could get elevated to root after using the Dashboard (causing cancel() in events to be ignored)