Skip to content

Releases: thatdot/quine

Release Quine 1.5.6

26 Jul 22:53
Compare
Choose a tag to compare

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

21 Jun 17:56
Compare
Choose a tag to compare

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

24 May 19:37
Compare
Choose a tag to compare

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 and maxBatchWait 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

12 Apr 21:00
Compare
Choose a tag to compare

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

02 Mar 02:03
Compare
Choose a tag to compare

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

01 Feb 19:45
Compare
Choose a tag to compare

Enhancements:

  • Switched JSON parser from ujson to circe 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

11 Jan 22:05
Compare
Choose a tag to compare

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 to circe 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

30 Nov 19:36
Compare
Choose a tag to compare

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

05 Nov 04:18
Compare
Choose a tag to compare

Bugfix:

  • Edge case where Akka complains of an actor name being re-used too quickly
    is now retried.

Release Quine 1.4.0

02 Nov 20:38
Compare
Choose a tag to compare

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 and unary locIdFrom variants to simplify locIdFrom 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 and text.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 with snakeyaml-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