Changelog

Track unreleased changes and published versions as commits land in git.

Unreleased

  • nodes/netmesh: add mesh status, key lifecycle, policy views and incident admin actions (#6705)
  • Add Chargers admin shortcut and onboarding flow with docs and tests (#6703)
  • ops: add role-aware status surface with redacted log excerpts (#6701)
  • netmesh: add operations command, metrics, and structured telemetry (#6706)
  • Remove legacy regression tests and simplify deploy command tests (#6702)
  • docs: move README-specific details into dedicated docs (#6704)
  • Add NFC-login suite feature and conditional RFID login UI/endpoint (#6698)
  • apis: add audited self-service service token lifecycle in admin (#6695)
  • Extend AWG calculator seed data down to 28 AWG (#6700)
  • netmesh: add scoped ACL resolver, station/tag selectors, deny lists, and policy validation (#6693)
  • imager: validate and normalize download base URIs (#6699)
  • Polish operator admin health and drill-down surfaces for OCPP and credentials (#6694)
  • tests: add critical-path regression matrix coverage (#6697)
  • awg: support cable sizing down to AWG 22 (#6696)
  • imager: validate remote base-image URLs before download (#6691)
  • ocpp-admin: add operator health indicators and control action history (#6690)
  • nodes/netmesh: standardize enrollment token lifecycle and API error codes (#6687)
  • docs: show top-level library entries with folder drilldown (#6688)
  • configure: add install-like toggles and feature parameter controls (#6689)
  • Use more specific HTTP status codes for partial service failures (#6685)
  • netmesh: add relay-aware endpoint routing metadata (#6686)
  • docs: inventory HTTP/WebSocket endpoints and completeness checklist (#6683)
  • Admin: add address/phone/municipio columns to EvergoOrder changelist and add test (#6682)
  • evergo: guard customer admin against stale latest order refs (#6684)
  • Add Satellite and Watchtower production readiness guidance and archive historical review (#6680)
  • Remove obsolete agent-preview blurb and update archive index (#6679)
  • netmesh: add authenticated node sync API endpoints (#6677)
  • docs: move standalone desktop plan to Proposals / Future Work (#6678)
  • evergo: update customer changelist columns for Constellation workflow feedback (#6675)
  • docs: move optional feature docs under feature folder (#6676)
  • Archive critical demotion ledger and add marker governance policy (#6674)
  • Move proposal docs to proposals/, add navigation and update links (#6673)
  • nodes: add enrollment token lifecycle, public-key submission, and admin actions (#6669)
  • core: consolidate command.sh executions into one log (#6670)
  • evergo: improve Login on Evergo wizard look and feel (#6672)
  • locals/base: support custom column ordering in admin CSV export (#6671)
  • Expand RFID login to support mobile NFC scans (#6667)
  • Replace dashboard feature sidebar widget with top Features action (#6668)
  • Add netmesh app with mesh models, admin and initial migrations (#6666)
  • docs: archive watchtower codex skill proposal (#6665)
  • Add /docs/ module and landing to terminal fixtures and test (#6662)
  • core: remove rebrand command and references (prioritize fork-first workflows) (#6663)
  • docs: archive agent preview blurb and add archive index (#6664)
  • nodes: add mesh identity fields to canonical Node model (#6661)
  • scripts-start: bootstrap debug toolbar in --debug mode (#6660)
  • docs: refresh stale command examples (#6659)
  • Harden ops redirects with safe_host_redirect and tests (#6657)
  • Remove About Me sections and fix localized README table spacing (#6656)
  • ocpp-shortcuts: hide internal exception details in public endpoints (#6655)
  • Remove automated GoDaddy DNS setup; require manual DNS and keep nginx config flow (#6654)
  • Add GoDaddy credential verification and interactive customer ID handling (#6653)
  • Add --static-ip to publish A/AAAA records to GoDaddy when enabling HTTPS (#6652)
  • nginx: skip primary domain in managed-site unified render (#6650)
  • Add --static-ip option and public IP detection to nginx configure command with validation and tests (#6651)
  • certs/nginx: handle stale Let's Encrypt live-directory conflicts during HTTPS provisioning (#6649)
  • Cap Node.public_endpoint slug length to prevent Lightsail registration failures (#6648)
  • certs: harden GoDaddy DNS-01 propagation checks (#6647)
  • deploy: enforce AWS credential permissions in Lightsail setup wizard (#6645)
  • ocpp: avoid thread-sensitive executor for certificate status checks (#6646)
  • certs: require TXT on all authoritative nameservers and use public NS discovery (#6643)
  • Type system UI formatter and payload contracts for MyPy rollout (#6642)
  • Fix Python 3.10 incompatible datetime.UTC imports (#6641)
  • repos: type webhook payload parsing for mypy rollout (#6640)
  • Enhance GoDaddy certbot hook with authoritative DNS checks, logging, and bump DNS wait default (#6637)
  • repos: type release management payloads for mypy rollout (#6639)
  • core: stabilize auto-upgrade interval regression test (#6638)
  • deploy: register Lightsail deploy targets as Nodes with relation option (#6635)
  • energy/ocpp: stabilize energy-account tests and relax OCPP auth reason assertion (#6636)
  • Improve Lightsail region handling and CLI argument normalization; update tests (#6633)
  • chore(deps): bump boto3 from 1.42.73 to 1.42.78 (#6629)
  • chore(deps): bump ruff from 0.15.7 to 0.15.8 (#6628)
  • Add Lightsail setup wizard in admin and CLI credential refresh (#6632)
  • [Follow-up] Fix install health check regression in auto-upgrade schedule test (#6631)
  • chore(deps): bump anyio from 4.12.1 to 4.13.0 (#6630)
  • chore(deps): bump botocore from 1.42.73 to 1.42.78 (#6627)
  • chore(deps): bump redis from 7.3.0 to 7.4.0 (#6625)
  • chore(deps): bump cron-descriptor from 2.0.6 to 2.0.8 (#6624)
  • core: move local app wiring validation to Django system checks (#6609)
  • imager: handle Windows backslash drive paths for base images (#6621)
  • Add baseline_version to Feature and disable suite features pinned to future versions (#6620)
  • Add MFA session support and interactive AWS credential bootstrap to Lightsail CLI (#6618)
  • ocpp: stabilize install smoke authorization reason assertion (#6619)
  • tests: remove 40 low-value command permutation tests (#6617)
  • Make auto-upgrade a suite feature toggle (#6616)
  • Move public connector and energy-account views into apps.energy and update routing/templates/tests (#6615)
  • deploy: split Lightsail setup into dedicated `lightsail` command (#6614)
  • Add `deploy` management command and Lightsail instance creation flow (#6613)
  • Remove desktop shortcut sync feature and related wiring (#6612)
  • Add backend 'deploy' app with models, admin, migrations, manifest, and tests (#6611)
  • Remove legacy/flaky regression tests and trim Evergo/nodes test cases (#6610)
  • Add `godaddy setup` for non-interactive credential management and `--key` selector for HTTPS DNS-01 (#6608)
  • runserver: cache migration metadata snapshots (#6607)
  • core: make auto-upgrade decision assertions platform-aware (#6606)
  • ocpp: make transaction handler test authorization policy setup explicit (#6605)
  • imager: normalize local source paths before scheme errors (#6603)
  • imager: make create-rpi-image submission path tests deterministic (#6604)
  • Retire desktop extension commands in favor of sync_desktop_shortcuts (#6601)
  • features: merge duplicate Evergo suite feature into one canonical entry (#6596)
  • ocpp/docs: drop legacy simulator package shim (#6600)
  • docs-packaging: remove apps.camera package and note deprecation (#6598)
  • core/docs remove unused command deprecation shim (#6597)
  • Follow-up: fix remaining install health-check failures after recent fixes (#6595)
  • features: group active suite feature widget links by app (#6594)
  • tests: remove low-value coverage cases (#6593)
  • deps: remove transitive runtime requirements (#6592)
  • Remove legacy migration guards and point mismatch recovery to --migrate (#6591)
  • sites: seed Application rows from PROJECT_LOCAL_APPS (#6590)
  • sites-admin: reduce dashboard app header row height (#6588)
  • Seed missing suite features and default admin badges (#6587)
  • Add --migrate major-version DB reconciliation path (#6584)
  • ci: exercise all role presets in install-hourly workflow (#6583)
  • tests: remove legacy-app migration regression coverage (#6582)
  • Fail-fast on legacy SQLite migration histories; add guard script, runbook, and tests (#6580)
  • core-app-remove-legacy-migration-shims-for-1-0 (#6579)
  • Reset migration baseline and remove dual-track migration workflow (#6576)
  • sites: render share preview as logged-out user (#6578)
  • ci: drive screenshot coverage from repo path lists (#6577)
  • docs: add 1.0 baseline decision record and cleanup allowlist (#6575)
  • ocpp: add certificate status service and granular GetCertificateStatus handling (#6574)
  • sites: remove screenshot field from UserStory admin form (#6573)
  • fix screenshot PR comment artifact preview links (#6572)
  • ocpp: introduce explicit charger authorization policies with auditable decisions (#6569)
  • Stabilize tests for optional apps and updated handlers (#6571)
  • Retry migrations on configured fallback DB for known line-bump failures (#6563)
  • ci: embed generated CI screenshots in PR comments (#6567)
  • docs: clarify test policy for removed features (#6568)
  • sites: remove feedback attachment upload inputs (#6566)
  • deps: regenerate requirements lockfiles (#6565)
  • content: drop historical web sample models (#6559)
  • imager: add admin create-image actions for changelist and dashboard (#6551)
  • tests: remove 40 low-value non-ocpp tests (#6557)
  • features: backfill and auto-infer suite feature main app links (#6555)
  • core: rename MIGRATION_TRACKS.json to MIGRATIONS.json (#6556)
  • Retire prototypes runtime app behind legacy migration shim (#6554)
  • ocpp/store: expose function-only public API exports (#6543)
  • Prune low-value tests and trim rebrand/video test suites (#6552)
  • retire smb runtime app and keep migrations in legacy shim (#6553)
  • ci: embed screenshot thumbnails in PR comments (#6550)
  • Move MCP app wiring to legacy migration-only shim (#6549)
  • tests: remove 40 low-value micro-behavior cases (#6548)
  • Remove non-CI preview command entrypoints (#6547)
  • Add Raspberry Pi Imager suite feature and CLI image builder (#6546)
  • Reset rebrand default project version to 0.0.1 and add `--project-version` (#6542)
  • Remove Playwright scheduled web sampling (schedules & task wiring) (#6545)
  • Refactor sigil resolver dispatch and extract entity ORM lookup helpers (#6522)
  • Prune deprecated/flaky tests across calendars, certs, core, evergo, and nodes (#6541)
  • cards-users: replace RFID shell command execution with allowlisted action hooks (#6544)
  • counters/sigils: migrate dashboard rule conditions to structured fields (#6540)
  • Standardize node feature detector signatures, introduce explicit registry, and add batch discovery UI (#6538)
  • Prune and simplify flaky/integration-heavy tests across several apps (#6527)
  • app: enforce legacy-only manifest coverage for retired apps (#6508)
  • sites: move admin badges to provider-key enum (#6537)
  • Drop _legacy migration shims automatically after major upgrades (#6534)
  • features: disable energy accounts suite feature by default (#6536)
  • fix settings app base-module import for config paths (#6539)
  • core/cards: reject command fields from RFID batch and sync payloads (#6531)
  • Use explicit settings-based route provider registrations (#6529)
  • Use ops-command terminology in wrapper docs (#6535)
  • desktop: retire registered extension runtime execution (#6532)
  • nodes: replace dynamic route helper import with static shared module (#6530)
  • Introduce ChargePointRuntime for legacy EVCS simulator and add unit tests (#6523)
  • config: replace dynamic app discovery with explicit local app registry (#6528)
  • ocpp-consumers add protocol metadata for NotifyMonitoringReport (#6526)
  • chore(deps): bump requests in the pip group across 1 directory (#6502)
  • playwright-tasks disable automatic screenshot scheduling (#6525)
  • nodes: extract visitor registration parsing and proxy service (#6518)
  • ocpp: refactor non-transaction event parsing pipeline (#6521)
  • Refactor `chargers` management command into modular args/actions/render components (#6519)
  • core-auto-upgrade: add typed upgrade decision and thin executor (#6520)
  • docs: recommend short one-word app names (#6524)
  • repos: Add "Setup Token" admin shortcut for GitHubRepository (#6515)
  • core: extract release publish workflow object and typed context (#6517)
  • ocpp: extract CSMS action handlers and move persistence into services (#6516)
  • docs: remove preview command guidance from AGENTS and related docs (#6511)
  • features: rename Hot Features to Active Features and add Params counts (#6510)
  • Make docutils a base dependency (#6514)
  • sites: remove screenshot uploads from feedback forms (#6513)
  • ops: remove pending operations sidebar widget (#6509)
  • sites: align support chat drawer with feedback dialog position (#6507)
  • docs: add guidance for modern idiomatic python (#6512)
  • Add rebrand management command with license acknowledgement (#6506)
  • Introduce legacy migration-only shims for several removed apps and add migration/upgrade safeguards (#6504)
  • locals: make favorites always persist as user data (#6503)
  • docs: drop strict reversible-migration requirement in agent guide (#6505)
  • evergo: default owner on create and customer-first ingest redirect (#6501)
  • ocpp: avoid LocalhostAdminBackend for public signup sessions (#6499)
  • Remove legacy/deprecated-focused tests (#6500)
  • Refactor OCPP forwarder into shared forwarder namespace (apps.forwarder.ocpp) (#6497)
  • Map all retired app labels to legacy migration packages (#6498)
  • docs: add legacy app retirement guidance to AGENTS (#6496)
  • legacy: move selenium migrations into _legacy shim (#6493)
  • Anchor sponsors migrations in legacy shim (#6495)
  • Default install.sh to satellite role on Debian (#6492)
  • Prune and simplify multiple test modules, removing flaky/duplicate tests (#6488)
  • Add Energy Accounts suite feature & public QR onboarding (#6487)
  • Install preview dependencies when running `./env-refresh.sh --deps-only` (#6489)
  • Harden create model app path validation (#6484)
  • tests: remove triaged low-value command and host cases (#6485)
  • Reject wildcard site hosts from generated config (#6483)
  • Harden canary deploy ref resolution to prefer origin refs (#6449)
  • desktop: harden shortcuts to browser URLs (#6453)
  • sites restore pages chat websocket gate (#6467)
  • Consolidate map admin and public map pages under ocpp (#6481)
  • Update AGENTS.md: add Glossary and clarify agent guidance (#6482)
  • Remove legacy admin regression tests across multiple apps (#6478)
  • archive socials/sponsors runtime surface to legacy migration shims (#6480)
  • Enforce single-word app names in create scaffold command (#6477)
  • Remove deprecated fitbit placeholder app references (#6479)

Version 0.2.3

  • core: remove legacy heartbeat task alias and normalize beat references (#6473)
  • Harden badge host resolution for DisallowedHost (#6475)
  • ocpp: remove deprecated command aliases and document migration (#6474)
  • Require explicit routes.py providers and remove legacy URL fallback (#6472)
  • Remove deprecated devtools watcher compatibility flags (#6468)
  • ocpp: remove charger auto-accept offered certificates flag (#6471)
  • Remove low-value and redundant tests across multiple apps (#6466)
  • Fix TSV formula sanitization bypass via leading whitespace (#6461)
  • Retire selenium runtime app; add migration-only shim (#6462)
  • ocpp mark critical protocol regression tests (#6465)
  • Remove outdated migration/regression tests and trim feature command tests (#6464)
  • playwright: surface preview artifact manifests (#6463)
  • chore(deps): bump boto3 from 1.36.23 to 1.42.73 (#6447)
  • docs-guidance-relax-inline-documentation-rules (#6459)
  • Retire prototype runtime scaffolding workflow (#6452)
  • playwright features remove script runtime (#6451)
  • Retire runtime sponsors app behind a migration-only shim (#6457)
  • summary: remove executable model_command and use fixed in-process summarizer (#6455)
  • Fix suite regressions: ops URL sanitization, archive legacy reports, and harden preview tests (#6454)
  • screens: restrict LCD animations to packaged frames (#6456)
  • Enforce server-side public chat access checks for WebSocket connections (#6442)
  • Restore Application import to fix Feature admin filter crash (#6424)
  • chore(deps): bump attrs from 25.3.0 to 26.1.0 (#6445)
  • chore(deps): bump ruff from 0.15.6 to 0.15.7 (#6446)
  • build(deps): bump dorny/paths-filter from 3 to 4 (#6443)
  • Handle invalid host ports in operator notice endpoint (#6438)
  • Fix Mobility House simulator crash on first response frame (#6432)
  • Trim low-value/legacy tests across multiple apps (#6418)
  • Replace runtime `extensions` app with legacy migration-only shim and archive JsExtension data (#6435)
  • manage/docs: default runserver to loopback binds (#6417)
  • actions: replace generic remote actions with named flows (#6412)
  • Defer heavy data-only migrations to release transform pipeline and add checkpointed transforms + tests (#6437)
  • ci: verify editable installs can import arthexis locally (#6436)
  • Use preview management command for CI screenshots; add readiness flags and ci-fast preset (#6433)
  • Follow-up: fix install-hourly import-contracts command regression (#6434)
  • Disable execution of OperationScreen.validation_sql to prevent arbitrary SQL (#6406)
  • remove ada components (#6430)
  • core/install: streamline env refresh during install (#6429)
  • Ensure default canonical staff security-group assignments and admin UX tweaks (#6426)
  • Harden Evergo order reload admin action to POST-only (#6425)
  • Handle invalid ReportChargingProfiles payloads safely (#6423)
  • content: bound admin drop uploads (#6420)
  • Restrict charger status non-transaction events to staff users (#6422)
  • merge
  • packaging trim runtime dependency set (#6427)
  • Fix OCPP websocket admission regressions and status view query handling (#6419)
  • Fix javascript_enabled persistence in UserStoryForm (#6421)
  • Harden calendar trigger task dispatch with explicit allowlist (#6405)
  • Exclude .locks from Docker build context to prevent secret leakage (#6416)
  • Disable execution of OperationScreen.validation_sql to prevent arbitrary SQL (#6407)
  • Restore OCPP websocket admission feature gate for new chargers (#6404)
  • groups: introduce five canonical staff security groups and centralize staff permissions (#6414)
  • docs-review-update-pr-guidance (#6415)
  • Retire generic content web samplers (#6411)
  • Harden host validation against comma-separated values (#6400)
  • shortcuts-recipes retire recipe runtime (#6410)
  • reports: replace free-form SQL reports with named, validated report implementations (#6409)
  • Add `pages-chat` Suite Feature and gate public chat runtime on it (#6394)
  • core-locale-remove-language-shim (#6379)
  • core locale remove fields shim (#6380)
  • celery/core: migrate persisted heartbeat schedules to canonical task path (#6384)
  • ci: schedule daily dashboard screenshots and auto-open issues on failure (#6399)
  • Harden collector setup wizard permissions (#6402)
  • repos: Gate GitHub issue reporting with suite feature (#6397)
  • core/features: gate usage analytics with a Suite Feature (#6396)
  • meta/sites: add whatsapp-chat-bridge suite feature gate (#6395)
  • docs-agents-remove-cost-requirement (#6398)
  • Remove legacy apps.ocpp.simulator wrapper package (#6383)
  • Add migrations `check` subcommand, DB index, and stabilize package license default (#6393)
  • release-video-nginx keep synonym command aliases supported (#6392)
  • devtools: remove legacy server wrappers and use module entrypoints (#6389)
  • config-docs simplify mypy settings setup (#6390)
  • content-sites add admin drag-and-drop sample overlay (#6391)
  • users remove legacy phone priority alias (#6387)
  • evergo-remove-parsing-helper-aliases (#6388)
  • config-remove-force-text-monkeypatch (#6386)
  • Retire the Fitbit migration-only shim (#6378)
  • Add `good` management command and readiness checks with docs and tests (#6371)
  • ocpp-graphql move charger chart endpoint into ocpp (#6376)
  • docs-cost-visibility-estimate-hours (#6374)
  • prompts-docs remove prompts runtime app (#6375)
  • shortcuts: replace recipe foreign keys with typed targets and rework execution (#6368)
  • Add scoped MyPy rollout: Makefile target, local pre-commit hook, CI job, and docs (#6367)
  • nodes: remove run_task admin action (#6369)
  • Refactor ReportChargingProfiles handling into validation/parsing/persistence helpers (#6323)
  • docs: require cost visibility in AGENTS.md (#6366)
  • socials: retire the leftover runtime app shell (#6364)
  • Follow-up: harden Evergo contractor login wizard handling (#6363)
  • Add strict '->' sigil access and hyphen/underscore-tolerant identifiers (#6362)
  • Fix install smoke failures: Evergo widget context, chat toggle id, special command sync, and Playwright verification (#6355)
  • protocols/repos/core: expand Django-aware MyPy rollout (#6352)
  • Harden localhost admin auth against spoofed X-Forwarded-For (#6341)
  • Remove retired blog app and retire development-blog metadata (#6350)
  • docs: align suite goals to discourage recipe-like wiring and clarify SIGILS support (#6360)
  • evergo: add contractor login wizard (#6313)
  • tasks: add public charger vendor intake view (#6358)
  • Add staged-migration rollback-safety checks to migration verification script (#6348)
  • evergo: avoid overwriting remote images on partial tracking submit (#6338)
  • docs: add sponsorship guidance and clarify license contribution forms (#6356)
  • sensors: retire recipe-driven USB tracker automation (#6354)
  • Preserve TLS verification for trusted forwarding nodes (#6349)
  • Remove PR marker, CI, and pre-commit enforcement (#6353)
  • docs-locale: update README references to OCPP 1.6J (#6351)
  • Add admin public "View on site" links for public views (#6346)
  • playwright: fail clearly when preview artifacts are missing (#6347)
  • actions: remove recipe-backed actions and recipe fields (#6344)
  • emails/core: remove email collector recipe notifications (#6343)
  • Require login for Evergo customer views to prevent IDOR (#6342)
  • utils/protocols: tighten incremental typing guidance (#6339)
  • ocpp: reject unknown offered certificates (#6340)
  • sigils: swallow unexpected resolver dispatch errors (#6335)
  • ops: sanitize security alert remediation URLs (#6337)
  • Fix invalid related prefilter lookup in admin links (#6336)
  • survey: decommission runtime app and add migration-only archival path (#6327)
  • Filter global Django options from special command registry (#6333)
  • tests-ci-remove-pr-marker-enforcement (#6334)
  • tooling: add baseline mypy configuration (#6330)
  • sites: refactor admin action helper flow (#6325)
  • app/features: remove retired wikis runtime and feature seed (#6328)
  • Refactor Odoo quote report view orchestration (#6324)
  • cards: refactor RFID reader into layered helpers and add tests (#6322)
  • simulators: refactor charge point session into async helpers and add regression tests (#6321)
  • Refactor charger management command around verb actions (#6316)
  • release: add concise command aliases and build mode presets (#6318)
  • Streamline video command subcommand interface (#6319)
  • Install and verify Playwright host libraries in env-refresh; add regression tests (#6314)
  • emails: add verb-based email command (#6317)
  • repos-add-positional-repo-command-slug (#6320)
  • nodes-admin-friendly-node-action-aliases (#6315)
  • sites: refactor nav_links into composable helpers (#6312)
  • sigils: refactor token resolution into helpers and add focused tests (#6309)
  • Use repository virtualenv Python for manage.py/pytest subprocesses (#6310)
  • Refactor LCD runner into LCDRunner coordinator (#6308)
  • Move logging utilities to utils.loggers and update imports (#6307)
  • core: add contribution reciprocity guidance (#6306)
  • Remove deprecated Bluesky/Discord social profiles, add drop migration and test (#6304)
  • tests-remove-pr-tagging-requirements (#6305)
  • retire mermaid Flow model (#6303)
  • Move vscode launcher utilities into utils.devtools (#6302)
  • video: remove legacy apps.camera shims (#6301)
  • Move Fitbit to a legacy migration-only app (#6300)
  • Consolidate nginx CLI into `nginx` command, deprecate `nginx_configure`, tighten messages, and add tests (#6299)
  • Remove legacy game app (#6289)
  • bluetooth remove obsolete app (#6298)
  • cards-nfts remove NFT app (#6297)
  • Remove optional liboqs app and its registrations (#6294)
  • security: allow 192.168.129.10 host (#6295)
  • Remove Fitbit app integration (#6290)
  • nginx: add 8443 SSL listeners for wss forwarding (#6292)
  • ocpp: auto accept offered charger certificates (#6293)
  • nginx: avoid inheriting preview-only nginx paths when enabling HTTPS (#6288)
  • repos: guard feedback config when feature table is missing (#6286)
  • install-env-handle-optional-hardware-wheels (#6285)
  • core: handle duplicate auto-upgrade schedules (#6284)
  • deps-docs-fix-satellite-sqlite-install (#6283)
  • Codex-generated pull request (#6282)
  • Codex-generated pull request (#6278)
  • Codex-generated pull request (#6279)
  • Simplify preflight policy tests (#6281)
  • Trim shortcut tests to single end-to-end flow (#6280)
  • ci: expand CodeQL triggers for main and release pushes (#6269)
  • Codex-generated pull request (#6275)
  • Add RFID lockdown and local list actions to chargers command (#6276)
  • chore(deps): bump pyasn1 in the pip group across 1 directory (#6272)
  • Codex-generated pull request (#6273)
  • Remove hardcoded WLAN switching script (#6274)
  • Codex-generated pull request (#6271)
  • ci: install pyyaml in CodeQL setup step (#6270)
  • security-sites: allow 10.42.0.1 login host (#6259)
  • chore(deps): bump pyopenssl from 25.3.0 to 26.0.0 (#6249)
  • chore(deps): bump filelock from 3.25.0 to 3.25.2 (#6248)
  • chore(deps): bump ruff from 0.15.5 to 0.15.6 (#6247)
  • chore(deps): bump black from 26.3.0 to 26.3.1 (#6244)
  • settings: ensure project root is on sys.path during bootstrap (#6268)
  • Codex-generated pull request (#6266)
  • Codex-generated pull request (#6264)
  • Add pre-commit hook to run critical and regression tests (#6263)
  • Fix subnet host validation for local-network admin access (#6261)
  • chore(deps): bump setuptools from 82.0.0 to 82.0.1 (#6243)
  • chore(deps): bump selenium from 4.38.0 to 4.41.0 (#6242)
  • chore(deps): bump charset-normalizer from 3.4.5 to 3.4.6 (#6241)
  • chore(deps): bump pysqlite3-binary from 0.5.4 to 0.5.4.post2 (#6240)
  • Fix /docs/library links in README files (#6255)
  • Bump actions/setup-node from 4 to 6 (#6239)
  • Bump actions/github-script from 7 to 8 (#6238)
  • users: accept forwarded client IPs with ports for admin/admin login (#6260)
  • command: detect systemd-managed Arthexis instance as running fallback (#6258)
  • ci: run full test suite in install job (#6257)
  • docs: fix stale cookbook code-link paths (#6256)
  • Normalize trusted host fallback in share URLs (#6253)
  • Fix links share context fallback QR and host normalization (#6251)
  • Fix share URL building when host validation rejects request host (#6250)
  • Handle DisallowedHost in links share context processor (#6236)
  • Fix nav_links landing validation regression (#6235)
  • Add Ada app-scoped GNATCOLL + SQLite ORM scaffolding (#6232)
  • sites-links: show QR link in share dialog on mobile viewports (#6230)
  • env-refresh.sh: add automatic Selenium install support (#6231)
  • Remove 50 low-value tests and add removal report (#6222)
  • Follow-up: add selenium to install dependencies for hourly health check (#6228)
  • tests: remove node configuration enforcement smoke checks (#6227)
  • Gate Charge Points nav links per-landing with parameterized caching (#6225)
  • Enhance install health issue reporting and auto-close on recovery (#6226)
  • Add Selenium backend and backend fallback to preview command; include selenium app manifest (#6223)
  • Prune legacy and flaky regression tests across apps and scripts (#6224)
  • Relax role validation and update bootstrap smoke tests (#6221)
  • playwright: limit display-headless test to linux runners (#6220)
  • tests: default pytest bootstrap to disable migrations (#6219)
  • Add backward-compatible certificate verification alias, support positional domain in https CLI, fix OCPP log dedupe, and update tests (#6217)
  • tests: remove 50 low-value slow integration/admin cases (#6216)
  • Allow test modules to omit docstrings in AGENTS.md (#6215)
  • Add tests to ensure OCPP coverage output and spec call lists match fixtures/registry (#6214)
  • core: add validated sqlite PRAGMA env configuration on WAL setup (#6212)
  • Prune low-value and flaky tests across multiple test modules (#6213)
  • Add optional pysqlite3 SQLite driver bootstrap and wire into startup (#6211)
  • Fix staff_required behavior and enforce original screenshot MIME type (#6210)
  • Remove deprecated/flaky tests and tidy imports in recipes, nginx, and env-refresh tests (#6207)
  • Limit transaction scope to migration and always trigger nginx update on commit (#6209)
  • Deduplicate duplicate aggregate charger status events across identity keys (#6208)
  • Normalize migration path formatting and harden runserver preflight locking and fingerprint writes (#6206)
  • Fix LCD command tests to avoid unauthorized DB access (#6205)
  • Remove low-value/non-OCPP tests and prune test suites (#6204)
  • Add `https --migrate-from` to migrate site/node domain during HTTPS setup (#6201)
  • Fix failing tests: LCD restart gating, manual-task GitHub trigger, screenshot validation, and pytest marker (#6202)
  • Probe admin HTTP for reachability, prefer live runserver port, and default runserver bind to 0.0.0.0 (#6200)
  • Trim redundant regression tests and keep representative coverage (#6203)
  • Replace deprecated wording with legacy/compatibility copy across commands, docs, and tests (#6198)
  • Add `https --validate` and richer certificate status reporting (#6197)
  • Refactor Evergo tests to use `monkeypatch` and inline fakes (#6196)
  • Remove low-value non-OCPP command tests and update removed-tests manifest (#6195)
  • Add scaffold guardrails for intended Django apps (#6194)
  • Add global `playwright-automation` suite feature and runtime gating (#6192)
  • Add manifests for classification, projects, special, and shortcuts and test manifest discovery (#6193)
  • Document app structure policy and support backend-only app scaffolds (#6191)
  • Fix sqlite retry helpers to tolerate pytest DB access guards (#6190)
  • Improve HTTPS renewal reporting and reapply HTTPS configs after renewals (#6189)
  • Add PR-scoped triggers for CodeQL and PR-safe ZAP baseline scan (#6185)
  • Preserve related prefilter params, add admin configure aliases, screenshot support, and debounce GitHub issue scheduling (#6182)
  • ci: run on push for main/release and guard PR-only context (#6184)
  • Auto-enable LLVM sigils via node feature with graceful fallback (#6183)
  • preview: use throwaway admin user, add --no-login, improve Playwright errors and tests (#6165)
  • Fix feature-toggle defaults in Odoo admin flow and harden OCPP feature tests (#6181)
  • Stabilize nodes split model remote URL test (#6180)
  • merge
  • Remove deprecated/flaky tests and trim admin action test coverage (#6177)
  • playwright-selenium: remove legacy selenium tests (#6179)
  • Fix pytest regressions and resolve ops migration conflict (#6176)
  • merge
  • Fix Task Panels breadcrumb trail for Sigil Builder and task panel views (#6175)
  • Add apps.special registry for introspectable Special Commands (#6171)
  • Fix install-health smoke regressions in ops, nodes, playwright, and projects (#6173)
  • Replace AGENTS.md with comprehensive agent guidelines (#6172)
  • Rebrand Staff Tasks to Suite Tasks (models, migration, admin UI, tests) (#6160)
  • Add Shortcut Management app: models, runtime, views, JS, and feature wiring (#6170)
  • Support refreshing local node feature assignments via --refresh-node and consolidate command (#6169)
  • merges
  • Improve email admin changelists with collector and usage columns (#6057)
  • tests: prune 40 low-value UI/content tests from sites, evergo, and blog suites (#6166)
  • Replace stale action with github-script to close PRs daily and accelerate conflict closures (#6167)
  • Add SecurityAlertEvent model and surface OCPP charger errors to security alerts widget (#6164)
  • Add game app with Avatar model and users.UserFlag (#6149)
  • Unify public feedback and chat widgets into shared includes (#6157)
  • Add SecurityAlertEvent model and switch security alerts widget to persisted events (#6162)
  • Rebrand manual task requests as manual requests (#6161)
  • Polish admin hidden apps toggle styling (#6159)
  • Tone down role architecture warning in README (#6158)
  • Improve linting workflow with Ruff defaults and make targets (#6154)
  • Remove deprecated selenium Firefox utility from CI path (#6156)
  • docs: clarify upgrade channel options in README (#6155)
  • test: remove 30 low-value admin and preview tests (#6153)
  • Fix non-critical repos test failures and routing warnings (#6151)
  • Prevent disabling all OCPP simulator backends (#6137)
  • Add import-resolution checker, pyright config, Makefile/pre-commit wiring; handle optional qrcode in embeds (#6139)
  • Fix non-critical test regressions in seeded/admin/certbot flows (#6150)
  • Migrate selenium imports to playwright and keep selenium migration shim (#6148)
  • ocpp: add simulator management command (#6146)
  • Remove deprecated alexa app entirely (#6147)
  • Prevent pytest recursion into local virtualenvs (#6145)
  • Harden Satellite/Watchtower install defaults and runserver migration preflight (#6125)
  • Refactor Dockerfile to multi-stage build, add HEALTHCHECK, default to production server (#6138)
  • Remove multiple deprecated/flaky tests and streamline release readiness tests (#6144)
  • Remove pyxel app and related integration hooks (#6143)
  • Add per-user environment .env editing in admin and extend preview command for multi-path/multi-viewport captures (#6140)
  • Add optional LLVM-backed sigil scanner with Python fallback and tests (#6141)
  • Add profile-based Docker Compose services for role presets (#6134)
  • feat: add local prototype manager (#6124)
  • merge
  • Refactor QR card markup and update QR card styles (#6123)
  • Unify migration commands into `migrations` (clear/rebuild) and remove `load_user_data` wrapper (#6136)
  • Enable Mobility House simulator backend by default and make backend choices runtime-configurable (#6118)
  • Support multi-path preview captures, per-path diagnostics, and Playwright install in env-refresh (#6132)
  • core: add one-word aliases for legacy management commands (#6131)
  • Support partial order-tracking submissions and show per-step status (#6127)
  • Remove MCP app and command integration surfaces (#6130)
  • Replace share modal helper text with page thumbnail preview (#6120)
  • Update Terminal and Satellite node role acronyms (#6117)
  • Record JavaScript-enabled state and optional screenshot on feedback submissions (#6126)
  • Add Docker entrypoint and role-preset support (#6114)
  • Add setup collector link to Email Inbox admin change form (#6121)
  • Respect NODE_ROLE setting/env when resolving local node role (#6115)
  • Update feedback star meanings and staff copy label (#6119)
  • merge
  • docs: add Satellite and Watchtower readiness review (#6104)
  • Fix stale SQLite test-db artifact cleanup (#6116)
  • chore(deps): bump django from 5.2.11 to 5.2.12 (#6072)
  • NodeRole admin: show local-role checkmark and add superuser switch/restart actions (#6099)
  • chore(deps): bump ruff from 0.15.4 to 0.15.5 (#6067)
  • chore(deps): bump redis from 7.2.1 to 7.3.0 (#6074)
  • Redact MAC values from Node.get_local logs (#6112)
  • desktop: support applications-menu-only launchers (#6113)
  • Harden MCP API key hashing with PBKDF2 (#6111)
  • Add Release Management suite feature and `repo` CLI for GitHub operations (#6107)
  • Fix node feature detector compatibility and test patching points (#6106)
  • docs: update security contact email in Code of Conduct (#6109)
  • Add management command to estimate migration growth over time (#6108)
  • Add desktop notifications when VS Code test runs finish (#6105)
  • Bump actions/github-script from 7 to 8 (#6065)
  • chore(deps): bump charset-normalizer from 3.4.4 to 3.4.5 (#6071)
  • chore(deps): bump import-linter from 2.5 to 2.11 (#6068)
  • Add security alerts aggregation and admin sidebar widget (#6102)
  • Add cdn app with CDNConfiguration model, admin, and tests (#6100)
  • Flatten release helpers into apps.release.services and add compatibility shim (#6093)
  • Fix regressions in admin/docs and flaky seeded slug tests (#6103)
  • merge
  • Refactor nodes models out of generic core package (#6094)
  • Move tests app management command tests to top-level package (#6095)
  • Add public system_ui helper module and migrate call sites (#6096)
  • Add release readiness widget summary and tests (#6098)
  • Demote all regression-designated tests (#6092)
  • Harden project bundle import model permissions (#6087)
  • Include aggregate and pending connector events on charger status, add legacy URLs, and guard admin links (#6090)
  • test: remove 30 low-value admin-focused tests (#6091)
  • Support multi-inbox EmailCollectors and add admin setup wizard (#6086)
  • merge
  • Restrict report runner from superuser-only admin routes (#6088)
  • Expose notable non-transaction events on charger status page and simplify sessions list (#6077)
  • Default Control, Watchtower, and Terminal roles to stable upgrade channel (#6085)
  • chore(deps): bump python-dotenv from 1.2.1 to 1.2.2 (#6064)
  • Bump actions/download-artifact from 7 to 8 (#6066)
  • chore(deps): bump black from 26.1.0 to 26.3.0 (#6070)
  • Add CSMS persistence model-backed tests (#6084)
  • Add legacy CSMS reply forwarding transport tests (#6083)
  • Bump actions/upload-artifact from 6 to 7 (#6063)
  • Add critical regression tests for dynamic import entrypoints (#6078)
  • Add table-driven tests for OCPP client IP resolution (#6082)
  • Prune low-value non-OCPP tests and clean up test suite (#6081)
  • Support multi-inbox collectors and add admin setup wizard (#6062)
  • Add critical regression test to import non-test modules under apps (#6080)
  • Add import-linter contracts for app architecture boundaries (#6079)
  • Fix install health-check import-resolution false positive (#6075)
  • Tighten optional import skip policy in scripts/check_import_resolution.py (#6076)
  • Add project bundling app with admin UI and ZIP import/export (#6059)
  • Hide SessionCookie secrets in Playwright admin (#6033)
  • Remove deprecated capture_admin_preview alias (#6061)
  • Refactor CSMS consumer package paths and make CP simulator connection status matching more robust (#6054)
  • Redact sensitive fields when persisting RecipeProduct artifacts (#6034)
  • Add import-linter and CI step to enforce import contracts (#6058)
  • Add model-to-documentation cross-linking in docs and admin (#6060)
  • Introduce LLM Summary suite feature and centralize parameters; wire admin wizard and node/task gating (#6055)
  • Hide default dashboard success text beside status icon (#6053)
  • Add disabled-by-default Wikipedia Companion suite feature and gate wiki widget (#6041)
  • Polish admin net-message icon and wrap behavior (#6056)
  • Add `charger` alias and control flags: `--rename`, `--send-stop`, `--send-restart`, default-base behavior (#6052)
  • Use views as canonical HTTP entrypoint for release_publish and remove legacy http_views (#6051)
  • Gate LCD summary automation behind new llm-summary-automation suite feature (#6049)
  • Add GitHub issue automation for manual tasks (templates, triggers, scheduling) (#6050)
  • Add pytest-django to base dependencies for pytest support (#6048)
  • Improve release publish progress guidance UX (#6047)
  • Add admin Configure view for feedback->GitHub issue prerequisites and wire into UserStory/RepositoryIssue admins (#6046)
  • Fix ownable admin form recursion on add views (#6042)
  • Clarify Pyxel admin "Open Viewport" behavior for server-side / WSL environments (#6040)
  • Prune obsolete tests and simplify admin custom-CSS enforcement test (#6039)
  • Add Reports staff task and unified admin report runner (#6038)
  • Add selected-record prefiltering for related admin links (#6035)
  • Add unified `create` management command (app/model scaffolds) and `create_local_app` shim (#6037)
  • Add Django `upgrade` management command for upgrade diagnostics and channel switching (#6031)
  • Prefer ocpp1.6j subprotocol; update selection logic, simulators, tests and docs (#6036)
  • Add centralized node feature detection registry and gate hardware features (#6029)
  • Add Lua interpreter support for recipe external-language execution (#6032)
  • Make upgrade policy interval column human-readable (#6030)
  • Add light/dark theme toggle to Evergo order tracking page (#6028)
  • Harden SQLite test DB path and stabilize Evergo/extension tests (#6018)
  • Remove suite feature ownership controls from admin (#6013)
  • Strengthen CI to catch role bootstrap regressions before upgrade (#6022)
  • Refactor camera feature/service reconciliation into Django lifecycle layer (#6023)
  • Add RFID node_features hook and move install detection to Node.refresh_features (#6021)
  • Set Bluetooth discovery scan timeout default to 60s (#6020)
  • Add togglable "OCPP Forwarder" suite feature and gate forwarding paths (#6019)
  • Fix Watchtower upgrade failure when CELERY_BROKER_URL is implicit or legacy (#6016)
  • Add SQLReportProduct, scheduling & rendering services, admin UI, tasks, and tests (#6017)
  • Auto-expand feedback form textareas as users type (#6000)
  • Forward celery flag to manage.py and add certbot preflight for HTTPS provisioning (#6015)
  • mergers
  • Add Playwright app for browser automation and migrate Selenium data (#5993)
  • Add Celery Workers suite feature parameter and lifecycle admin integration (#6011)
  • Move Odoo sync subfeatures into Odoo CRM Sync parameters (#6012)
  • Order tracking: preload remote image previews, feedback/chat UI, and prefill error handling (#6009)
  • Add user group management to password tooling (#6010)
  • Style admin dashboard 'Hide' toggle as dark blue rounded button (#5984)
  • Hide unauthorized dashboard widgets for staff users without model permissions (#5973)
  • Remove selected low-value admin tests except selenium (#5997)
  • Relax Watchtower role Redis validation fallback (#6007)
  • Fix Pyxel admin viewport launcher false-positive success (#6008)
  • Add `app` field to SecurityGroup and grant Charge Station Manager global charger access (#6006)
  • test: remove 40 low-value tests (#6005)
  • Add configurable StaffTask dashboard buttons, admin UI, and system details/restart (#6003)
  • Make simulator backends configurable via suite feature parameters (#6002)
  • Fix multiple regressions: classifier selection, Evergo reloads, feature reset, Odoo payloads, and site context handling (#6004)
  • Fix admin chat CSS alignment and viewport fallback (#6001)
  • Public OCPP: add sample data generator, connector navigation UI, and swipe redirects (#5999)
  • Clean up temporary password admin page styling (#5998)
  • Migrate WhiteNoise runserver integration to underscore-free local app (#5996)
  • Remove AGENTS.md and enforce Admin UI guidance via tests (#5995)
  • Add extension catalog and downloadable ZIPs; seed GitHub resolve-comments helper (#5992)
  • Add systemd-manager feature and gate systemd-dependent auto-detection on systemctl (#5991)
  • Place guest contact opt-in beside email in feedback form, adjust CSS alignment, and add regression test (#5989)
  • Enable Passkey (WebAuthn) login on public sign-in page (#5987)
  • Evergo admin: return loaded IDs, redirect to selected changelist, and scope changelists by id (#5986)
  • Fix missing regex import in anonymous public page rendering test (#5990)
  • Limit public feedback "this page" copy payload to staff users (#5988)
  • Add hourly 'Install Health Check' GitHub Actions workflow (#5981)
  • test(evergo): remove 30 low-value admin UI tests (#5985)
  • Add classification app for image model orchestration and dispatch (#5982)
  • Add 'Reload selected from Evergo' admin actions and profile-level reload helpers (#5983)
  • Fail fast when pytest-django is missing for database tests (#5979)
  • Fix flaky assertion in public pages test feedback prompt (#5980)
  • Add Odoo CRM Sync suite feature and Evergo→Odoo user sync (#5978)
  • Fix non-critical test regressions in shop, links, and navigation (#5977)
  • Handle missing pytest-django fixtures in test plugins (#5976)
  • Add optional shop hours and improve closed-state messaging (#5975)
  • Admin: sync charging-station settings to charge points, hide station-root CPs, and add station column (#5974)
  • Add websocket auth toggles to chargers management command (#5971)
  • Fix non-critical test blockers and optional runtime handling (#5972)
  • Remove/trim numerous legacy regression tests to reduce flaky coverage (#5970)
  • Add Terminal-only Card Shop module pill and landing (seed + migration + test) (#5969)
  • Add Gitleaks secret-scan workflow for pull requests (#5964)
  • CP simulator: combine host and port input, parse host:port, update UI and tests (#5962)
  • Adjust stale PR workflow timing and exempt labels (#5967)
  • Fix Evergo test regressions and add missing PyYAML dependency (#5965)
  • Fix chat unread badge resetting from history replay (#5963)
  • EmailCollector: add optional `notification_recipe` and execute recipes on collect (#5960)
  • Preserve feedback draft values when modal closes (#5961)
  • User feedback form: reposition contact opt-in, update labels, and add responsive CSS (#5958)
  • Make unread chat badge ("New" / "New (X)") purple (#5959)
  • Lazy-load optional qrcode in links QR utilities and add tests (#5956)
  • Handle missing TestResult table during pytest result capture (#5955)
  • Make admin URL prefix configurable and add management command to manage admin settings (#5954)
  • EmailCollector: add notification modes, templates and dispatching (#5953)
  • tests: remove 30 low-value test cases (#5951)
  • Follow-up: secure checkout shop resolution and stale-cart handling (#5950)
  • Add `apps.shop` app with storefront, cart, checkout, and order tracking (#5949)
  • Re-add migration server watch mode and VS Code launcher (#5948)
  • Evergo: Add header quick-actions and WS prefill for tracking form (#5944)
  • Update feedback rating label and horizontal star layout (#5947)
  • Fix CP simulator host/port fields reverting during auto-refresh (#5946)
  • Add --wait flag to status.sh to poll for application reachability (#5943)
  • Prune obsolete/flaky regression tests and simplify site-hosts tests (#5942)
  • Show linked customer on Evergo Order admin (#5941)
  • Show selected export count out of total in admin export summary (#5937)
  • Add backend selector to CP Simulator view (#5938)
  • Ignore simulators runtime state file (#5940)
  • Right-align user chat messages and left-align staff messages; add meta alignment (#5936)
  • Handle optional test dependencies during startup (#5939)
  • Debounce chat presence join/leave flapping (#5934)
  • Fix Evergo Process Order change-form redirect to tracking flow (#5933)
  • Include runtime deps in generated CI requirements (#5932)
  • Respect POSTed selected IDs in admin export confirmation (#5930)
  • Fix test regressions: add runtime markdown deps, prevent enabled-feature delete errors, parse bracketed IPv6, harden test runner, and align command API (#5928)
  • Disable debug mode for VS Code migration and test runners (#5929)
  • Unify pytest xdist args across CI test jobs (#5927)
  • Restore conventional Django INSTALLED_APPS loading (#5925)
  • Fix core model exports and add admin import regression tests (#5924)
  • Declare discovery manifest dependencies for importer apps (#5922)
  • Fix discovery models app label for optional app loading (#5921)
  • Unify node operational commands under node subcommands (#5916)
  • Add critical regression guard for Django model imports across apps (#5918)
  • Remove 50 low-value tests and update empty-test guard (#5919)
  • Guard node upgrade formatting from disabled release app imports (#5915)
  • RFID auth audit: record attempts with reason codes, feature flag, migrations and tests (#5911)
  • Consolidate release commands into single `release` CLI with migration & transform subcommands (#5913)
  • Extract inline admin message CSS to shared stylesheet and add admin UI enforcement guidance (#5914)
  • Add unified `mcp` management command with deprecated legacy wrappers (#5910)
  • Remove protocol import/export commands and add migration deprecation marker (#5912)
  • Unify admin dashboard row action styling for POST actions (#5907)
  • Handle VS Code test launcher Ctrl+C interruptions gracefully (#5906)
  • Prevent deleting enabled Suite Features and centralize enable/disable logic (#5908)
  • ci: run screenshot workflow on general PR and main pushes (#5905)
  • Remove redundant nested `arthexis` package and consolidate resolve tooling under `scripts/` (#5903)
  • Fix critical test selection by removing integration marker overlap (#5904)
  • test: remove 100 low-value non-OCPP test modules (#5901)
  • CI: replace rg usage with grep in workflow scripts (#5902)
  • Keep users app enabled when enabled_apps.lck is present (#5900)
  • Fix transitive manifest dependencies for lock-filtered Django app loading (#5899)
  • test: remove 50 low-value micro-tests and retain behavior-level coverage (#5898)
  • Update daily CI status reporting and Evergo order tracking fixes (#5892)
  • Add GitHub Action to prune branches 24h after PR closure (#5897)
  • Prune obsolete and environment-dependent tests from scripts and VS Code runners (#5895)
  • Mark ownable admin coverage as regression (#5896)
  • Make ChatProfile admin inherit OwnableAdminMixin (#5894)
  • Fix admin regressions in feature actions and dashboard content types (#5893)
  • Fix lock file issue in apps
  • Update Evergo admin status and process-order links (#5890)
  • Introduce DashboardAction model to declaratively define admin dashboard row actions (#5888)
  • Refine Evergo load customers wizard navigation and actions (#5889)
  • Fix pytest bootstrap import path and make RFID QR generation optional (#5886)
  • Add feature metadata and admin-editable runtime parameters (operator default language) (#5887)
  • Refactor feature management CLI: extract ops, add `features` command, and make `feature` operate on a single slug (#5885)
  • Respect celery mode when running Django commands (#5884)
  • Fix find expression spacing in requirement file discovery (#5883)
  • Fix operator notice title contrast on white card (#5882)
  • Have HTTPS provisioning inherit active SiteConfiguration port (#5877)
  • Fix operator interface fallback handler duplication (#5880)
  • Add SuiteTest model and pytest discovery/refresh workflow (#5878)
  • Fix 503 maintenance card text contrast (#5879)
  • Fix route provider app discovery scope (#5876)
  • Add enabled-app lock file and wiring to persist/consume enabled local apps (#5874)
  • Use dark theme backdrop on 503 and operator offline pages (#5873)
  • Tighten route provider registration and deprecate implicit URL fallbacks (#5871)
  • Handle restricted cert paths in HTTPS verification (#5872)
  • Use ContextVar for active app scoping and middleware restoration (#5870)
  • evergo admin: link SO number/status to flows, add Process SO action and cleaner engineer name (#5865)
  • Rebalance critical tests toward OCPP coverage (#5869)
  • Pin cryptography and urllib3 to avoid dependency resolution failures (#5866)
  • Shorten SiteProxy admin changelist column labels (#5867)
  • Refactor base settings into domain modules (#5868)
  • Fix dependency conflict between pyOpenSSL and cryptography (#5864)
  • Add OwnableAdmin to ChargingStation, update Evergo test fixtures and prune brittle tests (#5863)
  • Standardize requirements.txt generation from pyproject runtime deps (#5857)
  • Fix feedback panel overflow in admin and public UI (#5862)
  • Render OCPP operator notice when interface disabled and make manifest staticfiles conditional (#5860)
  • Add channel layer health logging and websocket metrics (#5861)
  • Add strict role profile validation for Django settings (#5859)
  • Add manifest validation regression checks and early CI gate (#5858)
  • Render OCPP operator notice when Operator Site Interface is disabled (#5856)
  • tests: unmark 30 low-value regression tests in pyxel/sites suites (#5855)
  • Unmark stable tests from regression suite (#5853)
  • Add new liboqs app with admin integration and service tests (#5852)
  • Prevent floating chat/feedback toggle overlap with open dialogs (#5851)
  • Retry register_site_apps when SQLite database is locked (#5850)
  • Require running instance for command.sh run and add fast-run execution path (#5849)
  • Right-align chat widget and coordinate chat/feedback overlays (#5848)
  • Prevent implicit docs hash (#constellation) on initial load (#5841)
  • chore(deps): bump certifi from 2026.1.4 to 2026.2.25 (#5837)
  • chore(deps): bump pyxel from 2.6.9 to 2.7.3 (#5834)
  • chore(deps): bump django-mermaid from 0.1.0 to 0.1.1 (#5833)
  • chore(deps): bump filelock from 3.24.3 to 3.25.0 (#5835)
  • chore(deps): bump redis from 7.2.0 to 7.2.1 (#5832)
  • chore(deps): bump ruff from 0.15.2 to 0.15.4 (#5831)
  • chore(deps): bump whitenoise from 6.11.0 to 6.12.0 (#5829)
  • Introduce ChargingStation model and split station-level admin actions (#5845)
  • Add generalized `password` management command, keep `temp_password` as legacy alias, add `force_password_change` field (#5847)
  • Add ocpp migration to repair missing transaction columns (#5843)
  • Rename OCPP 1.6 labels to OCPP 1.6J, add operator interface notice, and accept 1.6J in CLI tooling (#5838)
  • Improve tablet sizing for feedback and chat dialogs (#5840)
  • Infer feature kind for toggle commands (#5839)
  • Render Pyxel dashboard Open Viewport as POST to launch endpoint (#5824)
  • Refactor upgrade pytest xdist detection in CI (#5827)
  • Fix actions admin tests under manifest staticfiles storage (#5826)
  • Fix Evergo admin tests bootstrap stability (#5825)
  • Add LifecycleService changelist action and status report view (#5822)
  • Cleave Evergo admin sync action label (#5823)
  • Improve Remote Actions OpenAPI preview: remove duplicate header, add changelist link and copy-to-clipboard (#5819)
  • Use OCPP consumer constants for supported versions and update operator notice/test (#5821)
  • Add operator interface notice page for OCPP websocket onboarding (#5817)
  • Admin favorites: reorder UI, create-on-GET, seed defaults, and template/logic cleanup (#5818)
  • Support public chat and persist feedback chat opt-in (ChatProfile, site flag, and UI) (#5815)
  • FeatureAdmin: add reload-all confirmation view and bulk toggle action (#5814)
  • Remove legacy seed-data toggle action, update admin action test, and make staticfiles backend selectable (#5816)
  • Limit Suite Feature “From app” filter to used source apps (#5813)
  • Add -s alias for upgrade start flag (#5812)
  • Decouple regression tests from critical marker selection (#5811)
  • Fix Evergo fixture idempotency for loaddata (#5810)
  • Add APIExplorer natural key, deprecate charge-points gating, and retry deferred fixture loads (#5806)
  • Auto-merge conflicting migrations in VS Code migration runner (#5804)
  • Refactor HTTPS management command into modular HttpsProvisioningService (#5803)
  • Speed up PR dashboard screenshot workflow (#5805)
  • Move CPSim toggles to OCPP Simulator suite feature (#5799)
  • merged migrations
  • ci: use xdist auto workers for upgraded pytest marker runs (#5802)
  • Make Evergo email required and primary in Evergo Contractors admin list (#5742)
  • Refactor Django settings into modular package (#5797)
  • ci: remove redundant upgrade dependency ordering check (#5800)
  • Harden manifest app-discovery test to derive expected apps from manifests (#5788)
  • Fix duplicate namespace warnings from route autodiscovery (#5790)
  • Support explicit fixture paths for linting and CI changed-file detection (#5772)
  • Demote 30 slow regression tests from critical to integration (#5774)
  • ci: Gate upgrade integration tests on high-value signals (#5798)
  • tests: remove regression marker from stable test groups (#5732)
  • merged migrations
  • Gate screenshot enablement by runtime eligibility and suite feature (#5727)
  • Handle debugger interrupt propagation in VS Code migration runner (#5795)
  • Enable parallel pytest execution in CI with configurable worker cap (#5787)
  • Replace VS Code test/migration servers with one-shot launchers (#5794)
  • Harden VS Code migration server against transient debugger interrupts (#5793)
  • Handle debugger interrupt races in VS Code migration server output (#5792)
  • Handle debugger interrupt during migration lock cleanup (#5789)
  • Add pre-migration CI guard for migration conflicts and naming (#5781)
  • Gate base-branch pyproject ordering check to scheduled runs (#5786)
  • Prefer routes.py over legacy urls.py to avoid duplicate URL namespaces (#5782)
  • Persist rejected OCPP start attempts as transactions (#5783)
  • Add RecipeProduct persistence, format detection, and Markdown execution for recipes (#5778)
  • Auto-rerun upgrade script after self-update (#5777)
  • Fix psutil-free termination fallback when os.killpg is unavailable (#5780)
  • Add regression test for resolve legacy command parsing (#5779)
  • Remove widespread `critical` pytest markers and update test marker strategy (#5775)
  • Introduce app route-provider convention and reserve config/urls.py for framework routes (#5766)
  • Remove demotion tracking document (#5776)
  • Load local Django apps from per-app manifests (#5770)
  • Refactor pytest conftest into dedicated plugins (#5771)
  • Use workspace-absolute path for dependency sort check (#5769)
  • Remove failing resolve subcommand regression tests (#5768)
  • Fix regressions in widget feature and admin badge tests (#5765)
  • Add short upgrade aliases for latest and force (#5764)
  • test: remove user-listed failing tests (#5760)
  • Refactor pyproject deps into extras and enforce ordering (#5763)
  • Fix duplicate apps.desktop entry in pyproject (#5762)
  • Refactor test markers: remove module-level regression marks and apply targeted markers (#5758)
  • Refactor OCPP tasks into concern-specific package modules (#5755)
  • Consolidate redundant tests with parametrized coverage (#5751)
  • mergers
  • Add DesktopShortcut model, admin, sync services, management command and seed data (#5749)
  • Add heavy node feature safety guardrails and operator warning (#5748)
  • Gate content snapshot action on node `video-cam` feature state (#5747)
  • Coordinate test server with migration server lock state (#5746)
  • Harden resolve subcommand regression helper PATH handling (#5744)
  • merges
  • Add GitHub PR comment support for open pull requests (#5745)
  • Support '*' wildcard for Evergo customer loading wizard (#5741)
  • Add regression test to block new empty test files (#5740)
  • Add Open Viewport link to Pyxel admin dashboard model row (#5733)
  • Add intermediary admin preview for Actions OpenAPI export (#5739)
  • Add configurable AdminBadge, widget feature gating, and Camera sidebar widget (#5738)
  • Remove obsolete test stubs and trim flaky docs/upgrade tests (#5737)
  • merge
  • merge
  • Fix Windows-path handling in migration server file watcher (#5730)
  • Add relation icons to Nodes admin relation column (#5736)
  • Restore screenshot workflow triggers for template changes (#5734)
  • Fix admin template condition syntax and merge features migrations (#5735)
  • Remove legacy wlan1 watchdog cleanup on uninstall (#5728)
  • Add Feedback Ingestion suite feature and gate feedback form UI (#5729)
  • Fix HTTPS renew to refresh and scope certificate due checks (#5725)
  • Rework chat bridge gating into Staff Chat Bridge suite feature (#5726)
  • Auto-manage gpio-rtc feature assignment (#5724)
  • Remove FTP node feature in favor of suite feature (#5720)
  • Add Lightsail instance listing/consolidation, admin load actions and Watchtower AWS credentials rule (#5715)
  • Retire legacy `charge-points` node feature gate for OCPP websockets (#5719)
  • Refactor admin inline styles into shared app CSS pipeline (#5716)
  • Replace Pyxel dashboard button with Open Viewport admin actions (#5706)
  • Polish admin export spacing and summary copy (#5714)
  • docs: remove outdated planning docs from published set (#5712)
  • Refine Evergo Customer admin: columns, links, locality handling, and filters (#5708)
  • Update maintenance page copy to mention backend upgrade (#5710)
  • Add Fitbit integration app with CLI and net message targeting (#5709)
  • Remove obsolete agent.md file (#5711)
  • Tighten API explorer inline methods in admin (#5707)
  • Move token generation from dashboard button to Remote Action Token row action (#5705)
  • Add secure My Evergo Dashboard public view and seed additional Evergo API endpoints (#5703)
  • Remove deprecated management command wrappers; consolidate OCPP implementations (#5704)
  • Add prompts app to persist original requests and enforce prompt fixtures (#5701)
  • Add prompts app to persist original requests and enforce prompt fixtures (#5701)
  • Remove update PR review guidance document (#5702)
  • Remove legacy and flaky management-command smoke tests (#5697)
  • Fix cross-platform resolve regression tests and migration staging paths (#5698)
  • Remote Action Token admin: default owner/expiry and one-click generator (#5693)
  • Add features management command for suite and node flags (#5696)
  • Fix VS Code watcher path handling on Windows (#5674)
  • Fix release publish template token condition syntax (#5695)
  • Remove bulk user-data toggle action from admin changelists (#5694)
  • Split AlexaAccount ownable fields into a bottom admin section (#5692)
  • Fix Pyxel admin action button height (#5691)
  • Shorten admin password link label (#5690)
  • Add operational log dashboard to admin Log viewer and recommend Grafana Loki (#5687)
  • Ignore superseded open OCPP transactions in status view (#5688)
  • Add public Evergo order-tracking (phase one) with unified form, image handling and API submission (#5684)
  • Capture and display OCPP session stop reasons in connector status (#5686)
  • Skip CI jobs when pull requests are in draft state (#5685)
  • merge
  • merge
  • Remove requested targeted tests across app suites (#5682)
  • docs: clarify 'suite' vs 'Constellation' and refine Suite service wording (#5681)
  • feat(apis): seed Evergo API endpoints via fixture and reversible migration (#5669)
  • Enforce admin UI framework for templates: add regression tests and docs (#5678)
  • Add file attachments and role-based feedback limits to user story forms (#5672)
  • Add Developer Library link to admin docs index (#5679)
  • Improve Evergo customer export UX in admin (#5677)
  • Address admin review feedback for Evergo customers
  • Update Evergo customer admin status, filters, and phone display
  • Fix Pyxel admin button styling and launch validation
  • Harden deferred release transforms and simplify command args
  • Move release data transforms to checkpointed background flow
  • Fix nmcli error handling and strengthen AP regression assertions
  • Fix nmcli AP detection when mode is not marked ap
  • Fix inactive policy handling in auto-upgrade flows
  • Tune upgrade policy defaults and admin labels
  • Add activatable upgrade policies in admin
  • Add optional admin app priority ordering with tie suffixes
  • Adjust calendar task schedules
  • Address deferred migration review feedback
  • Defer node data migrations into checkpointed background task
  • Fix release bundle path handling and same-version migration sync
  • Add signed release migration bundles and offline apply command
  • Fix video service defaults and simplify float forwarding
  • Refactor video command into sub-actions with legacy shims
  • Refactor release action dispatch to dynamic handlers
  • Unify release management commands under release subcommands
  • Fix video wrapper replacement metadata
  • Mark legacy lcd/video wrappers as absorbed commands
  • Restrict admin upgrade quick action to superusers
  • Add Upgrade quick action to admin dashboard
  • Add PR-scoped pytest selection and fix resolve compatibility tests
  • Add admin-equivalent customer load mode to evergo command
  • Tighten Pyxel admin button HTML assertions
  • Adjust admin dashboard action buttons and add regressions
  • merge
  • Clarify review-thread resolution wording in AGENTS guidance
  • Replace auto-resolve workflow with agent guidance
  • Add pre-commit guard for PR-marked tests with ISO date
  • Refactor detached deploy flow to pre-migrate before service switch
  • Address review feedback for migration baseline release flow
  • Add migration baseline policy tooling for release trains
  • Fix nav visibility regression test for anonymous operator param
  • Harden operator interface redirects and loop handling
  • Address operator interface review comments
  • Add operator site interface suite feature gating
  • Stabilize mobilityhouse proposal dependency tests
  • Propose Mobility House-based EVCS simulator v2
  • Refine Evergo customer page for portrait and print layout
  • Fix changelist load_employees action CI regression
  • Address remaining PR comments for Odoo employee import
  • Harden Odoo employee import admin action
  • Add Odoo employee load tool action
  • Fix packaged resolve CLI helper and shim fallback
  • Add arthexis resolve subcommand with legacy shim
  • Fix feature rename migration collision handling
  • Rename development blog suite feature slug and label
  • Rename hardware requirements file to requirements-hw
  • Address PR review feedback for API explorer models
  • Add API Explorer models and admin registration
  • Fix RFID status ping handling and restore reader import
  • Avoid scanner lock mutation in default RFID status
  • Add default RFID status output when no action is provided
  • Add local-only Pyxel live stats launcher to admin dashboard
  • Fix --no-irq scan path and strengthen coverage
  • Add RFID check option to force non-IRQ polling
  • Fix Evergo customer wizard permissions and error UX
  • Move Evergo load customers action to customers admin
  • Harden docs blurb extraction and library item URL handling
  • Fix blurb parsing after headings
  • Fix document blurb front matter parsing and truncation
  • Revamp developer docs library layout with blurbs
  • Fix calendar timezone/transaction regressions in tests
  • Fix Alexa owner constraints and ownable admin CI failure
  • Add Alexa accounts and reminder delivery models with admin tooling
  • docs: refresh quick guide development and admin links
  • Address remaining command API review feedback
  • Address PR review feedback for command API wrappers
  • Unify command wrappers behind shared command API
  • Handle autogrow initialization for newly added admin inlines
  • Make suite feature admin textareas compact autogrow
  • Add EV charging session calculator to AWG reports
  • Use mocks for ContentType db-alias regression test
  • Fix sigil loader ContentType DB alias lookup
  • Fix calendar trigger robustness and URL handling
  • Add Google Calendar tracking and event-trigger task integration
  • Handle migrate --check status safely in preflight
  • Fix runserver preflight error handling for migrate checks
  • Speed up startup migration preflight path
  • Rename and alphabetize admin dashboard top-bar actions
  • merge
  • Scope dashboard hide controls to admin index
  • Add client-side hidden app controls on admin dashboard
  • Address open review comments in system UI refactor
  • Fix ui package re-export for uptime boot helper
  • Refactor system ui module into package
  • Force module pills to stay inline in collapsed navbar
  • Enforce visibility checks for public reference frame view
  • Move reference public frame to site view and simplify url bar
  • Resolve SMB PR review comments
  • Fix SMB Wikipedia link mapping
  • Add SMB management app with admin and smb command
  • Harden stale site-packages cleanup logic
  • Clean stale pip metadata before requirements install
  • Enhance admin log viewer metadata and action alignment
  • Simplify admin log viewer to always show full logs
  • Enforce SessionCookie ownership and align model indexes
  • Address PR feedback for SessionCookie safety and validation
  • Make session cookies ownable by user or security group
  • Add persistent session cookie model for selenium automation
  • Refactor dashboard favorite sorting tests to reduce duplication
  • Sort admin dashboard favorites alphabetically
  • Update upgrade.sh
  • Handle generated merge migrations during upgrade prep
  • Address admin UI framework review comments
  • Apply admin UI framework to ocpp simulator and resolve migration conflict
  • Introduce shared admin UI framework and prototype in nmcli views
  • Address NFT review comments for transfer integrity
  • Normalize NFT/RFID naming and identity pluralization
  • Add nfts app with RFID-transferable identity models
  • merge
  • Handle migration server interrupts during dependency install
  • Fix desktop extension validation edge cases
  • Add desktop registered extension app with admin registration
  • Address remaining review comments for actions follow-up
  • Address PR review feedback for actions admin/api/openapi
  • Add remote actions app with bearer API and OpenAPI export
  • Resolve remaining power calculator review comments
  • Address PR review feedback for power calculator precision
  • Add electrical power calculator for field sizing
  • Address PR review comments for video model refactor
  • Refactor video models into modular packages
  • Refactor docs public route tests per review feedback
  • Add route-focused docs public URL regression tests
  • chore(deps): bump ruff from 0.13.2 to 0.15.2
  • Address PR doc review feedback for watchtower playbook
  • Propose Codex skill for watchtower attack drills
  • Fix gdrive admins to include OwnableAdminMixin
  • Fix gdrive review issues and pytest import collisions
  • Add gdrive app with Google Sheets virtual table integration
  • Refactor WhatsApp webhook route tests
  • Add public route regression coverage for sites pages
  • Address bluetooth PR review feedback and reliability issues
  • Add bluetooth app with admin discovery and CLI management
  • Refactor OCPP footer regression tests with parametrization
  • Fix footer fragment fallback and merge features migrations
  • Update Evergo order admin contact and aging fields
  • Address blog review feedback on validation and safety
  • Fix blog URL canonicalization and body/sigil rendering
  • Add maximal engineering-focused Development Blog app
  • Fix reload base admin action POST, permissions, and atomicity
  • Rename suite feature source label to Main
  • Add suite feature source and reload base admin tool
  • Fix admin action choices default and dedupe handling
  • Deduplicate admin action choices for user data mixin
  • Harden OCPP FTP rebrand migration behavior
  • Rebrand OCPP FTP suite feature to OCPP-aware FTP Server
  • Enforce F823 lint checks to prevent shadowing runtime errors
  • Fix Evergo admin action wiring and regression test
  • Fix Evergo admin Load Orders link to shared load wizard
  • Fix placeholder cleanup variable shadowing in Evergo order upsert
  • chore(deps): bump psycopg from 3.3.2 to 3.3.3
  • chore(deps): bump playwright from 1.55.0 to 1.58.0
  • Fix unified nginx migration cleanup and failing tests
  • Unify managed and primary nginx config rendering
  • Remove critical markers from nginx unit tests
  • Refactor nginx site config loading into parser/discovery services
  • Refine critical markers for docs utility tests
  • Update apps/ocpp/tests/test_ocpp_handlers.py
  • Mark 20 OCPP handler tests as integration
  • Address Evergo model review feedback
  • Refactor evergo models into package modules
  • Refactor payments models into provider modules
  • Stabilize parse-loop boundary assertion in WSL sudo test
  • Defer WSL sudo priming until after option parsing
  • Prime sudo credentials early in WSL upgrade flow
  • Address PR review feedback for links model exports and imports
  • Refactor links models into package modules
  • docs(locale): convert localized README relative links to canonical GitHub URLs
  • Fix localized license badge links to absolute URL
  • Handle SQLite special names and robust writability check
  • Stabilize pytest SQLite path handling in read-only environments
  • Handle related feature rows during Evergo slug migration
  • Rework Evergo feature seed to API client
  • docs(locale): fix upgrade channel defaults and cadence
  • docs: refresh localized README upgrade guidance
  • Make pytest durations count configurable in test server
  • Increase per-section pytest duration output to top 10
  • Refactor celery broker outage tests with parametrization
  • Handle Celery broker outages without stack traces
  • chore(deps): bump filelock from 3.24.2 to 3.24.3
  • Fix sudo credential prompt handling in WSL flows
  • Improve WSL sudo credential prompting in upgrade flow
  • Address PR review feedback for SiteConfiguration upsert
  • Fix env-refresh duplicate SiteConfiguration fixture loading
  • Harden charger admin action remote and diagnostics flows
  • Refactor charger admin actions into domain mixins
  • Harden protocol_call decorator action extraction
  • Fix OCPP CP->CSMS coverage detection regressions
  • Fix Evergo review nits and seed fixture upgrade failure
  • Fix Evergo customer wizard security and review issues
  • Refine Evergo customer wizard defaults and layout
  • Add Evergo customer sync wizard with provisional order support
  • Handle startup interrupt retry in migration server
  • Fix migration server debugger auto-restart interrupt handling
  • Address remaining release publish review comments
  • Address remaining release publish review comments
  • Address release publish review comments
  • Refactor release publish flow into modular pipeline package
  • chore(deps): bump psycopg-binary from 3.3.2 to 3.3.3
  • Address review comments in GoDaddy and availability fallback
  • Fix Windows and OCPP regression test failures
  • chore(deps): bump pyxel from 2.6.5 to 2.6.9
  • Harden HTTPS remediation command hints
  • Adjust expired cert guidance to prefer --renew over forced reissue
  • Fix fixture natural key compliance and move preview styles
  • Fix nginx preview form alignment and add preview fixture
  • Address PR review feedback for OCPP feature split
  • Split OCPP charge point suite feature by protocol version
  • Refactor CSMS consumer into package with handler/transport modules
  • Hide admin login header badges and feedback toggle
  • Fix legacy NetMessage import compatibility in node module
  • Split node core models and extract node services
  • Fix nginx default site cleanup for certbot HTTP-01 bootstrap
  • Refactor user story dashboard rule tests with subtests
  • Fix user story dashboard rule for closed stories
  • Address Evergo admin review feedback
  • Fix Evergo admin user sync actions on change form
  • Preserve certbot lineage paths during HTTPS renewals
  • Address Odoo command review feedback
  • Add Odoo management command for integration state and RPC queries
  • Address MCP review feedback on error handling and safeguards
  • Rework MCP server around operational tools and GraphQL access
  • Fix release publish token helper and git status parsing
  • Refactor release_publish into explicit operation modules
  • Address ops PR review comments and harden security
  • Add ops app with operation screens, tracking, and admin widget
  • Resolve PR review comments for call error handlers
  • Refactor call error handlers into domain package
  • Address PR review nits for TLS forwarding options
  • Skip WSS cert checks for trusted forwarding nodes
  • Address PR feedback for GraphQL chart access and CI issues
  • Add GraphQL app and wire charger status charts to GraphQL
  • Handle stale camera-service status and frame-id-less sampling
  • Wait for fresh cached frames between video samples
  • Prefer camera-service Redis frames for video sampling
  • Fix charger admin wrapper signatures and action metadata
  • Refactor legacy charger admin module into package layout
  • Preserve reference links while deduplicating migration rows
  • Fix links reference unique-constraint migration dedupe
  • Address Playwright migration review feedback
  • Migrate selenium browser automation to playwright
  • Re-raise task cancellation in CSMS consumption loops
  • Address remaining review feedback on legacy transaction and RFID helpers
  • Address remaining PR review findings and quality issues
  • Fix CSMS mixin entrypoints and address review feedback
  • Refactor OCPP consumer into focused mixin modules
  • Narrow Ruff gates to critical syntax checks
  • Require Ruff checks before PR and in CI
  • Enforce unique reference natural key and cover ambiguous legacy lookup
  • Fix reference natural key collisions during fixture load
  • Fix https command regressions and validate cert domains
  • Handle certbot challenge failures with actionable https command guidance
  • test: mark additional slow-running tests
  • Address remaining DNS hint review comments
  • Harden HTTP-01 DNS triage hints and stabilize tests
  • Improve HTTP-01 certbot failure guidance with DNS resolution hints
  • Add Evergo order sync models and load orders admin tool
  • Address teardown review feedback for rejected websocket tests
  • Stabilize websocket teardown for rejected connections
  • Harden godaddy command secret handling and address review nits
  • Add godaddy management command for credential CRUD
  • Fix vscode server process-group fallback regressions
  • Fix evergo command test network mocking regression
  • Fix default command paths and address PR review feedback
  • Add regression coverage for server subcommands without VS Code CLI
  • Add consolidated test and migrations management commands
  • Fix remaining command.sh review comments
  • Address PR review comments for command deprecation refactor
  • Use decorator metadata to hide absorbed commands in command.sh
  • Harden Docker runtime command and recursive ignore patterns
  • Add Dockerfile for containerized Django runtime
  • Restrict health MCP command access and dedupe discovery test
  • Enable health command for MCP remote discovery
  • Fix maintenance category selector and compact help list
  • Strengthen Evergo admin changelist regression assertions
  • Show Evergo email in admin list columns
  • Narrow Windows nmcli skip to setup script tests
  • Skip nmcli tests on Windows during collection
  • Add section index links on Django config admin page
  • Group Django config settings by repeated prefixes
  • Fix Evergo login origin header and session context handling
  • Fix Evergo login flow to prime CSRF session
  • Resolve open review feedback for unified video commands
  • Unify camera management actions under video command
  • Harden nmcli setup regression test environment
  • Fix Windows bash env in nmcli setup regression test
  • Refactor VS Code requirements update into shared helper
  • Handle interrupted test server requirements updates
  • Handle WSL vs MSYS bash paths in nmcli setup tests
  • Fix nmcli script tests for Windows bash path handling
  • Fix POSIX fallback to terminate isolated process groups
  • Make migration server resilient when psutil is unavailable
  • Handle nginx local config permission errors with helper hint
  • Fix documentation hyphenation in lifecycle and OCPP manuals
  • Address PR review comments on docs command syntax
  • Clean invalid inline file citations from documentation
  • Handle migration check subprocess cleanup on interrupt retry
  • Retry transient migration-check interrupts in test server
  • Remove unreachable return in RFID local scan loop
  • Fix deprecated RFID wrappers argument forwarding
  • Add canonical rfid command group with deprecated wrappers
  • Refine bash launcher output normalization
  • Handle NUL-separated Windows bash launcher errors
  • Update docs/development/standalone-desktop-implementation.md
  • docs: remove http:// literals from desktop implementation guide
  • Handle interrupt cleanup for pytest subprocess
  • Harden VS Code servers against Windows startup interrupts
  • Clean subprotocol negotiation fallback and dead variable
  • Treat OCPP 1.6J websocket subprotocol as OCPP 1.6
  • Introduce unified health command with check wrappers
  • Refactor core MCP shims and unify compatibility tests
  • Deprecate core MCP command duplicates with shim warnings
  • Add unified lcd command with subcommands and compatibility wrappers
  • Address PR review comments for unified OCPP commands
  • Add unified ocpp management command with deprecated wrappers
  • Address PR feedback on node command security and wrappers
  • Consolidate node management commands under node subcommands
  • Isolate env-refresh subprocess group on Windows
  • Clarify IPv6 fallback heuristic limitation comment
  • Follow-up: tighten IPv6 fallback validation and host regex
  • Fix bare IPv6 fallback parsing in request host resolver
  • Add missing regression marks and fallback host tests
  • Harden DisallowedHost fallback host parsing
  • Handle disallowed admin hosts in badge context processor
  • Harden Playwright screenshot template flow
  • Add repo-local Codex skills for change safety and UI previews
  • Prevent auto-enabling manual node features during discovery
  • Add manual feature toggles to node feature discovery
  • Mark bash recipe tests as regression and harden launcher case
  • Refine Windows bash failure signature matching
  • Normalize Windows bash launcher output matching
  • Fix Django with-tag syntax in admin log viewer template
  • Improve Evergo admin presentation and add admin accessibility tests
  • Add Evergo 2FA metadata sync and seed Evergo Integration feature
  • Fix Windows shell basename normalization on POSIX
  • Fix Windows bash fallback detection for recipes
  • Fix nmcli profile parsing and harden nmcli setup tests
  • Add nmcli setup script for wlan role swap
  • Fix Celery nodename escaping and embedded fallback
  • Assign unique Celery worker nodenames to prevent duplicates
  • Fix Windows bash candidates and hermetic bash sigil test
  • Address PR review comments for bash shell safety and fallbacks
  • Fix Windows bash fallbacks for recipe execution
  • Refine pytest argv detection and extend guard tests
  • Fix first-run VS Code test server KeyboardInterrupt
  • Fix bash fallback ordering and shell-missing detection
  • Fix Windows bash recipe execution and certbot provisioning kwargs
  • Resolve webhook review comments and harden ingestion
  • Harden webhook contact parsing and clean payload import
  • Add WhatsApp inbound webhook routing and message storage
  • Fix admin dashboard favorite tags in if block
  • Fix revert safety and preserve revert target on rerun
  • Add working --revert flow to upgrade script
  • Fix certbot lineage path normalization on Windows
  • Handle interrupted migration checks in test server
  • Handle startup interrupts gracefully in migration server
  • Skip postgres probing unless postgres is configured
  • Fail fast when probing PostgreSQL availability
  • Fix INSTALLED_APPS dedupe normalization and naming
  • Avoid app imports while deduping installed apps
  • Optimize dashboard favorite content type resolution
  • Use UTF-8 for migration check output decoding
  • Handle hanging migration check in VS Code test server
  • Disable migration server notifications for non-interactive runs
  • Lazy-load VS Code notifier to avoid startup import chain
  • Address remaining PR review comments
  • Resolve open review comments for certbot force-renewal paths
  • Handle certbot lineage path changes after force renewal
  • Address PR review feedback for SQLite test portability
  • Fix Odoo product admin tests and harden sqlite test setup
  • Avoid blocking FQDN lookup during Django settings init
  • Document segmented pytest marker group precedence
  • Avoid duplicate test runs across segmented marker groups
  • Handle force-renewal unknown expiration and cleanup test tempdirs
  • Stabilize pytest SQLite paths to avoid disk I/O errors
  • Fail https force-renewal when cert remains expired
  • Add CI-style screenshot capture step to test server
  • Cache docs fallback library and harden missing-doc detection
  • Add docs missing-page fallback for preview routes
  • Remove debug branches from python bin cache test
  • Harden empty PATH python bin cache regression test
  • Fix misplaced noqa in GoDaddy certbot test double
  • Fix godaddy certbot test double signature
  • Fix GoDaddy certbot builder backward compatibility
  • Improve https cert renewal handling and expiry warnings
  • Address PR review nits in python-bin resolution tests
  • Harden python-bin resolution test environments
  • Fix Windows drive-letter PATH separator detection
  • Harden python helper PATH parsing and cache scoping
  • Address Evergo review feedback and CI failures
  • Add Evergo integration app with profile sync and CLI command
  • Harden python interpreter lookup in shell helper
  • Address PR feedback for selected-order admin view
  • Support admin preview POST flow for Odoo order search view
  • Fix Odoo order search action routing via dedicated admin view
  • Add Odoo product admin action to search matching orders
  • Avoid logging raw trigger comment body in resolver workflow
  • Fix PR thread resolver trigger matching for Codex comments
  • Address review feedback on certbot challenge guidance
  • Improve certbot challenge failure diagnostics
  • Address MCP follow-up review comments
  • Fix MCP CI admin module and compatibility shims
  • Move MCP API key and server logic into dedicated mcp app
  • Fix PATH-empty cache hits in arthexis_python_bin
  • Fix python helper cache to respect PATH changes
  • Fix remaining LCD prefetch staleness and counter drift issues
  • Fix LCD prefetch race and freshness issues
  • Add threaded LCD cycle prefetch to reduce rotation gaps
  • Address remaining email command review feedback
  • Handle explicit zero IDs in email command updates
  • Fix email command review issues and add regression tests
  • Add email management command for reporting, config, send, and search
  • Fix webroot certbot tests to avoid privileged mkdir in CI
  • Switch HTTP-01 certbot flow to webroot and manage challenge location
  • Restore nginx certbot plugin for HTTP-01 flow
  • Use standalone certbot flow instead of nginx plugin
  • Add canary deployment workflow and runner setup
  • Harden llm-summary detection and dedupe tests
  • Fix llm-summary auto-feature detection
  • Fix cross-platform python bin resolution regression tests
  • Fix stale LCD frame cleanup edge cases
  • Use per-frame LCD channel lock files for summary output
  • Harden review-thread resolver trigger and pagination
  • Add workflow to resolve older PR review threads
  • Harden missing certbot handling and OS detection
  • Improve certbot missing-binary guidance for https provisioning
  • Handle IntegrityError transaction state in Node.get_local
  • Harden SELF MAC refresh conflict handling
  • Refresh stale self-node MAC in Node.get_local
  • chore(deps): bump filelock from 3.20.3 to 3.24.1
  • Address PR review comments for site host parsing and HTTPS disable
  • Add site-driven allowed hosts and https --site support
  • Force summary run-now output to fixed 10 frames
  • Refactor summary run-now execution into service
  • Refresh summary config after --run-now
  • Add --run-now option to summary command
  • chore(deps): bump webauthn from 2.7.0 to 2.7.1
  • Add optional app linkage for references and show in app admin
  • Use JSON-RPC-specific error codes in stdio handler
  • Resolve PR review comments for MCP server robustness and security
  • Add MCP server for remote-enabled Django commands
  • Fix issue intake label matching and pagination
  • Add unified issue-intake GitHub Actions workflow
  • Address PR comments on python PATH scanning
  • Fix PATH scanning regressions in python helper resolution
  • Fix python helper PATH-scoped interpreter resolution
  • Address PR review comments for summary command
  • Add summary management command for LCD summarizer status
  • chore(deps): bump reportlab from 4.4.9 to 4.4.10
  • Update GitHub Sponsors username in FUNDING.yml
  • chore(deps): bump redis from 7.1.0 to 7.1.1
  • chore(deps): bump markdown from 3.10.1 to 3.10.2
  • docs: remove leftover watchtower badge assets
  • docs: remove Watchtowers badge from README
  • ci: always build baseline before upgrade checks
  • ci: skip default-branch install when venv cache is valid
  • Address PR review feedback for regression guard fixes
  • Fix regression tests and seed new regression guards
  • chore(deps): bump pillow from 12.1.0 to 12.1.1
  • Quote and normalize sort path in shell test wrappers
  • Harden cross-platform shell helper test path handling
  • Fix python bin resolution tests for Windows bash lookup
  • chore(deps): bump pytest-django from 4.11.1 to 4.12.0
  • Fix venv interpreter usage and python candidate ordering
  • Improve install Python interpreter discovery for python3.x aliases
  • Harden install venv handling for stale CI caches
  • Pin CI Python to 3.13 and declare supported range
  • Remove local IP lock host injection flow
  • chore(deps): bump pyxel from 2.6.1 to 2.6.4
  • chore(deps): bump setuptools from 80.10.2 to 82.0.0
  • docs: fix script citations and remove deprecated start flags
  • docs: clarify runtime flags and fix lifecycle references
  • docs: align script guides with current install/start options
  • Fix registration package docstring and socket export
  • Harden registration CORS/proxy handling and restore compatibility
  • Refactor node registration view into modular package
  • Resolve PR feedback for call result handler refactor
  • Refactor OCPP call result handlers into domain package
  • chore(deps): bump wcwidth from 0.4.0 to 0.6.0
  • Fix cert provision dispatch test for sandbox arg
  • Add sandbox override flags for GoDaddy HTTPS provisioning
  • Harden bash recipe execution environment and validation
  • Harden bash recipe env handling and subprocess errors
  • Support bash recipe bodies and monospace admin editor
  • Fix filename sanitization test expectation
  • Harden extension archive download endpoint
  • Add admin extension ZIP download and site-detection badge bootstrap
  • Guard release workflow polling interval against busy-spin
  • Fix release publish resume token/workflow lookup regressions
  • refactor: split release publish view into package layers
  • Address PR feedback on OCPP handler typing and routing
  • Refactor OCPP base consumer into modular package
  • Fix GoDaddy certbot args for wider certbot compatibility
  • Fix frame cache URL to use computed settings value
  • Add Redis URL fallback for MJPEG frame cache
  • Harden GoDaddy prompt test input stubbing
  • Fix GoDaddy credential prompt when stdout is redirected
  • Address PR review feedback for desktop plan docs
  • Add concrete standalone desktop implementation plan
  • Harden PermissionError handling in log rollover
  • Handle Windows log rotation lock conflicts
  • Improve HTTPS command certbot/godaddy enable flow
  • Refactor duplicate lcd_write sigil tests
  • Fix GoDaddy certbot sudo/env and hook path handling
  • Add GoDaddy DNS validation mode to HTTPS tooling
  • Consolidate duplicated recipe execution tests
  • Fix polling activation when session starts after page load
  • Limit charger status polling to active sessions
  • Fix RequestStartTransaction updates for rejected starts
  • Fix OCPP pending call serialization and transaction request updates
  • Stabilize log rotation tests by delaying file handles
  • Move base template assets to static files
  • chore(deps): bump pyftpdlib from 2.1.0 to 2.2.0
  • Handle psutil uptime fallback safely
  • Fix suite uptime psutil fallback
  • Log suite uptime at startup
  • chore(deps): bump opencv-python from 4.13.0.90 to 4.13.0.92
  • Refine CP status docs and mermaid handling
  • Add developer docs library and mermaid rendering
  • Add CP status documentation
  • Truncate discovered test node IDs
  • Harden admin test discovery
  • Trim discovered test names for field length
  • Fix gettext alias shadowing in admin actions
  • Improve test discovery robustness
  • Add discover action for test suite
  • chore(deps): bump django from 5.2.10 to 5.2.11
  • Add base relief cycles for sticky LCD messages
  • Refactor charger status polling helpers
  • Stop status polling when tab inactive
  • Refine active transaction fallback
  • Fix status fallback for active transactions
  • Harden forwarding policy checks
  • Deduplicate forwarding sessions per charger
  • Restore video command tests and harden doctor
  • Add video doctor diagnostics
  • Remove backticks from email placeholders
  • Wrap feedback copy strings
  • Use file check for RFID service lock
  • Fix RFID debug service name lookup
  • Harden migration server base directory
  • Support VS Code Remote SSH workspace roots
  • Fix node info port assertion
  • Fix node-info test port expectation
  • Enhance node info registration assertions
  • Update node info registration test
  • Update Bootstrap CDN links
  • Harden extension options delivery
  • Add hosted JS extensions app
  • Address thermometer sampling test review notes
  • Use real temperature file in sampling test
  • Remove MJPEG fallback from video stream
  • Update apps/nodes/models/core/node.py
  • Update apps/nodes/models/core/node.py
  • Refactor node core models into package
  • Add MJPEG fallback for video stream
  • Use lock file active check in detection
  • Update apps/cards/detect.py
  • Avoid RFID detect conflicts with running service
  • Fix simulator security and test expectations
  • Update apps/simulators/evcs.py
  • Update apps/simulators/charge_point.py
  • Harden simulator access and scheduling
  • Add simulators app with scheduling model
  • Update apps/ocpp/store/transactions.py
  • Fix log concurrency and transaction lookups
  • Fix log since filtering and transaction matches
  • Log session resolution failures
  • Address OCPP store concurrency and safety fixes
  • Re-raise cancellation in session lock task
  • Fix store facade log module usage
  • Address store module review feedback
  • Update apps/ocpp/store/__init__.py
  • Update apps/ocpp/store/state.py
  • Refactor ocpp store package
  • Fix admin action transaction import
  • Clear existing default simulators
  • Refactor simulator default admin action
  • Add dashboard rule for default CP simulator
  • Add admin action to mark simulators default
  • Restore pytest colors in test server
  • Deduplicate LCD event expiry parsing
  • Increase RFID event duration
  • Add docstrings for event helpers
  • Update LCD event channel handling
  • Mark integration tests
  • Update soft delete cache invalidation test
  • Fix user story dashboard rule cache invalidation
  • Fix certificate renewal logging and status
  • Address certificate renewal feedback
  • Update apps/certs/models.py
  • Track certificate expiration and renewal
  • Refactor admin/action helper utilities
  • Fix initial location prefill selection
  • Refactor charge point admin package
  • Harden nginx instrumentation sudoers
  • Update scripts/instrument-nginx.sh
  • Update scripts/instrument-nginx.sh
  • Add nginx instrumentation helper script
  • Update apps/cards/management/commands/rfid_service.py
  • Update apps/cards/management/commands/rfid_service.py
  • Update apps/cards/management/commands/rfid_service.py
  • Stop systemd RFID service when starting debug
  • Improve command cache resilience
  • Cache command list in command wrapper
  • Mark additional tests as slow
  • Add admin context to trust page
  • Handle EOF when draining stdin
  • Fix RFID scan prompt flushing
  • Update scripts/helpers/local_ip_lock.py
  • Fix local IP lock helper imports
  • Persist local IPs for allowed hosts
  • Refactor RFID interactive stop handling
  • Improve RFID diagnostics and logging
  • Fix https config updates and verification
  • Refactor https command helpers
  • Add HTTPS management command
  • Fix rfid doctor timeout default
  • Fix node-aware FTP feature check
  • Optimize FTP admin action by node
  • Update apps/ocpp/models/charger.py
  • Add suite feature for OCPP FTP reports
  • Increase RFID doctor scan timeout
  • Simplify test results persistence context
  • Update apps/tests/domain/test_results.py
  • Enable test server to persist results to primary DB
  • Handle DisallowedHost in site lookup
  • Add upgrade policy review link
  • Update apps/core/tasks/auto_upgrade/runner.py
  • Update apps/core/tasks/auto_upgrade/runner.py
  • Update apps/core/tasks/auto_upgrade/runner.py
  • Remove unused nginx mode handling
  • Refactor auto-upgrade tasks into package
  • Ensure release cleanup and tag push output
  • Fix release helpers for requirements and typing
  • Harden release upload flows
  • Update apps/release/release/models.py
  • Update apps/release/release/builder.py
  • Update apps/release/release/__init__.py
  • Update apps/release/release/builder.py
  • Refactor release module into package
  • Allow call result handling without raw payload
  • Fix optional raw handling in call error
  • Fix admin feature toggle redirects
  • Update apps/features/admin.py
  • Add hot features dashboard widget toggle
  • merge
  • Fix lifecycle services admin path and safety checks
  • Add lifecycle services model and config
  • Address forwarding review feedback
  • Update apps/ocpp/forwarder/__init__.py
  • Update apps/ocpp/forwarder/__init__.py
  • Update apps/ocpp/models/cp_forwarder.py
  • Update apps/ocpp/forwarder/__init__.py
  • Add bidirectional CP forwarding metadata and controls
  • Add ClassVar annotations to features migration
  • Update apps/modules/admin.py
  • Rename suite features labels
  • Refine user story assignment rule
  • Ignore spam user stories in dashboard rule
  • Address hardware dependency install feedback
  • Update env-refresh.sh
  • Gate hardware requirements behind install flags
  • Ensure DB connections always close
  • Close Django DB connections after tests
  • Fix pytest fixture syntax
  • Update apps/ocpp/tests/test_websocket_creation.py
  • Update apps/ocpp/tests/test_websocket_creation.py
  • Warn and allow when charge point features are missing
  • Update apps/ocpp/consumers/base/consumer.py
  • Update apps/ocpp/tests/test_websocket_creation.py
  • Show linked suite features in node feature admin
  • Gate charge point connections by feature
  • merge migrations
  • Update apps/ocpp/admin/simulator.py
  • Update apps/ocpp/admin/miscellaneous/simulator_admin.py
  • Queue cpsim service toggle requests
  • Trigger signals when marking stories as spam
  • Add spam status and admin action for user stories
  • Update apps/sites/static/pages/js/user_story_feedback.js
  • Add feedback message capture to user stories
  • Fix offline notification candidate selection
  • Improve offline notification processing
  • Add ownable charge point offline notifications
  • Update apps/ocpp/views/common.py
  • Update apps/ocpp/tests/test_view_common.py
  • Update apps/ocpp/views/common.py
  • Fix status timeline for forwarded chargers
  • Adjust admin log defaults and polling
  • Replace apt-get guidance with apt
  • Update scripts/helpers/pip_install.py
  • Update build tools guidance for Debian/Ubuntu
  • Simplify form error rendering
  • Fix client report form bindings
  • Add 60 to log viewer row limits
  • Fix admin log view limit and downloads
  • Add log viewer controls and download link
  • Fix auto-upgrade task exports and regressions
  • Serialize forwarder session access
  • Adjust forwarder keepalive scheduling
  • Run forwarder keepalive in consumer process
  • Add keepalive pings for forwarder sockets
  • Allow dashboard access for authenticated users
  • Allow authenticated access to cp simulator
  • Fix dashboard role check indentation
  • Update apps/ocpp/views/dashboard.py
  • Allow Control anonymous scan_next GET
  • Tighten access checks and ensure regression selection
  • Update apps/ocpp/views/simulator.py
  • Fix access checks and add regression marker
  • Refine celery detection and optional build handling
  • Update env-refresh.sh
  • Update env-refresh.sh
  • Handle optional spidev failures during install
  • Update apps/locals/user_data/admin.py
  • Update apps/locals/user_data/seeds.py
  • Update apps/locals/user_data/views.py
  • Expose user data fixture helpers
  • Refactor user data helpers into package
  • Address task refactor review feedback
  • Update apps/core/tasks/system_ops.py
  • Refactor core tasks into package
  • Avoid upstream save side effects
  • Update apps/nodes/tests/test_poll_upstream.py
  • Update upstream poll last seen
  • Update apps/cards/tests/test_admin_dashboard.py
  • Update apps/cards/tests/test_admin_dashboard.py
  • Update apps/cards/tests/test_admin_dashboard.py
  • Update apps/cards/admin.py
  • Update apps/cards/admin.py
  • Register RFID attempts in cards admin
  • Update apps/core/views/reports/__init__.py
  • Update apps/core/views/reports/report_rendering.py
  • Update apps/core/views/reports/logs.py
  • Refactor reports views into package
  • Fix simulator boot serial field
  • Validate register-node-curl token
  • Enforce https for register-node-curl
  • Add curl registration script generator
  • Fix features widget registration
  • Address WebRTC streaming review feedback
  • Update apps/video/consumers.py
  • Update apps/video/consumers.py
  • Add redis-backed WebRTC streaming
  • Skip git pull after forced fetch failure
  • Update upgrade.sh
  • Handle unreachable repo during upgrade
  • Remove critical marker from reports syntax test
  • Add admin dashboard widgets config link
  • Handle corrupted venv recreation
  • Remove heartbeat periodic tasks
  • Align web sampling test with schedule
  • Slow web sampling to 30-minute intervals
  • Refresh forwarding rules on reconnect
  • Handle forwarding reconnects on send failures
  • Update connector usage window to 48 hours
  • Expose uptime helpers for offline_time
  • Update apps/core/tests/test_offline_time_command.py
  • Update apps/core/management/commands/offline_time.py
  • Update apps/core/management/commands/offline_time.py
  • Add offline time reporting command
  • Update apps/screens/lcd.py
  • Avoid i2cdetect when I2C device missing
  • Add migration to remove SQLite FAQ reference
  • merge
  • Restrict charge points access
  • Fix GitHubToken admin ownable mixin
  • Add stored GitHub token support
  • Update Odoo employee ownership
  • merge
  • Refine admin feedback styling
  • Add feature fixture timestamps
  • Enhance trust certificate admin page
  • Rename trust admin nav link
  • Refactor OCPP RFID attempt creation
  • Update apps/cards/models/rfid_attempt.py
  • Rework RFID scan persistence
  • Mark key OCPP tests as critical
  • Fix admin view-on-site stream selection
  • Update apps/video/admin.py
  • Enable admin view-on-site for video devices
  • Auto-disable RTC feature when no clocks found
  • Mark admin module import tests as critical
  • Harden seed data import permissions
  • Add local seed data admin tooling
  • Update apps/ocpp/admin/miscellaneous/core_admin.py
  • Add admin view-in-site link for station models
  • Update apps/vscode/test_server.py
  • Add test server failure summary
  • Mark page miss middleware tests critical
  • docs: document critical pytest marker
  • Mark traversal test as critical
  • Mark docs rendering test as critical
  • Replace critical marker with slow
  • Remove critical mark from auto upgrade tests
  • Mark usb tracker scan test as critical
  • Remove critical marker from auto upgrade tests
  • Mark critical thermometer sampling test
  • Fix lazy import module aliasing
  • Update arthexis/__init__.py
  • Update arthexis/__init__.py
  • Add lazy import coverage for arthexis apps
  • Remove critical marker from auto-upgrade tests
  • merge
  • Update install.sh
  • Add install venv failure checks
  • Refactor cert test setup
  • Add trust certificate download page
  • Update apps/dns/models.py
  • Add DNS proxy configuration and server
  • Run full test suite for release CI
  • Optimize supported charger media selection
  • Update apps/ocpp/models/station_model.py
  • Add supported charger catalog pages
  • Refine systemctl invocation for redis status
  • Mask redis credentials in command output
  • Update apps/core/management/commands/redis.py
  • Add redis management command report
  • Fix AP router role migration and admin permissions
  • Add AP client discovery and expand AP router roles
  • Sort setuptools package-data entries
  • Mark package data fixtures test critical
  • Add features fixtures to package data
  • Update apps/vscode/test_server.py
  • Group test server runs by marker
  • Fix cp forwarder logging helpers
  • Update apps/ocpp/management/commands/track_cp_forward.py
  • Add CP forwarder logging and tracking command
  • merge
  • Fix feature seed migration managers
  • Update apps/features/migrations/0002_seed_standard_charge_point.py
  • Add features app with standard charge point fixture
  • Refine sudo handling in Ubuntu launch
  • Update scripts/launch/ubuntu.sh
  • Modularize Ubuntu launch scripts
  • Refactor meter value rendering
  • Improve charger meter value output
  • Make command.sh executable
  • Rename do scripts to command
  • Refine dark theme upgrade report selectors
  • Fix dark theme styling for upgrade report
  • Refactor publish pending handling
  • Add publish workflow link to paused release view
  • Debounce model graph viewport resize
  • Adjust admin model graph viewport
  • chore: record publish metadata for v0.2.3
  • Release v0.2.3
  • pre-release commit 0.2.3
  • chore: update version
  • Remove changes and docs-links CI jobs
  • Fix OCPP coverage command for refactor
  • Harden client IP resolution
  • Update apps/ocpp/consumers/base/certificates.py
  • Refactor OCPP consumer base package
  • Adjust CI fallback install and tidy test imports
  • Mark critical tests and adjust CI selection
  • Remove camera scanning from RFID views
  • Update apps/core/tests/test_browse_command.py
  • Add browse management command
  • Share version reader and gate banner info
  • Avoid stale version banner on fresh reload
  • Update Odoo employee admin owner field
  • Make do.sh executable
  • Clarify Graphviz render dependency guidance
  • Simplify migration check output handling
  • Stop test server on merge migrations
  • Fix footer reference fallback visibility
  • Add module-specific footer references
  • Clarify critical pytest marker
  • Update CI to run critical tests only
  • Update apps/repos/admin.py
  • Add admin warning for GitHub App base URL
  • Fix feature eligibility action manual status
  • Add manual enablement column to discovery
  • Simplify MJPEG stream fallback
  • Add MJPEG fallback when cache empty
  • Remove prepare-next confirmation and require PyPI refresh
  • Fix usb tracker recipe path args
  • Update fast lane upgrade policy to unstable
  • Add cpsim-service integration for CP simulator
  • Update conftest.py
  • Reduce CI usage and stabilize test db
  • Warn when visitor registration lacks HTTPS
  • Restore escaping for USB tracker recipe args
  • Fix usb tracker recipe args
  • Refactor last session cell and expand tests
  • Add last session date to charge points dashboard
  • Potential fix for code scanning alert no. 95: Information exposure through an exception
  • Fix lcd screen package integration
  • Update apps/screens/lcd_screen/rendering.py
  • Update apps/screens/lcd_screen/locks.py
  • Refactor lcd screen service into package
  • Remove SQLite FAQ reference fixture
  • Fix admin notice selection and policy checks
  • Add upgrade policy automation and admin notices
  • Handle MSE upload validation in form
  • Update apps/cards/mse.py
  • Add MSE card sets and designs
  • Fix duplicate SQLite reference fixture
  • Fix CPMS dashboard chargers link
  • merge
  • Guard aggregate charger status access
  • Update apps/ocpp/views/public.py
  • Update charger status combined connector view
  • Use full name in admin user link
  • Update admin user tools links
  • merge
  • Harden charger location setup
  • Add charger location setup action
  • Clarify visitor port and HTTPS reminder
  • Update visitor registration labels
  • Harden usb tracker execution args
  • Update apps/sensors/tasks.py
  • Add USB tracker polling for recipes
  • Update apps/content/utils.py
  • Improve screenshot defaults for dev ports
  • chore(deps): bump opencv-python from 4.12.0.88 to 4.13.0.90
  • Harden short URL creation
  • Add short URLs for share modal
  • Fix validation and umask handling
  • Harden helper scripts logging
  • Refactor export format handling
  • Add admin export confirmation screen
  • Keep dashboard links inline
  • Remove OS footer references
  • chore(deps): bump psutil from 7.2.1 to 7.2.2
  • Refine db requirement detection
  • Move Django DB setup to session scope
  • Refactor admin header badges
  • Split admin badges into list and detail links
  • Update apps/loggers/filters.py
  • Filter static asset access logs
  • Refine LCD disable handling
  • Update apps/screens/lcd_screen.py
  • Disable LCD after first failure
  • Rename command scripts to do
  • Ensure URLField forms default to https
  • Set light theme background to white
  • Update apps/nodes/admin/node_admin.py
  • Update apps/nodes/admin/node_admin.py
  • Update apps/nodes/admin/node_admin.py
  • Add non-JS visitor registration fallback
  • Use settings.BASE_DIR for reports syntax test
  • Add syntax check for reports module
  • Simplify release step guard logic
  • Simplify release step guard
  • Refactor release step guard
  • Handle invalid release step parameter
  • Fix release step condition
  • Potential fix for code scanning alert no. 94: Information exposure through an exception
  • Fix publish poll safety and pending state
  • Add publish polling for GitHub Actions completion
  • Adjust GitHub token prompt messaging
  • Update apps/cards/tests/test_card_faces.py
  • Reduce fixed-back test setup cost
  • Refactor agent notes markup
  • Add agent notes for modules and landings
  • Update RFID admin actions
  • Prioritize security group fixtures
  • Add migration for Site Operator group
  • Add Site Operator security group fixture
  • Add IPv6 loopback fallback for FTP admin test
  • Add FTP admin action to test servers
  • Fix duplicate RFID import/export tools
  • Fix admindocs commands route
  • Add public connector landing pages and QR assets
  • Add public connector landing pages and QR assets
  • Add GitHub issue templates
  • Add project code of conduct
  • Add security policy
  • Add GitHub token prompt to publish progress
  • Add RFID doctor management command
  • Add video management command
  • Limit sigil root fixture loading to marked tests
  • Adjust discover action padding
  • Remove plus icons from discover actions
  • Harden service.bat argument handling
  • Add Windows service helper for suite
  • Update apps/screens/lcd_screen.py
  • Align LCD stats with remaining resources
  • Adjust MJPEG retry backoff and visibility
  • Improve MJPEG stream reload handling
  • Remove redundant aria-labels from icon buttons
  • Add hidden button labels for text browsers
  • Update apps/core/views/reports.py
  • Handle empty GitHub tokens in release UI
  • Update stop.sh
  • Ignore stale sessions without recent heartbeats
  • Release v0.2.2
  • Update stop.sh
  • Update stop.sh
  • Handle simulator sessions during stop
  • Validate discovery id in feature discovery
  • Potential fix for code scanning alert no. 93: Information exposure through an exception
  • Add node feature discover action
  • Add admin action to test YouTube channels
  • Refine RFID login checks and admin form
  • Update apps/core/admin/users.py
  • Add RFID login data checks and write tooling
  • Update apps/sites/models/signals.py
  • Add dashboard rule for unassigned user stories
  • Add contributing guide and stabilize simulator tests
  • Separate public RFID actions and tighten scan access
  • Update RFID scanner admin actions
  • Update apps/screens/lcd_screen.py
  • Update apps/screens/lcd_screen.py
  • Add LCD stats channel
  • Refactor discovery recording loops
  • Update apps/audio/admin.py
  • Add discovery logging and unify discover actions
  • Rename SQLite footer reference fixture
  • Add migration for SQLite reference update
  • Update footer reference to SQLite
  • Update apps/video/management/commands/camera_service.py
  • Prefer camera service for MJPEG streams
  • Fix default device handling and admin checks
  • Add default recording device and admin sample
  • Consolidate OS footer references fixture
  • Add footer references for OS releases
  • Remove About Me section from README
  • Extract repeat true strings constant
  • Fix simulator repeat handling
  • Update remotes doc link and placement
  • Move remotes note into lifecycle manual
  • Update apps/core/admin/emails.py
  • Update email inbox search action
  • Update apps/ocpp/consumers/connection.py
  • Handle string websocket headers in subprotocol negotiation
  • Persist github token lock file on submission
  • Fix release token persistence and lock file perms
  • Add GitHub token prompt to release publish
  • Update apps/nodes/models/features.py
  • Rename admin actions and fix simulator subprotocol
  • Release v0.2.2
  • pre-release commit 0.2.2
  • chore: update version
  • Fix camera feature rename migration
  • Update apps/video/rfid.py
  • Rename rpi-camera feature to video-cam
  • Add translations for Send Message
  • Shorten send net message labels
  • Fix nginx config pruning glob
  • Update apps/nginx/services.py
  • Preserve nginx config ACLs on updates
  • Add confirmation step and safer release prep
  • Adjust package release admin actions
  • Allow RFID polling when IRQ setup fails
  • Update platform fixtures for Debian and Ubuntu
  • Include registered charger log names in sessions lookup
  • Update apps/ocpp/management/commands/chargers.py
  • Add session listing to chargers command
  • Split non-db status reset tests
  • Handle camera-only admin scans
  • Update apps/core/admin/rfid.py
  • Fix admin RFID scanner setup flags
  • Harden sponsor payment handling
  • Update apps/sponsors/models.py
  • Update apps/sponsors/forms.py
  • Add sponsor registration and renewals
  • Update docs/modeling-system-proposal.md
  • Add modeling system scaffolding
  • Add modeling system proposal documentation
  • Update scripts/charging_session_counts.py
  • Update stop.sh
  • Update stop.sh
  • Harden charging session checks in stop flow
  • Rename RFID report action label
  • Update apps/video/admin.py
  • Shorten rpi-camera find action label
  • Restore rpi-camera dashboard actions
  • Remove manual video device power actions
  • Speed up card face validation test
  • Update default preview label
  • Update export button labels
  • Fix IPv6 listen detection regex
  • Include additional nginx site configs
  • Update apps/nginx/models.py
  • Update apps/nginx/models.py
  • Add admin load-local action for nginx configs
  • Add webhook signature verification
  • Update apps/repos/models/github_apps.py
  • Add defaults for GitHub app webhook URLs
  • Replace export menu with JSON and CSV actions
  • Refine RFID feature detection flow
  • Fix RFID scanner feature detection
  • Harden camera service management
  • Add camera service to lifecycle scripts
  • Fix MJPEG cache fallback
  • Update apps/video/frame_cache.py
  • Add redis-backed camera service for MJPEG
  • Add focus fallback for export menu
  • Adjust admin export menu interaction
  • chore(deps): bump filelock in the pip group across 1 directory
  • Refactor RFID feature checks
  • Add RFID login link when RFID feature enabled
  • Harden ack error handling
  • Validate repo state before retrying publish
  • Harden admin exports and move menu styles
  • Enhance admin export menu
  • Add Windows stop script with safety checks
  • Fix README links for PyPI
  • Fix RFID service debug logging
  • Add verbose logging to RFID service command
  • Release v0.2.1
  • Remove redundant scan view context assignments
  • Rename RFID scan UI label to Scanner
  • Fix MJPEG stream slug handling
  • Add MJPEG stream info to video device admin
  • Fix redirect cleanup call in reset flow
  • Potential fix for code scanning alert no. 92: URL redirection from remote source
  • Add auto-rotate for video captures
  • Update apps/ocpp/consumers/base.py
  • Summarize NotifyMonitoringReport logs
  • Update apps/core/views/reports.py
  • Add manual git push steps to release flow
  • Harden set_env handling
  • Update scripts/helpers/env.sh
  • Add set-env command and load arthexis.env
  • Release v0.2.1
  • pre-release commit 0.2.1
  • chore: update version and fixtures
  • Add admin MJPEG probe and cleanup intervals
  • Add admin MJPEG debug view
  • Clamp LCD backoff on non-finite multipliers
  • Guard lcd health backoff from overflow
  • Log invalid versions during release sync
  • Fix release version sync during publish
  • Revert EV charger description migration edits
  • Add migration for EV charger phases update
  • Set EV Charger default to single phase
  • Update package release admin actions
  • Simplify MJPEG snapshot failure handling
  • Add video debug command and MJPEG snapshot action
  • Use body bg rgb for light theme
  • Match navbar background to light theme
  • Remove redundant device check in snapshot view
  • Respect video device resolution for snapshots
  • Update apps/core/views/reports.py
  • Sanitize report redirects
  • Add salted redaction helper
  • Redact network values in registration logs
  • Move sigil root prefixes to class constant
  • Add built-in flag to sigil root admin list
  • Remove cable fixture test
  • merge
  • Refactor system info gathering dependency
  • Potential fix for code scanning alert no. 88: Information exposure through an exception
  • Split system module into package
  • chore(deps): bump pycparser from 2.23 to 3.0
  • Handle unreadable simulator state for LCD cleanup
  • Clean up stale simulator LCD messages
  • Guard offline aggregation without local sockets
  • Avoid offline aggregation without connection data
  • Fix aggregate charger status for offline connectors
  • Ensure MJPEG iterators release devices
  • Fix simulator websocket path and scheme handling
  • Improve simulator websocket retries
  • Add charge point feature gating
  • Harden user fixture checks
  • Add user data fixture apply/reset actions
  • chore(deps): bump setuptools from 80.9.0 to 80.10.2
  • merge
  • Harden docs readme lookup
  • Fix docs routes for cookbook links
  • Refactor log file path basename selection
  • Preserve legacy charger log lookup
  • Use serial-only charger log filenames
  • chore(deps): bump packaging from 25.0 to 26.0
  • chore(deps): bump pyxel from 2.6.0 to 2.6.1
  • Fix referrer landing handling
  • Add referrer landing support
  • Refine EV charger migration rollback
  • Update apps/awg/migrations/0003_update_ev_charger_description.py
  • Refine EV charger description
  • Mark RFID validator landing as seed data
  • Add migration for RFID validator landing
  • Update light theme background gray
  • Remove default CP simulator notice
  • Fix archive log rotation retention
  • Archive rotated logs in logs/archive
  • chore(deps): bump django-debug-toolbar from 6.1.0 to 6.2.0
  • Add RFID validator landing to charge points nav
  • Guard subprotocol error handling
  • Remove mention from CI failure comment
  • Avoid @codex tag in CI comments
  • Rename Constellation pill to Consoles
  • Refactor MJPEG probe dependency handling
  • Add OpenCV dependency for MJPEG streaming
  • Handle missing MJPEG dependencies in views
  • Delay simulator stop LCD expiry
  • Delay consumption LCD expiry for propagate
  • Format LCD messages for simulator and charging
  • Add OCPP message type constants
  • Handle CSMS call results in simulator listener
  • Update apps/ocpp/consumers/base.py
  • Fix missing regex import in OCPP consumer
  • Optimize charging map locations
  • Add public charging station map view
  • Skip non-natural parler translations in fixtures
  • Update apps/sites/templatetags/admin_extras.py
  • Add admin translate link and include parler translations in fixtures
  • chore(deps): bump wcwidth from 0.2.14 to 0.3.5
  • Add AWS LightSail footer reference
  • Update apps/video/tests/test_streams.py
  • Update apps/video/tests/test_streams.py
  • Handle missing MJPEG dependencies gracefully
  • Fix sigil roots fixture scope
  • Speed up AWG calculate tests
  • Restore uptime helpers for command
  • Remove LCD boot status message
  • Hide rating line when not selected
  • Update apps/sites/static/pages/js/user_story_feedback.js
  • Update feedback copy format
  • Adjust snapshot button layout
  • Potential fix for code scanning alert no. 90: Information exposure through an exception
  • Potential fix for code scanning alert no. 89: Information exposure through an exception
  • Refactor ocpp miscellaneous admin modules
  • Fix charging profile test stub
  • Export ChargingProfile from actions package
  • Fix OCPP16 coverage action discovery
  • Fix OCPP action utilities
  • Refactor OCPP action handlers
  • Bump github/codeql-action from 3 to 4
  • chore(deps): bump markdown from 3.10 to 3.10.1
  • Move actions permission to notify-failure job
  • Fix pytest artifact download paths
  • Add CI failure notifier with pytest logs
  • Improve MJPEG probe error handling
  • Add MJPEG probe endpoint for stream views
  • Add aria label for feedback copy link
  • Enable admin feedback copy links
  • Make auto-upgrade return codes collapsible
  • Remove debug filter from console handler
  • Update apps/loggers/debug.py
  • Add debug app filtering for logging
  • Harden token redaction fallbacks
  • Redact registration tokens in logs
  • Update apps/ocpp/consumers/connection.py
  • Update apps/ocpp/consumers/connection.py
  • Refactor OCPP consumers into package
  • Update apps/sites/static/pages/js/chat.js
  • Potential fix for code scanning alert no. 12: Client-side cross-site scripting
  • Refactor IRQ empty poll tracking
  • Reduce IRQ empty queue logging
  • Update empty MJPEG test generator
  • Handle empty MJPEG streams gracefully
  • Restore take snapshot button in content sample admin
  • Remove latest section from content sample admin
  • Improve feedback copy fallback and labels
  • Add feedback form copy link
  • Log WhatsApp status reason
  • Potential fix for code scanning alert no. 13: Clear-text logging of sensitive information
  • Remove test stream admin action
  • Shorten video device action labels
  • Add safe redirect helpers for UI redirects
  • Potential fix for code scanning alert no. 11: DOM text reinterpreted as HTML
  • Update apps/core/tests/test_uptime_utils.py
  • Update apps/core/tests/test_uptime_utils.py
  • Fix boot delay for future timestamps
  • Simplify role name logging
  • Potential fix for code scanning alert no. 17: Clear-text logging of sensitive information
  • Update branding defaults and README badges
  • mm
  • Improve temp password decrypt handling
  • Potential fix for code scanning alert no. 21: Clear-text storage of sensitive information
  • Fix migration base handling and backfill translations
  • Fix migration bases for parler models
  • Fix content translation table names
  • Add django-parler translations for content models
  • Deduplicate locale docs path
  • Fix localized readme lookup
  • Update apps/video/models.py
  • Potential fix for code scanning alert no. 87: Information exposure through an exception
  • Handle MJPEG stream preflight errors
  • Hide guest login tool without add permission
  • Add Login as Guest tool to user changelist
  • Add migration server process checks
  • Refine canary loading exceptions and stabilize tests
  • Add canary upgrade gating and remove secondary installs
  • Update apps/core/admin/users.py
  • Update guest login labels
  • Speed up usage analytics signal test
  • Improve dashboard rule cache invalidation test
  • Invalidate nginx dashboard rules on config changes
  • Add title block to release progress error
  • Fix release publish error page styling
  • Use setUpTestData for AWG calculate tests
  • Log pid file read errors
  • Fix embedded service status reporting
  • Update default video device name
  • Tighten admin user-data star spacing
  • Add note on COOP middleware ordering
  • Fix COOP header ordering for streams
  • Optimize email profile rule cache invalidation
  • Invalidate email dashboard rule cache on profile changes
  • Remove escape filter from admin next field
  • Restore user data star in admin lists
  • Remove unused consumer setup in test
  • Refactor customer info workflow test
  • Harden Odoo query public handling
  • Add Odoo query models and public view
  • Potential fix for code scanning alert no. 22: Incomplete URL substring sanitization
  • Adjust docs vary headers and simplify landing cache
  • Cache public site rendering and sitemap
  • Simplify auto-upgrade failure helpers
  • Improve auto-upgrade failure reporting
  • Refactor sigil aggregation mapping
  • Optimize sigil resolution performance
  • Align localized README ports with main README
  • Reduce README link clutter
  • Fix auto-upgrade log filtering
  • Limit upgrade activity window and improve uptime fallback
  • Improve thermometer sampling task
  • Add thermometer trend reporting
  • Add sampling interval and scheduled thermometer sampling
  • Codex follow‑up
  • Add OCPP 2.1 hooks for event handlers
  • Add migration for EmailBridge verbose name
  • Capitalize Email Bridge verbose name
  • Apply review feedback for MJPEG thumbnails
  • Add MJPEG thumbnails and camera gallery
  • Localize release admin action labels
  • Update package release action labels
  • Refactor admin camera badge display
  • Update admin camera badge for missing devices
  • Improve videodevice slug handling and tests
  • Add name and slug for video devices
  • Preserve filters on admin create link
  • Fix admin create button link
  • Simplify local log timestamp
  • Use server-local timestamps for OCPP logs
  • Fix admin search for integer IDs
  • Add GitHub App and install models
  • Fix webhook test form encoding
  • Fix form webhook payload parsing
  • Fix empty-body form payload parsing
  • Fix form payload parsing fallback
  • Fix webhook payload handling and header parsing
  • Add GitHub webhook event capture
  • Add CodeQL exclusion rationale documentation
  • Adjust CodeQL ignore paths
  • Add CodeQL config exclusions
  • Potential fix for code scanning alert no. 85: Clear-text logging of sensitive information
  • Redact MAC addresses in registration logs
  • Potential fix for code scanning alert no. 19: Clear-text logging of sensitive information
  • Fix admin change list object tools template
  • Update admin add button label
  • Refactor upgrade service checks
  • Handle RFID service in lifecycle scripts
  • Refactor RFID SPI override handling
  • Respect RFID_SPI_DEVICE when reading
  • Expand model method discovery in admindocs
  • Improve admindocs method rendering
  • Add admindocs sections for model and manager methods
  • Adjust EmailBridge deletes and add tests
  • Add email bridge model
  • Refactor admin action names
  • Fix secondary service parsing defaults
  • Configure secondary install services
  • Fix duplicate admin import/export buttons
  • Handle release sync version conflicts
  • Remove obsolete release manager fixtures
  • Remove obsolete release manager fixtures
  • Refactor secondary cert exclude path
  • Exclude generated certificates from secondary sync
  • chore(deps): bump pyasn1 from 0.6.1 to 0.6.2
  • chore(deps): bump black from 25.12.0 to 26.1.0
  • chore(deps): bump reportlab from 4.4.7 to 4.4.9
  • Fix recover action messaging and tests
  • Update admin recover tooling
  • Bump actions/upload-artifact from 4 to 6
  • Restore NodeFeature import in nav links
  • Centralize feature gate checks
  • Add module feature gating
  • chore(deps): bump pyxel from 2.5.12 to 2.6.0
  • Simplify content sample link check
  • Add content sample link to video snapshot admin
  • Fix simulator fixture lookup in test
  • Fix simulator fixture default
  • Rename simulator fixture files
  • Update default simulator names
  • Bump actions/setup-python from 5 to 6
  • Handle invalid release IDs in progress view
  • Potential fix for code scanning alert no. 60: Uncontrolled data used in path expression
  • Bump actions/download-artifact from 4 to 7
  • Optimize global FTP server pruning
  • Enforce single global FTP server config
  • Reduce admin action label duplication
  • Refactor video device admin actions
  • Update video device admin action labels
  • Simplify nav filter focus check
  • Add Ctrl+S breadcrumb copy focus in admin
  • Fix RFID scan timeout handling
  • Improve RFID CLI scan handling
  • Bump actions/checkout from 4 to 6
  • Harden docs admin creation
  • Seed docs admin in CI
  • Fix audio action label reuse
  • Update recording device action labels
  • Refactor fast lane auto-upgrade status
  • Add fast lane status to upgrade report
  • i18n admin button labels
  • Update admin import export labels
  • Fix manual upgrade git safety handling
  • Allow manual auto-upgrade to discard local changes
  • Adjust admin copy fallback handling
  • Fix admin message copy fallback
  • Add Redis service to CI jobs
  • Handle clean stop requests in close code normalization
  • Avoid normalizing abnormal simulator disconnects
  • Normalize simulator close codes on clean stop
  • Handle local scanner read-loop termination
  • Fix RFID scanner setup hang
  • Limit SigilRoot missing content type log
  • Aggregate missing content type debug log
  • Suppress SigilRoot missing content type logs
  • Use in-memory channel layer for simulator live server test
  • Extract pytest duration constants
  • Show slowest tests in test server
  • Harden admin import handling and dedupe buttons
  • Add admin import/export actions
  • Improve git remote helper preconditions
  • Ensure upgrade configures git remotes
  • Add bootstrap git remote configuration
  • Normalize simulator close code after clean exit
  • Adjust Celery production defaults
  • Ensure celery uses redis on production roles
  • Fix clear-logs stop args and simplify log cleanup
  • Add clear-logs support to start
  • Add locks for RFID backoff and log throttling
  • Throttle RFID auto-detect logging
  • Clarify publish workflow permissions
  • Align publish workflow token usage with PyPI settings
  • Update release token handling for OIDC publish
  • Harden git status parsing for release staging
  • Fix release fixture staging churn
  • Fix visitor proxy allowlist and SNI handling
  • Potential fix for code scanning alert no. 80: Full server-side request forgery
  • Potential fix for code scanning alert no. 79: Full server-side request forgery
  • Harden visitor proxy URL validation
  • Potential fix for code scanning alert no. 62: Full server-side request forgery
  • Remove deprecated release manager model
  • Require staff for release checklist
  • Fix release credential helpers
  • Deprecate release manager credentials
  • Refactor release manager candidate selection
  • Fix release manager lookup for publish approval
  • Add attestations permission for PyPI publish
  • Modernize PyPI publish workflow
  • Improve release start responsiveness
  • Fix git remote URL import
  • Refactor git remote auth helpers
  • Add GitHub token support for release pushes
  • refine tag push auth guidance
  • docs: link release tag auth guidance
  • Remove empty feedback help text containers
  • Remove username notice from feedback dialogs
  • Refactor rating hint handlers
  • Fix rating hint focus handling
  • Add rating descriptions to feedback stars
  • Fix LCD screen log handler reuse
  • Standardize daily log rotation
  • Reduce auto-upgrade test coverage
  • Fix maintenance block f-string
  • Add tests for log filename normalization
  • Normalize log filenames
  • Refine maintenance assets helper
  • Defer nginx maintenance assets path lookup
  • Remove ap-watchdog support
  • Mark connector rebind test as slow
  • Mark websocket creation test as slow
  • Move suite reachability mock into tests
  • Stabilize suite reachability checks in tests
  • Fix OIDC approval token lookup
  • Refine approval credential checks
  • Add per-package OIDC publishing support
  • Improve publish log capture matching
  • Add post-publish capture of PyPI logs
  • Route publish workflow through environment
  • Improve GitHub release publishing helpers
  • feat: trigger GitHub Actions publish in release workflow
  • Improve maintenance fallback provisioning
  • Fix maintenance asset alias paths
  • Add nginx maintenance fallback to generated config
  • Update LCD ON expectations for boot elapsed
  • Refine suite reachability ON timing
  • Update LCD ON timing with suite reachability
  • Use slow marker for sigil performance tests
  • Move sigil perf tests out of default pytest
  • Replace migration server process test with mocks
  • Remove slow websocket rate limit test
  • Remove doc rendering integration tests
  • Update nodes registration tests
  • Harden PyPI publish workflow
  • Update PyPI publish workflow
  • Fix nightly docs link check
  • Split docs link check into filtered job
  • Extract user story feedback script
  • Update feedback rating hints
  • Remove env refresh integration test
  • Refine soft delete constraint detection
  • Guard soft deletes against is_deleted constraints
  • Fix sqlite schema editor usage in tests
  • Add tests for constrained soft delete
  • Avoid soft delete when is_deleted is constrained
  • Remove upgrade lint steps
  • Refine sigil root restore migration
  • Harden sigil root protections
  • Handle protected SigilRoot fixtures
  • Protect Sigil Roots from soft deletion
  • Fix service report unit updates
  • Document suite services and reference units
  • Refine startup message enqueue conditions
  • Skip startup net message on management commands
  • Clarify trusted publisher ref guidance
  • Add trusted publisher step to release process
  • Document PyPI trusted publisher settings
  • Narrow RFID lock write exception
  • Record RFID scans for services
  • Respect celery env flag and reuse env parsing
  • Handle no-celery flag and improve temp password error
  • Add admin USB camera power controls
  • Add USB camera power-off guide
  • Fix COOP host parsing for IPv6
  • Adjust COOP header for HTTP origins
  • Use timezone-aware timestamps for snapshots
  • Refactor version storage sync
  • Reduce version endpoint polling
  • Fix release build chdir for older Python
  • Update CI pytest markers
  • Enable slow tests for env refresh
  • Remove runserver preflight cache tests
  • Remove staticfiles fast path test
  • Remove remote start UI from charger status
  • Update auto-upgrade LCD channel test
  • Add LCD channel constants
  • Send upgrade net messages to high LCD channel
  • Handle subdomain validation and redirects
  • Add managed subdomain prefixes to nginx preview
  • Fix staticfiles test env paths
  • Adjust bash path handling for tests
  • Keep Windows paths for Python env vars
  • Normalize bash paths in preflight env exports
  • Refactor UID lookup for config discovery
  • Add Windows getuid fallback for odoo config
  • Ensure sigil roots fixture always loads
  • Initialize sigil roots for tests
  • Improve staticfiles helper diagnostics
  • Add staticfiles helper sanity checks
  • Use admin view helper for refresh snapshot redirect
  • Fix video snapshot action redirect
  • Define preflight env var constants
  • Export preflight env vars in test bash script
  • Refactor low channel payload loading
  • Fix LCD low channel rotation and uptime
  • Simplify RFID lock handling
  • Allow RFID toggles in configure and reuse DB on upgrade
  • Add missing application descriptions
  • Refactor ALSA identifier regex
  • Add USB preference for microphone capture
  • Destroy mini traffic chart on swap
  • Update dashboard widgets
  • mm
  • Revalidate LCD lock expiry during channel load
  • Use timezone-aware clock payload
  • Add configurable LCD channels and overrides
  • Preserve env model path in wizard
  • Simplify model install path message
  • Add LLM summary wizard and checks
  • Fix lcd_plan initial rotation order
  • Fix lcd_plan state handling
  • Add lcd plan command
  • Refine command suggestions
  • Improve command suggestions
  • Sample thermometers per device
  • Add admin action to sample thermometers
  • Guard fast-lane next run when disabled
  • Avoid empty log entry indexing
  • Harden auto-upgrade fast lane next-run
  • Fix fast lane next run fallback
  • Harden terms registration flow
  • Allow public access to registration terms
  • Add terms app with registration flow
  • Refine release credential guidance
  • Update release manager credential guidance
  • Align GitHub credential check with git auth
  • Improve release manager credential checks
  • Refine revision status handling
  • Add revision status to upgrade report
  • Fix snapshot button form submission
  • Fix admin snapshot actions
  • Refine widget sync fallback
  • Ensure dashboard widgets sync before render
  • Remove duplicate terminal role fixture
  • Add Terminal role acronym to links fixture
  • Handle pending LCD event locks without signal
  • Add RFID scanner service and LCD event interrupts
  • docs: clarify trusted publisher details
  • add OIDC PyPI publish workflow
  • docs: propose PyPI trusted publisher release flow
  • chore(deps): bump django from 5.2.9 to 5.2.10
  • Refactor OCPP wiki URL migration
  • Fix OCPP Wikipedia link
  • Simplify htmx readiness check
  • Fix admin dashboard widget loading
  • Add test for default Odoo config locations
  • Limit Odoo discovery to user home
  • chore(deps): bump django-otp from 1.6.3 to 1.7.0
  • Fix favorite remove action styling
  • Style favorite remove button
  • Narrow docker bridge admin networks
  • Allow admin login from docker bridge networks
  • Fix content sample preview rendering
  • Optimize latest updates widget data
  • Add latest updates admin dashboard widget
  • Add control mode label constants
  • Add control mode column to node features admin
  • chore(deps): update websockets requirement from <16,>=15 to >=15,<17
  • Update uptime LCD test expectation
  • Standardize LCD ON duration format
  • Refine LCD driver tests and docs
  • Add LCD driver selection tests and docs
  • chore(deps): bump zope-interface from 8.1.1 to 8.2
  • chore(deps): bump anyio from 4.12.0 to 4.12.1
  • Fix LCD controller detection and interface
  • Add AiP31068 LCD controller support
  • chore(deps): bump pyxel from 2.5.11 to 2.5.12
  • chore(deps): bump django-import-export from 4.3.14 to 4.4.0
  • Use dynamic package discovery for release defaults
  • Update release pyproject package discovery
  • Refine LCD address detection
  • Detect 0x3e LCD backpacks
  • Fix fixture filtering cleanup
  • Handle missing models in user data fixtures
  • Gate LCD notifications by feature lock
  • Fix ON label fallback format
  • Add ON label test for large minutes
  • Disable default LCD scrolling
  • Reduce default certificate domain duplication
  • Fix preview default test allowed hosts
  • Preserve legacy default site config
  • Use certificate domain for default nginx config name
  • Remove MCP server app
  • Refine AP client count handling
  • Add AP client count to LCD uptime display
  • Use theme variable for net message text
  • Adjust net message text colors
  • Cache python binary resolution
  • Use python3 fallback in helper scripts
  • Force widget queryset evaluation for errors
  • Handle missing widget tables in dashboard
  • Fix fixture ownership fields
  • Use pytest parametrize for auto-upgrade cases
  • Consolidate auto upgrade change tag tests
  • mm
  • Mark squashed migrations as non-initial
  • Squash nodes and ocpp migrations
  • Share normalize_path helper for WSL paths
  • Normalize helper paths for WSL
  • Avoid passing None screenshot dimensions
  • Simplify screenshot wrapper calls
  • Move screenshot utilities to content utils
  • Simplify client report email handling
  • Add client report service
  • Preserve all superuser report recipients
  • Add shared email recipient normalization
  • Refactor sync upgrade check
  • Centralize celery tasks and scheduling helpers
  • Use request cache EAFP pattern
  • Cache admin dashboard actions per request
  • Add type hints for dashboard status helpers
  • Optimize dashboard rule status rendering
  • Fix widget cache invalidation
  • Refactor widget sync and caching
  • Restore docs rendering tests with integration markers
  • Trim docs rendering tests
  • Remove README language test
  • Remove markdown http assets test
  • Remove show changelog command test
  • Trim low-value docs asset tests
  • mm
  • Fix pages app dependency in SiteBadge migration
  • Address media migration and admin feedback
  • Add media buckets for app assets
  • mm
  • Harden recipe execution and docs
  • Add recipe scripts with sigil-aware execution
  • Restore SET_NULL ownership deletes
  • Refactor ownable models for web samplers and FTP
  • Add tests for device sync helper
  • Gate snapshot command to test server
  • Add shared device sync helper
  • Refactor link assertions in FTP tests
  • Fix Windows bash paths and mount link checks
  • Simplify chat avatar ownership
  • Refactor migration preflight in install
  • Add migration preflight to install
  • Fix cross-platform test regressions (Windows symlink, resource, rate-limit, tests) (#4693)
  • Gate pip upgrade during install (#4692)
  • Relax OCPP connection rate limiting to a 2-second window (#4691)
  • Route install requirements through env-refresh and add `--deps-only` (#4690)
  • Style admin favorites buttons (#4689)
  • Rename node last seen label (#4688)
  • Shorten Raspberry Pi link fixture alt text (#4687)
  • Refresh low payload fallback during LCD rotation prep (#4686)
  • Remove unused sys import from settings (#4685)
  • Avoid LCD contention during upgrade helper (#4684)
  • Refactor debug toolbar gating in settings (#4683)
  • Fix AP mode detection for active Wi‑Fi connections (#4682)
  • Add audio sample metadata for playback (#4674)
  • Schedule OCPP meter value purge (#4672)
  • Add lan-find-node management command to discover and register LAN peers (#4680)
  • Configure celery functional logger (#4681)
  • Mark shell-based tests as slow (#4678)
  • Adjust Playwright waits to domcontentloaded (#4679)
  • Set serial source when extracting identifiers (#4676)
  • Remove legacy clipboard task handler (#4660)
  • Mark runserver preflight cache tests as slow (#4677)
  • Add ocpp_extract and ocpp_replay management commands with deduped import (#4675)
  • Standardize OCPP log name registration and normalize subprotocol parsing (#4673)
  • Add `lcd_calibrate` command and support for `.locks/lcd-timings` (#4671)
  • Ignore blank low LCD payloads (#4670)
  • Add camera resolution controls and ContentSample "Take Snapshot" admin UI (#4656)
  • Add hashing unit tests and mark env-refresh integration as slow (#4669)
  • VideoDevice admin: show LATEST snapshot, auto-capture missing snaps, and add Take Snapshot action (#4652)
  • Remove unused connected log scheduling task (#4668)
  • Refactor CSMSConsumer.connect into helper steps and normalize subprotocol discovery (#4663)
  • Remove deprecated check_registration_ready command (#4665)
  • Detect lcd-screen auto feature via locks (#4667)
  • Remove unused recurring client report task (#4664)
  • Remove unused runtime issue task (#4666)
  • Remove unused node feature hooks (#4662)
  • Remove legacy clipboard task (#4659)
  • Remove unused NodeService model (#4661)
  • Add QR redirect model and public iframe view with lead tracking (#4658)
  • Add LCD init helper reset test (#4657)
  • Decouple uptime constants from Django (#4655)
  • Fix LCD scroll timing after failures (#4654)
  • Handle LCD replay keyboard mode on Windows (#4653)
  • Add usage analytics tracking and reporting (#4644)
  • Simplify LCD UP/ON messaging; add startup/upgrade timing locks and AP/interface detection (#4649)
  • Ensure LCD low channel shows continuous UP/DOWN uptime with install-date tracking (#4648)
  • Align camera badge color with admin badges (#4647)
  • Add LLM-backed LCD log summarizer and `llm-summary` node feature (#4646)
  • Limit width of net message numeric inputs (#4645)
  • Make video devices ownable and display latest snapshots in admin (#4642)
  • Align CAM admin badge sizing (#4640)
  • Handle missing git identity when stashing during upgrade (#4641)
  • Force sqlite backend in CI (#4639)
  • Fix admin net message dashboard links (#4638)
  • Expand LCD interface label abbreviations (#4637)
  • Add CAM badge showing default video device in admin (#4635)
  • Add web request sampling with scheduled execution (#4602)
  • chore(deps): bump pillow from 12.0.0 to 12.1.0 (#4609)
  • Add dashboard rules system report (#4634)
  • Rename LCD check commands and expand options (#4633)
  • Handle auto-upgrade dirty working tree (#4632)
  • mm
  • chore(deps): bump pyftpdlib from 1.5.9 to 2.1.0 (#4607)
  • Add AP watchdog support (#4629)
  • Include upgrade change details in UP-CHECK messages (#4628)
  • Add fast lane toggle for upgrade scheduling (#4627)
  • Add ownable base and standardize ownership handling (#4624)
  • Shorten WLAN label in LCD messages (#4625)
  • Normalize LCD temperature formatting for triple-digit values (#4623)
  • chore(deps): bump psutil from 7.2.0 to 7.2.1 (#4608)
  • Show commit summaries during upgrade check (#4622)
  • Add admin action to test email outboxes (#4621)
  • Improve EmailInbox admin search layout (#4620)
  • Fix LCD startup message cache per boot (#4618)
  • Allow release promotion to stash dirty worktrees (#4617)
  • chore(deps): bump certifi from 2025.11.12 to 2026.1.4 (#4611)
  • Add LCD channel targeting for Net Messages (#4614)
  • Log dirty git status before build promotion (#4615)
  • Handle release log artifacts in cleanliness checks (#4616)
  • Add public view for clock devices (#4613)
  • Update OCPP coverage badges and roadmap (#4612)
  • Add migrator sidecar installation and monitoring (#4603)
  • Add ffmpeg fallback for Raspberry Pi camera snapshots (#4600)
  • mm
  • Move SSH credentials to dedicated app (#4599)
  • Adjust stale PR timeout to 2 days
  • Reset sequence after migrating DNS credentials
  • Move DNS credentials into dns app
  • Improve LCD forest canopy density
  • Increase pytest timeout for migration checks
  • Improve upgrade report dark mode and guidance
  • Implement Get15118EVCertificate handling
  • Add FTP folder management and server tooling
  • Skip downstream nodes in update selected action
  • Handle ahead-only git status during release
  • Adjust LCD uptime labels to show down time
  • Add MCP domain for configurable servers
  • Add new footer reference links
  • Align OCPP protocol specs with trimmed call sets
  • Align OCPP 2.x call lists with protocol specs
  • Ensure secondary install uses distinct port
  • Add secondary installation flag and sibling nginx failover
  • Improve Firefox WebDriver guidance
  • Add suite benchmarking helper
  • Add ffmpeg fallback for camera snapshots
  • Add static invisible character checker
  • Expand OCPP 2.1 call registry and coverage
  • Align OCPP 2.0.1 badge color with other coverage badges
  • Update OCPP 2.0.1 coverage badge to 100%
  • Avoid updating staticfiles lock before collectstatic succeeds
  • Add staticfiles lock fast path and metadata tests
  • Enable migrations by default in pytest
  • Speed up test setup by disabling migrations
  • Use work directory for LCD history files
  • Verify DB state before using migration cache
  • Add migration preflight fingerprint cache
  • Add package markers to test directories
  • Add test camera action to video device admin
  • Handle UnlockConnector responses and errors
  • Track projection for GetCompositeSchedule action
  • Add ocpp201 action handlers for admin actions
  • Remove redundant auto upgrade status test
  • Remove redundant naive last-run auto-upgrade test
  • Remove redundant visitor address test
  • Add database refresh preflight and force override
  • Add opt-in log following for service start
  • Optimize env refresh dependency install
  • Remove redundant workspace chown steps in CI
  • Handle monitoring call results and errors
  • Add concurrency cancellation to CI workflow
  • Relax CI install clean step
  • Add migrations_ran arg to fixtures_changed tests
  • Optimize env refresh migrations and fixture caching
  • Add monitoring base and level handlers and tests
  • Add audio record management command
  • Preserve LCD disable flag when clearing lock files
  • Clear LCD lockfiles before restarting after upgrade
  • Add default node sigil resolution for net messages
  • Allow ClearChargingProfile criteria-only requests
  • Add ClearChargingProfile support for OCPP 2.0.1
  • Handle transaction event lifecycle notifications
  • Add regression test for md5 lockfile placement
  • Handle non-mapping signing service responses
  • Implement SignCertificate signing flow
  • Add dependency checksum guard to env refresh
  • Cache staticfiles hash for faster startup
  • Guard reservation status updates to matching connector
  • Handle reservation status updates and release notifications
  • Improve simulator websocket connection fallback
  • Add optional wheel generation to package releases
  • mm
  • Handle ReportChargingProfiles reconciliation
  • Force sqlite backend during pytest setup
  • Handle publish firmware status notifications
  • Add card face overlays and admin preview
  • Ingest NotifyReport device inventory snapshots
  • Add analytics tracking for monitoring reports
  • chore(deps): bump psutil from 7.1.3 to 7.2.0
  • vscode workspace
  • Normalize NotifyEvent payloads into observability queue
  • Make test modules unique across apps
  • Add logbook domain for public event reports
  • Handle NotifyEVChargingSchedule payloads
  • Attach history recorder and preserve rotations
  • Add LCD history capture and replay tooling
  • Handle EV charging needs notifications
  • Improve upgrade report clarity and summary
  • Handle NotifyDisplayMessages compliance reporting
  • Handle NotifyCustomerInformation acknowledgements
  • Handle certificate status requests
  • Remove redundant release install workflow
  • Adjust screenshot workflow dependency
  • Gate screenshot workflow on install test
  • mm
  • Handle NotifyChargingLimit and surface limits
  • Preserve survey results when session rotates on login
  • Add survey domain with topics and results
  • Simplify node HTTPS preference without nginx lock
  • mm
  • Handle CostUpdated notifications
  • Handle ClearedChargingLimit notifications (#4503)
  • Handle stale LCD uptime locks (#4501)
  • Add pause signal handling to LCD service (#4499)
  • Add MJPEG video stream configuration (#4498)
  • Add short upgrade flag aliases (#4496)
  • Preserve low LCD uptime payloads when stale (#4497)
  • Update LCD uptime display and fate deck (#4493)
  • Add release features domain models (#4495)
  • Add LCD probe instrumentation and encoding checks (#4489)
  • Add LCD debug management command (#4488)
  • Add uptime management command (#4487)
  • Add LCD uptime fallback to system boot time (#4485)
  • Avoid awk broken pipe messages in systemd checks (#4486)
  • Clamp LCD writes to visible columns (#4484)
  • Use role acronyms for LCD boot message (#4483)
  • Add acronyms for node roles and update boot message (#4482)
  • Remove LCD timing resync compensation (#4481)
  • Add lcd animate management command (#4480)
  • Protect LCD lock payloads from eager cleanup (#4479)
  • Update LCD boot status messaging (#4478)
  • Update boot LCD uptime message (#4476)
  • Add LCD animations and fill low priority gaps (#4471)
  • Add view errors command and capture exception names (#4470)
  • Remove Makefile support and update script guidance (#4468)
  • Add mermaid package release workflow documentation (#4469)
  • Add coverage for auto-upgrade scheduling and LCD restart errors (#4467)
  • Add tests for LCD shutdown handling (#4466)
  • Add seed fixture lint script (#4465)
  • Add CI and pre-commit check for HTTP links in docs (#4464)
  • Normalize screenshot command paths (#4463)
  • Refactor nginx admin views and certificate helpers (#4458)
  • Refactor docs rendering and asset utilities (#4459)
  • Refactor teams admin modules (#4461)
  • Refactor GitHub repos helpers and models (#4462)
  • Refactor chat models into package modules (#4460)
  • Refactor release admin modules (#4457)
  • Add shared slug entity helpers for node models (#4455)
  • Refactor firefox selenium utilities (#4456)
  • Add mixin for name-based string representation (#4454)
  • Refactor systemctl command helper (#4453)
  • Centralize admin owner label (#4452)
  • Refactor registration logger setup (#4451)
  • Centralize node payload signing (#4450)
  • Add helper for capturing and saving screenshots (#4449)
  • Refactor auto-upgrade logging helper (#4448)
  • Switch LCD rotation to high/low sticky files (#4447)
  • Write boot status LCD message atomically (#4446)
  • Silence Node deprecation warnings in workflows (#4444)
  • Prevent redundant LCD restart during upgrade (#4445)
  • Add boot status LCD message on startup (#4443)
  • Add snapshot management command for rpi camera (#4442)
  • Fix LCD process detection in status script (#4441)
  • Track admin view history with kind and site association (#4440)
  • Normalize license URLs to https (#4439)
  • Harden LCD mode selection (#4438)
  • Ensure license resolver cleans up temporary requirement file (#4435)
  • Add fate vector card option to LCD clock display (#4436)
  • Add automated third-party license inventory (#4431)
  • Fail release install workflow on install errors (#4434)
  • Remove START_ON_INSTALL make flag (#4429)
  • Update documentation refresh backlog (#4433)
  • Document current CI pytest execution (#4432)
  • Remove architecture manifest document (#4430)
  • Update OCPP user manual with diagnostics and timeouts (#4427)
  • Update maintenance roadmap for settings helpers (#4426)
  • Replace outdated PyPI install report with automated checks (#4423)
  • Update OCPP 1.6 compliance review coverage (#4424)
  • Remove retired architecture manifest doc (#4425)
  • Add guidance for handling upgrade and migration errors (#4422)
  • Add local desktop option to screenshot command (#4421)
  • Add timing instrumentation to install and upgrade scripts (#4420)
  • Add log and work cleanup options to upgrade (#4419)
  • Add LCD timing anchor to resync after service restarts (#4417)
  • Reset LCD controller on service startup (#4416)
  • Add week number to LCD clock display (#4415)
  • Handle SQLite sidecar files during clean upgrade (#4413)
  • Move import resolution check to lint step (#4414)
  • Remove site reachability checks from env refresh flow tests (#4412)
  • Remove migration server live request test (#4411)
  • Rely on env refresh for requirements install (#4410)
  • Improve upgrade CI validation (#4409)
  • Handle SQLite refresh failures (#4408)
  • Run pending migrations during service start preflight (#4407)
  • Reset SQLite database when migrations fail (#4406)
  • Add retry handling for SQLite migration locks (#4405)
  • Harden LCD service logging and fallbacks (#4404)
  • Alternate LCD clock temperature units (#4403)
  • Handle missing tables before fixture loading (#4402)
  • Improve LCD stability and scheduling (#4401)
  • Rename charger status management command to chargers (#4400)
  • Remove admin command runner (#4399)
  • Remove maintenance check wrapper command (#4398)
  • Increase LCD driver timing margins (#4397)
  • Remove tail-server upgrade mode (#4396)
  • Ensure test databases are recreated in work directory (#4395)
  • Add auto-upgrade check status net message (#4394)
  • Reduce redundant LCD writes (#4392)
  • Simplify LCD service rotation (#4390)
  • Handle locked database when seeding sigil roots (#4389)
  • Make lcd_write resolve sigils by default (#4388)
  • Handle session access without database table (#4387)
  • Improve LCD update stability (#4385)
  • Update local network site fixture (#4384)
  • Fix footer visibility without release version (#4383)
  • Increase LCD write timing delays (#4382)
  • Avoid duplicate migrations during upgrade (#4381)
  • Reload sigil roots after all migrations (#4380)
  • Remove watch-upgrade helper log message (#4379)
  • Add OCPP 2.0.1 CSMS action senders for reports, display & network operations (#4376)
  • Make LCD screen file-only (#4378)
  • chore(deps): bump docutils from 0.22.3 to 0.22.4 (#4323)
  • Reboot tail server after upgrade script updates (#4377)
  • Improve sigil resolution performance and websocket test timeouts (#4375)
  • Add missing OCPP action handlers (#4374)
  • Refactor core admin into package (#4373)
  • Add PyPI badges to documentation (#4372)
  • Update LCD clock display duration (#4371)
  • Delay LCD restart until after core upgrade (#4370)
  • chore(deps): bump smbus2 from 0.5.0 to 0.6.0 (#4324)
  • Run tests before tail-server polling (#4369)
  • chore(deps): bump sqlparse from 0.5.4 to 0.5.5 (#4325)
  • chore(deps): bump pyxel from 2.5.10 to 2.5.11 (#4328)
  • Refactor nodes views into modules (#4366)
  • Clarify cards model imports (#4368)
  • Refactor sites views into modules (#4367)
  • chore(deps): bump reportlab from 4.4.6 to 4.4.7 (#4322)
  • refactor: split core views into modules (#4365)
  • Split AWG views into modules (#4364)
  • Remove systemd watchdog service support (#4361)
  • Extend LCD clock display duration (#4363)
  • Split Odoo models into package (#4362)
  • Refactor tasks models into package (#4360)
  • Split email models into modules (#4359)
  • refactor: split release models package (#4358)
  • Split energy admin modules (#4357)
  • Update lcd clock display format (#4356)
  • Add prefixes to startup net message (#4355)
  • Improve CP forwarding scheduling and timing (#4354)
  • Refactor sites admin modules (#4353)
  • Refactor nodes admin modules (#4352)
  • Add sysfs thermometer temperature for LCD (#4351)
  • Prefer https 443 in remote URLs (#4349)
  • Fix LCD clock disable flag parsing (#4348)
  • Fix node cache lookup for local manager (#4347)
  • Auto-discover video devices for snapshots, link duplicates, and fix ContentSample admin redirects (#4343)
  • Adjust LCD clock layout for time and temperature (#4346)
  • Keep LCD lock messages sticky (#4345)
  • Add sigil root seed migration (#4344)
  • Use OCPP uppercase display name (#4342)
  • Seed default admin favorites for key models (#4340)
  • Add LCD clock display (#4339)
  • Add external websocket support for nginx configs (#4338)
  • Add inbound node diagnostics to check-forwarders (#4337)
  • Filter forwarder host candidates (#4336)
  • Handle decimals in forwarding metadata (#4335)
  • Add upgrade server loop and LCD rerun notice (#4334)
  • Enable forwarder defaults and admin actions (#4333)
  • Add check_forwarders management command (#4332)
  • Fix cp forwarder import path (#4331)
  • Fix forwarder utils import (#4330)
  • Remove arthexis self node fixture (#4329)
  • Fix admin forwarder action import (#4320)
  • Rename celery tasks and purge leads (#4319)
  • Handle protected errors when purging deleted items (#4318)
  • Handle missing tables during fixture load (#4317)
  • Handle SQLite WAL setup errors (#4315)
  • Rename site configuration label (#4314)
  • Add update-peer-nodes management command (#4313)
  • merge
  • Enable https when generating nginx certificates (#4312)
  • Fix release import for publish workflow (#4311)
  • Admin: add soft-deleted changelist + purge flow and stop showing soft-deleted Nodes (#4309)
  • Add request sigil root support (#4310)
  • Add nginx site configuration dashboard rule (#4308)
  • Support OCPP 2.0.1 RequestStart/Stop/GetTransactionStatus with request tracking and reconciliation (#4294)
  • Add OCPP persistence for CustomerInformation and DisplayMessages (#4306)
  • Keep test result persistence in test database (#4307)
  • Rename peer node update task (#4305)
  • Invalidate node dashboard rule cache (#4304)
  • Add OCPP 2.0.1/2.1 firmware Publish/Unpublish and register UpdateFirmware handlers (#4303)
  • Update watchtower badge colors (#4302)
  • Add OCPP 2.1 CostUpdated and ReservationStatusUpdate handlers (#4301)
  • Add static Watchtower fixture and non-interactive assume-online flag; regenerate badge (#4300)
  • Add OCPP 2.1 decorators to CP->CSMS handlers and refresh coverage (#4299)
  • Unified LCD lockfile format with state handling and compatibility (#4298)
  • Update OCPP 2.0.1 coverage badge (#4297)
  • Update OCPP coverage fixtures (#4296)
  • Default visitor registration to localhost (127.0.0.1:443) (#4274)
  • Normalize connector matching for transaction requests (#4293)
  • Add OCPP 2.0.1 transaction request tracking and reconciliation (#4291)
  • Remove share embed preview iframe (#4292)
  • Add HSTS header to HTTPS nginx config (#4290)
  • Add OCPP monitoring persistence, CSMS→CP actions, admin views and pending-call tracking (#4289)
  • Fix async ORM usage in ocpp async tests (#4287)
  • Update site configuration admin list (#4285)
  • Add OCPP certificate persistence and handlers (#4284)
  • Ensure nginx sites-enabled links for managed configs (#4283)
  • Revert README badge URLs (#4282)
  • Localize README badges for docs (#4281)
  • Sanitize http subresources in docs markdown (#4279)
  • Add post-deploy header verification steps (#4280)
  • Fix sigil root loading and admin visibility (#4278)
  • Adjust auto-upgrade cadences for stable and latest (#4277)
  • Update visitor default port test (#4275)
  • Rename localized README headers (#4276)
  • Fix regex split maxsplit warning (#4273)
  • Add scan next access tests (#4272)
  • Add RFID peer sync signature tests (#4271)
  • Add admin bulk create tests (#4270)
  • Fix odoo config discovery when candidates provided (#4269)
  • Enforce HTTPS for visitor registration (#4268)
  • Add test to block http links in docs (#4267)
  • Rename apps.pages to apps.sites (#4266)
  • Use https link for MPL license reference (#4265)
  • Add X-Forwarded-Host header and optional X-Forwarded-Proto logging (#4261)
  • Avoid logging user-controlled proxy data (#4264)
  • Update websocket scheme selection for simulators (#4263)
  • Add scheme-aware node URLs (#4262)
  • Honor proxied HTTPS for generated URLs (#4260)
  • Add CSP headers for HTTPS responses (#4259)
  • Use scheme-aware localhost URL for node info (#4258)
  • Repair malformed nginx maintenance configs (#4257)
  • Move nginx maintenance updater into app (#4256)
  • Add configure-site command for nginx protocols (#4255)
  • Add OCPP 2.0.1 CP→CSMS notification handlers and update coverage (#4253)
  • Remove linters and docs section from README (#4254)
  • Fix favorite toggle links in admin (#4252)
  • Fix favorites redirect fallback (#4251)
  • Add certificate type shorthand flags (#4250)
  • Rename cert generation command (#4249)
  • Add certificate verification action and command (#4248)
  • Add certbot selection for nginx certificate provisioning (#4247)
  • Add nginx CLI config flow commands (#4246)
  • Avoid invalid certificate domains (#4245)
  • Handle config interpolation and timeout sigil resolution (#4244)
  • Add upgrade job to CI workflow (#4241)
  • Remove nginx setup from install and upgrade scripts (#4240)
  • Ensure nginx maintenance script configures Django settings (#4238)
  • Handle missing nginx SSL option files (#4236)
  • Refactor GitHub service layer and add tests (#4235)
  • mm
  • Refactor nodes models into modules (#4234)
  • Auto-create nginx preview certificates (#4232)
  • Refactor energy models into domain modules (#4233)
  • Add certificate provisioning to nginx admin preview (#4231)
  • mege
  • Fix package repository fixture natural key format (#4230)
  • Remove maintenance fallback and update nginx preview apply (#4229)
  • Allow forced upgrade to discard local changes (#4228)
  • Introduce manual task requests and reports (#4227)
  • Run migrations before configuring nginx (#4226)
  • Add YouTube channel model to video domain (#4225)
  • Add certificate management and HTTPS-aware nginx configs (#4224)
  • chore(deps): bump tzdata from 2025.2 to 2025.3 (#4150)
  • Add nginx admin preview for site configurations (#4223)
  • Handle mixed-content visitor registration (#4222)
  • chore(deps): bump actions/cache from 4 to 5 (#4145)
  • chore(deps): bump actions/setup-node from 4 to 6 (#4146)
  • chore(deps): bump actions/upload-artifact from 4 to 6 (#4147)
  • chore(deps): bump black from 25.11.0 to 25.12.0 (#4152)
  • Add system SQL report tools and validation (#4220)
  • Handle permission errors in nginx maintenance update (#4219)
  • Handle nginx site config write permissions (#4218)
  • Add package init file for nginx tests (#4217)
  • Create reports app for SQL reports (#4216)
  • Add package repository model and default PyPI linkage (#4214)
  • Enable nginx when required roles demand it (#4213)
  • Add GPIO RTC clocks domain (#4212)
  • Add reusable SQL system report (#4210)
  • Add lint and docs make targets (#4209)
  • Add admin import test and stub admin modules (#4208)
  • Add dev make target for local bootstrap (#4207)
  • Register nginx site configuration in admin (#4206)
  • Handle missing pwd module on Windows (#4205)
  • chore(deps): bump psycopg-binary from 3.2.13 to 3.3.2 (#4149)
  • chore(deps): bump pytest from 8.3.4 to 9.0.2 (#4153)
  • chore(deps): bump reportlab from 4.4.5 to 4.4.6 (#4157)
  • Default visitor registration to loopback API (#4204)
  • Use visitor node API port 8888 by default (#4203)
  • Add timeout-guarded sigil resolution tests (#4202)
  • Add performance safeguards for sigil resolution tests (#4201)
  • Add Django nginx management app and commands (#4200)
  • Refactor forwarder sync test (#4198)
  • Use real store helpers in OCPP 2.0.1 action tests (#4199)
  • Promote switch-role to top-level configure script (#4197)
  • Ensure Odoo deployment discovery admin view is registered (#4193)
  • Update README default port to 8888 (#4195)
  • Report configured port in status and checks (#4196)
  • Link visitor registration to site domains (#4194)
  • Update README defaults to port 8000 (#4192)
  • Auto-enable rpi-camera when finding video devices (#4191)
  • Add video domain for Raspberry Pi camera support (#4190)
  • Ensure nodes admin URLs are imported (#4189)
  • Auto-enable audio capture feature on device scan (#4188)
  • Default visitor registration to loopback (#4187)
  • Fix visitor registration to respect visitor scheme (#4186)
  • Use site domain port in visitor admin view (#4185)
  • Use site domain port 443 for visitor registration (#4184)
  • Cache Playwright assets in screenshot workflow (#4183)
  • Add base site support for nodes (#4182)
  • Add test guarding api url namespaces (#4180)
  • Expand Odoo config discovery in home directories (#4178)
  • Fix SiteProxy admin change list initialization (#4179)
  • Add audio domain with recording device discovery (#4177)
  • Add SSH account model for nodes (#4176)
  • Add Mermaid app with Flow model (#4175)
  • Add discover app models admin action (#4174)
  • Add pre-check option to upgrade script (#4173)
  • Include user home paths in Odoo discovery (#4172)
  • Avoid scanning entire filesystem for Odoo discovery (#4171)
  • Remove seeded node fixtures (#4169)
  • Enhance purge_nodes logging and options (#4168)
  • Add purge_nodes command to clean up nodes (#4167)
  • Add dark theme support to register visitor view (#4166)
  • Remove profile field from Node admin (#4164)
  • Add manual visitor registration controls (#4165)
  • Include soft-deleted nodes in admin change view (#4163)
  • Use managed site domain when registering local node (#4162)
  • Allow authenticated node registration when signature invalid (#4161)
  • chore(deps): bump pytest-timeout from 2.3.1 to 2.4.0 (#4155)
  • Add fallback to port 8000 for visitor registration (#4160)
  • Default loopback visitor registration to port 8000 (#4159)
  • Add proxy flow for visitor registration (#4158)
  • Handle visitor registration fetch failures as warnings (#4144)
  • Avoid DNS lookups on Node admin changelist (#4143)
  • Clarify visitor registration fetch guidance (#4142)
  • Improve telemetry logging for visitor registration (#4141)
  • Log warnings to error file (#4140)
  • Scan filesystem for Odoo configs (#4139)
  • Add telemetry for visitor registration flow (#4138)
  • Handle visitor confirmation when unreachable (#4137)
  • Add registration_ready management command (#4136)
  • Ensure register_node always returns CORS headers (#4135)
  • Increase visitor registration timeout (#4134)
  • Add Odoo deployment discovery tool (#4133)
  • Auto-detect visitor node during registration (#4132)
  • Document logging domain and dependencies (#4131)
  • Route Celery info logs to dedicated file (#4129)
  • Handle missing visitor base in visitor registration (#4130)
  • Scope autodiscovered URLs per app namespace (#4128)
  • docs: clarify rpi camera feature (#4127)
  • Add local node registration logging (#4126)
  • Add logging for visitor registration flow and simplify UI (#4125)
  • Add helper for system user checks (#4124)
  • Refactor node content sample helpers (#4122)
  • Refactor OCPP timestamp parsing (#4123)
  • Add repository issue and pull request sync from GitHub (#4121)
  • Refactor auto-upgrade revision lookup (#4120)
  • Remove upgrade holder helper during upgrades (#4117)
  • Remove duplicate admindocs commands redirect (#4118)
  • Use shared timestamp formatter in show_changelog (#4119)
  • Allow arthexis subdomains in ALLOWED_HOSTS (#4116)
  • Improve visitor node registration logging and resilience (#4115)
  • Test automatic node registration and clean admin tools (#4114)
  • Add coverage for temp password command edge cases (#4113)
  • Reactivate expired users when issuing temp passwords (#4112)
  • Add cp simulator integration tests (#4111)
  • Add coverage for URL autodiscovery behavior (#4110)
  • Normalize module paths and add sitemap coverage (#4109)
  • Add trailing slash redirect for release checklist (#4108)
  • Add interactive login check and support temp passwords by email (#4107)
  • Remove password hint from login form (#4106)
  • Add tests for TOTP device (#4105)
  • Refactor management command names (#4102)
  • Improve simulator live server coverage (#4103)
  • Add OCPP screenshot captures to CI workflow (#4104)
  • Add TOTP device support and OTP login flow (#4099)
  • Add snapshot tests for OCPP dashboard and EVCS public views (#4101)
  • Run simulator websocket test against live server (#4100)
  • Add tests for temp password arthexis user (#4097)
  • Refactor transaction import pipeline (#4096)
  • Refactor auto-upgrade scheduling prediction (#4095)
  • Handle admin nav links when modules table unavailable (#4094)
  • Update temp password command to upgrade existing users (#4093)
  • Add temporary upgrade holder option to upgrade script (#4092)
  • Add upgrade holder for auto-upgrade downtime (#4091)
  • Update login tooltips and add logout links (#4089)
  • Add update flag to temp_password command (#4090)
  • Refactor nodes admin into modular package (#4087)
  • Add staff and superuser options to temp_password command (#4088)
  • Default command.sh to disable celery by default (#4086)
  • Add transaction IO tests and robustness (#4085)
  • Add status reset regression tests (#4084)
  • Add tests for forwarding sessions (#4083)
  • Refactor simulate_cp into helper class (#4082)
  • Refactor node registration workflow (#4081)
  • Refactor auto-upgrade coordination (#4080)
  • Ignore simulator state file (#4079)
  • Filter simulator params before launch (#4078)
  • Fix cp simulator translation import (#4077)
  • Handle extra simulator parameters (#4076)
  • Fix cp simulator imports (#4075)
  • Fix simulator panel polling behavior (#4074)
  • Fix missing translation import for public views (#4072)
  • Fix CP simulator start handling (#4073)
  • Track embedded process PIDs for stop script (#4071)
  • Fix charger public view imports (#4070)
  • Add create flag to temp_password command (#4069)
  • Allow terminal nodes to access CPMS dashboard (#4068)
  • Remove legacy OCPP standalone views module (#4067)
  • Handle optional hardware imports in import resolution test (#4066)
  • Ignore git metadata in import resolution test (#4065)
  • Fix import resolution test encoding (#4064)
  • Install Playwright package before dashboard screenshot (#4060)
  • Add dashboard screenshot workflow (#4056)
  • Install Playwright dependency in screenshot workflow (#4059)
  • Fix EVCS simulator view context (#4057)
  • Fix dashboard charger grouping for table rendering (#4058)
  • Refactor ocpp admin module layout (#4055)
  • chore(deps): bump psycopg from 3.2.13 to 3.3.2 (#3932)
  • Ensure system user only uses temporary passwords (#4052)
  • Handle legacy clipboard tasks (#4051)
  • Handle default Celery memory broker hostname (#4050)
  • Add import resolution regression test (#4049)
  • chore(deps): bump django-celery-beat from 2.7.0 to 2.8.1 (#3934)
  • Set related model badge text to white in light mode (#4048)
  • Refine charger imports (#4047)
  • Add admin quick stats test and fix admin status links (#4046)
  • Fix charger store imports (#4045)
  • Fix admin validation error handling for charge points (#4044)
  • Add quick links under CPMS dashboard table (#4042)
  • Ensure admin autodiscovery before URL resolution (#4043)
  • Handle missing charger last seen data in dashboard (#4041)
  • Add charger last_seen property and related tests (#4040)
  • Fix dashboard connector URL helper import (#4039)
  • Fix dashboard energy aggregation for new transaction fields (#4038)
  • Remove admin dashboard search UI (#4037)
  • Ensure dashboard uses visible chargers helper (#4036)
  • Remove acronyms data loading (#4035)
  • chore(deps): bump django from 5.2.8 to 5.2.9 (#3935)
  • Fix OCPP dashboard imports and test reachability (#4032)
  • Ensure debug toolbar shows in debug mode (#4033)
  • Harden status resets during ocpp migrations (#4031)
  • Handle missing charger table when clearing cached statuses (#4030)
  • Write OCPP logs directly without Celery (#4029)
  • Fix admin header badge links (#4028)
  • Fix admin header title width (#4027)
  • Fix favorites visibility on admin app pages (#4025)
  • Add sigil resolver helper and refresh selenium scripts (#4026)
  • Adjust dashboard header grid to fit search toggle (#4024)
  • chore(deps): bump django-timezone-field from 7.1 to 7.2.1 (#3939)
  • Add smoke test for charger admin page (#4022)
  • Allow links in Wikipedia summary widget (#4023)
  • Add dashboard search toggle for admin app search (#4021)
  • Add admin iframe view for references (#4018)
  • Fix markdown reader language selection (#4019)
  • Remove EVCSChargePoint admin registration (#4020)
  • Highlight failed dashboard rules (#4017)
  • Handle reload flag in start script (#4015)
  • Restore dashboard rule badges on admin dashboard (#4013)
  • Add browser test admin action (#4012)
  • Force selenium Firefox to run headless when no display (#4011)
  • Disable model badges for dashboard favorites (#4010)
  • Remove dashboard model badge functionality (#4009)
  • Remove OCPP RFID proxy and mark cards critical (#4008)
  • Fix charger URL reversing when OCPP URLs are namespaced (#4007)
  • Remove badge counter model and related features (#4006)
  • Remove pyxel-related tests (#4004)
  • Add per-test timeout to CI (#4005)
  • Add stop-only upgrade flag (#4003)
  • Enable debug toolbar with --debug runserver (#4002)
  • Add badge counter defaults and dashboard tests (#4001)
  • Update OCPP 2.0.1 coverage badge (#4000)
  • Fix favorites redirect to preserve destination (#3999)
  • Add debug and log streaming options to start scripts (#3998)
  • Add dashboard rule tests and badge counter logging (#3997)
  • Handle duplicate admin favorites gracefully (#3996)
  • Deduplicate dashboard favorites (#3995)
  • Fix OCPP admin registration discovery (#3992)
  • Add selenium scripts for public and admin site tests (#3994)
  • Show first paragraph in wiki widget (#3993)
  • Add Selenium browser and script support (#3990)
  • Refactor screens and create pyxel app (#3991)
  • Fix htmx extension initialization timing (#3989)
  • Add tests for auto-upgrade schedule last run (#3988)
  • Mark additional critical applications (#3987)
  • Use local htmx assets for admin (#3985)
  • chore(deps): bump django-import-export from 4.3.13 to 4.3.14 (#3940)
  • Fix admin URLs for package release links (#3984)
  • Ensure dashboard status uses reveal extension (#3983)
  • Load admin htmx extensions locally (#3982)
  • Load admin htmx assets from local static first (#3981)
  • Serve htmx assets locally for admin dashboard (#3980)
  • Fix dashboard favorites cache refresh (#3945)
  • chore(deps): bump pyxel from 2.0.9 to 2.5.10 (#3941)
  • Add CDN fallbacks and CORS headers for htmx assets (#3979)
  • Add custom override indicator to seed data table (#3977)
  • Add custom override indicator to seed data admin list (#3978)
  • Run upgrade checks inline without Celery (#3975)
  • Add application importance classification (#3974)
  • Honor runtime base dir for auto-upgrade logging (#3973)
  • Fix release breadcrumbs to use correct admin app list (#3972)
  • Add test validating OCPP 1.6 coverage output (#3971)
  • Remove roadmap text after OCPP tables (#3970)
  • Add ocpp201 protocol coverage and tests (#3969)
  • Add OCPP 2.0.1 coverage regression test (#3968)
  • Add ocpp201 notification handlers and tests (#3967)
  • Add ocpp21 and ocpp201 coverage tests (#3964)
  • Adjust OCPP 2.x negotiation to prefer supported versions (#3965)
  • Add platform model and fixtures (#3963)
  • Use intersect trigger for admin dashboard badges (#3962)
  • Add admin action to rerun tests (#3961)
  • Fix admin profile link resolution in release progress (#3960)
  • Rename application fixture labels (#3959)
  • Enable Refresh from PyPI changelist action (#3958)
  • Import static helper for admin boolean icons (#3957)
  • Add test for connector reassignment state retention (#3956)
  • Add test for local websocket rate limit bypass (#3954)
  • Add regression test for vendor extension CALL handling (#3955)
  • Remove coverage badges from READMEs (#3953)
  • Make watch-upgrade helper installation best-effort (#3952)
  • Fix htmx badge loading and add dashboard tests (#3951)
  • Add preservation note for seed data records (#3950)
  • Add nginx maintenance app-down page (#3948)
  • Add coverage for user data loading after seed fixtures (#3947)
  • Add sigil resolution test coverage (#3946)
  • Add badge counter fixture for badge counts (#3944)
  • Allow debug with auto-upgrade without node role (#3931)
  • Refine dashboard favorite layout (#3943)
  • Add reachability checks for public site and admin (#3942)
  • Add upgrade check mode for pull-only runs (#3930)
  • Fix admin dashboard badge alignment (#3929)
  • Mark fixtures as seed data and warn in admin (#3928)
  • Handle missing default landing relation in admin (#3927)
  • Add admin registration for test results (#3926)
  • Create releases from PyPI refresh (#3925)
  • Add wiki URLs for application admin widgets (#3924)
  • Add released RFID badge counter (#3923)
  • Skip NetMessage propagation during upgrades (#3922)
  • Fix admin traffic graph loading (#3920)
  • Add Node badge counter migration (#3921)
  • Fix wiki summary widget template path (#3919)
  • Add fixture for arthexis package (#3918)
  • Fix public site traffic widget template path (#3917)
  • Enforce CSRF on invite requests (#3916)
  • Add comprehensive env refresh flow test (#3915)
  • Add widget framework and migrate admin widgets (#3910)
  • Avoid skipping service recovery when state is unknown (#3914)
  • Add admin action to validate node service activity (#3913)
  • merge
  • Add application models registry and admin inline (#3912)
  • Add admin proxies for celery beat models (#3911)
  • Add tests for calculate coverage command (#3909)
  • Add localhost admin backend tests (#3908)
  • Add local django_celery_beat migration override (#3907)
  • Add charger opt-ins for scheduled OCPP tasks (#3906)
  • Remove Google Calendar profile (#3905)
  • Add placeholder core migration for celery dependency (#3904)
  • Skip delegated upgrade when watch helper is missing (#3902)
  • Fix dashboard stale status cleanup import (#3903)
  • Adjust app admin view layout (#3900)
  • Register missing OCPP models in admin (#3901)
  • Align admin app page layout with dashboard (#3899)
  • Address warning messages (#3898)
  • Align admin app pages with dashboard layout (#3897)
  • Relax websocket basic auth test assertions (#3896)
  • Allow test result persistence to access database (#3895)
  • Remove legacy kickstart_constellation_udp task (#3894)
  • Rebuild migrations (#3893)
  • Restore admin dashboard headers (#3892)
  • Allow custom application names (#3891)
  • Remove admin dashboard wiki dropdown (#3890)
  • Remove favicons from share embed (#3889)
  • Skip pre-run Django system checks (#3888)
  • Fix OCPP admin import errors (#3887)
  • Refactor ocpp views into package (#3883)
  • merge
  • Fix translation imports in OCPP admin and update migrations (#3884)
  • merge
  • Refactor OCPP admin into modular modules (#3878)
  • Guard TOTP migration when otp_totp app is missing (#3882)
  • Expose TOTP key validator for migrations (#3880)
  • Register proxy TOTP device model (#3876)
  • Add AWS Lightsail models and admin fetch actions (#3875)
  • merge
  • Move TOTP device fully into users app (#3873)
  • Add socials app with avatar-based Bluesky and Discord profiles (#3872)
  • Move TOTP devices model to users app (#3871)
  • Restore dashboard collapsible apps with inline wiki info (#3870)
  • Move Module model into modules app (#3869)
  • Add wiki helpers and admin summaries (#3867)
  • Remove migration server preflight task (#3868)
  • Remove teams SecurityGroup proxy (#3866)
  • Ensure language selector submits with credentials (#3865)
  • Add admin action to create current location (#3864)
  • Show favorites in dashboard app lists (#3863)
  • Improve install clean cleanup coverage (#3862)
  • Add env refresh end-to-end test coverage (#3860)
  • Allow branch selection in upgrade scripts (#3861)
  • refactor: centralize logging utilities (#3859)
  • Ensure fixtures use natural keys (#3858)
  • Rebuild migrations and fix otp totp dependency cycle (#3855)
  • Update log rotation policy (#3856)
  • merge
  • Log legacy Celery task invocations (#3854)
  • Adopt unified energy transaction ledger (#3849)
  • Make payment processors global (#3853)
  • Fix favorites toggle confirmation rendering (#3851)
  • Add persistence test for user data fixtures (#3852)
  • Enhance embed card with share metadata (#3850)
  • Use in-memory Celery beat scheduler (#3847)
  • Add nginx opt-out and port updates (#3848)
  • Add Pyxel viewport rendering for device screens (#3843)
  • Enhance application admin listing (#3846)
  • Fix embed preview host validation (#3844)
  • Streamline ledger rollout with no data (#3845)
  • merge
  • Add gravatar support to chat messages (#3841)
  • Remove ReleaseManager proxy from teams app (#3842)
  • merge
  • Remove Node Profile model and references (#3839)
  • Allow modules to span multiple node roles (#3840)
  • Add chat avatars for chat operators (#3838)
  • Handle authenticator logins without enrolled devices (#3837)
  • Serve markdown QR codes locally (#3836)
  • Move language helpers into locale app (#3835)
  • Remove module and landing provisioning (#3834)
  • Fix Windows preflight task command for PowerShell (#3833)
  • Guard language lookup before apps ready (#3832)
  • Move maintenance request flow to tasks app (#3831)
  • Move documentation reader into docs app (#3830)
  • Purge module seed fixtures (#3828)
  • Guard SQLite WAL setup until apps are ready (#3829)
  • Add runserver preflight checks to dev launchers (#3826)
  • Add docs app and migrate cookbooks (#3824)
  • Refactor favorites cache helpers into caches module (#3827)
  • Handle soft-deleted sigil roots when seeding (#3825)
  • Refactor cache store helpers for reuse (#3823)
  • Add audit of outdated cookbook docs (#3817)
  • Create locale domain for languages and docs (#3821)
  • Use Application display name in __str__ (#3820)
  • Add rebuild apps migrations command with branch tagging (#3819)
  • Remove modules inline from application admin (#3816)
  • Restore QR code in markdown reader (#3818)
  • Remove invalid application landing modules (#3815)
  • Dynamically import apps modules (#3814)
  • Add Makefile wrappers for lifecycle scripts (#3813)
  • Add workflow transition logging (#3812)
  • Add OCPP reconnection resilience tests (#3811)
  • Add startup elapsed time reporting to dev servers (#3810)
  • Add embeds domain for shareable widgets (#3809)
  • feat: add node workflow domain (#3807)
  • chore: remove fixtures for modules without landings (#3808)
  • Prototype Redis-backed OCPP resiliency (#3806)
  • Add pip cache to CI workflow (#3804)
  • Stop auto-creating modules for local apps (#3803)
  • Fix sigil root fixtures for missing models (#3801)
  • Handle navigation pills with invalid links (#3802)
  • Update Porsche reference link (#3800)
  • Add websocket rejection and auth coverage (#3792)
  • Fix SigilRoot fixture loading on soft-deleted rows (#3799)
  • Add tests for OCPP subprotocol negotiation defaults (#3795)
  • Handle missing SigilRoot content types in env refresh (#3796)
  • Add protocols fixtures to package data (#3793)
  • Add tests for OCPP connection lifecycle (#3791)
  • Add watchtower badge generator and fixture (#3789)
  • Bypass rate limiting for local EVCS connections (#3788)
  • Add migration validation and cover sigil post-migrate handler (#3787)
  • Add module security controls and expose invalid landings (#3785)
  • Handle post migrate signal kwargs for sigil fixtures (#3784)
  • Add default simulator connectivity test (#3783)
  • Resolve otp_totp migration dependency cycle (#3782)
  • Rebuild migrations (#3781)
  • Fix SecurityGroup references in teams initial migration (#3780)
  • chore(deps): bump redis from 7.0.1 to 7.1.0 (#3650)
  • Disable checkout cleaning in workflows (#3779)
  • chore(deps): bump sqlparse from 0.5.3 to 0.5.4 (#3652)
  • Fix SigilRoot fixture content types (#3769)
  • chore(deps): bump anyio from 4.9.0 to 4.12.0 (#3656)
  • chore(deps): bump wsproto from 1.2.0 to 1.3.2 (#3655)
  • Refactor SecurityGroup into groups app (#3778)
  • Handle long request paths in view history (#3777)
  • Fix loading of dashboard badge counters (#3775)
  • Use shields.io CI badge with cache (#3774)
  • Align migrations after user domain move (#3767)
  • Remove PowerLead admin from teams (#3773)
  • chore(deps): bump incremental from 24.7.2 to 24.11.0 (#3657)
  • Advise using --latest when updates are available (#3772)
  • Remove default flag from payment processors (#3768)
  • Add managing local node data guide (#3771)
  • Remove obsolete lifecycle helpers note from README (#3770)
  • Share site, node, and role context (#3764)
  • Remove UserManual model and related features (#3765)
  • Fix AWG cable seed loading (#3763)
  • Shorten GoDaddy record labels (#3760)
  • Add role context data for badges (#3762)
  • merge
  • Refactor pages models into package (#3761)
  • Ensure fixtures packaged for distribution (#3758)
  • Add site template overrides for users and groups (#3757)
  • Ensure CI workspace writable before checkout (#3759)
  • chore(deps): bump asgiref from 3.10.0 to 3.11.0 (#3653)
  • Remove unused energy proxy models from core (#3754)
  • Refactor OCPP models into modular package (#3756)
  • Add configurable rate limiting support (#3751)
  • Add Twilight Noble site template (#3753)
  • Handle missing dashboard rules (#3752)
  • Add value filter to admin environment variables (#3750)
  • Use lazy htmx loads for dashboard statuses (#3749)
  • Explain and guard footer visibility regression tests (#3748)
  • Handle dashboard rule messages safely in cache (#3747)
  • Add live server availability test (#3745)
  • Refactor core models into package modules (#3746)
  • Return None for unresolved sites (#3743)
  • rm git checks
  • rm wlan 1 refresh
  • Remove duplicate LandingLead model definition (#3742)
  • Fix dashboard reverse URL (#3740)
  • Stabilize simulator credential inputs (#3739)
  • remove old ci plan
  • Fix test server state helper fixture (#3737)
  • Move release workflow into app domain (#3736)
  • Add lock_dir fixture for test server tests (#3734)
  • Queue startup net message via Celery (#3732)
  • Add pytest fixture for test server lock directory (#3733)
  • Fix OCPP compatibility wording typos (#3731)
  • Move VS Code server tools into apps.vscode domain (#3730)
  • Harden test server state tracking (#3729)
  • Add test for fixture change detection used by env-refresh (#3728)
  • Add charger page reverse resolution test (#3726)
  • Enable VS Code debug mode and document debug toolbar (#3725)
  • Add test server script (#3724)
  • Shorten Linux install guidance in READMEs (#3719)
  • Add nmcli network connection tracking (#3722)
  • Namespace ocpp URL reversals (#3721)
  • Prevent CI from writing bytecode (#3720)
  • Namespace charge point simulator URLs (#3718)
  • Move manual tasks into dedicated tasks app (#3716)
  • Enable DEBUG when running under VS Code debugger (#3717)
  • Remove release public entrypoint and navigation fixtures (#3715)
  • Extract DNS records into dedicated dns app (#3714)
  • Rename data transfer message verbose names (#3713)
  • Avoid root-owned repo logs (#3712)
  • Remove Wi-Fi lease model (#3711)
  • Add shared cache store for dashboard data (#3709)
  • Update dashboard rule fixtures and evaluation defaults (#3710)
  • Add site default landing and remove role landing model (#3708)
  • Remove teams proxy for Odoo employees (#3707)
  • Reload fixtures after migrations change (#3705)
  • Remove AWG EnergyTariff proxy (#3706)
  • chore(deps): bump markdown from 3.9 to 3.10 (#3654)
  • Remove email outbox warning from admin dashboard (#3704)
  • Add palette display and rename site branding model (#3703)
  • Add branch guard migration operations (#3702)
  • Remove badge files from nodes app (#3701)
  • remove pallette
  • Remove DeveloperArticle functionality (#3698)
  • Use dashboard rule for admin email warning (#3697)
  • Move RFID model code into cards app (#3700)
  • Add management command to clear app migrations (#3699)
  • k
  • Remove migration safety test (#3696)
  • Ensure OCPP logs use project root directory (#3694)
  • Require websockets>=15 and drop compatibility helper (#3695)
  • Remove failing DeviceScreen seed test (#3693)
  • Create leads app for shared Lead model (#3692)
  • chore(deps): bump tinycss2 from 1.4.0 to 1.5.1 (#3651)
  • Remove failover branch creation logic (#3691)
  • Fix celery beat proxy and repair seed fixtures (#3690)
  • Fix celery beat migration dependency (#3689)
  • remove agents
  • Split install and upgrade workflow (#3688)
  • Regenerate migrations (#3687)
  • chore(deps): bump pytest-django from 4.10.0 to 4.11.1 (#3658)
  • Remove Celery scheduling artifacts from release (#3686)
  • Handle fallback for non-dotted migration callables (#3684)
  • Update release install workflow upgrade call (#3685)
  • Handle missing manager in LCD seed migration (#3683)
  • Add websocket test for creating charge point on new path (#3682)
  • Pin django-celery-beat version (#3677)
  • Add GitHub-specific repository and issue domain models (#3680)
  • Relocate mailer utilities to emails app (#3678)
  • Remove passkey authentication support (#3679)
  • Remove deprecated auto-upgrade failover support (#3676)
  • Remove screenshot bootstrap and command (#3674)
  • Add django-mermaid support (#3675)
  • Remove admin email mailbox provisioning (#3673)
  • Remove public Wi-Fi functionality (#3672)
  • Rename custom loaddata command to load_user_data (#3670)
  • Remove countdown timer feature (#3671)
  • Move RFID import/export to cards domain (#3669)
  • Adjust celery beat migration dependency (#3668)
  • Add initial migrations and fix release dependency (#3667)
  • Replace live update helper with HTMX polling (#3666)
  • Keep migration server focused on migrations (#3665)
  • Move release workflow into dedicated app and reset migrations (#3664)
  • Fix maps initial migration ordering (#3663)
  • mierge
  • merge migrations
  • Rename Odoo profile to Odoo employee (#3660)
  • Add maps app with relocated Location model and Google Maps support (#3662)
  • Move references admin to links domain (#3661)
  • Activate venv for CI tests (#3659)
  • Configure pytest for Django tests (#3647)
  • Fix CI configuration and migration helpers (#3644)
  • Move LCD lock detection into screens helpers (#3645)
  • Remove PyPI install check from CI (#3646)
  • Update PyPI install verification (#3643)
  • Document upgrade channel options (#3642)
  • Adjust VS Code migration server launch (#3641)
  • Keep migration server Django process running (#3640)
  • Use base directory for release locks (#3639)
  • Handle runserver keyboard interrupt cleanup (#3638)
  • Remove legacy rfid app and dedupe installed apps (#3637)
  • Add base Entity app and update model inheritance (#3636)
  • Fix installed app registration for content and chats (#3635)
  • Merge VSCode manage wrapper into manage.py (#3634)
  • Move content models into content app (#3633)
  • Add chats and meta domains for chat bridges (#3632)
  • Remove APPLICATION_APPS in favor of LOCAL_APPS (#3631)
  • chore(deps): bump channels from 4.1.0 to 4.3.2 (#3240)
  • Add nested OCPP forwarder and simulator subapps (#3629)
  • Use localhost for migration server runserver command (#3630)
  • Handle legacy badge counter callables (#3627)
  • Rename RFID app to cards (#3628)
  • Move email models to emails app (#3626)
  • Remove stale lock hashes during install cleanup (#3625)
  • Add fixture lock hashing and relocate md5 files (#3624)
  • Refactor repos tasks into dedicated modules (#3623)
  • Auto-discover local apps (#3622)
  • Add screens domain for LCD and device screen metadata (#3621)
  • Add Repository model and seed fixture (#3620)
  • Refactor counters caching and rename app (#3619)
  • chore(deps): bump billiard from 4.2.2 to 4.2.3 (#3243)
  • Refactor payment processors into dedicated app (#3617)
  • Add dedicated media app for buckets and files (#3616)
  • chore(deps): bump psycopg from 3.2.9 to 3.2.13 (#3244)
  • Ensure migration server terminates runserver child (#3615)
  • Relocate reference fixtures to links app (#3613)
  • Move EV domain into vehicle app (#3614)
  • Enhance migration server to run Django dev server (#3612)
  • Simplify application naming and fixtures (#3611)
  • Add AWG calculation endpoint with template support (#3610)
  • Remove OCPP Net Monitor view and fixtures (#3609)
  • Handle admin app list lookup when Application model missing (#3607)
  • Move coverage badges to media directory (#3608)
  • Refactor lifecycle scripts and prune deprecated helpers (#3606)
  • Move camera logic into camera app (#3604)
  • Refactor RFID sync into rfid app (#3605)
  • Fix OCPP consumer import for reference utils (#3603)
  • Use nodes work directory for security assets (#3602)
  • Remove logging helper from renew certs script (#3601)
  • Fix installation errors for celery beat dependencies (#3600)
  • Remove AGENTS and DESIGN references (#3599)
  • Remove backup file helper script (#3598)
  • Remove pre-commit hook scripts (#3597)
  • Restore celery naming (#3596)
  • Remove DebugFriendlyErrorMiddleware (#3595)
  • Replace CRM app with Odoo-specific implementation (#3594)
  • Reset migrations for 0.2.0 (#3592)
  • Remove pages screenshot functionality (#3591)
  • Rename counters app package to counts (#3590)
  • Remove unused chat bridge modules (#3589)
  • Move references into links app (#3588)
  • Move user data and favorites into locals app (#3587)
  • Centralize Celery helpers (#3585)
  • Move admin dashboard counters to counters app (#3584)
  • Move energy admin registrations into energy app (#3583)
  • Move CRM and product models to dedicated app (#3582)
  • Move sigil functionality into dedicated app (#3581)
  • Remove GitHub helpers from core (#3580)
  • Move teams app into apps package (#3579)
  • Remove WireGuard support (#3578)
  • Move security assets to work nodes path (#3577)
  • Use .locks directory for runtime lock files (#3575)
  • gitleaks
  • Move accounts app into energy package (#3571)
  • Integrate protocols features into OCPP app (#3574)
  • releases
  • remove gitkeeps
  • Remove legacy TODO fixtures and proxy (#3573)
  • Move GitHub integration to repos app (#3572)
  • Move pages app into apps namespace (#3570)
  • Move nodes app under apps namespace (#3569)
  • Move awg app into apps package (#3568)
  • Move Application model to apps.app (#3567)
  • Simplify CI and remove release workflow (#3566)
  • Refactor ocpp and rfid apps into apps package (#3565)
  • refactor: use apps.core module directly (#3564)
  • Move core and app into apps package (#3562)
  • Add stub migration for countdown timer dependency (#3561)
  • Add stub core migration for celery beat dependency (#3560)
  • Simplify release install workflow (#3559)
  • Fix django-celery-beat and sites migration deps (#3558)
  • Prep 0.2.0 cleanup (#3556)
  • Improve upgrade safety for database tasks and local changes (#3555)
  • Guard lock task signals until apps are ready (#3554)
  • Add last contact column to charger status output (#3553)
  • Remove at-sign from auto-upgrade subject (#3551)
  • Defer cached status reset until after startup (#3550)
  • Run tests in CI install-and-upgrade workflow (#3546)
  • Move Business admin grouping to accounts (#3549)
  • Ensure admin app list includes unordered apps (#3548)
  • Set latest auto-upgrade interval to hourly (#3547)
  • Add node service model and templates (#3545)
  • chore(deps): bump reportlab from 4.4.4 to 4.4.5 (#3246)
  • Add system NGINX report to admin (#3544)
  • merge migrations
  • Fix celery beat migration dependency (#3542)
  • Fix missing SocialProfile import for admin form (#3541)
  • Refactor energy models into accounts app (#3539)
  • Fix OCPP consumer UTC handling for Python 3.10 (#3540)
  • merge migrations
  • Improve repair mode service discovery (#3538)
  • Add application ordering to admin dashboard (#3537)
  • Move public Wi-Fi access tracking to nodes (#3535)
  • Move social profile model to teams app (#3536)
  • Handle invalid websocket schemes when forwarding (#3534)
  • Disable LCD feature when I2C bus missing (#3533)
  • Add await option to service start script (#3532)
  • merge migrations
  • Fix nginx redirect server invocation (#3531)
  • Fix ASGI routing imports order (#3530)
  • Harden nginx host handling (#3529)
  • Enable switch-role stable channel without role (#3528)
  • Broadcast net message on simulator start (#3527)
  • Handle unstashed changes for non-terminal upgrades (#3526)
  • Ignore OCPP simulator state file (#3525)
  • Remove edit controls from public read view (#3524)
  • Ensure footer release info loads via fragment (#3523)
  • Remove clipboard option from feedback rating (#3522)
  • Align auto-upgrade CI checks with branch workflow status (#3519)
  • Add charge point maintenance task category seed (#3520)
  • Remove Teams User proxy from admin (#3518)
  • Rename purge action label in CP admin (#3517)
  • Add average kWh and amperage controls to simulator (#3514)
  • Update suite uptime lock handling (#3516)
  • Add shared admin action to toggle user data (#3515)
  • Serialize Raspberry Pi camera snapshots (#3513)
  • Expose start default simulator action on simulator changelist (#3512)
  • Expose visitor configuration link after registration (#3510)
  • Make sigil builder textarea auto expand (#3511)
  • Render admin user tools inline (#3509)
  • Add start/no-start flags to upgrade script (#3508)
  • Preserve service state across upgrade reruns (#3507)
  • Improve temporary password admin page layout (#3506)
  • Recover auto-upgrade fetch when remote ref is stale (#3505)
  • Enable OCPP navigation landing test (#3502)
  • Update htmx integrity hashes (#3503)
  • Remove admin dashboard recent actions widget (#3504)
  • Add pre-upgrade checks to upgrade report (#3501)
  • Reset auto-upgrade run count after failures (#3500)
  • Enhance sigil resolution for callable attributes (#3499)
  • Open admin change links in new tab (#3498)
  • Remove recently viewed admin pages feature (#3495)
  • Add progressive HTMX loading to markdown reader (#3497)
  • Add guest user login admin action (#3492)
  • Preserve node startup port for self links (#3494)
  • Remove cancel link from Slack bot wizard (#3496)
  • Lazy load footer with HTMX (#3493)
  • Add HTMX model status loading to admin dashboard (#3491)
  • Move ContentType cache clearing to favorite submissions (#3490)
  • Cache local node lookup (#3489)
  • Cache dashboard rule lookups (#3488)
  • Skip failing tests in constrained environment (#3487)
  • Refine pyxel viewport controls (#3486)
  • Cache admin dashboard favorites blocks (#3483)
  • Remove calendar widget and defer dashboard chart load (#3482)
  • Cache admin content type lookups (#3484)
  • Remove failing tests (#3481)
  • Address test warnings (#3480)
  • Remove coverage quality drop test (#3479)
  • Handle migration checks without Django installed (#3475)
  • Fix build staging to run without cwd requirement (#3477)
  • Remove network failure reset auto-upgrade test (#3478)
  • Remove stable critical auto-upgrade test (#3476)
  • Normalize env-refresh helpers to handle CRLF (#3474)
  • Ensure env-refresh pip failures are surfaced (#3473)
  • Handle merge migration exit codes (#3472)
  • Fix benchmark suite resource averages (#3471)
  • Normalize auto-upgrade mode and POSIX script handling (#3470)
  • Handle release builds outside git repositories (#3469)
  • Fix check command listing and forwarding (#3468)
  • Add CP forwarder sync proxies (#3467)
  • Fix admin index change link rendering (#3466)
  • Normalize benchmark process matching across OS paths (#3465)
  • Ensure active app log handler releases file handle (#3464)
  • Record systemd unit during install (#3463)
  • Display admin history on dashboard (#3462)
  • Restrict admin profile link to teams permissions (#3461)
  • Ensure email inbox admin test avoids duplicate admin user (#3460)
  • Handle Windows upgrade execution (#3459)
  • Ensure sigil builder response retains context (#3457)
  • Handle existing superusers when seeding (#3458)
  • Handle interrupted test runs in test server (#3456)
  • Add notifications to VS test server runs (#3454)
  • Improve release severity and social profile handling (#3455)
  • Fix email dashboard rule messages per model (#3453)
  • Remove recent model updates admin widget (#3452)
  • Remove date from auto-upgrade failure net message subject (#3451)
  • Adjust LCD scrolling wrap padding (#3450)
  • Normalize database path serialization (#3449)
  • Handle Windows upgrade launch failures (#3448)
  • Preserve charger error codes when clearing stale status (#3447)
  • Fix email admin tasks and forms (#3445)
  • Expose CP forwarder session helpers and harden async DB access (#3446)
  • Ensure upgrade.sh uses local virtualenv for requirements (#3443)
  • Normalize migration server snapshot paths (#3444)
  • Use timezone aware timestamps for GitHub issue locks (#3442)
  • Load pytest plugins from top-level conftest (#3441)
  • Prefer virtualenv python for upgrade installs (#3440)
  • Fix upgrade pip install env invocation (#3439)
  • Harden env-refresh script and prune redundant tests (#3437)
  • Mark package release tests for Control role (#3438)
  • Handle simulator default validation without pytest-django (#3435)
  • Scope CP simulator and forwarder tests to node roles (#3436)
  • Ensure footer renders on home page and reuse existing node roles (#3434)
  • Restrict Windows notification tests to Terminal role (#3433)
  • Handle platform-specific upgrade scripts (#3432)
  • Validate sigil builder uploads (#3430)
  • Default migration checks to sqlite backend (#3431)
  • Refine auto-upgrade task behavior (#3429)
  • Handle externally managed pip installs during upgrade (#3428)
  • Ensure invite request responses always expose context (#3427)
  • Ensure RFID RFID tests use migrated DB and HTTPS-safe site mocks (#3426)
  • Ignore SQLite WAL and SHM files (#3425)
  • migrations
  • Improve client report template fallbacks (#3420)
  • Fix admindocs grouping and acronym capitalization (#3419)
  • Add package initializer for scripts utilities (#3423)
  • Handle Celery beat periodic task normalization safely (#3418)
  • Ensure non-debug error pages render standard templates (#3421)
  • Run migrations before test watcher (#3422)
  • Allow comparison operators in condition field evaluation (#3416)
  • Add VS Code test server launcher (#3417)
  • chore(deps): bump zope-interface from 8.0.1 to 8.1.1 (#3245)
  • Fix CI workflow heredoc indentation (#3411)
  • chore(deps): bump docutils from 0.22.2 to 0.22.3 (#3248)
  • Replace Interface node role with Terminal (#3415)
  • Add CI guard to auto-upgrade task (#3414)
  • Rework pyxel viewport layout (#3413)
  • chore(deps): bump certifi from 2025.10.5 to 2025.11.12 (#3242)
  • Broadcast upgrade start net messages for manual runs (#3412)
  • Remove change links from dashboard model rows (#3410)
  • Standardize dashboard rule messaging (#3408)
  • Fix startup net message format (#3405)
  • Add docs-only change detection to CI workflow (#3409)
  • Improve repair handling for service unit stacks (#3407)
  • Allow LCD rows to scroll independently (#3403)
  • Shorten upstream node check-in message (#3404)
  • Simplify auto-upgrade failure subject timestamp (#3402)
  • Delay view history purge until first request (#3401)
  • Improve LCD welcome message formatting and scrolling (#3400)
  • Ensure LCD systemd unit follows suite restarts (#3399)
  • Add non-queryset action for charge point dashboard (#3397)
  • Reset Slack bot wizard sessions between visits (#3398)
  • Improve admin badge labels and favorite handling (#3396)
  • Tag camera QR tests with rpi-camera feature (#3395)
  • Use node camera for identity validator scanning (#3394)
  • Remove CLI registration view from node admin (#3393)
  • Rename node admin register host action (#3392)
  • Add public Slack OAuth callback endpoint (#3391)
  • Handle Slack bot wizard domain redirects (#3390)
  • Hide login submit until authenticator precheck completes (#3389)
  • Use node-specific upgrade notification message (#3388)
  • Shorten upgrade Net Message revisions (#3387)
  • Allow mobile subdomain in allowed hosts (#3386)
  • Add identity validator updates and QR test link (#3384)
  • Reduce noise when loading user data fixtures (#3385)
  • Fix upgrade python invocation (#3383)
  • Fix upgrade report next run display (#3382)
  • Ignore generated cache directory during upgrades (#3381)
  • Handle missing require_2fa column in temp_password command (#3380)
  • Add color picker form to SiteTemplate admin (#3378)
  • Protect AWG calculators with CSRF (#3379)
  • Add admin dashboard model migration summary (#3377)
  • Allow configuring Slack wizard redirect callback (#3376)
  • Improve Slack bot wizard form validation (#3375)
  • Address feedback: enforce temporary expiry and protect CLI registration (#3374)
  • Add temporary user expirations and CLI node registration flow (#3373)
  • Clarify Slack token mapping for chatbot setup (#3372)
  • Add pre-commit hook to mark development revisions (#3371)
  • Explain Experience admin restoration for protocol forwarders (#3370)
  • Add check-nodes management command (#3369)
  • Add git hook to append development marker (#3368)
  • Fix site template migration for Site model (#3367)
  • Ensure custom Site fields load for SiteProxy admin (#3366)
  • Ensure Site template migration updates state (#3365)
  • Add cooldown between auto-upgrade runs (#3363)
  • Update upgrade Net Message content (#3364)
  • Add site templates and apply to sites (#3361)
  • Revert CI workflow to original matrix (#3362)
  • Avoid DB access during OCPP app initialization (#3360)
  • Run node role test matrix in CI (#3359)
  • Keep LCD service running until upgrade completes (#3358)
  • Add optional 2FA requirement and update login flow (#3356)
  • Add docs-only CI path with markdown validation (#3357)
  • Assign Odoo imports to security group (#3355)
  • Add Odoo integrations cookbook link (#3354)
  • Avoid DB queries during startup notification (#3353)
  • Rename Current Features section to Suite Features (#3352)
  • Shorten EnergyTariff contract column label (#3351)
  • Handle safe files before upgrade pull (#3350)
  • Detect systemd mode for dependent units (#3349)
  • Detect systemd mode from existing units (#3348)
  • Render run command stdout newlines (#3347)
  • Remove latest developments sections from READMEs (#3346)
  • Detect stale release builds and announce release (#3345)
  • chore: record publish metadata for v0.1.34
  • Release v0.1.34
  • pre-release commit 0.1.34
  • chore: update version
  • Update maintenance request form category handling (#3344)
  • Add connectivity monitor task for control and satellite roles (#3343)
  • Add OCPP 1.6 coverage helper tests (#3342)
  • chore(deps): bump psycopg-binary from 3.2.12 to 3.2.13 (#3241)
  • Restrict admin command runner to superusers (#3313)
  • Add OCPP 1.6 coverage detection tests (#3341)
  • Improve Slack bot wizard configuration flow (#3340)
  • Add admin flow to import customer accounts from Odoo (#3332)
  • Expand GraphQL guard to node role fixtures (#3339)
  • Add dashboard rule fixtures for email profiles (#3338)
  • Add screenshot guidance for PRs (#3337)
  • Add PyPI installation test report (#3334)
  • Add enable flag to email inboxes (#3336)
  • Add breadcrumb copy link to admin pages (#3335)
  • Handle blank net messages on admin dashboard (#3328)
  • Add credential readiness columns to release manager admin (#3333)
  • Improve net message send form layout (#3331)
  • Add landing count column to module admin (#3330)
  • Shorten contract type display in energy tariff admin (#3329)
  • Schedule net message purge every 12 hours (#3326)
  • Map unified RFID check alias to correct command (#3324)
  • Add task category defaults and extend manual tasks (#3323)
  • Add unified check management command (#3322)
  • Fix admin log viewer include rendering (#3320)
  • Add maintenance request translations (#3321)
  • Use username for email profile display (#3319)
  • Align EVCS dashboard state with connector status (#3318)
  • Keep LCD systemd unit running during upgrades (#3317)
  • Update OCPP roadmap after clearing 1.6 backlog (#3316)
  • Add test for hydrating suite from PyPI install (#3315)
  • Set Cookbooks module as default across sites (#3314)
  • Restrict admin command runner to superusers (#3312)
  • Add admin dashboard command runner (#3309)
  • Handle Django introspection change in module priority migration (#3311)
  • Fix project version for PEP 440 compliance (#3310)
  • Pin autobahn for Python 3.10 compatibility (#3304)
  • Bump actions/checkout from 5 to 6 (#3239)
  • chore(deps): bump click from 8.2.1 to 8.3.1 (#3247)
  • Add safeguard migration for module priority column (#3303)
  • Clarify email configuration error messages (#3302)
  • Respect manual stop during upgrade restart (#3301)
  • Switch development marker to +d (#3300)
  • Make status reachability check use available python (#3299)
  • Revert to 0.1.33+ after failed release (#3298)
  • Expand OCPP 1.6 call coverage detection (#3297)
  • Release v0.1.34
  • Show short contract type in energy tariff admin list (#3296)
  • Add prioritized email mailboxes and logging (#3294)
  • Link simulators to charger configurations (#3295)
  • Refactor forwarding service into forwarder module (#3293)
  • Avoid nested nginx redirect if nesting (#3291)
  • Adjust Net Message admin columns (#3292)
  • Avoid database work during app startup (#3289)
  • Avoid database work during app startup (#3290)
  • Include package data in PyPI releases (#3288)
  • Add maintenance request navigation for charge points (#3285)
  • Improve PyPI availability checks with retries (#3287)
  • Add favorites toggle to admin change headers (#3286)
  • Release v0.1.34
  • pre-release commit 0.1.34
  • chore: update version
  • Update upgrade Net Message subject formatting (#3284)
  • Ensure upgrade reinstalls watchdog when missing (#3283)
  • Align schedule phases field with OCPP (#3280)
  • Add watchdog service automation (#3282)
  • Rename Chargers module pill to Charge Points (#3281)
  • Clear stale charger states on view access (#3278)
  • Hide connector tabs with single connector (#3279)
  • Remove kind and expiry date from RFID admin list (#3277)
  • Delay LCD stop until post-upgrade restart (#3276)
  • Reset charger statuses on startup (#3275)
  • Broadcast auto-upgrade start notification (#3274)
  • Improve screenshot readiness bootstrap (#3272)
  • Refine charging profile admin experience (#3271)
  • Inline Pyxel viewport assets to prevent missing file errors (#3268)
  • Update translated READMEs to match English updates (#3270)
  • Fix net monitor viewport static path (#3269)
  • README
  • Add detached upgrade option (#3267)
  • Redirect port 8900 root to simulator (#3266)
  • Handle percent characters in RFID labels (#3265)
  • Implement OCPP 1.6 diagnostics and profile responses (#3264)
  • chore(deps): bump webauthn from 1.11.1 to 2.7.0 (#3249)
  • Add module priorities for public navigation order (#3263)
  • Fix OCPP 1.6 coverage detection (#3262)
  • Update OCPP coverage badges (#3261)
  • Rename header links pill to Constellation (#3260)
  • merge migrations
  • Implement charging profile scheduling dispatch workflows (#3258)
  • Adjust autobahn pin for compatibility (#3256)
  • Add network profile provisioning via SetNetworkProfile (#3255)
  • Add OCPP 2.0.1 request start/stop support (#3253)
  • Ensure remote diagnostics use media bucket uploads (#3254)
  • Add OCPP 2.0.1 transaction event handling (#3252)
  • Delay RFID scanner initialization after page load (#3251)
  • Add fail-safe for Pyxel viewport loading (#3250)
  • disable rfid scanner on startup
  • Instrumentation for RFID startup fix
  • Add reference link validation workflow (#3238)
  • Ensure LCD systemd service is managed during control installs (#3237)
  • Close remaining HTTP responses (#3236)
  • Configure nginx during install and upgrade (#3235)
  • Close remaining HTTP responses (#3234)
  • Close external response handles (#3233)
  • Add footer reference fixture for Avon Ross (#3232)
  • Remove automatic upgrade on service startup (#3231)
  • Sync markdown hash updates to scroll (#3230)
  • Handle package release epochs (#3229)
  • Normalize package release versions (#3228)
  • Set LocalSim Connector 2 as default simulator (#3227)
  • Add dashboard rule model and seed admin dashboard checks (#3226)
  • Remove Pyxel viewport binaries (#3223)
  • Improve pyxel viewport dragging visuals and overlay (#3225)
  • Shorten OCPP table headers in READMEs (#3224)
  • Show simulator default column in admin (#3222)
  • Add preferred OCPP version settings for chargers (#3221)
  • Add pytest dependency for test compatibility (#3220)
  • Add OCPP 2.0.1 coverage checkpoint (#3219)
  • Make reader QR codes track active fragment (#3218)
  • Add port 8900 redirect for nginx (#3217)
  • Restrict stable auto-upgrades to overnight window (#3216)
  • Improve net monitor viewport status handling (#3214)
  • Add tests for systemd service unit creation (#3215)
  • Remove incorrect simulator help text (#3213)
  • Remove serial number help text from simulator (#3212)
  • Add Net Monitor Console landing for Pyxel WASM viewport (#3209)
  • Show AWG columns in ConduitFill admin (#3211)
  • Add protections for auto-upgrade scheduling and startup (#3210)
  • Add draggable containers to Pyxel viewport (#3208)
  • Stop LCD scrolling when shutdown is requested (#3207)
  • Handle LCD shutdown cleanly (#3206)
  • Enhance CP simulator defaults and HTMX refresh (#3203)
  • Always capture feedback screenshots and optional clipboard copy (#3205)
  • Improve filter layout on Net Message send page (#3204)
  • Remove release fixtures to hide navigation pill (#3202)
  • Update consumption net message formatting (#3201)
  • Deduplicate AWG calculator nav entries (#3199)
  • Show suite address overlay in Pyxel viewport (#3200)
  • Handle pwd dependency on Windows (#3198)
  • Remove GraphQL endpoint and dependencies (#3197)
  • Add CI and license badges to READMEs (#3196)
  • Document GetDiagnostics support (#3195)
  • Clear pyxel viewport work directory before running (#3194)
  • Show loading screen while ensuring instance startup (#3193)
  • push git remove root
  • Fix pyxel mouse button constant (#3192)
  • Hide queryset-based dashboard actions (#3191)
  • Clear pyxel viewport output directory automatically (#3190)
  • fix upgrades
  • Improve default simulator action feedback (#3189)
  • Add admin action to configure diagnostics uploads (#3185)
  • Enhance Pyxel viewport orchestration (#3184)
  • Align services and celery to local timezone
  • Remove ansible artifacts from role configuration migration (#3183)
  • Add launch config for Pyxel viewport (#3182)
  • Add OCPP 1.6 compliance review (#3181)
  • Fix Slack bot admin action signature (#3180)
  • Add safe directory guard to upgrade flow
  • Make Slack bot wizard a toolbar action (#3179)
  • Add fixture for upstream arthexis.com node (#3178)
  • Remove unused pydantic dependencies (#3177)
  • Local fix for auto upgrade
  • Remove legacy Ansible automation support (#3176)
  • Add watchdog option for suite service (#3175)
  • Handle watch-upgrade calls without a service name (#3174)
  • Add Windows helper for Pyxel viewport (#3173)
  • Delegate auto-upgrade via helper script (#3172)
  • Keep admin user tools inline (#3171)
  • Add startup report warning for clock drift (#3170)
  • Add Slack bot creation wizard to admin (#3169)
  • Add OCPP 1.6 action handlers and coverage updates (#3168)
  • Improve detached upgrade logging (#3167)
  • Handle deleted log files immediately (#3166)
  • Update role default test expectations for fixed upgrades (#3165)
  • Default new installs to fixed upgrades (#3164)
  • Shorten admin language dropdown labels (#3163)
  • Guard LCD startup notifications (#3162)
  • Add failure count to upgrade report (#3161)
  • Ensure watch upgrade makes upgrade script executable (#3160)
  • Add helper script for Pyxel viewport (#3159)
  • Add station model catalog and charger linkage (#3158)
  • Stream watch-upgrade logs to journal (#3157)
  • Update suite services report to use systemd unit records (#3152)
  • Add chat-bridge feature gating chat widgets (#3156)
  • Load admin user tools asynchronously with htmx (#3155)
  • Make dashboard star add favorites directly (#3154)
  • Add Net Message alerts for auto-upgrade failures (#3153)
  • Add watch-upgrade helper and installer (#3150)
  • Remove PackageRelease list columns for GitHub URL and schedule (#3149)
  • Add startup report logging and visibility (#3147)
  • Default control installs to latest and autostart (#3146)
  • Allow startup auto-upgrade to manage restarts (#3145)
  • Add resend toolbar action to Net Message admin (#3141)
  • Add management command for recent changelog entries (#3144)
  • Ensure services start after network online (#3143)
  • Keep LCD message displayed after lock consumption (#3142)
  • Add database and web server footer references (#3140)
  • Improve startup status diagnostics (#3139)
  • Replace Love2D viewport with Pyxel (#3138)
  • Enforce detached auto-upgrades and add recovery (#3136)
  • Close RFID session log files after each write (#3135)
  • Remove stale RFID lockfile after setup failure (#3133)
  • Allow auto-upgrade tasks to restart services (#3132)
  • Use refresh icon for revision checks (#3131)
  • Make admin net message label link to send view (#3130)
  • Fix security event payload snapshot syntax (#3129)
  • Skip inline upgrade on detached launch failure (#3128)
  • Optimize public charger dashboard and connector views (#3125)
  • Refactor OCPP receive handler into dedicated action methods (#3124)
  • Add manual revision refresh to upgrade report (#3123)
  • Add check_time management command (#3127)
  • Refactor release progress view (#3126)
  • Lazy initialize RFID scanner on demand (#3122)
  • Remove clipboard collection feature (#3120)
  • Remove TODO fixture guidance (#3121)
  • chore: drop todo fixtures from release process (#3119)
  • Improve detached auto-upgrade failure diagnostics (#3118)
  • mm
  • Clean up env-refresh after TODO removal (#3115)
  • Make Send Net Message admin form single column (#3117)
  • Refactor OCPP call result handling (#3116)
  • Increase auto-upgrade health check delay (#3114)
  • Refactor call error handling into dedicated module (#3113)
  • Delegate auto-upgrade to transient systemd watcher (#3112)
  • Add optional expiry date to RFID cards (#3111)
  • Send released RFID local list to charge points (#3110)
  • Add default CP simulator flag and admin action (#3108)
  • Remove deprecated prestart environment refresh (#3107)
  • Preserve user data fixtures during uninstall (#3106)
  • Improve Send Net Message admin layout (#3105)
  • Stop prestart env refresh on start (#3104)
  • Queue startup Net Messages through LCD service (#3103)
  • Remove constellation UDP probe task (#3098)
  • Send startup Net Message on app ready (#3099)
  • Add catalog table to node features cookbook (#3097)
  • Ensure CRM employee string uses username (#3096)
  • Detach auto-upgrade from running Celery worker (#3095)
  • Extend consumer report scheduling periods (#3094)
  • Log completion of auto-upgrade workflow (#3088)
  • Add upgrade progress reporting to status script (#3093)
  • Add local refresh flag to upgrade script (#3092)
  • Stop celery and lcd units during upgrade shutdown (#3091)
  • Adjust unstable auto-upgrade frequency (#3089)
  • Add Love2D connector viewport command (#3087)
  • Add media bucket support for charger diagnostics (#3086)
  • Add RFID admin action to create accounts from transactions (#3085)
  • Handle connector landing language fallback (#3084)
  • Update charge point energy units to W/kW (#3083)
  • Ensure stop script shuts down Celery units (#3082)
  • Run LCD service in embedded mode by default (#3080)
  • Improve mobile charger landing layout (#3079)
  • Default to embedded Celery service management (#3078)
  • Ensure upgrade script applies dependencies and migrations (#3076)
  • Ensure sqlite connections use WAL mode (#3077)
  • Extract service install helper (#3075)
  • Retry celery services after failed restart (#3074)
  • Add configurable charger energy units (#3073)
  • Add force upgrade option to rerun when versions match (#3072)
  • Enhance clean install to reset services and artifacts (#3071)
  • Increase systemd timeouts and adjust celery settings (#3070)
  • Improve upgrade diagnostics for service failures (#3069)
  • Align upgrade report with stable and unstable channels (#3068)
  • Add LCD check command and clear lock files after display (#3066)
  • Stop scheduling clipboard polling (#3067)
  • Add trusted flag to node registration (#3065)
  • Adjust admin node upstream requirement (#3064)
  • Update README links to public site (#3063)
  • Attempt to start nginx when reload fails (#3062)
  • Fix nginx managed sites directory (#3058)
  • Simplify upgrade channels to stable and unstable (#3061)
  • Remove obsolete revert handling (#3059)
  • Align LCD lockfile base resolution (#3060)
  • Remove failover fallback from upgrade and env refresh (#3057)
  • Increase Celery startup timeout allowance (#3056)
  • Handle upgrade script updates and rely on systemd for Celery (#3055)
  • Skip celery checks during env refresh (#3054)
  • Improve systemd startup feedback in start script (#3053)
  • Codex/review upgrade timers and services process (#3052)
  • Add suite services report to admin system reports (#3050)
  • Simplify stop script service shutdown (#3049)
  • Refine service startup and upgrade scheduling (#3048)
  • Treat stale active sessions as safe during stop (#3047)
  • Handle existing ContentSample user column in migration (#3046)
  • Update simulator fixtures to use default port (#3045)
  • Add origin comparison to upgrade report (#3044)
  • Add upgrade script syntax check to CI (#3043)
  • Fix syntax error in upgrade script (#3042)
  • Ensure --install installs PostgreSQL server when client only present (#3041)
  • Add command to inspect next auto-upgrade (#3040)
  • Remove deprecated suite gateway stub (#3039)
  • Add optional PostgreSQL installation to db setup script (#3038)
  • Handle auto-upgrade git TLS resets (#3036)
  • Add suite uptime lockfile support (#3037)
  • Add explanatory comments to install and upgrade scripts (#3035)
  • Ensure LCD notifications recreate lock file (#3034)
  • Add retry for sqlite fixture loads in env refresh (#3033)
  • Improve auto-upgrade restarts and startup logging (#3032)
  • Remove upgrade restart guard timer (#3031)
  • Gate passkey login button behind setting (#3030)
  • Register ocpp remote sync Celery alias (#3029)
  • Widen CP simulator action column (#3028)
  • Fix admin chat textarea width (#3027)
  • Ensure Celery workers honor soft shutdown timeout (#3026)
  • Enhance LCD alerts for suite and shutdown events (#3025)
  • Ensure status.sh validates and safely queries services (#3024)
  • Handle service names starting with dashes in status (#3023)
  • Enhance uptime report with suite summary (#3022)
  • Upgrade WebAuthn to drop CBOR decoder warning (#3021)
  • Track installed services via lockfiles (#3020)
  • Add Stripe payment processor support and documentation (#3018)
  • Remove deprecated libipld dependency (#3017)
  • Store camera snapshots under work directory (#3016)
  • Refresh local node during periodic update (#3015)
  • Ensure services refresh environment on restart (#3014)
  • Add power projection schedule support (#3013)
  • Add WhatsApp chat bridge integration (#3012)
  • Add charging profile model for OCPP 1.6 (#3011)
  • Add system uptime admin report (#3010)
  • Add node count badge to admin dashboard (#3009)
  • Allow completed countdowns to remain visible and safe to remove (#3008)
  • Fix TODO creation timestamps (#3007)
  • Add coverage for upgrade report failover handling (#3006)
  • Improve admin support chat styling (#3004)
  • Reduce related models badge size and add QA fixture (#3005)
  • Clarify node update task skip reasons (#3003)
  • Fix upgrade report uptime timezone handling (#3002)
  • Align admin chat widget with public layout (#3001)
  • Fix auto-upgrade service working directory (#3000)
  • Synchronize release schedules with countdown timers (#2998)
  • Add relationship indicators to admin related models (#2999)
  • Simplify CRM employee display labels (#2996)
  • Restore chat toggle on admin pages (#2997)
  • Add confirmation step for charge point purge action (#2995)
  • Add suite uptime to upgrade report (#2990)
  • Signal systemd restarts after upgrades (#2994)
  • Refactor OCPP dispatch action handling (#2992)
  • Fix ReserveNow pending call handling (#2989)
  • Add GetConfiguration dispatch handling (#2987)
  • Support local list dispatch actions (#2984)
  • Stop services during install repair to avoid database locks (#2988)
  • Handle reservation actions in dispatch endpoint (#2983)
  • Document control and satellite host requirements (#2986)
  • Handle firmware update and log actions in dispatch (#2985)
  • mm
  • Handle cached charger data during deletion (#2981)
  • Defer RFID background reader startup (#2980)
  • Deprecate node proxy endpoints by default (#2976)
  • Handle watchtower nodes in admin dashboard rule (#2979)
  • Allow repair installs to reuse existing database (#2978)
  • Improve node role admin inline defaults (#2975)
  • Require staff credentials for proxy sessions (#2974)
  • feat: add scheduled package release automation (#2972)
  • Support group-shared TOTP devices and optional authenticator passwords (#2973)
  • Fix Site admin permissions (#2970)
  • Add passwordless authenticator flow (#2971)
  • Add systemd upgrade guard and install repair mode (#2969)
  • Wrap markdown TOC links to prevent horizontal scrolling (#2968)
  • Enable chat widget input while disconnected (#2967)
  • Handle Python requirement updates in migration server (#2966)
  • mm
  • Allow auto-upgrade to use upgrade.sh restart behavior (#2965)
  • Add WebAuthn passkey authentication flows (#2964)
  • Align public chat overlay with feedback dialog (#2963)
  • Ensure auto-upgrade restarts inactive services without updates (#2962)
  • docs: remove story-driven development references (#2961)
  • Restrict node proxy endpoints from creating users (#2959)
  • Ensure Odoo profiles clear metadata after RPC failures (#2960)
  • Rearrange CP simulator layout with side action column (#2958)
  • Notify Slack when visitor chat messages arrive (#2957)
  • Ensure auto-upgrades verify Celery restart (#2954)
  • Handle protected charge point deletions in admin (#2953)
  • fix: restore pending todos widget on admin home (#2952)
  • Fix single countdown layout in Future Event carousel (#2950)
  • Document OCPP roadmap in dedicated cookbook (#2951)
  • Restyle chat widget with green theme (#2949)
  • Fix admin dashboard node rule evaluation (#2948)
  • Fix chat widget session reset on unauthorized close (#2946)
  • Fix auto-upgrade restart when sudo is interactive (#2947)
  • Add visitor chat persistence and widget (#2945)
  • Add EVCS heartbeat status to admin dashboard (#2943)
  • Add cost and availability metrics to charger quick stats (#2944)
  • Add admin dashboard checks for node health (#2942)
  • Ensure countdown fixtures load after developer articles (#2941)
  • Handle non-interactive systemctl restarts in start script (#2940)
  • Add developer articles and link countdown timers (#2939)
  • Align README translations with story-driven terminology (#2938)
  • Add EVCS model rule indicators to admin dashboard (#2936)
  • Restore admin navigation on changelog report (#2935)
  • Add EVCS sigil root for physical charge points (#2937)
  • Extend Celery worker shutdown grace period (#2934)
  • Handle missing interrupt_main when restarting VS Code runserver (#2933)
  • Fix runserver bootstrap in vscode_manage (#2932)
  • Restart service after auto-upgrade (#2931)
  • Fix upgrade notification timestamp to use local time (#2930)
  • Document OCPP version coverage and generate new badges (#2929)
  • Add Slack bot onboarding cookbook (#2928)
  • feat: add changelog report views (#2926)
  • Fix migration server import order and add QA task (#2927)
  • Track upgrade progress with lock file (#2925)
  • feat(nodes): add node profile metadata (#2924)
  • Restore Release manager tasks module on admin dashboard (#2923)
  • Coordinate VS Code runserver with migration server (#2921)
  • Fix energy tariff debug toolbar template handling (#2922)
  • Improve admin dashboard mobile layout (#2919)
  • Add admin warning when email delivery is not configured (#2918)
  • Cache admin dashboard badge metrics (#2917)
  • Add network playbooks for control and satellite nodes (#2916)
  • Fix wlan0 configuration block in network setup script (#2915)
  • Add node role configuration orchestration (#2914)
  • Switch RSA signatures to PSS padding (#2911)
  • Refactor condition evaluation to avoid raw SQL (#2913)
  • Document audit comment guidance for security-sensitive code (#2910)
  • Fix websocket auth model tests indentation (#2908)
  • Add role configuration profiles for node roles (#2909)
  • mm
  • Add migration to resync node update periodic task (#2907)
  • Add coverage badge utilities and command (#2906)
  • Remove legacy node public endpoint access (#2905)
  • Increase node update refresh cadence to hourly (#2904)
  • Add test for upgrade stop messaging (#2903)
  • Add regression test for release tag auth failures (#2902)
  • Distinguish untracked timeline state for remote nodes (#2901)
  • Add regression test for upgrade flag conflict (#2896)
  • Add retry coverage tests for Twine uploads (#2900)
  • Add parameterized channel override tests (#2899)
  • Add regression test for upgrade clean prompt (#2897)
  • Add tests for release severity resolution helper (#2898)
  • Stop CP simulator on unsupported CSMS messages (#2893)
  • Ensure auto-upgrade restarts dev server (#2895)
  • Ensure remote node registration refresh updates last_seen (#2894)
  • Add EVCS connectivity maintenance cookbook and link (#2892)
  • Add carousel for future event countdowns (#2891)
  • Refactor admin docs rendering helpers (#2890)
  • Handle failover repair role detection (#2889)
  • Refactor client report view flow (#2887)
  • Run initial env refresh when migration server starts (#2888)
  • Add guard tests for customer account potential purchase edge cases (#2885)
  • Add CustomerAccount credit aggregation tests (#2884)
  • Add CustomerAccount uppercase regression tests (#2886)
  • Add business model test for EnergyTariff manager (#2882)
  • Add EnergyTariff validation tests and QA fixture (#2883)
  • Add transaction kw prefetched meter value tests (#2880)
  • Add tests for reference utils loopback detection (#2881)
  • Add repair mode to switch-role maintenance script (#2879)
  • Add coverage for charger connector slug and label helpers (#2878)
  • Add tests for charger availability status helper (#2877)
  • Add purge test covering charger cache cleanup (#2876)
  • Add charger locality tests (#2875)
  • Add charger visibility tests for ownership scopes (#2874)
  • Add tests for generate_log_request_id (#2873)
  • feat: refresh suite 404 page experience (#2872)
  • Add autoreloading nginx 404 fallback page (#2870)
  • Support additional documentation reader formats (#2869)
  • Adjust EVCS metadata scheduling (#2868)
  • Add Horologia countdown timers and future event view (#2866)
  • chore: record publish metadata for v0.1.33
  • Release v0.1.33
  • chore: update version and fixtures
  • Ensure release progress templates expose debug toolbar metadata (#2861)
  • Restrict access to AWG zapped easter egg (#2862)
  • Fix Constellation manifest parser substitution (#2863)
  • Fix nginx proxy host header for AWG energy tariff (#2865)
  • Add migration updating sigil content types (#2864)
  • Fix release fixtures and align OCPP models (#2860)
  • Restore node migration helpers and fix UTF-8 fixture load (#2859)
  • mm
  • Fix migration data normalization helpers (#2858)
  • Ensure blank node addresses avoid NULL writes (#2856)
  • Fix node registration blanks and add regression QA task (#2857)
  • Handle zap input with playful AWG result (#2851)
  • Add migration watcher launcher for env refresh (#2855)
  • Resequence IP normalization migrations (#2853)
  • Reorder IP migrations to normalize after schema change (#2848)
  • Restore TODO current version baseline to installed release (#2849)
  • Add Update Node action to node admin change form (#2852)
  • mm
  • Remove null usage from optional string fields (#2847)
  • fix: target todo fixtures for next patch release (#2846)
  • Refactor AWG calculator flow for clarity (#2845)
  • refactor: remove changelog tooling from release flow (#2843)
  • Add UnlockConnector admin action and tests (#2841)
  • Refactor energy tariff calculator helpers (#2842)
  • fix: keep manual release todos visible (#2840)
  • Refactor localhost admin authentication helper logic (#2839)
  • Refactor CoreConfig ready workflow (#2838)
  • Refactor admin credential test actions (#2837)
  • Refactor origin validation helpers in settings (#2836)
  • Refactor AWG sizing calculation helpers (#2835)
  • Avoid forcing HTTPS ports on HTTP fallbacks (#2834)
  • Display version and short revision in status output (#2832)
  • Update switch-role branch selection flags (#2833)
  • Fix forwarded charge point task rate limit (#2831)
  • Log auto-upgrade fetch failures (#2830)
  • Fix changelog release reassignment (#2829)
  • chore: record publish metadata for v0.1.32
  • Release v0.1.32
  • pre-release commit 0.1.32
  • docs: refresh changelog
  • docs: cut changelog for 0.1.31 (#2828)
  • chore: update changelog
  • chore: update version and fixtures
  • Ensure node update task uses UTC schedule (#2827)
  • feat: move location model to core business domain (#2822)
  • Add daily node update task and fixtures (#2826)
  • fix: register user admin for location autocomplete (#2825)
  • Fix manual changelog instructions logging (#2823)
  • Ensure SSL renewal periodic task fixture updates existing entry (#2824)
  • fix: recover changelog before release (#2821)
  • Ensure SSL renewal periodic task fixture sets date_changed (#2820)
  • Clear skip revisions when manually triggering upgrades (#2819)
  • Add monthly SSL renewal task and guard helper (#2818)
  • Handle TODO version labels with trailing plus suffix (#2817)
  • Adjust public charger usage timeline colors (#2816)
  • Ensure auto-upgrade tasks log in settings base dir (#2815)
  • Center admin public login link (#2814)
  • Paginate Celery report log entries (#2813)
  • Extend Celery report to read systemd journal logs (#2812)
  • Fix charger landing refresh behavior and layout (#2810)
  • Fix SigilRoot fixtures to use CustomerAccount content type (#2811)
  • Order upgrade report log entries newest first (#2809)
  • refactor: replace energy accounts with customer accounts (#2808)
  • Handle multiple node IPv4 addresses and surface versions (#2807)
  • Add task categories for manual tasks (#2805)
  • docs: document ChangeConfiguration and ClearCache support (#2804)
  • Add public login link to admin login page (#2803)
  • Enforce change access for user data toggle (#2801)
  • Fix admin user data toggle permissions and markup (#2800)
  • Fix teams email model wiring and add release todo (#2802)
  • Revise Horologia periodic task admin list (#2797)
  • Add admin user data star column with toggle support (#2799)
  • Improve auto-upgrade schedule resilience and admin links (#2798)
  • Improve CP configuration admin editing and push workflow (#2795)
  • Hide charge point filters in admin changelist (#2796)
  • Adjust charger admin list columns (#2794)
  • Hide CP configuration raw payload behind download link (#2792)
  • Fix OpenPay inline default processor configuration (#2793)
  • Refactor log request status tracking (#2791)
  • Add admin refetch action and reuse identical CP configurations (#2790)
  • mm
  • Improve CP forwarder export guidance (#2789)
  • chore: record publish metadata for v0.1.31
  • Release v0.1.31
  • pre-release commit 0.1.31
  • chore: remove TODO fixtures
  • docs: refresh changelog
  • chore: update version and fixtures
  • Sanitize admin favorite redirects (#2788)
  • fix: backfill todo created on column (#2787)
  • chore(deps): bump bleach from 6.2.0 to 6.3.0 (#2758)
  • Move EV domain models into OCPP app (#2786)
  • chore(deps): bump graphene-django from 3.2.2 to 3.2.3 (#2759)
  • chore(deps): bump python-dotenv from 1.1.1 to 1.2.1 (#2760)
  • chore(deps): bump django-import-export from 4.3.12 to 4.3.13 (#2761)
  • chore(deps): bump tablib from 3.8.0 to 3.9.0 (#2762)
  • chore(deps): bump black from 25.9.0 to 25.11.0 (#2763)
  • feat: track cp firmware requests (#2783)
  • Silence Celery and Graphviz debug logs outside DEBUG mode (#2785)
  • chore(deps): bump django-debug-toolbar from 6.0.0 to 6.1.0 (#2764)
  • chore(deps): bump pycparser from 2.22 to 2.23 (#2765)
  • Remove admin Future Actions dashboard section (#2784)
  • Add regression coverage for admin login (#2782)
  • Fix site context processor imports to restore CPMS dashboard (#2781)
  • Add failover upgrade alert banner and lock tracking (#2780)
  • Stop broadcasting login Net Messages and purge history (#2779)
  • Add management command and scheduled purge for net messages (#2778)
  • Avoid default port fallbacks for remote node URLs (#2777)
  • Fix changelog history and guard release validation (#2776)
  • Integrate CP forwarder message filters (#2775)
  • Add navigation landing smoke tests and QA todo (#2774)
  • feat: add OCPP message filters to CP forwarders (#2773)
  • chore(deps): bump certifi from 2025.7.14 to 2025.10.5 (#2766)
  • Handle restart failures with automatic failover revert (#2772)
  • chore(deps): bump django from 5.2.7 to 5.2.8 (#2767)
  • Ensure Todo fixtures define created_on (#2771)
  • Handle publish release conflicts with debug feedback (#2769)
  • Show technical error pages when debugging (#2770)
  • Remove legacy TODO fixtures and enforce version purge (#2768)
  • Disable NetMessage propagation during env refresh (#2757)
  • Ensure core Todo fixtures define created_on timestamps (#2756)
  • Document admin cookbooks for key dashboards (#2755)
  • Flag stale release manager TODOs based on release history (#2750)
  • mm
  • Replace audio capture waveform action with microphone test (#2752)
  • Default Terminal mode to debug by default (#2753)
  • Handle busy RFID reader detection (#2754)
  • Default celery worker concurrency to two (#2751)
  • Update CP simulator admin action label (#2749)
  • Redirect docs URLs to README viewer (#2748)
  • docs: move sigils guidance into cookbook (#2747)
  • Skip net message broadcast during env refresh (#2746)
  • Avoid node duplicate crash in register_site_apps (#2745)
  • Avoid overwriting single existing node defaults (#2744)
  • Handle duplicate nodes when registering site apps (#2742)
  • todos
  • chore: record publish metadata for v0.1.30
  • Release v0.1.30
  • pre-release commit 0.1.30
  • chore: update TODO fixtures
  • docs: refresh changelog
  • chore: update version
  • chore: update TODO fixtures
  • Refactor CP forwarding sessions to synchronous service (#2741)
  • Add test for GetLog call error handling (#2739)
  • Ensure CP Forwarder supports favorites in admin (#2740)
  • Add channel overrides to upgrade report (#2738)
  • Align CP forwarder admin with protocol group (#2737)
  • Add admin action for creating charge point simulators (#2736)
  • Document subprotocol fallback and extend coverage (#2735)
  • Fix OCPP simulators for websockets 15 header rename (#2734)
  • Improve visitor registration loopback handling (#2733)
  • Add debug toggle support to switch-role services (#2732)
  • docs: link admin section to install guide (#2727)
  • todo
  • Expose request language on context (#2731)
  • Fix last release changelog parsing (#2729)
  • Add CP forwarder model and admin flow (#2730)
  • Add consumer report view mode toggle and defaults (#2728)
  • readme
  • chore: record publish metadata for v0.1.29
  • Release v0.1.29
  • pre-release commit 0.1.29
  • chore: update TODO fixtures
  • docs: refresh changelog
  • chore: update version and changelog
  • mm
  • Assign constellation gateway devices (#2726)
  • Add periodic constellation UDP probe task (#2725)
  • Add WireGuard constellation overlay support (#2724)
  • Show MAC address in node admin list (#2721)
  • Fix charge point admin log link 404 (#2723)
  • Allow authenticated login check mode and link from admin (#2722)
  • Fix My User admin link for staff without Teams access (#2718)
  • Allow legacy sites permissions to access site proxy admin (#2719)
  • Add automatic metadata fetch for returning chargers (#2717)
  • Hide no-error codes on OCPP public pages (#2720)
  • Add coverage tests for OCPP, RFID, and public site logging (#2709)
  • Refine README markdown table styling for mobile (#2716)
  • Add version targeting to release manager TODOs (#2715)
  • Replace constellation role flag references with watchtower (#2714)
  • Stream audio capture waveform from node microphone (#2713)
  • Handle charger deletion failures after purge warning (#2712)
  • Handle RFID UID conflicts during admin import (#2711)
  • Use alphabetic connector labels across UI and commands (#2710)
  • Fix start charge point forwarding admin action (#2708)
  • Fix env refresh sync for completed TODOs (#2707)
  • chore: record publish metadata for v0.1.28
  • Release v0.1.28
  • pre-release commit 0.1.28
  • docs: refresh changelog
  • chore: update version
  • fix(release): auto-commit todo fixtures before syncing (#2706)
  • Disable default nginx site during setup (#2705)
  • Add IPv6 toggle and removal workflow to nginx setup (#2703)
  • Remove change configuration card from charger status page (#2704)
  • Move nginx configuration into dedicated setup script (#2702)
  • Fix nginx config generation duplicates and exit code (#2701)
  • Stop repeated consumer report downloads and localize PDFs (#2700)
  • Allow stop script to ignore stale sessions without charging lock (#2699)
  • Refactor nginx config rendering (#2698)
  • mm
  • Add ChangeConfiguration action handling and UI support (#2694)
  • Support forcing stop from upgrade script (#2696)
  • Add ClearCache control with consumer handling (#2695)
  • Handle missing git when reading remote VERSION (#2692)
  • Add CRM filter and credential status to CRM admin (#2693)
  • Ensure consumer report language options match supported locales (#2691)
  • Optimize report energy calculations (#2690)
  • Ensure model verbose names use Title Case (#2686)
  • Limit forwarding sync task frequency (#2687)
  • Add manual task assignees, notifications, and CP reservation action (#2688)
  • Fix RFID admin import when soft-deleted labels exist (#2689)
  • Optimize timeline log iteration and add regression test (#2681)
  • migrations
  • Add PayPal support to payment processor profile (#2685)
  • Remove admin model status template tag (#2684)
  • Remove admin model status indicator (#2683)
  • Improve Slack chatbot owner search (#2682)
  • Respect configured login URL for staff icon (#2678)
  • Optimize charger log retrieval with tail limits (#2680)
  • Add tests ensuring OCPP nav links stay valid (#2679)
  • Handle auto-upgrade network failure recovery (#2677)
  • Use asyncio scheduler for pending call timeouts (#2675)
  • Optimize transaction energy prefetching (#2674)
  • Cache seed fixture lookup (#2672)
  • fix: ignore orphaned charging sessions when stopping (#2671)
  • Add admin action to download charge point diagnostics (#2670)
  • Add relational storage for CP configuration keys (#2669)
  • refactor: move nginx config to sites-enabled (#2668)
  • Move RFID assignment to user change view (#2667)
  • feat: poll node scanner for RFID login (#2666)
  • Update OCPP 1.6 coverage badge to 75% (#2664)
  • feat: manage backend port configuration (#2665)
  • Add RFID check management command with scan support (#2662)
  • Improve Slack chatbot admin guidance (#2663)
  • Fix admin password change form mixin for Django 5 (#2661)
  • Restrict failover branch creation to non-terminal roles (#2660)
  • Add Slack chatbot profile and slash command for Net Messages (#2658)
  • merge
  • Add RFID selection to admin password change (#2659)
  • Slugify Celery periodic task names (#2657)
  • Assume RFID scanner availability via lock file fallback (#2656)
  • Remove DEBUG sigil root fixture (#2655)
  • Remove birthday metadata and add verification todo (#2654)
  • Enable audio capture defaults for Control nodes (#2653)
  • Enable clipboard polling by default for Terminal nodes (#2652)
  • Add cancel reservation admin action (#2651)
  • Remove legacy GWAY runner integration (#2649)
  • Honor network-setup safe mode (#2650)
  • Ensure local node without MAC detects RFID scanner (#2648)
  • Default to dark theme when no preference is saved (#2647)
  • Add CI test preventing large coverage drops (#2646)
  • feat: support RFID assignment in admin password change (#2645)
  • merge migrations
  • feat(ocpp): sync local rfid lists with charge points (#2644)
  • Stream session logs incrementally (#2643)
  • Add RFID session history command (#2642)
  • chore: add CRM employee admin validation todo (#2641)
  • Automatically trust local IP addresses (#2639)
  • Add release manager checklist to PR template (#2640)
  • Add manual task scheduling model for teams (#2638)
  • docs: document UpdateFirmware ocpp action (#2637)
  • Limit in-memory OCPP log buffers (#2636)
  • Fix firmware websocket tests (#2635)
  • Rename Odoo employee profile to CRM and add CRM selector (#2634)
  • Add workspace screen helper script and tests (#2631)
  • Silence Graphviz positional arg debug noise (#2632)
  • Show active RFID values for charging connectors (#2630)
  • Fix aggregate charger status availability (#2629)
  • Guard GraphQL URLs against startup database access (#2628)
  • Default node services to port 8888 (#2627)
  • Add stub virtualenv helper for env-refresh tests (#2626)
  • chore(deps): bump prompt-toolkit from 3.0.51 to 3.0.52 (#2610)
  • chore: record publish metadata for v0.1.27
  • Release v0.1.27
  • pre-release commit 0.1.27
  • docs: refresh changelog
  • chore: update version and fixtures
  • chore(deps): bump txaio from 25.6.1 to 25.9.2 (#2608)
  • Refactor forwarded charge point task to use websockets (#2625)
  • chore(deps): bump pillow from 11.3.0 to 12.0.0 (#2611)
  • chore(deps): bump django-otp from 1.5.4 to 1.6.3 (#2613)
  • chore(deps): bump psutil from 7.1.2 to 7.1.3 (#2615)
  • Prefer canonical gateway when normalizing systemd-networkd (#2623)
  • Support systemd-networkd routing normalization (#2622)
  • chore(deps): bump reportlab from 4.2.2 to 4.4.4 (#2616)
  • Stop upgrade script from configuring network (#2620)
  • Handle DHCP reset and status without nmcli (#2621)
  • Add DHCP reset option to network setup (#2619)
  • chore: record publish metadata for v0.1.26
  • Release v0.1.26
  • pre-release commit 0.1.26
  • docs: refresh changelog
  • chore: update version
  • Adjust auto-upgrade schedule intervals (#2618)
  • Stop auto-upgrade scheduler when lock is removed (#2606)
  • Adjust auto-upgrade intervals by mode (#2605)
  • Remove gway CLI integration (#2604)
  • Ensure Firefox driver is available for screenshots (#2600)
  • Add release severity handling for auto-upgrades (#2603)
  • Capture visitor node role during registration (#2602)
  • Gate GraphQL feature for non-Terminal roles (#2599)
  • Improve node networking metadata handling (#2598)
  • Adjust Odoo profile display name (#2597)
  • Refactor log viewers to share functionality (#2596)
  • Rename Django settings admin labels to Django Config (#2595)
  • Release v0.1.25
  • pre-release commit 0.1.25
  • docs: refresh changelog
  • chore: update version and fixtures
  • Link user story screenshots to existing samples (#2594)
  • Implement GraphQL energy export foundation (#2590)
  • Remove deprecated product fetch admin action (#2592)
  • merge
  • Preserve Odoo profile user data during upgrades (#2588)
  • docs: propose GraphQL energy export endpoint (#2589)
  • Add column filters to Odoo product registration table (#2587)
  • Delay forwarding watermark until forwarding acknowledged (#2586)
  • Fix Odoo product fetch without empty domain argument (#2585)
  • Implement charge point forwarding push workflow (#2584)
  • Add CP reservation model and ReserveNow support (#2583)
  • Ensure wlan clients can route through wlan1 (#2582)
  • Allow localhost admin login and seed site (#2581)
  • Handle missing git when deriving changelog commit URLs (#2580)
  • Add GitHub commit links to changelog report (#2579)
  • Fix aggregate connector energy total (#2576)
  • Update consumer report session tables (#2578)
  • Split OCPP call table by direction (#2577)
  • Document full OCPP 1.6 coverage overview (#2575)
  • Preserve original referer for lead submissions (#2574)
  • Enhance node connectivity handling (#2572)
  • Add node admin action for sending net messages (#2573)
  • chore: record publish metadata for v0.1.24
  • Release v0.1.24
  • pre-release commit 0.1.24
  • docs: refresh changelog
  • chore: update fixtures
  • chore: update version and fixtures
  • Ignore local work directory (#2571)
  • Validate client report titles before delivery (#2570)
  • Rename client report interfaces to consumer report (#2569)
  • Add localization options to consumer reports (#2568)
  • Fix month period validation for admin client report (#2567)
  • Show period type in client report string (#2564)
  • Relax atproto pin for Python 3.14 (#2566)
  • Enhance consumer report scheduling and delivery options (#2563)
  • Add env refresh dependency compatibility test (#2565)
  • Restrict remote charger actions to owning nodes (#2560)
  • Fix desktop shortcuts to include configured port (#2562)
  • Adjust README reader sidebar order for mobile (#2561)
  • Add charge point network synchronization across nodes (#2557)
  • Improve admin feedback dialog contrast (#2559)
  • Remove deprecated node proxy admin functionality (#2558)
  • Improve auto-upgrade status feedback (#2556)
  • chore: record publish metadata for v0.1.23
  • Release v0.1.23
  • pre-release commit 0.1.23
  • docs: refresh changelog
  • chore: update version
  • fixed net message display in admin
  • todos
  • Add cookbook manual for install and lifecycle scripts (#2522)
  • Guard stop.sh against active charging sessions (#2554)
  • Show latest net message in admin dashboard header (#2553)
  • Ensure desktop shortcuts start services before opening (#2552)
  • feat: deliver downloadable EVCS consumer reports (#2551)
  • Reduce fixture reloading in tests (#2549)
  • cov
  • Refactor seed data view tests setup (#2550)
  • Load fixture data once for presence tests (#2548)
  • Prevent resetting chargers with active sessions (#2547)
  • Add tariff scope fields to charging locations (#2546)
  • Update version marker handling for development revisions (#2520)
  • Add RFID label column to charger sessions (#2545)
  • Test charger manager node refresh logic (#2542)
  • Add simulator configuration tests (#2544)
  • Add vehicle identifier tests and fallback handling (#2543)
  • Add charger identity tests for shared locations (#2541)
  • Allow preparing next release from admin shortcut (#2540)
  • Ensure charger references update on URL changes (#2536)
  • Use Firefox for desktop shortcuts (#2539)
  • Add purge/delete test for aggregate charger connectors (#2537)
  • Add transaction and meter reading normalization tests (#2538)
  • Add tests for charger connector slug helpers (#2532)
  • Add charger visibility scope tests (#2534)
  • Add charger URL fallback tests for site defaults (#2535)
  • Add tests for charger serial validation (#2531)
  • Allow proxy sessions to trust mac hint (#2530)
  • Add tests for charger auto location sanitization (#2529)
  • Add charger energy aggregation tests (#2528)
  • Ensure chargers refresh manager node from persisted local node (#2527)
  • Add tests for CSRF referer subnet handling (#2525)
  • Handle proxy session redirects during proxy setup (#2526)
  • Add CSRF origin subnet regression coverage (#2524)
  • Fix wlan0 access point activation and default setup (#2523)
  • Document deployment scripts in cookbook manual (#2518)
  • Remove WiFi watchdog service integration (#2521)
  • Update version marker handling for development revisions (#2519)
  • chore: record publish metadata for v0.1.22
  • Improve charger status header layout (#2517)
  • Halve admin dashboard section header padding (#2516)
  • Restore admin dashboard header padding (#2515)
  • Refactor admin app lists for dashboard and sidebar (#2514)
  • Remove obsolete admin sidebar comment (#2513)
  • Restore admin app toggles and hide them in sidebar (#2512)
  • Require POST for preparing next package release (#2511)
  • Allow publish steps to use current user credentials (#2510)
  • Ensure package release deletion removes user data fixtures (#2509)
  • Remove unpublished release fixtures (#2508)
  • Remove unused admin sidebar collapse control (#2507)
  • Release v0.1.22
  • pre-release commit 0.1.22
  • docs: refresh changelog
  • chore: update version and fixtures
  • Remove duplicate connector label on charger public view (#2506)
  • chore: log git status on rebase failure (#2505)
  • Fix favorite configuration view handling (#2504)
  • Require verified contact details for feedback (#2503)
  • Track language on feedback user stories (#2502)
  • Preserve user data fixtures during upgrades (#2501)
  • chore(deps): bump psutil from 7.1.1 to 7.1.2 (#2433)
  • Ensure eth0 client mode registers with DHCP server (#2498)
  • chore(deps): bump cron-descriptor from 1.4.5 to 2.0.6 (#2434)
  • Adjust RFID admin endianness column label (#2500)
  • chore(deps): bump zaproxy/action-baseline from 0.14.0 to 0.15.0 (#2437)
  • chore(deps): bump redis from 5.0.8 to 7.0.0 (#2435)
  • Add daily OCPP configuration checks and track EVCS origin (#2499)
  • chore(deps): bump actions/upload-artifact from 4 to 5 (#2438)
  • chore(deps): bump wcwidth from 0.2.13 to 0.2.14 (#2439)
  • chore(deps): bump markdown from 3.8.2 to 3.9 (#2440)
  • feat: record TODO completion metadata (#2497)
  • chore(deps): bump libipld from 3.1.1 to 3.2.0 (#2441)
  • chore(deps): bump charset-normalizer from 3.4.2 to 3.4.4 (#2443)
  • Remove collapsible controls from admin sidebar (#2495)
  • Add local asset support to README viewer (#2493)
  • Add delete control to TODO focus view (#2494)
  • Handle invalid AWG calculator input (#2490)
  • Reduce padding on admin section headers (#2492)
  • Merge repeated usage timeline statuses (#2491)
  • Fix admin delete button sizing (#2488)
  • Add Google Calendar profile integration and dashboard widget (#2487)
  • mig
  • Fix node role sync when updating nodes via admin (#2485)
  • Shorten DataTransfer admin label (#2484)
  • Limit admin dashboard traffic widget to 7 days (#2483)
  • Improve debugging for Odoo product registration failures (#2482)
  • Add collapsible sections to admin dashboard (#2481)
  • Regenerate node keys when missing or expired (#2480)
  • Prevent desktop shortcut helper from following symlinks (#2479)
  • Create desktop shortcuts for local installs (#2478)
  • Protect version info endpoint behind staff login (#2477)
  • fix: reposition release todo tooltips (#2476)
  • Update release manager TODO display (#2475)
  • feat: persist release todo completion in fixtures (#2473)
  • Rename NodeManager labels to Node Profiles (#2474)
  • Show release todos on admin dashboard via tooltip (#2472)
  • Show empty state for admin release manager tasks (#2468)
  • Fix node Visit link to target remote dashboard (#2471)
  • Add visit link to node admin changelist (#2470)
  • Default user data checkbox for new favorites (#2469)
  • Add TODO validation fixture and guidance (#2467)
  • Fix admin proxy URLs for path-prefixed hosts (#2466)
  • feat: triage superuser feedback with tracked todos (#2465)
  • Improve proxy URL fallback for remote nodes (#2464)
  • Skip startup net message during migrations (#2463)
  • Remove duplicate Fetch RFIDs admin action (#2462)
  • Remove admin network setup runner (#2461)
  • Purge stale view history entries on startup (#2460)
  • Stop auto-creating package releases from PyPI sync (#2459)
  • Style admin delete button to match save (#2458)
  • Add priority management to favorites (#2456)
  • Show admin recent action metadata (#2457)
  • Fix Pending TODOs report rendering (#2455)
  • Allow editing favorites from toggle (#2454)
  • Simplify admin dashboard favorites layout (#2453)
  • Add latest release reference to changelog report (#2452)
  • Capture user story screenshots (#2450)
  • Sanitize auto-created charger location names (#2451)
  • Show TODO details tooltip on admin dashboard (#2449)
  • Use AJAX updates for OCPP dashboard table (#2448)
  • chore: record publish metadata for v0.1.21
  • Release v0.1.21
  • docs: refresh changelog
  • pre-release commit 0.1.21
  • docs: refresh changelog
  • chore: update version
  • Remove release TODO generation requirement (#2447)
  • chore(deps): bump psycopg-binary from 3.2.11 to 3.2.12 (#2442)
  • chore(deps): bump zope-interface from 7.2 to 8.0.1 (#2444)
  • Remove connector indentation from admin charger list (#2445)
  • Restore admin breadcrumbs on local node registration (#2432)
  • Fix advertised port for secure node info requests (#2430)
  • Fix admin RFID scanner deep read endpoint (#2429)
  • Add fetch RFIDs admin action (#2428)
  • Fix EasyMDE toolbar icons by loading Font Awesome (#2427)
  • Enhance OCPP dashboard layout and metrics (#2426)
  • Fix nmcli ipv6 property name (#2425)
  • Remove Datasette support (#2424)
  • Fix watchdog service guard and datasette port substitution (#2423)
  • Add status reporting and DHCP overrides to network setup (#2422)
  • Improve charger admin changelist grouping and stats (#2421)
  • Remove MCP and assistant profile features (#2420)
  • Sanitize MCP sigil port values for nginx configuration (#2419)
  • Normalize MCP_SIGIL_PORT parsing before templating nginx (#2418)
  • Update watchtower dashboard landing to CPMS (#2417)
  • Normalize MCP prefix when configuring nginx (#2416)
  • Sanitize MCP SIGIL port for nginx config (#2415)
  • Add eth0 mode override support to network setup script (#2414)
  • Allow network setup to accept full subnet overrides (#2412)
  • Shrink pill menu icons to prevent overflow (#2411)
  • chore: record publish metadata for v0.1.20
  • Release v0.1.20
  • pre-release commit 0.1.20
  • docs: refresh changelog
  • chore: update version
  • Fix RFID account lookup class method (#2410)
  • Support RFID prefix matching and admin merge (#2409)
  • Add conduit descriptors to AWG calculator (#2402)
  • Show lock icon for restricted pill dropdown items (#2408)
  • Scope optional hardware tests by feature markers (#2407)
  • Mark celery queue feature coverage for auto upgrade (#2405)
  • Mark nginx-specific tests with feature flag (#2406)
  • Mark RFID tests with rfid-scanner feature (#2403)
  • Mark gway runner tests and enable CI feature (#2404)
  • Rename Constellation node role to Watchtower (#2401)
  • Update charger module URLs (#2400)
  • Lighten EasyMDE toolbar icons in dark mode (#2399)
  • Add interface suite proxy gateway (#2397)
  • Add markdown editor for README documents (#2398)
  • Limit AWG landing migration to label updates (#2396)
  • Add net message queue and upstream polling (#2395)
  • Rename AWG calculator entry to AWG Cable Calculator (#2394)
  • Add View in Site button to charger change list (#2393)
  • Store charge point configuration payloads (#2392)
  • Add staff configure link to charge point dashboard (#2391)
  • Ensure custom test command writes log output (#2390)
  • Document revision fallback to empty string (#2389)
  • Import messages in core tests (#2388)
  • Correct typo in client report form help text (#2387)
  • Automate maintenance branch creation during minor releases (#2386)
  • Default admin to light theme by default (#2385)
  • Fix pending TODOs toggle template error (#2384)
  • Add controls for pending TODO approvals (#2383)
  • Add network setup task to admin environment view (#2382)
  • Add translations for the OCPP dashboard page (#2381)
  • Remove invalid package release fixtures above 0.1.20 (#2380)
  • Pluralize nav pills and seed Constellation cookbooks (#2379)
  • Sync connector heartbeat updates and expose connector column (#2378)
  • Align client report headings across templates (#2376)
  • Accept HTML month inputs for client report form (#2375)
  • Fix nodes application description punctuation (#2374)
  • Require references to meet all visibility restrictions (#2373)
  • Update settings helper roadmap guidance (#2372)
  • Clarify notification fallback comment (#2371)
  • Add test for regenerating empty Django secret key (#2370)
  • Add VID tracking to OCPP transactions (#2368)
  • Rename admin environment and config links (#2369)
  • Add stable upgrade mode (#2362)
  • Show charger display name in admin list (#2367)
  • Fix artifact spelling in capture UI screenshots command (#2366)
  • Ensure release log dir restore keeps env override (#2365)
  • Assert default Django test command in release logs test (#2363)
  • Clarify admin environment helper docstring (#2364)
  • Automate pushing publish metadata (#2360)
  • Display RFID details on charger status page (#2361)
  • pre-release commit 0.1.19
  • docs: refresh changelog
  • chore: update version
  • Switch reader route to /read/ (#2358)
  • Move translated README files into locale directory (#2357)
  • Keep readme QR card below table of contents (#2356)
  • Polish CP log viewer header and download (#2355)
  • Rename recipes navigation pill to cookbook (#2354)
  • Style release manager dashboard link in white (#2353)
  • Extend markdown reader routing and rename recipes module (#2352)
  • Improve README QR card layout (#2351)
  • Use natural keys for package release fixtures (#2350)
  • Align Spanish localization with Latin American conventions (#2348)
  • Expand pending TODOs report layout (#2349)
  • Document sigil usage across README translations (#2346)
  • Exclude aggregator connectors from charger availability badge (#2345)
  • Clarify TODO requirement for regressions (#2344)
  • Refine CP log viewer line controls (#2343)
  • chore(deps): bump psycopg-binary from 3.2.9 to 3.2.11 (#2311)
  • chore(deps): bump whitenoise from 6.9.0 to 6.11.0 (#2312)
  • Adjust simulator kW decimal for Spanish locale (#2340)
  • Add invitation login test for fallback MAC access (#2339)
  • Clarify client report destinations guidance (#2338)
  • Validate client report week input (#2337)
  • Enhance CP log viewer controls (#2336)
  • Rename client report recurrence label (#2335)
  • Refine pending TODO management links (#2334)
  • chore(deps): bump django-import-export from 4.3.9 to 4.3.12 (#2318)
  • Add QR code sharing card to README reader view (#2333)
  • Remove birthday greeting task and last Net Message UI (#2332)
  • Verify exported client report JSON contents (#2331)
  • feat: add pending TODOs system report (#2305)
  • chore(deps): bump typing-inspection from 0.4.1 to 0.4.2 (#2314)
  • chore(deps): bump psutil from 5.9.8 to 7.1.1 (#2313)
  • chore(deps): bump mcp from 1.16.0 to 1.18.0 (#2315)
  • chore(deps): bump atproto from 0.0.61 to 0.0.62 (#2316)
  • Normalize user manual PDF uploads to base64 (#2330)
  • chore(deps): bump pyperclip from 1.9.0 to 1.11.0 (#2319)
  • Add per-landing flag to control lead tracking (#2329)
  • chore(deps): bump idna from 3.10 to 3.11 (#2320)
  • Adjust charger availability badge counts (#2328)
  • Adjust Spanish number separators (#2327)
  • Add millisecond precision to charger logs (#2326)
  • Add charge point language preference (#2325)
  • Allow overriding local node identity via environment (#2324)
  • Remove NetMessage response tracking (#2323)
  • Avoid duplicate TODO gate before release approval (#2322)
  • Release v0.1.18
  • pre-release commit 0.1.18
  • chore: update version
  • chore: update changelog
  • Allow RFID-only authorization without linked account (#2321)
  • Add log line limit slider to charger log view (#2310)
  • Add managed site configuration fields and middleware (#2308)
  • Add credentials link to GitHub issue error message (#2309)
  • Add admin badge for available charge points (#2307)
  • Normalize RFID command output percent tokens (#2306)
  • Add admin temporary password request button (#2304)
  • fix: skip reloading soft-deleted todos (#2303)
  • Assign natural primary keys to package release fixtures (#2302)
  • Auto-acknowledge empty TODO step during package publish (#2300)
  • Add reversed UID reference field to RFID model (#2301)
  • pre-release commit 0.1.17
  • chore: remove TODO fixtures
  • docs: refresh changelog
  • chore: add release TODO for arthexis
  • Release v0.1.17
  • pre-release commit 0.1.17
  • docs: refresh changelog
  • Hide completed release manager todos from admin dashboard (#2299)
  • fix: skip release checklist when no todos (#2298)
  • feat(admin): show completed release todos to superusers (#2297)
  • feat: add assistant name to assistant profile (#2296)
  • Log instructions when release checklist blocks publish (#2295)
  • Remove gway auto-upgrade hook (#2294)
  • Adjust charger status table columns and add energy totals (#2293)
  • Handle publish resume requests without a step parameter (#2292)
  • chore: update version
  • chore: update changelog
  • migrations
  • Add RFID endianness selection to scanner workflows (#2289)
  • Add CLI command to validate RFID values (#2290)
  • Add admin toggles for RFID released and allowed flags (#2288)
  • Use custom login route for authentication redirects (#2287)
  • Add AP password update flag to network setup script (#2286)
  • Fix release manager security group fixture (#2285)
  • Require opt-in to reopen latest changelog release (#2284)
  • Improve changelog range selection (#2283)
  • Treat finishing status as available after sessions (#2282)
  • Improve charger_status connector filtering and log tailing (#2281)
  • Add admin action to toggle RFID authentication (#2280)
  • Handle missing last net message endpoint on admin dashboard (#2279)
  • Fix stale charger statuses and add admin recheck action (#2278)
  • Add charger status management command (#2276)
  • Handle publish warnings after PyPI success (#2275)
  • Add manual resume option to release progress (#2274)
  • Fix nginx mode case handling in system info (#2273)
  • Stop using ReleaseManager PyPI URL when publishing (#2271)
  • Revert forced debug default and document bug criteria (#2270)
  • Add translations for feedback form (#2269)
  • Release v0.1.16
  • pre-release commit 0.1.16
  • docs: refresh changelog
  • chore: update version and fixtures
  • Fix Release Manager credential test to use authenticated POST (#2267)
  • fix: defer release todo creation until build succeeds (#2268)
  • Recognize environment PyPI credentials during release approval (#2266)
  • Optimize release fixture updates (#2264)
  • fix: auto commit version during release checks (#2263)
  • feat: enforce changelog review in release checklist (#2262)
  • Fix PackageRelease.latest to prefer active package (#2261)
  • Populate 0.1.15 release fixture metadata (#2259)
  • Add QA snapshot capture to TODO focus view (#2257)
  • chore: persist release fixture updates (#2258)
  • Use dynamic labels for admin profile link (#2256)
  • chore: update changelog
  • Handle case-insensitive auto-upgrade modes (#2255)
  • feat: record release metadata for auto todos (#2254)
  • chore: reuse release git creds for changelog push (#2252)
  • Preserve completed TODOs during env refresh (#2253)
  • Allow admin login during tests (#2251)
  • Improve send net message layout (#2250)
  • Handle whitespace in GitHub token lookup (#2249)
  • Ensure default admin account is usable (#2248)
  • Fix site lookup to ignore domain case (#2247)
  • Align net message admin form fields (#2246)
  • Add Release Managers module and admin tooling (#2245)
  • Use Odoo username for employee label (#2243)
  • Fix RFID command status percent formatting (#2244)
  • Refresh maintenance page messaging (#2242)
  • Treat user stories as leads and throttle submissions (#2241)
  • Require authenticated user for auto GitHub issues (#2240)
  • Treat blank GitHub tokens as misconfigured (#2239)
  • Add manual upgrade check action to admin report (#2238)
  • Fix TOTP backend fallback for legacy device names (#2237)
  • Ensure admin docs views expose template context (#2234)
  • Add Landing admin and change link from module inline (#2233)
  • Fix RFID scanner placeholder formatting (#2232)
  • fix: generate next release todo after publish (#2231)
  • Fix mailer attachment handling (#2230)
  • Fix admin dashboard TODO visibility when node context is missing (#2229)
  • Fix acronym capitalization in verbose names (#2227)
  • Default release manager git username when using GitHub token (#2228)
  • Fix RFID scanner text formatting placeholders (#2226)
  • Fix pytest collection conflict for core auto start tests (#2225)
  • Handle JSON responses for RFID scanner polling (#2224)
  • Add admin action to reload default modules (#2223)
  • Add daily OCPP session email report (#2222)
  • Add changelog commit action to admin report (#2218)
  • Align language select height with toolbar buttons (#2221)
  • Fix footer fresh since date to reflect last upgrade (#2219)
  • Add i18n support to RFID scanner views (#2220)
  • Optimize env refresh seed handling (#2217)
  • Fix heartbeat routing for aggregate charger (#2216)
  • Ensure env refresh reassigns default Site domain (#2215)
  • Preserve custom sites during env refresh (#2214)
  • Respect custom redirect field on login view (#2213)
  • Localize RFID release form content (#2202)
  • Translate RFID release form strings to Spanish (#2201)
  • Update Constellation favicons to green (#2200)
  • Remove teams Todo proxy and regenerate migration (#2199)
  • chore: add todo proxy migration (#2198)
  • Defer MCP auto-start profile lookup during app startup (#2197)
  • Ensure gateway package entry points resolve without relative imports (#2196)
  • Track net message peer confirmations (#2194)
  • Simplify email inbox collectors inline (#2193)
  • Add audio capture waveform admin view (#2192)
  • Localize RFID release form PDF (#2191)
  • Document design guidelines and enlarge favicons (#2190)
  • Remove AGENTS reference from README files (#2189)
  • feat: add CLI helpers to resolve sigils (#2188)
  • Add release form PDF action for RFID admin (#2187)
  • Add post-auth RFID command support (#2186)
  • Handle remote tag conflicts during publish (#2185)
  • version
  • fix: auto-commit release prep artifacts (#2184)
  • Align changelog report action buttons (#2183)
  • Move exclude control next to recalc action (#2182)
  • Add exclusion controls to changelog report (#2181)
  • Disable landing leads without Celery and purge stale records (#2180)
  • Cache user data models in admin future actions (#2179)
  • Optimize admin favorites queries (#2178)
  • Scroll log viewer to bottom on load (#2177)
  • Ensure nginx maintenance page is enforced (#2176)
  • Handle missing home directory when selecting log path (#2174)
  • Rename system changelog report view (#2175)
  • Add admin system report for changelog regeneration (#2173)
  • Increase spacing above open changelog module (#2172)
  • Move site fixture reload to object tool (#2170)
  • Add open changelog section to system admin view (#2171)
  • Prevent WiFi watchdog without systemd autostart (#2169)
  • Add admin action to reload site fixtures (#2168)
  • Queue GitHub issues for low-rated user stories (#2167)
  • Add README navigation for control and satellite nodes (#2166)
  • Update package description (#2164)
  • Split release manager credentials sections (#2163)
  • Handle git auth failures during publish (#2162)
  • Fix admin feedback form spacing and alert visibility (#2160)
  • docs: link coding guidance in readmes (#2159)
  • Enable feedback submissions in admin (#2158)
  • Automate upgrade recovery for supervisory nodes (#2157)
  • Ensure dry run publish builds artifacts when missing (#2154)
  • Keep RFID command output until a new scan (#2156)
  • feat: add dry run option to release publish flow (#2153)
  • Exclude hidden files from log viewer (#2152)
  • Improve release publish rebase failure guidance (#2151)
  • Fix case-insensitive nginx mode for auto-upgrade health checks (#2150)
  • Add timeout for PyPI release availability check (#2149)
  • Handle unreadable auto-upgrade mode lockfile (#2148)
  • Automatically reattach upgrade script to tracked branch (#2147)
  • fix: retry release sync after committing fixtures (#2146)
  • Add dedicated error log handler (#2145)
  • Add admin RFID sync actions and API support (#2144)
  • Hide revision in footer when matching release (#2143)
  • fix: use natural keys for release fixtures (#2142)
  • Add admin log viewer interface (#2141)
  • Auto-scroll release log viewer (#2140)
  • fix: skip release push when git auth missing (#2139)
  • fix: configure release push target (#2138)
  • Handle Z timestamps in auto-upgrade logs (#2137)
  • Ensure auto-upgrade lock read errors remain enabled (#2136)
  • Integrate AP public Wi-Fi into AP router (#2135)
  • Ensure firewall validation covers camera stream (#2134)
  • Fix Chart.js loader for admin traffic widget (#2133)
  • Document documentation refresh tasks and fix OCPP manual references (#2132)
  • fix: hide acknowledged release todos (#2131)
  • Restore projects RFID helper and update agent guidance (#2130)
  • Handle release push without configured remote (#2128)
  • Remove legacy projects RFID helper (#2129)
  • Handle blank package repository URLs (#2127)
  • Preserve Path type for release log fallback (#2126)
  • Handle release builds from sanitized staging tree (#2125)
  • Bump actions/setup-python from 4 to 6 (#2082)
  • Sanitize GitHub token retrieval (#2124)
  • Bump actions/stale from 9 to 10 (#2080)
  • Bump actions/github-script from 7 to 8 (#2081)
  • Bump actions/checkout from 4 to 5 (#2083)
  • chore(deps): bump django from 5.2.4 to 5.2.7 (#2084)
  • Keep LOG_DIR as Path when using fallback (#2123)
  • Fix clean_release_logs lock directory resolution (#2122)
  • Ensure RFID camera snapshots use unique filenames (#2121)
  • Handle release log directory fallback when unwritable (#2120)
  • Capture RFID snapshots with camera feature (#2119)
  • Improve Raspberry Pi camera stream embedding (#2118)
  • Add management command to clean release logs (#2117)
  • Enable Wi-Fi leases for general AP nodes (#2116)
  • feat: accept and apply NetMessage attachments (#2115)
  • Use configured log dir for release publish logs (#2114)
  • feat: render RFID labels in grid layout (#2113)
  • feat: add RFID user data toggle (#2112)
  • Refactor RFID data widget editing to modal popups (#2111)
  • Surface RFID command output in scanner UI (#2110)
  • Fix dashboard aggregate status when connector statuses missing (#2109)
  • Redirect restricted charger pages to login (#2108)
  • Ensure nginx maintenance page persists during upgrades (#2107)
  • fix: prevent local build package from breaking release (#2106)
  • chore(deps): bump black from 24.10.0 to 25.9.0 (#2085)
  • chore(deps): bump asgiref from 3.9.1 to 3.10.0 (#2087)
  • feat: resolve dirty repo during release publish (#2105)
  • feat: add PyPI connectivity checks (#2104)
  • Release v0.1.14
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.14
  • chore: remove TODO fixtures
  • Stage release fixtures before building (#2103)
  • chore(deps): bump requests from 2.32.4 to 2.32.5 (#2089)
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.14
  • chore: remove TODO fixtures
  • Sync release check with origin (#2102)
  • chore(deps): bump mcp from 1.14.0 to 1.16.0 (#2088)
  • chore(deps): bump graphviz from 0.20.3 to 0.21 (#2090)
  • chore(deps): bump cffi from 1.17.1 to 2.0.0 (#2091)
  • Fix Odoo product registration RPC kwargs handling (#2101)
  • chore(deps): bump docutils from 0.22 to 0.22.2 (#2092)
  • chore(deps): bump billiard from 4.2.1 to 4.2.2 (#2093)
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.14
  • chore: remove TODO fixtures
  • Add translations for admin dashboard labels (#2099)
  • Fix release script to commit generated artifacts (#2100)
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.14
  • chore: remove TODO fixtures
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.14
  • chore: remove TODO fixtures
  • Rename register visitor admin action (#2098)
  • Adjust dashboard aggregate status badges (#2097)
  • Fix RFID deep read to run without preliminary scan (#2095)
  • Tighten RFID text field spacing (#2096)
  • chore: add dependabot configuration (#2079)
  • Enforce Wi-Fi lease firewall gating (#2078)
  • chore: remove reset migrations command (#2077)
  • Add editable text register to RFID data widget (#2076)
  • Adjust RFID scanner action buttons (#2075)
  • Remove NodeAction framework from node admin (#2074)
  • Remove public AP mode from network setup script (#2072)
  • Run RFID external command during authentication (#2073)
  • Purge WEP secrets when enabling public AP (#2071)
  • Clear stored WiFi secrets when switching to public AP (#2070)
  • Ensure public AP binds to wlan0 (#2069)
  • Support RFID import/export by energy account name (#2068)
  • Add admin shortcut to print labels for valid RFIDs (#2067)
  • Expose Odoo quote report tool on the dashboard (#2065)
  • Ensure scanned RFIDs default to allowed (#2066)
  • Fix quick send changelist redirect (#2014)
  • Add AWG limit warning tests and adjust solver (#1983)
  • chore: remove coverage workflow (#1945)
  • Add PDF orientation controls for user manuals (#2064)
  • Fix RFID scan registration sequence handling (#2063)
  • Handle changelog retries without duplicate sections (#2062)
  • feat: adjust RFID label sequencing and copy action (#2061)
  • Add Datasette admin shortcut and document home row guidance (#2060)
  • Allow security group and user default landings with priority (#2059)
  • Fix visibility initialization for new profile inlines (#2058)
  • Handle release promotion rebase conflicts (#2057)
  • Add dynamic social profile fieldset visibility (#2056)
  • Adjust seed datum label weight (#2055)
  • Add landing leads tracking for Experience landings (#2054)
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.14
  • chore: remove TODO fixtures
  • LOGS
  • feat: retry twine uploads with user guidance (#2053)
  • Add Discord support for social profiles (#2052)
  • Release v0.1.14
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.14
  • chore: remove TODO fixtures
  • Use non-breaking space between model actions (#2051)
  • Adjust admin model action commas (#2050)
  • Keep admin dashboard actions inline with comma separators (#2049)
  • Move dashboard actions into model action links (#2048)
  • Hide dashboard badges in admin sidebar (#2047)
  • Add admin action and dashboard link for Odoo quote report (#2046)
  • Make Control admin favicon star transparent (#2045)
  • Rename client reports to consumer reports (#2044)
  • Add RFID block grid widget to admin (#2043)
  • Configure nginx maintenance fallback (#2040)
  • Improve RFID deep read feedback (#2039)
  • Make control favicon star larger (#2038)
  • feat: auto-start MCP server when assistant profiles are active (#2037)
  • Improve RFID deep read key verification (#2036)
  • Store RFID deep read data on tag (#2035)
  • Keep deep read data visible between scans (#2034)
  • Ensure switch-role re-enables Datasette (#2033)
  • Improve deep read status messaging in RFID scanner (#2032)
  • Default Datasette on with opt-out flag (#2031)
  • Add AWG calculator translations (#2030)
  • Toggle RFID deep read mode (#2029)
  • feat: align favicons with role branding (#2028)
  • Fix release TODO version when VERSION already bumped (#2027)
  • rels
  • Remove halo from Constellation and Control favicons (#2026)
  • Add admin action to update node information (#2025)
  • Improve node admin relation visibility and guidance (#2024)
  • Add tests for release twine force handling (#2023)
  • Add tests for release build git workflows (#2022)
  • Add publish tests for PyPI availability guard (#2021)
  • Simplify RFID admin badge counts (#2020)
  • Update constellation and control favicons (#2019)
  • Ensure only one navbar dropdown is open (#2018)
  • Fix deep read activation to send CSRF token (#2017)
  • chore: refresh coverage badge (#2016)
  • Add OCPP 2.1 call direction list (#2015)
  • Support dual repository release uploads (#2013)
  • Update OCPP 1.6 coverage metrics (#2012)
  • Add quick send action for net messages (#2011)
  • Show client report sessions and surface results first (#2010)
  • Format social profiles as handle@network (#2009)
  • Adjust Odoo profile display label (#2008)
  • fix: detect pre-release commits in changelog (#2007)
  • feat: assign role landings for ocpp dashboards (#2006)
  • Add integration test for pre-release actions (#2005)
  • test: assert systemctl probe in lcd check command (#2004)
  • Fix admin report breadcrumbs (#2003)
  • Test NetMessage updates existing record (#2002)
  • Refine release task tests to capture upgrade command details (#2001)
  • Add test ensuring NetMessage propagate honors target limit (#2000)
  • Add signature header coverage for net message propagation (#1999)
  • Enable user data support for TOTP devices (#1998)
  • style(admin): shrink dashboard badge vertical padding (#1997)
  • Adjust TOTP calibration token field styling (#1996)
  • Fix changelog generator range when HEAD is tagged (#1995)
  • Add tests for always-on RFID watcher thread (#1993)
  • Add tests for RFID watch management command (#1994)
  • fix(release): sync branch before pre-release actions (#1992)
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.14
  • chore: remove TODO fixtures
  • store
  • chore: update coverage badge (#1991)
  • Validate clean repo before bumping version (#1990)
  • Add subprotocol logging test for CSMS consumer (#1989)
  • Cache seed data flag detection during env refresh (#1988)
  • Add simulator CallError logging test (#1987)
  • Optimize fixture patching to avoid unnecessary writes (#1985)
  • Adjust admin profile link labels and targets (#1984)
  • Add tie-break coverage for find_conduit (#1982)
  • Add publish failure tests for dist and credentials (#1980)
  • Add release promote commit behavior tests (#1981)
  • Add RFID release badge to admin dashboard (#1979)
  • Add tests for OCPP Authorize RFID handling (#1978)
  • Shorten NetMessage admin column labels (#1977)
  • Add email transaction models and tests (#1976)
  • Show client report form validation errors (#1975)
  • Add lead status tracking and dashboard badges (#1974)
  • Remove dark theme seed datum border accents (#1973)
  • Add Register from Odoo toolbar link to Product admin (#1972)
  • Add QR code and layout updates to RFID card labels (#1971)
  • Move upgrade report to dedicated admin view (#1970)
  • Add OpenPay profile model and admin (#1969)
  • Handle fallback decoding for unknown header charsets (#1968)
  • Improve seed datum visibility in dark mode (#1967)
  • Fix PowerLead IP address capture (#1966)
  • Fix IMAP search encoding handling for email inbox (#1965)
  • Align MCP profile instructions with production deployment (#1964)
  • Add content classifiers and automatic tagging (#1962)
  • refactor: standardize admin badge colors (#1963)
  • Fix duplicate release sections in changelog (#1958)
  • Add auto-upgrade report to system admin view (#1961)
  • Add admin action to launch GitHub repository creation (#1957)
  • Add external command validation for RFID tags (#1956)
  • Add helper to create GitHub repositories (#1954)
  • Add GitHub repository creation action (#1955)
  • feat(nodes): auto-detect gway runner feature (#1953)
  • Add changelog sections and store release notes (#1952)
  • Allow switch-role to toggle auto-upgrade (#1951)
  • Display RFID deep read details in scanner (#1949)
  • Run gway upgrade after suite updates (#1950)
  • Remove restart test actions from RFID scanner UI (#1948)
  • Set newly detected RFIDs as allowed (#1947)
  • Adjust stale PR workflow schedule (#1946)
  • fix: allow safe_setup to accept Django kwargs (#1944)
  • Remove broken automerge workflow (#1943)
  • Add tests for TOTP backend authentication (#1927)
  • Add admin action to print RFID card labels (#1942)
  • Prevent duplicate RFID entries in scanner table (#1941)
  • rel
  • chore: align coverage workflow with badge automation (#1940)
  • Handle charge point action failures with detailed admin feedback (#1939)
  • Release v0.1.13
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.13
  • chore: remove TODO fixtures
  • rel
  • Increase NetMessage default fan-out to six (#1937)
  • Add test for logging rejected CSMS connections (#1935)
  • Add tests for CSMS serial extraction (#1933)
  • Add CSMSConsumer pending connector assignment test (#1936)
  • Enhance net message filters and admin form (#1934)
  • Add tests for invitation login activation flow (#1932)
  • Add tests for staff_required decorator (#1931)
  • Add tests for api_login_required decorator (#1930)
  • Add unit tests for RFID backend authentication (#1929)
  • Add tests for TOTP backend authentication (#1928)
  • Add configurable release package paths (#1921)
  • Add database migration utility (#1926)
  • Add test for NetMessage broadcast reach lookup (#1925)
  • Add test for NodeFeature without local node (#1924)
  • Add test for Node relation normalization (#1923)
  • Add migration number round-trip tests for PackageRelease (#1918)
  • Add package selection to build_pypi command (#1922)
  • Allow configuring release package modules (#1920)
  • Add tests for release build flow edge cases (#1919)
  • Add tests for release credential hierarchy (#1917)
  • Add tests for PackageRelease revision matching (#1916)
  • Adjust public RFID scanner visibility and validity logic (#1915)
  • Add consumer IP resolution unit tests (#1914)
  • Add tests for RFID scanner helpers (#1913)
  • Add admin/public view toggles and refresh RFID scanner styles (#1912)
  • Broadcast visitor join net message (#1911)
  • Ensure node public endpoint slugs remain unique (#1848)
  • feat(admin): add reply shortcut for net messages (#1909)
  • feat(nodes): mark non-release revisions in status messages (#1907)
  • Ensure visitor registration uses request domain (#1906)
  • Improve charger header layout (#1905)
  • Add key-protected RFID sync between nodes (#1904)
  • Validate visitor registration responses (#1903)
  • Restrict register current host action to superusers (#1902)
  • Animate charger chart while charging (#1901)
  • Clear stale transactions when chargers report available (#1900)
  • Stop binding internal nginx to port 80 (#1899)
  • Ensure optional RFID tags are tracked and flagged (#1898)
  • Remove connector toggle from charger landing page (#1897)
  • Ensure charger admin reflects active charging sessions (#1896)
  • Align Spanish number formatting with Mexican conventions (#1895)
  • Handle missing TODO when marking done (#1894)
  • Fix CP simulator pre-charge idle interval (#1893)
  • Fix RFID mode toggle visibility and navigation (#1892)
  • Style RFID mode toggle button (#1891)
  • Add missing charger status translations (#1889)
  • Fix simulator state mapping for concurrent runs (#1888)
  • Remove unused autoreloader banner (#1887)
  • Disable autoreloader for Visual Studio run sessions (#1886)
  • Disable VS debug sessions from using Django autoreloader (#1885)
  • Add table mode for RFID scanner (#1884)
  • Fix charger status chart persistence and charging badge (#1881)
  • Add breadcrumbs to RFID admin scanner (#1882)
  • Add OCPP navigation fixtures for Control nodes (#1883)
  • Handle unsupported CSMS calls in simulator (#1880)
  • Skip collectstatic when static sources unchanged (#1879)
  • Add change form actions for CP simulator (#1877)
  • Fix duplicate listener block in simulator orchestrator (#1878)
  • Extract reusable settings helpers (#1876)
  • Document diagnosing missing OCPP connections (#1875)
  • Harden chargeBoxId handshake parsing (#1874)
  • Improve OCPP handshake serial extraction (#1873)
  • Support chargeBoxId in OCPP websocket handshakes (#1872)
  • Fix default Raspberry Pi camera stream URL (#1871)
  • Add admin base64 file field with download support (#1870)
  • Set arthexis.com badge to bright orange (#1869)
  • Make Control favicons circular star icons (#1868)
  • Use pipe separator for node feature actions (#1867)
  • Disable Celery debug tracing on production roles (#1866)
  • Fix ASGI type imports for compatibility (#1865)
  • Remove Control feature from status output (#1864)
  • Add ASGI proxy for MCP sigil server (#1863)
  • Prioritize query string charger IDs (#1862)
  • Handle OCPP query string charge point IDs (#1859)
  • Handle IMAP mailbox selection errors in email inbox search (#1861)
  • Remove firmware status block and duplicate field from charger status (#1860)
  • Fix Graphviz calls to use keyword arguments (#1858)
  • Add logging for Odoo product fetch failures (#1857)
  • Refine charger status header layout (#1855)
  • Improve RFID admin scanner behavior (#1856)
  • Fix MCP sigil server port fallback (#1854)
  • Add OCPP 1.6 manual fixture and update badge link (#1853)
  • Avoid animating charger chart when data is unchanged (#1852)
  • Add admin actions to stop and reset chargers (#1851)
  • Use charger timestamps for OCPP sessions (#1849)
  • Allow multiple node feature actions and add camera stream view (#1850)
  • Update PyPI description (#1847)
  • fix: use deterministic publish log file (#1846)
  • Show RFID links on public charger status (#1845)
  • Set auto-upgrade interval to five minutes (#1844)
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.12
  • chore: remove TODO fixtures
  • Release v0.1.12
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.12
  • chore: remove TODO fixtures
  • Log GetConfiguration timeouts from admin action (#1843)
  • Add animated registration indicators to visitor node view (#1842)
  • fix: ignore yanked PyPI builds in release check (#1840)
  • feat: use purple favicons for control nodes (#1841)
  • ver
  • Fix Odoo product fetch arguments and clean header (#1839)
  • Improve MCP resolver URLs and admin guidance (#1838)
  • Set role-specific node badge colors (#1834)
  • Add admin registration flow for Odoo products (#1833)
  • Print server errors to console (#1832)
  • Add node feature enable action and improve eligibility checks (#1831)
  • Handle RequestSite objects in reference filtering (#1830)
  • Fix env refresh fixture loading (#1829)
  • Update charger admin list labels (#1828)
  • Add admin calibration action for TOTP devices (#1826)
  • Handle simulator admin stop without event loop (#1827)
  • Allow customizing TOTP issuer (#1824)
  • Add TriggerMessage flow with follow-up logging (#1823)
  • Remove duplicate Celery report header (#1825)
  • Handle failed auto upgrades by reverting and recording revisions (#1822)
  • Add Celery report admin view (#1821)
  • Add node feature check action and registry (#1819)
  • Handle missing ContentSample admin redirect (#1818)
  • Fix public site traffic report and add regression tests (#1817)
  • Add admin default actions for hardware node features (#1816)
  • Remove PostgreSQL node feature (#1815)
  • Remove EVCS discovery management command (#1814)
  • Add admin action to fetch charge point configuration (#1813)
  • Add simulator configuration responses for GetConfiguration (#1812)
  • feat(pages): track owner for user story feedback (#1810)
  • Refine charger admin presentation (#1809)
  • Default toolbar buttons to light theme styling (#1808)
  • Fix navbar light theme defaults (#1807)
  • Add owner-based visibility controls to OCPP charge points (#1806)
  • Support UTF-8 search criteria in email collector preview (#1803)
  • Show boolean icons for node feature status (#1805)
  • Update Experience description and hide manual application (#1804)
  • Organize profile admin fieldsets by owner and credentials (#1802)
  • fix: restore arthexis admin access (#1801)
  • Add DataTransfer auditing and CSMS tooling (#1800)
  • Update OCPP 1.6 coverage badge to 46.4% (#1799)
  • Hide feedback toggle while dialog is open (#1798)
  • Align feedback screenshot checkbox to the right (#1796)
  • Replace EVCS console scan with discovery workflow (#1795)
  • Add admin guidance for Release Manager tokens (#1793)
  • Localize ground option clarifiers (#1794)
  • Add transparent arthexis favicon with goldenrod rim (#1792)
  • Improve feedback widget and GitHub integration (#1791)
  • Add OCPP 1.6 user manual and link badge (#1790)
  • Add user story feedback capture overlay (#1789)
  • Prevent placeholder charger IDs from being persisted (#1788)
  • Tag releases during publish (#1787)
  • Improve TODO focus view auth guidance (#1786)
  • Add pre-calculation safety notice to AWG calculator (#1785)
  • Reactivate arthexis account via temp password login (#1784)
  • Update CP simulator demo label (#1783)
  • rel
  • Rename OCPP dashboard link (#1782)
  • Add CP list actions to set availability state (#1781)
  • Relocate charger landing page link (#1780)
  • Ensure simulator redirects anonymous users to login (#1779)
  • Ensure AWG calculator module available on all sites (#1777)
  • Harden demo notice dismissal script (#1778)
  • Protect email credentials and tidy EmailOutbox display (#1776)
  • Stop default DEBUG from manage runserver (#1775)
  • Show available management commands when command scripts have no args (#1774)
  • Ensure node role updates from lock file (#1773)
  • Rename next version system sigil (#1772)
  • Run CI env refresh without cleaning dataset (#1771)
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.11
  • chore: remove TODO fixtures
  • Fix release TODO acknowledgment persistence (#1770)
  • Release v0.1.11
  • chore: add release TODO for arthexis
  • pre-release commit 0.1.11
  • Align EVCS scan default subnet with controller config (#1740)
  • fix: support changelog generation without bash (#1769)
  • Filter single-word changelog entries (#1768)
  • chore: remove TODO fixtures
  • rel
  • Restore sites template tags and cover fallbacks (#1767)
  • Announce autoreloader startup (#1765)
  • Fix admin login template and enable debug defaults (#1766)
  • Remove VS Code live server launch entries (#1764)
  • Handle admin crash when node table missing (#1762)
  • Fix OCPP coverage badge links (#1763)
  • Ensure pre-release regenerates changelog (#1761)
  • Fix SiteBadge manager usage in favicon migration (#1760)
  • CI: run env refresh without clean flag (#1759)
  • Ensure email profile names respect email usernames (#1756)
  • Add email collector naming and testing features (#1754)
  • Skip reseeding arthexis favicon when user data exists (#1753)
  • Ensure admin static assets load without collectstatic (#1752)
  • Add arthexis-specific favicons (#1751)
  • Skip loading user data fixtures for outdated apps (#1750)
  • Prevent nested TODO focus frames (#1749)
  • Add related models footer to admin changelist (#1748)
  • Add node relationship tracking and visitor registration defaults (#1700)
  • Allow NetMessage to propagate beyond Terminal role by default (#1747)
  • Adjust eth0 default prefix to /16 for EVCS reachability (#1746)
  • Update eth0 netmask to /16 (#1745)
  • Improve scan progress reporting (#1744)
  • Ensure eth0-shared replaces existing ethernet connection (#1743)
  • Make VNC validation opt-in for network setup (#1742)
  • Allow subnet zero in network setup (#1741)
  • Add checklist for Todo fixture rules (#1739)
  • Add subnet option to network setup (#1738)
  • Restore soft-deleted releases from PyPI refresh (#1737)
  • Add auto-upgrade next check system sigil (#1736)
  • Respect DEBUG environment for Terminal role (#1735)
  • Add CSMS dashboard link to CP simulator notice (#1734)
  • Add DNS record management with GoDaddy deployment (#1733)
  • Fix manual navigation landings (#1732)
  • Add release timestamp to package releases (#1731)
  • Add default application descriptions and expose them in admin (#1730)
  • Add OCPP 1.6 coverage reporting badge (#1729)
  • Add admin link column for experience references (#1728)
  • Ensure release TODO fixture commits during pre-release (#1727)
  • Defer auto-upgrade setup until database connection is available (#1725)
  • feat: add release todo during pre-release actions (#1726)
  • Rename social profile verbose names to social identity (#1724)
  • Avoid creating references for loopback console URLs (#1721)
  • Split environment admin into environ and config views (#1723)
  • Move release manager admin to workgroup section (#1722)
  • Add SocialProfile model with Bluesky configuration (#1719)
  • Remove duplicate admin page titles (#1718)
  • fix: allow publishing releases when version out of sync (#1717)
  • Add configuration fieldset to EmailOutbox admin (#1716)
  • Avoid duplicating EmailOutbox host in name (#1715)
  • Allow temp password for password change (#1712)
  • Add EVCS console scan command (#1714)
  • Add SYS sigil root and modernize system admin view (#1711)
  • Align quick guide list formatting (#1713)
  • Update README feature headings and development notice (#1710)
  • Explain skipped requirements before dot output (#1708)
  • Compact pip output for satisfied requirements (#1707)
  • Ensure references require active node features (#1706)
  • Ensure footer links open in new tabs (#1704)
  • Improve README feature list nesting (#1705)
  • Add temporary password management command and backend (#1703)
  • Rename SYS sigil root to CONF (#1699)
  • Track invite outbox usage (#1702)
  • Add node relationship tracking and visitor registration defaults (#1701)
  • Restrict RFID tag validator to authenticated users (#1696)
  • fix(rfid): restrict browser validation to authenticated users (#1697)
  • Set Mysteric Gallery footer reference to private (#1698)
  • chore: expand release step logging (#1695)
  • Filter disabled email outboxes and prefer unattached fallback (#1694)
  • feat(rfid): support client-side scanners with server validation (#1693)
  • rel
  • Adjust header external link icon sizing (#1692)
  • Improve markdown list and table styling (#1691)
  • fix: tighten todo help text spacing (#1690)
  • chore: remove TODO fixtures
  • Allow TODO focus view iframe to load admin pages (#1689)
  • Prefer username in EmailOutbox display fallback (#1688)
  • Fix email setup script when node outbox missing (#1687)
  • Improve EmailOutbox selection prioritization (#1686)
  • Remove language list and sync README tables (#1685)
  • Add Arthexis issuer to authenticator URLs (#1684)
  • Include full revision in status output and admin view (#1682)
  • Rename OCPP nav pill to Chargers (#1681)
  • Add TODO to validate simulator door open admin UI (#1680)
  • Add status option to email setup helper (#1679)
  • Add scheduled coverage workflow and badge (#1678)
  • Exclude current message from NetMessage pruning (#1677)
  • Add post-upgrade health checks for auto upgrades (#1676)
  • Update nav labels for manuals and calculators (#1675)
  • Prune stale net messages after local display (#1674)
  • Default live server sync to origin/main (#1673)
  • Add admin system validation todo (#1645)
  • Replace TODO fixtures with QA dashboard validation (#1670)
  • Restrict default admin login to numeric IP hosts (#1672)
  • feat: broadcast staff login net messages (#1671)
  • Remove RPi imager utilities (#1669)
  • Honor forwarded referer host in CSRF checks (#1668)
  • Normalize stored TODO URLs to loopback-safe paths (#1667)
  • Handle CSRF origin for forwarded hosts and ports (#1666)
  • Auto-detect previously configured AP connection (#1665)
  • Sanitize todo focus iframe URLs (#1664)
  • Improve charger console reference IP handling (#1662)
  • Add configuration section to Odoo profile admin (#1663)
  • Handle CSRF origin matching behind HTTPS proxies (#1661)
  • Add --start option to run start.sh after install (#1660)
  • Remove obsolete runserver wrapper (#1659)
  • Ensure live server prep always refreshes env (#1658)
  • Format upgrade notification timestamp (#1657)
  • Add --no-build flag to reuse matching rpi images (#1656)
  • Run network setup on first boot in RPi image (#1654)
  • Move TOTP devices into teams admin group (#1655)
  • Preconfirm USB target before building RPi images (#1653)
  • Improve admin system status details (#1652)
  • Show detected node features on system admin page (#1651)
  • Add node origin tracking to NetMessage (#1650)
  • Move live-server update scripts into scripts directory (#1648)
  • Add header references and charge point console links (#1647)
  • Add USB writing support to RPI image generator (#1646)
  • Add manager node tracking to chargers (#1644)
  • Update RPi image filename convention (#1643)
  • Remove system admin command controls (#1642)
  • Add last week shortcut to client report week picker (#1640)
  • Add authenticator login toggle alongside password form (#1635)
  • Adjust client report legend alignment (#1639)
  • Add simulator door open admin action (#1638)
  • Add Product admin wizard for importing Odoo products (#1634)
  • Restore change link label and open changelists in new tab (#1637)
  • Disable dashboard traffic widget animation (#1636)
  • Vendor Chart.js for traffic visualizations (#1633)
  • Handle root invocation for rpi image builds (#1632)
  • Update supported languages and localized docs (#1631)
  • Hide fixture summary after migration approvals (#1630)
  • Ensure mmdebstrap unshare mode across rpi-image-gen layers (#1628)
  • Release v0.1.10
  • pre-release commit 0.1.10
  • chore: remove TODO fixtures
  • chore: update fixtures
  • Direct profile actions to change views (#1626)
  • fix: sync release metadata before publishing (#1625)
  • Set mmdebstrap to unshare mode for image builds (#1624)
  • Require login for energy tariff calculator (#1623)
  • Fix rpi-image-gen layer metadata definitions (#1622)
  • Reject non-Pi4 device layers in rpi-image-gen (#1621)
  • Hide manual sigil textarea when validating file uploads (#1619)
  • Resolve canonical rpi-image-gen device layers (#1618)
  • Ensure profile admin action visible on dashboard (#1617)
  • Announce node startups to peers (#1616)
  • Move RFID landing under OCPP navigation (#1615)
  • feat: add focused view for todo links (#1613)
  • Add energy tariff calculator and update power navigation (#1612)
  • Hide Horologia app when Celery disabled (#1614)
  • fix: sync unpublished releases before publish (#1611)
  • Adjust admin report section padding (#1610)
  • Allow system user to have profiles (#1609)
  • Default rpi image builds to Pi 4 (#1608)
  • Refine README installation guidance and layout (#1606)
  • Restore prepare next release control on release admin (#1607)
  • Add My Profile admin action for profile models (#1605)
  • Include timestamp in upgrade notification (#1603)
  • Remove bullets from related models list (#1604)
  • docs: simplify features and format start instructions (#1601)
  • Refresh environment after live server updates (#1602)
  • Refresh rpi-image-gen cache when device layer missing (#1600)
  • Add VS Code live server launch options with upstream sync (#1599)
  • docs: clarify public port behaviour (#1598)
  • Clarify README update guidance (#1595)
  • Remove admin sections sidebar and expose profile models (#1596)
  • Hide prepare next release action outside change view (#1594)
  • docs: update README setup guidance (#1593)
  • Automatically install rpi-image-gen dependencies when sudoed (#1592)
  • Add coverage for core site fixtures (#1591)
  • Add benchmark management command for resource usage (#1590)
  • Restore user profile sections in user admin (#1587)
  • Allow merge migrations in check script (#1589)
  • Add related models block to admin change forms (#1588)
  • docs: clarify todo url guidance (#1586)
  • Adjust client report section spacing (#1585)
  • merge
  • Enable user datum controls for user admin (#1583)
  • Remove obsolete Todo fixtures (#1581)
  • Ensure visitor registration uses reachable node address (#1579)
  • Show user datum checkbox for admin users (#1578)
  • Allow visitor registration without admin login (#1577)
  • Adjust auto-upgrade interval for latest channel (#1576)
  • Handle HTTPS when registering visitor nodes (#1574)
  • Refine admin related widget layout (#1573)
  • Add automated migration merge handling (#1568)
  • Fix admin related widget button layout (#1571)
  • feat: add version endpoint with update banner (#1569)
  • Improve client report section legend styling (#1566)
  • Handle migration conflicts in migration check (#1567)
  • Update energy tariffs schema and 2025 data (#1564)
  • Add spacing separators to client report form sections (#1565)
  • feat: add conditional TODO completion checks (#1562)
  • Fix profile inline prefixes in admin (#1560)
  • Add proxy migration for EnergyTariff admin (#1559)
  • Add throttling and honeypot to invitation requests (#1558)
  • Route admin fixtures through system delegate (#1557)
  • Add Operate As profile link in user admin (#1556)
  • Respect disabled admin accounts (#1554)
  • Fix Security Group user selector orientation (#1553)
  • Improve register visitor admin action layout (#1552)
  • Protect client report generation (#1551)
  • Allow admin default login on Control nodes (#1550)
  • Show invite send status in show_leads output (#1549)
  • Allow systemctl stub to resolve packaged unit files (#1537)
  • feat(ocpp): hide chargers from public dashboard (#1548)
  • Ensure auto-upgrade task is recreated automatically (#1546)
  • Update EV Charger calculator description (#1545)
  • Allow public OCPP dashboard with websocket rate limiting (#1544)
  • feat(ocpp): add arthexis simulators without port (#1543)
  • Extend consumption updates to five minutes and refresh on disconnect (#1541)
  • Hide Constellation RFID nav module (#1542)
  • Update charge point net message format and scheduling (#1540)
  • Improve client report generation layout and accessibility (#1539)
  • Ignore generated Pi images (#1538)
  • Require hostname when generating Raspberry Pi images (#1536)
  • readwhat
  • four
  • Avoid duplicate Hyperline connection when AP uses name (#1535)
  • Rename Public Wi-Fi Access model labels to Wi-Fi Lease (#1533)
  • Update project description for PyPI (#1534)
  • Adjust tooltip position for release progress todos (#1532)
  • chore: remove TODO fixtures
  • Guard admin model graph view permissions (#1447)
  • Add last visit IP tracking to user profile (#1504)
  • Update four role architecture table layout (#1527)
  • Add sqlite backups to failover workflow (#1528)
  • active
  • Remove ui-screenshots job from CI workflow (#1531)
  • Validate MCP server PID before stopping (#1422)
  • Remove pre-commit workflow job (#1530)
  • Handle missing django_site table gracefully (#1529)
  • Linearize ocpp migrations (#1526)
  • ci: install geckodriver manually (#1525)
  • Remove secret scan job from CI (#1524)
  • Fix charger constraint compatibility and merge migrations (#1521)
  • Add remote start controls for OCPP chargers (#1512)
  • Fix geckodriver action reference (#1522)
  • Remove node matrix tests from CI (#1519)
  • Add firmware status tracking for chargers (#1517)
  • Remove secret scan from CI workflow (#1518)
  • Add diagnostics status tracking for chargers (#1515)
  • Load secret key securely and fix gitleaks (#1516)
  • Use setup actions for Firefox in CI (#1514)
  • Track and display OCPP charger statuses (#1513)
  • Format Python files with Black (#1510)
  • Bootstrap venv in env-refresh script when missing (#1509)
  • Update upload artifact action to v4 (#1508)
  • Update VS Code start instructions (#1507)
  • Hide Constellation RFID navigation module (#1505)
  • Update node role feature assignments (#1506)
  • Add postgres node feature detection (#1503)
  • Show release manager todos only on terminal nodes (#1501)
  • Simplify node CI matrix and feature coverage (#1499)
  • Remove container scan from CI workflow (#1498)
  • Add role-only test filtering and annotate hardware suites (#1496)
  • feat(ci): map components to node roles (#1495)
  • Handle optional ground calculations in AWG calculator (#1494)
  • Add migration for calculator template public label (#1492)
  • Add special [1] ground option to AWG calculator (#1493)
  • Enable RFID auto-detection when lock missing (#1491)
  • Update calculator template public visibility labels (#1490)
  • Move Power Lead admin to Power group (#1489)
  • Show all amps columns in cable size admin list (#1488)
  • Add recurring client report scheduling and delivery (#1486)
  • Allow admin login when using node hostname (#1487)
  • Remove unused import from backend test (#1485)
  • Add CI check to enforce committed migrations (#1484)
  • Restrict admin user profiles and data (#1483)
  • Fix LIVES sigil content type (#1482)
  • Skip sigils tied to missing apps during env refresh (#1481)
  • Add public Wi-Fi invite tracking (#1480)
  • Fix nmcli connection type handling for AP router detection (#1475)
  • Show charger configuration link for staff (#1479)
  • Warn before deleting database without backup (#1478)
  • Add node context filters to footer references (#1477)
  • Adjust ExperienceReference admin column labels (#1476)
  • Stop deriving node features from role fallback (#1474)
  • Relicense project under GPLv3 and document third-party notices (#1473)
  • Add ap-router auto-managed node feature (#1472)
  • Remove OCPP charge point console feature (#1471)
  • Hide invite request link when email unavailable (#1470)
  • Add Register Visitor Node action to admin dashboard (#1468)
  • Add option to skip VNC validation (#1469)
  • Allow network setup when VNC service already active (#1467)
  • Allow gateway hostname access (#1466)
  • Broadcast charging start messages (#1465)
  • Add admin docs model graph index view (#1464)
  • Align profile inline header actions (#1462)
  • Add charge point links to location admin (#1463)
  • Remove admin model graph link from dashboard (#1461)
  • Hide inline delete controls and test security group profiles (#1459)
  • Ensure MFRC522 selects and releases tags before reading (#1460)
  • Merge live subscription into energy account (#1458)
  • Display default assignments in node admin lists (#1457)
  • Add regression test for blank profile inline deletion (#1456)
  • Add interactivity and PDF download to admin model graph (#1455)
  • Link role badge to admin role views (#1454)
  • Fix admin dashboard module header width (#1453)
  • Move user datum checkbox into profile headers (#1452)
  • Render admin model graph server-side (#1450)
  • Add Bandit hook and address security findings (#1448)
  • Add visitor node registration handshake (#1446)
  • Add gitleaks secret scanning to CI (#1445)
  • Add container image vulnerability scanning to CI (#1444)
  • Add pip-audit security check to CI workflow (#1443)
  • Add Graphviz-powered admin model diagrams (#1442)
  • Shorten charge point admin column labels (#1441)
  • Improve charger landing experience (#1440)
  • Maintain connector colors in charger charts (#1439)
  • Show multi-connector chart on aggregate status view (#1438)
  • Expand connector labels for navigation clarity (#1437)
  • Finalize connector-aware routing (#1436)
  • Remove AP Lead references from docs and tests (#1435)
  • Keep profile passwords unchanged when forms submitted blank (#1434)
  • Remove AP lead models and admin registrations (#1433)
  • Hide EnergyCredit admin from index (#1432)
  • Align simulator CP paths and labels (#1431)
  • Improve charge point landing experience (#1430)
  • fix: allow seed fixtures to update unique entities (#1429)
  • Populate console URL from charger client address (#1428)
  • Handle chargers when Sites entry is missing (#1427)
  • Keep admin change form sections sidebar fixed (#1426)
  • Document release manager TODO for regressions (#1425)
  • feat: protect system user profiles (#1424)
  • Adjust assistant profile inline user datum layout (#1423)
  • Rename chat profiles to assistant profiles and add MCP admin controls (#1421)
  • Add standalone RFID scanner CLI and tests (#1420)
  • Handle profile forms without _raw_value helper (#1419)
  • chore: remove TODO fixtures
  • Avoid saving empty profile inline forms (#1418)
  • Add UI screenshot specs and CI automation (#1417)
  • Handle missing Site for admin login (#1416)
  • Add timeout handling for gway sigil fallback (#1415)
  • Reassign admin docs groups for selected models (#1414)
  • Consolidate user admin sections sidebar (#1413)
  • Add toggleable sections sidebar to admin change forms (#1412)
  • chore: remove TODO fixtures
  • Enable email inbox/outbox profiles and add user admin sidebar (#1409)
  • Prune older failover branches after upgrade (#1410)
  • Add GitHub issue reporting signal handler (#1407)
  • Use title case for user profile inline headings (#1406)
  • Add GitHub issue reporting helper and task (#1405)
  • Remove DC Fast Charger calculator fixture (#1404)
  • Fix local simulator defaults for current host port (#1403)
  • Refactor user data storage by username (#1402)
  • Allow optional Odoo profile inline (#1401)
  • Fix admin profile link to target user change view (#1400)
  • Fix admin template permission checks (#1399)
  • Skip empty user data fixtures (#1398)
  • Add user phone numbers with priority support (#1397)
  • Add staff-only console link to charger status page (#1396)
  • Ensure env refresh reloads personal user fixtures (#1395)
  • Add teams proxy APLead migration (#1394)
  • Add My Profile admin link (#1393)
  • Guard ReleaseManager natural key for unsaved fixtures (#1392)
  • Detect RFID hardware during control installs (#1391)
  • Ensure RFID wiring configuration is enforced (#1390)
  • Add AP Lead model and public access point mode (#1389)
  • feat: block release approval without PyPI credentials (#1388)
  • Release v0.1.9
  • chore: remove TODO fixtures
  • docs: drop pre-commit requirement from agent guidelines (#1387)
  • Include control nodes in RFID feature (#1386)
  • Ensure chargers reuse shared locations and add admin map links (#1385)
  • Handle unwritable install log directory (#1382)
  • Update user data profile fixtures and labels (#1384)
  • Add CP simulator fixtures for local, router, gateway (#1383)
  • Implement MCP sigil resolver server (#1381)
  • feat: centralize user and group profiles (#1380)
  • Ensure node feature assignments inherit Entity (#1378)
  • Improve nginx detection for non-root runs (#1379)
  • Add admin log viewer for charger and simulator (#1377)
  • Add rpi-camera node feature detection (#1376)
  • fix: clear revision when importing past releases (#1375)
  • Fix admin sigil forms to preserve raw values (#1373)
  • Refactor node features and polling tasks (#1374)
  • Fix admin sigil forms to preserve raw values (#1372)
  • Ensure user data reload marks all entities (#1371)
  • Add GUI toast node feature (#1370)
  • Skip debug toolbar requests from view tracking (#1369)
  • Set admin default delegate (#1368)
  • Add guard against nested git repositories (#1367)
  • chore: remove TODO fixtures
  • feat(core): add operate-as delegation for users (#1366)
  • Remove CMD sigil root (#1364)
  • Show brand WMI codes in EV model admin (#1363)
  • feat: add gway fallback and case-insensitive sigils (#1361)
  • Add OWASP ZAP security scan workflow (#1362)
  • feat: require release manager approval before publish (#1360)
  • Add management command to broadcast Net Messages (#1359)
  • Add flag to customize wlan0 access point name (#1358)
  • Limit future action links to top entries (#1357)
  • Tweak release progress button spacing (#1355)
  • Add EV battery estimates and fixtures (#1354)
  • Restrict release manager todos to linked users (#1353)
  • feat: enhance release progress controls (#1352)
  • Add public view history tracking with admin analytics (#1351)
  • Expand release manager token text areas (#1350)
  • Adjust object tool button padding (#1349)
  • Release v0.1.9
  • chore: remove TODO fixtures
  • Adjust release progress controls and skip redundant version commit (#1348)
  • Hide stale publish logs until release start (#1347)
  • chore: remove TODO fixtures
  • Reorganize EV admin models and cleanup menu (#1346)
  • style: add padding above Future actions heading (#1345)
  • Add validation todo for release progress current check (#1344)
  • Align navbar height with top status bar (#1342)
  • chore: add validation todo for admin action buttons (#1343)
  • Handle missing site on login (#1341)
  • Use natural keys in fixtures (#1340)
  • Remove obsolete fixture change check (#1339)
  • Fix duplicate natural_key definition (#1338)
  • Remove unused freeze requirements script (#1337)
  • feat: require manual start for release publish (#1336)
  • Add natural key managers (#1335)
  • fix: rename EART root and expose built-in sigils (#1334)
  • Rename Energy Report to Client Report and use hostnames (#1332)
  • Squash merge on successful CI (#1333)
  • refactor: reset sigil root fixtures (#1331)
  • Add automerge workflow triggered by CI success (#1330)
  • refactor: rename Todo description to request
  • refactor: remove moved models from Business admin
  • Rename Protocols group to singular
  • Validate screen User Manuals
  • Validate screen Seed/User Datum links
  • Validate screen RFID admin
  • Validate screen Release progress TODO list
  • Validate screen Release progress (steps updated)
  • Validate screen Release progress
  • Validate screen Manual PDF download
  • Validate screen EmailCollector
  • Validate screen Charger Console
  • Validate screen Admin header
  • Validate screen admin dashboard TODO details
  • Validate screen Admin app list
  • Validate screen Language switcher
  • Validate screen Model documentation
  • Validate screen Model documentation docstring
  • Field test at Audi Centre
  • Field test at Porsche Centre
  • Prepare release 0.1.10
  • git
  • rem
  • fix
  • chore: update fixture hash
  • feat: automate pre-release commit
  • Validate view manual_pdf
  • Validate screen Admin app list
  • Track fixture and migration hashes
  • feat: support MODEL_SOURCE for gway models
  • fix: repair admin routing and tests
  • Fix admin URL patch so newly registered apps resolve
  • test: ensure dashboard shows todo with done button
  • Ensure manual PDFs download
  • Add Workgroup app and relocate administrative models
  • warn before overwriting database on revert
  • feat: block release when TODOs pending
  • Abridge fixture output with model summary
  • Add EmailCollector validation todo
  • feat: add custom label to RFIDs
  • Override post_office migrations and ignore hashed DBs
  • chore: add db revision utility
  • Handle post_office migration base error
  • chore: remove gway dependency and scripts
  • Remove SQLite backup handling from refresh and upgrade scripts
  • Skip orphaned WorkgroupNewsArticle migration
  • ci: remove obsolete upgrade path test
  • feat: adjust language switcher colors
  • feat: improve lcd i2c dependency handling
  • Handle individual fixture errors during env refresh
  • Handle missing Site gracefully in get_site
  • Add ProductAdminForm and clean up model doc template
  • test: verify core and awg fixtures present
  • Remove news article feature
  • Reduce admin header padding and add validation TODO
  • Align admin action button size with history link
  • Add serial number and connector ID to simulator
  • Add todo for validating seed/user datum links
  • Rename Subscription to LiveSubscription
  • feat: add Odoo product component
  • feat(docs): show model descriptions
  • chore: remove user address admin field
  • fix: restore cable size and conduit fill fixtures
  • feat: allow aborting publish process
  • Release v0.1.9
  • chore: update fixtures
  • chore: ignore SQLite transient files
  • Handle non-UTF user fixtures
  • Use natural keys for module and landing fixtures
  • Remove conflicting fixture primary keys
  • fix: clean landing fixtures and sigil generation
  • Avoid SQLite locks when generating sigils
  • ci: use localhost for postgres service
  • Increase Postgres connection timeout
  • Use direct DB update for user datum flag
  • Include user data flag in NodeRole serialized test
  • feat: display seed fixture filenames in admin
  • Ensure modules reference existing applications
  • Remove sudo from SSH password setup
  • Use lockfile for auto-upgrade mode
  • Load fixtures in dependency order
  • Use PostgreSQL service for CI tests
  • Add WiFi watchdog and session lock handling
  • Enable WAL mode for SQLite tests
  • halt network setup without SSH password or VNC
  • Add charger console template and validation todo
  • Fix node feature role fixtures
  • Add field test TODO items
  • Handle existing transaction_uuid column in migration
  • Sort fixtures to load modules before landings
  • test: add coverage for release version selection
  • feat: surface RFID scanner and drop efficiency tool
  • Add public user manual views
  • Require password confirmation to stop server
  • Simplify user data handling
  • Add mailer helper wrapping post_office
  • Introduce EmailOutbox-aware backend
  • fix: restore node role fixtures
  • Route mail through Post Office and start Celery by default
  • Rename post office log verbose name
  • Add validation todo for EmailCollector screen
  • feat: replace sigil root fixtures with custom prefixes
  • test: ensure env refresh loads underscored fixtures
  • Ensure favorites star shows without content type
  • Refactor OCPP meter value storage
  • Avoid DB locks in connector tests
  • Avoid transaction chart drift after charging stops
  • Handle chargers per connector
  • Fix energy chart to use meter start
  • Fix energy graph to accumulate meter readings
  • Pin wireless connections to wlan0
  • Ensure nmcli leaves wlan1 ready for scanning
  • Create combined redis/nginx check for control installs
  • Highlight current admin model row
  • Wait for secondary wlan1 connection before failing
  • Check control mode deps at once
  • Rename manuals app
  • test: silence upgrade path skip
  • Adjust dashboard module header padding
  • Remove unused model permissions
  • Set local site name and remove Zephyrus
  • Handle empty user data fixtures
  • Restore dropped initial connection
  • feat(core): restore footer reference fixtures
  • Fix wlan1 refresh for nmcli without separator option
  • defer startup notification until after migrations
  • Store unknown RFID on transaction start
  • Add fixtures for Gateway and Router sites
  • Display startup message on boot
  • Prefer hyperline on wlan1
  • Remove version prefix from startup NetMessage
  • Skip invalid user fixtures
  • feat: add Raspberry Pi I2C enable hint
  • chore: split fixtures into individual files
  • feat: add change form Test Credentials button
  • Restore todos fixture
  • feat: add email inbox collector test action
  • Avoid duplicate nav in manuals admin views
  • start: collect static files before restarting services
  • Ensure user datum records created for imported fixtures
  • Restore original node role fixtures
  • feat(admin): record detailed change history
  • Reduce top navbar padding
  • Add EmailCollector admin inline
  • refactor: rename wlan1 refresh script and improve reliability
  • Rename admin list links to browse
  • Protect active internet connection unless unsafe
  • Rename Gateway role to Satellite
  • Remove reset screen script
  • feat: guide Redis installation in role switch
  • Rename status check script
  • Add script for configuring email inboxes and outboxes
  • Use consistent gelectriic-ap network
  • Add script to change device hostname
  • fix: limit migration check to local apps
  • test: ensure project has no pending migrations
  • fix: mark emailcollector migration as replacement
  • test: avoid database flush in seed data tests
  • Document freezing migrations and tagging artifacts
  • Validate access point before further network setup
  • chore: ensure shell scripts are executable
  • fix: restore migration name for post office
  • Fix manual admin sidebar permissions
  • Remove Operation and Logbook models
  • feat(admin): expose single records as actions
  • Validate screen NodeRole admin list
  • ci: run env refresh and upgrade tests
  • Add fixtures for new sigil roots
  • Remove default margins from admin form rows
  • feat: allow sigil lookup by any field
  • Gracefully skip tests when prerequisites are missing
  • fix: handle existing config sigil roots
  • Support nested sigils and deterministic entity lookup
  • Remove Fediverse profile feature
  • fix(admin): align header clock
  • Add languages and PDF downloads to manuals
  • Clean untracked files after upgrade
  • feat: show roots for auto-resolvable fields
  • Number Quick Guide steps in README translations
  • Reset SigilRoot before loading fixtures
  • Allow single-root sigils
  • Remove NodeTask model
  • handle wlan1 fallback failures to always create ap
  • Format lcd_check command and test
  • feat(core): add custom sigil roots
  • docs: add quick guide sections
  • feat: restore gway support with CLI wrappers
  • Fix invalid todos fixture JSON
  • style(admin): center server clock
  • Show registered node count for NodeRole
  • style: align todo done button
  • Validate screen Model Permissions
  • feat: add public permission matrix
  • feat: generate changelog from commit messages
  • feat: show list link on admin index
  • feat: integrate manuals into admin docs
  • fix: add admindocs commands route
  • feat: add admin table filtering
  • feat: link news articles to changelog
  • feat: add command to reload user datum fixtures
  • test: ensure user datum fixtures maintained
  • Remove deprecated Virtual and Particle node roles
  • docs: add GUI validation TODO guidance
  • Fix admin app list auth link alignment
  • feat: fold news into pages app
  • Handle existing sent_on column in InviteLead migration
  • refactor: remove app module
  • Fix ModelPermission template syntax
  • Move model permissions link
  • feat: expand sigil validator input
  • Advise using NonImplemented for stubs
  • Add interactive network setup and mandatory wlan0 access point
  • Add User Datum option to EnergyAccount admin
  • feat: add validation todo hook
  • Commit TODO completion to git
  • Fix admin related widget button overlap
  • Add EV model fixtures with battery and charging data
  • Advise agents to use fixtures for data
  • done
  • Ensure permission group_set returns SecurityGroup
  • Fix dynamic form field lookup in model permissions template
  • Add release checklist page
  • feat: add migration check automation
  • Fix dynamic field labels in permissions template
  • Use relative URLs for todo links
  • fix: correct release todo urls
  • Fix dynamic field lookup in permissions template
  • fix: exclude superuser from model permissions
  • Ensure datum checkboxes in custom admin templates
  • feat(admin): add per-model permission management
  • Fallback to localized root README when module lacks one
  • Exclude non-web commands from admin system view
  • Add admin TODO completion
  • Normalize language code to lowercase
  • feat: refresh wlan1 connections on boot
  • feat: add news articles for past releases
  • Show even AWG preference for odd results
  • Add live update helper and enable auto-refresh on select pages
  • Honor language selection when serving README
  • docs: guide gpt integration on chatprofile admin
  • Test chat data endpoint
  • chore: ensure env refresh installs pip
  • docs: mention URLs for Todo tasks
  • feat: add news app and fixtures
  • Reload README on language switch
  • Limit user datum patching to Entity admins
  • Add translations and language switcher for charger pages
  • feat: add release manager todo fixtures
  • test: patch RFID reader tests
  • feat: add --clean flag to db setup script
  • chore: rename upgrade test script
  • Add shell script tests
  • Match language dropdown to toolbar buttons
  • Rename user_manuals app to man and rely on module navigation
  • chore: add .sh extension to reset-screen and update shell script guidelines
  • Rename token builder to sigil builder
  • Add user manual listings and navigation
  • Reorder toolbar buttons
  • Add guidance for invitation email errors
  • Style language dropdown to match toolbar buttons
  • Add French and Russian README translations and tests
  • fix env refresh clean db check
  • Restrict datasette access and add navbar link
  • Include version and revision in sqlite backups
  • Ensure admin change actions render and fix release manager tests
  • release work
  • Add base translation files for French and Russian
  • Rename RFID admin action
  • Add test for birthday greetings task
  • Patch UserDatum mixin globally and test entity inheritance
  • feat: add release manager credential test
  • Add check flag for switch-role script
  • Release v0.1.9
  • feat: require sudo for reset-screen
  • Add install.bat for Windows
  • fix: enable Raspberry Pi screen
  • fix: pin VS Code env-refresh tasks to workspace
  • Use local black for pre-commit
  • chore: make pre-commit offline-friendly
  • fix: prevent env-refresh from altering root
  • Rename admin index Seed Datum button
  • Add token validation to token builder
  • Restrict user datum to entities
  • fix: correct case termination in reset-screen
  • chore: create release and upload migration plan
  • Verify pip install in env refresh
  • test: cover datasette service management
  • style: format code with black
  • Include verbose names in initial user manual migration
  • chore: auto-close stale pull requests
  • Improve energy report date selection
  • fix: capitalize user manual verbose names
  • Add accessibility and tests for model status icon
  • included releases
  • feat: allow hyphen in sigil tokens
  • Add model status indicator in admin
  • feat: support CMD sigil root for management commands
  • ci: comment impacted node roles
  • feat: enhance sigil resolution with context and ids
  • Ensure PackageRelease admin lists release actions
  • delete hdmi
  • feat: record screen mode
  • feat: add screen reset modes
  • Add test mail tools in inbox and outbox admin
  • Rename approve_invite command to send_invite
  • Add admin energy report generation
  • Test database backup creation
  • Remove VNC setup from network configuration
  • Ignore collected static files
  • Add energy report model and customer report view
  • Allow wlan1 to use any wifi as gateway
  • Serve static files with WhiteNoise
  • Configure static files collection
  • Add RFID energy consumption report
  • Track invite email send status
  • Release v0.1.8
  • feat: add fixture update command
  • test: validate admin group relocation
  • fix(admin): load net message after DOM ready
  • Fix generate key link in ChatProfile admin
  • feat: capture migration state during release
  • docs: expand README with explanatory links
  • feat: admin key generation UI
  • Add missing merge migration in core
  • readme
  • feat(admin): add refresh from pypi action
  • docs: recommend optional squash before release
  • guard rfid features behind configuration
  • feat: expose chat profile api
  • Rename show_invites command to show_leads
  • Allow www.arthexis.com host
  • docs: document management commands
  • feat: add release list shortcut
  • online
  • Rename management command to show_invites
  • Add command to show recent invite and power leads
  • feat: allow remote database setup
  • red
  • readme
  • chore: restore gitkeep files
  • Add active package tracking and update release status
  • Skip commit when build has no changes
  • Simplify operation effect field
  • Set is_published only after successful PyPI publish
  • refactor: drop revision tracking from release
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • chore: update fixtures
  • Release v0.1.7
  • ver
  • refactor: simplify release promotion
  • Release v0.1.7
  • chore: update fixtures
  • Release v0.1.7
  • fix: avoid merge commit prompts
  • ver
  • feat: rebase release branch before merge
  • fix: merge release branch without fast-forward
  • Write fixture hash during env refresh
  • Restore log placeholders
  • fix: avoid checking out missing fixtures hash
  • chore: dedupe changelog
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • chore: update fixtures
  • Release v0.1.7
  • Skip fixture checks during migration squash
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • Release v0.1.7
  • chore: update fixtures
  • Release v0.1.7
  • restore fixture hash after env refresh
  • Ignore MD5 checksum files and handle missing fixture hash
  • Preserve unresolved sigils and log resolution errors
  • fix: improve release restart and migration squashing
  • feat: add fixture application check
  • Release v0.1.7
  • Release v0.1.7
  • chore: update fixtures
  • Release v0.1.7
  • feat: allow release retry
  • ver
  • py
  • mysteric
  • chore: restore log placeholders
  • Release v0.1.11
  • Release v0.1.11
  • Release v0.1.11
  • Release v0.1.11
  • Release v0.1.11
  • Release v0.1.11
  • chore: update fixtures
  • Release v0.1.11
  • omni
  • microservices
  • Add Virtual and Particle node roles
  • test: cover dist cleanup in build
  • regress version test
  • Add PyPI validation admin action
  • Release v0.1.10
  • fix: persist release progress through reload
  • Release v0.1.10
  • Release v0.1.10
  • chore: update fixtures
  • Release v0.1.10
  • readme
  • docs: update features section in README
  • Release v0.1.9
  • Release v0.1.9
  • Release v0.1.9
  • chore: update fixtures
  • Release v0.1.9
  • Update references fixtures
  • feat: auto-commit fixture changes during release
  • Release v0.1.8
  • Rename infrastructure app
  • test: ensure VERSION updated during publish
  • fix(core): remove duplicate initial migration
  • Handle closed connection and remove test warning
  • Ensure release fixture uses current revision
  • Use settings for node role
  • Add PowerLead tracking and shared Lead base
  • fix: rebase before pushing release metadata
  • chore: update release metadata for v0.1.7
  • Release v0.1.7
  • Delay release fixture until commit
  • Add app config overrides
  • Update VERSION and enforce sync with releases
  • style: match action button padding with history link
  • Track invitation requests via InviteLead model
  • chore: remove release tests and fixture
  • Add logging for invitation requests and node email sending
  • Test Celery debug configuration
  • Format footer fresh since date
  • chore: tidy env-refresh clean test
  • Make package column clickable in PackageRelease admin
  • Redirect favorite setup actions back
  • style: match admin object action buttons
  • feat: show freshness timestamp in footer
  • Show all models in app list
  • Remove pull request references from release
  • test: update release progress expectations
  • fix(release): commit release fixture after build
  • theme admin relation buttons and align delete
  • Rename AWG admin group to Power Calculators
  • chore(admin): fix email inbox breadcrumb
  • Allow anonymous access to last message API
  • Reset release progress session when version changes
  • Save object before executing admin change actions
  • Use icon semaphores for readonly booleans
  • Update release fixture on save
  • Show PyPI link after release
  • docs: link support page
  • Release v0.1.4
  • Allow invitation request without CSRF token
  • fix: dedupe admin future actions
  • feat: add footer divider
  • fix: update version file during release
  • feat: add clean flag for database resets
  • Deduplicate future actions
  • Add user data flag to favorites
  • fix: add twine to release requirements
  • Handle missing users in personal fixtures
  • Replace default admin with arthexis user
  • Fix duplicate user fixture during env refresh
  • Add RFID card type support
  • Refactor Celery task setup
  • Defer startup notification until request
  • Create admin with privileges in backend test
  • Mock subprocess run in publish tests
  • Remove unused node list columns from admin
  • Propagate NetMessage to three peers and local display
  • Rename PostgreSQL setup script to db-setup
  • Handle SQLite file locks during env refresh
  • fix: enable save-as-copy and user datum admin
  • fix(admin): display user datum controls
  • Use NetMessage for startup notification
  • feat(admin): display last network message
  • feat: auto-resolving sigil fields
  • Add admin favorites
  • fix: enforce unique package name and auto revision
  • test: cover prepare next release version
  • Handle deleted release versions when preparing next
  • Add environment view and template
  • Expose release currency indicator
  • Expand acronym list and allow plural capitalization
  • Mark PyPI and PR URLs read-only
  • fix: clean up NetMessage metadata
  • Add detailed Email Outbox guidance
  • Prepare release bumps patch version
  • Store releases as fixtures and add deletion cleanup
  • Display release status fields as read-only
  • admin: show release status checkboxes
  • Fix twine upload file handling
  • Remove beta application
  • Rename Packager Profile model to Release Manager
  • Ensure releases retain PR link and promotion status
  • Add system status admin page
  • Clarify PyPI credentials in packager profile
  • Improve release promotion workflow and certification
  • Enable user data for all models and update sample game
  • Add fixture for 0.1.1
  • Release v0.1.1
  • Add breadcrumbs to release progress page
  • feat: allow GitHub token per packager
  • Handle missing gh in release promotion
  • Test admin object actions for releases
  • Rename game app to beta
  • Rename Vehicle to Electric Vehicle and add footer visibility
  • feat: improve release promotion process
  • Add share button with clipboard copy and QR code
  • feat: configure run and debug reload
  • Clarify promote return values
  • Avoid interactive prompts during release promotion
  • Rename charger models and add EV license plate
  • Allow release promotion with auto-stash and relocate progress URL
  • Auto-stash during promote
  • Replace Ren'Py prototype with simple image-based game
  • Ensure outbox setup uses virtualenv and defaults secure options
  • Print version and revision on startup
  • Ensure package release on node startup
  • nodes: use RELEASE env for package release
  • chore: remove release fixtures
  • Print version and revision on server start
  • Add node email outbox support
  • Enable Django autoreload in VS Code
  • Handle missing beat tables when registering poll task
  • Add tests for email collector
  • test: remove obsolete readme sidebar tests
  • feat: show upgrade freshness in footer
  • Add inactivity reload timer on homepage
  • fix: render footer for all users
  • Enable autoreload for Debug Server
  • feat: show upgrade freshness in footer
  • Rename games app to game
  • Clean unpromoted releases
  • Add base64-encoded Ren'Py demo package
  • Rename games app to game and sort navigation modules
  • Add persistent Hyperline connection
  • Test for footer presence on home page
  • Fix test package release setup
  • Add demo Ren'Py game showing Hello World silhouette
  • Handle missing models in personal fixtures
  • fix(core): add release progress template
  • Add games app with Ren'Py game portal
  • docs: sync Spanish README
  • Clear site display names in fixtures and test role title
  • Ensure runserver serves static files
  • Handle missing migration table in env refresh
  • Improve email inbox admin and copy behavior
  • docs: add about me quote
  • docs: simplify README
  • fix: correct static and media URLs
  • Add save-as-copy option for entities
  • feat(release): add progress page
  • Specify debug toolbar namespace
  • Replace win10toast with plyer for Windows notifications
  • fix: allow env refresh while server running
  • chore: require manual stop for env refresh
  • chore: create default release on startup
  • Test RFID reader control gating
  • Ensure CSRF cookie and standardize domain
  • Add status check script
  • Ensure --latest replays migrations and restart server
  • Use non-interactive sudo in stop script
  • Use sudo for process termination
  • Add timeout handling to stop script
  • feat: add electric vehicle proxy and relocate user admin
  • Move Fediverse profile migration
  • Log existing services before restart and detach start
  • Update services on upgrade
  • Simplify footer columns and spacing
  • Manage Celery via dedicated systemd services
  • Expand footer layout and show version info
  • fix: prevent upgrade script from hanging
  • Add quick start section to README
  • Preserve user theme selection across navigation
  • Attach energy account fixture to arthexis user
  • Make constellation fixture idempotent
  • Handle missing debug toolbar
  • feat: show fixture file names in data lists
  • feat: rename clean flag
  • Rename Require RFID field and add help texts
  • Handle screenshot capture errors
  • Sync page theme with debug toolbar
  • Improve data list pages
  • Skip loading duplicate package releases
  • Revamp admin data list layout
  • Add Redis dependency
  • Enable debug toolbar for terminal mode
  • fix release publishing status and branch reuse
  • Run env-refresh during installation
  • Inline RFID join table fix into initial migration
  • fix: restore footer rendering
  • Rename account RFID column
  • Add admin email inbox search action
  • Add user data import/export and uniform column styling
  • Rename PackageHub model to Package and refresh release
  • Fix user datum admin test
  • feat(nodes): add LCD screen flag
  • Show AWG calculator results above form on mobile
  • Add migration for reference transaction UUID
  • Log all websocket messages
  • feat: add transaction grouping for content samples
  • Rename Account and Credit models to energy equivalents
  • Add user data admin view and buttons
  • Add transaction grouping for references
  • Add NetMessage propagation action and restrict completion
  • feat: add browser-assisted node registration template
  • Fix user datum admin tests and stabilize email inbox tests
  • feat: add footer references
  • Generate QR code for references without image
  • fix: store build revision and rename publish flag
  • Allow upgrade without installation
  • Require Redis for non-terminal install modes
  • Persist user datum checkbox state
  • Align install role defaults
  • Persist user data fixtures
  • fix: include csrf token in invitation form
  • Add promotion workflow for package releases
  • feat: add RFID deep read mode
  • Add tests for user datum admin checkbox
  • Secure net-message endpoint with node certificates
  • feat(nodes): add network message propagation
  • Link packager profiles to users and add release manager
  • feat: add progress feedback in upgrade script
  • Remove obsolete backup, recipe, and text pattern models
  • Remove swap color RFID admin action
  • test: cover Odoo password admin form
  • feat: add user datum persistence
  • feat: split package release models
  • Expand current admin group in navigation
  • Allow editing role nodes in admin
  • Fix tests cross-platform
  • Add clean refresh VS Code task
  • Fix failing tests
  • Show user info on login icon hover
  • Stop LCD service on shutdown and uninstall
  • ci: run install workflow only when migrations change
  • test: cover Odoo profile verification
  • chore: run release workflow on pull requests only
  • Remove unnecessary PyPI install in release workflow
  • Remove unnecessary PyPI install in release workflow
  • Rename charger number to connector ID and update admin
  • refactor: layer releases and map to migrations
  • feat(app): introduce code editor widget assets
  • Move rotated logs to old directory
  • Ensure constellation fixture loads cleanly and stabilize notifications
  • Add logging to shell scripts
  • Remove bind app and migrate entity base
  • Ignore generated security keys
  • refactor: move release features to core and rename website app
  • Rename integrate app to bind
  • Create site on node registration and update fixtures
  • Merge screenshot and text samples into content samples
  • Improve permissions selector in security group admin
  • Add default site fixtures and update names
  • Enable horizontal permissions selector for security groups
  • Add default site fixtures
  • Add notify management command
  • Generate node key pairs on registration
  • Remove migration hash artifacts
  • Display LCD goodbye message on stop
  • feat(admin): use domain for site badge fallback
  • Remove Unknown node role
  • Check nginx for role flags
  • chore: reset migrations on changes
  • Refactor modules to use node roles
  • Refactor node roles and add constellation install option
  • feat: add terminal install flag
  • Skip landing auto creation during fixture loading
  • refactor: use core notifications for LCD update status
  • test: verify LCD update notifications
  • Handle simulator timeouts and remove charger config
  • Rename hotspot and ensure services
  • Document migration step for fresh install
  • feat: add control install mode
  • feat: register current node during dev refresh
  • Add upgrade flag to install script
  • Avoid duplicate website landings during fixture load
  • chore: document admin clock tooltip
  • feat(rfid): simplify public scanner view and register landing
  • Rename business and integrate app verbose names
  • Add AWG module to site fixtures
  • style: align admin badges and clock
  • feat: encode RFID color as single character
  • feat(ocpp): add RFID scanner landing
  • Make CP simulator form more compact
  • fix: cleanup rfid view import
  • feat(navbar): improve dropdown behavior
  • style: improve cp simulator layout
  • style(admin): align clock and badges
  • refactor: remove sigils integration
  • Track user for text samples
  • Remove RFID writing tests
  • Reduce server clock font size
  • Remove obsolete accounts app reference
  • Add clean option to installation script
  • refactor: rename accounts app to core and integrate messaging
  • feat: move Reference model into accounts and remove refs app
  • Improve network setup reliability
  • Ensure network dependencies and simplify install
  • Increase SQLite timeout to reduce install database locks
  • fix: default LCD address when i2c scan fails
  • chore: drop grappelli and restore admin customizations
  • Gracefully handle ToastNotifier init failures
  • Handle missing LCD lock file
  • Remove custom admin templates conflicting with Grappelli
  • Fix toast notifications repeating
  • chore: disable celery in VS Code launcher
  • Ensure Django initialized once for tests
  • feat: add django-grappelli admin interface
  • test(msg): cover send admin action
  • Remove RFID watch toggle from admin
  • Simplify RFID reader and drop key writing
  • Skip RFID block 0 and document behavior
  • rfid: attempt Key A when Key B fails
  • fix celery memory backend
  • Delay startup LCD notification asynchronously
  • Move async notifications to message helper
  • Reduce RFID polling intervals
  • feat: make RFID poll interval configurable
  • stop script halts systemd service
  • docs: update public site applications
  • Add SecurityGroup proxy migration
  • feat(rfid): show uid immediately
  • Allow empty message fields
  • Remove purge meter readings task fixture
  • Remove redundant auto upgrade task
  • docs: detail shell script flags
  • Move runtime flags to locks directory
  • Add LCD reset and timing safeguards
  • Add optional Celery startup
  • fix: address failing tests
  • Handle charger reconnects and simulator termination
  • Refactor admin and remove webshell
  • feat: add msg app for system notifications
  • migrate(rfid): add sector data and key flags
  • Restore reference admin field capabilities
  • feat: remove RFID length limit
  • Allow CSRF origin within allowed subnets
  • Allow clearing RFID reference
  • feat: add satellite install preset
  • Ensure wlan0 and eth0 never act as gateways
  • Add auto upgrade check task
  • Ignore auto upgrade file
  • Simplify RFID reference handling and add admin link
  • feat: add auto upgrade option
  • Remove arts app
  • Use request host for RFID references
  • Ensure wlan1 reconnects and skip 2.4GHz networks
  • Add migration for RFID last seen
  • upgrade.sh: add --clean-db option
  • Ensure proper network bands and shared eth0
  • Add RFID last seen tracking and new colors
  • Create RFID reference with label page
  • chore: ignore NGINX_MODE env file
  • Fix internal nginx config and overwrite on install
  • test(rfid): adjust notification expectations
  • Test RFID admin scan view bypasses CSRF
  • fix(rfid): initialize scanner on first poll
  • style(admin): enlarge header badges
  • fix: ensure nginx conf dir
  • Add admin interface for OCPP transaction export/import
  • style(admin): limit login badges styling
  • Rename private flag to internal and default to internal mode
  • Add public/private port modes and firewall checks
  • style(admin): stack badges under server clock
  • Reload and normalize wlan1 connections
  • chore(admin): stack header badges
  • Add reload flag for start scripts
  • feat: add version-aware upgrade script
  • Test Windows notification fallbacks
  • Use non-blocking Windows toast notifications
  • test: cover smbus2 LCD fallback
  • refactor(rfid): drop background reader
  • Use Windows toast notification as LCD fallback
  • Add Windows GUI fallback for LCD notifications
  • Simplify LCD notifications
  • Retry LCD init for notifications
  • fix(ocpp): add migration to ensure charger number column
  • feat: link charger landing page
  • Add always-on RFID watcher with notifications
  • Add charger number field and update fixtures
  • feat: allow custom port in scripts
  • refactor: remove remote RFID sources
  • docs: clarify migration update policy
  • Use requirements.md5 in install script
  • Add vscode_manage wrapper for tests
  • Add author field to Reference model??
  • initial
  • Relax contenttypes dependency in accounts migration
  • Fix accounts migration auth dependency
  • Add initial migrations for accounts and website apps
  • remove migrations
  • Reorganize migrations into waves
  • fix: avoid auth/accounts migration cycle
  • refactor: derive latest auth dependency dynamically
  • Handle auth migration dependency across Django versions
  • Fix circular dependency in accounts migration
  • fix: loosen sites migration dependency
  • Fix migration dependencies for contenttypes
  • Link RFIDs to Reference model
  • Fix auth migration dependency for accounts
  • style: reduce space below footer
  • Fix auth migration dependency
  • Relax auth migration dependency
  • Reset migrations and remove custom auth/email workarounds
  • Log CSRF failure reason
  • Test language change bypassing CSRF
  • Fix duplicate import in release admin
  • Fix auth migration loading
  • fix: clean nginx conflicts and handle cert suffixes
  • pre-release 0.1.1
  • Patch auth migration to drop integrator import
  • Remove integrator module references
  • refactor: drop integrator shim and override auth migration
  • Add desktop screenshot action and rename site capture
  • Revamp webshell terminal UI
  • Prune site app fixtures and update README
  • Add invitation templates and fixture
  • fix: ensure get_revision works outside repo
  • Align admin datetime inputs
  • Add arts app with article gallery
  • Tweak admin clock banner size
  • Rename integrator app to integrate
  • Add diagnostics mode for certificate renewal script
  • Use git commit ID for revision
  • Reload nginx after copying certs
  • Fix admin index action links
  • Handle duplicate node registration
  • Expand RFID test to include remote sources
  • Add public charger landing page and QR links
  • fix: locate cert directories with sudo
  • Handle screenshot capture errors
  • Rename Fast Charger template to DC Fast Charger
  • fix: handle suffixed cert directories
  • Add menu field migration
  • Fallback to polling when IRQ setup fails
  • feat: show certificate renewal diagnostics
  • Improve certificate renewal feedback
  • Show systemd service status after restart
  • Show renewed certificate expiration
  • Remove manage script and refresh docs
  • Use name in RFIDSource str and generate local fixture UUID
  • Handle nginx during cert renewal
  • Add certificate renewal script
  • Add friendly CSRF failure page
  • Use INT and BAD in RFID notifications
  • Align AWG calculator input heights with select fields
  • Add remote RFID source fallback
  • Add site screenshot admin action
  • feat: unify RFID scanner buttons
  • Refactor notifications to support subject/body and independent scrolling
  • Add manual RFID wiring check and test button
  • Add General request type and admin status actions
  • Simplify RFID scan handling
  • Add Constellation site fixture
  • Add ordered RFID scanners with proxy support
  • Make navbar icons follow current color
  • Add restart view tests and update notifications
  • Update navbar styles for light mode
  • Add negative space star admin favicon
  • Add admin action to swap RFID colors
  • feat: add VS Code tasks for new scripts
  • Notify LCD on RFID scan
  • Add tests for seed data handling
  • Improve RFID reader IRQ handling
  • Only clean up GPIO when initialized
  • Handle RFID hardware setup failures
  • Improve LCD notifications
  • Use nmcli for network setup
  • Add network configuration script
  • Implement notification queue with LCD/GUI fallback
  • Scale layout for large viewports
  • feat: add nginx setup option
  • Add background RFID reader using IRQ
  • Ignore all .env files
  • Allow arthexis.com hostnames
  • fix: allow env-refresh to use python3
  • Rename refresh scripts to env-refresh
  • Stop RFID poll loop when reader missing
  • Rename dev_maintenance script to refresh
  • Make refresh.sh executable
  • Rename refresh scripts
  • Normalize base64 favicon formatting
  • Rename maintenance scripts to refresh-db
  • Fix navbar icon styles
  • Enhance RFID scanner display
  • Fix seed data admin template access to private model meta
  • Make URL references clickable in recent view
  • fix: ensure entity deletion return value and admin badge strings
  • docs: clarify shell script usage
  • Add request model with approval workflow
  • Fix refs tag migration dependency and merge
  • Add tagging helpers and migrations
  • feat(refs): support text and image references
  • Use service default port
  • Add service management scripts
  • Improve new reference form layout
  • Add color and released fields to RFIDs
  • feat(refs): add reference form
  • Show site name in navbar
  • Add tests and template?
  • Use fixed-width font for admin clock
  • feat(vscode): add purge logs task
  • Add admin task for database backup
  • Fix admin header badge links and clock font
  • Customize site title and rename default sites
  • Use all-caps for navbar pills
  • Add MAC address field to Node
  • Add created timestamps to footer reference fixtures
  • fix tests for admin clock update
  • feat(admin): display real-time server clock in header
  • Fix admin console redirect
  • Add migration and template for refs
  • docs: document helper scripts and VS Code tasks
  • Use port-agnostic Site lookup
  • Require RFID for CP2 in fixtures
  • Log OCPP charger sessions to persistent files
  • Add migration for charger temperature
  • Simplify node admin list columns
  • docs: move README modification note to AGENTS
  • Redirect webshell root to script view
  • Rename integrations app to Integrator and rename Release admin group
  • chore(release): move legacy fixture
  • db
  • Add VSCode shortcut for running tasks
  • Open console in popup window
  • Add VSCode shortcut for running tasks
  • Add Spanish translations for AWG and OCPP models
  • Remove README build automation
  • Add language switch to admin header
  • Render localized README based on language
  • Make admin groups collapsible with search behavior
  • Add Spanish README translation and installation guide
  • Add Spanish translations for AWG calculator
  • Add Python, Django, and OCPP footer references
  • Capture installation metadata when registering local node
  • docs: update included apps
  • Add configurable screen sources for screenshots
  • Add language switcher button
  • Add migration for Backup model
  • chore: migrate Odoo password field
  • Split site/node badge labels
  • Stop updating chart after charging session ends
  • Make heartbeat and meter values read-only in Charger admin
  • Allow environment sigils in Odoo config
  • Enable viewing past sessions
  • Tune simulator energy levels
  • Remove obsolete node service fixtures
  • Use async-safe location name lookup in WebSocket handler
  • Add sigils-based environment interpolation
  • Add migration for OdooInstance rename
  • Add NodeCommand for executing shell commands
  • Remove legacy network and service reload scripts
  • Remove template models and related functionality
  • Add management command to control systemd units and reload script
  • sp
  • Use natural keys for site fixtures
  • Add GWAY-BOX site fixture
  • Extend NMCLITemplate with DNS and IPv6 settings
  • Add detailed WebSocket logging and optional subprotocol
  • feat(nodes): introduce node action framework
  • Prompt for AP password in network setup
  • Add local and Ethernet fixture simulators
  • Add stop script with optional all parameter
  • start
  • Rename start script and update references
  • network
  • Add network setup script
  • Replace RFID scanner with reusable poll-based component
  • Enhance NMCLI template import and add export
  • Revert start script name to start.sh
  • Rename start script to dev-start.sh
  • Exclude parameter-dependent admin actions
  • Consolidate admin action links into single column
  • style(admin): show custom actions before add
  • Add NMCLI scan action in admin
  • Ignore requirements hash file
  • fix(admin): place actions beside change link
  • feat(admin): expose actions on dashboard
  • Make admin console input single line
  • Redirect toolbar login to admin when no next
  • Add VIN tracking and WMI updates
  • Require auth for OCPP views and filter nav apps
  • Move QR template tag to references app
  • Add RFID label_id migration
  • Add initial Location fixture and migration
  • fix sim
  • name sim
  • Enhance admin console toggle
  • Replace login link with toolbar icons
  • Rename energy fields migrations
  • Add admin console mode toggle with webshell
  • desc
  • fix: avoid duplicate site apps
  • desc
  • Handle untracked files in upgrade script
  • Handle untracked files in upgrade script
  • Improve footer layout and admin links
  • Propagate RFID reader errors
  • Add feedback and timeout for RFID scan
  • feat: move RFID reader to dedicated app
  • Use kW units in charger status view
  • Add session pagination and date search for chargers
  • Add websocket consumer and RFID template
  • Preload charger status graph with historical data
  • Auto rebuild README after section changes
  • Adjust light mode background
  • Style footer
  • fix: prevent charger graph bounce
  • Highlight updated charger status values
  • Add live kWh chart to charger status view
  • Allow string RFID primary keys in admin write URLs
  • messaging
  • Use status template for charger public view
  • Merge nodes migrations
  • Compute session energy from meter readings
  • Remove unused import
  • Add padding to dashboard main
  • Fix failing tests
  • Add NMCLI template migration
  • Add node roles and display badges
  • Load fixtures in single transaction
  • Add padding to admin dashboard sidebar
  • awg templates
  • Allow multiple WMI codes per brand
  • fix: adjust admin dashboard width
  • Add task to purge old meter readings
  • Use Monterrey as default timezone
  • Make OCPP log view scrollable and auto-scroll
  • Include ongoing transaction energy in totals
  • Add GELECTRIIC RFID fixture
  • Shrink admin dashboard sidebar
  • Allow admin login from docker networks
  • Fix admin dashboard sidebar width
  • Create transactions from meter values
  • Auto-refresh charger status page
  • Fix admin dashboard sidebar layout
  • Add Transaction admin with meter readings
  • Add date filters for meter readings admin
  • Authenticate RFID batch API tests
  • Migrate to new transaction schema
  • Add copy button to admin messages
  • Stack admin history and actions
  • Style admin dashboard side modules
  • Handle simulator message responses
  • Add timestamps to OCPP logs
  • Separate charger and simulator logs
  • Add auto-reloading scrollable OCPP log
  • Refactor admin dashboard layout
  • Fix charger admin tabs and theme
  • Add duration and delay options to OCPP simulator
  • feat(admin): tabbed charger form with reference QR
  • fix: remove obsolete contenttypes migration dependency
  • Separate node and site logging, default site name
  • bkp
  • Track admin changelist visits and expose in dashboard
  • Ensure AWG template defaults populate dropdowns
  • Rebuild account-RFID M2M for char primary key
  • Fix websockets header argument
  • Add copy button for admin messages
  • Add description field migration
  • Wait for simulator connection and log messages
  • Log simulator traffic and wait for connection
  • Show systemd unit status in admin
  • Add README sections model
  • Add unique name field to accounts
  • feat(awg): show templates when no results
  • Add Django command wrapper script
  • Add color copy button to admin badge fields
  • Require authentication for API views
  • Allow RFID import without id
  • feat: add manage wrapper script
  • Add RFID writer with key fields
  • Add command to install systemd unit
  • Add systemd unit template model and fixture
  • feat: enforce unique RFID assignments
  • Use admin sun and moon icons for theme toggle
  • Handle RFID scan timeout
  • Fix RFID scan view import
  • feat(awg): set calculator as main view
  • Remove generic app index view and routes
  • Remove git maintenance tasks
  • Add show_in_website field migration
  • Remove git push from maintenance
  • Improve app index view docs
  • Remove MD5 check from install script
  • Remove unused manage_vscode wrapper
  • Fix RFID scan view import
  • Add migrations removing seed data fields and models
  • Hide apps without URLs from navbar
  • Add command to register local apps with default site
  • deps: add MFRC522 for RFID scanning
  • Fix RFID scanner import
  • Center footer links and shrink QR
  • Resolve proxy client IP for admin override
  • Display area and amps in AWG cable admin
  • Allow admin login from local networks
  • Allow private network hosts
  • feat: add readme rebuild admin action
  • feat: default server port 8888
  • Add RFID scan button in admin
  • Add RFID scanning admin action
  • Make AWG calculator defaults opt-in
  • Add migration for renamed polling flags
  • feat(awg): add dropdowns to calculator template admin
  • Add admin action to verify Bluesky credentials
  • Clean calculator query params
  • Add QR preview to admin
  • Add screenshot polling and deduplication
  • Use fixture for default calculator template
  • Add node field migration
  • Expand single-field admin inputs
  • Add migration for TextPattern rename
  • Handle charger log retrieval case-insensitively
  • Display node screenshots in admin
  • Make AWG calculator template fields optional
  • Generalize fixture loading
  • Fix website migration dependency
  • Add configurable clipboard polling and text samples
  • Fix migration dependency for sites app
  • Add migration for slug-based RFID endpoint
  • Add migration for SiteApplication
  • chore: update RFID source migration
  • Add Porsche and Audi EV brand fixtures
  • Add calculator template links
  • Add initial AWG fixtures
  • Add script to freeze requirements with markers
  • deps: add gpiozero for Linux
  • Add RFIDSource migration
  • Fix EmailPattern admin link
  • Refactor Application model for local app management
  • Auto migrations
  • Add migration for SeedData names
  • test: cover post office admin group
  • Add AWG calculator template model and register data tables
  • Add docutils to requirements
  • feat: add admin screenshot capture
  • Hide empty admin groups during model search
  • fix: remove Readme app from localhost fixture
  • Fix daphne runserver nostatic conflict
  • Persist simulator logs to disk
  • Remove obsolete readme app
  • Add public API and message storage for nodes
  • Add migration for email pattern rename
  • Add migration for EV Brand options
  • Clean up admin imports
  • Add SeedData snapshot management
  • Auto migrations
  • test: update odoo tests
  • Move RFID functionality to accounts app
  • Move TODO features into release app
  • Capitalise EV Models in admin
  • Enable markdown tables
  • Merge clipboard app into nodes
  • Handle is_seed_data column if it already exists
  • Fix Site dependency and prevent maintenance reset
  • Add Celery tasks for clipboard samples and node screenshots
  • Replace app READMEs with admindocs
  • Move Site admin to website app
  • test: ensure simulator sends messages
  • feat(admin): link site and node badges
  • Style README sidebar like PEP pages
  • Add NGINX template fixture
  • Add task to send queued emails
  • Add EVModel and seed data flags
  • Auto migrations
  • fix: relax Site migration dependency
  • Add Brand model and link to vehicles
  • Add seed data flag and export command
  • Auto migrations
  • Add footer reference fixture
  • Add EmailPattern model and admin test action
  • Move page QR code into footer
  • Auto migrations
  • Load localhost site fixture during dev maintenance
  • Handle inconsistent history in dev maintenance
  • Move RFID to dedicated app and add QR sidebar
  • Remove duplicate website app migration
  • Remove automatic git sync and restart
  • Rename build to revision and show revision in footer
  • Fix App migration dependency
  • Auto migrations
  • Fix migration dependency on sites app
  • Add App model and navigation pills
  • Move README TOC sidebar to left
  • Move theme toggle into navbar
  • Move website navbar to left
  • chore: decouple dev maintenance from launchers
  • Auto migrations
  • Auto migrations
  • Add OCPP simulator fixtures and load during maintenance
  • Auto migrations
  • Refactor dev maintenance tasks
  • Auto migrations
  • fixed requirements
  • fix: avoid corrupted requirements on windows
  • chore: drop gpiozero and mfrc522 dependencies
  • fix: make update requirements task powershell-friendly
  • chore: add vscode update requirements task
  • Auto migrations
  • feat: add LED controller with gpiozero
  • Add batch RFID import/export API
  • Integrate Celery with example periodic task
  • Wrap navbar items with right-floated divs
  • Use localhost name for local IP sites
  • Display longitude next to latitude in charger admin
  • Auto migrations
  • style: add boxed layout to login page
  • Add VSCode wrapper to bypass debugpy during git restart
  • Auto migrations
  • Add VSCode wrapper to strip debugpy for git sync restarts
  • Add Register Current button to Sites admin
  • test(website): isolate admin sidebar tests
  • Expand node detection to check server IPs
  • Auto migrations
  • refine debugpy detection for git sync restart
  • Align navbar text and arrow
  • Auto migrations
  • Test restart server under debugpy
  • Seed default OCPP simulator entries
  • Enhance Bluesky admin with credential validation
  • Auto migrations
  • Close SQLite database before deleting
  • Skip initial onboarding start page
  • fix toc layout and styling
  • Only rebuild DB when new migrations exist
  • Auto migrations
  • Auto migrations
  • feat: track requirements checksum
  • Make taskbar levels collapsible
  • Use references for footer links
  • Reset migrations after applying
  • req
  • Add test logging option to release module
  • Add background git sync in debug mode
  • Handle git fetch and enforce fast-forward pulls
  • Open browser on dev reload
  • Allow charger log view for unknown chargers
  • feat: auto sync git during dev reload
  • Add admin clipboard button to capture system clipboard
  • Add customer onboarding wizard to account admin
  • Remove gway dependency from OCPP
  • Add RC522 RFID reader interface
  • Restrict default admin login to localhost
  • Add README sidebar table of contents
  • remove migrations
  • Reset database in dev maintenance script
  • Handle SQLite OperationalError in dev maintenance
  • chore: streamline RFID migrations
  • Add command to reset migrations
  • docs: limit README generation to releases
  • Reset nodes migrations and fix NginxConfig table
  • Use fake-initial for OCPP reset
  • Simplify OCPP migration reset
  • Drop OCPP tables when resetting migrations
  • Refine OCPP migration reset command
  • Add OCPP migration reset command and docs
  • chore: run maintenance scripts before debug
  • Refine dev server tasks
  • Add documentation for new recipe model
  • Reset ocpp migrations if history is inconsistent
  • Fix virtualenv handling for dev tasks
  • Install requirements into .venv in debug
  • fix(ocpp): adjust migration dependencies
  • Add missing packaging dependency
  • Align Calculate button in AWG calculator
  • Handle Windows venv paths in VS Code
  • Handle Windows venv paths in VS Code
  • Support Windows venv interpreter path
  • Replace chat with sink consumer
  • Configure VS Code to use project venv
  • launch
  • Add pattern matching to clipboard samples
  • Organize social integrations
  • Add clipboard app for clipboard snapshots
  • Handle non-interactive migrations
  • Skip unnecessary requirement installs during debug reload
  • feat(awg): add three-column layout with results table
  • feat(nodes): merge nginx templates into nodes
  • Add CRM app and move Odoo integration
  • Rename qrcodes app to references with usage tracking
  • ep
  • Add configurable badge colors for sites and nodes
  • feat(ocpp): expose simulator landing page
  • Add admin interface for PyPI release configuration
  • Merge subscriptions into accounts module
  • Auto migrations
  • feat(ocpp): add advanced simulator features
  • feat: add Bluesky integration
  • feat(awg): unify calculator with site layout
  • feat: require purge before deleting charger
  • feat: open navbar dropdowns on hover
  • fix: auto create migrations in debug
  • Run dev maintenance tasks in debug
  • feat: add full awg calculator
  • test: verify automatic URL inclusion
  • Add AWG calculator landing page
  • Add todos app with comment import
  • Fix RFID inline admin field
  • Remove legacy mailer app
  • Rename Nginx configurations to NGINX templates
  • Auto migrations
  • Add VS Code task to update requirements
  • feat: improve nginx config admin UX
  • fix: drop existing RFID table before recreating
  • feat(admin): simplify RFID assignment
  • Integrate django-post-office for email queue
  • Display site and node badges in admin
  • feat: add nginx configuration management
  • Add migration for account-linked RFIDs
  • Add offline mode decorator
  • Accept optional ocpp1.6 subprotocol
  • Display energy stats and status on charger page
  • style: make footer sticky
  • merge
  • Add QR code generator landing page
  • ocpp simulator controls
  • Add stable nav links via context processor
  • Add footer app with link decorator
  • Add footer app with link decorator
  • Add Bootstrap JS for navbar dropdown
  • merge models
  • Fix migrations to preserve RFID model
  • Fix charger log view rendering
  • Always show navbar with login link
  • fix sitemap duplicates
  • Remove landing decorators from charger views
  • Document automatic dev tasks
  • Add login page with staff redirect
  • release: add package and credentials models
  • Add login page with staff redirect
  • Add dashboard landing and landing check
  • skip dynamic routes in sitemap
  • Improve admin index layout
  • Add landing view support for navbar
  • Improve navigation bar styling and cleanup
  • Add loadenv support and envs directory
  • mig
  • Move RFID model under auth app
  • feat(website): add navigation bar and sitemap
  • feat(website): add navigation bar and sitemap
  • Simplify Account string representation
  • Add AWG reference app
  • Improve charger labels and QR code
  • Add Address model and link to User
  • Fix QR code tag to render correctly
  • Add contact details to User
  • Ensure common abbreviations use uppercase
  • Parse meter values
  • Customize Django admin title
  • Move user admin under auth section
  • Add mailer app with email queue
  • Add release app for PyPI publishing
  • Print admin URL at startup
  • Rename project branding to Arthexis Constellation
  • Add active app logging
  • Use custom runserver from readme app
  • Serve ASGI app for all runserver commands
  • Use Daphne runserver for WebSockets
  • Add missing initial migration for odoo app
  • Add install and upgrade scripts
  • Add admin interface for Odoo instances
  • Add charger status view with admin link
  • Ignore additional log files
  • Accept chargers at any path and record URL
  • Add rotating file logger
  • Add service account flag and balance authorization
  • merge db
  • Add location fields with map selection
  • Align simulator defaults with local CSMS
  • Link subscriptions to accounts
  • Show websocket URLs at server startup
  • Add admin interface for credit adjustments
  • Add Spanish translation
  • Add charger log views and admin links
  • merge db
  • Fix simulator start without running event loop
  • Rename qr_links app to qrcodes and add charger landing pages
  • Add credit tracking model and account transaction link
  • Add dark mode toggle
  • merge db
  • Add simulator model with admin controls
  • Add admin CSV export with django-import-export
  • Add Odoo integration app
  • Add optional phone number field to user
  • Rename RFID blacklist to allowed and add CSV management commands
  • Enable autoreload in dev
  • Replace UID with RFID field
  • Add Bootstrap styling for readme website
  • Add WebSocket charge point simulator
  • merge db
  • Add vehicles linked to accounts
  • merge
  • Add RFID model and support multiple tags
  • merge
  • Create readme and website apps with site routing
  • Add RFID enforcement option for chargers
  • ocpp: record last heartbeat and metervalues
  • Add account model for tracking energy credits
  • Add Charger model and auto registration
  • Persist OCPP transactions
  • Remove OCPP refs from base README and update app docs
  • Improve README builder
  • split README and add build command
  • Document RFID blacklist
  • Add qr_links app with QR code generation
  • Add admin action to register current node
  • Add subscriptions app
  • Add RFID authentication support
  • Add nodes app with simple API
  • Add PostgreSQL support
  • launch
  • Add websocket support using Django Channels
  • Add VS Code launch configurations
  • Initialize Django project
  • Initial commit
You're all caught up.