|
1 | 1 |
|
2 | | -## [2026.7.0] - 2026-07-18 |
3 | | - |
4 | | -### Bug Fixes |
5 | | - |
6 | | -- **router**: Add loading builder to root route to prevent null-check crash (#408) |
7 | | -- **favorites**: Show loading state while festival switches (#409) |
8 | | -- **cache**: Serialise DrinkCacheService writes to prevent race (#419) |
9 | | -- **repository**: Return UserDrinkState from mutators to eliminate dual DateTime.now() (#447) |
10 | | -- **drink-detail**: Make the tasting SnackBar dismissible and less cramped (#475) |
11 | | -- **router**: Push detail routes instead of replacing to preserve scroll position (#478) |
12 | | -- **drinks**: Make drink card text areas tappable (#483) |
13 | | - |
14 | | -### Documentation |
15 | | - |
16 | | -- Remove stale planning docs and fix dangling links (#394) |
17 | | -- **my-festival**: Resolve timeline vs unified-list contradiction; split photos into separate milestone (#418) |
18 | | -- **api**: Publish MyFestival OpenAPI spec via Redoc at /api-docs/ (#428) |
19 | | -- **agents**: Promote cross-cutting guidance from skill commands (#444) |
20 | | -- **skills**: Fix MCP method references and dedupe shared guidance (#452) |
21 | | -- **skills**: Add change-control and debugging-playbook skills (#456) |
22 | | -- **agents**: Dedup AGENTS.md into a spine + skill router (#458) |
23 | | -- **adr**: Propose the check-in as the primary My Festival entity (#459) |
24 | | -- **adr**: Mark ADR 0006 Accepted (#460) |
25 | | -- **readme**: Refresh features, fix accuracy nits, strengthen story (#464) |
26 | | -- **design**: Capture the design-language lessons from the detail redesign (#473) |
| 2 | +## [2026.7.1] - 2026-07-24 |
27 | 3 |
|
28 | 4 | ### Features |
29 | 5 |
|
30 | | -- **favourites**: Query favourites from the personal-state store, independent of the catalogue (#396) |
31 | | -- **domain**: Extract personal-state management into UserDrinkStateController (#398) |
32 | | -- **domain**: Extract FestivalController from BeerProvider (#402) |
33 | | -- **domain**: Extract UserPreferencesController from BeerProvider (#403) |
34 | | -- **proto**: Myfestival v1alpha API contract, OpenAPI generation, and client codegen (#425) |
35 | | -- **worker**: Add /v1alpha Review API on D1 (#426) |
36 | | -- **proto**: Consolidate DrinkEntry sync contract (v1alpha) (#429) |
37 | | -- **api**: Add read-only festival catalogue API (#433) |
38 | | -- **my-festival**: Add tasting-log and notes mutators through the stack (#455) |
39 | | -- **my-festival**: My Festival screen with want-to-try and tasted sections (#457) |
40 | | -- **my-festival**: Migrate to LogEntry check-in model (schema v2) (#463) |
41 | | -- **my-festival**: Detail-screen multi-tasting, timestamps and notes (#466) |
42 | | -- **drink-detail**: Reorder layout and add Similar Drinks carousel (#468) |
43 | | -- **drinks**: Redesign the drink detail screen around a "one job per surface" layout (#472) |
44 | | -- **detail**: Collapse app bar title to the drink on scroll (#482) |
45 | | -- **web**: Set route-aware browser tab titles (#484) |
46 | | -- **navigation**: Add one-tap return to drinks list from detail screens (#485) |
47 | | - |
48 | | -### Refactoring |
49 | | - |
50 | | -- **drinks**: Split DrinksScreen into focused widget files (#388) |
51 | | -- **storage**: Unify personal state into a versioned UserDataStore (#395) |
52 | | -- Simplify controllers and eliminate parallel switch and boilerplate (#399) |
53 | | -- **models**: Rename FavoriteDrinkEntry→MyFestivalEntry; generalise to myFestivalEntries; extract FavoritesScreen (#448) |
54 | | -- **widgets**: Extract FactsStrip from DrinkHeroPanel (#474) |
| 6 | +- **drink-detail**: Inline autosaving notes and undo for tasting delete (#488) |
| 7 | +- Search result excerpts/highlighting and My Festival notes (#492) |
| 8 | +- **my-festival**: Card the list rows and enrich Want to Try (#494) |
55 | 9 |
|
56 | 10 |
|
0 commit comments