Releases: signal18/replication-manager
Releases · signal18/replication-manager
Release list
v3.1.39
Highlights
Monitoring stability — repman no longer self-poisons on its own logs (#1666)
- The dbjob now persists its stream offset — no more re-streaming the whole DB log every cycle (the ~100× collected-log inflation).
- Fetched DB logs are tailed from EOF — no re-parsing the whole file on restart.
- All repman-side logs always rotate + gzip + retain by size/count.
- Bounded PFS snapshot retention —
monitoring-pfs-snapshot-retention-days(default 2).
Reduced load on monitored databases
- #1651 / #1652 — fixed a MariaDB Performance-Schema digest capture that was pathologically expensive and hammered monitored databases. Adds a master
monitoring-performance-schematoggle, a configurable queries interval, and proper session isolation. - #1656 — the configurator now floors every allocated storage-engine buffer at 128M (fixes a case where a buffer pool could be provisioned at 0M and take the database down).
High availability / arbitrator
- #1645 — arbitrator: multi-host support, bounded backend health/ping timeouts, and failover of backend DB connections.
Stability & resource leaks
- #1657 — fixed a goroutine leak.
- #1639 / #1640 / #1641 / #1643 — app health checks now refresh asynchronously; fixed leaked app-check HTTP connections; added per-app observability + staleness tracking; avoided marshal races.
- #1647 — bounded DNS hostname resolution + configurable DNS timeout (avoids resolution hangs).
- #1654 — fixed WARN0190/WARN0191 alert flapping (rejoin-catalog states added to
pstates30). - #1646 — removed schema-monitoring debug logs that flooded the log.
Fixes
- #1637 / #1638 — correct privilege matching for subnet-mask notation (
'user'@'ip'/netmask). - #1649 — DB log-rotation cluster-setting toggles.
- #1644 — dashboard proxy start route.
- #1659 — self-heal a legacy
.pull/<cluster>/pluginsdir before the cloud18 pull.
Plugins / nightly
- #1650 — nightly plugins published to the signer channel (fixes WARN0206 on nightly).
Known follow-ups (targeted for v3.1.40)
Log-rotation consolidation (#1671), db-log-rotate flag re-scope (#1667), event-log bounding (#1669), INFO state for un-managed DB-node logs (#1662), log-retention audit (#1668), query-sanitizer cache (#1664).
v3.1.38
What's Changed
- fix(slowlog): stream buffered slow log rows by @caffeinated92 in #1632
- feat(logs): add configurable fetched DB log retention by @caffeinated92 in #1630
- fix(dbhelper): detach InnoDB status submatches by @caffeinated92 in #1635
- chore(deps): bump github.com/getkin/kin-openapi from 0.135.0 to 0.144.0 by @dependabot[bot] in #1631
Full Changelog: v3.1.37...v3.1.38
v3.1.37
What's Changed
- chore(deps): bump axios from 1.16.0 to 1.18.0 in /share/dashboard_react by @dependabot[bot] in #1614
- chore(deps-dev): bump js-yaml from 4.2.0 to 4.3.0 in /share/dashboard_react by @dependabot[bot] in #1616
- docs(cloud18): community registration flow A→Z by @svaroqui in #1621
- docs: split-brain orchestration diagrams + material-procedure guides by @svaroqui in #1605
- harden(auth): bind API auth method to password presence by @svaroqui in #1625
- fix(backup+config): abort backup on dead-volume stall; persist per-cluster settings across restart by @svaroqui in #1622
- feat(gui): expose logical dump/restore thread counts in Backup settings by @svaroqui in #1620
- chore(deps): bump google.golang.org/grpc from 1.79.3 to 1.82.1 by @dependabot[bot] in #1624
- chore(deps): bump immutable from 5.1.5 to 5.1.9 in /share/dashboard_react by @dependabot[bot] in #1623
- fix(monitor): run logical reseed off the tick (unblock monitor during restore) by @svaroqui in #1626
- splitdump: native Go transactional restore (replace mysql --force) + reseed progress by @svaroqui in #1627
Full Changelog: v3.1.36...v3.1.37
v3.1.36
What's Changed
- CI: document GitHub Actions pipeline, harden packaging against bad tags, fix dispatch publish mismatch by @svaroqui in #1615
- fix(cloud18): first-claimant domain ownership + surface real GitLab errors by @svaroqui in #1617
Full Changelog: v3.1.35...v3.1.36
v3.1.35
What's Changed
- fix(reload): preserve live cluster state during config reload by @caffeinated92 in #1612
- fix(crash-pill): stop blinking on a healthy cluster with stale rejoin history by @svaroqui in #1613
Full Changelog: v3.1.34...v3.1.35
v3.1.34
What's Changed
- feat(gui): expose inject-traffic-mode (ddl/dml) + test-inject-traffic in the Proxy tab by @svaroqui in #1603
- chore(deps): bump github.com/oapi-codegen/oapi-codegen/v2 from 2.6.0 to 2.7.1 by @dependabot[bot] in #1604
- fix(peer): health-poll scope + socket-leak, SSO-login root cause, marketplace/for-sale GUI by @svaroqui in #1606
- perf(api): slim /api/clusters (5.9x) + /api/monitor (3.1x) — every user, on-prem included by @svaroqui in #1608
- feat: peer auto-connect + Cloud18 settings UX + config persistence + standby safety by @svaroqui in #1609
- fix(docker/dev): symlink monitor binaries into workdir root at entrypoint by @svaroqui in #1610
- fix(peer): live /api/clusters enrichment must reach the peer/for-sale views by @svaroqui in #1611
Full Changelog: v3.1.33...v3.1.34
v3.1.33
What's Changed
- build(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 by @dependabot[bot] in #1577
- fix(startup): guard nil CheckSumConfig — boot panic when subscription-plan sync saves during InitConfig by @svaroqui in #1593
- fix(startup): allocate CheckSumConfig at construction (durable follow-up to #1593) by @svaroqui in #1595
- fix(crash): recover empty lost-events delta after restart + reconcile stale rejoin verdict (crash-pill state) by @svaroqui in #1597
- docs(swagger): unblock generation and regenerate — rejoin routes + everything since the freeze by @svaroqui in #1598
- feat(schema): add schema advisor plugins by @caffeinated92 in #1600
Full Changelog: v3.1.32...v3.1.33
v3.1.32
What's Changed
- fix(inject): dml traffic marker via proxy create-once (no replication break) by @svaroqui in #1574
- fix(ui): dark-mode contrast fixes (security modal badges + global dashboard alerts) by @svaroqui in #1576
- test(arbitration): minority sim cuts the arbitrator on ALL clusters (realistic whole-DC partition) by @svaroqui in #1579
- fix(arbitration): fire per-cluster reports concurrently every split-tick (keep leases in sync) by @svaroqui in #1578
- fix(rejoin): freeze old master before capturing lost events + show election anchors by @svaroqui in #1575
- fix(app): refresh app templates from git reliably by @caffeinated92 in #1580
- fix(cloud18): sync instance plan from crm by @caffeinated92 in #1581
- Dynamic cluster git import and peer app monitor import by @caffeinated92 in #1582
- feat(ui): improve restic repository settings ux by @caffeinated92 in #1587
- feat(restic): add manual s3 bucket creation by @caffeinated92 in #1588
- Arbitration hardening + catalog-driven rejoin + config-sync simplification + ms-fast shutdown by @svaroqui in #1591
Full Changelog: v3.1.31...v3.1.32
v3.1.31 major regression on arbitration an per cluster header lost in v3.1.30
What's Changed
- Improve active-passive topology detection and ServerStatus rendering by @caffeinated92 in #1572
Full Changelog: v3.1.30...v3.1.31
v3.1.30
What's Changed
- feat: sysbench benchmark history, comparison & h2 WebSocket support by @svaroqui in #1512
- Improve maintenance backup table status display by @caffeinated92 in #1515
- feat(restic): add archive backend selector and SFTP support by @caffeinated92 in #1516
- feat: complete app volume v2 storage mapping support by @caffeinated92 in #1519
- feat: backup concurrency limiter, plugin fixes, dev container by @svaroqui in #1518
- fix(gui): improve restic s3 settings flow by @caffeinated92 in #1521
- feat: workload tags, memory configurator, DBU slider, plugin signing fix by @svaroqui in #1522
- feat(restic): add repo check flow and safer init handling by @caffeinated92 in #1524
- chore(deps-dev): bump vite from 8.0.8 to 8.0.16 in /share/dashboard_react by @dependabot[bot] in #1520
- fix(arbitrator): reuse backend database handle by @tyr1k in #1526
- feat(restic): add repository copy and wipe workflows by @caffeinated92 in #1533
- fix(prov): use unit-aware parser for memory and disk provisioning by @svaroqui in #1532
- fix: don't start scheduler when monitor is in standby mode by @svaroqui in #1530
- feat(apps): add credit-based app sizing and usage UI by @caffeinated92 in #1534
- fix: harden arbitrator docker image and mysql backend by @caffeinated92 in #1535
- feat: extend arbitrator docker packaging and CI by @caffeinated92 in #1536
- feat(ci): add rootless arbitrator Docker build job by @caffeinated92 in #1537
- feat(ci): add nightly arbitrator Docker build by @caffeinated92 in #1538
- fix(app): improve deployment path mappings by @caffeinated92 in #1539
- feat(arbitrator): add health check route by @caffeinated92 in #1540
- fix(app): increase default provisioning resources by @caffeinated92 in #1541
- fix: HTTPS support for arbitrator and config sample corrections by @svaroqui in #1542
- feat: standby config sync and defense-in-depth guards by @svaroqui in #1543
- feat: gate arbitration split-brain on registered subscription by @svaroqui in #1544
- feat: add opt-in docker config bootstrap by @caffeinated92 in #1545
- fix: split-brain master protection uses wrong master by @svaroqui in #1547
- Clean up OpenSVC app provisioning env by @caffeinated92 in #1548
- fix(app): custom route FQDNs, hardened health checks, and dashboard polish by @caffeinated92 in #1549
- fix(app): resolve template placeholders in app env variables on save by @caffeinated92 in #1550
- App OpenSVC config maps and variable placeholder fixes by @caffeinated92 in #1551
- feat: arbitrator URI check, multi-host MySQL, stats page by @svaroqui in #1552
- Fix arbitrator MySQL backend heartbeat and stats queries by @caffeinated92 in #1559
- fix(dbhelper): binlog heartbeat DDL so replicas create the table by @caffeinated92 in #1560
- chore(deps): bump form-data from 4.0.5 to 4.0.6 in /share/dashboard_react by @dependabot[bot] in #1527
- chore(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 in /share/dashboard_react by @dependabot[bot] in #1528
- chore(deps-dev): bump @babel/core from 7.26.9 to 7.29.6 in /share/dashboard_react by @dependabot[bot] in #1529
- feat(dashboard): show external arbitrator status tag in cluster detail by @caffeinated92 in #1563
- Fix arbitration election race and heartbeat reset by @svaroqui in #1564
- Scope backup disk space alerts to backup-relevant paths only by @caffeinated92 in #1566
- chore(deps): bump golang.org/x/net from 0.53.0 to 0.55.0 by @dependabot[bot] in #1569
- refactor(utils): replace hand-written sort.Interface types with generics by @tanji in #1568
- Quiet go-mysql binlog syncer logs and contain constructor failures per cluster by @caffeinated92 in #1567
- Fix arbitration: heartbeat, stats, GUI improvements by @svaroqui in #1565
New Contributors
Full Changelog: v3.1.29...v3.1.30