Skip to content
Release Radar

Archival restoration tool for PostgreSQL, MySQL and more

v3.0.9211 days after v3.0.8
View on GitHub

Part of Databases

Release history

v3.0.9

CompareGitHub

๐Ÿš€ WAL-G Release Highlights

๐Ÿ”ง CI & Infrastructure

  • ๐Ÿ›  Centralized GOEXPERIMENT=jsonv2 management
  • ๐Ÿ›ก Added govulncheck workflow for vulnerability scanning
  • ๐Ÿง Migrated tests (OrioleDB, Cloudberry, MySQL, MariaDB) to Ubuntu 22.04
  • ๐Ÿงน Cleaned CI caches & optimized runners
  • โšก Cached BuildKit layers across commits for faster builds

๐Ÿ“ฆ Dependencies & Updates

  • ๐Ÿ”’ libsodium โ†’ 1.0.22
  • ๐Ÿณ docker/docker โ†’ moby/moby v28.5.2
  • ๐ŸŒ cloudflare/circl โ†’ v1.6.3
  • ๐Ÿ“ก grpc โ†’ 1.82.1
  • ๐Ÿ˜ pgx/v5 โ†’ 5.10.0
  • ๐Ÿ”„ redis/go-redis/v9 โ†’ 9.22.0
  • ๐Ÿ“Š opentelemetry โ†’ v1.43.0 (CVE fixes)
  • ๐Ÿค– Multiple GitHub Actions & SDK bumps via dependabot

๐Ÿ—„๏ธ PostgreSQL / Greenplum / Cloudberry

  • ๐Ÿ†• Support for PG15 base backup protocol
  • ๐Ÿž Fixed race conditions in perf tests
  • โณ Added timeline switch check
  • ๐Ÿ”ข Converted system_identifier to uint64 + tests
  • ๐Ÿ“ˆ Incremental backups for Cloudberry PAX storage
  • โœ… Greenplum incremental backup fixes

๐Ÿฌ MySQL / MariaDB

  • ๐Ÿณ Productionโ€‘ready MariaDB PITR Docker image
  • ๐Ÿ”‘ Added GTID support for MariaDB
  • โญ Optimized replication: skip already applied transactions
  • ๐Ÿงฉ Refactored integration tests into a single Dockerfile

๐Ÿƒ MongoDB

  • ๐Ÿ“‚ Improved oplog catchโ€‘up & archiving
  • ๐Ÿท New flag --add-user-data for binaryโ€‘backup
  • โšก Optimized oplog listing for large clusters
  • ๐Ÿ”ง Fixed storageApplier & replay catchโ€‘up behavior
  • ๐Ÿ“Š Added Top 100 Namespaces Metadata

โš™๏ธ General Improvements

  • ๐ŸŒ New env var: AZURE_BLOB_STORE_API_VERSION
  • ๐Ÿ”„ Retry for S3 HTTP 409/499 errors
  • ๐Ÿ—‚ Versioning support in storage utilities
  • ๐Ÿ“ˆ New metric: walg_s3_upload_time
  • ๐Ÿ“œ Logging refactor: switched exporter to slog
  • ๐Ÿ” Added wal-g st stat command for object metadata

๐Ÿงช Testing & Debugging

  • โœ… Unit tests for ConfigureStorage, ConfigureLimiters, archive status manager
  • ๐Ÿž Fixed flaky tests (transfer/handler, backup)
  • ๐Ÿ–ฅ PoC: ARM Docker tests
  • ๐Ÿง Podmanโ€‘friendly test improvements

๐Ÿณ Docker

  • ๐Ÿชถ Slim base images & cache optimization
  • ๐Ÿ”„ Brotli moved to multiโ€‘stage builder
  • ๐Ÿงน Removed deprecated ENV & apt configs
  • ๐ŸชŸ Support for uncompressed archives on Windows
  • ๐Ÿ“ฆ Standardized MySQL & Redis test builds

โœจ This release makes WAL-G faster, safer, and more versatile: stronger database support, streamlined CI/CD, new metrics, and critical bug fixes.


New Contributors

Full Changelog: https://github.com/wal-g/wal-g/compare/v3.0.8...v3.0.9

