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