Skip to content

Latest commit

 

History

History
1043 lines (510 loc) · 44.3 KB

CHANGELOG.md

File metadata and controls

1043 lines (510 loc) · 44.3 KB

Changelog

15.0.0 (2023-09-01)

⚠ BREAKING CHANGES

  • deprecate node 16

Features

  • add a beforeCreateHook config (a6640ae)
  • check there are no duplicates in doc validation function (23374a9)

Miscellaneous Chores

14.0.1 (2022-06-23)

Bug Fixes

  • handle sigterm in rest-on-couch-import process (c6bda9a)

14.0.0 (2022-06-22)

⚠ BREAKING CHANGES

  • the adminPassword config must be passed in order to use the couchdb user apis

Bug Fixes

  • make sure couchdb users can be edited from api with couchdb 3 (8519cf4)

13.1.2 (2022-06-17)

Bug Fixes

  • check $id is defined in getEntryById (54fae39)
  • handle $id value of undefined when creating entry (54fae39)

13.1.1 (2022-06-17)

Bug Fixes

  • add doc validation to ensure $id is not undefined (2b71925)
  • allow multiple entries with $id of null to be created (49087dc)

13.1.0 (2022-06-14)

Features

  • allow to use streams in the find api (0cd188b)

13.0.0 (2022-06-08)

⚠ BREAKING CHANGES

  • requires couchdb v2.2 or higher

Features

  • add _find to http API (fd43522)
  • add findEntriesByRight to couch internal api (5f1331b)
  • filter mango queries (find) for mine and by groups (8ef41d5)
  • gracefully handle sigterm signal (91d5191)
  • load query indexes in couchdb (9d500cc)

Bug Fixes

  • fail early if sort is used without index (cc3f4a2)
  • make sure getGroupsByRight does not return default groups which do not have sufficient rights (bd35c49)
  • merge home and db configs together (b20b94f)

12.2.0 (2022-04-27)

Features

  • add a convenience callback to do ldapSearch in getUserInfo config (9e41fd6)

12.1.1 (2022-04-22)

Bug Fixes

  • check token right before forbidding getGroupsInfo (cb828c1)

12.1.0 (2022-04-22)

Features

  • allow token in group endpoints (8981326)

12.0.0 (2022-04-21)

