Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 17 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,36 @@
All notable changes to AmbientCT will be documented in this file.
Format follows [Keep a Changelog](https://keepachangelog.com/).

## [1.0.0.0] - 2026-03-23
## [1.0.0] - 2026-03-23

Initial public release β€” open-source DICOM viewer for dental and medical practices.

### Added
- **Orthanc PACS Server** with DICOMweb, C-STORE (DIMSE), and WADO support
- **OHIF Viewer v3.9.2** with Cornerstone3D for 3D volume rendering and MPR
- **Dental Window/Level presets**: Bone, Soft Tissue, Dental Implant, Mandibular Canal, Airway, Full Range
- **Dental hotkeys**: `L` (Length), `A` (Angle), `E` (Elliptical ROI)
- **Dental Window/Level presets**: Bone, Soft Tissue, Dental Implant, Mandibular Canal, Airway, Full Range, Enamel/Dentin, Root Canal, Periapical, TMJ
- **Dental hanging protocols**: CBCT β†’ MPR 3-panel, OPG β†’ single 2D, Intraoral β†’ 2Γ—2 grid
- **Dental hotkeys**: measurement tools (`L`/`A`/`E`/`B`/`N`), navigation (`Z`/`P`/`W`/`S`/`C`), viewport controls (`R`/`H`/`V`/`I`), W/L preset switching (`1`–`6`)
- **Docker Compose deployment** β€” one-command setup on Mac, Linux, Windows
- **Setup wizard** (`scripts/setup.sh`) with Docker validation, `.env` generation, image pull
- **Smoke test suite** (`scripts/smoke-test.sh`) covering containers, REST API, DICOMweb, DICOM upload, OHIF
- **Backup script** (`scripts/backup.sh`) for Docker volume snapshots
- **DICOM import** (`scripts/import-dicom.sh`) with drag-and-drop, bulk, and CLI import
- **Setup wizard** (`scripts/setup.sh`) β€” interactive wizard with `--help`, `--non-interactive` for CI, secure password generation
- **Smoke test suite** (`scripts/smoke-test.sh`) β€” 14 checks: containers, REST API, DICOMweb, DIMSE, OHIF, DICOM upload, volumes; `--verbose` flag
- **Backup & restore** (`scripts/backup.sh`) β€” `--output-dir`, `--keep`, `--restore`, `--list` flags; configurable retention
- **Bulk DICOM import** (`scripts/import-dicom.sh`) β€” `--recursive`, `--dry-run`, progress tracking, `.env` credential loading
- **DSGVO log scrubbing** (`scripts/scrub.py`) to remove patient data from logs
- **GitHub Actions CI** β€” lint, smoke tests, and Docker Compose validation
- **GitHub Actions CI** β€” lint, smoke tests, Docker Compose validation
- **GitHub Pages landing page** at `landing/`
- **Automated GitHub Release** workflow triggered by version tags
- **Comprehensive documentation**: Architecture, Setup Guide, Troubleshooting, Conventions

### Changed
- **docker-compose.yml**: credentials now sourced from `.env` instead of hardcoded (security fix)
- **docker-compose.yml**: ports configurable via `ORTHANC_HTTP_PORT`, `ORTHANC_DICOM_PORT`, `VIEWER_PORT` env vars
### Infrastructure
- All `docker-compose.yml` values configurable via `.env` (ports, resources, versions, logging)
- Viewer healthcheck (`curl localhost:80`)
- JSON log driver with configurable rotation (`LOG_MAX_SIZE`, `LOG_MAX_FILE`)
- Commented-out Nginx reverse proxy template for production SSL
- OHIF config mounted as `app-config.js` into viewer container

### Security
- Removed hardcoded Orthanc credentials from `docker-compose.yml`
- All secrets managed via `.env` file (gitignored)
- No hardcoded credentials β€” all secrets via `.env` file (gitignored)
- Orthanc Basic Auth enabled by default
- Ports bound to `127.0.0.1` (localhost only)
- No `network_mode: host` β€” containers are network-isolated
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.0.0
1.0.0
Loading