Changelog
Every release, newest first. Each entry lists the version, build number, and what changed.
v2.7.0 (260917209)
2026-09-18 03:54 UTC
- (#448) Selecting products to share now has a Select all — it reaches the whole series, not only the part you have scrolled past.
v2.7.0 (260917197)
2026-09-18 02:42 UTC
- Following is now a stream of everything new from what you follow, not just posts: new products and new series show up too, and when several arrive from the same brand, IP or series at once they come as one card instead of filling the tab.
- Every item says why it is there — because you follow that person, brand, IP or series. Something that reaches you two ways is still shown once, named after whichever you followed most directly.
- A dot on the Following tab when there is something new; it clears once you have seen the top of the stream. Content that has since been taken down never lights it.
- Lists that came back short no longer stop early: a page whose rows were all filtered out used to leave a list looking finished, or empty and spinning. Every list in the app now keeps going until the server says there is no more.
- (#458) A share poster now takes up to 60 products, and each one's rarity is drawn as a badge on the picture instead of a line of text.
- (#458) Rarity on My Wants now reads the same name as the product lists and catalogue search do — the same product used to show its raw code on one screen and its proper name on the next.
v2.7.0 (260917185)
2026-09-18 01:30 UTC
- (#452) A series page now filters its products by Want, alongside the ones you already have.
- (#447) Every picture you can open now takes a pinch to zoom — the post viewer had never had it, only the product one did.
v2.7.0 (260917163)
2026-09-17 23:18 UTC
- A product page now has Photos and Posts as two tabs, with the full gallery behind them; sharing a photo can publish it as a post in the same step.
- Tapping a photo opens it full-screen, where you can report it, or delete your own.
- Liking, unliking and following now say what state you want rather than flipping, so a fast double tap can no longer leave the button and the count disagreeing.
- Posts I Like, Brands I Follow, IPs I Follow and Series I Follow — the four lists on your profile now read the same way.
v2.7.0 (260917152)
2026-09-17 22:12 UTC
- Following or unfollowing from a brand, IP or series page now updates everywhere else that shows it — the lists on your profile, the brand wall and the pages you came from — instead of leaving a stale state behind.
- The three lists on your profile are now called Brands I Follow, IPs I Follow and Series I Follow, and each carries the same symbol the app already uses for that kind of thing.
v2.7.0 (260917134)
2026-09-17 20:24 UTC
- Your profile now keeps three lists of what you follow — Brands, IPs and Series — each one tap away under Posts I Liked.
- Tap any row in those lists to open it, or unfollow right there. An unfollowed row stays put until you leave, so a mistap is one tap to undo.
v2.7.0 (260915083)
2026-09-15 15:18 UTC
- Discover now opens on a hand-picked Featured list — posts, collectibles, series, brands, IPs, people and announcements — with each picture shown at its own shape.
- Below Featured, the latest posts keep going, without repeating anything Featured already showed.
- A red dot on Discover (and on the Explore tab) tells you when a new Featured list is out; opening it clears the dot.
- Likes and follows on Featured cards stay in step with the post and profile pages, and undo themselves if the network fails.
v2.7.0 (260914188)
2026-09-15 01:48 UTC
- (#439) Sign in with Google, and on iPhone with Apple — two buttons at the top of the sign-in screen.
- (#440) The sign-in screen leads with Google and Apple. Signing in with a phone number or email is still there, one tap away under Phone or email.
- (#440) Agreeing to the Terms and Privacy Policy now happens in a short dialog when you sign in, instead of a checkbox you had to find first.
- (#439) A new Account & sign-in page under Settings lists every way you can sign in. Link or unlink Google and Apple there; the page explains when a method can't be removed.
- (#439) Deleting your account has moved to the bottom of Account & sign-in. For an account that signs in with Apple, deleting it also withdraws Toy Hub's access to your Apple ID.
- Tapping Send Code more than once sends one code, not several.
- The Terms and Privacy Policy line on the sign-in screen grows with your phone's text size.
- (#370) Rarity badges use the colour set for each tier, and every tier gets a badge.
- (#315) Only an expired sign-in signs you out now — a server error no longer does.
- (#334) The reply bar on a post reaches the bottom edge of the screen.
- What's New lists releases in the order they came out.
- The privacy policy in the app matches the one on toyhubapp.com: it now covers Google and Apple sign-in and your @handle.
v2.7.0 (260912157)
2026-09-12 22:42 UTC
- Changing your @handle now has its own screen. It checks whether a name is free as you type, shows how many changes you have left, and tells you the exact date and time you can change it again.
- You can now change your @handle twice within 14 days, instead of once every 30 days. After a change, your old @handle stays reserved for you for 14 days, so you can switch back.
- (#435) On Android 15, the status bar icons are visible again in the full-screen photo viewers.
v2.7.0 (260912138)
2026-09-12 20:48 UTC
- Every account now has an @handle — a unique name others can find you by. It shows under your name on your own profile and on everyone else's.
- Right after signing up you can pick your @handle, nickname and profile photo, or skip and do it later.
- Edit Profile now lets you change your @handle. The screen spells out the rules: 4–30 characters, starting with a letter, then letters, digits, dots and underscores. Each @handle belongs to one person, and you can change yours once every 30 days.
- (#404) Like counts on Explore cards now match the post itself after a refresh, instead of staying at the number from when the post was created.
v2.6.0 (260911165)
2026-09-11 23:30 UTC
- (#416) Toy Hub now needs iOS 15 or later. Nobody active in the last thirty days was on anything older — the oldest was iOS 17.6 — and from spring 2027 Apple stops accepting uploads built for less, which would have blocked every future release including a hotfix.
v2.6.0 (260911160)
2026-09-11 23:00 UTC
- (#433) Crash diagnostics keep the app's real memory readings when it moves to the background. Nothing on screen changes — it only makes the reports that come back from a crash worth reading.
v2.6.0 (260911157)
2026-09-11 22:42 UTC
- Nothing on screen changed in this build. It adds the counting behind the newer screens — search, Recently Added, and the brand and IP pages — which shipped without any way to tell whether people were using them.
v2.6.0 (260911140)
2026-09-11 21:00 UTC
- (#429) Brand covers fill their card on the Series tab — no more white strips down the sides. A brand whose mark is a wide wordmark now has its ends cropped; that trade was made on purpose.
- (#430) The same on a brand's own page: the mark fills its card. Brands with no mark yet keep the drawn placeholder, centred and unstretched.
- (#431) Brand and IP pages sit tighter: the gaps under the title bar, under a section heading, and above the filter rows are the ones the design draws, and both pages now use the same set.
- (#432) A series name under a Recently Added cover is one line now, cut with an ellipsis if it is long, and the gaps around the Posts heading match the rest of the page.
v2.6.0 (260911121)
2026-09-11 19:06 UTC
- Making a poster from several items in one series is back. Two builds ago it went away with the button that opened it — the button looks like a share icon but is the way into picking items, and only this screen can pick them by series. It is on the right of the Series details bar again.
- A brand's page no longer has a box to type in. It filtered only what had already loaded, and the design never had one.
v2.6.0 (260911117)
2026-09-11 18:42 UTC
- Following a brand, a series or an IP is now the same control everywhere: a heart that fills in, and the word Follow becoming Following. A series used to say Save, and a brand's and an IP's button carried no heart at all.
v2.6.0 (260911108)
2026-09-11 17:48 UTC
- Switching between All, Missing and Owned on a series now reloads just the list. The block above it — cover, year, count, Save — used to blink away and come back, and the filter buttons jumped position while you were still looking at them.
- A brand's mark is bigger and its IPs are smaller, both to the sizes the design draws: four IPs and the edge of a fifth now fit across the strip.
- Opening a collectible from a series no longer flies its photo across the screen.
v2.6.0 (260911100)
2026-09-11 17:00 UTC
- A brand's page now leads with its mark in a square card, with the name and Follow stacked beside it.
- The back arrow is the one your phone uses everywhere in the app — it no longer changes shape from screen to screen.
- Anything with no picture yet now shows a drawing of what it is: a shopfront for a brand, a character for an IP, a stack of boxes for a series, a blind box for a single item.
- A missing picture and a picture that failed to load no longer look the same. The home strip and a series' product grid were showing the broken-image mark for items that simply have no photo yet.
- The filter box on a brand's page now says what it does.
v2.6.0 (260911085)
2026-09-11 15:30 UTC
- A brand now has a page of its own: its logo and name, a Follow button, the IPs it works with, and everything it makes — series and one-off collectibles together in one grid you can narrow by category and by year.
- That grid's search box now matches one-off collectibles too, not just series.
- All IPs: tap View all beside a brand's IPs to see every one of them.
- A series page now opens with its cover, its release year and how many items it holds, with Save beside them, and the IP and brand it belongs to just below.
- The series page's title bar now says Series details; the series' own name sits in the block underneath, where a long one is no longer cut short.
- Picking several items from one series to make a poster is not available in this build. Posters from a single product, and from My Wishlist / My Collection, are unchanged.
v2.6.0 (260911081)
2026-09-11 15:06 UTC
- (#423) Series covers in Recently Added are rounded now, on the home strip and on View all alike.
- (#427) The placeholder in the search box sits centred, on the home screen and on the Series tab.
- (#428) Following no longer carries the Recently Added strip — that tab is for what you follow.
- The Series tab's search box moved up into the header, matching the home screen.
- (#376) Brand wall covers are square again.
- The search suggestion list has a close button, and fades at the bottom when there is more to scroll.
- The camera button in the search box no longer changes size while a photo search is running.
v2.6.0 (260910239)
2026-09-11 06:54 UTC
- Search moved to the top of the home screen — the same search you already had on the Series tab, magnifier and camera included.
- The search suggestion list is now sized to the space the keyboard leaves, so a taller third-party keyboard no longer covers it.
- Tapping away from the search box no longer throws away suggestions that had already arrived.
v2.6.0 (260910189)
2026-09-11 01:54 UTC
- (#422) The home screen opens with Recently Added — the newest series, newest first, with a View all page for the rest.
- A series added in the last seven days carries a NEW badge.
- Tap the heart on a card to save a whole series. A series saved here also shows as saved on the IP page and the series list, and saving one never moves it in the row.
- Pulling to refresh the home feed now refreshes Recently Added too, and it refreshes itself when you come back to the app.
v2.5.2 (260909228)
2026-09-10 05:48 UTC
- The Category and Year labels on an IP’s filter rows were blank in Chinese. They are back.
v2.5.2 (260909185)
2026-09-10 01:30 UTC
- The Secret Level badge is in the photograph’s top-right corner on a product page, the same corner the grid uses.
- View all on the Posts row now sits against the edge of the page rather than short of it.
v2.5.2 (260909182)
2026-09-10 01:12 UTC
- A collectible’s release year and category each read as one line now, label then value.
- A series page is the list of its collectibles — the brands, IPs and counts that sat above it are gone.
v2.5.2 (260909171)
2026-09-10 00:06 UTC
- The IP page follows the new design: the picture, name, follower count and Follow button sit together at the top, and brands are cards you can swipe through.
- Category and Year now sit on one line each and scroll sideways instead of wrapping.
- Years with nothing set are reachable: pick the last chip on the Year row to see entries with no release year.
- Tap the heart on a series to favourite it without leaving the grid. Collectibles you own say so in the same corner.
- Changing a filter no longer blanks the grid before the new results arrive.
- When filters match nothing, Reset filters clears both rows at once. A failed load now says so and offers a retry instead of looking empty.
v2.5.2 (260909154)
2026-09-09 22:24 UTC
- An IP’s page now lists its series and one-off collectibles together in a single grid, newest release year first, and within a year the ones more people have. Filter it by category or year.
- A one-off collectible now carries a category of its own, so the category filter reaches it too.
- Collectibles you already own are outlined in the IP page’s grid.
- (#94) You can follow an IP, and its page shows how many people do.
- Following and favouriting now survive a bad connection: repeating a request that timed out no longer undoes it.
v2.5.2 (260909004)
2026-09-09 07:24 UTC
- An IP’s page now shows its real brands, series and loose collectibles, from the server. They were placeholders in the last two builds.
v2.5.2 (260908234)
2026-09-09 06:24 UTC
- The IP and Brand marks on a product page now keep their own proportions — a square mark is drawn square, a wide wordmark wide — instead of sitting in a fixed box with empty space either side.
- An IP’s page now has its brands, its series and its loose collectibles, under the IP itself. The three lists are placeholders for now: the server has no way to answer them yet, and the page says so.
v2.5.2 (260908222)
2026-09-09 05:12 UTC
- Fixed the full list of posts about a collectible never loading — tapping “View all” sat on a loading placeholder for ever.
v2.5.2 (260908218)
2026-09-09 04:48 UTC
- Every list of posts now looks the same, wherever you reach it from — your own posts, somebody else’s, the ones you have liked, and the ones about a collectible. They were four different layouts for the same thing.
- The IP and Brand headings on a product page no longer look tappable. Swipe the row to see the rest of a group; the count beside the heading just says how many there are.
- The mark on an IP or Brand card is larger, so it reads as part of the card rather than something pinned to its corner.
v2.5.2 (260908206)
2026-09-09 03:36 UTC
- The product page follows the new design. Beside the photograph: the name, then the series, release year and category, each with its own label and a hairline between them, and both counts on one line underneath.
- A property the catalogue does not have is now left out rather than shown as a dash. Plenty of collectibles have no release year, and about half the series carry no category.
- IP and brand are cards under the picture, each with its mark. Tapping one opens it. Where there are several, the group scrolls sideways and the count beside the heading opens the full list.
- An IP now has a page of its own — its mark and its name, with the list of its products still to come.
- Community is now Posts, and shows the three most recent as square previews. “View all” opens the whole list, where posts can still be reported, opened, or deleted if they are yours.
v2.5.2 (260908191)
2026-09-09 02:06 UTC
- The product page has been rebuilt around the photograph. The tier badge now sits on the picture itself rather than in the text beside it, the IP, brand and series each get a line of their own with the heading shown once for the group, and a name too long for its line is shortened rather than pushed off it.
- Release year and category sit together below the block, each with a label and an icon. A bare number under a series name reads as a count as often as a year, and the two counts on the band below it are bare numbers too.
- The category is the one the collectible’s own series is in, and it appears for the first time — the server had no way to send it until now.
- Related Posts is now Community. Posts are newest first and keep loading as you scroll, each showing who wrote it and when, and tapping one opens it. You can report any of them and delete your own. Own and Want stay floating above the list wherever you have scrolled to.
- Posting about a collectible no longer asks you to pick one — you were standing on its page — and the composer opens with a line about it already written, which you are free to replace.
- Collector photos are no longer part of the app. Photos already published stay where they are; there is no longer a way to add new ones.
- The product page now makes one request where it made two, so it fills in sooner on a slow connection.
v2.5.2 (260908133)
2026-09-08 20:18 UTC
- A collectible nobody has photographed or written about yet asks for the first one on a line of its own, rather than showing an empty bordered square where a picture would go. The square was the largest thing in an empty section and the only one with nothing in it, so a page with no photos looked busier than a page with four.
- A product’s release year now says it is one — “Released 2025” instead of a bare number behind a calendar icon. The two counts at the foot of the same column are bare numbers as well, which is what made the year read as a third count.
v2.5.2 (260908124)
2026-09-08 19:24 UTC
- A collectible nobody has photographed or written about yet asks for the first one on a line of its own, rather than showing an empty bordered square where a picture would go. The square was the largest thing in an empty section and the only one with nothing in it, so a page with no photos looked busier than a page with four.
- A product’s release year now says it is one — “Released 2025” instead of a bare number behind a calendar icon. The two counts at the foot of the same column are bare numbers as well, which is what made the year read as a third count.
v2.5.2 (260908117)
2026-09-08 18:42 UTC
- (#395, #396, #398, #399) Signing in and registering are one screen now. Enter your phone or email and Toy Hub works out whether you already have an account, instead of asking you to guess which button you wanted. The form says what it needs before you press anything, the email domain list stays put while you pick from it, and Send Code works on every dial code.
- (#401) Following someone from their post now shows correctly on their profile. Tapping through to the author straight after following showed Follow again, as though it had not gone through — and tapping it a second time unfollowed them.
- A product page names every brand, IP and series a collectible belongs to, not just the first of each. A collaboration lists both companies, joined by ×, and each one opens its own page.
- The product page is two columns now — the photograph beside everything the page knows about the collectible, rather than one full-width picture with a caption under it. The Secret Level badge sits on the photograph itself, in the same corner the grid puts it in; the series shows its own cover; and the release year has a calendar icon so it is not read as a count.
- A collectible nobody has photographed or written about yet asks for the first one in words, instead of showing a lone + square.
- A series page’s header carries its brand with the brand’s logo, its IP, and how many items the series holds, and the filter row moved above the grid it filters.
- (#389) A profile’s received-likes count is no longer a button that goes nowhere, and the liked-posts tab is marked with a thumb rather than a heart — it collects what you gave a thumbs-up, not what you favourited.
- A page whose collectible has been taken down says so, instead of showing an empty page or a broken picture, and rows pointing at something that is gone drop out of the lists that carried them.
- Catalogue pictures are fitted rather than cropped throughout, so a wide box shot no longer loses its edges, and a brand or IP with no artwork leaves the same tidy blank everywhere instead of a different stand-in per screen.
v2.5.1 (260831091)
2026-08-31 16:06 UTC
- Toy Hub speaks ten languages. English, Simplified and Traditional Chinese, Japanese, Korean, French, German, Spanish, Brazilian Portuguese and Italian — pick one in Settings, or leave it to follow the phone. The choice travels with your account, so a new phone opens in the language you already chose, and rarity and category names come back translated from the catalogue rather than as codes.
- Add your own photos to a collection. Any product page takes pictures from the people who actually own the thing, shown in a row of their own under the Own and Want buttons and credited with the uploader’s avatar. Tap one to open it full screen; your own contributions are listed together on your profile, grouped by upload, and the app tells you if one has been taken off display.
- Block an account. From a post or from a profile, blocking stops that person’s posts and comments reaching you, unfollows them and turns off their notifications — the confirmation says all of that before you commit to it. Blocked accounts are listed in Settings and can be unblocked from there.
- Posting says what a post is about. A post can now name the collections and series it belongs to — search the catalogue, pick from grouped results with real thumbnails, and the post then shows up on those pages. The photo picker stays open while you choose, numbers what you picked, and says plainly when you have reached the limit.
- Reporting a post, a comment or a contributed photo now goes through a dedicated report channel instead of the general feedback form, so a report can be traced to exactly what it names.
- Plus a batch of fixes: twelve pages gained pull-to-refresh, a request that gets lost is retried once instead of leaving a blank screen, error messages say what the server actually said, product pictures are no longer cropped to fit a fixed frame, Settings is grouped so account deletion no longer sits next to Log Out, and the privacy policy and terms are read live from the site rather than from a copy baked into the app.
v2.5.0 (260829226)
2026-08-30 05:36 UTC
- The iOS build no longer includes the advertising part of the analytics library. Two frameworks for reading Apple’s advertising identifier were being bundled by default, even though the app has never shown an ad or read that identifier — the same thing the Android build stopped doing earlier in this version.
v2.5.0 (260829179)
2026-08-30 00:54 UTC
- A post now behaves like a sheet lying on top of the person who wrote it. Push it to the left and their page is already there underneath — loaded, complete, no animation and nothing sliding in. Pull from the left edge of their page to put the post back.
v2.5.0 (260829175)
2026-08-30 00:30 UTC
- Pull down to refresh works on every list now, not four of them. It also works when a list is empty — which is when you most want it.
- Dragging a post to the left now uncovers the author instead of pushing their page in from the other side, and the picture you were pulling toward flies into its place on that page rather than disappearing and popping back.
v2.5.0 (260829167)
2026-08-29 23:42 UTC
- Drag a post to the left to open the person who wrote it. The post follows your finger and their picture comes up behind it, so you can see where you are going and let go to change your mind. Swiping the photos still moves through the photos.
v2.5.0 (260829123)
2026-08-29 19:18 UTC
- Fixed: “Connection failed” showing on a phone that was online. A single dropped connection is now retried once on its own, and a screen that failed while you were on another tab tries again when you come back to it — so a momentary blip no longer needs you to notice it and tap Retry.
- When there really is no network, or the server really is down, it still says so and stops. The retry is one attempt, never a loop: a request the server answered is never repeated, and nothing you write — a post, a photo, a report — is ever sent twice.
v2.5.0 (260829117)
2026-08-29 18:42 UTC
- An item’s page now lists the posts about it — each one showing its first photo and who wrote it, under the collector photos. Tap one to read it.
- The heading over the items shown under a post is now “In this post” instead of “About”.
v2.5.0 (260829077)
2026-08-29 14:42 UTC
- Fixed: the report sheet had no send button. It could be opened, a reason picked, and then there was nothing to press but Cancel. Shipped in the previous build and reachable from every post, comment and collector photo.
- A post can say what it is about. When you write one, search for the figures and series it involves and pick as many as apply; they show as cards under the post, and each one taps through to that item’s page.
- Those cards also appear on posts that were made by sharing photos from an item’s page — the link was already being recorded, it just had nowhere to show.
- The item’s own page lists the posts about it, newest first.
v2.5.0 (260829067)
2026-08-29 13:42 UTC
- You can report a post, a comment, or somebody else’s collector photo. Reporting used to go into the same box as “report a problem” in Settings — free text, arriving with no way to tell which post it was about. Now you pick a reason, and the report reaches the people who review content, attached to the thing you reported.
- The reasons offered depend on what you are reporting: “harassment” makes sense about something written and not about a photo of a toy, so it is not offered there. Settings still has “Report a problem” for everything else — that one is for telling us the app went wrong, and it has not changed.
- Before your photos are added, you get to look at them: remove one you did not mean to pick, and choose whether to post about them at the same time. The post is off unless you turn it on, and the title and text are yours to edit.
v2.5.0 (260828153)
2026-08-28 22:18 UTC
- Fixed: the Collector Photos section was missing entirely on any item that had no contributed photos yet — which is most of them. It showed up on items that already had photos, and sometimes appeared on the others a moment later, so which ones looked broken depended on which request answered first.
v2.5.0 (260828143)
2026-08-28 21:18 UTC
- The picture on a product page is square and the full width of the screen, and the photo is fitted inside it instead of being cropped to fill it. Wide and tall shots kept losing their edges to a fixed portrait frame — on the page whose whole point is the picture.
- Collector photos have moved out of that strip into a row of their own, under the Own and Want buttons, so a stranger’s snapshot is no longer one swipe from the product’s own photograph. The row shows every photo at once, credited underneath, and scrolls sideways when there are more than four. Tapping one still opens it full screen, and swiping there goes through everything on the page as one sequence.
v2.5.0 (260828128)
2026-08-28 19:48 UTC
- Collector photos. Any product page now takes photos from the people who own the thing, shown in the same swipeable strip as the official pictures rather than tucked away below them. Tap the + on a picture to add up to nine of your own per item; each photo credits whoever added it, and tapping that credit opens their profile.
- Photos open full screen, swipe between them, pinch to zoom, and drag down to dismiss. Your own contributions can be deleted from there — permanently, and the slot does not come back, which the confirmation says plainly rather than after the fact.
- The controls over a photo are now readable on light pictures. White icons on a transparent bar disappeared entirely against a pale background, which meant the back and delete buttons were invisible on exactly the photos people upload most.
v2.5.0 (260827091)
2026-08-27 16:06 UTC
- The Android build no longer asks for the advertising ID. Three permissions for it were being added automatically by the analytics library, even though the app has never shown an ad or used that identifier for anything — they are now stripped out, so what the app installs matches what its privacy label says.
v2.5.0 (260827082)
2026-08-27 15:12 UTC
- (#371, #372, #374) When something goes wrong, the report the app sends back now says which problem it was, where you were, and how much it was holding at the time. Three faults were making those reports say the wrong thing: every kind of problem was being filed under one heading, a report could describe the moment the app started instead of the moment it stopped, and an app that was shut down while you were using it could be recorded as though it had been closed in the background. Nothing extra about you is collected — this is the same report, made accurate.
v2.5.0 (260826231)
2026-08-27 06:06 UTC
- A poster you share now carries the Toy Hub mark and “Collect. Track. Share.” where it used to just say the app’s name — the mark says the name, so the words can say what the app does. The single-item poster gained the same footer; it had been carrying the old wordmark on its own.
- The mark on that footer draws larger than it first did. At the original size the artwork read as a purple smudge rather than a logo.
v2.5.0 (260826190)
2026-08-27 02:00 UTC
- (#360) If the app is ever shut down by the system — the kind of stop that leaves nothing behind to report — the next launch now notices and files a report saying what was on screen and how much was being held. Nothing extra about you is collected.
- (#364) The app now reads the phone's own record of why it last stopped, so a shutdown caused by memory can be told apart from an ordinary one instead of being guessed at.
- (#363) Crashes that happen below the app's own code are now reported on Android, and reports on both platforms arrive readable rather than as raw addresses.
- (#358) When the phone says it is short of memory, the tabs you are not looking at give theirs back and reload when you return to them. The tab on screen is left exactly as it was.
- (#359) Leaving a screen now stops the requests it started, instead of letting them run on. Moving quickly between lists no longer piles up work in the background. Anything you asked for — a like, a delete, a report — still finishes.
- (#357) A small internal list of picture proportions no longer grows for as long as the app stays open.
v2.5.0 (260826158)
2026-08-26 22:48 UTC
- (#366) Fixed the memory leak behind the crashes people were hitting after moving back and forth between brand, series and product lists for a while. Every picture the app had ever shown was being held in memory for good, so the longer a session ran the closer it got to being killed by the system. Pictures are now released once they scroll away.
- (#354) Pictures are decoded at the size they are actually shown at, instead of at full resolution. Lists use far less memory and scroll on less capable phones without the app being cut short.
- (#368) Raised the picture cache to a size matched to what a phone can really spare, so scrolling back up shows pictures that are still there rather than fetching them again.
- (#355) The brand wall and search results now recycle as you scroll instead of building every row up front, so long lists open faster.
- (#356) Sharing a poster and picking an item out of a photo no longer hold on to memory after you leave the screen.
- (#361, #362) When the app does run out of memory, its report now says what it was holding and which screen you were on. Nothing extra about you is collected.
v2.5.0 (260826101)
2026-08-26 17:06 UTC
- (#352) A picture that fails to load is no longer reported as an app crash. It never was one for you — the app carried on and showed a placeholder — but it counted against the app's crash rate, which is the number used to decide whether something is wrong.
- (#353) When the server hands back an image reference the app has no way to fetch, the app now shows a placeholder instead of building an address that could only fail.
v2.5.0 (260826087)
2026-08-26 15:42 UTC
- (#351) The report box no longer shows the internal id of the post or comment being reported. It is still sent with the report — it just isn't something you have to read or keep.
v2.5.0 (260825213)
2026-08-26 04:18 UTC
- (#351) Posts and comments can now be reported. The report goes through the same Report a Problem form as Settings, with the post or comment it is about attached automatically, so a report can actually be traced to what it names.
- (#351) The … menu on a post now opens for everyone, not only its author, and holds Like, Delete and Report. Delete only appears on your own post.
v2.5.0 (260825186)
2026-08-26 01:36 UTC
- (#350) Long lists now keep loading as you scroll. Eight of them used to stop at their first page and give no sign of it — the brand wall showed 20 of 132 brands, a profile's Own, Want and Posts tabs showed ten items each, and comments on a busy post stopped at thirty. Everything past that point was unreachable, and a list that stops scrolling looks exactly like a list that has ended.
- (#350) A post now shows how many comments it really has, rather than how many are currently loaded.
v2.5.0 (260825146)
2026-08-25 21:36 UTC
- Each environment now has its own backend: api.toyhubapp.com for the App Store build, api.test.toyhubapp.com for the test build, devapi.toyhubapp.com for development. The test build no longer shares a server or a database with the live one, so testing can no longer touch real data.
- If you had switched the backend by hand in Settings and picked one of the addresses that has now been retired, this update moves you back to the one this build ships with. An address you typed yourself is left alone.
v2.5.0 (260825118)
2026-08-25 18:48 UTC
- (#347) Signing up now closes the sign-up screen and takes you straight in. It used to stay open with the form still filled in and no message, so a registration that had already succeeded looked like it had failed — and pressing Register again could only fail, because the verification code was already spent.
v2.5.0 (260824202)
2026-08-25 03:12 UTC
- (#345) Announcements now show the cover image set for them, full width on the announcement itself and as a small square beside each row in the list. The image was being stored and served all along; the app was dropping it, so no announcement has ever displayed one. Announcements without an image are unchanged — no placeholder, and no empty space where one would go.
v2.5.0 (260824188)
2026-08-25 01:48 UTC
- (#339) Loading a list now actually shows the placeholder blocks while it waits. They were being drawn zero pixels wide, so every screen that was fetching something looked simply empty — for as long as the wait lasted.
- (#342) Times on notifications and announcements now read “3d ago” like the rest of the app, instead of the raw timestamp the server stores. Those times were also being read in your phone’s timezone rather than the server’s, which put every one of them out by hours; they are correct now wherever you are.
- (#341) Tapping Own or Want again while the first tap is still saving now registers instead of being ignored. On a slow connection the button could sit unresponsive for several seconds; it answers every tap now, and the server is told once, at the end, what you settled on.
- (#344) The agreement checkbox has moved above the Log In and Sign Up buttons, and a verification code will no longer be sent until you have agreed. A code could previously go out to your phone or inbox before you had agreed to anything.
- (#343) Personal Info no longer shows an empty Phone Number box, with a note about it being verified, for accounts that were registered by email and have no number. The same applies to an empty email address.
- (#338) Picking the environment you are already on in the developer menu no longer signs you out and sends you back for a new code. Nothing was changing, but the whole cost of a switch was being paid anyway.
- (#340) The version line at the bottom of Settings now names the backend the app is really talking to, rather than the one it was built for. After switching backends it kept reporting the original, which is misleading in a bug report.
v2.5.0 (260824164)
2026-08-24 23:24 UTC
- (#337) Every request the app makes now identifies which build made it, including the ones that fetch images and check for updates. Those were going out unlabelled, so the server's logs could not tell them apart from an unknown client.
v2.5.0 (260824158)
2026-08-24 22:48 UTC
- (#336) Settings' developer menu now shows exactly which server this build talks to, spelled out rather than named, alongside the option to type your own. The lists of environments it used to offer are gone — several of them named servers a given build could not reach.
- (#336) Test builds now run against the new backend. Dev builds moved to the newer development server.
v2.5.0 (260824148)
2026-08-24 21:48 UTC
- (#335) Photos you upload are now recorded by where they are stored rather than by the address they happen to be served from today, so they keep working if that address ever changes. Avatars and post photos are also filed under their own kind instead of all landing in one bucket.
- The app now tells the server which build is asking, so a problem seen in the logs can be traced to a version.
v2.5.0 (260823182)
2026-08-24 01:12 UTC
- The build number in Settings now reads as a date. It used to be the year plus the day-of-year, so 262350020 meant August 23rd only if you did the arithmetic; it is year-month-day now, then a slot within the day.
- Dev and test installs are rebuilt from the same source, so both channels carry every fix listed above.
v2.5.0 (260823170)
2026-08-24 00:00 UTC
- (#329, #334) The like and comment controls in a post's reply bar sit against the right edge again, and the reply field gets the width that was being left empty beside them.
- (#330) The reply box no longer shows a character count. The 500-character limit still applies — it just isn't announced under a one-line field.
- (#331) Requests now identify the app, its version and build, the operating system and the device model. Nothing that identifies you: no advertising or device identifier is sent, and none should be added.
- Test and production builds now reach the backend at its own hostname. The previous one still works and stays selectable in the developer menu as a fallback.
v2.5.0 (260823131)
2026-08-23 20:06 UTC
- The Android app is 34 MB smaller to download. It was shipping machine code for emulator processors alongside the ones real phones and tablets use, and stores that code uncompressed, so a third of the download was never going to run on anybody's device.
v2.5.0 (262350020)
2026-08-23 00:20 UTC
- (#328) Series and product covers are portrait again. They had drifted into whatever shape the text below them left over — the series grid was drawing them wider than tall — which cropped the toy out of its own picture. Covers now keep their proper shape at every column count and every text size, and the names below them are no longer squeezed to make room.
- (#327) In the feed, the like button and its count now sit at the right edge of the card instead of stranded in the middle, and the poster's name gets the space that was going unused.
- Search, sharing, following, notifications and settings now report how they are used, so the parts of the app that were invisible in the numbers no longer are — including how often a search comes back empty and how often a photo search finds nothing. Search terms themselves are never sent.
- Send Message and the Likes count on a profile now say the feature is still being built rather than doing nothing, and each tap is counted — which of the two gets built first will be decided by how often people ask for them.
v2.5.0 (262341549)
2026-08-22 15:49 UTC
- (#321) Filtering a series by Owned or Missing and finding nothing now says so. The page used to go blank below the filter chips, which looked exactly like a failed or unfinished load. Each of the three filters says something different: Missing turning up empty means you have the complete series, which is good news rather than an absence.
- (#323) A notification from someone whose account is gone no longer reads as "followed you" with nobody in front of it. Every place the app shows another person's name now falls back to a name rather than leaving a gap.
- (#325) At the largest accessibility text sizes, the Posts / Following / Followers / Likes labels no longer slide out from under their numbers. The labels wrap to two lines and stay centred, and the columns keep a gap so two wrapped labels don't read as one. Same fix on the Owned/Wanted cards, on other people's profiles, and on the notification category cards.
- (#326) The layout checks now run at the accessibility text sizes, not just up to the medium ones. That found three screens that overflowed and nothing was catching: the brand wall's tiles, another person's profile, and two rows in a post. All three are fixed, and the profile page now scrolls instead of running off the bottom.
- (#320) On the App Store build, tapping the Settings title eight times no longer unlocks the developer menu. The login screen already refused the same gesture there.
v2.5.0 (262310032)
2026-08-19 00:32 UTC
- (#315) A long nickname no longer signs you out. Anything past the length the server stores was rejected in a way the app could not tell apart from your session expiring, so a too-long name logged you out and threw away the rest of the form. Nickname, post title, comment and Report a Problem now stop at the length that actually fits.
- (#318) Tapping like repeatedly with no connection no longer leaves the count wrong. The taps used to pile up and settle on whichever answer arrived last — sometimes the opposite of what the server had — and only leaving the page and coming back fixed it. A second tap is now ignored until the first one is answered, everywhere in the app that a tap changes something.
- (#316) Unfollowing from your Following or Followers list now asks first, the way it already did from a post and from someone's profile. That list is the easiest place to unfollow someone by accident, and there is no undo.
v2.5.0 (262300339)
2026-08-18 03:39 UTC
- (#308) The Delete account confirmation now says Delete account, and warns that it cannot be undone. Its button used to read "Log out" — a capital letter away from the ordinary Log Out prompt sitting right below it — while the tap behind it deleted the account.
- (#310) Validation messages clear as soon as you fix what they asked for. Filling in your phone number, typing the code, writing a title or picking a photo used to leave the red text sitting there until you pressed submit again, as though the app had not noticed. Sign-up and the Send Code button behave the same way now.
- (#309) Marking a bean Owned or Wanted updates the Owned/Wanted totals on that same page straight away, instead of leaving them at the numbers they showed when you opened it.
- (#311) An announcement with no text now says so, rather than showing a title and then a blank page — which was indistinguishable from one that failed to load.
- (#313) Your nickname can no longer be saved empty. The edit screen sent whatever was in the field, blank included, and nothing on the server side stopped it — so an account could quietly lose the nickname it signed up with.
v2.5.0 (262290610)
2026-08-17 06:10 UTC
- (#304) Comments and replies send again. The send button only exists while the comment box has focus, and tapping it was dismissing that focus first — so the button was removed by the very tap meant to press it, and nothing happened.
- (#305) A session the server no longer accepts now returns you to the login screen instead of leaving you stuck. Previously the app neither signed you out nor let you do anything: every request carried a token the server had already rejected, and there was no way back to logging in.
v2.5.0 (262290518)
2026-08-17 05:18 UTC
- (#302) The resend countdown on the verification code now keeps time on its own. Leaving the screen, switching apps or closing the app entirely no longer restarts it or leaves it stuck — come back and it shows whatever is genuinely left, and it lapses on its own whether or not you were watching.
- (#303) The title on the multi-object photo-search screen is readable. It was drawn in the app's dark violet on a black background, which is nearly invisible; that screen now takes a dark theme throughout instead of only a dark background.
v2.5.0 (262290029)
2026-08-17 00:29 UTC
- (#297, #299) Dev › Throw Exception now tells you whether the report actually left the device. Offline it says so instead of claiming it was sent — the report is only queued locally, which is exactly when you most need to know. And while it is checking, the row shows that it is checking, rather than leaving the previous run's answer on screen where it reads as this run's.
v2.5.0 (262290008)
2026-08-17 00:08 UTC
- (#298) Dev now has a Force Native Crash entry, separate from Throw Exception. The existing one raises a Dart error, which never needs iOS debug symbols to be readable — so it could never show whether they are present. This one crashes natively, which is the only thing that can. It asks first, quits the app immediately, and uploads on the next launch.
v2.5.0 (262282258)
2026-08-16 22:58 UTC
- (#296) Losing the network while the app starts no longer drops you back to the login screen. You get a "can't reach the server" screen with a Retry button, and your session is still there once the connection is — no code to re-enter.
- (#293) Dev › Throw Exception now lets you type what the test report should say, prefilled with a timestamp, so a particular check is findable among the rest afterwards. The outcome is legible too: a tick or a cross on the row, rather than grey text that read like nothing had happened.
- (#292) Mistyping a verification code is no longer recorded as though the app had broken.
v2.5.0 (262282121)
2026-08-16 21:21 UTC
- (#288) Signing in with an empty verification code now says so straight away instead of sending the request and showing you whatever the server said back. Sign-up checks its fields the same way.
- (#279) The terms checkbox no longer just shakes at you. Submitting without it asks properly, and you can open the policy from that prompt and come back without losing your place.
- (#287) Page views are recorded again. They had never once been sent on a cold start — which is exactly the first run after installing or updating, so the sessions most worth understanding were the ones missing.
- (#286) Test runs on a real device no longer file their assertion failures as if they were your crashes.
v2.5.0 (262281954)
2026-08-16 19:54 UTC
- (#285) A picture the server no longer has now just shows as a broken thumbnail. It was crashing the app — and since a feed loads dozens of images at once, one deleted photo could take the whole screen down.
- (#284) A failure while sending usage data can no longer crash the app. Reporting is meant to observe problems, not cause them.
- (#276) Slow storage on the first launch after installing can no longer hold the app on the splash screen indefinitely. It now carries on after five seconds, and tells you if it had to start on a different backend than the one you picked.
- (#278) Tapping outside a text field closes the keyboard everywhere in the app, not just on the two screens that happened to handle it.
- (#280, #281) Crash reports now actually arrive and can actually be read. On Android nothing a release build reported was ever sent, and on iOS everything sent was unreadable for want of symbol files — so problems that only happen on real devices left no trace anywhere. Both are fixed, and symbol upload is now part of every build.
- (#282, #283, #273) Diagnostics gathered during startup are no longer discarded before the reporting system finishes starting, crash reports carry the signed-in user and which backend was in use, and the verification-code step of sign-in is now measured properly.
v2.5.0 (262281818)
2026-08-16 18:18 UTC
- (#280) Crash reports from release builds reach us again. Code shrinking had been removing a piece Firebase needs, so every crash and handled error a release build tried to report was quietly dropped — which is also why several of the problems fixed today had no trace anywhere.
- (#277) Following or unfollowing someone now updates everywhere it is shown at once — their profile, your following list, the post you followed them from, your Following count, and the Following feed.
- (#275) Marking a message read now responds immediately and puts the badge back if the request fails. A failed mark used to leave that notification stuck as read forever, and opening one waited on the network first.
- (#272) The app no longer waits on its monitoring setup to load anything. When that setup was slow to start, every request failed before it was sent and the app looked completely offline.
- (#267) A failed save now offers Retry right on the message, keeping what you entered. Before, the only obvious way forward was the back button, which offered to discard your changes.
- (#268) An image that can't be read at upload time now says so in plain words instead of showing an internal file path.
- (#276, #271) Startup and update checks now record what they were doing when something goes wrong, so a failure can be diagnosed instead of only observed.
v2.5.0 (262281556)
2026-08-16 15:56 UTC
- (#254) Changing Own or Want twice in a row from a product page no longer edits the wrong row of your Wishlist or Collection — and no longer crashes on the last item in the list.
- (#258) Own, Want and Follow now respond the moment you tap them instead of waiting for the server. Leaving a product page straight after tapping no longer loses the change.
- (#266) Changing Own or Want now updates your Wishlist, Collection, and the counts on your profile, instead of leaving them showing the old state until you pulled to refresh.
- (#265) Deleting a post now updates every list it appeared in — My Posts, Drafts, Explore, your profile, and your post count.
- (#257) Pull-to-refresh on Explore and Messages keeps the list you were reading on screen instead of replacing it with placeholders, so you no longer lose your place. A failed refresh keeps the old content too.
- (#264) A poster now holds up to 20 items, and the counter shows how many you have picked. Picking hundreds used to fail with no explanation, and retrying always failed the same way.
- (#260) Photo editing, link opening and copy-to-clipboard failures now show an explanation instead of doing nothing.
- (#261) Sign-in and sign-up errors are written for people to read, rather than showing the raw network error text.
- (#263) Profile tabs and category filters no longer depend on their own button text, which could send the wrong request and crash the page.
- (#256) A response missing a field now reports a clear error instead of quietly continuing with the word "null" — which could store an unusable sign-in or publish a post with a broken image.
- (#262) The custom backend screen now requires https for the image address as well as the API address, and upgrades an address saved earlier. A plain-http image address let you sign in but left every image broken.
- (#253) "Check for Updates" shows its result where you can see it, and (#255) says so when the check itself failed instead of claiming you are up to date.
- (#255) Dev › Throw Exception reports whether the crash report was actually sent, instead of always saying it was — the one case it exists to detect.
- (#259) Fixed a leak in the Report a Problem dialog and removed unused code.
v2.5.0 (262281408)
2026-08-16 14:08 UTC
- (#252) The backend picker now highlights the environment the app is actually using. On a fresh install it showed the wrong one, so switching away from it signed you out for a change that had not happened.
v2.5.0 (262281338)
2026-08-16 13:38 UTC
- (#251) Fixed the app opening to a blank grey screen on some devices. It happened when Firebase took longer than usual to start up, and once it happened the screen never recovered.
v2.5.0 (262281248)
2026-08-16 12:48 UTC
- (#250) Turning down the camera or photo permission now shows an explanation instead of nothing happening — when adding photos to a post, changing your avatar, or searching by photo.
v2.5.0 (262281225)
2026-08-16 12:25 UTC
- (#249) Switching backend environments now finishes the switch even if clearing the old cache runs into trouble, instead of leaving the app half-moved.
v2.5.0 (262281158)
2026-08-16 11:58 UTC
- (#248) Pulling to refresh Notifications, the brand wall, or a brand's series list with no connection now just stops, instead of failing in the background.
v2.5.0 (262281138)
2026-08-16 11:38 UTC
- (#247) Saving your profile or changing a setting no longer risks bouncing you to the login screen, or telling you it failed, when the change actually went through.
v2.5.0 (262281118)
2026-08-16 11:18 UTC
- (#246) If sharing a poster fails, the app now tells you instead of quietly doing nothing.
v2.5.0 (262281058)
2026-08-16 10:58 UTC
- (#245) The prompt asking whether to pick up an unfinished post now waits for an answer. Tapping past it used to leave the draft in limbo, and it was then lost as soon as you started typing something new.
v2.5.0 (262281028)
2026-08-16 10:28 UTC
v2.5.0 (262280948)
2026-08-16 09:48 UTC
- (#242) Photos that are stored with a full web address now load instead of showing a torn-image placeholder.
- (#241) Typing your own backend address now tells you if the address won't work, instead of accepting it and then failing every request with no explanation.
- (#240) Closing the app right after opening it no longer risks a crash from the update check finishing in the background.
v2.5.0 (262280755)
2026-08-16 07:55 UTC
- (#238) Signing in no longer fails at the last moment over a brief connection problem — once your code is accepted you're in, and your profile fills in on its own. Previously this left you stuck: retrying couldn't work, because the code had already been used.
v2.5.0 (262280746)
2026-08-16 07:46 UTC
- (#237) Pulling to refresh your profile with no connection now just stops, leaving what's already on screen in place, instead of failing in the background.
v2.5.0 (262280734)
2026-08-16 07:34 UTC
- (#236) Opening the app with no signal no longer signs you out. Your session is kept, and comes back on its own once you have a connection — no more re-entering an SMS code because you launched the app on the subway.
v2.5.0 (262280723)
2026-08-16 07:23 UTC
- (#235) Errors that aren't just a bad connection now get reported automatically, so problems that used to look like "try again later" forever can actually be found and fixed.
v2.5.0 (262280704)
2026-08-16 07:04 UTC
v2.5.0 (262280646)
2026-08-16 06:46 UTC
v2.5.0 (262280618)
2026-08-16 06:18 UTC
v2.5.0 (262280455)
2026-08-16 04:55 UTC
v2.5.0 (262280442)
2026-08-16 04:42 UTC
- (#224) Switching backend environments now moves images with it — pictures no longer break after a switch, and a missing or broken one shows a torn-image graphic instead of a red error box.
- (#226) The login form no longer gets cut off behind the keyboard.
- (#227) Images no longer flash a broken-image graphic while they load.
- (#228) Series and product grid cards no longer overflow their cell.
v2.5.0 (262280123)
2026-08-16 01:23 UTC
- (#223) Moved the Dev menu unlock gesture to the version footer and the Dev menu itself to the bottom of Settings.
v2.5.0 (262280104)
2026-08-16 01:04 UTC
v2.5.0 (262280033)
2026-08-16 00:33 UTC
- (#218) Register screen content is now vertically centered like Login.
- (#219) Unchecking the agreement box no longer disables Log In/Register — it now shakes the checkbox instead.
- (#220) Login and Register now show the app version at the bottom too.
- (#221) The Backend URL picker on the login screen opens already expanded.
v2.5.0 (262272351)
2026-08-15 23:51 UTC
- (#217) Fixed the test.popbeanfamily.com backend preset failing with a 301 error — it now uses https as the server actually requires.
v2.5.0 (262272331)
2026-08-15 23:31 UTC
v2.5.0 (262272254)
2026-08-15 22:54 UTC
- (#213) Added loading feedback during Android photo search's detection delay, so it no longer looks frozen after picking a photo.
v2.5.0 (262272222)
2026-08-15 22:22 UTC
- (#211) Backend URL picker in Settings/login now offers 4 presets (including a new test.popbeanfamily.com option) in an accordion instead of a plain text field.
- OTA dev releases now ship an Android APK alongside the iOS build.
v2.5.0 (262272016)
2026-08-15 20:16 UTC
- (#210) Series list cards now show "N items" plus the series' Category.
v2.5.0 (262271923)
2026-08-15 19:23 UTC
- (#209) Moved the favorite heart on Brand/Series cards back onto the cover image's corner, with a light circular backdrop.
v2.5.0 (262271852)
2026-08-15 18:52 UTC
- (#208) Added a Report problem entry to Settings for sending free-text feedback directly to us.
v2.5.0 (262271848)
2026-08-15 18:48 UTC
v2.5.0 (262271719)
2026-08-15 17:19 UTC
v2.5.0 (262271620)
2026-08-15 16:20 UTC
v2.5.0 (262271548)
2026-08-15 15:48 UTC
- (#199) Photo search's multi-item crop now uses the system's native crop screen again, with its own pinch-to-zoom.
v2.5.0 (262271448)
2026-08-15 14:48 UTC
v2.5.0 (262271441)
2026-08-15 14:41 UTC
v2.5.0 (262270553)
2026-08-15 05:53 UTC
v2.5.0 (262270528)
2026-08-15 05:28 UTC
- (#190) Photo search's multi-item selection now keeps every outline visible while you adjust the crop box, instead of losing them once you pick one.
v2.5.0 (262270500)
2026-08-15 05:00 UTC
- (#189) Fixed Explore feed cards jumping/shimmying while scrolling.
v2.5.0 (262270455)
2026-08-15 04:55 UTC
- Photo search's auto-crop detection now also works on Android.
v2.5.0 (262270335)
2026-08-15 03:35 UTC
- Photo search's item picker (iOS 17+) now selects on the first tap, no separate confirm step needed.
v2.5.0 (262270228)
2026-08-15 02:28 UTC
- Internal: photo search's item outlines are traced more reliably now, and screen titles temporarily show a detection count for debugging.
v2.5.0 (262270217)
2026-08-15 02:17 UTC
- Photo search (iOS 17+) now lets you tap the right item's outline when it detects more than one, instead of guessing which one to crop to.
v2.5.0 (262270151)
2026-08-15 01:51 UTC
- Photo search's crop screen (iOS) now starts with the crop box already positioned around your item, instead of the full photo.
v2.5.0 (262270041)
2026-08-15 00:41 UTC
- Internal: local Phase0 backend URL now auto-normalizes a missing trailing slash, which was silently mangling every request path.
v2.5.0 (262270035)
2026-08-15 00:35 UTC
- Internal: connection error text now includes the server's actual response, not just Dio's generic explanation of the HTTP status.
v2.5.0 (262270028)
2026-08-15 00:28 UTC
- Internal: long-pressing a connection error message now shows the raw error (dev builds only), for diagnosing local Phase0 backend issues.
v2.5.0 (262270016)
2026-08-15 00:16 UTC
- Internal: local Phase0 backend now defaults to a reachable-from-anywhere URL instead of localhost.
v2.5.0 (262270004)
2026-08-15 00:04 UTC
- Internal: local Phase0 backend URL is now editable (was hardcoded to localhost, unreachable from a physical device), and can be switched from the login screen too so a bad URL doesn't lock you out.
v2.5.0 (262262354)
2026-08-14 23:54 UTC
- Internal: dev builds can now switch to a local test backend from Settings (no visible changes for test/prod).
v2.5.0 (262262252)
2026-08-14 22:52 UTC
v2.5.0 (262262217)
2026-08-14 22:17 UTC
- (#183) Fixed explore feed cards for extreme tall images — the previous fix only limited the aspect ratio, not the actual pixel height, so wide cards could still grow too tall.
v2.5.0 (262260728)
2026-08-14 07:28 UTC
- (#178) Product detail page's name is now centered at the top.
- (#179) Product detail page no longer shows placeholder text when there's no description.
- (#180) Product detail page's rarity label now matches its badge color.
- (#181) Explore feed cards no longer grow unbounded for extreme tall images.
- (#182) My Wishlist and My Collection show series and product name on two separate lines.
v2.5.0 (262260701)
2026-08-14 07:01 UTC
- (#176) Explore feed is now a waterfall layout — card heights follow each post's photo proportions.
v2.5.0 (262260654)
2026-08-14 06:54 UTC
v2.5.0 (262260625)
2026-08-14 06:25 UTC
v2.5.0 (262260600)
2026-08-14 06:00 UTC
- (#169) Multi-select poster: bottom bar is now Cancel / Save As Pic, and the generated poster shows a QR code next to the app name.
v2.5.0 (262260554)
2026-08-14 05:54 UTC
v2.5.0 (262260528)
2026-08-14 05:28 UTC
- (#161) Replies to a top-level comment no longer show a redundant "Reply to" label; replies to another reply still do.
v2.5.0 (262260521)
2026-08-14 05:21 UTC
- (#168) Fixed a layout glitch where the multi-select poster view could show garbled text at the bottom and not fill the screen properly.
v2.5.0 (262260129)
2026-08-14 01:29 UTC
- (#166) Select multiple items in a series' product grid to generate and share a grid poster of all of them at once.
v2.5.0 (262260120)
2026-08-14 01:20 UTC
- (#167) Product cards now show a violet or mint border when marked own or want.
v2.5.0 (262260050)
2026-08-14 00:50 UTC
- (#165) Own/Want buttons on product cards are now icon-only, no text label.
v2.5.0 (262252051)
2026-08-13 20:51 UTC
- (#164) Internal: the OTA update check now gets the same performance monitoring as other network requests (no visible changes).
v2.5.0 (262252033)
2026-08-13 20:33 UTC
- (#163) The Me tab now supports pull-to-refresh, so owned/wanted counts and collection progress update right away.
v2.5.0 (262252001)
2026-08-13 20:01 UTC
- (#68) Internal: consolidated all in-app text into one place for easier maintenance (no visible changes).
v2.5.0 (262251812)
2026-08-13 18:11 UTC
- What's New now shows dates in your own timezone and links directly to the GitHub issue for each change.
v2.5.0 (262251751)
2026-08-13 17:51 UTC
- (#160) Explore feed (Discover/Following) now loads more posts as you scroll instead of stopping at the first page.
v2.5.0 (262251735)
2026-08-13 17:35 UTC
- (#159) Fixed the fullscreen image close button being invisible over light-colored photos.
v2.5.0 (262251722)
2026-08-13 17:22 UTC
- (#158) Fixed the floating reply bar not actually closing when tapping away (previous fix didn't take).
v2.5.0 (262251654)
2026-08-13 16:54 UTC
v2.5.0 (262251632)
2026-08-13 16:32 UTC
v2.5.0 (262251618)
2026-08-13 16:18 UTC
- (#152) My Wishlist items now show their name and series.
v2.5.0 (262250920)
2026-08-13 09:20 UTC
v2.5.0 (262250751)
2026-08-13 07:51 UTC
- (#149) Fixed the keyboard not dismissing after cancelling a comment reply or tapping elsewhere.
v2.5.0 (262250720)
2026-08-13 07:20 UTC
v2.5.0 (262250648)
2026-08-13 06:48 UTC
v2.5.0 (262250457)
2026-08-13 04:57 UTC
- (#144) Swipe left on a message to mark it read instantly.
v2.5.0 (262250452)
2026-08-13 04:52 UTC
v2.5.0 (262250358)
2026-08-13 03:58 UTC
v2.5.0 (262242250)
2026-08-12 22:50 UTC
- (#137) Added an in-app What's New log — check Settings, or get a summary automatically after updating.