Upgrading to 2.0.0¶
This page covers what you need to know when upgrading to Quine Enterprise 2.0.0.
What's New¶
- Redesigned Exploration UI — modernized layout with sidebar navigation, a new Dashboard landing page, a Streams management page, JSON-LD graph export, and updated node interaction behavior. See Exploration UI Changes for details.
- API v2 is now the default — API v1 endpoints remain available but are planned for removal
- RBAC via OIDC — role-based access control with OpenID Connect. See the OIDC Setup Guide for configuration. When RBAC is enabled, API v1 endpoints are disabled.
- Recipe schema v2 with API v2 entities
- Docker base image updated to
eclipse-temurin:21.0.10_7-jre-noble(Ubuntu 24.04 LTS) - All-node scan queries now filter server-side for better performance
- Content Security Policy headers added by default
- Credential redaction in API responses
For the full list of changes, see the Release Notes.
Breaking Changes¶
Metrics Prefix Changes¶
All graph-scoped metric names now include the graph name as a prefix. In previous versions, most graph-scoped metrics (node, shard, standing query) already included the graph name prefix, but ingest metrics for the default graph were inconsistently unprefixed. Starting with 2.0.0, all graph-scoped metrics — including default graph ingest metrics — are prefixed with the graph name.
For example, node.property-counts becomes quine.node.property-counts (using the default graph name quine), or tenant1.node.property-counts for a graph called tenant1. Default graph ingest metrics change from ingest.my-stream.count to quine.ingest.my-stream.count.
Update your monitoring infrastructure (Grafana dashboards, InfluxDB queries, alerting rules) to use the new metric names. Add the quine. prefix (or your target graph name) to graph-scoped metrics. Global metrics remain unchanged.
Updating Grafana Queries¶
The exact syntax depends on your metrics reporter.
InfluxDB example:
-- Previous query
SELECT mean("value") FROM "node_property_counts" WHERE $timeFilter
-- 2.0.0+ query
SELECT mean("value") FROM "quine_node_property_counts" WHERE $timeFilter
Prometheus example:
# Previous query
rate(node_property_counts[5m])
# 2.0.0+ query
rate(quine_node_property_counts[5m])
InfluxDB member_id Tag¶
When using InfluxDB as a metrics reporter, the member_id tag value differs between products:
| Product | member_id Value |
|---|---|
| Quine | quine |
| Quine Enterprise (single node) | Cluster member address (e.g., 127.0.0.1:25520) |
| Quine Enterprise (cluster) | Each member's address (e.g., 10.0.0.1:25520) |
Update any queries that filter by member_id to use the appropriate value for your deployment.
Exploration UI Changes¶
The web interface has been redesigned with a modernized layout, sidebar navigation, and consistent theming across all pages.
New Pages¶
- Dashboard — A new landing page with a system overview diagram, host metrics, ingest stream status, and standing query status.
- Streams — A management page for creating and managing ingest streams and standing queries directly through the UI.
New Features¶
-
JSON-LD export — The Exploration UI download menu now includes a JSON-LD graph export option.
-
RBAC integration — When OIDC is configured, the UI includes login/logout functionality and renders components based on the authenticated user's permissions.
Behavior Changes¶
- Node pinning — Nodes are now pinned in place by default when dragged. To unpin a node, Shift+click-hold it.
- Default node appearance — Nodes now render the
nameproperty by default, regardless of label. This is customizable via the UI Styling endpoints.
API v1 Deprecation¶
API v2 is now the default for all installations. API v1 remains available but is planned for deprecation and will be removed in a future release.
See Migrating from API v1 for the complete migration guide, including endpoint mappings, design changes, and a migration checklist.
Recipe Schema v1 Deprecation¶
Recipes now support schema version 2, which uses API v2 entities. Version 1 recipes continue to work but should be migrated.
See Migrating from v1 Recipes for migration steps and a before/after example.