Skip to content

Releases: CJFData/light-transit

Pico Transit v0.2.6-pre

Pre-release

Choose a tag to compare

@CJFData CJFData released this 26 Aug 23:22

Debug-signed APK attached for sideload testing (see README's "Getting it onto a real Light Phone III" section).

Highlights since v0.2.3

  • Select Run — for CTA 'L' trains and MBTA Green Line, whose live vehicles show up as a "Closest match" rather than a certain trip match. A stop-by-stop view lets a rider tap the live vehicle they're on directly, plus a quick Next/Previous stepper on Trip Detail.
  • Fixed a "running 1400+ minutes early" bug on trips that cross midnight — a real gap in how several shared schedule queries handled GTFS's "transit day" convention.
  • Fixed implausible live ETAs from ordinal fuzzy-run matching (an inherently approximate technique) — a wildly-off match now suppresses its status/row instead of displaying a nonsensical time.
  • Direction labels ("Northbound"/"Southbound", etc.) were silently dropped almost everywhere except the direction picker — now shown correctly on Upcoming Arrivals, Trip Detail, and Connections.
  • Stations list opens straight to arrivals — a plain tap now jumps to live upcoming arrivals instead of the platform map (on by default, Settings toggle).
  • Locked to portrait — the app no longer rotates to landscape.
  • CARTO map tiles now route through pico-transit-proxy with a real API key, server-side only.

Full detail in RELEASE_NOTES.md.

Pico Transit v0.2.3

Pico Transit v0.2.3 Pre-release
Pre-release

Choose a tag to compare

@CJFData CJFData released this 18 Aug 05:12

Pre-release, built for real-world testing -- not a final/stable cut.

What's new

  • STM Montréal crash fixes: confirmed OOM crashes on real hardware, both during download (Ktor buffered the whole response into memory before writing to disk -- now streams straight to disk) and during parsing (one SQLite transaction held open for the whole ~5.1M-row feed -- now commits in 50,000-row batches per table).
  • "Only download over Wi-Fi" setting (on by default) -- schedule downloads and update checks wait for Wi-Fi, so a refresh never surprises you with cellular data usage. Falls back to your last-downloaded schedule in the meantime, and resumes automatically the moment Wi-Fi reconnects.
  • "Clear schedule cache" Settings action -- frees up space by deleting every agency's downloaded schedule, then re-downloads your current one right away. Useful if a schedule ever ends up in a bad state.
  • 12 new agencies, static schedules only for now: BART, SFMTA Muni, AC Transit, Caltrain, VTA, LA Metro (bus+rail merged into one entry), CTA, Metra, Pace, NYC Subway, LIRR, and Metro-North. LIRR and Metro-North also have live vehicle tracking wired in; the other 10 are labeled "(No Live)" in the agency picker so it's clear upfront they're schedule-only for now -- most either need an API key we haven't obtained yet, or don't publish a compatible live feed at all.

Known limitations in this build

  • The 10 "(No Live)" agencies are static-schedule-only -- no live vehicle tracking or live ETAs yet.
  • CTA's feed is large (~6M rows, similar scale to STM's) -- confirmed it ingests successfully on a test device, but if you hit anything slow or crash-y on first schedule download, that's exactly the kind of report we want.
  • A comment-audit pass over this release's changes is in progress and revisions will land in a near-term follow-up commit -- doesn't affect app behavior, just internal code documentation.

Testing this build

This APK is signed with the Light SDK's own dev-testing key (same one every Light SDK tool uses locally), not an official Light-signed release. Install via Obtainium (or sideload directly) and try switching between agencies, especially the new ones -- feedback on crashes, slow ingests, or anything that looks wrong is very welcome.

Pico Transit v0.2.2

Pico Transit v0.2.2 Pre-release
Pre-release

Choose a tag to compare

@CJFData CJFData released this 17 Aug 05:49
  • Added STM Montréal as a supported agency, routed through the redirect proxy, timezone matching its own agency.txt exactly (America/Montreal)
  • Departures screen: tap the header to view tomorrow's schedule instead of today's, and back again
  • Renamed "Explore Schedules" to "Schedules" and "Explore" to "Explore/Leave now" in the docs, matching the app's own Schedule/Station/Explore naming
  • Fixed several README spots still describing the pre-v0.2.0 home screen (an inline agency picker that no longer exists)
  • Added a Gestures section documenting tap-and-hold-to-arrivals, double-tap zoom, and Trip Detail's boarded/not-boarded tap behavior
  • Added route-list screenshots for all five supported agencies

Pico Transit v0.2.1

Pico Transit v0.2.1 Pre-release
Pre-release

Choose a tag to compare

@CJFData CJFData released this 15 Aug 06:58

Removes two app-side workarounds now that every agency's realtime feed URL (and LTC's static feed) resolves through a redirect to HTTPS:

  • The :netconfig cleartext exception for RIPTA/LTC's HTTP-only origins is gone
  • The LtcTrustAnchor/GtfsTrustAnchors.kt bundled-root-cert workaround for LTC's untrusted cert chain is gone
  • GtfsRealtimeClient.fetchFeed simplified to a single request now that redirects resolve upstream instead of in app code

Also:

  • Fixed the home screen's "ETA h:mm" text rendering in the device's timezone instead of the boarded trip's agency timezone
  • Dropped "-testing" from LTC's display name
  • "Merge feed stations" now defaults on
  • Merged upstream light-sdk/main (NFC reader API, detached audio playback, Light Keyboard v0.0.18, zxing/sol4k allow-list)

Pico Transit v0.2.0

Pico Transit v0.2.0 Pre-release
Pre-release

Choose a tag to compare

@CJFData CJFData released this 11 Aug 01:41

Adds a dedicated onboarding step and reworks the home screen:

  • First launch (or switching agencies from Settings) now opens a welcome screen to pick your transit agency, instead of the home screen doubling as an always-visible picker
  • Once an agency's picked, the home screen shows a ticking clock in its own timezone, the agency's name, and a loading indicator until the schedule's ready
  • The clock stays visible while a trip is boarded too, alongside the live ETA and progress bar
  • Settings' old default-agency toggle list is replaced with a single row that reopens the same picker to switch agencies

See RELEASE_NOTES.md for the full picture of everything unique to Pico Transit.

v0.1.2 alpha

v0.1.2 alpha Pre-release
Pre-release

Choose a tag to compare

@CJFData CJFData released this 09 Aug 14:55

Full Changelog: v0.1.0...v0.1.2