forked from FrederikBaerentsen/BrickTracker
Add a changelog
This commit is contained in:
parent
982a1fa8db
commit
3d878ea7c5
196
CHANGELOG.md
Normal file
196
CHANGELOG.md
Normal file
@ -0,0 +1,196 @@
|
||||
# Changelog
|
||||
|
||||
## 1.1.0: Deduped sets, custom checkboxes and database upgrade
|
||||
|
||||
### Database
|
||||
|
||||
- Sets
|
||||
- Deduplicating rebrickable sets (unique) and bricktracker sets (can be n bricktracker sets for one rebrickable set)
|
||||
|
||||
### Docs
|
||||
|
||||
- Removed extra `<br>` to accomodate Gitea Markdown
|
||||
- Add an organized DOCS.md documentation page
|
||||
- Database upgrade/migration
|
||||
- Checkboxes
|
||||
|
||||
### Code
|
||||
|
||||
- Admin
|
||||
- Split the views before admin because an unmanageable monster view
|
||||
|
||||
- Checkboxes
|
||||
- Customizable checkboxes for set (amount and names, displayed on the grid or not)
|
||||
- Replaced the 3 original routes to update the status with a generic route to accomodate any custom status
|
||||
|
||||
- Instructions
|
||||
- Base instructions on RebrickableSet (the generic one) rather than BrickSet (the specific one)
|
||||
- Refine set number detection in file name by making sure each first items is an integer
|
||||
|
||||
- Python
|
||||
- Make stricter function definition with no "arg_or_keyword" parameters
|
||||
|
||||
- Records
|
||||
- Consolidate the select() -> not None or Exception -> ingest() process duplicated in every child class
|
||||
|
||||
- SQL
|
||||
- Forward-only migration mechanism
|
||||
- Check for database too far in version
|
||||
- Inject the database version in the file when downloading it
|
||||
- Quote all indentifiers as best practice
|
||||
- Allow insert query to be overriden
|
||||
- Allow insert query to force not being deferred even if not committed
|
||||
- Allow select query to push context in BrickRecord and BrickRecordList
|
||||
- Make SQL record counters failsafe as they are used in the admin and it should always work
|
||||
- Remove BrickSQL.initialize() as it is replaced by upgrade()
|
||||
|
||||
- Sets
|
||||
- Now that it is deduplicated, adding the same set more than once will not pull it fully from the Rebrickable API (minifigures and parts)
|
||||
- Make RebrickableSet extend BrickRecord since it is now an item in database
|
||||
- Make BrickSet extend RebrickableSet now that RebrickableSet is a proper database item
|
||||
|
||||
### UI
|
||||
|
||||
- Checkboxes
|
||||
- Possibility to hide the checkbox in the grid ("Sets") but sill have all them in the set details
|
||||
- Management
|
||||
|
||||
- Database
|
||||
- Migration tool
|
||||
|
||||
- Javascript
|
||||
- Generic BrickChanger class to handle quick modification through a JSON request with a visual feedback indicator
|
||||
- Simplify the way javascript scripts are loaded and instantiated
|
||||
|
||||
- Set grid
|
||||
- Filter by checkboxes and NOT checkboxes
|
||||
|
||||
- Tables
|
||||
- Fix table search looking inside links pills
|
||||
|
||||
- Wishlist
|
||||
- Add Rebrickable link badge for sets (@matthew)
|
||||
|
||||
## 1.0.0: New Year revamp
|
||||
|
||||
### Code
|
||||
|
||||
- Authentication
|
||||
- Basic authentication mechanism with ONE password to protect admin and writes
|
||||
- CSV
|
||||
- Remove dependencies to numpy and panda for simpler built-in csv
|
||||
- Code
|
||||
- Refactored the Python code
|
||||
- Modularity (more functions, splitting files)
|
||||
- Type hinting whenever possible
|
||||
- Flake8 linter
|
||||
- Retained most of the original behaviour (with its quirks)
|
||||
- Colors
|
||||
- Remove dependency on color.csv
|
||||
- Configuration
|
||||
- Moved all the hard-coded parameters into configuration variables
|
||||
- Most of the variables are configuration through environment variables
|
||||
- Force instruction, sets, etc path to be relative to static
|
||||
- Docker
|
||||
- Added an entrypoint to grab PORT / HOST from the environment if set
|
||||
- Remove the need to seed the container with files (*.csv, nil files)
|
||||
- Flask
|
||||
- Fix improper socketio.run(app.run()) call which lead to hard crash on ^C
|
||||
- Make use of url_for to create URLs
|
||||
- Use blueprints to implement routes
|
||||
- Move views into their own files
|
||||
- Split GET and POST methods into two different routes for clarity
|
||||
- Images
|
||||
- Add an option to use remote images from the Rebrickable CDN rather than downloading everything locally
|
||||
- Handle nil.png and nil_mf.jpg as true images in /static/sets/ so that they are downloaded whenever necessary when importing a se with missing images
|
||||
- Instructions
|
||||
- Scan the files once for the whole app, and re-use the data
|
||||
- Refresh the instructions from the admin
|
||||
- More lenient set number detection
|
||||
- Update when uploading a new one
|
||||
- Basic file management
|
||||
- Logs
|
||||
- Added log lines for change actions (add, check, missing, delete) so that the server is not silent when DEBUG=false
|
||||
- Minifigures
|
||||
- Added a variable to control default ordering
|
||||
- Part(s)
|
||||
- Added a variable to control default ordering of listing
|
||||
- Retired sets
|
||||
- Open the themes once for the whole app, and re-use the data
|
||||
- Do not hard fail if themes.csv is missing, simply display the IDs
|
||||
- Light management: resync, download
|
||||
- Set(s)
|
||||
- Reworked the set checkboxes with a dedicated route per status
|
||||
- Switch from homemade ID generator to proven UUID4 for sets ID
|
||||
- Does not interfere with previously created sets
|
||||
- Do not rely on sets.csv to check if the set exists
|
||||
- When adding, commit the set to database only once everything has been processed
|
||||
- Added a bulk add page
|
||||
- Keep spare parts when importing
|
||||
- Added a variable to control default ordering of listing
|
||||
- Socket
|
||||
- Make use of socket.io rooms to avoid broadcasting messages to all clients
|
||||
- SQLite
|
||||
- Do not hard fail if the database is not present or not initialized
|
||||
- Open the database once for the context, and re-use the connection
|
||||
- Move queries to .sql files and load them as Jinja templates
|
||||
- Use named arguments rather than sets for SQLite queries
|
||||
- Allow execute() to be deferred to the commit() call to avoid locking the database for long period while importing (locked while downloading images)
|
||||
- Themes
|
||||
- Open the themes once for the whole app, and re-use the data
|
||||
- Do not hard fail if themes.csv is missing, simply display the IDs
|
||||
- Light management: resync, download
|
||||
|
||||
### UI
|
||||
|
||||
- Admin
|
||||
- Initialize the database from the web interface
|
||||
- Reset the database
|
||||
- Delete the database
|
||||
- Download the database
|
||||
- Import the database
|
||||
- Display the configuration variables
|
||||
- Many things
|
||||
- Accordions
|
||||
- Added a flag to make the accordion items independent
|
||||
- Branding:
|
||||
- Add a brick as a logo (CC0 image from: https://iconduck.com/icons/71631/brick)
|
||||
- Global
|
||||
- Redesign of the whole app
|
||||
- Sticky menu bar on top of the page
|
||||
- Execution time and SQL stats for fun
|
||||
- Libraries
|
||||
- Switch from Bulma to Bootstrap, arbitrarily :D
|
||||
- Use of baguettebox for images (https://github.com/feimosi/baguetteBox.js)
|
||||
- Use of tinysort to sort and filter the grid (https://github.com/Sjeiti/TinySort)
|
||||
- Use of sortable for set card tables (https://github.com/tofsjonas/sortable)
|
||||
- Use of simple-datatables for big tables (https://github.com/fiduswriter/simple-datatables)
|
||||
- Minifigures
|
||||
- Added a detail view for a minifigure
|
||||
- Display which sets are using a minifigure
|
||||
- Display which sets are missing a minifigure
|
||||
- Parts
|
||||
- Added a detail view for a part
|
||||
- Display which sets are using a part
|
||||
- Display which sets are missing a part
|
||||
- Templates
|
||||
- Use a common base template
|
||||
- Use HTML fragments/macros for repeted or parametrics items
|
||||
- a 404 page for wrong URLs
|
||||
- an error page for expected error messages
|
||||
- an exception page for unexpected error messages
|
||||
- Set add
|
||||
- Two-tiered (with override) import where you see what you will import before importing it
|
||||
- Add a visual indicator that the socket is connected
|
||||
- Set card
|
||||
- Badges to display info like theme, year, parts, etc
|
||||
- Set image on top of the card, filling the space
|
||||
- Trick to have a blurry background image fill the void in the card
|
||||
- Save missing parts on input change rather than by clicking
|
||||
- Visual feedback of success
|
||||
- Parts and minifigure in accordions
|
||||
- Instructions file list
|
||||
- Set grid
|
||||
- 4-2-1 card distribution depending on screen size
|
||||
- Display the index with no set added, rather than redirecting
|
||||
- Keep last sort in a cookie, and trigger it on page load (can be cleared)
|
Loading…
Reference in New Issue
Block a user