• 2026.07.15-0 89aa0ac046

    Release 2026.07.15-0
    All checks were successful
    Build and Deploy Production / build (push) Successful in 58s
    Build and Deploy Staging / build (push) Successful in 57s
    Tests / test (push) Successful in 1m15s
    Build and Deploy Production / deploy (push) Successful in 34s
    Build and Deploy Staging / deploy-appuio (push) Successful in 6s
    Stable

    tobru released this 2026-07-15 05:34:09 +00:00 | 6 commits to main since this release

    Release 2026.07.15-0

    • bump version 2026.07.07-0 -> 2026.07.15-0
    • Merge pull request 'chore(deps): update dependency coverage to >=7.15.1' (#609) from renovate/coverage-7.x into main
    • Merge pull request 'chore(deps): update https://github.com/renovatebot/github-action action to v46.1.19' (#616) from renovate/https-github.com-renovatebot-github-action-46.x into main
    • Merge pull request 'fix(deps): update dependency sentry-sdk to >=2.65.0' (#617) from renovate/sentry-sdk-2.x into main
    • fix(deps): update dependency sentry-sdk to >=2.65.0
    • chore(deps): update https://github.com/renovatebot/github-action action to v46.1.19
    • chore(deps): update dependency coverage to >=7.15.1
    • Merge pull request 'Consistent Date and Time Display' (#611) from design/consistent-datetime-display into main
    • feat(frontend): render all dates/times in the viewer's local time
    • docs: design and plan for consistent local-time display
    • Merge pull request 'Fix Pod Log Display and Add Colors' (#612) from fix/pod-logs-bytes-decode into main
    • fix autoescape
    • Merge pull request 'Update dependency djlint to >=1.40.6' (#614) from renovate/djlint-1.x into main
    • Merge pull request 'Update dependency kubernetes to >=36.0.3,<37' (#615) from renovate/kubernetes-36.x into main
    • Merge pull request 'Warning-gated Org Deletion' (#607) from design/warning-gated-deletion into main
    • Update dependency kubernetes to >=36.0.3,<37
    • Update dependency djlint to >=1.40.6
    • fix(core): close warning-gated deletion race and billing gaps
    • fix(email): link deletion confirmation to general support page, not the archived org's
    • fix(staff): resolve absolute support URLs in lifecycle email previews
    • style(staff): wrap long lines in lifecycle email preview modal
    • feat(staff): broaden lifecycle timeline to validity orgs with email preview modals
    • feat(dev): per-worktree dev server port and database helpers
    • refactor(core): extract reusable email builders into notifications module
    • Merge pull request 'Update dependency django-filter to v26' (#608) from renovate/django-filter-26.x into main
    • Merge pull request 'Update dependency djlint to >=1.40.5' (#610) from renovate/djlint-1.x into main
    • fix(staff): accurate scheduled-deletion date and reminder states in lifecycle
    • feat(staff): show trial & deletion lifecycle on organization detail
    • test(reminders): cover deletion_warning key stays unwritten on SMTP failure
    • test: align odoo trial-window assertions with effective_deletion_date
    • fix(core): require is_expired in is_ready_for_deletion gate (extension race belt)
    • feat(cleanup): log expired orgs stuck awaiting a deletion warning
    • feat(cleanup): record deletion_confirmation in reminders json
    • feat(cleanup): gate deletion on recorded warning + business-day buffer
    • fix(reminders): record deletion_warning key only after a successful send
    • feat(reminders): clear stale deletion warning when org is extended
    • feat(reminders): gating deletion warning at expiry with BCC and Odoo push
    • feat(logs): render ANSI color codes as HTML in the pod log viewer
    • fix(core): guard is_ready_for_deletion against missing effective_deletion_date
    • fix(logs): decode raw pod log bytes instead of str(bytes) wrapper
    • feat(core): odoo trial_end tracks effective_deletion_date
    • feat(core): add is_ready_for_deletion gate property
    • feat(core): add deletion_warning_sent_at and effective_deletion_date
    • feat(core): add _add_business_days helper
    • feat(settings): add SERVALA_DELETION_WARNING_BCC
    • docs: implementation plan for warning-gated deletion
    • fix(frontend): render instance ID as HTML in delete confirmation help text
    • Update dependency djlint to >=1.40.5
    • Update dependency django-filter to v26
    • Merge pull request 'Update dependency djlint to >=1.40.4' (#604) from renovate/djlint-1.x into main
    • Merge pull request 'Update dependency django to v6.0.7' (#603) from renovate/django-6.x into main
    • docs: design for warning-gated org deletion
    • Merge pull request 'Fix k8s API client timeout' (#606) from fix/k8s-api-client-timeout-injection into main
    • Merge pull request 'Update https://github.com/astral-sh/setup-uv action to v8.3.2' (#605) from renovate/https-github.com-astral-sh-setup-uv-8.x into main
    • fix(k8s): inject default timeout when SDK passes _request_timeout=None
    • allow to copy prod db
    • Update https://github.com/astral-sh/setup-uv action to v8.3.2
    • Update dependency djlint to >=1.40.4
    • Update dependency django to v6.0.7
    Downloads