github PimpinPumpkin/Vela v0.4.739
Vela 0.4.739

latest releases: v0.4.755, v0.4.754, v0.4.753...
pre-release10 hours ago

What's changed in 0.4.739

  • Attention cards are amber, not baseline pink
  • Faster-route buttons stay readable under Material You
  • The arrival ETA follows live traffic even when the route never changes
  • Free-drive speed box sits down by the locate button
  • Translations move to Weblate, and the docs stop miscounting languages
  • Ending a drive clears the route line
  • Stray taps during a drive can't add stops, and minimizing the route chooser zooms in on the route
  • Buy Me a Coffee badge in the README
  • Donate goes somewhere real now: Buy Me a Coffee
  • Fresh README screenshot set on the merged build, plus two transit shots
  • The Fastest tag follows the ETA, not the top row
  • Merge cleanup: focus ring on the layers toggle row
  • Merge cleanup: repair union-resolved regions
  • Merge cleanup: dedupe imports and drop a superseded flock select line
  • Avoid-cameras moves its pick to the top of the route list
  • Route fit keeps both endpoints visible and stops zooming to space
  • Docs: satellite view moves from roadmap to features
  • The +N more stops line opens the stops editor too
  • Along-route search panel pins to the top and dismisses on any map tap
  • Nav aids: the compass stays up during nav, re-center works while stationary
  • Update README.md
  • Update README.md
  • Update README.md
  • D-pad cleanup: parking hub menu, focus rings, results handle key path
  • Numbered stop pins on the map
  • Multiple stops read as their own +N more stops line on the card
  • Transit stop names on the map take the transit blue per theme
  • Speed readout is one rounded rectangle that widens when the limit joins
  • Nav search panel: closes when you grab the map, rides to the top while typing
  • Stop picker polish: hint banner follows the theme, picker header slims to a mode label
  • Starting nav clears the planning search's leftover results
  • Nav search field: arrow keys escape to the chips below
  • Layers panel is a VelaMenu so key-only devices can use it
  • Nav search and volume float on the map, and the search takes free text
  • Speed readout without a posted limit is a compact circle
  • Satellite fixes: imagery year retries after a failed lookup, overlay house numbers go white too
  • Docs: generalize a verification example in FEATURES
  • Search along the route while navigating
  • A coordinate deep link moves the camera to its pin
  • Top card follow-ups: notifications sit under it, add-stop button with stops present, drop the reroute flash
  • Satellite polish: white labels with black halos, white pin backings, yellow freeways, cleaner credit
  • City names come back in suggestions: never demote Google's top match
  • Directions header moves to a Google-style card at the top of the screen
  • Offline routing: highway shields, sign destinations and exit numbers, no graph rebuild needed
  • Satellite view: transit and traffic overlays draw above the imagery, capture year gets its own line
  • Address suggestions get a real geocoder (Photon, OSM)
  • Results: sort chip moves left of the rating filter
  • Satellite: ghost roads, dimmed imagery year, toggle-time year fetch
  • Route shields on the map: bigger, bolder, Google-like
  • Layers button: satellite grows into a multi-layer panel
  • Nearby suggestions rank above far matches while typing
  • Docs deep pass: scrub personal info, fix stale claims, add LANGUAGES.md
  • Satellite imagery layer with a map button
  • Stream-parse the traffic-controls Overpass fetch
  • Departure-board parse anchors are remotely repairable
  • Review and stop counts use real plural forms
  • Share to Vela from any app's share sheet
  • Honor the zoom in geo links
  • Mute turn guidance while off-route
  • Update README.md
  • House-number gate moves from invisible text to no text
  • Board refresh stops polling while the app is backgrounded
  • Quarterly cron rebakes the routing graphs and overlay data
  • Departure boards stop listing every bus twice at double-fed stops
  • Bus stop names hide until you're zoomed in close
  • Street names dodge the camera badges
  • Deep links fly the camera to the point
  • Update README.md
  • Update MAP-STYLE.md
  • Update README.md
  • README: reorder What you get by what matters most
  • Cameras yield to POI icons and labels
  • Flock cameras: draw at route-overview zoom for real
  • Fix house numbers never rendering on a cold start
  • Docs audit: trim the README and fix stale claims
  • Merge paired curb stops into one map icon with a combined board (#130)
  • Departure boards refresh while open (#128)
  • Gas stations were showing bus departures; speed sign joins the speed box (#127)
  • Stop timeline: show the stops already passed, and cross out moved times (#126)
  • Speed limit badge was dead: opacity 0 hides features from queryRenderedFeatures (#125)
  • Closing a far-away place no longer flies the camera back home (#124)
  • Typed coordinates drop a pin instead of searching as text (#123)
  • Stop taps work in every app language, with a direct Transitous board fallback (#71) (#122)
  • Show house numbers only when zoomed to the 50 ft scale or closer (#121)
  • Stop timeline: GTFS trip data with live/cancelled per stop, Google-style rows (#120)
  • Canonical GTFS transit stops on the map with an offline area cache (#119)
  • Docs: transit data sources - the Transitous/Google division of labour (#118)
  • Feature-phone support: adaptive density + small-screen D-pad focus fixes (from vela-dpad) (#117)
  • Stops expand full-screen again
  • No photo shimmer on transit stops
  • Transitous departure boards: open GTFS realtime as the primary source
  • Board: pills for named lines, explicit Stops action on each route row
  • Bus board polish, working diagnostics export, cameras in the README
  • Bus polish: after-midnight day markers, proximity fallback for stop resolution
  • Transit stop correlation: widen the junction-to-stop radius, keep OSM stop icons
  • Hide OSM bus-stop icons; drop the blink-and-gone add-stop banner
  • Cameras on by default; show departure boards for intersection-named stops
  • Flock cameras: refresh the dataset from a hosted release, no app update needed
  • Flock cameras: bundle the dataset on-device so the layer is instant and avoid is reliable
  • Departure board: list every embedded time vertically, each with a countdown
  • Flock: bound the per-endpoint camera-fetch timeout so failover can't hang
  • Departure board: show up to 8 arrivals per line, not 4
  • Flock cameras: fail over across Overpass mirrors so a 504 no longer blanks the layer
  • Transit: only hide reviews/about for BARE stops, not rated transit buildings
  • Transit stops: drop the Reviews and About tabs entirely
  • Transit stops: skip the review scrape
  • Fix the browse-map jank: arm the speed overlay by motion, not by follow
  • Fix OOM crash + pan/zoom jank: largeHeap + stream-parse Overpass + revert flock z11
  • Flock cameras: show them at route-overview zoom + record fetch outcome to diagnostics
  • Unified Google-style speed box + smoother free-drive tracking
  • Fix black overlay on roads + transit stop resolution + chevron hiding search bar
  • CI: guard against missing translations (fail fast on a locale gap)
  • i18n: backfill settings_version_copied into the CJK + Hebrew locales
  • Terrain shading: translate the toggle + hint into all 14 locales
  • Flock avoid: settings hint states the detour cap + the unavoidable case
  • Reconcile #85/#101 speed-limit sign (free-drive guard + overlay fallback)
  • Transit tap-through: pick the leg that boards at the tapped stop, not just the line
  • Flock along-route count: tile the query + segment-distance the near test
  • Flock avoid: stamp the route set by epoch so naming a route can't drop the badges
  • Dictation audio focus: abandon before release so music can't stick paused
  • Transit route detail: cancel the lookup on close, focus the sheet's back arrow
  • Add Android Auto troubleshooting doc for sideloaded nav apps
  • Nav: speedometer is a rounded rectangle, matched to the SPEED LIMIT sign
  • Speed-B: device-verified on a simulated drive + log only on change
  • Speed-B: use Log.i for the overlay-read diagnostic (visible in release)
  • Speed limit: online 'Speed B' streamer - posted limit without a routing graph
  • Flock: make the toggle AVOID, not just warn (auto-prefer low-camera route)
  • Flock: opt-in 'cameras on route' warning on the route picker
  • Directions: long-press the map to route through an arbitrary point
  • Search: a no-result search no longer shows a blank screen
  • Flock layer: fix the Overpass query (out body) + persist the toggle
  • Voice: pause playing music while Vela dictation is listening
  • Transit UI: drop the chevrons, go clean Google-style
  • Transit tap-through: transit-biased headsign geocode + board-leg pick + docs
  • Transit: tap-through route stop timeline off the departure board
  • Departure board: show more routes per stop (cap 12 -> 24)
  • Share menu: rename 'Google Maps link' to 'Copy link' and copy to clipboard
  • Show Flock cameras from a neighbourhood zoom, not only street level
  • Docs: bus route numbers + flat-vs-grouped board layouts
  • Show route numbers on the departure board and group buses by route
  • Tapping a bus stop opens the stop, not the road intersection
  • Add "Open on the web" to the share menu
  • Fix the cold-launch camera staying zoomed out instead of on your location
  • Show the departure board when you tap a bus stop on the map (issue #71)
  • Show a live departure board when you tap a transit stop
  • Show a "departs in X min" countdown and live badge on transit options
  • Add the reversible bake pipeline for a posted-speed-limit overlay
  • Pin Hebrew dictation instead of falling back to auto-detect
  • Show the speed-limit sign while free-driving, not only in navigation
  • Redo the launch recenter in the view layer so it actually fires
  • Draw mapped Flock and other ALPR cameras on the map
  • Snap the map back to my location on launch after a crash
  • Drop the 'like Google' aside from the terrain-shading hint
  • Add a terrain-shading toggle (off by default) and fix the reviews search circle
  • Recolor the overlay houses in classic mode and note it is dark-mode for now
  • Translate the newest UI strings into every language
  • Integrate Hebrew alongside Chinese and Japanese, and correct its notes
  • Add Hebrew (עברית) localization + RTL — 12th language
  • Give the classic night palette its own look and enlarge the location arrow
  • Make the navigation arrow bigger, drop the white ring, and use a brighter navy
  • Point the missing-voice pill at system voice settings for languages Piper cannot speak
  • Make re-parking a clear choice instead of a two-step dance
  • Track your location while free-driving and smooth the heading beam
  • Update the language-set tests to expect Chinese and Japanese
  • Escape the apostrophes in the map colors hint so the release build stops choking
  • Fix the Chinese depart phrase so it compiles
  • Add Chinese, Taiwanese Chinese and Japanese across the app, spoken directions and dictation
  • Point offline routing at the rebuilt graphs so avoid tolls and avoid highways work everywhere
  • Let the routing graph workflow publish a parallel graph generation beside the old one
  • Keep map POIs around when you pan back or close a place instead of refetching from Google
  • Add a map colors setting with the modern Google look and the classic Vela look, remote default included
  • Tap the version number in Settings to copy it for bug reports
  • Catch the feature list up on the nav puck, bold streets, bike teal, plurals and the ramp voice fix
  • Say '1 result' not '1 results' by using proper plurals for the results count
  • Fix the nav voice mispronouncing take by giving the sign destination its own beat
  • Draw dedicated bike paths in Google's teal on the map
  • Bold the street-name labels on the map, matching Google
  • Make the navigation arrow match Google: a white arrow inside a filled blue circle
  • Put the privacy comparison table back in the README and move the how-it-works breakdown to its own doc
  • Record that menu photo dates cannot be recalibrated: the gallery request is unchanged and Google now returns no photos to any automated request
  • Slim the README down to the essentials and move the deep dives into PRIVACY and SPEC
  • Retake every README screenshot with the standard teal look after the last set accidentally used wallpaper theming
  • Fresh screenshots for the 0.4 look, and the gallery shot retires
  • Note the 0.4 line in the project guide
  • The 0.4 line begins
  • Fix a brace the merge dropped in the search parser tests
  • Review fixes: cache write race, stale dot paints, avoid chips no longer degrade online routes
  • Retire the throwaway GraphHopper probe module and give the lists menu its keypad focus
  • Write the POI speed changes into the project guide
  • Map places appear as they load, nearby areas preload, and your home area shows instantly on launch
  • Avoid tolls and avoid highways arrive in the route chooser
  • Routing learns avoid tolls and avoid highways under the hood
  • The parking button and the results filter menus join the soft ink treatment
  • Icons stop reading darker than their labels, and the light map gets its last sampled colors
  • Map places that lose the label fight still show as small colored dots
  • Light mode is pixel matched to the real Google Maps app
  • Note how the sports-field tint actually lands in the map style guide
  • Sports fields actually show their tint now
  • Park and bike trails draw as green lines and sports fields get their Google tint in dark mode
  • Update README.md
  • Alleys and driveways draw a shade darker than streets in dark mode, like Google
  • Zoomed-in buildings stop glowing brighter than the palette in dark mode
  • The Android Auto map uses the Roboto style too, not just the phone screen
  • Microsoft footprint buildings wear the sampled palette too, and the old map colors are archived
  • Map labels now render in Roboto like Google, from our own font host
  • Flick a minimized place card open from anywhere on it, not just the pull bar
  • Dark mode is pixel matched to the real Google Maps app and flicks can no longer read as zero
  • Sheets finally flick like the place card, the map wears your eyedropped Google colors, two finger tilt actually triggers, and photos zoom on double tap
  • Correct the notes: the place page carries no photo dates, the photo listing recalibration is the only route
  • Census the page payload strings while hunting photo dates
  • Read the photo dates out of the page's embedded payload strings
  • Loosen the photo date mining so it finds the page's real photo entries
  • Restore the project notes wiped by a bad merge resolution and add the missing entries
  • Menu and gallery photos get their dates back, flicks snap sheets a detent, and the map palette tracks the Google app
  • The minimized route chooser reopens smoothly, pans away like the other sheets, and light mode roads pick up Google's grey
  • Map greens match Google now and are actually visible in dark mode, the trip time stops wrapping, and the map style setting is gone
  • Flat green forests and marshes like Google, an interface size setting for car screens, bigger nav buttons, and the search bar stops taking taps under an expanded place card
  • Note that menu photo dates wait on recalibrating the photo listing call
  • Menus show up much more reliably
  • Vela tells you which side your destination is on, sheet buttons share one circle look, and the README slims down
  • Drag the route chooser from anywhere, sticky travel mode, wider zoomed-out search, filters clear map pins too, bookmark save icon, circled directions close
  • The minimized Start button waits for the chooser body to be nearly gone before growing in
  • The route chooser now minimizes under your finger with real inertia
  • Picking a time that already passed now says so instead of silently snapping to now
  • Search along route chips look tappable and you cannot schedule a trip in the past
  • The directions buttons match the rest of the app and estimated times drop the tilde
  • Depart at and arrive by feel deliberate now, the reviews tab gets a real rating histogram, menu photos carry their dates again, and the minimized card no longer shows map under it
  • Update the project notes for the sheet fold changes
  • The place card lands its minimize without the last moment hop, the results list folds its filter chips away with the sheet, and menu photos show when they were uploaded
  • Minimizing a scrolled place card scrolls it back to the top so the name is never stuck behind the handle
  • The place card fold now moves with the card and the reviews page only closes when you really pull it
  • Minimizing the place card now folds the extras away smoothly instead of swapping to a separate mini card
  • The reviews pull-to-close waits for your finger and springs back
  • A privacy comparison table joins the README
  • The full reviews page can be pulled down from its top to close
  • The parked car sheet is a single fixed height, no phantom minimize
  • The parked car sheet no longer loads the last place's reviews and photos
  • Update the viewer feature note for the activity-window fix
  • Drop the dead full-screen helper and update the viewer notes
  • Full-screen viewers move into the activity window, fixing edges and rotation
  • Note the full-screen viewer chrome fix in the docs
  • The viewers show the status bar over a gradient, Google's own treatment
  • OSM icons blend with the Google dots, and junction signs wait for street zoom
  • Full black behind the viewers, since the dialog window refuses the bars
  • Note the true-fullscreen viewer fix in the feature list
  • The viewer content demands the real display size, ending the inset strips
  • The viewers finally reach the screen edges on modern Android
  • A pushed notice can be a pop-up now, not just a map card
  • The viewers paint their whole window, killing the last see-through strips
  • The place card's extras slide away, and the viewers claim the whole screen
  • The place card fades as it minimizes, and the header circles stop lying
  • Note the menu photo fix in the feature list
  • The Menu tab stops collecting photos that were never the menu
  • The photo viewer goes properly full screen with Google's blurred backdrop
  • Menus become a real tab, and the review search tucks behind a magnifier
  • F-Droid setup leads with the one-line repo address, README mentions Material You
  • Fix a build break in the nav-exit camera reset
  • Ending navigation returns to a flat north-up map, and POI layers stop racing
  • Star button becomes the save menu, gallery survives rotation, breathing room
  • The place page catches up to the rest of Vela's look
  • Filter chips open real menus, and results can filter to wheelchair accessible
  • Picking a result opens full size again, and the bar stacks its two lines
  • Every POI label can pick a clear side of its icon, not just the map results
  • Result labels can sit beside the pin, not only under it
  • The sheets glide down for real, and the results bar names your search
  • Note the house-number dedup in the feature list
  • House numbers stop repeating across apartment complexes
  • Stop signs and traffic lights step aside during a search
  • Sheets glide down softly when you grab the map, place card included
  • Grabbing the map drops the results list out of the way
  • The gas price gets its own bold line with a pump glyph in the results
  • Result pins match the ambient marker shape, base POIs hide during a search
  • Gas stations show their live fuel price on the map, the list and the place page
  • Result pins keep the grey teardrop with a red circle, bubbles lose the star
  • Dense search results collapse into red dots, rated restaurants get bubbles
  • Navigation now buzzes when it reroutes, not just when a turn is coming
  • The route chooser swipes down to a slim bar so the route is visible
  • The results list rides its throws, and back exits the search in one press
  • Search results draw as named POI icons instead of red pins
  • A new place closes the route chooser, and the map buttons stay under it
  • Switching languages back no longer leaves Russian behind
  • Sweep the long dashes out of every translation
  • The voice picker shows Android default as its own choice
  • Release pruning that can actually see the whole list
  • The sheet rides out the throw instead of springing to the detent
  • Respect Android's default voice app when nothing is picked in Vela
  • Choose which voice app the mic uses
  • Smoother sheet animation and a less eager minimize
  • The voice demo is a slim black strip so the player reads as a player
  • The place card follows your finger and coasts to the nearest size
  • Vela Voice warms up before the first dictation
  • Transit lines start off by default
  • Update README.md
  • Write down how the README's inline voice player gets its URL
  • The voice demo plays right inside the README
  • Screenshots without transit lines, and the voice demo says the new line the way the app would
  • Transit screenshot returns without the purple overlay, and the voice demo matches the app exactly
  • Test and playground speech ignore the mute switch
  • Screenshots lead with navigation, install moves below them, and the voice demo gets a real player
  • README leads with what people care about, plus a listenable nav-voice demo
  • Traffic conditions in words on route choices, and no surprise voice sample after installs
  • Refresh the README screenshots on 0.3.472
  • Bigger arrival time without the traffic note, and every nav card joins the stack
  • Docs pass for the permission, voice and notification work
  • One notification area on the map, a Get-a-voice shortcut, and a spoken directions toggle
  • Warn when you would arrive close to closing time
  • Update button on the update card is a filled pill
  • Approximate location gets a real circle and an explainer, and setup asks about notifications
  • Recents get a remove X and show addresses, Home and Work menus match their text
  • Ask for precise location when navigation needs it, and explain a dead locate button
  • Make the approximate-location blob actually visible, and polish the voice bits
  • Show a soft accuracy circle when the location is only approximate
  • Voice search: the mic now offers the Vela voice download, and installs are fast
  • Voice search polish: call it Vela voice, livelier pulse, cleaner transcripts
  • Document on-device voice search (privacy, features, architecture)
  • On-device voice search: mic capture, tiers, and the Settings download
  • On-device voice search: model hosting + Whisper recognizer engine
  • Capitalize Vela Voice and quiet down the Voice library copy
  • Tighten every Settings description and drop the leftover clutter
  • Reframe the Offline maps section: local area vs whole states and countries
  • Rename Offline to Offline maps, move it above Search, simplify the region filter
  • Simplify the offline Map area and Routing regions descriptions
  • Settings tweaks: clearer offline text, content filters back with place content
  • Declutter Settings: Advanced and Developer groups, shorter language and voice sections
  • Ask for location right at Get started, drop the extra rationale screen
  • Trim onboarding to three steps and give dialog buttons a filled pill
  • Voice search mic in the search bar
  • Polish the onboarding prompts
  • Ask for location in onboarding with a reason, and make the voice offer an honest choice
  • Update straight from Settings
  • Docs-only pushes stop cutting nightlies
  • Docs: which surfaces follow Material You and which stay neutral
  • Docs: how the F-Droid channels and triggers actually work
  • F-Droid repo suggests the stable; nightlies become opt-in unstable
  • F-Droid index actually refreshes on every nightly now
  • Material You dynamic colours (issue #15)
  • Document the infrastructure releases so nobody deletes the download backend again
  • Nightly pruning only touches v0 tags
  • Prune nightlies past the newest 14
  • Fix crash on open on Android 10 and below when a location provider is disabled
  • F-Droid badge next to the Obtainium one
  • Recents mix places and searches in one timeline, saved rows readable in dark mode
  • House numbers draw above buildings again
  • List notes stick to chain stores, show inside the list, and the list shows its name
  • Audit cleanup: dead code out, stale comments fixed, shared helpers deduplicated
  • Audit fixes: version-skew data wipe, feature id padding, five smaller bugs
  • Street names stay readable over routes, keypad focus ring stops clipping the first letter
  • Map labels always win over stop signs, compass clears the search bar, demo dot stays blue
  • F-Droid repo: install fdroidserver from pip, apt's is too old for modern APKs
  • Fresh Davis screenshots and a plain-words guide to parking, lists and import
  • Demo drive shows the real nav notification too
  • Add a self-hosted F-Droid repository built and published by CI
  • Nav notification shows the turn: arrow glyph, ETA clock, lock-screen detail
  • Tone the lists ribbon down to chip grey in dark mode
  • Move Your lists out of the search page into the ribbon button's own menu
  • Fix crash when switching light/dark theme in the app
  • Lists map ribbon + export/import, light-mode status bar icons, D-pad highlights, nightly update channel
  • List import: preview + opt-in Save, not silent auto-save
  • Local place lists (issue #1) + parking history
  • Parking v2 (own button + map pin + car sheet), Google Maps list import, department-hours alignment
  • Docs: tidy the department-hours entry; write up the proven list-import extraction
  • Save my parking spot; department hours nest under the main Hours row
  • Show in-store department hours on the place sheet
  • Docs: location hygiene is a judgment call, not a blanket ban
  • Docs: location hygiene rules for contributors and AI assistants
  • Fix department hours mashing into store status; locate button back to the stock FAB
  • Locate button matches the chip surfaces; arrive step drops the duplicate street line
  • Locate button: back to full size with a lifted circle
  • Google-style locate button, radio label spacing, Davis test coords, parking-spot roadmap
  • Make every Settings toggle a visible D-pad focus stop
  • Replace a few remaining local street names in comments with Davis examples
  • Stops always open the editor + a full docs cleanup pass
  • Post-merge tweaks for the Android Auto PR
  • Dot outlines, teal you-pin, ink flag, no ghost route in walk mode
  • Exact-constant walking dots, blue me-pin + flag grammar, tap to restore the card
  • AA: fix NAVIGATE handler crash on geo: URIs (opaque — getQueryParameter throws)
  • Update README.md
  • Update README.md
  • Google-style dots, stops editor sheet, swipe never closes the place sheet
  • D-pad: pressing up at the top of Settings lands on Back, not lost focus
  • Android Auto: full car-side nav (search/route/guide) + map-matching + smoothing
  • Fix the add-stop banner rendering black in dark mode + walking dots that don't scale
  • Search along route: picks add a stop, distances follow the trip, fix grey chips
  • Arrive step names the destination + an X to close search results
  • Route picker: only one route wears the Fastest tag
  • D-pad polish: Settings focus trap, dialog scroll, hybrid-phone search tap
  • CI: fall back to the upstream tts-runtime release so fork PRs don't 404
  • Fix Settings jank/ANR from voice-engine enumeration in composition
  • Fix the fastest route not always leading the route picker
  • Add a "Hide website & external links" setting
  • Add a "Hide adult categories" setting
  • Nav: show the full trip ETA before the first GPS fix
  • Make the directions chips match the rest of Vela
  • Add a simulate-my-location demo toggle and refresh the screenshots
  • Fix the search bar not opening on ordinary phones
  • Search framing: stop the camera snapping back after fitting the results
  • D-pad: focus rings on every place-sheet action, fix Choose-on-map, add exhaustive auditors
  • Add dpad_test_suite: reproducible on-device D-pad checks
  • D-pad: bare map opens on the search bar, not an engaged map
  • D-pad: Welcome Get-started now auto-focuses on every screen size
  • docs: record the menu/dialog auto-focus solution (VelaMenu/VelaDialog)
  • D-pad: menus now auto-focus too (VelaMenu) -- secondary-window gap closed
  • D-pad: dialogs now auto-focus (VelaDialog, raw-Dialog pattern)
  • D-pad: finish proving the secondary-window focus limit (menus + dialogs)
  • D-pad: document the Compose secondary-window focus limit (menus + dialogs)
  • D-pad: add robust off-screen auto-focus + document menu/dialog limits
  • D-pad: place focus on every screen so no keypress is wasted
  • D-pad: make the full-screen reviews WebView scroll by D-pad
  • D-pad: close the last touch-only gaps found in a full-app sweep
  • Add full D-pad / no-touchscreen operation
  • Results sheet: back never exits the app, camera frames the pin cluster
  • Results sheet: back steps one size down, and the top stays visible
  • Nightly and weekly release channels
  • Search results now rise from the bottom, like Google
  • Fix content falling off the bottom on short screens (scroll)
  • Directions: scroll the travel-mode chips so Bike isn't clipped
  • Transit: schedule a departure/arrival time (+ date, + Last available)
  • Transit: step-by-step trip guidance (Moovit-style)
  • Transit: turn-by-turn walking directions within a walk leg
  • Transit: full stop detail in the leg drill-down
  • Polish the search results panel: filled chips, no hide button, cleaner hiding
  • Tap a house number or building to open its address
  • Cut the 0.3 release line
  • Refresh the app screenshots on a Pixel 9
  • Restyle chips as full pills and rebuild the search results sheet
  • Add contributing guidelines, security policy, and issue templates
  • Reorganize Settings and freshen up the navigation look
  • Give the Check for updates button some room above the gesture bar
  • Documentation crawl: fix stale claims and catch everything up
  • In-app updater, plus smoother panning when zoomed way in
  • Android Auto support, first cut
  • Settings to hide reviews and skip photo loading
  • Offline place packs now update themselves instead of going stale
  • Share the download progress counter between the offline stores
  • Stream the place pack build so country sized regions fit CI
  • Whole-state offline place packs, so searching offline works like Organic Maps
  • Nudge older saved areas to pull offline address data
  • Offline polish: POI addresses, honest ETA, and move the offline chip
  • Add true offline address routing and a quiet offline indicator
  • Match a POI's address in offline search
  • Transit lines on by default; robust multi-word offline search
  • Make offline category search work (gas, coffee, food)
  • Fix blank origin picker so "Choose on map" is reachable
  • Make the minimized place card show the name, not photos
  • Voice library: show top voices per language with "Show more"
  • Drop em-dashes from the English UI text
  • Fix Settings not scrolling to Offline from the onboarding prompt
  • Put a real changelog in each GitHub release
  • Show offline search guidance instead of a raw host error
  • Place sheet: minimize-first swipe and fix disappearing POIs
  • Add a transit-line highlight layer (train + subway)
  • Add "Choose on map" to build a route between two points
  • Keep the map camera put on sheet close and Settings exit
  • Collapse voice library into per-language groups
  • Update README.md
  • Add an offline maps prompt to onboarding
  • search: handle offline properly (issue #3)
  • readme: move screenshots above the "why Google" note
  • Update README.md
  • readme: add a short "why a degoogled app uses Google" note
  • build: debug-only network security config trusting user CAs (re: PR #4)
  • docs: Obtainium install badge + doc-drift sweep (second-pass audit)
  • nav: font-scale-safe overlays (issue #2) + second-pass regression fixes
  • voice: revert default speed to 0.8 + download card ("Vela voice", Installing phase)
  • voice: extraction progress (no more 98% park) + download card over the map; drop the remote-config notice
  • voice: force final-consonant release ("lef"→"left") + fix 152nd reading
  • docs: re-shoot screenshots 01/02/04/06/07 — clean status bar (no Asana icons)
  • docs: sync calibration v11 / voice speed 0.72 note in CLAUDE.md
  • voice: lower default spoken-directions speed 0.8 → 0.72 (calmer + clearer)
  • nav: bigger + always-visible traffic controls; fold pure-rename "Continue" cards
  • map: stale-response guards, replay-stop, resume lifecycle (Fable audit batch 4/4)
  • voice/web/offline: focus leaks, interrupt latency, download + WebView races (Fable audit batch 3/4)
  • nav/routing: localize offline routes + refine light landmarks + area POIs (Fable audit batch 2/4)
  • scraper: harden parser calibration + JS sandbox (Fable audit batch 1/4)
  • nav: demo/simulate-driving mode — drive any route with no real GPS
  • docs: re-shoot place-sheet screenshots with upright POI labels
  • poi: upright labels during search + conspicuous dropped-pin coordinates
  • directions: editing the origin no longer clears the destination
  • poi: name-aware icon grouping fixes grey-generic YMCA (matches Google + OSM)
  • place: Street View pill opens Google's keyless pano externally (in-app WebView is black)
  • docs: Street View investigated — keyless in a browser, WebGL-black in a WebView (reverted)
  • search: fix Open-now (hours fallback), add Sort chip; chips: monochrome glyphs
  • i18n: fix Dutch keep-LEFT at keep-RIGHT forks (safety) + uk genitive + locale parity
  • map: POI label text matches the icon's category colour in BOTH themes
  • docs: refresh Davis map screenshots (new POI label placement + icons)
  • places: first-class "Temporarily closed" (banner + hours suppression, 11 langs)
  • perf: quarter house-number placement load (bake z17); labels: fix the far-label state
  • overlays: stream the UNION of covering regions — fixes St Joseph's missing buildings
  • voice: arrival semicolon prosody + crisper consonants; map: cap controls symbols
  • nav: fix the doubled "head out on out on" opener at nav start
  • docs: house-number layers are minZoom 17.5 now (Google street-level parity)
  • map: house numbers only at street zoom (17.5); voice: drain audio so prompts can't chop each other
  • docs: drop stale 'placed ON TOP' phrase superseded by the layer-order fix
  • map: fix POI icons vanishing at z16+ (addr numbers evicted them) + doubled numbers
  • map: pull POI labels closer to the icon (radial offset 2.0 → 1.4)
  • map: tighten POI labels toward the icon + fall back to under-icon on collision
  • replay: clear the route line + snap the dot back to real location on teardown
  • docs: u-turn abandon now gates on onRouteStreak, not bare !offRoute
  • nav: harden reroute-abandon (sustained rejoin, not one grazing fix) + replay stale-timer
  • docs: record replay arrow/GPS fixes, u-turn back-on-course, incidents defer
  • nav: abandon an in-flight reroute when the driver returns to the original route
  • replay: show the directional arrow + stop real GPS snapping the puck back
  • map: surface schools + parks as ambient POIs (the real fix)
  • Fix 3 defects from adversarial review of this turn's changes
  • map: draw traffic lights + stop signs (keyless OSM, high zoom)
  • nav: silence "use the lanes to continue" for turn bays, keep it for real forks
  • POIs: fetch national parks + confirm schools/parks are iconed
  • Nav: traffic-light landmark guidance ("pass the light, then turn") — off by default
  • Address overlay: county-aggregate mode for the 10 non-statewide states
  • Nav: silence straight renames; steadier voice consonants
  • docs: record the nav drive-report fixes + traffic-light plan
  • Nav: consolidate exit ramp + fork/merge into one instruction
  • Nav: bridge route-line z-order, feet increments, voice state-route refs
  • docs: update route-sort note (sort by displayed ETA, supersedes gRatio)
  • Nav: fastest route always leads the picker + compass clears the banner
  • Address overlay: CI pipeline for the 42 statewide OpenAddresses states
  • Overlay: stream open house-number labels (OpenAddresses)
  • Overlay: stream footprints online — no download needed to see houses
  • Overlay: chunk big countries by quadkey prefix (buildable + downloadable)
  • Overlay build: parallel, disk-lean ms-global downloads
  • Building overlays: world catalog — 51 US states + ~199 countries
  • Localize the resume-navigation strings into all 10 languages
  • Overlay rendering + fix silent large-download timeout
  • Overlay: shrink tiles — z14 min (was z12), drop no-size-limit
  • Overlay (step 3): app-side download store + hook (pipeline proven E2E)
  • Overlay (step 2): CI matrix workflow + manifest merge (buildings PMTiles)
  • Nav: persist + resume navigation across a process kill
  • Nav audio: revert pause -> MAY_DUCK (music didn't resume); keep the hold
  • Nav: 4 drive-reported fixes (rename voice, roundabout exit, sort, compass)
  • Overlay (step 1): buildings-PMTiles build script + region catalog
  • Nav audio: duck harder + hold focus so music ducks reliably
  • Nav: posted speed-limit badge from OSM maxspeed (on-device GraphHopper)
  • Map: fix building footprints (empty maxzoom range) + house numbers z16
  • POI markers: grey teardrop pin + labels to the left of the icon
  • POI markers: grey pin/bubble backing, drop the white ring
  • Voice: don't read a language through a mismatched neural voice
  • Onboarding: Vela voice recommended for everyone; refresh Davis screenshots; docs consistency pass
  • Trip replay overhaul: route segments, hermetic playback, trace-time puck
  • Navigation audit remediation: 40+ fixes across position, guidance, rendering, audio
  • Nav tracking overhaul + real continue-silence + closed-place status truth
  • Nav voice: lanes-first preface, drop redundant "continue", raise photo caption
  • fix: review-photo caption really fixed on Android 15/16 (Pixel 9)
  • fix: review-photo caption invisible on Android 15+ (Pixel 9) + bright photos
  • i18n: localize Google POI content (categories/hours/status) via hl + numeric status code
  • i18n: localize the search-category chips (decouple label from query)
  • i18n: translate the app UI into 10 languages + localize ViewModel/notification
  • i18n: externalize ~330 :app UI strings to resources (English)
  • i18n: runtime locale-switch mechanism (attachBaseContext + recreate)
  • i18n: in-app language picker (Settings → Language)
  • i18n: pair the download voice to the app language
  • i18n: spoken navigation now speaks 10 languages
  • nav: speak lane guidance ("use the right 2 lanes") from OSRM lane data
  • i18n: localize NavSession spoken lines + the Test-voice sample
  • i18n: AppLocale — follow the system language, drive the nav-text locale
  • i18n: route NavEngine spoken frame + forSpeech through NavStrings
  • i18n: introduce the NavStrings foundation (nav-text localization seam)
  • Voice: splice a short beat at commas/semicolons so clauses don't run together
  • Voice: fix stale trash icon on delete + silent-until-restart after download
  • Voice catalog goes multilingual: group by language + per-language voices
  • Voice: default to HFC Female @ 0.8× (remote-settable default voice id)
  • Voice library: browse, download & switch between many Piper voices
  • PlaceSheet: put Directions up top, phone/website below the hours
  • Voice: read 3-digit street ordinals + stop clipping the nav-start prompt
  • Place-sheet settle (star-on-top, contact rows) + viewport search + LRU POI cache
  • Place-sheet: scrollable action pills (Call shows number) + lean header; faster POI HTTP
  • Place-sheet redesign (Save/Share→header, wide Directions), driving-haptics-off, POI zoom cache
  • Polish: per-mode haptics, 0.7 voice default, collapsed TTS, prominence sizing, smoother pan
  • Ambient POIs: hand only near-view + cap 140 — fix Pixel 5a drag lag
  • Fix "fewer POIs" regression (hand map all, let collision limit) + replay voice engine
  • Map POIs: deeper + broader + zoom-scaled ambient coverage
  • Map POIs: rank ambient Google places by real prominence, not category-term order
  • Voice picker: type a variant number to jump (not just ◀ ▶ step)
  • Voice: push speaker 14 + 0.8 default, remote-settable speed, sentence-pause at periods
  • Voice speed control + remote-default speaker; fix Search-this-area + POI ranking
  • Holiday hours: surface Google's special-hours label as a callout
  • Voice: swap to libritts_r (more expressive) + a speaker picker
  • Reclaim disk from removed Kokoro/Matcha voice models on launch
  • Voices: drop Kokoro + Matcha, Piper is the sole "Vela voice"
  • Settings: make the Offline section collapsible (collapsed by default)
  • Add Matcha neural voice (balanced: realtime + warmer than Piper)
  • Voice: fp32 Kokoro (~2x faster) + upgrade path + a text playground
  • Add a fast Piper voice alongside Kokoro (13x faster) + research on faster Kokoro
  • Kokoro voice: fix accent (en-us), first-run voice prompt, latency findings
  • In-app Kokoro neural voice (runs inside Vela, no SherpaTTS app) + POI two-stage collapse
  • Reviews: harden native photo caption scrape (author·date shows reliably)
  • Voice: offer SherpaTTS/Kokoro; reviews button relabel + declutter; POI photo LRU cache
  • Reviews polish: bold search matches, sheet handle (tap/scroll-to-expand), fix full-screen viewer
  • Reviews architecture pivot: native inline list + full-screen "Read all" Google panel
  • Reviews header: center the rating row above the histogram; un-clip the search field
  • Reviews panel: center histogram; chip-less businesses get search/sort; gesture smoke passed
  • Reviews panel: un-stick engaged mode, kill the resize flicker, hold reveal for ALL carves
  • Native review search/sort/chips + streamed, pre-warmed POI photos
  • Reviews panel: no histogram dupe — fade requires native data, reveal waits for fade
  • Reviews panel: class-agnostic watchdog (healthy panels were being killed)
  • Reviews panel round 4: zero-flash summary fade; engaged panel takes the WHOLE sheet
  • Reviews panel round 3: engaged clears all chrome; flicker/fling/flash fixes; system font
  • Reviews panel: narrower native histogram, engaged-hide, "?" row, font unify, flash fix
  • Reviews panel polish: momentum handoff, sheet takeover, native histogram, load UX, feed watchdog
  • Scroll-sync v2: forward boundary drags to the sheet (handoff didn't survive real fingers)
  • Reviews panel: scroll-sync (boundary handoff to the Vela sheet)
  • Reviews: fix dropped photos (jsaction key) + author/date caption; flatten lane arrows
  • Reviews panel: tap-to-view photos + full load gate; nav preview/steps/lanes
  • Reviews panel polish: Sort works, hide Like/Share/⋮, keyboard drops, gold stars
  • Reviews panel: fix disappearing-on-scroll (promo strip nuked the review list)
  • Reviews panel: strip Google chrome + seamless Vela-matched background
  • Live Google reviews panel: the visible-WebView idea, shipped (experimental)
  • Reviews scrape 2.1x faster overall: taller viewport + trimmed settle
  • Reviews scrape ~37% faster: 250 ms poll ticks (wall-clock windows preserved)
  • Reviews: stream into the list while loading + reach the 50-cap on busy places
  • Nav puck: Kalman speed fusion w/ accelerometer + review-scrape/UI fixes
  • Reviews: live loading progress (counter + bar) — the scrape wait is visible now
  • Reviews: fix still-3-on-businesses, add search + code-review-pass fixes
  • Photo categories: populate fully (viewport) — fix ~1-per-category sparsity
  • Docs: menu-link button deferred (fragile path; menu covered by photo Menu tab)
  • Q&A: triaged — login-gated, not keyless; documented + scaffold removed
  • Photo gallery: category tabs (Menu / Food & drink / Vibe / By owner)
  • Multi-stop follow-ups: per-stop arrival cue, reroute-through-remaining, reorder
  • Docs: menu-link probe finding (not in [75]; needs a focused capture)
  • Reviews: load ~40 (not 3) via WebView viewport + jJc9Ad + review-id dedup
  • Multi-stop directions (waypoints)
  • Incidents: WebView path investigated — bottoms out at binary vt tiles
  • Directions: show "+N min" delta on slower alternates
  • Investigate traffic incidents (keyless), document finding + paths
  • Nav: gate compound "then" preview on maneuver spacing + next-step shield
  • Fix lanes showing miles early + business name leaking into address
  • Hours: parse ALL ranges + surface holiday labels; the fallback is holiday-aware
  • Search: rank the main store above its departments; hours status back to Google-primary
  • Place: compute open/closed from hours (past-midnight-aware) + status/traffic diagnostics
  • Routing: rank routes by per-alternate live ETA (fastest leads) + directions-protocol spec
  • Routing: name-on-pick — provisional alternates, named only when you choose one
  • Routing: bring back alternates — surface Google's own alternate routes
  • Nav: reject reroute/faster candidates that don't reach the destination
  • Routing: snap to Google's path only when it's actually faster; docs sweep
  • Docs: refresh the front door — current features + a features→method→code map
  • Nav: real Google-style per-lane diagram from OSRM lane data
  • Nav: capture OSRM highway refs/exits, retry OSRM, tighten route-gradient lag
  • Settings: merge 'Offline maps' + 'Offline routing' into one 'Offline' section
  • Docs: world routing catalog complete (137 regions) + offline-routing in SPEC
  • Offline routing: pick the SMALLEST covering region (border-overlap fix)
  • Offline routing: add a name filter to the region picker
  • CI: fix group-path region selection (empty ids → [] not [""])
  • graphbuilder: bump import heap 6g→12g for country-sized regions on CI
  • CI: serialize routing-graph runs so concurrent dispatches can't race the manifest
  • Offline routing: world region catalog + race-safe parallel build pipeline
  • Offline: combine map+routing downloads, location-aware routing picker, fix region bbox
  • Routing: host offline-routing graphs on GitHub releases (offline routing goes live)
  • Routing: multi-region offline graphs — download several, route in whichever covers the trip
  • Routing (Phase 1b-ii): per-region graph download + offline routing END-TO-END (on-device verified)
  • Routing (Phase 1b perf): Contraction Hierarchies make on-device routing fast (7.6s -> 188ms)
  • Routing (Phase 1b-i): wire on-device engine into directions() as the offline fallback
  • Routing (Phase 1a): GraphHopper RouteEngine in :core, R8-proven for release
  • ghprobe: PROVE GraphHopper v11 routing + map-matching works on Android (on-device test PASSES)
  • ROADMAP: on-device engine = GraphHopper (not Valhalla); spike + sizing + dep scan
  • Routing: traffic-aware path (option 3) — snap OSRM to Google's route only on jam-divergence
  • Routing: open router (OSRM) is now PRIMARY; Google demoted to traffic + fallback
  • Directions: place turns by step-fraction, not polyline length (fixes mis-placed turns)
  • Fix: recenter no-op, photo shimmer on addresses, parallel-Nominatim street-fill
  • Polish: declutter ambient POIs, POI-tap over chooser, reverse-geocode bare turns, search "Hide" bar
  • Nav: dashed walk/bike route line + mock-nav test proving turn road names
  • Photos: full gallery via place-page scrape (replaces the degraded RPC) + loading shimmer
  • Photos: dial back the gallery retry — degradation is per-session, not transient
  • Photos: retry the gallery fetch — it's intermittent keyless, not gated
  • Photos: de-dup the hero + fold in [204] preview; document the gated gallery
  • Photos: fix blank hero strip — Google moved search photos [105]→[72]
  • Reviews: open the full list + keep-best so heavy places (Taco Bell) load
  • Reviews: fix author/text scraping + faster load; denser ambient POIs
  • Reviews: restore via hidden WebView + finally get per-review photos
  • Map: fan out ambient POIs across category terms (~2x coverage)
  • Map: ambient POIs — zoom-tracking viewport for coverage + clear on zoom-out
  • Map: ambient Google POIs as category dots, Google-first over OSM
  • Map: ambient Google POIs on the bare browse map (v1)
  • Map: enable two-finger tilt to 3D (explicit, max pitch 70°)
  • Nav: fix generic turn arrows + line-gradient spam (on-device diagnosis)
  • Nav: regression-test that voice speaks the road name ("onto Larch Way")
  • Nav: offline auditor — diff cards/voice vs the plotted route from a saved trip
  • Nav: real highway-shield shapes in the maneuver banner (v1, US + Canada)
  • Nav: regression tests for today's bugs + TTS expands road abbreviations
  • Nav: fix maneuvers 6 mi out of sync + TTS ignoring Imperial units
  • Nav/browse: sensor compass for the heading cone when stopped (OsmAnd-style)
  • Nav: speed-adaptive position low-pass + gradient cut tracks the per-frame arrow
  • Nav: fix replay stuck "stationary" (sanePosition rejected every fix)
  • Nav: per-frame follow-camera (fix the "stiff" throttled-ease feel)
  • Nav: reject GPS position outliers + hold the dot at a standstill
  • Nav: solid gradient cut, smooth puck-follow, zoom locks + keeps tracking
  • Nav: camera glide, speed-spike reject, full POI declutter
  • Nav: fix pinch-zoom snapping back + grey-split not under the arrow
  • Nav tuning instrumentation + finding: stop-detection already handled
  • Nav: predictive camera — aim ahead of the puck to see into turns
  • Nav: pinch-zoom during navigation without losing the follow-camera
  • Nav: continuous speed→zoom (stop the "zooms in and back" oscillation)
  • Nav: forward-only map matching (OsmAnd-style), no more global re-snap
  • Reviews: widen the auto-retry window (~1.2s -> ~3s)
  • Reviews: honest "couldn't load · tap to retry" state (not "no reviews")
  • Reviews: retry the intermittent empty fetch (count-vs-zero mismatch)

Full changelog: v0.4.736...v0.4.739

Don't miss a new Vela release

NewReleases is sending notifications on new releases.