mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-19 15:54:27 +02:00
Changed version
This commit is contained in:
+43
-1
@@ -3,7 +3,24 @@
|
|||||||
All notable changes to Bambuddy will be documented in this file.
|
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
|
### Enhanced
|
||||||
- **3D Model Viewer Improvements** (PR #262):
|
- **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
|
- Previously used `find()` which always returned the first match regardless of color
|
||||||
- Fixed in both backend (print_scheduler.py) and frontend (useFilamentMapping.ts)
|
- 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
|
- 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
|
### Added
|
||||||
- **Windows Portable Launcher** (contributed by nmori):
|
- **Windows Portable Launcher** (contributed by nmori):
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from pathlib import Path
|
|||||||
from pydantic_settings import BaseSettings
|
from pydantic_settings import BaseSettings
|
||||||
|
|
||||||
# Application version - single source of truth
|
# Application version - single source of truth
|
||||||
APP_VERSION = "0.1.8b"
|
APP_VERSION = "0.1.8"
|
||||||
GITHUB_REPO = "maziggy/bambuddy"
|
GITHUB_REPO = "maziggy/bambuddy"
|
||||||
|
|
||||||
# App directory - where the application is installed (for static files)
|
# App directory - where the application is installed (for static files)
|
||||||
|
|||||||
Reference in New Issue
Block a user