Major features of this stable release are:

  • Infrastructure & CI

    • Switched tests and workflows to ubuntu-latest due to 20.04 deprecation.
    • Updated Go version to 1.24 and refreshed linters (golangci-lint v2.0+).
    • Multiple dependency upgrades (Azure SDK, OAuth2, crypto, JWT, gRPC, pgx, compress, etc.).
  • PostgreSQL / Greenplum / Cloudberry

    • Added DIRECT-IO Reader for PostgreSQL.
    • New commands for continuous recovery in GPDB/CBDB.
    • Fixes for WAL page size, block size, checksums, and Cloudberry test stability.
    • Support for xid64 patch page layout.
  • Redis

    • Enhanced support for sharded Redis backups/restores: slots info, hostname/config parsing, validation fixes.
  • MongoDB

    • Introduced partial restore and partial oplog replay.
    • Improved metadata handling and collection in separate goroutines.
    • Dropped tests for deprecated Mongo versions.
  • MySQL

    • Added binlog-list command and reconnection to binlog server.
    • Expanded unit tests for metadata fetch/set.
  • Storage Backends

    • New implementation for Alibaba Cloud OSS with multipart upload support.
    • Fixes for S3 client headers, batch deletion, SSE-C bug, and versioning behavior.
    • Added S3_DELETE_BATCH_SIZE and none compression method.
  • Exporter & Monitoring

    • Created Prometheus exporter with improved metrics (backup size, reduced binary size, better scrape intervals).
    • Performance optimizations in WAL-G exporter.
  • Other Fixes

    • Improved error handling (e.g., corrupted WAL metadata, connection refused).
    • Added retries for restore point creation.
    • Various test workflow improvements and cleanup.

What's Changed

โ€ฆ(truncated)

Major features of this stable release are:

  • From Greenplum's perspective, the following updates are beneficial: Commit 92e3995 introduces a --force-delete flag to the delete command. This enhancement enables users to effectively remove backups, even in cases where earlier deletion attempts were unsuccessful.

  • Commit 094bcb4 for Cloudberry: Added support for recognizing 'Apache Cloudberry' in the version() command, facilitating users in working with Cloudberry from the trunk branch.

  • Commit 44e4386 enhances the supply chain, resolving issues flagged by the Trivy security scanner.

What's Changed

New Contributors

Full Changelog: https://github.com/wal-g/wal-g/compare/v3.0.5...v3.0.7

First stable release in 2025. Major features of this stable release are:

  • Cloudberry database support
  • MongoDB 8.0 support + restore for sharded cluster with PiTR
  • PostgreSQL - fix wal-g copy

Additionally this release contains a bunch of bugfixes and documentation updates. For MySQL we fixed regression (all versions since v3.0.0 affected) that leads to broken backups to be marked as good ones. We strongly recommend MySQL users to upgrade.

What's Changed

New Contributors

Full Changelog: https://github.com/wal-g/wal-g/compare/v3.0.4...v3.0.5

Major feature of this release is full support for OrioleDB. WAL-G supported block-level incremental backups since v0.1.3, but it previously treated OrioleDB data as a collection of unknown files. Now WAL-G understands if OrioleDB is installed into cluster and makes efficient backup copies of OrioleDB data. Thanks to @homper and other Supabase engineers.

Additionally, this release includes two new Postgres commands catchup-send and catchup-receive. These commands are useful when you need to bring a lagging replica up to date without pushing a new backup to the storage. In essence, they work like pg_rewind but in reverse. Perhaps we should rename them to pg_wind. Thanks to @vbp1 for drawing my attention to the problem of current catchup implementation and architecting new design.

We've also added aof-based backups for redis (@kronwerk).

This release also mitigates several CVEs in dependencies (https://github.com/wal-g/wal-g/pull/1675 https://github.com/wal-g/wal-g/pull/1715) and fixes assorted bugs. Thanks to all the WAL-G community :)

What's Changed

New Contributors

Full Changelog: https://github.com/wal-g/wal-g/compare/v3.0.2...v3.0.3

Hello everyone!

This is a much-anticipated release. In the future, we will strive to avoid accumulating such a large number of changes. We will code frequently, ship frequently, and release frequently!

Noteworthy Changes

  • Every database engine now benefits from failover storage. This technique can save the day if one of the storage systems goes down. However, do not forget to monitor them anyway.
  • For Postgres, we have a WAL archiving daemon available. Its primary purpose is to improve the efficiency of parallel archiving. Additionally, WAL-G supports the partial restoration of a cluster. If you have large, unnecessary tables, you can exclude them from the restoration process, the Postgres will skip over the WAL records for these tables.
  • Greenplum's PITR (Point-in-Time Recovery) is undergoing its maturation process. Partial restore is supported in a similar way to Postgres. We now have tools to verify the integrity of AO\AOCS files in storage without actually restoring backups. This technique is necessary to ensure developers can sleep well, as Greenplum backups are relatively new, and extra precautions need to be taken to ensure they are safe and reliable.
  • MongoDB backups can now benefit from binary backups, which significantly reduce the impact of backups on a running workload.
  • MySQL now supports incremental backups, also known as delta backups. However, this feature is still in beta mode and the API may change in the future.
  • Also, we now have beta support for etcd. Changes necessary for real PITR have not yet been merged into etcd, and can be found at https://github.com/etcd-io/etcd/pull/17233

Detailed changes log

โ€ฆ(truncated)