Repository navigation
Releases
v2.3.3
Vehicle and set pages now show related items in a tidy grid, and tall photos are no longer cut off.
⚡ Improvements
- Related items wrap into a grid: "More from…", "Linked sets" and "Linked vehicles" now fill rows instead of scrolling sideways (two columns on phones).
- View all: "More from…" links to the series page when the series has more than 12 other vehicles.
🐛 Fixes
- Tall photos show in full: portrait photos, such as carded blisters, were cut off at the bottom of the vehicle and set page header. They now fit whole and centred.
v2.3.2
This release keeps the Docker container healthy and stops it from piling up leftover processes.
🐛 Fixes
- Fixed the container showing as unhealthy (for example in Portainer) even though the app was running fine. On slower hosts like a Raspberry Pi, the built-in health check could take longer than its time limit, so every check failed. It now has more time to answer, and new containers get a longer grace period at startup.
- Fixed thousands of leftover
<defunct>(zombie) processes building up inside the container over time. The container now runs a small init process (tini) that cleans them up automatically, so you no longer needinit: truein your Compose file.
🏗️ Infrastructure
- The container now switches to its unprivileged user with
setprivinstead ofsu. Any command arguments you pass to the container are now passed through exactly as given.
📝 Good to Know
- Pull the new image and recreate the container to apply the fix. Recreating it also clears out any leftover processes from before.
- If your Compose file already has
init: true, you can keep it or remove it. Both work.
v2.3.1
A quick fix for 2.3.0: the app could stall right after updating while it made photo thumbnails, and now it doesn't.
⚡ Improvements
- Feedback on every click: a thin progress bar runs across the top while a page loads for the first time. Once the first screen is up, the other pages load in the background, so later clicks open right away.
- Lighter compression: responses use a lighter gzip setting. Files are nearly as small and the server, such as a Raspberry Pi, uses far less CPU.
🐛 Bug Fixes
- No more stall after updating: 2.3.0 made thumbnails when a page first asked for them, so the first vehicle list could start over a hundred at once and hold up every other request. Thumbnails are now made when a photo is saved. Photos from before, or restored from a backup, get theirs one at a time in the background, and show the full photo until then.
- Offline photo cache: the app no longer caches a full photo that stands in for a thumbnail not made yet.
📝 Tests
- Thumbnail tests updated: one is made when a photo is saved, and a missing one is filled in by the background job.
v2.3.0
A speed-focused release: lists load with far fewer queries, photos come as thumbnails, and the app downloads less on every visit.
⚡ Improvements
- Faster vehicle list: tags and linked sets now load in one query each instead of one per vehicle (232 → 4 queries for 115 vehicles). The Overview's Recently added row also needs fewer queries.
- Photo thumbnails: cards, list rows, strips, the gallery, series covers and form previews now show a 480px thumbnail. Each one is made the first time it's needed and then kept. Detail pages still show the full photo.
- Compression and caching: responses are gzipped. App files and photos are cached by the browser for up to a year, and the app page itself always checks for updates.
- Smaller first load: most pages now load only when you open them. React, MUI and the data libraries are downloaded separately, so an app update doesn't download them again.
- Fewer requests: sidebar counts come from the Overview summary, the top-bar search loads its lists only when you first click into it, and loaded data is reused for 5 minutes. Any change you make still refreshes what it affects right away.
- Offline photo cache: the service worker now caches photos as intended, up to 1000 of them.
🐛 Bug Fixes
- The service worker's photo cache rule never matched, so photos weren't cached for offline use. It now works.
- Deleting a photo also deletes its thumbnail, and Danger Zone's "Remove unused photo files" also clears thumbnails with no photo.
📝 Tests
- New tests for cache headers, gzip, a fixed query count on the vehicle list, and thumbnails. 231 backend tests (94% coverage) and 137 frontend tests pass.
v2.2.2
This release gives the top-bar search a more balanced place in the layout.
⚡ Improvements
- The search box in the top bar is now centred and a little wider (up to 520px), so it's easier to find and fits longer searches.
v2.2.1
This release puts the Owned and Wishlisted badges everywhere items appear and makes the Overview rows easier to browse.
⚡ Improvements
- The pink heart and green check badges introduced on cards in v2.2.0 now also show on the Overview's Recently added and Wishlist rows, on a vehicle's More from and Linked sets rows, and on a set's Linked vehicles row.
- The main photo on vehicle and set pages shows the same badge.
- The badge replaces the green border that owned items used to have in these rows, and More from tiles no longer add "Wishlisted" to their subtitle.
- The Overview's Recently added and Wishlist rows now page with < and > buttons beside their titles instead of a scrollbar, snapping neatly to each tile.
🌍 Translations
- The new scroll buttons' labels are translated into English, Spanish, French and Portuguese.
v2.2.0
This release lets you arrange your Overview, adds backups that include your photos, and brings a Danger Zone for clearing or resetting data.
✨ New: Customizable Overview
A Customize button on the Overview lets you choose which sections appear and in what order. The layout is saved on your account, so every browser uses it.
- Reorder Summary tiles, Quick add, Recently added, Wishlist and Needs attention by dragging or with the arrow buttons.
- Show or hide any section, or go back to the default layout with Reset to default.
✨ New: Backups With Photos
Settings → Data can now export your whole collection together with its uploaded photos.
- Export as With photos (.zip) (the default) or Data only (.json).
- One restore button takes either file. A safety snapshot of your current collection is saved first, and the message after restoring says how many photos came back.
- Large backups download as a stream, so big photo libraries don't strain the server.
✨ New: Danger Zone
A Danger Zone at the end of Settings → General handles bulk clean-up.
- Clear all notes, tags or purchase prices.
- Remove unused lookups, or photo files nothing uses any more.
- Reset vehicles, reset sets, or reset everything. Resets ask you to type RESET and save a safety snapshot first, so you can restore what you had.
- Your account, settings, share link and saved backups are never touched.
⚡ Improvements
- Cards now show a pink heart when an item is wishlisted and a green check when it's owned. Owned cars now show their check too.
- The quantity is now a plain number on a small pill at the bottom left, shown when you have more than one.
- The status pills on vehicle and set pages use the same check and heart, in green and pink.
🌍 Translations
- All new text is translated into English, Spanish, French and Portuguese.
📚 Documentation
- The README's feature list now covers the customizable Overview, backups with photos and the Danger Zone.
📝 Good to Know
- CSV export has been removed. Use the .zip or .json backup instead.
- A database migration runs automatically on startup to store the Overview layout.
v2.1.0
Your currency choice now follows you to every browser, share links stay off until you turn them on, and sign-in is harder to probe.
⚡ Improvements
- The currency you pick in Settings is now saved on your account, so every browser and device uses it. A currency you'd already chosen in one browser is copied to your account the first time you sign in there.
- Share links are off until you turn them on in Settings → Share with Turn on sharing. The new Turn off sharing button stops the links straight away, and the public pages show "not found". Turning sharing on again creates new links; the old ones never work again.
🐛 Fixes
- Fixed sign-in timing revealing which usernames exist: unknown usernames now take as long to check as wrong passwords.
- Fixed passwords longer than 72 bytes being accepted when anything past the 72nd byte was ignored. Setting up the admin account and changing your password now refuse them.
- Fixed data you'd viewed staying in the browser's offline cache after you signed out or your session expired. The cache is now cleared.
🌍 Translations
- The new sharing on/off text is available in English, Spanish, French, and Portuguese.
🏗️ Infrastructure
- A database migration adds the account currency. It runs automatically on startup.
- Updated a build-only dependency (serialize-javascript) to fix a security advisory.
📚 Documentation
- The README now has screenshots.
📝 Good to Know
- If you upgrade with sharing already on, your current links keep working. New installs start with sharing off.
- A
JWT_SECRET_KEYshorter than 32 characters now logs a warning at startup. The app still runs. To replace the key, generate a new one withpython -c "import secrets; print(secrets.token_hex(32))". Changing it signs everyone out.
v2.0.1
A polish release: the A–Z jump rail now always fits the window, and notifications match the redesign.
⚡ Improvements
- Notifications have the redesign's look: a flat card with a thin border, a coloured bar and icon for each type (success, error, warning, info), a slim progress line and a small close button.
- Notifications now appear at the bottom right instead of the top right, newest on top, with at most 4 on screen. On phones they span the full width at the bottom of the screen.
🐛 Fixes
- Fixed the A–Z jump rail on Vehicles and Sets running past the bottom of the window. It's more compact now, and on shorter windows the letters shrink so the whole rail stays visible, both at the top of the page and while scrolling.
🏗️ Infrastructure
- Frontend tests no longer send requests to a dev API running locally. Any request a test hasn't mocked fails as if the server were unreachable, so results are the same whether or not a dev server is running.
v2.0.0
DieCastCollectionTracker 2.0 is a full redesign: a cleaner, more compact app built around your photos, with new vehicle and set pages, an Overview home, and stronger security.
✨ New: A Fresh New Look
The whole app has a new compact, photo-first design in light, dark and high-contrast themes.
- A sidebar groups everything into Collection, Insights and System, shows how many vehicles and sets you have, and lists a section's sub-pages under it while you're there. On phones and small tablets it opens from the menu button.
- A search box in the header jumps straight to any vehicle, set, series or manufacturer. Press
/to focus it from anywhere, press Enter to filter Vehicles, or choose Search the wiki to add something new. - Every page has breadcrumbs and a toolbar of actions that stays at the top as you scroll.
- Vehicles and Sets have three views: Photos (with a card-size slider and an A–Z jump rail when sorted by name), Table and Overview. Your view and card size are remembered.
- Cards put the photo first, shown whole, with the name and one line of details. Wishlisted items get a badge, and items without a photo show an icon.
✨ New: Vehicle and Set Pages
Each vehicle and set now has its own page, opened from its card, the header search or anywhere else it appears.
- A large photo with the key facts at a glance: status, condition, toy and collection numbers, color, type, wiki link and tags.
- Details, notes and photos, plus more vehicles from the same series, the vehicles included in a set, and linked sets and vehicles.
- Edit, Match to wiki or Re-match to wiki, and Delete right from the toolbar.
✨ New: Overview
Overview is the new home page, replacing the Dashboard.
- Headline numbers for your collection, quick buttons to add a vehicle or set, what you added recently, and a preview of your wishlist.
- Needs attention shows vehicles missing a photo, a wiki match, a condition or a toy number. Click one to see exactly those vehicles.
✨ New: Rename and Merge Lookups
Settings → Lookups now shows how many vehicles and sets use each manufacturer, series, vehicle type, color and tag, and marks the ones that come from the wiki.
- Rename fixes a typo everywhere at once. Tags can also get a chip color.
- Merge folds duplicates like "Hotwheels" and "Hot Wheels" into one, moving every vehicle and set across.
- Entries that come from the wiki can't be renamed, so the next re-match doesn't bring the old name back. Buttons that aren't available explain why.
✨ New: Change Password
Change your password from Settings → Account. Your other browsers and devices are signed out, and the one you're using stays signed in.
⚡ Improvements
- Insights adds breakdowns by status, condition, wiki vs custom, year, top series and manufacturers, vehicle type and set type.
- Series and Manufacturers get the same toolbar as Vehicles, with search, card or table view, card size, sorting and filters. Series cards use one of their vehicles' photos as the cover.
- Sets can now be matched or re-matched to the wiki, like vehicles. The set's details are filled in for you to check, any of its vehicles already in your collection are linked, and the wiki photo can be added to the gallery.
- Repeated failed sign-in attempts are now blocked for 15 minutes, both at login and when changing your password.
- If a stolen sign-in token is reused, every session for that account is signed out.
- The app now sends standard security headers that protect against clickjacking and content injection.
- Restoring a backup is now limited to 50 MB files.
- Table rows can be opened and selected with the keyboard.
🐛 Fixes
- Fixed Back after re-matching a vehicle returning to the edit page with the match dialog open again.
- Fixed Back after adding a vehicle, set or multi-pack reopening the filled-in form, which made it easy to add a duplicate.
- Fixed Back bouncing between pages in the add flow, and returning to a deleted item's page.
- Fixed remembered filters hiding items when opening Vehicles from the Overview or the header search.
- Fixed share-link searches matching your private notes. Visitors now only search names and other public details.
- Fixed
%and_in searches being treated as wildcards. - Fixed the A–Z rail sometimes jumping to the wrong row.
🌍 Translations
- Everything new is translated into Spanish, French and Portuguese.
🏗️ Infrastructure
- Updated the image library to Pillow 13, along with axios and other packages, to close known security issues.
📝 Good to Know
- The database updates itself the first time v2.0.0 starts. Take a backup from Settings → Data first, as with any major update.
- Signing in is now limited to 5 failed attempts per 15 minutes from each address. If you use a reverse proxy, set it up to pass the visitor's real address, as described in the README, or a few wrong passwords from anyone will lock everyone out for a while.
- The interactive API docs (
/docs) are now only available in development mode. - Old
/collectionlinks now open the Overview.