🎮 KitGames · Changelog
/changelog. For every Kit app at once, see the KitHub changelog.v2.15.2 October 2026
- Undo and redo: Ctrl+Z (⌘Z) undoes, Ctrl+Shift+Z or Ctrl+Y redoes; deleting something offers Undo on its note too (it comes back from Recently deleted). In a text box the usual undo still works.
v2.15.1 October 2026
- Behind the scenes: answers from Steam and IGDB are read with a size limit.
- Behind the scenes: a small safety fix when reading Steam matches.
v2.15 October 2026
- Release days of games on your want list appear on your KitPlan calendar.
v2.14 October 2026
Share a list, or your whole library to look through, with someone else signed in.
- 👥 Share with… on a list (to see, or to change its notes and order), and ⋯ → Share my library with…. Shared with me… opens what others share with you.
- Someone invited has lists of their own, and sees none of the household’s. Exports are the household’s for now.
v2.13 October 2026
Someone invited by the admin has a library of their own.
- They see only their own library, and you only yours and each other's. "Also in …'s library" only ever names the two of you.
v2.12 October 2026
With KitHub's sign-in, you change only your own library.
- You can still see your partner's library, and copy a game from it into yours; changing or removing theirs is refused.
- Adding a game offers your own library only.
v2.11.2 October 2026
- On a phone, swipe left or right on an open record to go to the next or previous one, as ← → do on a computer.
v2.11.1 October 2026
- Fixed: the 10% larger record on a phone, from the last release, broke the layout there. A phone shows a record at its usual size again; a computer keeps the 20%.
v2.11 October 2026
Your reviews, at a glance.
- 📝 beside the stars on a game you have written a review of.
- Filter by My review: Written, or Not written.
- On a phone, an open record now reads 10% larger too (20% on a computer since the last release).
v2.10 October 2026
Easier to read on a big screen.
- On a computer, an open record reads 20% larger: its text, buttons and pictures, and nothing else on the page. A phone is unchanged.
v2.9 October 2026
Lists, like KitTunes’ and KitFlicks’.
- 📋 Lists by the switches: ranked or not, a note on each game, section headers, drag or number to reorder.
- 📋 Add to list on every game, and from Select for several at once.
- Share a list by a link that shows just that list, read only, with one person’s status and stars.
v2.8 September 2026
- Recently deleted: games you delete waits 14 days in KitHub’s new Recently deleted tab, with its photos, notes and places in lists, and Put back returns it where it was.
- One theme everywhere: with it switched on in KitHub, this app follows KitHub’s theme, unless you choose one of its own here.
v2.7 September 2026
- Rating a game and saying yes to “Mark as Played?” no longer fills in today as the played date. The date is yours to set.
v2.6.3 September 2026
- The sort you chose is kept after a reload: the library, finder and Steam sorts, on each device. A search for upcoming games still sorts by popularity, as nothing is rated yet.
KitGames v2.6.2 September 2026
🧭 Find: games you might like, from IGDB, by what you pick.
- 🧭 Find, between the person toggle and + Add, opens a finder. Pick tags (how you play, genre, style and mechanics, mood and look, theme, or any tag IGDB has): tap once to want, twice to avoid, and choose whether a game needs all of them or any. Add games you want more of, or your favourites in one tap. Narrow by platform (yours are marked), when it came out (or is coming), length, score and popularity, from popular hits to hidden gems.
- Every result says how well it matches and why (“Like Hades · Roguelike”), with its length and score, and whether the other person has it. Games already in your library are left out unless you ask.
- On each result: + Want adds it to Want to play, ≈ finds more like it, ✕ hides it for good (with Undo). Tap it for the full record. Sort the results, or 🎲 Surprise me.
- Quick starts: For you, Couch co-op night, Play together online, Short & great, Hidden gems, Coming soon, and Tonight, from the backlog, which asks the same questions of your own Want to play and On hold.
- Saved ▾ keeps searches for both of you, and lists what you marked Not interested. The finder reopens as you left it on each device. In Both it finds games for the two of you.
- 🧭 More like this on every game opens the finder with that game as the starting point.
- Not interested marks and saved searches are in Export JSON and come back with Import.
- Fixed: + Add on a similar game inside a preview opened its dialog behind the preview. The arrow keys no longer jump to the first game from a record opened outside the list, and Escape closes a preview before the dialog under it.
KitGames v2.6.1 September 2026
- Links from KitDB open here. Tapping a game linked in a KitDB note opens this app on it, switching to the library that has it.
KitGames v2.6 September 2026
- ? Help at the bottom of the menu the name opens: what every part of KitGames does, on a phone and on a computer, with what is new at the top.
- A new home-screen icon, drawn to match its dock button, and a complete app manifest, so installing it gives it a window and an icon of its own — including in Vivaldi on Linux.
- The version beside the name now always matches this page. It said v2.3 while the app was v2.5.
KitGames v2.5 September 2026
- One Played date instead of Started and Finished. Marking a game Played still fills it in with today.
- My notes is now My review, and sits between Genre and Tags.
- The CSV export writes
reviewandplayed_at; importing still accepts the old column names.
KitGames v2.4 September 2026
- Previews. Tap a search result for the full record — covers, screenshots, trailer, scores, similar games — before deciding to add it. Add still adds straight away.
- Similar games open in KitGames — the record if it is in the library, a preview if not — instead of on Steam. Each has a + Add button.
KitGames v2.3.2 September 2026
- The + Add button under a recommendation works for titles with an apostrophe in them. It used to break on one, and a title written to break it on purpose could have run its own code in the page.
KitGames v2.3.1 September 2026
- The rain animation no longer throws when a browser hands back no 2D canvas context. It used to take the theme menu down with it; now it simply declines to run, which is the right outcome for decoration.
KitGames v2.3 September 2026
Moved into KitHub. Same app, same database, now reachable two ways.
Where it lives
- KitGames now runs inside the KitHub process instead of its own service. The database is the same file, adopted unchanged.
- Still at its own address with its own password, exactly as before.
- Also reachable from the KitHub home page, where one password covers every app.
Shared with the other apps
- Ethan and Serengeti are now a KitHub-wide list. Renaming someone in KitHub settings updates KitGames too.
- Share links moved to KitHub's registry. Existing links keep working and are still revocable and regenerable from the same dialog.
- A ‘ KitHub button appears in the header when you arrive through the hub.
Changes & fixes
- The Steam and IGDB keys moved to KitHub's env file as
KITHUB_GAMES_*.config - The install-to-home-screen manifest now points at the right address whichever way you opened the app.fix
- No built-in fallback password any more; it has to be set explicitly.security
v2.2September 2026
Public share links, plus a handful of fixes.
Sharing
- Share link (⋯ → Share link…). Creates a link for whichever library is selected (
/s/<random token>). Anyone with it can browse that library read-only, no login: grid and list views, search, filters and sorts, and the full game detail including notes, owned-on, dates, Steam hours, links, screenshots and trailer. Nothing can be changed from it, and the other person's library, status and rating are not visible through it. - Disable link revokes it instantly (visitors see "This share link is no longer active"); Regenerate issues a new one. Each library has its own link. Share pages are marked
noindex.
Changes & fixes
- Similar games link to the game's Steam store page (cover and title). Games added before this update fall back to a Steam search for the title until their data is next refreshed.
- Both view: each person's status and rating is on its own line on the card, so they no longer run together.fix The redundant top badge is dropped in that view.
- Every scrollbar in the app — page, dialogs, dropdowns, screenshot and similar-games strips — now uses the theme colour.
v2.1September 2026
Polish pass on the game detail view after living with v2 for a bit.
Detail view
- The other person's status and rating now sit directly under your own status and rating, instead of below the dates.
- Owned on no longer uses a text box in the view. The platform pills under the title are the control: tap PC, Switch, etc. to mark that you own it there (highlighted in the theme colour with a ✓), tap again to unmark. A small line underneath summarises. The + pill adds a platform IGDB doesn't list on that game (Steam Deck, Game Pass…). The full edit form keeps a typed field for lists.
- Started / Finished are compact
+ Started/+ Finishedlinks until set. Tapping opens a small inline row (Month · Day · Year · Save · Clear). Dates can be a full date, a month and year, or just a year, shown as "14 Feb 2025", "Nov 2024" or "2024". The edit form's date fields accept the same shapes typed in (2023-7and2023/07both normalise). - Arrow keys reliably step between games.fix Previously, focus left in the search box or on the status dropdown swallowed the keys, and arrows on a focused status dropdown could silently change the status. The dropdown now drops focus after a change, and only a control inside the open game captures keys.
- Escape steps back sensibly: out of a field → close the date row → close the game.
Housekeeping
- Hidden
/changelogpage (this one).
v2September 2026
The big one: Steam import, the Both view, personal tracking fields, stats, bulk actions, and a long list of smaller things. Still one small binary; the database upgrades itself on first start.
Steam
- Steam library picker (⋯ → Steam library…). Link each person's Steam profile once by pasting a profile URL or vanity name. The picker lists their whole Steam library with a name filter, a filter dropdown (Not in library · All · Already in library · Matched on IGDB · Not on IGDB · Played · Never played), sorting (Name · Most played · Least played · Recently played), 25/50/100 per page with paging, Select page / Select all matching / Clear, and per-library checkboxes for who gets the games.
- Two statuses on add: one for games with hours (default Played), one for games at 0 h (default Want to play).
- Games are matched to IGDB by Steam app ID via IGDB's external-games table — exact matches, no title guessing. Games IGDB doesn't know are added with Steam's own name and portrait cover art (remote URL, nothing stored) and tagged "Steam only".
- The Steam library is cached in the database so the picker opens instantly; it refreshes itself when the cache is over a day old, and the Refresh from Steam button forces it. Unlink is one click.
- Steam hours per person on every linked game, shown in the detail view and list view, sortable ("Steam hours"), exported to CSV, refreshed whenever that person's library syncs, and applied to games you'd already added by search.
- Needs a Steam Web API key in
/etc/kitgames.envasKITGAMES_STEAM_KEY, and the Steam profile's Game details privacy set to Public.
For the two of you
- Both on the library toggle: games you both have, with each person's status and rating on the card. Opening one shows your entry with the other person's line included.
- The other person's status and rating appear inside any shared game.
- Sharing filter chips: Both have it · Only me (not the other person) · 🎮 Play together (any co-op / multiplayer / split-screen tag).
Personal tracking
- Owned on — which platforms you have a game on, separate from IGDB's list of every platform it shipped on. Filterable with include/exclude chips; autocomplete from the game's platforms.
- Started and Finished dates on each entry, editable without opening the full edit form.
- Rating a Want-to-play game asks whether to mark it Played, and stamps today as Finished if you say yes.
- Stats (⋯ menu): counts per status, backlog hours (Main Story time sitting in Want to play, plus how many have no estimate), estimated hours played, average rating, finished this year, shared count, Steam totals, genre / owned-on / series breakdowns and finished-by-year.
Library
- List view (☷) alongside the cover grid — small cover, title, year · genre, playtime, Steam hours, status, rating. Remembered per device.
- 🎲 Random pick from Want to play, respecting the current filters (falls back to everything shown).
- ☑ Bulk select: tap cards to select, then set a status, add them to the other person's library, or remove them, from a bar along the bottom. Select all shown is one tap.
- New filters: Playtime buckets (Under 10h · 10–30h · 30h+ · Unknown), Owned on, Series dropdown.
- New sorts: Recently updated, Series (then release date), Steam hours, Recently finished.
- Search matches series and owned-on text too.
/focuses the search box from anywhere.
Game detail
- Series from IGDB's collection/franchise data, shown as a pill; tap it to filter the library to that series.
- Links: official site, Steam, GOG, Epic, itch.io where IGDB has them.
- Similar games strip from IGDB, each with a one-tap Add (reuses the add dialog with the game pre-chosen); already-owned ones are marked.
- Per-field ↺ reset next to anything you've edited (genre, tags, and a list in the footer for title/cover/summary), instead of only reset-everything.
- ←/→ arrow keys and on-screen arrows step to the previous/next game in the current list.
- Steam hours line, and "On Steam, not played yet" for linked-but-unplayed games.
Adding games
- Search has an Include DLC, expansions & bundles checkbox; results show a type tag (DLC, Expansion, Remaster…). Main games only is still the default.
Data & maintenance
- Refresh stale data (⋯ menu): re-pulls IGDB data for every game not fetched in 90+ days, in the background, paced under the rate limit, with a progress toast. Your edits are kept, as with the single-game refresh.
- IGDB fetches are batched (200 games per request) so a Steam import of hundreds of games takes a handful of calls.
- Handles IGDB's 2025 field rename (
category→external_game_source/ websitetype) with automatic fallback. - CSV export/import gained: owned_on, started_at, finished_at, steam_hours, series, steam_appid, updated_at. v1 CSVs still import.
- Database migration is automatic and additive: new columns on
games(series, similar, links, steam_appid) andentries(owned_on, started_at, finished_at, steam_minutes, updated_at), plussettingsandsteam_cachetables. Nothing existing is touched. The nightly SQLite backup covers all of it without changes. - Fixed: stacked dialogs (quick-add or Steam picker opened over a game) now sit on top and Escape closes the top one first.fix
- Header fits on one line on phones down to 360px (title collapses to the icon).fix
v1.2September 2026
Home-screen and browser-tab polish.
- 🎮 emoji favicon (SVG, no file to host).
- PNG icons for Add to Home Screen on iOS and Android (apple-touch-icon, 192 and 512 px) on the purple theme colour, and a web manifest served with the right content type.
- Standalone-app meta tags so it opens without browser chrome when pinned to a phone home screen.
v1.1September 2026
First round of feedback after using v1.
- Cozy Purple is the default theme.
- Screenshot lightbox: tap a screenshot for a full-size view, with ‹ › arrows, arrow keys, Esc, swipe on touch, and a counter.
- Longest first sort (by Main Story time) next to Shortest first.
- Thin themed scrollbar on the screenshot strip.
- Inline notes editing from the detail view, without opening the full edit form.
v1September 2026
First release. A video-game sibling of KitBooks: single Go binary, SQLite, one HTML file, same look.
Core
- Two libraries — Ethan's and Serengeti's — behind one shared password. A game can be in one or both; each person has their own status, rating, notes and edits.
- Statuses: Want to play · Playing · Played · On hold · Dropped. Half-star ratings 1–5.
- Game data from IGDB (via a free Twitch developer app): title, cover, release date, critic and player scores with counts, primary genre, tags (secondary genres, game modes, perspectives, themes), summary, platforms, developer, publisher, screenshots, trailer.
- Playtime from IGDB's time-to-beat data: Main story · Main + extras · Completionist, with report counts.
- Cover art, screenshots and trailers are never stored — the browser loads them from IGDB's CDN and YouTube. The database stays tiny.
Editing model
- One stock record per game shared by both of you; each person's edits to title, cover, genre, tags or summary are stored as overrides, so one person's changes never touch the other's copy.
- Refresh data re-pulls the stock record and keeps everyone's edits; overrides that now match stock quietly clear.
- Release date, developer, publisher, platforms, scores and playtimes are locked (facts about the game, not opinions).
- Manual add for games IGDB doesn't have.
- Add to the other person's library from the detail view; removing the last copy deletes the game.
Browsing
- Cover grid with status badges and ratings; search across title, genre, tags, platforms, developer, publisher and notes.
- Filter panel: status chips with counts; three-state include/exclude chips for genre, tags and platforms; developer, publisher and rated/unrated dropdowns; live filter count and one-tap clear.
- Sorts: Recently added, Title, Release newest/oldest, My rating, Critic score, Player score, Shortest first, First added.
- Detail view with cover, scores, playtime, read-more summary, genre/tag pills, notes, screenshot strip and YouTube trailer (privacy-enhanced embed).
Look & feel
- Six themes with light and dark variants: Cozy Purple, Warm Brown, Forest Green, Rainy Day (with an optional rain animation), Dusty Rose, Slate.
- Autocomplete for genres and tags from what's already in the library.
- Works well on phones; add dialog and detail view adapt to narrow screens.
Data & ops
- JSON export (full lossless backup) and CSV export; import of either. CSV import re-fetches stock data from IGDB per row so your edits attribute correctly.
- Runs as a systemd service under www-data, config in
/etc/kitgames.env, behind the existing Cloudflare Tunnel at games.serengeticloset.com.update.shrebuilds and restarts. - Nightly SQLite snapshot to Google Drive via rclone with 90-day retention.