feat(stripe): allow promotion codes on checkout (#3011)
heartbeat: show /fail in the dashboard
heartbeat: /fail in connectrpc, agent tools and docs
heartbeat: sweep turns a /fail into an incident
heartbeat: /fail endpoint
heartbeat: /fail signal โ state column + ping kind
feat(stripe): allow promotion codes on checkout
checker: spread pubsub check starts over a per-monitor window
private location: address review feedback
checker: exit non-zero when the pubsub consumer fails
checker: fix dns only txt
videos: address review on the Slack and dashboard story
fix(dashboard): hide empty row menus, keep their space
feat(web): add contact link to footer company section
checker: less task at same time
checker: consume less task at the same time
workflows: scale fly VM down to shared-cpu-2x
checker: bound queued Tinybird flushes and the shutdown flush
checker: drop the Cloud Tasks cron path
workflows: publish checker tasks to Pub/Sub behind CHECKER_TRANSPORT
checker: consume cron checks from Pub/Sub
status page: minor cache
workflows: better sizing
email: improve deliverability
checker: split cron check logic out of the gin handlers
dashboard: show previous attempts in the response log sheet
private-location: forward failed retry attempts, ingest final HTTP errors
tinybird: add per-type attempt datasources, attempts column, fix tcp cronTimestamp
checker: store failed retry attempts for every check type
ci: apply automated fixes
deps: update nextjs
Merge branch 'main' into push-vrznzxrsmqky
workflow: downsize machine
chore: remove deno from the repo
fix: address review comments and the doc-ref check
refactor(dashboard): pin event row menus right, rename rows to *-event-row
ci(workflows): add least-privilege permissions to synthetic workflow
fix(auth): suppress InvalidCallbackUrl scanner probes in the Auth.js logger
web: update incident.io
gh: pause synthetic
slack: update tests for the created-records list
slack: cover welcome edge cases in tests
fix(slack): bound the permalink lookup; address source_ref review
fix(tinybird): keep 47 days in the 15m status MVs and reject offset zone IDs
fix(subscriptions): token-scoped anchor claims and single root backfill
Merge branch 'main' into chore/agentic-workflow
fix(private-location): resolve ingest location by joined token lookup
fix(maintenance): reject future-dated updates, type update id as integer in OpenAPI
feat: incident api
launch: incident management for every plan
ci: apply automated fixes
slack: /openstatus incident subcommands + channel context
slack: incident channel on declare
slack: treat unknown scopes as missing, read integration data defensively
Announcing vercel oss program
docs: plan for workspace playbooks
emails: cover commander email in shared template invariants
dashboard: Overview + monitor tab hooks, Downtime relabel
dashboard: incident detail page
refactor(locales): use zh-CN locale and LOCALE_ZH_CN enum
chore: improve trial ending email template
fix(domains): pin probed IP, keep default TLS validation, surface Vercel errors
ci: apply automated fixes
test(server): plan-gated notification provider answers 403
deps: update minor
deps: remove some
ci: build matrix legs without include so selected services actually build
ci: don't let one failed build leg block publishing the other services
Update apps/web/src/content/pages/blog/introducing-openstatus-health.mdx
seo: small update
chore: openapi apps challenge token
ci(rotate-axiom-token): scope GITHUB_TOKEN permissions to none
ci: grant the volume-GC workflow explicit read-only token permissions
ci(workflows): pin third-party actions to commit SHAs and add dependabot config
fix(checker): raise probe response body cap to 10 MiB
ci(workflows): delete detached libsql_data volumes after deploy
ci(publish): make SBOM step non-gating after push
fix(workflows): suppress repeat external-status fetch failure captures
fix(otel): report Axiom log export failures instead of dropping silently
fix(api): regenerate openapi-v1.json for numeric notification id pattern
app: omit few fields
fix(sentry): skip Sentry init on Vercel preview builds in the three apps
app: add health check
ci(deploy): gate API deploy on affected paths
use our lib for health