GoAlert v0.34.0
We're excited to announce GoAlert v0.34.0! This release continues building on the foundation laid in v0.33.0, with significant improvements to messaging capabilities, administrative tools, and system reliability.
⚠️ Important: PostgreSQL Version Support
GoAlert v0.34.0 adds full support for PostgreSQL 17!
- ✅ Fully tested with PostgreSQL 13, 14, 15, 16, and 17 (all versions pass our complete test suite)
- 🏭 PostgreSQL 13 and 17 validated in production environments
- 📅 PostgreSQL 13 reaches EOL in November 2025
- ⭐ PostgreSQL 17 is now our recommended version for all deployments
For those looking to upgrade their DB without downtime (live migration from old to new), we have documentation around the Switchover feature here. As with any major DB change make sure to take, and validate, a full backup just in case.
While this isn't a new feature, it may be the first time some are hearing about it. For those interested, there is additional information about how it works here and here.
🚀 New Features
RCS Messaging Support
GoAlert now supports Rich Communication Services (RCS) through Twilio. If your Twilio messaging service is configured for RCS, GoAlert will automatically leverage the enhanced messaging capabilities including better delivery tracking and richer content support.
2 PRs by @mastercactapus
Heartbeat Monitor Muting (API Only)
You can now mute heartbeat monitors during planned maintenance or expected downtime, preventing unnecessary alerts during known service interruptions. This helps reduce alert fatigue and keeps your alert history clean during maintenance windows.
1 PR by @mastercactapus
Calendar Subscription Enhancements
Calendar subscriptions now support JSON format in addition to existing iCal formats, and you can generate direct links for creating schedule overrides, making it easier to share override creation workflows with team members.
2 PRs by @mastercactapus
Enhanced Alert Statistics
Services now expose detailed alert statistics through the GraphQL API (alertStats field), providing administrators with better insights into service performance and alert patterns for reporting and analysis.
2 PRs by @codylewandowski, @mastercactapus
alertStats field on Service by @mastercactapus in #4293
Administrative Maintenance Tools
New admin maintenance page provides tools for system maintenance tasks, including the ability to re-encrypt stored data when needed for security or compliance requirements.
1 PR by @mastercactapus
Service Search Enhancement
The service search functionality now supports an "only" filter option, allowing for more precise filtering of services.
1 PR by @weefatboi
🛠️ Universal Integration Keys Improvements
Continued enhancements to the experimental Universal Integration Keys feature (enabled with --experimental=univ-keys):
6 PRs by @ethan-haynes, @KatieMSB, @mastercactapus
🔧 System Improvements
Message Status Tracking
Enhanced notification system now records and displays complete message status history, providing administrators with full visibility into notification delivery status and helping with troubleshooting delivery issues.
1 PR by @mastercactapus
Performance & Reliability
Improved shared locking enables better concurrent work processing, database indexing improvements for better performance with large message volumes, and enhanced testing capabilities for better performance validation.
3 PRs by @mastercactapus
Security Enhancements
Added comprehensive HTTP security headers and enhanced route security with proper HTTP method restrictions and response codes.
3 PRs by @mastercactapus
🐛 Bug Fixes
Critical Fixes
6 PRs by @mastercactapus
- feat: fix rotation advance when removing a user by @mastercactapus in #4260
- schedules: Fixes a bug where 'replace' overrides would behave as an 'add' + 'delete' rather than replace by @mastercactapus in #4306
- rotations: fix v1 -> v2 migration logic by @mastercactapus in #4292
- sqlutil: fix deadlock in NOTIFY listener (refactor) by @mastercactapus in #4299
- fix(lifecycle): skip shutdown wait on run failure by @mastercactapus in #4261
- fix: fix override dialog extra button by @mastercactapus in #4368
Reliability Improvements
5 PRs by @mastercactapus
- fix: Exclude disabled subscriptions from inactivity queries by @mastercactapus in #4320
- engine: update rate limit rules for on-call user notifications by @mastercactapus in #4262
- service: fix label error messaging for create and edit by @mastercactapus in #4259
- profile: Fix on-call assignments page data by @mastercactapus in #4343
- fix: increase timeout in TestIDLocker_CancelQueue for better stability by @mastercactapus in #4385
🔌 Integration Improvements
Twilio Enhancements
1 PR by @mastercactapus
- feat: add Twilio configuration check in AdminToolbox component by @mastercactapus in #4255
Slack Integration
1 PR by @mastercactapus
- dest/slack: add bot name and hint to slack channel selection by @mastercactapus in #4367
🏗️ Behind the Scenes
This release includes significant architectural improvements that lay the groundwork for future enhancements. Notably, v0.34.0 represents a major milestone in our migration to a job queue architecture, which will enable better multi-instance deployments and improved performance at scale in future releases.
Job Queue Migration
Continued migration of background processes to job queue architecture for better reliability and performance at scale. These improvements are largely invisible to end users but provide a foundation for better multi-instance support and performance improvements in future releases.
11 PRs by @mastercactapus
.Start() synchronously by @mastercactapus in #4336
Architecture & Performance Improvements
5 PRs by @Forfold, @mastercactapus
- schedule: migrate schedule store to sqlc by @mastercactapus in #4394
- dataloader: refactor for simplicity and param support by @mastercactapus in #4381
- dataloader: add aggregate functions by @mastercactapus in #4387
- auth-check: replace "auth check" mechanism with proper external call counting by @mastercactapus in #4397
- chore: update pg_query_go to fix MacOs build error by @Forfold in #4393
Code Quality & Development
Ongoing TypeScript migration, SQLC migration for type-safe database queries, code modernization efforts, and build system improvements including the migration from Yarn to Bun for faster package management.
14 PRs by @Azakahul, @KatieMSB, @cwhy22, @mastercactapus
Dependencies & Build System
This release includes comprehensive dependency updates for both Go and JavaScript packages to ensure security and compatibility, along with improvements to our CI/CD pipeline.
🙏 New Contributors
Thanks to our new contributors who helped make this release possible:
- @Azakahul made their first contribution in #4282
- @cwhy22 made their first contribution in #4307
- @codylewandowski made their first contribution in #4375
- @weefatboi made their first contribution in #4384
Full Changelog: v0.33.0...v0.34.0