---
title: "Database 8.0.0 Release Notes"
description: "Aerospike Database 8.0.0 Release Notes detailing the introduction of distributed transactions and system updates."
---

# Database 8.0.0 Release Notes

> For the complete documentation index see: [llms.txt](https://aerospike.com/docs/llms.txt)
> 
> All documentation pages available in markdown.

January 22, 2025  |  **[Download](https://aerospike.com/download/)**

## New in this version

This version implements the distributed [transactions](https://aerospike.com/docs/database/learn/architecture/transactions) feature.

### New features

-   Transactions: A transaction is an encapsulation of several commands isolated from commands outside the transaction and executed atomically. Aerospike transactions guarantee one of two outcomes: either all commands succeed together, or they all fail. In case of failure, all records roll back to the state prior to the attempted transaction. No commands outside the transaction can see the state changes being created inside the transaction. This allows you to enforce strict serializability requirements by putting all requests with such requirements into their own transactions.

::: note
-   There are special considerations for downgrade if transactions were attempted. If you need to downgrade, see [Downgrade from Database 8.0.0](https://aerospike.com/docs/database/advanced/special-upgrades/800-downgrade) before proceeding.
-   ‘mrt’ in the names of new configuration and metrics items indicates that those items are associated with the new transactions feature.
:::

### Updates

See [Platform support and compatibility](https://aerospike.com/docs/database/reference/platform-support) for all currently supported platforms.

## Configuration items added or enhanced

| Item | Action | Notes |
| --- | --- | --- |
| [`disable-mrt-writes`](https://aerospike.com/docs/database/reference/config#namespace__disable-mrt-writes) | added | Static/dynamic, boolean, default false, blocks new transactions with writes by blocking monitor creates, can be used dynamically to let an XDR destination settle to a transaction-consistent state. |
| [`mrt-duration`](https://aerospike.com/docs/database/reference/config#namespace__mrt-duration) | added | Static/dynamic, seconds or time units, minimum 1, maximum 120, default 10, used if value not specified by client, determines deadline after which transactions can no longer be done in a transaction. |

## Metrics changes

| Item | Action |
| --- | --- |
| [`mrt_provisionals`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_provisionals) | added |
| [`mrt_monitors_active`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_monitors_active) | added |
| [`mrt_verify_read_success`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_verify_read_success) | added |
| [`mrt_verify_read_error`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_verify_read_error) | added |
| [`mrt_verify_read_timeout`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_verify_read_timeout) | added |
| [`mrt_roll_forward_success`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_roll_forward_success) | added |
| [`mrt_roll_forward_error`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_roll_forward_error) | added |
| [`mrt_roll_forward_timeout`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_roll_forward_timeout) | added |
| [`mrt_monitor_roll_forward_success`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_monitor_roll_forward_success) | added |
| [`mrt_monitor_roll_forward_error`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_monitor_roll_forward_error) | added |
| [`mrt_monitor_roll_forward_timeout`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_monitor_roll_forward_timeout) | added |
| [`mrt_roll_back_success`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_roll_back_success) | added |
| [`mrt_roll_back_error`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_roll_back_error) | added |
| [`mrt_roll_back_timeout`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_roll_back_timeout) | added |
| [`mrt_monitor_roll_back_success`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_monitor_roll_back_success) | added |
| [`mrt_monitor_roll_back_error`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_monitor_roll_back_error) | added |
| [`mrt_monitor_roll_back_timeout`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_monitor_roll_back_timeout) | added |
| [`fail_mrt_blocked`](https://aerospike.com/docs/database/reference/metrics#namespace__fail_mrt_blocked) | added |
| [`fail_mrt_version_mismatch`](https://aerospike.com/docs/database/reference/metrics#namespace__fail_mrt_version_mismatch) | added |
| [`mrt_monitor_roll_tombstone_creates`](https://aerospike.com/docs/database/reference/metrics#namespace__mrt_monitor_roll_tombstone_creates) | added |

## Histogram changes

| Item | Action |
| --- | --- |
| [`writes-per-mrt`](https://aerospike.com/docs/database/observe/latency#auto-enabled-benchmarks) | added |

## Server log changes

| Item | Action |
| --- | --- |
| [`mrt-finish`](https://aerospike.com/docs/database/reference/logs#namespace__387916598) | added |
| [`mrt-monitor-finish`](https://aerospike.com/docs/database/reference/logs#namespace__2003685696) | added |
| [`writes-per-mrt`](https://aerospike.com/docs/database/reference/logs#info__1863077453) | added |
| [`monitor committing`](https://aerospike.com/docs/database/reference/logs#mrt-audit__1857071747) | added |
| [`monitor aborting`](https://aerospike.com/docs/database/reference/logs#mrt-audit__1068533296) | added |

## Error code changes

| Item | Action | Notes |
| --- | --- | --- |
| 120 | MRT\_BLOCKED | added |
| 121 | MRT\_VERSION\_MISMATCH | added |
| 122 | MRT\_EXPIRED | added |
| 123 | MRT\_TOO\_MANY\_WRITES | added |
| 124 | MRT\_COMMITTED | added |
| 125 | MRT\_ABORTED | added |
| 126 | MRT\_ALREADY\_LOCKED | added |
| 127 | MRT\_MONITOR\_EXISTS | added |

## Tools changes

-   Update to tools package 11.2.0
-   Support for macOS 12 for all tools packages was removed in the tools 11.1.1 release.

See [Tools 11.2.0 Release Notes](https://aerospike.com/docs/database/tools/release-notes#tools-1120).

## Client/server feature compatibility

For a complete list of client features and the server versions that support them, see the [Client Matrix](https://aerospike.com/docs/develop/client-matrix).

## Ecosystem compatibility

### Compatible client versions

For full feature access in Database 8.0.0:

-   Java client 9.0.3
-   Python client 16.0.1
-   C# client 8.0.1
-   C client 7.0.2
-   Go client 8.0.0
-   Node.js client 6.0.1

### Compatible connector versions

-   Trino connector 1.2.0 or later
-   Spark connector 3.1.1 or later

## Prerequisites and notes

-   For upgrade instructions, see [Upgrade or repair an Aerospike server](https://aerospike.com/docs/database/install/upgrade)
-   For special upgrade instructions, see [Special upgrades and downgrades](https://aerospike.com/docs/database/advanced/special-upgrades)

## Product lifecycle updates

Aerospike provides maintenance and support for 2 years (24 months) starting with database release 6.3.0. See [Platform Support](https://aerospike.com/docs/database/reference/platform-support) for details.

## Known issues

See [Database known issues reference](https://aerospike.com/docs/database/reference/issues?search=8.0.0.1)