Releases: thatdot/quine
Releases · thatdot/quine
Release Quine 1.5.6
Enhancements:
- Added support for STS assumed-role authentication to experimental AWS Keyspaces persistor
Bugfixes:
- Removed "total memory" gauge from metrics dashboard when maximum total memory can't be calculated based on the running JVM
- Fixed a "stream stopped before async invocation was processed" error message that could occur when resuming ingests on startup
Updates:
- webjars-locator to 0.47
- sbt-jmh to 0.4.5
- guava to 32.0.1-jre
- dropwizard metrics to 4.2.19
- logback-classic to 1.4.8
- scala-library to 2.12.18
- cats-effect to 3.5.1
- scala-collection-compat to 2.11.0
Release Quine 1.5.5
Enhancements:
- Ingest status is now preserved across restarts when restore-ingest configuration is set
- Improved error handling within Keyspaces persistor
Bugfixes:
- Valid Kafka configurations (e.g.,
ssl.truststore.location
) are now accepted by the KafkaIngest stream configuration object - Remove unnecessary log line
Updates:
- bootstrap to 5.3.0
- flatbuffers-java to 23.5.26
- pureconfig to 0.17.4
- commons-io to 2.12.0
- guava to 32.0.0-jre
Release Quine 1.5.4
Upgrading to Quine 1.5.4:
Temporal types have had a spring cleaning! Time values created in Quine 1.5.3 and earlier (without timezones) are automatically converted to LocalTime values in Quine 1.5.4. No user action is required.
Enhancements
- Added support for
localtime
function and values to the Quine graph and Cypher - Updated documentation for Kinesis ingest to reflect the new name "Kinesis Data Streams"
- Added AWS Keyspaces persistor for preview
- Improved configuration linting and error reporting for Kafka ingest
- Added support for
purgeNode
procedure to RocksDB and MapDB persistors - Added automatic recovery (up to 3 attempts) of ingests that fail to start/restart due to upstream issues
- Simplified
reify.time
-generated nodes to use static labels for easier styling - Improved documentation for administrative APIs
- Added scheduler checkpoint settings
maxBatchSize
andmaxBatchWait
to Kinesis Data Streams ingests
Bugfixes
- Resuming a failed ingest now reports an HTTP error instead of timing out
- Time values in the Quine graph now correctly store and use offsets from UTC
- The
date
function now always correctly returns a date instead of a datetime. - Errors that occur while submitting an invalid standing query are now reported as "Bad Request"
Updates
- Base docker image to JVM 20
- sbt-scalajs-crossproject to 1.3.1
- scalajs to 1.13.1
- circe to 0.14.5
- pureconfig to 0.17.3
- endpoints4s to 3.8.15
- logback-classic to 1.4.7
- scala-collection-compat to 2.10.0
Release Quine 1.5.3
Enhancements:
- A distinct "advertised"/canonical HTTP address used for self-referencing links may be set via
quine.webserver-advertise
- Added
purgeNode
procedure, which may be used to permanently delete a node and all data owned by that node (including historical) from Quine, including the persistence layer
Bugfixes: - Error message from Cypher compilation failures involving
int.add
now report the correct types - Several typos throughout the codebase have been corrected (contributed by @stavares843)
- Slack notifications from Standing Queries now render with the intended rich formatting
- API documentation for DebugOps now correctly renders the usage disclaimer for those APIs
Updates: - logback-classic to 1.4.6
- akka-http-backend, slf4j-backend to 3.8.14
- dropwizard metrics to 4.2.17
- circe-config to 0.10.0
- memeid4s to 0.8.0
- proto-google-common-protos to 2.14.2
- sbt-assembly to 2.1.1
- flatbuffers-java to 23.3.3
- rocksdbjni to 7.10.2
Release Quine 1.5.2
Enhancements:
- Added first-class support to the Quine engine and the cypher interpreter for new temporal types: Date, Time, LocalDateTime, and Duration
- Added int.add (replacing incrementCounter), float.add, set.insert, and set.union procedures for atomically updating properties of different types
- Added castOrNull and castOrThrow cypher functions for providing type hints to the query compiler for values
- Replaced remaining uses of ujson with circe JSON for better support of 64-bit integers
- Replaced LiteralOps API with a new DebugOps API, focusing on presenting human-readable versions of node state
- Removed auto-commit option from Kafka ingest API: To continue using autocommit, pass
"autoCommitIntervalMs": 5000
in the kafkaProperties option instead
Bugfixes:
- Complex strId-based queries are now executable without an all-node scan (contributed by @harpocrates)
- MERGE queries now correctly combine the scopes of their CREATE and MATCH possibilities (contributed by @harpocrates)
- Log messages from
IngestRoutes
no longer report as being logged by a different class (e.g., "QuineApp")
Docs:
- Added "servers" field to openapi.json
- Added missing documentation to metrics API
- Added should-resume-ingest to documented config
- Remove "Standing Query Output Format" from named schemas
- Updated style of ingest APIs
- Standing query Propagate endpoint status code changed from 200 Success to 202 Accepted
Updates:
- flatbuffers-java to 23.1.21
- jquery to 3.6.3
- kafka-clients to 3.3.2
- proguard-base to 7.3.1
- pulsar4s-akka-streams to 2.9.0
- rocksdbjni to 7.9.2
- sbt-jmh to 0.4.4
- scalajs-compiler to 1.13.0
Release 1.5.1
Enhancements:
- Switched JSON parser from
ujson
tocirce
to avoid loss of
precision in large integers in standing queries (Further support for
large integers coming soon) - REST API documentation style and readability updates
- Added documentation for graph AI use cases
- Improved performance of Cassandra persistor by reducing load and
latency during ingest
Bugfixes:
- Reduced log noise when performing more than 2 operations on a node as
part of a single message - Fixed an issue with intellij project import
Release 1.5.0
Release 1.5.0
Enhancements
- Many API endpoints now support YAML request bodies: Convenient for copying pipelines from recipes to a Quine server!
- AWS client configurations (SNS, Kinesis, etc) separated "region" from "credentials"
- Added "Graph Algorithms" category to the REST API
- Added
random walk
graph algorithm (compatible with Node2Vec and GraphSAGE walk generation), REST endpoint, and Cypher procedure - Administration REST API documentation style and readability updates
- Non-historical nodes can now be kept awake for a minimum duration after each message
- Kafka ingests may now include a settings block for the Kafka client, e.g., to specify credentials. Contributed by @charliemenke
- No longer require all fields to be specified in recipes, improving readability
- Performance improvements in MapDB, Cassandra, DistinctId standing queries
- Improve indexing of node edge collections for increased query performance
Bugfixes
- Switched JSON parser from
ujson
tocirce
to avoid loss of precision in large integers in ingest streams (Further support for large integers coming soon) - Resolved issues with clean shutdown of the Quine application via the API
Updates
- Update
sbt-ghpages
to 0.7.0 - Update
sbt-git
to 2.0.1 - Update
sbt-assembly
to 2.1.0 - Update
slinky
to 0.7.3 - Update
rocksdbjni
to 7.8.3 - Update
scala-js-macrotask-executor
to 1.1.1 - Update
pulsar4s-akka-streams
to 2.8.2 - Update
dropwizard metrics
to 4.2.15 - Update
flatbuffers-java
to 22.12.06 - Update
sbt-paradox
to 0.10.3 - Update
scalajs
to 1.12.0 - Update
scala-java-time
to 2.5.0 - Update
endpoints4s
to 1.9.0 - Update
logback-classic
to 1.4.5 - Update
mapdb
to 3.0.9 - Update
org.eclipse.jgit
to 6.4.0.202211300538-r - Update
proguard-base
to 7.3.0 - Update
jnr-posix
to 3.1.16 - Update
bootstrap
to 5.2.3 - Update
pureconfig
to 0.17.2 - Update
classgraph
to 4.8.151 - Update
scala-collection-compat
to 2.9.0 - Update
sbt-scalafmt
to 2.5.0 - Update
protobuf-java
to 3.21.10 - Update
cats-core
to 2.9.0
Release 1.4.2
Release Quine 1.4.2
Enhancements:
- Added canonicalized mapping of QuineIds and DGBs to reduce heap usage
- Simplified node wakeup protocol
- Improved contributor experience when building with node version greater than 16
- Now support amd64 and arm64 architectures for Quine docker image
Bugfixes:
- Node debug endpoint / procedure now includes all DistinctId localEventIndex entries instead of just one
Release 1.4.1
Bugfix:
- Edge case where Akka complains of an actor name being re-used too quickly
is now retried.
Release Quine 1.4.0
Release Quine 1.4.0
Enhancements
- The
reify.time
procedure now yields only the finest-granularity reified period node for better query ergonomics - Removed
nullary
andunary
locIdFrom
variants to simplifylocIdFrom
usage - Enriched logging in edge cases involving shard resolution
- Restructured ingest streams for better consistency and handling of edge-cases involving charset transcoding
- Optimized storage of
DateTime
to use less space - Simplified node wakeup protocol: edge cases involving simultaneous request to sleep and wake should now be more efficient
- Improved API documentation of ingest streams
- Add notification preview text for rich Slack messages used as Standing Query outputs
- Provide a warning when a full-node scan is detected in ingest query
- Added
text.urlencode
andtext.urldecode
Cypher functions - Added atomic "count" return value to
incrementCounter
procedure - Added support for decoding steps during ingest (base64, zlib, and gzip)
- Standing Queries can now use idFrom-based ID constraints, provided that all arguments to the idFrom are literal values
- Rewrote the serialization, persistence, and message passing system used by DistinctId Standing Queries
- Change default order of node effects to "persister first", applying in-memory effects only after the persistence operation succeeds
- Removed unused / experimental "node merging" behavior
Bugfixes
- Cassandra persister batched writes now respect configured timeout and consistency options
- Long-typed QuineIdProviders will now interoperate correctly with the
getHost
procedure - singleton-snapshot and journals may now be enabled at the same time
- Added a heuristic rate limiter to Kinesis ingest streams to improve stability when Quine reads faster than Kinesis can emit
- Improved cluster stability when cluster members experience temporary disconnections
- Improved shutdown behavior in failsafe case
- UUIDv5 and UUIDv3 id providers now generate correctly bit-masked identifiers
- MultipleValues standing queries are now properly restored on nodes where shutdown is started and then cancelled
- Node edge and property counts will now be correctly reflected in the metrics dashboard
- Improved use case for reify time to ensure reified time nodes have all properties set
Updates
- Replaced
snakeyaml
withsnakeyaml-engine
, supporting YAML 1.2 - akka to 2.6.20 (contributed by @He-Pin)
- bootstrap to 5.2.2
- cassandra client to 4.15.0
- endpoints4s to 1.8.0
- endpoints4s (akka-http) to 7.0.0
- endpoints4s (openApi) to 4.2.0
- endpoints4s (xhr) to 5.1.0
- jquery to 3.6.1
- netty-nio-client to 2.17.288
- parboiled to 1.4.1
- scalajs to 1.11.0
- rocksdb to 7.6.0
- scalajs-dom to 2.3.0
- flatbuffers-java to 22.10.26
- dropwizard metrics to 4.2.12
- logback to 1.4.4
- apache commons to 1.10.0
- protobuf-java to 3.21.8
- Novelty: graal to 22.2.0
- Memeid4s to 0.7.0