Features
- Service status updates with polling & vito agent by @RichardAnderson in #1200
- Code coverage on commit by @RichardAnderson in #1199
- Global backups & cross server backups by @RichardAnderson in #1198
- Add agent guidance and code review skill by @saeedvaziry in #1211
- Networks: private networking via WireGuard, custom, and provider-synced VPCs by @RichardAnderson in #1209
- Networks: Service specific networking configuration by @RichardAnderson in #1217
- Migrate test suite to Pest 5 by @saeedvaziry in #1221
- Architecture tests: enforce documented standards by @RichardAnderson in #1223
- Storage Providers: Edit the connection by @RichardAnderson in #1224
Fixes
- S3 backup logs flooded by AWS CLI progress output on large transfers by @RichardAnderson in #1197
- Use Cobertura for cover-diffs in CI by @RichardAnderson in #1203
- use dynamic architecture in APT source list by @arzola in #1204
- Wait for cloud-init and apt by @RichardAnderson in #1208
- Prevent backups:run crash for backups whose server was deleted by @erhanurgun in #1207
- Confine site env path reads and gate raw secrets on write access by @RichardAnderson in #1219
- Prevent database users page crash when a linked database is deleted by @RichardAnderson in #1222
- DNS Providers: edit dialog fields never prefilled by @RichardAnderson in #1225
- Site .env: stop escaping double quotes in values that never needed quoting by @RichardAnderson in #1228
- API Keys: enforce project scope on provider endpoints by @RichardAnderson in #1233
- Backups: one failing backup no longer aborts the whole scheduled run by @RichardAnderson in #1234
Full Changelog: 4.0.1...4.1.0