| 2.0.2 |
System Add to Calendar — smoother calendar flow and a quieter Android build.
- Add to Calendar on event detail pages now opens the Calendar app's fully-editable Add Event sheet directly, with title, description, location, start & end time and the 928.org.uk link pre-filled. Just tap Add (iOS) or Save (Android). Replaces the earlier share-sheet route, which on some iOS devices showed a preview that didn't expose an Add button.
- Android permissions tidy-up. Dropped a dependency that declared unused photo, video and audio permissions (it was only ever used to open .ics files). No more Play Store "Photo and Video Permissions Declaration" prompt blocking releases.
|
| 2.0.1 |
Post-launch polish — first round of fixes and small features after the 2.0.0 relaunch.
- Add to Calendar on event detail pages now produces a proper calendar invite. Previous attempt was a no-op on both iOS and Android. Tap the button, choose Calendar in the share sheet, and the event lands in your default calendar.
- Event start & end times. Events with a start time (and optional end time) now show those times alongside the date on both the events list and the event detail page. Calendar exports respect the times so the entry appears as a real timed event in your calendar rather than an all-day block.
- Time / all-day badge next to the date on the events list, with sensible variants for all-day, single-time, time range, and multi-day events.
- Calendar attribution. Exported events identify themselves as coming from the 928uk® app and link back to
https://www.928.org.uk in both the URL and the description so the source is obvious in the calendar entry.
- Gifts — Amazon Associates disclosure. Italic disclosure footer on the Gifts list and on every gift detail page; longer-form disclosure section in the Privacy screen. Required by the Amazon Associates Programme Operating Agreement.
- Gifts — Buy on Amazon floating button now appears reliably on every gift article. Earlier the app was only reading the URL from one of the two ways Joomla can expose custom fields; the parser now handles both.
- Version & debug info on the About page. Version number reads from the live binary instead of being hardcoded. Tap the version line to reveal the build number and your user ID for support purposes — both are tap-to-copy.
- Joomla connected app card text on the About page tightened.
|
| 2.0.0 |
Complete rewrite — the 928uk app moves from FlutterFlow to a hand-built Flutter codebase, with new design, faster loading, and a stack of new features.
- New look. Refreshed home screen with admin-curated alerts, a daily "Pic of the Day", quick-action cards for Gallery / Articles / Events / Gifts, and horizontal carousels of recently added and for-sale cars.
- Cars — structured form. Add Car has dependent dropdowns for "Model year and type" (sourced from a canonical variations list) and "Variant" (the market the car was built for), Manual / Automatic radio for gearbox, mileage, paint and interior colours, and a Location field.
- Cars — for sale. Three-state segmented control (Private / For Sale / Sold) replaces the earlier hidden flag. Sale listings get a hero banner with price, location, sticker badges, and Call / Email contact buttons.
- Cars — sticker badges. American-dealer-style coloured badges (Sharp, Extra Clean, Garage Kept, One Owner, Low Miles, Numbers Matching, Original Paint, Restored, Survivor, Recent Service, New Tyres, Cold A/C, New MOT, Project, Concours) attach to a listing and surface on the gallery card and detail hero.
- Gallery — For Sale filter chip at the top of the grid so for-sale cars are easy to find. Sold cars get a distinct grey badge and dimmed thumbnail. Search now matches location too.
- My Car shows your own car using the same beautiful detail layout as the public gallery, with edit and add controls in the AppBar. Multiple-car owners get a swipeable PageView between their cars.
- Articles, Events, Gifts all driven by the 928.org.uk Joomla site — one editorial workflow for both web and app.
- Sign in with Apple, Google, or email / password. Sign in with Apple is mandatory on iOS apps that offer other social logins; we now support all three.
- Guest browsing. You no longer need an account to browse the public sections (Gallery, Articles, Events, Gifts, Mailing List, About). Sign-in is only required for personal areas (My Car, Profile).
- Account deletion that actually deletes your data — not just the auth record. A Cloud Function purges your cars, uploaded photos, FCM tokens, and user document when you delete your account. Required by Apple and Google.
- Push notifications properly wired on both platforms, with tap-routing into the app so a notification about a new article opens that article directly.
- Remote kill switch. A small Firestore document lets us put up an "Update required" screen on every running app within seconds — useful only when something serious goes wrong, valuable when it does.
- Home screen alerts. Admin-curated banners (success / info / warning / danger / light) surface at the top of the home screen.
- Mailing list page with one-tap subscribe link, Freepik attribution, and an in-context advert.
- Offline-aware error screens. When the device is offline, network-backed pages show a friendly "You're offline" state instead of a raw
DioException.
- iPad-friendly hero images. Detail page hero, gallery card, and article / event / gift list images use a 16:9 aspect ratio so they scale up beautifully on iPad portrait and landscape, no longer pinned to a small fixed pixel height.
- Adverts at the bottom of article and event detail pages, and in-feed slots in the articles list and gallery grid. Disclosed in the Privacy section.
- Analytics. Firebase Analytics screen-view events fire automatically on every navigation.
- Dark mode support throughout, with the brand logo wrapped in a white tile so the line art remains visible against dark backgrounds.
- App icons refreshed to the brand green tile and shipped at every required device density.
- Privacy. App declares
ITSAppUsesNonExemptEncryption = false so TestFlight builds no longer prompt for export-compliance information on every upload.
|