Skip to content

Releases: tonsky/datascript

0.5.1

06 Nov 18:19
Compare
Choose a tag to compare
  • Ability to pass inputs (predicates/functions bindings) down to rules (issues #28 #29)

0.5.0

05 Nov 12:58
Compare
Choose a tag to compare

This is breaking release with no new features, just repacked JS version of DataScript so it can be used via modern JS dependency managers:

  • Javascript version is now packaged as a proper CommonJS/RequireJS module (include via script tag still supported) (issue #39)
  • Published to npm: npmjs.org/package/datascript
  • [ BREAKING ] Javascript namespace is renamed from datascript.js to datascript

0.4.2

28 Oct 19:20
Compare
Choose a tag to compare
  • Reference transaction id inside transaction by using :db/current-tx instead of entity id (issue #32)
  • You can get id of transaction from TxReport: (get-in tx-report [:tempids :db/current-tx])
  • Ability to pass arbitrary metadata along with transaction (third argument to transact!) and read it in listener callback (:tx-meta key of TxReport) (issue #32)

0.4.1

19 Sep 08:03
Compare
Choose a tag to compare
  • Added :db.fn/cas transaction function (issue #20, thx @montyxcantsin)
  • Added get-some, get-else, misssing? query functions (issue #21, thx @montyxcantsin)
  • Fixed touch breaking entity cache (issue #17)
  • Added ground fn (issue #25)
  • Fixed query predicate/fn calls without free variables
  • Retract incoming entity references on :db.fn/retractEntity (issue #18)
  • You can now use reverse relation name when transacting entity as a map

0.4.0

27 Aug 11:40
Compare
Choose a tag to compare

Cosmetic changes to better mimic Datomic API. Useful for sharing code between Datomic and DataScript:

  • Added tempid, resolve-tempid, db, transact, transact-async, index-range, squuid, squuid-time-millis
  • [ BREAKING ] renamed transact to with, with to db-with

0.3.1

26 Aug 11:01
Compare
Choose a tag to compare
  • Optimized speed of DB’s equiv and hash, Datom’s hash
  • Entity’s touch call accessible through datascript namespace
  • Accept sets in entity maps as values for :db.cardinality/many attributes

0.3.0

25 Aug 10:15
Compare
Choose a tag to compare

Proper entities implementation:

  • Entities are now lazy and implement usual Map protocols
  • When accessing attribute of :db/valueType :db.type/ref, its value will be automatically expanded to entites, allowing for recursive exploration of entities graphs (e.g. (-> (d/entity db 42) :parent :parent :children))
  • Entities support backwards navigation (e.g. (:person/_friends (d/entity db 42)))

0.2.1

22 Aug 18:49
Compare
Choose a tag to compare

Fixed externs.js path required for advanced compilation

0.2.0

15 Aug 12:57
Compare
Choose a tag to compare

Big performance improvements:

  • New B-tree based indexes
  • New set-at-a-time, hash-join powered query and rules engine
  • Queries now up to 10× times faster
  • You can specify DB for rule call (like ($db follows ?e1 ?e2))
  • Datoms are required to have integer id and keyword attributes, but no restriction on types of values

0.1.6

07 Jul 05:44
Compare
Choose a tag to compare
  • Clojure reader support (pr/read) for DB and Datom