## bunkerity/bunkerweb — v1.6.15-rc2…v1.6.15-rc3

_79 commits._

### Features
- **feat(docs): add local Web UI logging instructions for Docker Compose installations** (ee1b78f)
- **feat(installer): add optional syslog for Docker Web UI logs** (e0174ca)
- **feat: implement service startup sequence and add test for shared volume seeding** (20c4658)
- **[#3631] feat(ui): add RAW setting drafts** (f8b314a)
- **[#3891] feat(modsecurity): add concurrent audit logging** (4b00bfb)

### Fixes
- **fix(tests): temporarily disable passbolt tests** (378533c)
- **fix(letsencrypt): pass ACME challenges through without the other checks** (5663757)
- **fix(autoconf): deliver configuration to Kubernetes pods that are not Ready yet** (69f1130)
- **fix(ui): interpolate the PRO service limit alert** (e3ca239)
- **fix(api): move dependent rows when renaming a service** (7d85aae)
- **fix(ui): reconcile sessions changed while Redis was down** (2a39b09)
- **fix(ui): allow drafting a setting that was never set** (cf76f5b)
- **fix(backup): take the database lock with flock** (12b60cd)
- **fix(jobs): restore folder caches that contain symlinks** (dbcfa61)
- **fix(ui): store escaped flash messages as plain strings** (aeef1cd)
- **fix(scheduler): claim configuration changes before rendering them** (2334ba5)
- **fix(jobs): verify DB-IP MMDB downloads against the published SHA-1** (c3edc36)
- **fix: make safe tar extraction compatible with older Python** (77b35f5)
- **fix(tests): use CoreDNS resolver for Kapsule Kubernetes tests** (43c39d1)
- **Merge pull request #3907 from Ayushsinha322/fix/modsecurity-audit-inactive-scope-validation** (9e4c249)
- **fix: Remove obsolete test file** (8545344)
- **[#3251] fix(letsencrypt): document and warn on profile limits** (c5595e7)
- **[#3303] fix(plugins): preserve invalid manual plugins** (8e5bb11)
- **[#3326] fix(letsencrypt): preserve explicit wildcard scopes** (792031c)
- **[#3636] fix(bunkernet): back off registration retries** (c99fb0c)
- **[#2359] fix(ui): align CSRF token lifetime with the session lifetime** (eb6c32e)
- **fix(ui): survive a Redis that fails after startup** (740c8a4)
- **[#3916] fix(errors): keep the plugin reason on reports with custom error pages** (67ffca3)
- **fix(modsecurity): don't require Concurrent storage dir on inactive scopes** (2dc7146)
- **fix(ui): escape user data in flash messages and settings editors** (acb6b88)
- **[#3905] fix(modsecurity): report request-body parser denials** (2c950f7)
- **[#3896] fix(ui): remove broken source-map references** (220401a)
- **[#3893] fix(database): compute missing custom-config checksums** (9601262)
- **[#3893] fix(ui): handle service-operation failures** (7182065)
- **[#3839] fix(letsencrypt): initialize certificate profile list** (0d658fc)
- **[#3867] fix(antibot): improve external CAPTCHA error recovery** (0e88c7d)

### Backend
- **Merge remote-tracking branch 'origin/staging' into rc** (f15bb6c)
- **Merge pull request #3929 from bunkerity/dev** (6fbd43e)
- **Merge pull request #3928 from bunkerity/dev** (581494f)
- **deps: update NGINX to 1.30.5** (a33cc65)
- **Merge pull request #3922 from bunkerity/dev** (eb0ed66)
- **Merge branch 'dev' of https://github.com/bunkerity/bunkerweb into dev** (5d91090)
- **Merge pull request #3921 from bunkerity/dev** (da825d9)
- **Merge pull request #3919 from bunkerity/dependabot/github_actions/dev/pullfrog/pullfrog-0.1.78** (48ef510)
- **Merge pull request #3918 from bunkerity/dependabot/github_actions/dev/getplumber/plumber-0.4.62** (8cb5047)
- **Merge pull request #3920 from bunkerity/dev** (b191267)
- **deps/gha: bump pullfrog/pullfrog from 0.1.77 to 0.1.78** (2b84532)
- **deps/gha: bump getplumber/plumber from 0.4.60 to 0.4.62** (5619b36)
- **Merge pull request #3917 from bunkerity/dev** (32d6399)
- **Merge branch 'dev' of https://github.com/bunkerity/bunkerweb into dev** (9de5544)
- **Merge pull request #3914 from bunkerity/dependabot/github_actions/dev/github/codeql-action/init-4.38.0** (0cdf902)
- **Merge pull request #3913 from bunkerity/dependabot/github_actions/dev/pullfrog/pullfrog-0.1.77** (07e5cbf)
- **Merge pull request #3912 from bunkerity/dependabot/github_actions/dev/github/codeql-action/analyze-4.38.0** (e192329)
- **Merge pull request #3911 from bunkerity/dependabot/github_actions/dev/getplumber/plumber-0.4.60** (81d4926)
- **Merge pull request #3910 from bunkerity/dependabot/github_actions/dev/github/codeql-action/upload-sarif-4.38.0** (98a312d)
- **deps: update libmaxminddb to v1.14.0** (42e9729)
- **deps: update LuaJIT to v2.1-20260914** (d515179)
- **deps/gha: bump github/codeql-action/init from 4.37.9 to 4.38.0** (f1984e9)
- **deps/gha: bump pullfrog/pullfrog from 0.1.68 to 0.1.77** (b933a67)
- **deps/gha: bump github/codeql-action/analyze from 4.37.9 to 4.38.0** (e5823d3)
- **deps/gha: bump getplumber/plumber from 0.4.52 to 0.4.60** (40762c8)
- **deps/gha: bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0** (810cd1a)
- **Prepare for 1.6.15~rc3 🚀** (d9437f6)
- **[#3892] perf(errors): compact inline SVG markup** (265ae9f)
- **Merge pull request #3887 from bunkerity/dev** (6aaeb87)
- **Merge pull request #3886 from bunkerity/dev** (32994df)
- **Merge pull request #3878 from bunkerity/dev** (d8acfb6)
- **Merge pull request #3877 from bunkerity/dev** (bcf7d15)

### Tests
- **test: repair the legacy headers, reverseproxy and redis fixtures** (0037606)
- **test(modsecurity): add docstrings to the audit scope test symbols** (c8f806c)
- **test(modsecurity): cover Concurrent audit scope validation** (5c58289)

### Docs
- **docs(changelog): group the 1.6.15~rc3 entries by category** (5a10ec6)

### Chore
- **chore(deps): update python deps** (7a329d6)
- **chore: update changelog for v1.6.15~rc3 release and acknowledge contribution** (8ea69be)
- **refactor(check-version): remove obsolete reference to test_installer_versions.sh** (f4246c2)
- **refactor(tests): remove obsolete test files for Biscuit authorization** (14c464c)
- **chore(docker): Update linux images digests** (4e53ae5)
- **chore(deps): Update python deps** (d7dff19)
- **chore(changelog): 1.6.15~rc3 UI escaping entries** (b356543)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/bunkerity/bunkerweb?utm_source=github-action)._