Update release notes for v4.2.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Aaron D. Lee
2026-01-09 22:16:34 -05:00
parent ea57bdf302
commit 6d88453b69
2 changed files with 37 additions and 29 deletions

View File

@@ -1,49 +1,57 @@
## Stegasoo v4.1.7 ## Stegasoo v4.2.0
### Mobile UI Polish ### Performance Optimizations
- **PIN Entry**: Shrunk digit boxes for 9-digit PIN support on mobile
- **Mode Selectors**: DCT/LSB buttons now use consistent button-group styling with icons
- **Navbar**: Left-aligned collapsed menu, shortened channel fingerprint display (`ABCD-••••-3456`)
- **Text Wrapping**: Fixed button text wrapping issues on narrow screens
### Docker Improvements Major performance improvements for Raspberry Pi and resource-constrained deployments.
- **Reorganized**: Docker files moved to `docker/` directory
- `docker/Dockerfile`
- `docker/Dockerfile.base`
- `docker/docker-compose.yml`
- **DCT Fix**: Added Reed-Solomon (`reedsolo`) to Docker images - fixes DCT decode failures
- **Quick Start**: New `docs/DOCKER_QUICKSTART.md` guide
```bash #### DCT Vectorization (~14x faster)
# Build and run - Batch DCT processing using `scipy.fft.dctn` with `axes=(1,2)`
docker build -f docker/Dockerfile.base -t stegasoo-base:latest . - Processes 500 blocks at once instead of one-by-one
docker-compose -f docker/docker-compose.yml up -d - Decode time reduced from ~2.6s to ~0.8s on 1MB images
```
### Raspberry Pi #### Memory Optimization (50% reduction)
- **First-Boot Wizard**: Can now load existing channel key (for joining team deployments) - Switched from `float64` to `float32` for all DCT operations
- **Project Cleanup**: Moved `pishrink.sh` to `rpi/tools/` - Peak RAM: 211 MB → 107 MB for encode, 104 MB → 52 MB for decode
- Critical for Pi 3/4 avoiding swap thrashing
### UI Copy #### Progress Callbacks for Decode
- Changed "Undetectable" to "Covertly Embedded" on encode page (more accurate) - `progress_file` parameter added to `decode()` and extraction functions
- UI can now show decode progress (phases: loading, extracting, decoding, complete)
- JSON format: `{"current": 80, "total": 100, "percent": 80.0, "phase": "decoding"}`
#### Async API Endpoints
- Encode/decode operations now run in thread pool via `asyncio.to_thread()`
- API server can handle concurrent requests without blocking
- Essential for multi-user Pi deployments
### Summary
| Metric | v4.1.7 | v4.2.0 | Improvement |
|--------|--------|--------|-------------|
| Decode (1MB) | ~2.6s | ~0.8s | **70% faster** |
| Peak RAM | 211 MB | 107 MB | **50% less** |
| Concurrent API | No | Yes | ✓ |
### Raspberry Pi Image ### Raspberry Pi Image
Download `stegasoo-rpi-4.1.7.img.zst.zip` from Releases. Download `stegasoo-rpi-4.2.0_final.img.zst` from Releases.
```bash ```bash
# Flash (auto-detects SD card) # Flash (auto-detects SD card)
sudo ./rpi/flash-image.sh stegasoo-rpi-4.1.7.img.zst.zip sudo ./rpi/flash-image.sh stegasoo-rpi-4.2.0_final.img.zst
# Or manual # Or manual
unzip -p stegasoo-rpi-4.1.7.img.zst.zip | zstdcat | sudo dd of=/dev/sdX bs=4M status=progress zstdcat stegasoo-rpi-4.2.0_final.img.zst | sudo dd of=/dev/sdX bs=4M status=progress
``` ```
Default login: `admin` / `stegasoo` Default login: `admin` / `stegasoo`
First boot runs the setup wizard for WiFi, HTTPS, and channel key configuration.
### Docker ### Docker
```bash ```bash
# Build and run
docker build -f docker/Dockerfile.base -t stegasoo-base:latest .
docker-compose -f docker/docker-compose.yml up -d
# Or individual services
docker-compose -f docker/docker-compose.yml up -d web # Web UI on :5000 docker-compose -f docker/docker-compose.yml up -d web # Web UI on :5000
docker-compose -f docker/docker-compose.yml up -d api # REST API on :8000 docker-compose -f docker/docker-compose.yml up -d api # REST API on :8000
``` ```

View File

@@ -7,7 +7,7 @@ Changes in v4.0.0:
- encode() and decode() now accept channel_key parameter - encode() and decode() now accept channel_key parameter
""" """
__version__ = "4.1.7" __version__ = "4.2.0"
# Core functionality # Core functionality
# Channel key management (v4.0.0) # Channel key management (v4.0.0)