Repository navigation
chore(release): v0.38.4 - #535
Merged
Merged
Conversation
fclairamb
force-pushed
the
release-please--branches--main
branch
19 times, most recently
from
October 14, 2026 00:32
0616ef9 to
b3ddd72
Compare
fclairamb
force-pushed
the
release-please--branches--main
branch
from
October 14, 2026 10:37
b3ddd72 to
dd95aa0
Compare
Rewrite each entry as user-facing prose, add a Features section for the new HTTP, ICMP, reminder and MCP work hidden in the 2026-10-12 batch, drop the CI-only entry, and add display names for the new changelog scopes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
🤖 Created releases: 🌻 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 I have created a release beep boop
0.38.4 (2026-10-14)
Features
dns_time_ms,connect_time_ms,tls_time_ms,ttfb_time_ms,download_time_msandredirect_time_ms. (9947d0b)headerAssertionstakes the same operators as body assertions, plusexistsandnot_exists. Rules like "X-Powered-Bymust not be sent" or "Cache-Controlmust not containno-store" are now possible. The check form has a new "Header assertions" section, andheaders_patternkeeps working. (9947d0b)expectedFinalUrl, and the check goes down when the final URL is different, for example a login or parking page. The comparison ignores the case of the scheme and host, default ports and the fragment. The failure output includesfinal_url. (9947d0b)$SOLIDPING_BASIC_AUTH, and a comment line says when secret headers were left out. (9947d0b)${var:timestamp},${var:iso8601},${var:uuid}and${var:random}work anywhere${env:...}does, for example?cb=${var:timestamp}. Within one run, each name keeps the same value. The URL stored in a result now keeps${param:...}references instead of the secret values. (9947d0b)max_packet_loss_percentormax_avg_rtt_ms. Before, one reply out of five kept the check up. The incident gives the reason, for examplepacket loss 40% > 20%. (9947d0b)incident.regionswithfailingRegions(slugs),regionCountandfailQuorum. It is recorded when the incident opens and updated when it escalates. (9947d0b)reminderIntervalSeconds) or as an organization default. The check's channels then getincident.reminder: "Still down after 1 h 15 min, not acknowledged (reminder 3)". Reminders are off by default and stop on ack, snooze or resolve. Twilio and PagerDuty channels never get them. (9947d0b)coreandstatuspagesare listed by default, andadmin(integrations and maintenance windows) must be requested. Add?toolsets=allto the endpoint URL to list them all, or useSP_MCP_TOOLSETSor--toolsetswith stdio. The 19 replaced tool names still work and are listed withtoolsets=legacy. (9947d0b)database.cnpg.enabled=trueto create a CNPGClusterand read the connection string from its secret. The cluster surviveshelm uninstall. SQLite stays the default, so existing installs are not moved on upgrade. The Kubernetes install page now documents the chart. (#544) (30218d5)Bug Fixes
expectedStatusCodes: ["200"]. (9947d0b)no such column: organization.default_escalation_policy_uidon every boot. A failed or interrupted migration now stays pending and runs again. On SQLite, the first boot builds the database in a temporary file and renames it when done, and each upgrade first saves a backup (solidping.db.pre-<migration>.bak) when there is room on disk. (#549) (c7479ed)405 Method Not Allowedto HEAD, so external uptime monitors that probe with HEAD saw SolidPing status pages as down. (9947d0b)running, so with a 1 h period the dashboard waited forever. The region now answersqueuedand runs again as soon as the current run ends. Editing a check while it runs no longer loses that run's result. (9947d0b)SP_RUNTIME_AUTO_MEMORY_LIMIT=falseturns this off). (9947d0b)m=19456 t=2 p=1). This applies only to single-process installs (SP_NODE_ROLE=all) where no argon2 cost is set. Existing hashes are converted at the next login.SP_AUTH_PASSWORD_ARGON2_AUTO_PROFILE=falsekeeps 64 MiB. (9947d0b)auto, gives JSON on Kubernetes, colored output in a terminal or in a container, and plain text otherwise.SP_LOG_FORMAT=json,textorprettystill wins. The colored format has a timestamp and keeps attributes in a stable order.NO_COLORandFORCE_COLORare honored.LOG_LEVELis no longer reset to info once the configuration loads. (#536) (4c13730)defaultorg in SaaS mode, now land on the create-your-org screen. On self-hosted installs, sign-ins on thedefaultorg still send join requests to its admins. (9947d0b)/or/d/in a fresh browser showed "Your session has expired. Please log in again." The visitor now lands on the sign-in page with no banner. An expired or revoked session still shows it. (9947d0b).comnames, so agmx.de,yahoo.frororange.fraddress got its mail provider suggested. Country variants and national providers are now skipped too. (#532) (b3e6672)whsec_followed by standard base64 with padding. The dashboard and API show older secrets in the same form. It is the same key, so receivers that already verify keep working and nothing needs rotating. A pasted secret that is not valid base64 now gets a 400 on create and update. (9947d0b)SP_AUDIT_RETENTION_DAYS=0keeps audit events forever, as documented. The value 0 was ignored, and the cleanup still deleted events older than 365 days. 0 now means "keep forever" in the env variable, inconfig.ymland in theaudit.retention_daysserver parameter. (9947d0b)database.type=postgres,/datawas not mounted, so logos, status page assets and screenshots were lost on every restart./datais now mounted whatever the database. (#544) (30218d5)region.offlineandregion.recoveredhad an empty detail. They now show the region name. (#552) (f3ac93e)GET /api/v1/check-typeshas a newexcludedFromTallyfield, true forsleepandprivate-location. The incidents API docs also list the parameters the server actually reads (state,checkUid,cursor). (9947d0b)This PR was generated with Release Please. See documentation.