Releases: tonsky/datascript
Releases · tonsky/datascript
0.5.1
0.5.0
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
todatascript
0.4.2
- 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 ofTxReport
) (issue #32)
0.4.1
- 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
0.3.1
0.3.0
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
0.2.0
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