-
released this
2025-12-20 21:47:26 +01:00 | 0 commits to master since this releaseWarning
Breaking ChangesVersion 1.3 introduces breaking changes to the default data folder structure and minifigures path.
Migration Required for Existing Installations:
- All user data now consolidated into single
data/folder for easier backup and Docker volume mapping - Default minifigures folder changed from
minifigstominifigures - Configuration file can now be stored in
data/.env(recommended) or.env(backward compatible)
See Migration Guide for detailed upgrade instructions.
New Functionality
- Database Integrity Check and Cleanup
- Added database integrity scanner to detect orphaned records and foreign key violations
- New "Check Database Integrity" button in admin panel scans for issues
- Detects orphaned sets, parts, and parts with missing set references
- Warning prompts users to backup database before cleanup
- Cleanup removes all orphaned records in one operation
- Detailed scan results show affected records with counts and descriptions
- Database Optimization
- Added "Optimize Database" button to re-create performance indexes
- Safe to run after database imports or restores
- Re-creates all indexes from migration #19 using
CREATE INDEX IF NOT EXISTS - Runs
ANALYZEto rebuild query statistics - Runs
PRAGMA optimizefor additional query plan optimization - Helpful after importing backup databases that may lack performance optimizations
Bug Fixes
- Fixed foreign key constraint errors during set imports: Resolved
FOREIGN KEY constraint failederrors when importing sets with parts and minifigures- Fixed insertion order in
bricktracker/part.py: Parent records (rebrickable_parts) now inserted before child records (bricktracker_parts) - Fixed insertion order in
bricktracker/minifigure.py: Parent records (rebrickable_minifigures) now inserted before child records (bricktracker_minifigures) - Ensures foreign key references are valid when SQLite checks constraints
- Fixed insertion order in
- Fixed set metadata updates: Owner, status, and tag checkboxes now properly persist changes on set details page
- Fixed
update_set_state()method to commit database transactions (was using deferred execution without commit) - All metadata updates (owner, status, tags, storage, purchase info) now work consistently
- Fixed
- Fixed nil image downloads: Placeholder images for parts and minifigures without images now download correctly
- Removed early returns that prevented nil image downloads
- Nil images now properly saved to configured folders (e.g.,
/app/data/parts/nil.jpg)
- Fixed error logging for missing files: File not found errors now show actual configured folder paths instead of just URL paths
- Added detailed logging showing both file path and configured folder for easier debugging
- Fixed minifigure filters in client-side pagination mode: Owner and other filters now work correctly when server-side pagination is disabled
- Aligned filter behavior with parts page (applies filters server-side, then loads filtered data for client-side search)
Update using
latesttag:If your
compose.yamlcontainsimage: gitea.baerentsen.space/frederikbaerentsen/bricktracker:latest, update with:# Pull the new version docker compose pull # Restart the container with the new image docker compose down docker compose up -dUpdate using version-tag:
If your
compose.yamlspecifies a version likeimage: gitea.baerentsen.space/frederikbaerentsen/bricktracker:1.3:Edit your
compose.yamland change the version to1.3.1:image: gitea.baerentsen.space/frederikbaerentsen/bricktracker:1.3.1# Pull the new version docker compose pull # Restart the container with the new image docker compose down docker compose up -dDownloads
- All user data now consolidated into single