Release Notes — Archive
Past releases. Back to current release notes.
1.11.0 2026-05-30
New Features
- Search by SB product ID — pulls the row in even when out-of-profile (#1028)
- Beer Butler — pour from All beers, your shopping list, or beers marked bought (#1041)
- Whole SB catalog now scored — out-of-profile beers land in lower tiers, matched styles still dominate the top (#1062)
- Indexer surfaces every product SB associates with your stores, including orderable-but-not-stocked (#1063)
- Style filter dropdown lists every style present in results, including out-of-profile (#1064)
- Statistics — Reachable / Discontinued / Available-now cells make the indexer-to-results pipeline honest (#1065)
- Onboarding — new visitors land on the catalog with a nag popup, full reachable catalog scored on Untappd rating (#1065, #1067, #1068, #1069)
- Onboarding — News/Stats hidden, Reset lands on catalog, Taste Profile + popups funnel to /setup (#1070, #1071, #1072, #1073, #1077)
- Hint strip — one-click coming-soon view (reset filters, Soon only, sort by release date) (#1078)
- Sort — secondary axis carries its own direction, independent of the primary (#1081)
- Statistics — unonboarded users see catalog-wide stats; nav link restored, profile-tied sections hidden (#1079, #1080)
Improvements
- Taste Profile — scraper tops up thin Top-20 styles, widens analysis window (#1055, #1057)
- Taste Profile — rename to Reset order / Re-index Untappd, add tooltips to header buttons (#1056)
- HomeView — docked filter sidebar is the default everywhere above portrait mobile (#1026)
- FilterPanel — pin Assortment, Ranges and Taste Score by default (#1024, #1040)
- Beer Butler — tier badge captions the bottle from the bottom edge (#1025)
- Hint strip — fit-only chip count + horizontal slide-from-right animation (#1027)
- Taste Profile — reorder cards to Popup → Scoring → Breakdown in both modes (#1031)
- Taste Profile — uniform collapsed-card chrome across all three cards (#1032)
- Taste Profile — cards collapse on reload, expand survives in-app nav (#1045)
- Taste Profile — drop redundant Minimum Taste Score input (tier dropdown subsumes it) (#1047)
- Daily refresh moved from 08:00 to 05:00 CET so data is fresh before peak usage (#1043)
- Shopping list desktop — Beer column reclaims width from Rating/Availability (#1053)
- Shopping list — hide redundant per-row tag chip when split by Tags (#1054)
- Shopping list — Bought, Tasted, Restock filter buttons always visible (#1058, #1059)
- Statistics — page numbers no longer respond to home-page filters (#1061)
- Shopping list — drop bought banner; tasted/unavailable/restocking banners now filter-aware (#1064)
Bug Fixes
- FilterPanel — Reset button polish: full-width, no emoji, reserved space (#1023, #1037, #1038)
- Shopping list — split-mode group cards get header chrome + breathing room (#1030)
- Shopping list — v1 sync payloads no longer wipe v2 per-item tags (#1033)
- Header — News bell unread bubble no longer clips above the viewport (#1034)
- Shopping list — deletes survive cross-device toggles via pull-before-push (#1035)
- SEO — canonical, og:url, sitemap and robots.txt point to untappdbolaget.se (#1036)
- SortSelector — direction button now matches sort dropdown height (#1039)
- Latest Checkins — re-check-ins reliably bump to top in all refresh modes (#1042, #1050)
- Untappd rating polish — 2-decimal mobile/tooltip, no ghost ★ 0.00 (#1046, #1048)
- Shopping list — bought rows terminal for restock/unavailable states (#1049, #1052)
- Shopping list — long beer names truncate to single line on mobile (#1051)
- Statistics — count-up entrance plays once, then tweens between updates (#1060)
- TSE products verified out-of-stock are now hidden (display gate had been BS/TSLS-only) (#1062)
- Image brightness detection deferred + cached to localStorage so first paint isn't blocked (#1075)
- Filter pipeline short-circuits on cheap predicates before expensive helpers (#1076)
- Page size dropped to 48 so fewer heavyweight cards mount on first paint (#1074)
Infrastructure
- Enrichment KV — server-side delta-merge + daily pre-warm cron, race-free multi-client writes (#1062)
1.10.0 2026-04-26
New Features
- Serving temperature on beer cards and style tooltip (#833)
- Unified style badge — rank, style, temperature pill (#837, #838)
- Reported tri-state toggle under Assortment › Personal (#864)
- Seasonal & Weather scoring — experimental, opt-in, location-based, mid-day reading, view-enter refresh (#920, #942, #993)
- Re-index checkins button on Taste Profile (#937)
- Taste Profile — configurable "New Beers" popup qualification: window, score, price, tier, top-N styles (#964)
- Beer Butler — mood + weather + scope intro, pouring animation (#968, #969, #970, #971, #972, #974)
- Beer Butler — pick card with Approve/Nah + rationale bubble (#975, #976, #978, #979, #980, #981)
- Beer Butler — standout picks + page-wide reveal celebration (#982, #983, #984, #985, #986, #987)
- Beer Butler — Taste Profile integration follow-ups (#1002, #1005, #1008, #1011, #1014)
- Setup — store picker optional (online-only auto-indexes); new Scoring step (price/ABV/normalization/season) (#977, #992, #998)
- Moved to untappdbolaget.se, HTTPS enforced (#988, #990, #991)
Improvements
- Shopping list — availability, rank chip, Show filters (#816, #851, #858, #859, #866)
- Shopping list — TASTE pill + mobile reorg + bought button polish (#868, #899, #904, #908, #929, #930)
- Shopping list — list-id header + sync UX inline (#931, #935, #938, #944)
- Shopping list — search bar, Split-by dropdown, location tags + Split by Tags (#1007, #1009, #1016)
- Style badge — adaptive widths, hover tooltip, tighter gutters, Taste Profile ellipsis (#874, #893, #928, #933, #959)
- RatingStars — pinned variant per call site, compact in narrow columns (#934, #941)
- News & availability popup — full thumbnail, unified badge, 3-state add button (#905, #927)
- Hint strip — multi-chip + click-history (#643, #629, #915, #916, #917)
- Hint strip — top-style filter + fit-aware widths (#924, #954, #996, #1004)
- Score model — top-1% reward, synergy bonus, rolling 2-year top styles, no flash-of-100, per-beer Seasonal & Weather delta (#907, #912, #913, #923, #936)
- Style tooltip + normalization — Untappd classification when enriched differs, tooltip + Breakdown agree (#855, #875)
- Statistics — country count, tier click-through, Matched %, clean baseline (#856, #863, #870, #891)
- Visual polish — rounded-rect shapes + beer-glass gradient (#827, #832, #847, #849, #850, #854)
- Visual polish — beer-style palettes + parallax bubbles + Weather & Season tag (#865, #882, #884, #906, #911, #932)
- Page tweaks — mobile breadcrumb + UI cleanup + Reset Filters + About/disclaimer (#848, #857, #873, #881, #903)
- Page tweaks — Settings trim + Style Breakdown temp + Scoring position + Latest Checkins layout (#909, #914, #918, #919, #953)
- Taste Profile — collapsible preference cards (unified chrome, default-collapsed each session), guest-mode parity (Beer Butler banner, unified card order) (#999, #1010, #1012)
- FilterPanel — per-section pin keeps a section permanently open (#1000, #1001)
- Installable as a PWA — manifest, icons, offline shell, About-page Install button (#997)
- Logo glimmer — subliminal idle sweep + on shopping-list add / mark-bought (#1006)
- Header — News/Settings/About icon row, Butler back in primary nav (#1003)
Bug Fixes
- Notifications & News popup — empty-state on open + last-visit window (#695, #910, #946, #947, #948, #949)
- Notifications & News popup — hide-listed toggle + sort/badge parity (#951, #958, #963, #965, #967)
- StyleBadge surface parity — popup + shopping list match beer cards (#950)
- Shopping list mobile — pill centres with checkbox, beer text beside pill, thumb-stack outline (#922, #925, #926)
- Shopping list tag picker — Enter applies the tag to the row, not just to the registry (#1020)
- Shopping list — Tag column sortable; tag chip can no longer extend past the card border (#1021)
- Enrichment cache invalidation — auto on KV bump, catches pre-#892 installs (#892, #902, #943)
- Enrichment cache invalidation — wipe-success marker + parser reads `/brewery/{id}` links (#955, #957, #960, #966)
- Enricher / matcher correctness — brewery boost needs raw signal, variant-suffix rejection, style-contradiction drop, multi-pack detection, filler-only word overlap rejected (#860, #862, #869, #872, #994)
- Card polish — temp chip truncation, Untappd "YOU" row, BOUGHT pill corners + label, kr/ml container query (#836, #852, #853, #861, #894)
- Seasonal ☀️ + Restock 🕐 — shared filter/badge gates, sub-style buckets, chip match count, viewport-agnostic (#939, #940, #961)
- Filter polish — breadcrumb chip restores filter, Latest Checkins bypass cache on refresh, shared filteredResults base (#867, #895, #921)
- Latest Checkins — recentOnly scrapes always reach Untappd and the view re-sorts reactively (#1013, #1015)
Infrastructure
- Release notes split + agent-protocol docs compacted, in-development bullets regrouped + tail-budget rule (#952, #962, #1022)
- Results store perf — single enrichment read + median skip + country set (#877, #878, #879)
- Results store perf — assortment delta + v-memo + serialized KV writes + triggerRef (#886, #887, #888, #889)
- Lazy-loading — workers, style-descriptions chunk, Dexie v18 searchedAt index (#880, #883, #885)
- Home-page hints suggestions + style coverage diagnostic script (#890)
1.9.0 2026-04-16
New Features
- Swipe navigation between pages on touch devices with smart-zone gesture detection
- Style flavor tags — hover a style to see emoji descriptors and food pairings
- Similar beers carousel with thumbnail previews and slide-in animation
- Volume range slider and Bought tri-state filter
- Statistics page redesign — animated hero stats, donut charts, growth chart, scroll-reveal
Improvements
- Rebalanced taste score — max-skewed 60/40 blend; score popup shows dynamic weights
- Beer card polish — glassmorphic backdrop, compact layout, bought indicator border
- Shopping list overhaul — split dims, mobile grid cards, taste score column, sort dropdown
- Newly Available popup — score badge, View New Beers filter, persistent dismiss state
- Glassmorphic filter pane with animated bubbles; collapsed by default on mobile
- Exact-only style matching; ambient bubbles with foam burst on navigation
- Notification bell, floating back button, unified bought indicator across all views
Bug Fixes
- Enricher matching — collabs, variant suffixes, short breweries, shared normalization
- Online availability — FS products checked, OOS reports bypass cache, network errors handled
- Check-in freshness — proxy cache race fixed, manual Refresh button with cooldown
- Restocking beers shown with amber badge instead of hidden
- Statistics page filter-agnostic invariant; cache performance table mobile layout
- Shopping list — opacity fix for filters, glassmorphic image backdrop, uniform badge heights
- Breadcrumb undo from cross-route filter actions
1.8.0 2026-04-08
New Features
- Taste quiz — guided 8-question quiz in guest mode to discover preferences
- Style profile code — shareable code to transfer style preferences across devices
- Scoring adjustments — 4-level importance selector for price and ABV bonuses
Improvements
- Clickable brewery name on beer cards filters results to that producer
- Style breakdown — top 3 beers per style, import/reset codes, drag-and-drop reordering
- Filter UX redesign — labeled groups, range sliders, filter count badges, emoji tier buttons
- Search highlighting, keyboard shortcuts, page transitions, and back-to-top button
Bug Fixes
- Out-of-stock and delisted products properly excluded with proactive availability checks
- Enrichment — collab detection, style contradiction filtering, false-match rejection
- Shopping list auto-checked daily; search input no longer drops keystrokes
1.7.0 2026-03-30
New Features
- Report wrong match — flag incorrectly matched beers with diagnostic data
- Guest mode — use without Untappd by selecting preferred styles
- Style customization — add, remove, reorder styles with drag-and-drop
- ABV and price scoring bonuses; celebration popup for newly-available beers
Improvements
- Major visual polish — Inter font, glassmorphism, animations, skeleton loaders, 3D tilt, ambient particles
- Accessibility — keyboard focus, reduced-motion support, button feedback, screen reader improvements
- Shopping list — split by store/style, hide-bought, cross-device sync, placeholder images
- Filter panel — collapsible sections with active indicators, better enrichment matching
Bug Fixes
- Online availability self-heals; shopping list items survive all exclusion paths
- Enricher — style contradictions, collab beers, compound styles, zero-rating handling
- Beer card rank and style name correctly match user profile
1.6.0 2026-03-20
New Features
- Bought toggle, style reordering with bonus points, relative dates on cards
Improvements
- Complete style descriptions for all 233 styles; enrichment matching overhaul
- Compact status bar, sort/display polish, auto-reload on new version
Bug Fixes
- Out-of-profile style exclusion across matching, enrichment, and lookup
- UI fixes — bought icon, mobile status bar, nav overlap, shopping list sync
1.5.0 2026-03-17
New Features
- Top 3 per style filter, sort by user rating and APK, cloud-shared KV caches
Improvements
- Enrichment match rate raised to ~95%+; price factor using per-style medians
- Rating-dominant style ranking; CF Worker security hardening
Bug Fixes
- Tasted beer detection, shopping list sync, KV write-back and rate limiting
- Pipeline ordering, store filter, UI polish across mobile and desktop
1.4 2026-03-15
- Auto-update checker with countdown banner
- Cross-language beer matching with Scandinavian vowel equivalence
- Docked filter sidebar on wide screens; beer card state gradients
- Enricher overhaul — distributor handling, diacritics, compound names
- Regional TSLS filtering, style mapping gaps closed, SEO improvements
1.3 2026-03-13
- Untappd style as scoring source of truth; manual bonus per style
- Untappd rating filter, clickable style names, shopping list sync codes
- Style classification overhaul — IPA mappings, grouped resolution, bonus scaling
1.2 2026-03-11
- Tri-state filters, country flags/filter, packaging indicators, private account detection
- Shopping list auto-syncs with enrichment; auto re-index on store change
- iOS keepalive during indexing; release notes page
1.1 2026-03-07
- Shareable shopping list with sync codes; proxy cache with KV L2
- Migrated from Netlify to GitHub Pages + Cloudflare Worker
