Skip to content

Latest commit

 

History

History
496 lines (357 loc) · 21.9 KB

CHANGELOG.md

File metadata and controls

496 lines (357 loc) · 21.9 KB

Change Log

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.2.0 (2019-04-08)

Features

  • Allow custom express handler after deployd middleware (#869) (81b84b1)

1.1.3 (2019-03-12)

Bug Fixes

  • Fix big numbers being parsed into integers when it wasn't safe to do so (#873)

    Documents could have a generated id that is only composed of numbers. Deployd automatically tries to convert parameters that look like numbers to JS numbers with parseInt. For big numbers this isn't safe and could result in the numbers being changed.

    This fixes this problem by leaving the numbers strings when they are too big to be safe numbers.

Chore:

  • Dependency updates

Breaking Changes ⚠️

  • Node.js below version 4.0.0 not officially supported any longer

1.1.2 (2017-12-19)

Bug Fixes

  • don't overwrite http headers with defaults (#851) (c6d8fdb)

1.1.1 (2017-11-07)

Bug Fixes

  • internal-resources: namespaced resources could not be moved/renamed into other namespaces (fa4cc64)

1.1.0 (2017-11-04)

Notes: dpd-dashboard and dpd-clientlib now follow semver too. Please update their semver ranges in your project to ^1.0.0

Bug Fixes

  • tests:
    • run tests on random mongo port and update for new mocha/npm (#831) (4331b3c2)

Features

  • Allow specifying resources in subdirectories/namespaces. (eg. namespace/hello) (#832) (4d22465b)

    Details:

    What this does is allow structuring resources in subdirectories. (eg clientapi/users, clientapi/photos, clientapi/v2/followers, etc)

    This greatly improves the structure of projects, allowing easier separation of functions into their own separate concerns.

    Each can have its own separate event code and deployd will handle the routing. This should work for any resource type.

Documentation

  • Update readme with some best practices (#833) (/aafd3fc5)

v1.0.0 (2017-09-19)

Bug Fixes

  • collection: protect and hide should not modify this (#782) (a9fdc4cf)
  • internal-client: add req.resume() (#785) (5e2c7813)
  • add socketIo check (#802) (ce04ddee)
  • fix: server.attach() did not enable socket clustering (#777) (04bb24a2)

Breaking Changes ⚠️

  • refactor: remove dpd cli from deployd core module (#776) (626d4ad6)

  • refactor(*): remove dashboard and clientlib from deployd core module (#783) (c9d0a91d)

    ℹ️ A migration guide is available in the readme

v0.8.10 (2017-09-19)

Bug Fixes

  • Dependencies: Fix: Force mime version v1.4.0 (1514b8decc4)

v0.8.9 (2016-08-29)

Bug Fixes

  • db: convert skip/limit arg to integer (86e6f5f6)
  • package:
    • pin mongodb to 2.1.18 (upstream bug) (#740) (79ed7b77)
    • pin mongodb to 2.1.x (#739) (d07f3ca4)
  • user-collection: ensure password is a string (e81c6c7b, #735)

v0.8.8 (2016-01-18)

Refactor

  • session: use socket.io rooms for emitToUsers (ff5f840c95)

Bug Fixes

  • dpd.js: use encodeURIComponent (8d58a12e)
  • repl: update outdated property name (05f731c8, #680)
  • session:
    • memory leak (a5e572a2)
    • use update for updating sessions, not remove and insert (3965ed3b)
  • test: allow some time for sessions to be cleaned up (ca0ca85e)

Performance Improvements

  • script: memoize dynamic function (ff6a4dce)

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)