The ScyllaDB team is pleased to announce the release of ScyllaDB 2026.3, a production-ready ScyllaDB Short Term Support (STS) Minor Feature Release.
More information on ScyllaDB Version Support Policy is available here.
Upgrade Paths
You can upgrade to 2026.3 from versions 2026.1 and 2026.2.
See the Upgrade Guide from ScyllaDB 2026.x to ScyllaDB 2026.3.
Related Links
Highlights
The highlights of the 2026.3 release:
-
Full-Text Search (FTS): A new full-text index type that enables keyword search and relevance-ranked results directly in ScyllaDB.
-
Large Data Guardrails: New coordinator-side and replica-side guardrails that detect and warn about (or block) large partitions, rows, cells, and collections, helping prevent common data-modeling pitfalls in production.
-
Tablet-Aware Restore: Robust native restore for tablet-based clusters, with progress monitoring, abort support, and automatic recovery from coordinator node failure.
-
Native Backup and Restore to OCI Object Storage: ScyllaDB’s native backup and restore now supports Oracle Cloud Infrastructure (OCI) Object Storage, allowing OCI-based deployments to back up and restore cluster data directly without additional tooling.
-
Vnodes to Tablets Migration now Generally Available (GA): Existing CQL keyspaces can now transition from vnode-based to tablet-based data distribution without interrupting reads and writes.
New Features and Improvements
Full-Text Search (FTS)
ScyllaDB introduces Full-Text Search, allowing you to run keyword searches over text columns directly from CQL. A new custom index type, fulltext_index, can be managed with CREATE INDEX / DROP INDEX and inspected with DESCRIBE INDEX.
Full-text queries use the BM25() function to filter matching rows and rank them by relevance. The queries require a LIMIT clause.
Example:
CREATE CUSTOM INDEX ON my_keyspace.documents (body)
USING 'fulltext_index';
SELECT id, body
FROM my_keyspace.documents
WHERE BM25(body, 'distributed database') > 0
ORDER BY BM25(body, 'distributed database')
LIMIT 10;
See Full-Text Search in the ScyllaDB documentation for details about using the feature.
Large Data Guardrails
A comprehensive set of large-data guardrails has been added to help detect and control unsafe data patterns before they impact cluster stability. Guardrails cover large partitions, rows, cells, and collections, with enforcement on both the coordinator side and the replica side, including the CAS/LWT path.
When a soft limit is exceeded, warnings are surfaced to CQL clients; hard limits can block the offending operation. A new BYPASS LARGE_DATA_GUARDRAILS clause is available for cases where an operation must proceed regardless. Metrics for large-data threshold crossings are exposed for monitoring, and read-repair traffic always skips these guardrails.
Example:
DELETE FROM my_keyspace.my_table
WHERE id = 42
BYPASS LARGE_DATA_GUARDRAILS;
See Large Data Guardrails and BYPASS LARGE_DATA_GUARDRAILS clause in the ScyllaDB documentation for details:
Cluster-Wide Restore from Object Storage
Tablet-based tables can now be restored from an object-storage backup with a single cluster-wide operation, without the node-by-node procedure. Each replica downloads its data directly from the bucket with no data streamed between nodes. The operation is robust: it reports progress, can be aborted, and resumes automatically if the coordinating node changes mid-operation.
This feature is currently available through the /storage_service/tablets/restore REST API; ScyllaDB Manager support is coming in a future release.
See Restore from a Backup and Incremental Backup for details.
Native Backup and Restore to OCI Object Storage
ScyllaDB’s native backup and restore now supports Oracle Cloud Infrastructure (OCI) Object Storage, enabling OCI-based deployments to back up and restore cluster data directly to OCI without additional tooling. Tablet-based clusters are fully supported.
Since OCI Object Storage is accessed via its S3-compatible API, no additional configuration is required beyond the standard backup and restore procedure for S3-compatible storage.
See Backup and Restore Procedures in the ScyllaDB documentation.
Oracle Cloud Infrastructure Support
ScyllaDB now provides ready-to-use Oracle Cloud Infrastructure (OCI) images, making it easier to deploy and run ScyllaDB clusters on OCI.
This expands the available infrastructure options alongside AWS, GCP, and Azure.
See Launch ScyllaDB on Oracle Cloud Infrastructure (OCI) for details.
Keyspace Storage on S3-Compatible Object Storage (Preview)
ScyllaDB keyspaces can now be configured to store their SSTables on Amazon S3 or any S3-compatible object storage instead of local disk. This allows you to decouple storage from compute, enabling cost-effective scaling and simplifying capacity management for large datasets.
To use object storage for a keyspace, first configure your storage endpoint, then specify the storage options at keyspace creation:
CREATE KEYSPACE ks
WITH REPLICATION = { 'class': 'NetworkTopologyStrategy', 'replication_factor': 3 }
AND STORAGE = { 'type': 'S3', 'bucket': 'my-bucket', 'endpoint': 'my-endpoint' };
See Keyspace storage options and Configuring Object Storage in the ScyllaDB documentation for details.
Granular Audit Configuration
ScyllaDB adds granular audit configuration through a new audit_rules mechanism. Audit rules work alongside the existing audit_categories, audit_keyspaces, and audit_tables settings, extending them with per-role and per-table-pattern matching using glob patterns. This lets operators define precise rules, for example auditing DML operations on production keyspaces only for specific roles, giving finer control over audit output for compliance and security monitoring. The audit_rules parameter is live-updatable without a node restart.
The following example audits DML and DDL operations on all tables in the prod_ks keyspace performed by users with roles matching admin_*, writing results to the audit table. A second rule audits all authentication events cluster-wide, regardless of keyspace or table, writing results to syslog:
audit_rules:
- sinks: [table]
categories: [DML, DDL]
qualified_table_names: ["prod_ks.*"]
roles: ["admin_*"]
- sinks: [syslog]
categories: [AUTH]
qualified_table_names: []
roles: ["*"]
See Audit Rules in the ScyllaDB documentation for details.
Vnodes to Tablets Migration Now Generally Available
Vnodes-to-tablets migration is now Generally Available (GA). You can migrate existing CQL keyspaces from vnode-based to tablet-based data distribution while reads and writes continue during the migration.
This release improves migration reliability and post-migration tablet layout. It fixes multishard reads during migration and automatically converges migrated tables to a power-of-two tablet layout after migration is complete.
See Migrate a Keyspace from Vnodes to Tablets in the ScyllaDB documentation for prerequisites, the complete procedure, and limitations.
Additional Improvements
Alternator
-
Alternator’s DynamoDB CloudWatch metrics compatibility has been improved: all previously missing metrics are now implemented, bringing Alternator closer to full DynamoDB observability parity. ListTables no longer exposes internal Paxos tables on tablet-based clusters, matching DynamoDB’s expected behavior. Failed requests are now correctly reflected as errors in the audit log, improving accuracy of compliance and security monitoring.
See the Metrics section in the ScyllaDB documentation for Alternator. -
TTL scans on tablet-based clusters are more reliable: Alternator no longer holds a stale replication map during TTL tablet scans, preventing stale data from affecting expiration correctness during tablet migrations.
CQL
-
Atomic counter-style add and subtract operations are now supported within Lightweight Transactions (LWT), enabling conditional read-modify-write patterns on numeric columns without requiring application-side retries. See Arithmetic SET in a LWT update and Arithmetic SET operations in LWT updates in the ScyllaDB documentation.
-
Key-length validation is now consistent: oversized partition and clustering keys produce a clear InvalidRequest error at INSERT time, and the same limits are enforced during SELECT. Previously, an oversized key could be written but then fail unpredictably at read time.
-
Multi-column IN restrictions with tuples of different lengths now work correctly, and filtering with expressions beyond single-column or tuple references is supported.
-
Collection deserialization is faster: frozen collections are unfreezed without intermediate materialization, reducing CPU overhead on read-heavy workloads that access collection columns.
Snapshot Lifecycle Management
ScyllaDB now supports automatic snapshot expiration. The new auto_snapshot_ttl configuration option sets a time-to-live for auto-snapshots, after which they are deleted automatically. This prevents stale snapshots from consuming disk space without requiring manual cleanup. The default value is 864000 seconds (10 days).
The default in scylla.yaml:
# Automatically delete auto-snapshots after 10 days
auto_snapshot_ttl: 864000
See ScyllaDB Snapshots in the ScyllaDB documentation to learn more about snapshots.
Compaction
-
The ICS compaction controller reacts faster to write pressure and uses returned default thresholds, improving compaction pacing on write-heavy workloads without requiring configuration changes.
-
nodetool stop now correctly stops compaction by type on tablet-based clusters, restoring an operational capability that was previously broken.
-
Counter shards from decommissioned or outdated replicas are now garbage collected in tablet-based clusters, reducing storage overhead for counter tables over time.
Repair
Repair stability has been improved in several areas.
-
Repair requests with equal start and end tokens are now rejected upfront rather than producing unexpected behavior.
-
Tombstone garbage collection windows are reduced by incorporating the commitlog cleanup table and repair history, allowing tombstones to be purged sooner after repairs complete.
-
nodetool scrubno longer reports false-positive out-of-order partition warnings.
Security
-
TLS 1.3 session tickets are now enabled by default, reducing connection establishment latency by allowing session resumption without a full handshake.
-
The EXECUTE permission on a UDA REDUCEFUNC aggregate is now correctly checked at SELECT time, closing a gap where a user without EXECUTE permission could invoke an aggregate through a SELECT.
Topology
-
Bootstrap operations can now bypass unrelated in-progress tablet migrations, allowing new nodes to become available sooner during scale-out without waiting for unrelated migrations to complete.
-
Removing the last node of a datacenter or rack that holds a tablet-replicated keyspace is now rejected with a clear error instead of triggering an assertion, preventing accidental data unavailability.
Vector Search
Local vector indexes can now pre-filter on non-primary-key columns, and local indexes may be created on non-primary-key partition columns. This expands the range of queries that can be answered efficiently without falling back to full table scans.
See Vector Index in the ScyllaDB documentation for details.
Vector Search is available in ScyllaDB Cloud
Strong Consistency: Raft Group per Tablet (Experimental)
This release continues to mature the strongly consistent tables feature introduced as experimental in 2026.2. To enable it, add the following to scylla.yaml:
experimental_features:
- strongly-consistent-tables
This release brings several improvements to correctness, performance, and observability. CQL reads are now forwarded to the Raft leader with a leader-location cache for non-replica nodes, reducing forwarding overhead. Startup latency for strongly consistent tablet Raft groups has been optimized, and coordinator-side metrics are now available for monitoring. Consistency level enforcement for strongly consistent requests has been tightened.
Key Changes Between 2026.1 and 2026.2
This section highlights the most important changes introduced between 2026.1 and 2026.2 for users upgrading to 2026.3 directly from 2026.1. See the Release Notes for ScyllaDB 2026.2 for details.
Alternator
Alternator Streams became Generally Available and no longer require an experimental flag. Streams events remain usable for 24 hours after disabling. Alternator now supports Vector Search and DynamoDB-compatible S3 export.
See Alternator Vector Search and ScyllaDB Alternator for DynamoDB Users: Alternator Streams.
CQL
Per-row Time-to-Live (TTL) and a full in-memory authentication and authorization cache for CQL connections were introduced.
Storage and Compaction
The trie-based SSTable index format was introduced (ms in 2026.2) and refined
to the mt format with correct partition-key encoding in 2026.3. See Trie-Based SSTable Index Now Default for details.
Object storage gained a unified layout, OCI support, and batch S3 SSTable deletion.
Tablets
Tablets gained datacenter add/remove support, counter garbage collection, tablet-aware backup and restore, and experimental vnodes-to-tablets migration.
See Tablets in the 2026.2 release notes for more information.
Reliability and Performance
Nested scheduling groups, replica-side load shedding, and numerous stability and resource-management improvements were added.