17.0.0 (2025-02-19)
- Deprecate Node.js 18 and add support for Node.js 22.
16.0.1 (2024-09-13)
- make sure the
this
reference is correct when working withklaw
library (29f0feb)
16.0.0 (2024-08-20)
- update deps and upgrade Node.js to v20 (#394)
15.0.2 (2024-05-30)
- allow to call includes on $owners in beforeCreateHook (4398ac2)
- entries created via importation must have same constraints and features as entries created via API (ad5c000)
15.0.1 (2024-05-29)
- implement group migration (b2c2366)
15.0.0 (2023-09-01)
- deprecate node 16
- add a beforeCreateHook config (a6640ae)
- check there are no duplicates in doc validation function (23374a9)
- deprecate node 16 (6dffce0)
14.0.1 (2022-06-23)
- handle sigterm in rest-on-couch-import process (c6bda9a)
14.0.0 (2022-06-22)
- the adminPassword config must be passed in order to use the couchdb user apis
- make sure couchdb users can be edited from api with couchdb 3 (8519cf4)
13.1.2 (2022-06-17)
- check $id is defined in getEntryById (54fae39)
- handle $id value of undefined when creating entry (54fae39)
13.1.1 (2022-06-17)
- 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)
- allow to use streams in the find api (0cd188b)
13.0.0 (2022-06-08)
- requires couchdb v2.2 or higher
- 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)
- 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)
- add a convenience callback to do ldapSearch in getUserInfo config (9e41fd6)
12.1.1 (2022-04-22)
- check token right before forbidding getGroupsInfo (cb828c1)
12.1.0 (2022-04-22)
- allow token in group endpoints (8981326)
12.0.0 (2022-04-21)
- 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)
- 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)
- remove groupType check (4e497df)
11.2.0 (2022-04-14)
- remove compression middleware (f52d134)
11.1.2 (2022-04-12)
- restore koa-hbs to v1 (cacfc48)
11.1.1 (2022-04-08)
- update dependencies (a22b597)
11.1.0 (2022-04-08)
- 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)
- convert max age to number (156f64d)
11.0.4 (2022-03-01)
- apply same entry unicity restriction when identified with token (33476ba)
11.0.3 (2022-02-17)
- dedupe primary owner with additional list of owners (8a54ac8)
11.0.2 (2022-02-16)
11.0.1 (2022-02-09)
- fail early when creating document with group but no owner right in token (71826ba)
11.0.0 (2021-11-19)
- correct _query api endpoint when couchdb view emits multiple values per document
- return boolean to indicate if a new entry was created in insertEntry and ensureExistsOrCreateEntry (9b07ba8)
- return users and rights in group info (#306) (cd71e5a)
- 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)
- the exposed couch method createEntry was renamed to ensureExistsOrCreateEntry
- make sure getEntryById also works when entryUnicity config is global (f313173)
- rename createEntry to ensureExistsOrCreateEntry (dff85a7)
9.0.1 (2021-09-23)
- allow tokens to create and delete entries (9e24609)
9.0.0 (2021-09-06)
- remove support for Node.js 10 and add support for Node.js 16
- 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)
8.5.1 (2021-06-23)
8.5.0 (2021-06-23)
8.4.1 (2021-05-07)
- emit the right value in importsByDate view (ec70c0e)
8.4.0 (2021-03-09)
8.3.3 (2021-03-05)
8.3.2 (2021-03-03)
8.3.1 (2021-02-25)
8.3.0 (2021-02-25)
- add addAttachment to globalRightsTypes (#250) (2089fb1)
- api: allow to set rights for entry token (#248) (1be1640)
- change node to version 14 (#246) (ccf8696)
8.2.0 (2020-12-01)
- 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)
- ensure db connection is open before logging import (c0ae445)
8.0.0 (2020-02-13)
- api: do not pass undefined value to search params (fbd43bc)
- update dependencies and remove support for Node.js 8 (5e417a4)
- store import logs and add API to access them (89edc1d)
- Node.js 8 is no longer supported.
7.1.1 (2019-07-04)
7.1.0 (2019-02-21)
- 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)
- 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)
- 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)
- The
autoCreateDatabase
option has been removed.
6.0.0 (2018-10-18)
- export import function in public module (#157) (dff20f8)
- return import result from dry run (#156) (02b8f18)
- 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)
- 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)
- config: custom views can be put in a special views folder in multiple files (3e08f77)
5.6.1 (2018-05-25)
5.6.0 (2018-05-08)
- allow Zenodo readme to be set from the Zenodo entry (#109) (a428ba9)
- publish entry it try block (#110) (6b018f0)
- finish zenodo implementation (#114) (011fb32)
- implement API route to publish data to Zenodo (#107) (19fc2f6)
5.5.1 (2018-03-19)
- get default groups in getUserGroups (917e98b)
- nanoPromise getDatabase with couchdb 2 when database does not exist (dbe674b)
5.5.0 (2018-03-02)
- users could not be removed in a normal group (ae1be3e)
- api: allow to specify rights for user token (#81) (2383c09)
- replace hard delete by soft delete (1033951)
5.4.0 (2017-10-31)
- file-drop: add route for file upload that uses query string parameters (31bb160)
5.3.1 (2017-09-08)
- 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)
- ui: better error feedback when updating group fields (585a39c)
5.3.0 (2017-09-08)
- change how errors are returned by rest-api (b2f9ea8)
- 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)
- 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)
- errors are now returned as a json: {"error": "error message"} errors were previously returned as text
5.2.0 (2017-08-30)
- 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)
- add from, owner and includeDocs options to getEntriesByUserAndRights (59658be)
- add support for user tokens (#78) (8a04be0)
5.1.1 (2017-07-28)
- 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)
-
- 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)
- do not wrap key in an array for queryEntriesByRight (ffe6fd8)
4.2.1 (2017-05-30)
- do not use setInterval for auth renewal (e56c92c)
4.2.0 (2017-04-27)
- 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)
- import: error in update type constants (fbece32)
- import: add new importation method (0813df0)
4.0.2 (2017-03-09)
- more fixes to database config loader (b203410)
4.0.1 (2017-03-01)
- 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)
- upgrade koa to 2.0.1 (c1ae71b)
- import: fix error in shouldIgnore step (33b2a1c)
- import: fix import (16e7239)
- import: fix import (5245848)
- terminate process if config loading generates an error (1b36055)
- move connection to CouchDB to a global state (cdc4c60)
- 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)
- 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)
- import: allow noUpload with and without jpath or without field (7fbd4da)
3.4.0 (2017-01-25)
- login: return a response when couchDB login fails (39f8b02)
- 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)
- add custom title for CouchDB login (6661378)
3.2.0 (2016-12-22)
- add getUserInfo (b25c1e9)
3.1.3 (2016-12-19)
3.1.2 (2016-12-15)
- 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)
- client: only first owner cannot be removed (c3dd5a6)
3.1.0 (2016-12-09)
- allow any email address and allow a dot in group names (c7a1ed6)
- don't throw if default group does not exist (9e3aa62)
- 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)
- 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)
-
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)
- Support for Node.js v4 has been dropped.
2.1.2 (2016-11-28)
2.1.1 (2016-11-28)
- import: correct wrong condition (fe0fb54)
2.1.0 (2016-11-28)
- 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)
- 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)
- remove addGroupToEntry (cee70f8)
- remove all methods that accept a $id (a141dec)
- remove removeGroupFromEntry (e156587)
- 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)
- 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)
- renew the session on each request (f812862)
- add hasRightForEntry (couch api + rest api) (2b1856a)
1.1.0 (2016-09-28)
- design docs: query a view of the design doc when it changes (0110a03)
1.0.0 (2016-09-26)
- 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)
- 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)