Releases: PeerDB-io/peerdb
Release list
v0.36.0
Caution
PeerDB UI on this version is vulnerable to CVE-2025-66478
Important
Please pause all mirrors before upgrading to this version!
This version includes a code migration which can cause your mirrors to go non-deterministic and difficult to recover if they're running during deployment.
What's Changed
- Reapply "Store and migrate Postgres table OIDs to catalog (#3704)" (… by @jgao54 in #3730
- track uncompressed bytes for mongodb connector by @jgao54 in #3715
- support Avro uncompressed - improvements by @jgao54 in #3739
- better error handling for getPartitions by @jgao54 in #3742
- notify connectivity error by @jgao54 in #3748
- Notify on auth failure for mongo connector by @jgao54 in #3747
- Dark mode and UI fixes by @ilidemi in #3736
- Don't warn on Mongo variant unsupported by @ilidemi in #3744
- Display more precise durations in batches table by @ilidemi in #3743
- make a catch-all for mongo pool cleared errors by @jgao54 in #3745
- pg qrep: config for avro schema nullable, debug logging by @ilidemi in #3750
- Add missing fields from table addition by @ilidemi in #3755
- improve schema validations gaps by @jgao54 in #3752
- Refactor SchemaTable -> QualifiedTable (and move to pkg) by @jgao54 in #3758
Full Changelog: v0.35.5...v0.36.0
v0.35.5
Caution
PeerDB UI on this version is vulnerable to CVE-2025-66478
What's Changed
- feat: upgrade
docker-compose.ymlstable image tags by @github-actions[bot] in #3664 - Feat: Panic Middleware by @Br0wnHammer in #3680
- chore(deps): update github-actions dependencies by @renovate[bot] in #3711
- Classify PG18 slot error by @ilidemi in #3714
- ignore ShutdownInProgress errors by @jgao54 in #3713
- check wal_level first in postgres by @jgao54 in #3716
- fix(mysql): only error on minimal binlog_row_metadata if supported by @heavycrystal in #3717
- Make safe_wal_size metric optional by @ilidemi in #3724
- Halve CDC channel size by @ilidemi in #3725
- Make ClickHouse client name configurable by @ilidemi in #3726
- improve confusing error message by @jgao54 in #3723
- Classify Mongo error related to incomplete read of message header by @Amogh-Bharadwaj in #3719
- Store and migrate Postgres table OIDs to catalog by @Amogh-Bharadwaj in #3704
- fix(bigquery): fix GCS bucket listing in PullQRepObjects by @jkaflik in #3722
- Revert "Store and migrate Postgres table OIDs to catalog (#3704)" by @jgao54 in #3728
New Contributors
- @Br0wnHammer made their first contribution in #3680
Full Changelog: v0.35.4...v0.35.5
v0.35.4
Caution
PeerDB UI on this version is vulnerable to CVE-2025-66478
What’s Changed
- Revert "Better metrics for CDC store (#3700)" (#3712) @ilidemi
- chore(deps): update dockerfile dependencies (#3710) @renovate[bot]
- [snowflake] Feature Flag for skipping Avro compression algorithm (#3707) @alexstoick
v0.35.3
Caution
PeerDB UI on this version is vulnerable to CVE-2025-66478
What’s Changed
- Better metrics for CDC store (#3700) @ilidemi
- chore(deps): update docker-compose dependencies (#3709) @renovate[bot]
- Add more WAL metrics (#3685) @ilidemi
- Classify too large string for FixedString (#3699) @ilidemi
- detect when binlog_row_metadata becomes minimal (#3698) @jgao54
- Add user-facing logging to identify large tables (#3686) @jgao54
- Revert "Support TIME64 data type for ClickHouse replication (#3691)" (#3696) @jgao54
- Support TIME64 data type for ClickHouse replication (#3691) @NehharShah
- better logging around mysql versioning (#3693) @jgao54
- Improve initial load partitioning logic readability in PG (#3687) @jgao54
- Classify PG pfree invalid pointer error (#3692) @ilidemi
- Update dependencies (#3690) @ilidemi
- Increase QRep fetch size (#3689) @ilidemi
- fix(bigquery): fix down-scoped token prefix path (#3688) @jkaflik
- Set wal_sender_timeout=120s on CDC startup (#3682) @ilidemi
- interrupted query is retryable (#3679) @jgao54
v0.35.2
Caution
PeerDB UI on this version is vulnerable to CVE-2025-66478
What’s Changed
- auth failure should notify connectivity (#3675) @jgao54
- mongo: measure event size instead of metered dialer (#3669) @jgao54
- chore(deps): update temporalio/ui docker tag to v2.43.2 (#3674) @renovate[bot]
- chore(deps): update golang:1.25-alpine docker digest to d3f0cf7 (#3673) @renovate[bot]
- Fix unused code warnings from rust-analyzer (#3672) @ilidemi
- Nudge connection closing via explicit func (#3671) @ilidemi
- follow existing convention: close with logging (#3668) @jgao54
v0.35.1
Caution
PeerDB UI on this version is vulnerable to CVE-2025-66478
What's Changed
- bug fixes for NormalizeRecords by @jgao54 in #3663
- update buf plugin versions by @heavycrystal in #3661
- fix(ui): import @bufbuild/protobuf by @heavycrystal in #3665
- Run UI/nexus CI on buf.gen.yaml changes by @ilidemi in #3666
- make sure dst connection is closed after use by @jgao54 in #3667
Full Changelog: v0.35.0...v0.35.1
v0.35.0
Caution
PeerDB UI on this version is vulnerable to CVE-2025-66478
Breaking changes
- We removed the
PEERDB_CLICKHOUSE_NORMALIZATION_PARTSsetting which historically allow us to chunk our normalization query into parts to address OOM issues for tables with very high volume of updates per batch during CDC. This setting is not enabled by default, and was used sparingly by us. We discovered that if used in conjunction withPEERDB_CLICKHOUSE_PARALLEL_NORMALIZE, could trigger a race condition that results in data loss during replication. The setting that is more useful for addressing OOMs isPEERDB_S3_BYTES_PER_AVRO_FILE, which determines the staging Avro file size limit.
New features
- We added support for Amazon DocumentDB 5.0 by testing its change stream API and removing validation checks that were blocking DocumentDB peer setup.
Changelog
- ui: update dependencies by @serprex in #3638
- fix: trigger GetSourceVariant only during ScheduledTasks by @heavycrystal in #3639
- feat: upgrade
docker-compose.ymlstable image tags by @github-actions[bot] in #3636 - skip unsupported validations for documentdb by @jgao54 in #3635
- make required check generic by @jgao54 in #3643
- fix flow test complete check by @jgao54 in #3652
- chore(deps): update github/codeql-action digest to 0499de3 by @renovate[bot] in #3648
- chore(deps): update node.js to f36fed0 by @renovate[bot] in #3649
- chore(deps): update temporalio/auto-setup:1.29 docker digest to 5b3502a by @renovate[bot] in #3650
- PEERDB_LOG_LEVEL by @serprex in #3647
- improve normalize logic readability by @jgao54 in #3640
- Dev build for PeerDB UI by @ilidemi in #3645
- Speed up dev nexus build by @ilidemi in #3644
- dynamic required job v2 by @jgao54 in #3653
- Add PG18 to CI by @ilidemi in #3641
- [nexus] remove peer_connections by @heavycrystal in #3651
- deprecate PEERDB_CLICKHOUSE_NORMALIZATION_PARTS by @jgao54 in #3654
- [nexus] base64 decode SSH private key before use by @heavycrystal in #3612
- dynamic required job v3 by @jgao54 in #3656
- [postgres] QuoteIdentifier slotName during StartReplication by @heavycrystal in #3658
- Fully remove PEERDB_CLICKHOUSE_INITIAL_LOAD_PARTS_PER_PARTITION by @jgao54 in #3659
- [nexus] create features, disable everything for dev by @heavycrystal in #3646
- PeerDB UI: Better handling of charts and isolate dev changes by @Amogh-Bharadwaj in #3660
Full Changelog: v0.34.8...v0.35.0
v0.34.8
Caution
PeerDB UI on this version is vulnerable to CVE-2025-66478
What’s Changed
v0.34.7
What’s Changed
- chore: update dependencies (#3632) @serprex
- add support for CTID bucketing with snapshotNumPartitionsOverride (#3624) @jgao54
- Codegen: warn on protos out of date (#3631) @ilidemi
- UI: Remove and replace Tremor from the codebase (#3627) @Amogh-Bharadwaj
- feat: upgrade
docker-compose.ymlstable image tags (#3509) @github-actions[bot] - chore(deps): update github-actions dependencies (#3630) @renovate[bot]
- chore(deps): update docker-compose dependencies (#3628) @renovate[bot]
- chore(deps): update dockerfile dependencies (#3629) @renovate[bot]
- classifier: new error code (#3625) @jgao54
- Add time limit for get variant to be 10s (#3622) @iskakaushik
- quote watermark column with non-zero NumPartitionsOverride (#3618) @alon-zeltser-cyera
- drop flow: update status with flow name, not workflow id (#3549) @serprex
- simplify (#3623) @jgao54
- fix(deps): update dependency material-symbols to ^0.38.0 (#3621) @renovate[bot]
- chore(deps): update dockerfile dependencies (#3619) @renovate[bot]
- chore(deps): update github-actions dependencies (#3620) @renovate[bot]
- make settings versioning more robust (#3614) @jgao54
- Only set json_type_escape_dots_in_keys if CH version > 25.8 (#3611) @Amogh-Bharadwaj
- Decouple FlowConnectionConfigs from API (#3605) @ilidemi
- Error out instead of panic when tuple has more columns than expected (#3608) @ilidemi
- Improve how JSON key containing dots are handled (#3606) @jgao54
- Fix pubsub cleanup (#3609) @ilidemi
- Emit errors in RenameTables and a few places in table removal flow (#3470) @Amogh-Bharadwaj
- [mysql] fix classify for Aurora ZDP error (#3603) @heavycrystal
- Classify invalid parameter value for synchronized_standby_slots (#3602) @Amogh-Bharadwaj
- BigQuery source (#3558) @jkaflik
- chore(deps): update github-actions dependencies (#3600) @renovate[bot]
- chore: update dependencies (#3601) @serprex
- chore(deps): update docker-compose dependencies (#3598) @renovate[bot]
- chore(deps): update dockerfile dependencies (#3599) @renovate[bot]
v0.34.6
What’s Changed
Bugfix/breaking change: Mirror names must now be unique across all mirror types (#3493).
- What changed: Previously, CDC mirrors assumed unique naming without enforcing it. Now it is enforced and QRep mirrors follow the same rule for consistency. This change makes mirror creation more reliable - if your network drops during setup, you can safely retry without creating duplicates.
- Migration: No action needed! The database migration automatically handles any existing duplicates, keeping only the most recent mirror.
- Change 30 min retry policies to 20 min (#3597) @ilidemi
- Reduce error noise from log retention check (#3595) @ilidemi
- Query for PG Aurora variant without errors (#3596) @ilidemi
- Move json null logic inline (#3594) @ilidemi
- avoid converting json null to sql null (#3593) @serprex
- emit metric for source peer variant (#3587) @heavycrystal
- Add
gocacheto speed up local Docker builds (#3585) @alexstoick - mongo error clean up (#3591) @jgao54
- Fix CI (#3592) @ilidemi
- dwh: default time (#3578) @serprex
- Do not use slow query from
INFORMATION_SCHEMA(#3573) @alexstoick - misc fixes and timeout tuning (#3582) @heavycrystal
- Flow API: Add nil check in create CDC request (#3586) @Amogh-Bharadwaj
- fix(ci): another attempt for contributors (#3584) @iamKunalGupta
- fix(ci): for contributors - prevent duplicate runs (#3583) @iamKunalGupta
- feat(codecov): upload test results (#3580) @iamKunalGupta
- minor logging fixes (#3581) @heavycrystal
- fix: allow external contributors to run wfs (#3579) @iamKunalGupta
- Classify PG IdleInTransactionSessionTimeout as recoverable (#3575) @ilidemi
- [classifier] processMessage CDC errors (#3576) @heavycrystal
- handle infinite time (#3572) @serprex
- Ensure PeerDB UI preserves existing default delete behaviour or soft-delete (#3574) @Amogh-Bharadwaj
- Clickhouse SetupNormalize: changes to table definition, hard delete option (#2008) @Amogh-Bharadwaj
- Retry table already exists error (#3570) @jgao54
- chore: update dependencies (#3560) @serprex
- MySQL retryable error (#3571) @jgao54
- feat(classifier): mongo retryable errors should be notify (#3569) @iamKunalGupta
- chore(deps): update github-actions dependencies (#3566) @renovate[bot]
- Add notification for pg internal error (#3564) @jgao54
- drop completed mirror: just delete flow entry (#3556) @serprex
- mongo connector sse error handling (#3561) @jgao54
- move src/dst getPeerType out of cloneTable loop (#3559) @heavycrystal
- Idempotent CDC flow creation (#3493) @ilidemi
- Move shared validations into their own module (#3547) @ilidemi