5.0.0 (2018-06-03)
Bug Fixes
- apply allowedSchemas to function loader (8bcccc3)
- better error messaging around writing to foreign tables (73cef19)
- correct behavior for save with tables lacking pks (d87e340)
- process document search vectors from text for backwards-compatibility (dacb3ec)
- reject if select options.fields is explicitly empty (fixes #583) (18e05ce)
- updateDoc takes query options (95760cb)
Code Refactoring
- change modify to updateDoc for table/document api consistency (373088a)
- remove deprecated '*' criteria (80fb89d)
- remove deprecated columns select option (64c294d)
- remove deprecated db.run (705bd83)
- remove unary update in favor of save (d2b8d56)
Features
- add withConnection for tasks (2d13133)
- allow primary key in update() (c606a8d)
- brute force copy api for transactions (ceeb202)
- disable deep insert by default (ed7a655)
- full document search with stored vector (b8f84f7)
- introduce order exprs (f42a187)
- load tables even if they don't have primary keys (0457cc1)
- metadata in documents (25212d9)
- support updatable views (fixes #528) (9aac96a)
BREAKING CHANGES
- empty options.fields is now recognized as an error instead of falling back to '*'
- db.run is gone; please use db.query instead
- 'created_at' and 'updated_at' are now reserved keys in documents
- db.doctable.modify is now db.doctable.updateDoc
- update() now requires separate criteria and changes objects, use save() to update self-contained record objects
- field for updateDoc() against non-standard json column name should now be specified with options.body
- deepInsert option must be truthy to enable this behavior
- unsafe literal {order: 'string asc'} syntax has been removed
- find, countDoc, etc no longer accept '*' in place of an empty criteria object
- using 'columns' option in find etc has been removed; use 'fields' for columns themselves and 'exprs' for potentially unsafe operations
- functions in disallowed schemas will no longer be loaded
<a name="5.0.0-rc.2"></a>