Changed version

This commit is contained in:
maziggy
2026-02-05 18:26:20 +01:00
parent 4d94286e53
commit 9ceefc19bc
2 changed files with 44 additions and 2 deletions
+43 -1
View File
@@ -3,7 +3,24 @@
All notable changes to Bambuddy will be documented in this file.
## [0.1.8b] - Not released
## [0.1.8] - Not released
### Security
- **XML External Entity (XXE) Prevention**:
- Replaced `xml.etree.ElementTree` with `defusedxml` across all 3MF parsing code
- Prevents XXE attacks through malicious 3MF files
- Detected by Bandit B314 security scanner
- **Path Injection Vulnerabilities Fixed**:
- Added path traversal validation to project attachment endpoints
- Strengthened filename sanitization in timelapse processing
- Prevents directory traversal attacks via `../` sequences
- Detected by CodeQL security scanner
- **Security Scanning in CI/CD**:
- Added Bandit (Python security analyzer) with SARIF upload to GitHub Security
- Added Trivy (container/IaC scanner) for Docker image and Dockerfile analysis
- Added pip-audit and npm-audit for dependency vulnerability scanning
- Automatic GitHub issue creation for detected vulnerabilities
- Security scan results visible in GitHub Security tab
### Enhanced
- **3D Model Viewer Improvements** (PR #262):
@@ -53,6 +70,31 @@ All notable changes to Bambuddy will be documented in this file.
- Previously used `find()` which always returned the first match regardless of color
- Fixed in both backend (print_scheduler.py) and frontend (useFilamentMapping.ts)
- Resolves wrong tray selection (e.g., A4 instead of B1) when multiple AMS units have same filament type
- **A1/A1 Mini FTP Upload Failures** (Issue #271):
- Fixed FTP uploads hanging/timing out on A1 and A1 Mini printers
- Replaced `storbinary()` with manual chunked transfer using `transfercmd()`
- A1's FTP server has issues with Python's `storbinary()` waiting for completion response
- Uses 1MB chunks with explicit 120s socket timeout for reliable transfers
- Works for all printer models (X1C, P1S, P1P, A1, A1 Mini)
- **P1S/P1P FTP Upload Failures**:
- Fixed FTP uploads failing with EOFError on P1S and P1P printers
- These printers use vsFTPd which requires SSL session reuse on data channel
- Removed P1S/P1P from skip-session-reuse list (they were incorrectly added)
- **FTP Auto-Detection for A1 Printers**:
- Automatically detects working FTP mode (prot_p vs prot_c) for A1/A1 Mini
- Tries encrypted data channel first, falls back to clear if needed
- Caches working mode per printer IP to avoid repeated detection
- **Safari Camera Stream Failing**:
- Fixed camera streams not loading in Safari due to Service Worker error
- Safari has stricter Service Worker scope requirements
- **Queue Print Time for Multi-Plate Files** (PR #274):
- Fixed print time showing total for all plates instead of selected plate
- Now extracts per-plate print time from 3MF slice_info.config
- Contributed by MisterBeardy
- **Docker Permissions**:
- Added user directive to docker-compose.yml using PUID/PGID environment variables
- Allows container to run as host user, fixing permission issues with bind-mounted volumes
- Usage: `PUID=$(id -u) PGID=$(id -g) docker compose up -d`
### Added
- **Windows Portable Launcher** (contributed by nmori):
+1 -1
View File
@@ -5,7 +5,7 @@ from pathlib import Path
from pydantic_settings import BaseSettings
# Application version - single source of truth
APP_VERSION = "0.1.8b"
APP_VERSION = "0.1.8"
GITHUB_REPO = "maziggy/bambuddy"
# App directory - where the application is installed (for static files)