All notable changes to Dream Server will be documented in this file.
The format is based on Keep a Changelog.
- Native AMD Lemonade inference backend with NPU + ROCm + Vulkan acceleration
- LiteLLM model aliasing for AMD (friendly model names resolve to Lemonade internal IDs)
- AMD/Lemonade contract test suite (17 tests in
tests/contracts/test-amd-lemonade-contracts.sh) - Lemonade Docker image pinned to v10.0.0 with libatomic1 fix (
Dockerfile.amd) - Host-systemd service support in dashboard health checks (OpenCode no longer grayed out)
DREAM_MODE=lemonadefor AMD installs — routes all services through LiteLLM proxy- Bootstrap model aliasing — both tier and bootstrap model names resolve in LiteLLM
- NPU detection on Windows (Win32_PnPEntity) and Linux (sysfs/lspci)
- AMD backend upgraded from generic Vulkan llama-server to native Lemonade Server
- LiteLLM runs as default inference proxy on AMD installs
- Lemonade image pinned to v10.0.0 (no longer
:latest) - LiteLLM auth disabled for localhost-only AMD installs (all ports bind 127.0.0.1)
- OpenCode config always synced on reinstall (stale API keys and URLs updated)
- APE healthcheck replaced curl (missing in slim image) with python3 urllib
- Windows installer surfaces docker compose config errors on failure instead of just exit code
- Windows installer passes
--env-file .envto docker compose for reliable variable loading - Dashboard no longer grays out host-systemd services unreachable from Docker
.env.schema.jsonupdated forDREAM_MODE=lemonade,TARGET_API_KEY,LLM_BACKEND,LLM_API_BASE_PATH- Lemonade entrypoint uses absolute path (
/opt/lemonade/lemonade-server) - Service health endpoint override for Lemonade (
/api/v1/healthvs/health) - Perplexica, Privacy Shield, OpenClaw, Open WebUI API paths corrected for Lemonade (
/api/v1) - OpenCode config filename (
config.jsoncopy), LiteLLM routing, and small_model fallback
- AMD Strix Halo support with ROCm 7.2 and unified memory tiers (SH_LARGE, SH_COMPACT)
- NVIDIA ultra tier (NV_ULTRA) for 90GB+ multi-GPU configurations
- Qwen3 Coder Next (80B MoE) model support for high-memory systems
- Product landing page README with screenshots and YouTube demo
- Dashboard screenshots, installer GIF, and download sequence images
- Architecture Decision Record for Docker image tag pinning
- 55 pytest unit tests for dashboard-api (GPU, helpers, config, agent monitor, security)
- CI workflow for dashboard-api tests
- README rewritten as product landing page (feature highlights, comparison table, screenshots)
- CONTRIBUTING.md updated from legacy "Lighthouse AI" branding to "Dream Server"
- Repository About section updated with new description, website, and topics
- Timing attack vulnerability in privacy-shield API key comparison (now uses
secrets.compare_digest) HTTPBearer(auto_error=False)in privacy-shield silently passingNoneinstead of returning 401- Dependency version bounds added to privacy-shield and token-spy requirements.txt
- Documentation index (
docs/README.md) for navigating 30+ doc files .env.examplewith all required and optional variables documenteddocker-compose.override.ymlauto-include for custom service extensions- Real shell function tests for
resolve_tier_config()(replaces tautological Python tests) - Dry-run reporting for phases 06, 07, 09, 10, 12
Makefilewithlint,test,smoke,gatetargets- ShellCheck integration in CI
CHANGELOG.md,CODE_OF_CONDUCT.md, issue/PR templates
- Modular installer: 2591-line monolith split into 6 libraries + 13 phases
- All services now core in
docker-compose.base.yml(profiles removed) - Models switched from AWQ to GGUF Q4_K_M quantization
- Tier error message now auto-updates when new tiers are added
- Phase 12 (health) no longer crashes in dry-run mode
- n8n timezone default changed from
America/New_YorktoUTC - Stale variable names in INTEGRATION-GUIDE.md
- Embeddings port in INTEGRATION-GUIDE.md (9103 → 8090)
- Purged all stale
--profilereferences across codebase (12+ files) - Purged all stale
docker-compose.ymlreferences in docs - AWQ references in QUICKSTART.md updated to GGUF Q4_K_M
make lintno longer silently swallows errors- Makefile now uses
findto discover all .sh files instead of hardcoded globs
- Token Spy (service, docs, installer refs, systemd units, dashboard-api integration)
docker-compose.strix-halo.yml(deprecated, merged into base + amd overlay)- Tautological Python test suite (
test_installer.py) asyncpgdependency from dashboard-api (was only used by Token Spy)
Initial development release with modular installer architecture.