# Release Notes

## 7.3.55

- Same as 7.3.54 release with AVX enabled.

## 7.3.54

- Addressed urgent consistency checker related issues. (PR #11736)

- Addressed a downgrade related incompatibility issue between 7.3 patch releases. (PR #11732)

- Added knob LOG_CONNECTION_ATTEMPTS_ENABLED to log all incoming connections. (PR #11713)

## 7.3.53

- Same as 7.3.52 release with AVX enabled.

## 7.3.52

- Improved Sharded Rocksdb to use a single iterator pool for all physical shards. (PR #11694)

- Changed the default values of various Sharded Rocksdb related knobs. (PR #11706)

- Removed CC_PAUSE_HEALTH_MONITOR knob. (PR #11701)

- Addressed protocol incompatibility issues between 7.3 patch releases. (PR #11697), (PR #11705)

## 7.3.51

- Same as 7.3.50 release with AVX enabled.

## 7.3.50

- Converted an assertion for Sharded Rocksdb in storage server to error logs. (PR #11622)

- Fixed backup agents from retrying uploading in the presence of S3 token errors. (PR #11602)

- Fixed an inconsistent location metadata issue and invalid shard IDs generated by seed shard servers when SHARD_ENCODE_LOCATION_METADATA is enabled. (PR #11640) and (PR #11647)

- Enabled direct_io for RocksDB storage engine and wiggle knobs. (PR #11636)

- Added knobs for caching index blocks for Sharded RocksDB. (PR #11649) and (PR #11680)

- Added various data distributor knobs for performance tuning. (PR #11668) and (PR #11665)

- Increased the minimum age to wiggle to avoid re-wiggling migrated storage servers. (PR #11684)

- Added various version vector improvements. (PR #11590), (PR #11599), (PR #11605), (PR #11608), (PR #11620), (PR #11626) and (PR #11631)

- Removed upgrade tests before FDB 6.3. (PR #11662)

## 7.3.49

- Same as 7.3.48 release with AVX enabled.

## 7.3.48

- Added various fdb-kubernetes-monitor improvements. (PR #11456), (PR #11462), and (PR #11488)

- Added more debug information for the fdbcli’s checkall command. (PR #11477)

- Improved distributed consistency checker and updated the documentation. (PR #11496)

- Fixed a known committed version computation when version vector unicast is enabled. (PR #11520)

- Added PeerAddress to all PeerAddr/Peer TraceEvents. (PR #11521)

- Added a dynamic knob CC_PAUSE_HEALTH_MONITOR to disable gray failure recoveries. (PR #11526)

- Changed the default base Docker image to RockyLinux9. (PR #11549)

- Fixed a storage server crash when there are conflicting physical shard moves. (PR #11485)

- Fixed a rare cluster controller crash when serving status requests. (PR #11580)

## 7.3.47

- Same as 7.3.46 release with AVX enabled.

## 7.3.46

- Added exponential backoff when restarting fdbserver processes in fdb-kubernetes-monitor. (PR #11453)

## 7.3.45

- Same as 7.3.44 release with AVX enabled.

## 7.3.44

- Fixed negative free disk space in RkUpdate metrics. (PR #11413)

- Corrected the path where the fdb-kubernetes-monitor copies the binary into when running in sidecar mode. (PR #11439)

## 7.3.43

- Same as 7.3.42 release with AVX enabled.

## 7.3.42

- Fixed a segfault when tlog encounters a platform_error. (PR #11406)

- Fixed an assertion failure of cluster controller when waiting for recovery. (PR #11402)

- Fixed a global config bug that causes client latency metrics to be missing after upgrade. (PR #11400)

- Added a knob for shard merge parallelism and added logs for max shard size. (PR #11389)

- Updated the RocksDB memtable max range deletions knob. (PR #11387)

- Improved visibility when Sharded RocksDB takes a long time to commit. (PR #11362)

- Fixed data move trigger for rebalancing storage queue. (PR #11375)

- Fixed an infinite retry of GRV request bug. (PR #11353)

- Improved distributed consistency checker to continuously run by default and visibility of recruitment errors. (PR #11349)

- Fixed add-prefix and remove-prefix for fdbrestore. (PR #11344)

- Fixed a crash of data distributor when taking a snapshot. (PR #11341)

- Increased visibility of gray failure actions. (PR #11324)

- Increased visibility of CommitProxyTerminated events for failed_to_progress errors. (PR #11315)

## 7.3.41

- Same as 7.3.40 release with AVX enabled.

## 7.3.40

- Upgraded RocksDB to version 8.11.4. (PR #11327)

## 7.3.39

- Same as 7.3.38 release with AVX enabled.

## 7.3.38

- Fixed the detection of private mutations in version vector. (PR #11279)

- Added accumulative checksum feature. (PR #11281) and (PR #11289)

- Added Go tenanting support. (PR #11299)

- Added RocksDB caching knobs. (PR #11312)

- Added RocksDB metrics in status json. (PR #11320)

- Various Sharded RocksDB improvements. (PR #11332)

## 7.3.37

- Same as 7.3.36 release with AVX enabled.

## 7.3.36

- Fixed a DR corruption issue where destination cluster gets no mutations. (PR #11246)

- Added rocksdb direct_io knobs. (PR #11267)

## 7.3.35

- Same as 7.3.34 release with AVX enabled.

## 7.3.34

- Added storage-queue-aware load balancer for data distributor. (PR #11195)

- Added a checksum field in MutationRef. (PR #11193)

- Abort processes when abnormal shutdown is initiated to enable coredumps. (PR #11198)

- Fixed fdbcli’s checkall debug command. (PR #11208)

- Added knobs for enabling RocksDB in-memory checksums for data structures. (PR #11214)

- Fixed calculation of EmptyMessageRatio when version vector was enabled. (PR #11227)

- Added consistency checker urgent mode. (PR #11228)

- Disabled compaction compaction for newly added shard and fixed block cache usage reporting. (PR #11247)

- Fixed setting perpetual_storage_wiggle_engine is considered as wrongly configured. (PR #11252)

- Added a max range deletions knob before flush. (PR #11243)

## 7.3.33

- Same as 7.3.32 release with AVX enabled.

## 7.3.32

- Enabled data distributor verbose tracing by default. (PR #11159)

- Added RocksDB file checksum knobs. (PR #11171)

- Fixed a regression that caused rebalance data moves to be scheduled at a much lower frequency. (PR #11167)

- Added throttling of RocksDB flushes when memtable layers exceed a limit. (PR #11182)

- Added a trace event when a log router cannot find its primary peek location. (PR #11180)

- Upgraded RocksDB version to 8.10.0. (PR #11175)

- Added periodical logging for RocksDB compaction reasons. (PR #11186)

## 7.3.31

- Same as 7.3.30 release with AVX disabled.

## 7.3.30

- Fixed an issue in Ratekeeper that could cause StorageQueueInfo loss. (PR #11124)

- Fixed checkall command for large shards. (PR #11121)

## 7.3.29

- Same as 7.3.28 release with AVX disabled.

## 7.3.28

- Fixed a race condition in kvstorerockddb when accessing latencySample. (PR #11114)

- Added support for physical shard move. (PR #11086)

- Disabled CPU based team selection in rebalance data move. (PR #11110)

## 7.3.27

- Same as 7.3.26 release with AVX disabled.

## 7.3.26

- Updated RocskDB version to 8.6.7. (PR #11043)

- Changed RocksDB rate limiter to all IO. (PR #11016)

- Added `fdb_c_apiversion.g.h` to OSX package. (PR #11042)

- Added write traffic metrics to ddMetricsGetRange. (PR #10998)

- Fixed several locality-based exclusion bugs. (PR #11024), (PR #11007), and (PR #11005)

- Fixed the null pointer issue in proxy setup. (PR #11039)

## 7.3.25

- Same as 7.3.24 release with AVX enabled.

## 7.3.24

- Released with AVX disabled.

- Added support for large shard. (PR #10965)

- Fixed perpetual wiggle locality match regex. (PR #10973)

- Added a knob to throttle perpetual wiggle data move. (PR #10957)

## 7.3.23

- Same as 7.3.22 release with AVX enabled.

## 7.3.22

- No code change, only version bumped.

## 7.3.21

- Same as 7.3.20 release with AVX enabled.

## 7.3.20

- Added data move throttling for perpetual wiggle. (PR #10957)

- Fixed AuditStorage to check all DC replicas. (PR #10966)

- Added large shards support. (PR #10965)

- Fixed bugs for locality-based exclusion. (PR #10946)

- Fixed various memory-related bugs. (PR #10952) and (PR #10969)

- Fixed perpetual wiggling locality match regex. (PR #10972)

## 7.3.19

- Same as 7.3.18 release with AVX enabled.

## 7.3.18

- Released with AVX disabled.

- Changed Event to use std::latch from c++20. (PR #10929)

- Added support for preinstalled libfmt. (PR #10929)

- Changed perpetual_storage_wiggle_locality database option to take a list of localities. (PR #10928)

- Fixed the trailing newline in c++filt output for Implib.so. (PR #10921)

- Stopped tracking a storage server after its removal. (PR #10921)

- Fixed Ratekeeper for not accounting dropped requests. (PR #10921)

- Fixed a memory leak of cluster controller’s status json invocation. (PR #10921)

- Fixed cluster controller from issuing many point reads for storage metadata. (PR #10906)

- Fixed multiple issues with AuditStorage. (PR #10895)

- Disabled storage server read sampling by default. (PR #10899)

## 7.3.17

- Same as 7.3.16 release with AVX enabled.

## 7.3.16

- Released with AVX disabled.

- Added location_metadata fdbcli to query shard locations and assignements. (PR #10428)

- Added degraded/disconnected peer recovery in gray failure. (PR #10541)

- Added replica and metadata audit support. (PR #10631)

- Added a SecurityMode for data distributor where data movements are not allowed but auditStorage is enabled. (PR #10660)

- Remove SS entries from RateKeeper once it is down. (PR #10681)

- Added the support of manual compaction for Sharded RocksDB. (PR #10815)

## 7.3.0

### Fixes

- Fixed a consistency scan infinite looping without progress bug when a storage server is removed. (PR #9154)

- Fixed a backup worker assertion failure. (PR #8886)

- Fixed a DD stuck issue when the remote data center is dead. (PR #9338)

- Exclude command will not perform a write if the addresses being excluded are already excluded. (PR #9873)

- ConsistencyCheck should finish after complete scan than failing on first mismatch. (PR #8539)

### Bindings

- Allow Ruby bindings to run on arm64. (PR #9575)

### Performance

- Improvements on physical shard creation to reduce shard count. (PR #9067)

- Older TLog generations are garbage collected as soon as they are no longer needed. (PR #10289)

### Reliability

- Gray failure will monitor satellite TLog disconnections.

- Storage progress is logged during the slow recovery. (PR #9041)

- Added a new network option fail_incompatible_client. If the option is set, transactions are failing with fail_incompatible_client in case of an attempt to connect to a cluster without providing a compatible client library

### Status

### Other Changes

- Added MonotonicTime field, based on system clock, to CommitDebug trace events, for accurate timing.

- Added a new function fdb_database_get_client_status providing a client-side connection status information in json format.

- Added a new network option retain_client_library_copies to avoid deleting the temporary library copies after completion of the process. This may be useful in various debugging and profiling scenarios.

- Added a new network option trace_initialize_on_setup to enable client traces already on fdb_setup_network, so that traces do not get lost on client configuration issues

- TraceEvents related to TLS handshake, new connections, and tenant access by authorization token are no longer subject to suppression or throttling, using an internal “AuditedEvent” TraceEvent classification

- Usage of authorization token is logged as part of AuditedEvent, with 5-second suppression time window for duplicate entries (suppression time window is controlled by AUDIT_TIME_WINDOW flow knob)

### Earlier release notes

- 7.2 (API Version 720)

- 7.1 (API Version 710)

- 7.0 (API Version 700)

- 6.3 (API Version 630)

- 6.2 (API Version 620)

- 6.1 (API Version 610)

- 6.0 (API Version 600)

- 5.2 (API Version 520)

- 5.1 (API Version 510)

- 5.0 (API Version 500)

- 4.6 (API Version 460)

- 4.5 (API Version 450)

- 4.4 (API Version 440)

- 4.3 (API Version 430)

- 4.2 (API Version 420)

- 4.1 (API Version 410)

- 4.0 (API Version 400)

- 3.0 (API Version 300)

- 2.0 (API Version 200)

- 1.0 (API Version 100)

- Beta 3 (API Version 23)

- Beta 2 (API Version 22)

- Beta 1 (API Version 21)

- Alpha 6 (API Version 16)

- Alpha 5 (API Version 14)