Skip to content

Releases: hoodiehq/hoodie-server

v23.0.0

08 Mar 05:10
Compare
Choose a tag to compare

<a name"23.0.0">

23.0.0 (2017-03-08)

Breaking Changes

The store instance which server.plugins.store.api.open(dbName) resolves to
has several breaking changes via pouchdb-hoodie-api@2.0.0

  • Before, change events (incl. add, update, remove) have only been triggered
    when using the custom APIs like .add() or .update(). Now they get always
    triggered, including for changes replicated into the database.

  • the order of when the methods’ promises resolve and the events get triggered
    cannot be guaranteed as we rely on PouchDB’s .changes(). We would love to
    enforce promises to resolve after changes get emitted, but the required
    complexity to do that is not worth it.

  • We no longer map PouchDB’s ._id property to .id, instead we pass trough docs
    from PouchDB 1:1. Also the timestamps are now all namespaced with
    .hoodie (doc.createdAt becomes doc.hoodie.createdAt)

Unless you use the server.plugins.store.api.open(name) API you are not affected by any of this.

(c23f2524)

v22.0.2

23 Jan 21:14
Compare
Choose a tag to compare

<a name"22.0.2">

22.0.2 (2017-01-23)

Bug Fixes

v22.0.1

09 Jan 18:47
Compare
Choose a tag to compare

<a name"22.0.1">

22.0.1 (2017-01-09)

Bug Fixes

  • assure .hoodie/data folders created when using leveldb (#530) (ec3c293c)

v22.0.0

05 Jan 19:16
Compare
Choose a tag to compare

<a name"22.0.0">

22.0.0 (2017-01-05)

Bug Fixes

  • do not set authenticationDb name from CouchDB config (e9ee7a06)

Features

Breaking Changes

  • Before this change, we loaded admin accounts from CouchDB’s /_config/admins API or for PouchDB we simply set the password to "secret" and wrote it into .hoodie/config.json

    We dropped persisting the admin password altogether and instead made it an option: adminPassword. If it’s not set, then no admin account exists.

    (5899eda1)

  • Before storing the secret in the database using PouchDB, it was stored in different ways based on the adapter.

    1. If the used adapter was CouchDB, the secret was loaded from /_config/couch_httpd_auth/secret
    2. If the used adapter was any other PouchDB adapter, the secret was stored in a file at <data path>/config.json

    To migate to this version, create a database hoodie-config with a document {"_id": "hoodie", "secret": "<your secret here>"}

    (cd055af1)

  • CouchDB’s _users database is configurable at /_config/couch_httpd_auth/authentication_db. We read out this configuration and used it as the name of the users database. But as we don’t rely on the special behavior of CouchDB’s users database (auto-hashing of passwords) we can use any normal CouchDB database to store the accoutns of Hoodie. And as the /_config API is not implemented by CouchDB-like hosters like Cloudant, we want to store this configuration ourselves.

    For now, we hardcode the database name to default to _users. The name can be configured via options.account.usersDb.

    (e9ee7a06)

v21.1.4

04 Dec 17:01
Compare
Choose a tag to compare

<a name"21.1.4">

21.1.4 (2016-12-04)

Bug Fixes

  • close sockets opened by PouchDB on server stop (9a2bcef2)

v21.1.3

28 Nov 00:31
Compare
Choose a tag to compare

<a name"21.1.3">

21.1.3 (2016-11-28)

Bug Fixes

  • stop migration if no migration needed (41ac6e66)

v21.1.2

30 Oct 20:09
Compare
Choose a tag to compare

<a name"21.1.2">

21.1.2 (2016-10-30)

Bug Fixes

  • adaptions for @hoodie/account-server@6 (cc0a5b6e)
  • package: @hoodie/account-server@^6.0.4 (a449032c)

v21.1.1

13 Sep 06:33
Compare
Choose a tag to compare

<a name"21.1.1">

21.1.1 (2016-09-13)

Bug Fixes

  • store: POST db/_all_docs is still just a read (62486630)

v21.1.0

12 Sep 23:42
Compare
Choose a tag to compare

<a name"21.1.0">

21.1.0 (2016-09-12)

Features

  • automatically add "user" role when testing for access by authenticated user (32570314)

v21.0.0

12 Sep 23:40
Compare
Choose a tag to compare

<a name"21.0.0">

21.0.0 (2016-09-12)

Breaking Changes

  • The API now keeps state of all databases and access in a dedicated
    hoodie-store database. If your app uses CouchDB as its backend, there
    is no migration required, it happens automatically on next restart.

If you don’t use CouchDB (which is the default), the simplest way to
"migrate" is to delete the .hoodie/data folder. It will loose all
data, so this is only an option for local development. If you don’t want
to loose all data, you manually have to create the hoodie-store
database with documents for each user database. The documents look
like this:

{
   "_id": "db_user/lsdlo55",
   "_rev": "1-a01e6998fb10543ca0402e648dd1d048",
   "access": {
       "read": {
           "role": [
               "id:lsdlo55"
           ]
       },
       "write": {
           "role": [
               "id:lsdlo55"
           ]
       }
   }
}

Besides that, this release also updates to a new express-pouchdb version
which includes a bugfix for a faulty encoding of database folders. You
must rename all folders that look like user%2Fabc4567 to
user/abc4567 (nested directories). See pouchdb/express-pouchdb#377

(4b6c7c47)