Releases: tonsky/datascript
Releases · tonsky/datascript
0.11.0
0.10.0
- New parser for query and rules
- Added a lot of meaningful error messages and validations to query parser
- Support for _ (ignore binding) in
:in
andfn-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
andDB
tag readers tocljs.reader/*tag-table*
, do not rely ondata_readers.clj
0.9.0
0.8.1
0.8.0
- 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
0.7.1
0.7.0
- BTSet and its slices (returned by
datoms
/seek-datoms
calls) now support fast reverse iteration viareverse
. (datascript/datom e a v & [tx added])
call for creating new datoms- Added missing aggregate funs:
avg
,median
,variance
,stddev
andcount-distinct
(issue #42, thx @montyxcantsin) min
andmax
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
- [ 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%)