Skip to content

Releases: wal-g/wal-g

v3.0.0

17 Mar 10:04
4689e3a
Compare
Choose a tag to compare

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 etcd-io/etcd#17233.

Detailed changes log

Read more

2.0.2-rc1

16 Nov 11:51
2f2bfd3
Compare
Choose a tag to compare
2.0.2-rc1 Pre-release
Pre-release

This is a pre-release to test the aws iam roles config setting.

v2.0.1

25 Aug 09:31
b7d53dd
Compare
Choose a tag to compare

Release notes:
This release mainly consists of various bug fixes and improvements.

Common:

  • Add arm(aarch64) build pipeline for ubuntu20.04 binaries (#1304)

PostgreSQL:

  • Add warning output on backup-fetch retries (#1325)
  • Remove redundant check for --without-files-metadata flag (#1321)
  • PostgreSQL 15 Support (#1319)
  • Fix of deleting WAL-E backups (#1292)

MySQL/MariaDB:

  • Fix a regression in MariaDB backup-push handler (#1313)
  • Binlog cache fixes (#1281)

Greenplum:

  • Optimize delete handler (#1300, #1302)
  • Optimize storage listing queries during the backup push (#1312)
  • Use AO files metadata instead of backup references (#1308)
  • Refactor AO/AOCS storage metadata queries (#1280, #1278)

Storages:

  • Azure authentication using the default credential chain (#1282)
  • Update aws-sdk-go to v1.44.7 (#1262)
  • Add check read/write to storage tools (#1275)

v2.0.0

20 May 10:42
1eb88a5
Compare
Choose a tag to compare

Release notes:

This release contains a huge amount of new features, bug fixes, and performance improvements. It is worth noting that v2.0 Postgres delta backups are not backward-compatible with the pre-2.0 versions. It means that the v2.0 delta backup can't be restored with the v1.1 or earlier versions. Also, this release introduces the initial support for Greenplum physical backups.

WAL-G for MySQL now supports the parallel backup-push/backup-fetch and has an optimized binlog upload mechanism. WAL-G for SQLServer now supports the backup encryption and compression as well as the external storage backup import/export.

Common:

  • Update lz4, brotli #1165, #1179
  • Multiple libsodium fixes #1087, #1227
  • Bash/zsh shell completions #1250, #1252
  • Add a 'flags' subcommand #1033
  • Disable CPU Limits in turbo mode #1121
  • Metrics forwarding via statsd protocol #1240

SQLServer:

  • Add SQLServerDBConcurrency setting to limit concurrent database operations #1067
  • Add LATEST keyword handling #1110
  • Add norecovery option for backup log command #1115
  • Add SQLServer compression / encryption #1161
  • Backup import and export to the external storage #1184

Postgres:

  • Add CopyComposer for full backups optimization using remote copy API #1012
  • Add streamed JSON sentinel serialization to decrease memory usage #1103
  • Extract heavy files and tarfilesets from the backup sentinel #1114
  • Introduce WALG_TAR_DISABLE_FSYNC to skip fsync during backup-fetch #1144
  • Add reduced memory usage backup mode #1101
  • Improvements and fixes for remote backup #1175
  • Add pgBackRest backups restore support (beta) #1139, #1202
  • Add 'wal-restore' command #977
  • Add 'delete garbage' command #1217, #1218
  • Return custom error code when WAL file does not exist #1195
  • Add WALG_ALIVE_CHECK_INTERVAL to fail backup on Postgres process failure #1260
  • Reformat LSN output #1259

MySQL:

  • Add wal-g binlog-analyze #1085
  • Check binlog GTIDs before pushing binlogs to S3 #1190
  • Add --check-gtids to wal-g binlog-push #1085
  • Add --until-binlog-last-modified-time option to wal-g-mysql binlog-replay #1154
  • Improve MySQL restore performance #1131
  • Allow backups on cascade replicas #1168
  • Fix mysql backup of a lagging replica #1223
  • Make mysql bilong-push status observable to 3rd party tools #1229

Greenplum:

  • Initial physical backups support for GPDB 6.19.2+. API might change in the future versions.

Storages:

  • Add get/put/rm/cat to storage tools #1069, #1164
  • S3: Add download by range #1083
  • S3: Add connection reset retries #1137
  • S3: Add WALG_S3_MAX_RETRIES setting #1148
  • S3: Fix S3_LOG_LEVEL setting #1158
  • S3: AWS authentication fixes #1209
  • S3: Yandex Cloud session token auth support #1213
  • SSH: Ensure trailing delimiter in the storage prefix #1130
  • Azure: Switch to the recommended azblob SDK #1135, #1171
  • Azure: Fix ListFolder never returning error #1208
  • Swift: Ignore files that were not found during ListFolder #1129

v2.0.0-rc1

18 Feb 11:30
4ef9f23
Compare
Choose a tag to compare
v2.0.0-rc1 Pre-release
Pre-release

This is a pre-release to test S3 authentication with mechanisms other than key/secret.

v1.1.3-rc

09 Dec 12:59
52f990f
Compare
Choose a tag to compare
v1.1.3-rc Pre-release
Pre-release

This pre-release introduces the Greenplum physical backups support.

v1.1.2-rc

26 Nov 14:00
6af461f
Compare
Choose a tag to compare
v1.1.2-rc Pre-release
Pre-release

This pre-release introduces the S3_LOG_LEVEL setting to help with debugging the S3 storage interaction issues.

v1.1.1-rc

26 Nov 13:59
da40fef
Compare
Choose a tag to compare
v1.1.1-rc Pre-release
Pre-release

This is a pre-release intended to test the s3 connection reset retries fix (#1137).

v1.1

12 Aug 06:56
cadf598
Compare
Choose a tag to compare

Some interesting features/fixes:

  • Include libsodium in the GitHub release builds. Exit with failure if libsodium is requested but WAL-G was not compiled with libsodium support #1062 CVE-2021-38599
  • UserData is now required to be a valid JSON #1049
  • backup-list now sorts backups by the astronomical time of the completition #907

Postgres:

  • .history files overwrite prevention fix #1052
  • wal-verify can now be run from a standby #1014
  • wal-verify now ignores the permanent backups #1014, #1002

MongoDB:

  • Add support for MongoDB 5.0 #1041

SQLServer:

  • Fix MSSQL driver import #1038

MySQL:

  • Add --turbo flag to disable limiters #1027
  • Fix --detailed backup-list bug #1026
  • Add --until flag to binlog-push #1005

Redis:

  • Add 6.2 support & redis-cli bug workaround #1022

Storages

  • S3: customer SSE key support #1042 (wal-g/storages#48)
  • Azure: support AZURE_STORAGE_SAS_TOKEN without the leading '?' #1056
  • Azure: disable the unnecessary syslog writes #1058

v1.0

31 May 12:36
2611d11
Compare
Choose a tag to compare

Release notes:

This time we decided to bump the number to 1.0 to switch to a common versioning pattern.
WAL-G 1.0 is compatible with prior versions (v0.2.0+). This might change with later releases.
Also, WAL-G 1.0 can restore WAL-E backups and WALs.
Good news for non-PostgreSQL databases: WAL-G is now production-ready for MS SQL, MySQL databases, meanwhile the API can be changed in future releases. MongoDB and Redis support is in the beta stage.

Some interesting features/fixes:

  • #780 PostgreSQL remote backups
  • #905 Improve compatibility with PostgreSQL 13, introduced WALG_PREFETCH_DIR option
  • #824 New option was added to wal-verify, now it requires an argument timeline|integrity
  • #903 It's now not allowed to create non-permanent delta backups from permanent backups
  • #842 Fix compatibility with S3 implementations that do not support ListObjectsV2
  • #950 It's now again possible to tell WAL-G to rename .ready files to .done directly
  • #898, #962 WAL prefetch is now slightly faster
  • #858 Catchup-list command to list delta backups taken specifically for catchup
  • #847 Support for Yandex Cloud KMS
  • #817, #833 Multipart retries for GCS storage
  • #873 Support for AzureUSGovernmentCloud, AzureChinaCloud, AzureGermanCloud
  • #899 Add metadata for WAL files
  • #913, #917 New option to delete single backup for PostgreSQL
  • Add Redis backups. Now we have Redis support with backup-fetch, backup-push, backup-list and delete commands. For full info see Redis.md
  • Add MySQL catchup mode: allow replay binlogs while uploading new ones
  • Add SQLServer single database restore with renaming
  • Huge amount of bug fixes, tests and improvements for Redis/MongoDB/SQLServer/etc

Thanks!