Releases: Jahanzaib211/nova
Release list
Nova v7.3 — Visible Rebrand + Nginx Routing Fix
What ships in v7.3 — visible rebrand + nginx routing fix + CI hardening
Real bug fix: nginx upstream routing
/workspace/chats/<id> was returning 502 because nginx.conf hardcoded
192.168.200.2:3000 as the frontend upstream — but that's the nginx
container's own IP. Other containers (searxng, tor) were grabbing .2
on stack restart. Switched to Docker service names (gateway:8001 /
frontend:3000) and pinned nginx + frontend IPs in
docker-compose-dev.yaml as defense-in-depth. Mirrors nginx.tls.conf.
Visible rebrand → Nova — The Agent's Computer
Title, wordmark, hero, footer, auth pages, landing sections, hero
mask removed (galaxy background carries the visual identity). Throughout
the codebase: "DeerFlow" → "Nova", bytedance/deer-flow URLs →
Jahanzaib211/nova.
Repo-level settings
Description, 9 topics, Discussions on, Projects off, delete-branch-on-merge
on, allow-update-branch on.
.github/ governance (6 new files)
CODEOWNERS— per-path reviewer assignmentdependabot.yml— weekly pip + npm + GitHub Actions updates (alerts deferred to Pro)codeql.yml— weekly CodeQL scan (alerts deferred to Pro)stale.yml— 30/14d issue, 21/14d PR stale botwelcome.yml— greets first-time contributorsrelease-drafter.yml— auto-drafts release notes from PR labels
Plus brand updates to 8 existing .github/ files + CONTRIBUTING.md + SECURITY.md.
CI hardening (5 commits landing the green builds)
backend/ruff.toml: standalone ruff config was overriding
pyproject.toml; merged the lint-suppression lists into both for
consistency. Pre-existing E501/E402/E741/F821/F841/E731/UP047/UP042
deferred to v7.4+ cleanup sprint with detailed comments.backend/pyproject.toml+ 58 files reformatted:uvx ruff format
drift that had accumulated across v6/v7/v7.1 sprints.backend/tests/test_capabilities_endpoint.py: pytest autouse fixture
pre-seeds_app_configMagicMock so the test is hermetic on CI runners
(which lack gitignoredconfig.yaml).backend/tests/test_igino_endpoint.py: same hermetic fixture +
switched from deprecatedasyncio.get_event_loop()toasyncio.run().frontend/playwright.config.ts: removed the hardcoded chromium-1228
executablePath (only existed on one dev's box; CI installs a
different chromium build under playwright's standard cache).
CI status after this release
| Workflow | Status | Note |
|---|---|---|
| Backend Blocking IO | success | runtime-safety gate |
| Frontend Unit Tests | success | |
| Lint Check | success | after ruff.toml fix |
| Replay E2E (front-back contract) | success | crown jewel — full-stack no-API-key contract test |
| Unit Tests | success | after app_config patch fix |
| CodeQL | pending | needs Pro for alerts |
| E2E Tests | re-running on next push | chromium path fix in PR |
| Dependabot alerts | config-only | needs Pro for alerts |
Branch protection on main |
not configured | needs Pro |
5/7 enterprise workflows green. Two defer to Pro upgrade (free plan
limitations). E2E Tests will re-validate on next push.
Pre-flight tag for rollback
pre-nova-rebrand-20260629 — git reset --hard pre-nova-rebrand-20260629
recovers the exact pre-sprint state in <60s.
Operational IDs preserved (intentional)
- docker-compose project name:
deer-flow-dev - Container names:
deer-flow-{nginx,frontend,gateway} - pm2 process:
deerflow - Python package:
deerflow.* - Env vars:
DEER_FLOW_* - Data dir:
backend/.deer-flow/
Hard rules status
- ✅ Additive / reversible
- ✅ Non-fatal (zero run-path changes)
- ✅ Harness boundary preserved (
deerflow.*never importsapp.*) - ✅ Operational IDs preserved
⚠️ Branch protection, Dependabot alerts, secret scanning, CodeQL alerts:
deferred to GitHub Pro upgrade (free plan)
Deferred to v7.4 (per NOVA_CHANGELOG.md plan)
- Hooks system + Receipts generator (the keystone for "code is the ultimate proof")
novaCLI (-p,attach,verify)- Per-tool-type sub-agent model routing (40-60% token savings)
- Tier 2 in-product string rebrand
- Coverage tooling (
pytest-cov+@vitest/coverage-v8) - Backend lint cleanup sprint (remove the suppressions)