See the Github milestone for the issues included in this release
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?
and submitted-tx-corrected-entity?
from the API, replacing them with a new function, tx-committed?
. - #556: Removes
new-tx-log-context
and tx-log
from the API, replacing them with open-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-store
is 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/topology
vector. 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
entity
arity 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/db
errors 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 on master
) - 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-system
is now start-standalone-node
- PR #297: New
crux-jdbc
backend as an alternative to Kafka for clustered deployments
- PR #281: Breaking deprecate
juxt/crux
release, use crux-core
and new modular deps - #288: Allow
crux-kafka
client configuration via :kafka-properties-map
- #266:
event-log-dir
is mandatory for standalone mode - PR #235: Add entity cache to improve large query performance
- #268:
sync
timeout must be a duration - #272: HTTP server can use
#crux/id
reader
- #208: Breaking Remove need for specifying ID in put and cas operations
- #254: Breaking Move blocking
db
call 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
index
Reducible (thank you @mpenet) - #173: Include documents with queries results using
:full-results?
- #202: Enforced use of
Date
instead of Inst
within 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