Releases: semaphoreui/semaphore
v2.17.33
v2.17.32
Semaphore UI v2.17.32 – Release Summary
This release focuses on runner reliability, security improvements, and overall stability, along with several bug fixes and translation updates.
🚀 Improvements
- Smarter runner distribution
Runners are now selected randomly, improving load balancing and avoiding uneven task distribution across runners.
🔐 Security & Safety
- Config validation at startup
Theaccess_key_encryptionsetting is now validated during startup to prevent misconfiguration issues early. - Stronger permission checks
Restoring projects from backup now requires admin permissions, improving security around sensitive operations.
🐛 Bug Fixes
- Fixed nil pointer crash in runner updates when tasks are not part of a pool
- Fixed incorrect handling of Git branch names containing slashes
- Improved runner shutdown logic to ensure progress is uploaded before termination
- Fixed inconsistencies in task status updates
- Minor fix for a missed import
🌍 Localization
- Improved Traditional Chinese (zh_TW) translations and consistency
What's Changed
- fix(i18n): improve Traditional Chinese (zh_TW) translations by @tan9 in #3701
- fix(config): validate access_key_encryption at startup by @abh in #3710
- fix(i18n): improve zh_TW translation consistency by @tan9 in #3705
- Fix branch names with slashes truncated in GetRemoteBranches by @Copilot in #3717
- Add admin permission check for project restore from backup by @JulianKap in #3695
- chore(deps): update dependency axios to v1.13.6 by @renovate[bot] in #3692
- fix: nil pointer dereference in UpdateRunner when task not in pool by @cursor[bot] in #3727
- feat: randomize runner selection by @agrrh in #3722
- fix(runners): gate one-off shutdown on acknowledged progress upload by @fiftin in #3738
- fix/status updating by @fiftin in #3737
New Contributors
- @tan9 made their first contribution in #3701
- @abh made their first contribution in #3710
- @cursor[bot] made their first contribution in #3727
- @agrrh made their first contribution in #3722
Full Changelog: v2.17.31...v2.17.32
v2.17.31
Changelog
- Fix Devolutions icon
v2.17.30
Changelog
- 3f8c2b9 fix(env): allow empty secret prefix
What's Changed
Full Changelog: v2.17.28...v2.17.30
v2.17.28
Release v2.17.28
This release improves runner-to-task tracking and fixes task status handling in the runner update flow.
A new runner_id field was added to tasks in the database, which makes it possible to persist the association between a task and the runner executing it. This improves internal task tracking and lays the groundwork for more reliable runner state handling.
This release also fixes a bug in the runner update logic where the current task state was checked using the wrong field. In api/runners/runners.go, the status check was corrected from job.Status.IsFinished() to tsk.Task.Status.IsFinished(), ensuring the system evaluates the actual stored task state before applying runner updates. This makes task state transitions more accurate during runner execution.
What's changed
- Added
runner_idto the task record in the database for better runner-to-task association. (#3712) - Fixed runner task status validation to use the actual task status field instead of the job status field.
Full Changelog
v2.17.28-beta6
Changelog
- 0d961bf fix(runners): use correct field to check current task status
v2.17.27
v2.17.26
v2.17.24
Changelog
- b9cb5be fix(secrets): provide source storage type in var groups
What's Changed
- fix: fixed a race condition for terraform task statuses by @JulianKap in #3686
New Contributors
- @JulianKap made their first contribution in #3686
Full Changelog: v2.17.22...v2.17.24
v2.17.22
This patch release includes a small fix related to integrations permissions.
Fixes
- Fixed permissions handling for integrations.
Full Changelog: v2.17.21...v2.17.22
