See the Github milestone for the issues included in this release
See the Github milestone for the issues included in this release
- #555: Removes submitted-tx-updated-entity?andsubmitted-tx-corrected-entity?from the API, replacing them with a new function,tx-committed?.
- #556: Removes new-tx-log-contextandtx-logfrom the API, replacing them withopen-tx-log.
- #619: Standalone topology uses memdb (not persisted by default), removes RocksDB dependency from crux-core. See https://opencrux.com/docs#config-rocksdb for details about how to configure RocksDB
- #496: Adding rocksdb metrics. The kv-storeis now set as a module inside the topology vector.
- #565: query predicate at zero join depth can now stop tuples from being returned
- #507: ranges in rules revert to a predicate if neither argument is a logic var
- #466: Splitting sync's various arities into(sync node <timeout>),(await-tx-time node tx-time <timeout>)and(await-tx node tx <timeout>)((sync node tx-time <timeout>)is deprecated and will be removed in a subsequent release).
- #625: Metrics can be displayed to a prometheus server
- #597: Metrics can be now analysed in cloudwatch
- #495: Adding metrics to expose various indexer ingest metrics
- #494: Adding metrics to expose metrics on how long queries are taking
- #492: Adding metrics to expose local disk usage
- #494: Adding metrics to expose metrics on how long queries are taking
- #495: Adding metrics to expose various indexer ingest metrics
- #568: You can now supply a vector of modules to crux.node/topology
- #586: Common artifacts are now deployed on every release, check out the releases page on the repository and the Crux dockerhub account.
- #596: The HTTP server is now a module, to be included in the :crux.node/topologyvector. See https://opencrux.com/docs#config-http for more details.
- #597: Metrics can be now analysed in cloudwatch
- #625: Metrics can be displayed to a prometheus server
- #524: Batch ingesting docs into the KV store
- #520: New entityarity accepts a snapshot argument for >40% performance boost
- #371: Documents in failed CaS operations now get evicted correctly
- #434: Fix put/delete/CaS semantics when a transaction contains overlapping valid-time ranges for the same entity
- #545: Fix greater than range predicate bug on empty db
- #546: crux.node/dberrors if provided a tx-time later than the latest completed tx, to preserve repeatability of queries.
- #506: Fix lifetime of EntityAsOfIdx within put/delete, was being closed too soon.
- #512: Fix race condition initialising id-hashing
These changes bump the index version to version 5 - a re-index of Crux nodes is required.
- #428: Time ranges removed from 'evict' command, see #PR438 for more details.
- #441: Fix two transactions updating the same entity in the same millisecond always returning the earlier of the two values - requires index rebuild.
- #326: Put/delete with start/end valid-time semantics made consistent
- #363: Allow full-results?and other boolean flags in a vector-style query
- #372: Add support for Java collection types with submitTx
- #377: Can use 'cons' within query predicates
- #414: Developer tool for query tracing
- #430: Add LMDB configuration example to docs + tests
- #457: Allowing nil to be returned from tx-fns
- #362: Fixes 362 where hashes of small maps were dependent on order
- #365: Replace usages of 'pr-str' with 'pr-edn-str' under crux.io
- #367: Can query empty DB
- #351: Do not merge placeholders into unary results
- #368: Protect calls to modules when node is closed
- #418: Adds exception when query with order-by doesn't return variable ordered on
- #419: Fix specification for ':timeout' within queries.
- #440: Fix return type of 'documents' in the API.
- #453: Add nil check for queries in spec.
- #454: Add fix for tx-log breaking in spec after an eviction
- #482: Bringing README up to date.
- #486: Race condition initialising hash implementation
- #340: Breaking Improve node configuration API, introduce topologies
- #341: Various documentation improvements
- #352: Fix Kotlin multhreaded node-start issues
- #348: Increase range constraints var-frequency for join order
- #285: Various doc and tx spec enhancements
- #287: Caching checking of specs for queries, 30% speed up for simple queries
- PR #297: Support for PostgreSQL, MySQL, Oracle, SQLite, H2 via crux-jdbc(see subsequent commits onmaster)
- PR #319: Kafka source and sink connectors
- #176: Ingest API for some operations (without full node / indexes)
- PR #320: Experimental support for transaction functions (disabled by default)
- #314: NPE when submitting a query with empty args
- PR #300: Breaking replace all
usage of the word "system" with "node" (including APIs/docs/examples) e.g. start-standalone-systemis nowstart-standalone-node
- PR #297: New crux-jdbcbackend as an alternative to Kafka for clustered deployments
- PR #281: Breaking deprecate juxt/cruxrelease, usecrux-coreand new modular deps
- #288: Allow crux-kafkaclient configuration via:kafka-properties-map
- #266: event-log-diris mandatory for standalone mode
- PR #235: Add entity cache to improve large query performance
- #268: synctimeout must be a duration
- #272:  HTTP server can use #crux/idreader
- #208: Breaking Remove need for specifying ID in put and cas operations
- #254: Breaking Move blocking dbcall to sync
- PR #243: Refactoring: Split out api spec
- #240: Fix using maps as ID
- #241: Events checked against schema
- #198: Fix docs nav links in safari
- PR #206: Handle current max lag being unknown
- #222: Fix race with eviction and caching
- PR #174: Make indexReducible (thank you @mpenet)
- #173: Include documents with queries results using :full-results?
- #202: Enforced use of Dateinstead ofInstwithin the transaction spec
- #183: Fixes for JDK8 compilation
- #180: Fix indexer replay of eviction transactions
- #189: Fix evictions in standalone mode
- #184: Improved testing for document eviction support
- PR #N: Breaking example
- #N: issue example
 Can you improve this documentation? These fine people already did:
James Henderson, Jon Pither, Tom Taylor, Daniel Mason, Jeremy Taylor, Antonelli712, Dan Mason, Ivan Fedorov & Håkan RåbergEdit on GitHub