Releases
3.0.0
Compare
Sorry, something went wrong.
No results found
π Features
feat(outages): hide initial update fieldset for scheduled outages
π Fixes
fix(settings): remove SECRET_KEY from defaults
fix(settings): default DEBUG to False
fix(settings): refuse writable override file; preserve tracebacks
fix(outages): wrap state-change writes in transaction.atomic
fix(admin): subclass django.contrib.auth.admin.UserAdmin for User
fix(auth): revoke outage_managers membership on OIDC demotion
fix(settings): add cookie, HSTS, and proxy-SSL defaults
fix(outages): use {% url %} for back links instead of HTTP_REFERER
fix(views): handle Graphite errors gracefully
fix(views): use timezone-aware datetimes for index window
fix(nagios): tolerate malformed availability rows
fix(views): validate user-supplied Graphite query params
fix(error): return correct HTTP status codes from handlers
fix(auth): drop ModelBackend when USE_OIDC
fix(settings): comment out dummy OIDC client id and secret
fix(settings): add django-csp middleware with safe defaults
fix(settings): remove dead HEALTH_CHECK SUBSETS config
fix(outages): list serializer fields explicitly
fix(outages): add pagination and explicit permissions to OutageViewSet
fix(outages): drop unused is_staff arg on OutageFilters
fix(outages): respect Meta.ordering when no explicit ordering chosen
fix(outages): use prefetch cache in latest_update/first_update
fix(outages): set modified_by when bubbling activity onto Outage
fix(outages): only allow PROGRESSING when reopening an ended outage
fix(outages): tolerate unknown status / severity codes in display
fix(outages): set modified_by when reopening an ended outage
fix(outages): lock outage row during state changes (TOCTOU)
fix(outages): prefetch updates on list view + N+1 regression test
fix(views): actually sort composition_cores output
fix(views): missing space + spelling in composition description
fix(urls): distinct names for composition routes; fix redirect target
fix(urls): distinct names for the two OIDC login routes
fix(urls): normalise trailing slash on growth/* endpoints
fix(nav_bar): segment-based match in active template tag
fix(templates): close tags properly
fix(templates): add rel="noopener noreferrer" to target="_blank" links
fix(outages): drop block-in-inline HTML in detail update render
fix(templates): use {% url %} for internal nav links
fix(templates): drop dead Bootstrap-3 data-toggle="tab" attrs
fix(allocations): avoid .html() for API-sourced breadcrumb labels
fix(allocations): use json_script for inline JS globals
fix(templates): move mustache include from base to allocations page
fix(allocations): drop dead v3-API code paths in project_details.js
fix(graphite): close two Python footguns
fix(nagios): replace deprecated lxml getchildren()
fix(nagios): treat unparseable percentages as None, not 0.0
fix(nagios): reject naive datetimes in gm_timestamp
fix(views): make Nagios availability cache backup actually durable
fix(views): narrow _get_hosts except clauses
fix(outages): use IANA tz name instead of UTC offset for DST safety
fix(csp): allow third-party origins needed by site assets and API
fix(outages): restore pre-refactor field aliases on outages API
π§ͺ Tests
test: lift coverage to 93% and gate at 90%
test(outages): cover API filter lookups (start/end/severity)
test(outages): cover OutageUpdate -> Outage cascade behaviour
test(outages): tz_offset edge cases and DST limitation
π¦ Other
refactor(outages): remove soft-delete deleted field
Configure Renovate
refactor(outages): unify scheduled and unscheduled into one workflow
feat(outages) Update datepicker opts to show a now and clear button
fix(nagios,graphite): add HTTP timeouts to upstream calls
chore: drop dead views.faults
refactor(views): rename choose_first -> first_truthy_value
chore: replace deprecated LOG.warn with LOG.warning
chore: drop dead settings in test/selenium envs
chore(tests): move override_settings import to top of file
chore: remove dead JS files and editor backup files
fix(nagios,graphite): use a shared requests Session with retries
You canβt perform that action at this time.