Skip to content

Releases: tonsky/datascript

0.11.0

30 Apr 17:39
Compare
Choose a tag to compare
  • Fixed init_db in js (issue #73)
  • Preliminary work for Clojure port (PR #70, #71)
  • [ BREAKING ] DS now requires CLJS 0.0-3196 or later

0.10.0

23 Mar 08:46
Compare
Choose a tag to compare
  • New parser for query and rules
  • Added a lot of meaningful error messages and validations to query parser
  • Support for _ (ignore binding) in :in and fn-clause bindings
  • Fixed id allocation bug when nested maps are used for referenced entities (issue #59)
  • Fixed squuids omitting leading zeros (issue #60)
  • Fixed a bug when cross-referencing components caused infinite loop in Pull API (isuue #58, pull request #61)
  • Pull API handles recursion more like Datomic does (issue #62)
  • Exposed DB filter API to js (pull request #65)
  • Added ICounted, ISequable, IEmptyableCollection to datascript.core/DB
  • Force put Datom and DB tag readers to cljs.reader/*tag-table*, do not rely on data_readers.clj

0.9.0

03 Feb 22:21
Compare
Choose a tag to compare
  • Lookup refs can be inlined in query :where patterns (issue #53)
  • Pull API (issue #37, pull request #51) by David Thomas Hume
  • pull form in :find clause

0.8.1

27 Jan 15:12
Compare
Choose a tag to compare
  • :db/unique constraints
  • Upserts
  • Lookup refs
  • entid function

0.8.0

19 Jan 13:08
Compare
Choose a tag to compare
  • Find specifications: collection :find [?e ...], tuple :find [?e ?v], and scalar :find ?e .
  • Support for :db/isComponent (issue #3)
  • Support for nested maps in transact! (also fixes #38)
  • [ BREAKING ] Custom aggregate fns must be called via special syntax (aggregate keyword): (q '[:find (aggregate ?myfn ?e) :in $ ?myfn ...]). Built-in aggregates work as before: (q '[:find (count ?e) ...]
  • Return nil from entity when passed nil eid (issue #47)
  • Transaction data is now validated, with proper error messages (also fixes #48)

0.7.2

22 Dec 14:15
Compare
Choose a tag to compare
  • Fixed a bug with function call after function relation was filtered out (issue #44)

0.7.1

15 Dec 21:24
Compare
Choose a tag to compare

Fixed a bug when emtpy coll in input was not creating empty relation

0.7.0

15 Dec 15:53
Compare
Choose a tag to compare
  • BTSet and its slices (returned by datoms/seek-datoms calls) now support fast reverse iteration via reverse.
  • (datascript/datom e a v & [tx added]) call for creating new datoms
  • Added missing aggregate funs: avg, median, variance, stddev and count-distinct (issue #42, thx @montyxcantsin)
  • min and max aggregates use comparator instead of default js < comparison
  • Fixed a bug when fn inside a query on empty relation returned non-empty result
  • Filtered DB support via filter

0.6.0

29 Nov 22:43
Compare
Choose a tag to compare
  • [ BREAKING ] Entity ids and transaction ids now have to be numbers, attributes can only be keywords (strings if used from JS)
  • New method init-db for fast creation of DB from existing datoms (useful for e.g. initialization from serialized state)
  • Improved performance of transact! (~20%) and initial database population (init-db, db-from-reader, ~800%)

0.5.2

16 Nov 18:47
Compare
Choose a tag to compare
  • Externs provided via deps.cljs — no need to manually specify externs when using datascript dependency