⚠ BREAKING CHANGES

  • set ldap group properties api removed (unified in set group properties api). Replaced sync ldap group api with sync group api. Group edits now resync ldap automatically.
  • upgrade Node.js to v16 (#343)
  • remove support for Node.js 12 (#342)

Features

  • add custom additional public information from ldap in getGroupsInfo (095c404)
  • add getGroupInfo api (d2c2e6d)
  • merge ldap and regular groups together (79a32f8)
  • show limited number of users in admin UI (79a32f8)
  • upgrade Node.js to v16 (#343) (484f29c)

Bug Fixes

Miscellaneous Chores

11.2.0 (2022-04-14)

Features

  • remove compression middleware (f52d134)

11.1.2 (2022-04-12)

Bug Fixes

11.1.1 (2022-04-08)

Bug Fixes

11.1.0 (2022-04-08)

Features

  • add automatic $creationDate to imports' metadata (cbd1cea)
  • add automatic $modificationDate to imports metadata (3cf504f)
  • remove support for addFileToJpath without a file reference (cdf1dfa)

11.0.5 (2022-03-09)

Bug Fixes

  • convert max age to number (156f64d)

11.0.4 (2022-03-01)

Bug Fixes

  • apply same entry unicity restriction when identified with token (33476ba)

11.0.3 (2022-02-17)

Bug Fixes

  • dedupe primary owner with additional list of owners (8a54ac8)

11.0.2 (2022-02-16)

Bug Fixes

  • don't create entries concurrently for a given $id (#318) (679652c)

11.0.1 (2022-02-09)

Bug Fixes

  • fail early when creating document with group but no owner right in token (71826ba)

11.0.0 (2021-11-19)

⚠ BREAKING CHANGES

  • correct _query api endpoint when couchdb view emits multiple values per document

Features

  • return boolean to indicate if a new entry was created in insertEntry and ensureExistsOrCreateEntry (9b07ba8)
  • return users and rights in group info (#306) (cd71e5a)

Bug Fixes

  • correct _query api endpoint when couchdb view emits multiple values per document (24ab671)
  • correct test (798f8d6)
  • run coverage with v8 provider (41d360c)

10.0.0 (2021-11-04)

⚠ BREAKING CHANGES

  • the exposed couch method createEntry was renamed to ensureExistsOrCreateEntry

Bug Fixes

  • make sure getEntryById also works when entryUnicity config is global (f313173)

Code Refactoring

  • rename createEntry to ensureExistsOrCreateEntry (dff85a7)

9.0.1 (2021-09-23)

Bug Fixes

  • allow tokens to create and delete entries (9e24609)

9.0.0 (2021-09-06)

⚠ BREAKING CHANGES

  • remove support for Node.js 10 and add support for Node.js 16

Features

  • add file directory to import logs (#283) (4eefe01)
  • remove support for Node.js 10 and add support for Node.js 16 (6baf2ab)

8.5.2 (2021-06-23)

Bug Fixes

  • publish: do not reference env context in the wrong place (#276) (85a2e7a)

8.5.1 (2021-06-23)

Bug Fixes

8.5.0 (2021-06-23)

Features

8.4.1 (2021-05-07)

Bug Fixes

  • emit the right value in importsByDate view (ec70c0e)

8.4.0 (2021-03-09)

Features

8.3.3 (2021-03-05)

Bug Fixes

  • pass token and merge options for the updateEntry route (#257) (76bbe6e)

8.3.2 (2021-03-03)

Bug Fixes

  • token authentication for API requests dealing with attachments (#255) (7571bea)

8.3.1 (2021-02-25)

Bug Fixes

8.3.0 (2021-02-25)

Features

Bug Fixes

8.2.0 (2020-12-01)

Features

  • add support for ORCID id of creator in Zenodo submission (#238) (eea3faa)

Bug Fixes

  • allow to configure SameSite session cookie option (#234) (a51fc7b)
  • convert "true" and "false" env values to booleans (#239) (cae3bf9)
  • throttle Zenodo attachment uploads (#237) (62d6f12)

8.1.0 (2020-08-07)

Bug Fixes

  • ensure db connection is open before logging import (c0ae445)

Features

8.0.0 (2020-02-13)

Bug Fixes

  • api: do not pass undefined value to search params (fbd43bc)

chore

  • update dependencies and remove support for Node.js 8 (5e417a4)

Features

  • store import logs and add API to access them (89edc1d)

BREAKING CHANGES

  • Node.js 8 is no longer supported.

7.1.1 (2019-07-04)

7.1.0 (2019-02-21)

Bug Fixes

  • add owner right to list of allowed rights (3311865)
  • make multipart upload work and use it for saving attachments in import (#194) (2b4ba5e)
  • remove agentkeepalive (96bd7ab)
  • support user token in view queries (eb72961)
  • nanoShim: encode attachment name in CouchDB query (#202) (066c668)

7.0.0 (2018-11-25)

Bug Fixes

  • allow a longer socket timeout for CouchDB requests (#184) (33f0d42)
  • don't restart dev roc server when ui files are updated (d90c40c)
  • api: only return configured databases in _all_dbs (d4c42ec)
  • dev: use webpack in development mode (c706f01)
  • front: enhance UX when no db is selected or user is logged out (560e072)
  • front: refetch view data if we go from offline to online (cf80f1c)
  • front: show an error if db is not responding (8c796f8)
  • front: simplify home page (b3ee1ae)
  • test: anonymous can never create entries (a7a1e89)
  • ui: remove unnecessary index fallback (#182) (b7f4d3d)
  • correctly pass arguments to debug calls (5146812)

Features

  • add audit actions feature and audit login attempts (6d1406c)
  • add audit design doc (2d17b31)
  • add Dockerfile to this project (#173) (cb4b560)
  • remove autoCreateDatabase option (0f939c0)

BREAKING CHANGES

  • The autoCreateDatabase option has been removed.

6.0.0 (2018-10-18)

Bug Fixes

  • import: validate that attachment contents is a Buffer (#159) (f7b2ce2)

Chores

  • remove support for legacy import scripts (#163) (59daad7)

Code Refactoring

Features

BREAKING CHANGES

  • import bin: rest-on-couch-import --watch has been removed. Use --continuous instead.
  • Support for legacy import scripts has been removed. Please use the documented single-function import.
  • import: Import's addAttachment must now provide the contents as a Buffer or TypedArray. Previously, base64 strings were accepted, though undocumented.

5.8.0 (2018-08-30)

Bug Fixes

  • import: do not move skipped files (5c1cb4d)
  • import: merge $content when no file is added (0b40600)

Features

  • import: allow to setup fileSizeChangeDelay (de8e6fa), closes #129
  • add HEAD for entry to the API (#150) (a5eadac)
  • allow to set filename for main import attachment (b7dc462)

5.7.0 (2018-08-13)

Features

  • config: custom views can be put in a special views folder in multiple files (3e08f77)

5.6.1 (2018-05-25)

Bug Fixes

  • auth: do not set status to 200 after authentication error (#119) (ac3e3a5)

5.6.0 (2018-05-08)

Bug Fixes

  • allow Zenodo readme to be set from the Zenodo entry (#109) (a428ba9)
  • publish entry it try block (#110) (6b018f0)

Features

  • finish zenodo implementation (#114) (011fb32)
  • implement API route to publish data to Zenodo (#107) (19fc2f6)

5.5.1 (2018-03-19)

Bug Fixes

  • get default groups in getUserGroups (917e98b)
  • nanoPromise getDatabase with couchdb 2 when database does not exist (dbe674b)

5.5.0 (2018-03-02)

Bug Fixes

  • users could not be removed in a normal group (ae1be3e)

Features

  • api: allow to specify rights for user token (#81) (2383c09)
  • replace hard delete by soft delete (1033951)

5.4.0 (2017-10-31)

Bug Fixes

  • always log error when automatic LDAP sync fails (4ada695)
  • Ephemere component (45af857)

Features

  • file-drop: add route for file upload that uses query string parameters (31bb160)

5.3.1 (2017-09-08)

Bug Fixes

  • fix ldap sync with binding (00747c8)
  • getGlobalRights should include admin rights if user is superAdmin (519a991)
  • ui: global right edition set react key for each global right (f5617c2)
  • ui: show refresh button only if ldap group (662bf7e)

Features

  • ui: better error feedback when updating group fields (585a39c)

5.3.0 (2017-09-08)

  • change how errors are returned by rest-api (b2f9ea8)

Bug Fixes

  • debug: fix output when passing Error instance (86f8d17)
  • test: adapt test to api now returning json on error (765fe17)
  • ui: make GroupEditor a pure component (f63e253)

Features

  • couch api and rest api to sync individual ldap group (133ab2a)
  • EditableText field handle escape key press (1f39786)
  • client: add ldap group synchro (6e0494e)
  • client: EditableTextField auto focus and cancel on blur (6a61f0d)
  • client: group editor success and error alerts (a3e00b4)
  • client: ldap group type (3d0ae33)
  • debug: allow multiple arguments to be passed (d798ca4)
  • debug: always print stack trace of an Error (e671447)
  • groups: ldap sync (ee3cb04)
  • server: ldap group type (c5d5fb7)

BREAKING CHANGES

  • errors are now returned as a json: {"error": "error message"} errors were previously returned as text

5.2.0 (2017-08-30)

Bug Fixes

  • client: update group membership component each time it is loaded (a89b849)
  • import: 2 bug fixes in new import (097c0ac), closes #76
  • compare first owner (a9f6d30)
  • do not allow anonymous users to create tokens (beb5994)
  • use lowercase startkey (7e728d8)

Features

  • add from, owner and includeDocs options to getEntriesByUserAndRights (59658be)
  • add support for user tokens (#78) (8a04be0)

5.1.1 (2017-07-28)

Bug Fixes

  • pass full user info to getLDAPUserEmail (1318f22)
  • import: insert entry with appropriate user (3b1bc5e)

5.1.0 (2017-06-26)

5.0.1 (2017-06-22)

5.0.0 (2017-06-22)

  • put all custom CouchDB views in another design doc by default (eb17185)

BREAKING CHANGES

    • Custom CouchDB views are now put in a design doc called "customApp". This change should only affect scripts that work directly with CouchDB instead of ROC.
  • In the administration UI, the URLs are now using a HashRouter instead of a BrowserRouter to avoid any issue with proxies.

4.2.2 (2017-06-12)

Bug Fixes

  • do not wrap key in an array for queryEntriesByRight (ffe6fd8)

4.2.1 (2017-05-30)

Bug Fixes

  • do not use setInterval for auth renewal (e56c92c)

4.2.0 (2017-04-27)

Bug Fixes

  • debugrest typo (7c8ade4)
  • default error message should be an empty string (e05c760)

Features

  • add group membership page (847d57c)
  • api to add and remove groups from defaultGroups (639a707)
  • global right administration (9214c4c), closes #47
  • route to get groups a user is member of (4ce6fda), closes #69
  • set selected database via query parameter (7641069), closes #48

4.1.0 (2017-03-29)

Bug Fixes

  • import: error in update type constants (fbece32)

Features

  • import: add new importation method (0813df0)

4.0.2 (2017-03-09)

Bug Fixes

  • more fixes to database config loader (b203410)

4.0.1 (2017-03-01)

Bug Fixes

  • init: make sure to update nano and db instances on open (54060a0)
  • update react-router and fix webpack configuration (c416082)

4.0.0 (2017-03-01)

Bug Fixes

  • import: fix error in shouldIgnore step (33b2a1c)
  • import: fix import (16e7239)
  • import: fix import (5245848)
  • terminate process if config loading generates an error (1b36055)

Code Refactoring

  • move connection to CouchDB to a global state (cdc4c60)

Features

  • import: add filedir to config callbacks (ee4704b)
  • import: add noFileMove option (26ce803)
  • import: add shouldIgnore config callback (ef25e39)
  • add entryUnicity option (34ba61e)
  • add route to change CouchDB password (e073e64)
  • add sessionKey and sessionPath to server options (4655fcd)

BREAKING CHANGES

  • Before this change, the config would be silently skipped. Now an Error is thrown and its stack trace printed.
  • From now on, only one CouchDB connection per ROC instance will be supported. It was possible to specify different CouchDB URLs or credentials in each database config but this was never used.
  • From now on, the project will only be compatible with Node.js >= 7.6.0 because of the use of async functions.

3.5.0 (2017-01-30)

3.4.1 (2017-01-26)

Bug Fixes

  • import: allow noUpload with and without jpath or without field (7fbd4da)

3.4.0 (2017-01-25)

Bug Fixes

  • login: return a response when couchDB login fails (39f8b02)

Features

  • bin: add rest-on-couch-import global script (ae1ca45)
  • import: add dryRun option and enable single file import (6a28969)

3.3.0 (2017-01-17)

Features

  • add custom title for CouchDB login (6661378)

3.2.0 (2016-12-22)

Features

3.1.3 (2016-12-19)

3.1.2 (2016-12-15)

Bug Fixes

  • do not use ES6 in design doc (f7f3a95)
  • security: give no default right when a database is created (191c900)

3.1.1 (2016-12-09)

Bug Fixes

  • client: only first owner cannot be removed (c3dd5a6)

3.1.0 (2016-12-09)

Bug Fixes

  • allow any email address and allow a dot in group names (c7a1ed6)
  • don't throw if default group does not exist (9e3aa62)

Features

  • add API to manage default groups doc (321e951)
  • client: add group owners edition (2021a36)
  • core: move administrators to superAdministrators (de79db2)
  • server: add API to manage global rights doc (badfc64)

3.0.1 (2016-12-07)

Bug Fixes

  • normalize use of the proxy prefix (f902010)
  • client: google auth popup URL (0ce760a)
  • server: fix wrong routing in the presence of bundle.js (adce947)

3.0.0 (2016-12-07)

Features

  • import: allow to disable upload of main file and add more attachments (a130482)

  • import: allow to do everything in the same callback (fullProcess) (0199155)

  • remove support for Node.js v4 (7acbddf)

BREAKING CHANGES

  • Support for Node.js v4 has been dropped.

2.1.2 (2016-11-28)

2.1.1 (2016-11-28)

Bug Fixes

  • import: correct wrong condition (fe0fb54)

2.1.0 (2016-11-28)

Features

  • import: add sort option and improve walking structure when limit is set (7f28c26)

2.0.2 (2016-11-22)

2.0.1 (2016-11-22)

2.0.0 (2016-11-21)

Bug Fixes

  • core: use more common interpreter (653ac29)
  • add array-includes for v4 compatibility (29e11ab)
  • login: recover existing session (d52fd87)
  • server: only serve bundle if it exists (5460303)

Code Refactoring

  • remove addGroupToEntry (cee70f8)
  • remove all methods that accept a $id (a141dec)
  • remove removeGroupFromEntry (e156587)

Features

  • api: add getDocsAsOwner (ba6fe67)
  • api: add owner management routes for groups (6fa2aa8)
  • api: add routes to add and remove users from groups (9fcd324)
  • views: allow reduce (1c203d4)

BREAKING CHANGES

  • it is now replaced by removeOwnersFromDoc
  • it is now replaced by addOwnersToDoc
  • All methods ending with "ById" are removed but one. getEntryById remains but only returns something if the user requesting the document is its original owner ($owners[0])

1.2.0 (2016-10-21)

Bug Fixes

  • renew the session on each request (f812862)

Features

  • add hasRightForEntry (couch api + rest api) (2b1856a)

1.1.0 (2016-09-28)

Features

  • design docs: query a view of the design doc when it changes (0110a03)

1.0.0 (2016-09-26)

Bug Fixes

  • automatically create structure in addFileToJpath (f056e4b)
  • do not let unicode characters in the filename (b1438a5)
  • don't update design doc if custom is absent (21ac98a)
  • make queryViewByUser more efficient (d228f44), closes #30
  • rename default config file (d0c4b23)
  • custom views: add lib to all design docs (b8284a8)
  • custom views: fix case where no custom views are defined (97e82bf)
  • import: don't treat hidden files (3e21473)
  • login: use relative url for google login in login page (f0dd746)
  • nanoPromise: cached hasOwnProperty (7f3d370)
  • nanoPromise: reduce param for views should be false by default (c0089a8)
  • server: fix response when token is not found (1e24810)
  • tests: use node v4 compatible syntax (7714438)
  • tests: use node v4 compatible syntax (47830f7)

Features

  • add cli tool to batch add groups (9385fe5)
  • add close method to Couch object, rename _init to open (589f52e)
  • add support for custom libraries in views (f9a8c86)
  • add token methods (b0678f2)
  • server: allow the use of tokens to get a document (c1bf0f1)
  • allow addGroup and removeGroup to receive an array of groups (f9e7915)
  • design docs: split views in several design documents (c4f822d)
  • query: add "mine" option (9b861ee)
  • query: filter query results by groups (5c69bf0)
  • allow to extend content from file import (f54cba6)
  • load from source if REST_ON_COUCH_ASYNC_AWAIT variable is set (a9ffad7)
  • rest-api: add getGroups to rest api (0dff073)
  • server: add token routes (cefb2d9)

0.2.0 (2016-01-05)