Releases: luu176/Metroflip
Metroflip V2 Beta 2
UI Overhaul
- Custom Main Menu - Canvas-based menu with per-item icons and animated selection highlights
- Card View System - New multi-page scrollable card result display replacing plain text scroll
- Scan Animation - Dolphin NFC scan screen with progressive wave animation
- Supported Cards - Converted from plain text to scrollable submenu list with 20 cards
- Unsupported Card Scene - Card view UI with animated X icon, protocol/lock info, and GitHub reporting link
- Loading Screen - "Parsing card data..." popup when loading saved files
Plugin Migrations (17/19 plugins)
All plugins migrated to the new card view system with structured field display:
Clipper, Opal, myki, ITSO, Nol, Bip!, CharlieCard, GoCard, MetroMoney, SmartRider, Troika, Two Cities, RENFE Suma 10, RENFE Regular, Intertic, T-Mobilitat, TRT
Custom Icons
- 13 static icons: CardGeneric, Wallet, Calendar, Ticket, Train, Check, Cross, Lock, NfcScan, Save, Info, ArrowLeft, ArrowRight
- 39 animation frames across 13 icon sets for menu and parser animations
- 3 DolphinScan frames (progressive NFC waves from original dolphin image)
RENFE Regular Parser Rewrite (beta.3)
- Proper date decoding using LSB-first 15-bit DMY format (year+2000 | month | day)
- Card Dates page: card start date, card expiry, price, and tariff from Block 8/12
- Title / Charge page: title start (Block 13), last charge date/time and terminal ID (Block 61)
- Sale History page: sale date/time, terminal, and tariff from Block 57
- Trip history time-of-day decoding
- Broader history entry detection instead of only 4 hardcoded headers
- Gate direction (IN/OUT) and zone display on trip pages
- Removed bogus region detection patterns and dead code
Bug Fixes (beta.2)
- Suica/FeliCa crash fix - Fixed crash when reading Suica cards with many services. The FeliCa poller was traversing all 60+ services on the card, exhausting memory. Now reads only the needed history blocks directly, avoiding the full traversal.
- Navigo/Calypso AID selection - Fixed newer Navigo cards that reject the legacy CLA 0x94 class byte. Now performs an upfront ISO 7816 SELECT APPLICATION by AID before falling back to Calypso native commands.
- Unknown card scene - Added tick event handling for card view animation on the unsupported card screen.
Memory Safety and Stability
- Fixed null pointer dereference in main menu draw callback
- Fixed card view cleanup order
- Fixed double nfc_device_alloc leak in metroflip_alloc
- Fixed storage file handle leaks in manage_keyfiles
- Fixed plugin_manager leak when plugin load fails
- Replaced all FuriTimer usage with view_dispatcher tick callback to prevent usagefault on app exit
- Added null guards to all draw callbacks
- Show actionable error when plugin fails to load
- Many more fixes from FatherDivine and others (see CHANGELOG.md)
Full changelog: https://github.com/luu176/Metroflip/blob/dev/CHANGELOG.md
V1.0
This release contains:
a minor memory improvement
MEX AHORROBUS Card to desfire.c by @ry4000
renfe regular support with bono 10 variant, and variant mobilis 30 for suma 10 by @BocamoCM
Fix big bug in code for all desfire cards
Fix bug with renfe cards
New Cards:
Intertic disposable ST25TB cards adding 21 French cities and companies
T-Mobilitat can parse card number from historical bytes
Fix a lot of bugs relating mifare classic and stuff
Fix Suica minor string bug. Make the display backlight turn on when enter app
v1.0 Beta 4
This beta release contains:
- a minor memory improvement
MEX AHORROBUS Cardtodesfire.cby @ry4000- renfe regular support with bono 10 variant, and variant mobilis 30 for suma 10 by @BocamoCM
- Fix big bug in code for all desfire cards
- Fix bug with renfe cards
- New Cards:
- Intertic disposable ST25TB cards adding 21 French cities and companies
- T-Mobilitat can parse card number from historical bytes
- Fix a lot of bugs relating mifare classic and stuff
- Fix Suica minor string bug. Make the display backlight turn on when enter app
What's Changed
- Renfe suma 10 fix origin /region && add support for load renfe suma 10 saved cards by @BocamoCM in #69
- Add renfe regular support with bono 10 variant, and variant mobilis 30 for suma 10 by @BocamoCM in #73
- R&Y: Added
MEX AHORROBUS Cardtodesfire.cby @ry4000 in #72 - fix : not showing UID Renfe Suma 10 and align the info by @BocamoCM in #75
- Minor Updates to
suica.canddesfire.cby @ry4000 in #76 - FeliCa Updates: Support New OFW FeliCa API + Octopus Support by @zinongli in #78
- New Parser: nol (DXB) by @zinongli in #80
- Fix Suica minor string bug. Make the display backlight turn on when enter app. by @zinongli in #81
- R&Y: Added Locked AIDs to
desfire.cby @ry4000 in #82
Full Changelog: v0.9...v1.0-beta.3
V0.9
- Fix unsupported card crash
- RENFE Suma 10 support ADDED
- GEG Connect AID added to DESfire list.
- Top Up log parsing and animations.
- 16 new rail lines, including JR lines like Chuo, Negishi, Joban, and Yamanote; and all of Tokyu's operating lines.
- Added support for parsing area codes for future expansion on non-Tokyo areas.
- Added saving function for Suica/Japan Rail IC readings.
- Various bug fixes and safer memory manegements improvements.
What's Changed
- Renfe Suma 10 support by @BocamoCM in #61
- RENFE Suma 10 Plugin: Improved Station Detection and History Parsing by @BocamoCM in #63
- R&Y: Added
GEG Connecttodesfire.cby @ry4000 in #64 - Avoid accessing uninitialized memory in Suica by @oToToT in #66
- Suica Parser Upadate by @zinongli in #67
New Contributors
Full Changelog: v0.8...v0.9
v0.8
Metroflip v0.8
🚀 New Features
- Added 80+ card AIDs (some may not be fully parsed)
- Added more AIDs for DESFire
- Added Calypso card saving support
🐛 Fixes
- Fixed DESFire parsing issues
- Fixed Navigo crash
- Fixed crash when opening Navigo files after exit (post-beta)
- Fixed Clipper timestamp epoch conversion
- Fixed Calypso file saving logic
🙌 Credits
📦 What's Changed
- General fixes and improvements by @luu176 in #54
- R&Y: Added and updated AIDs in
desfire.cby @ry4000 in #56 - R&Y: Minor update to
desfire.cby @ry4000 in #57 - R&Y: Added ATH ATH.ENA, ECN motion, and PHL FREEDOM AIDs to
desfire.cby @ry4000 in #59
📄 Full Changelog:
v0.7...v0.8-beta.2
v0.7...v0.8-beta.4
v0.8 Beta
beta v1
added 21 more card AIDs (can't be parsed)
fixed desfire parsing
added calypso saving to save calypso cards.
beta v2
fixed navigo crash
fixed clipper timestamp epoch
fixed calypso file saving
beta v3
added more AIDs for desfire
beta v4
added more AIDs for desfire
beta v5
fix navigo file open crash after exit produced in beta version
Credits:
@WillyJL
@ke6jjj
@ry4000
What's Changed
Full Changelog: v0.7...v0.8-beta.2
What's Changed
- stuff by @luu176 in #54
- R&Y: Added and updated AIDs in
desfire.cby @ry4000 in #56 - R&Y: Minor update to
desfire.cby @ry4000 in #57 - R&Y: Added ATH ATH.ENA, ECN motion, and PHL FREEDOM to
desfire.cby @ry4000 in #59
Full Changelog: v0.7...v0.8-beta.4
v0.7
V0.6
What's Changed
- Update application.fam by @luu176 in #39
- Load Scene by @zinongli in #40
- Icon Rework by @zinongli in #41
- Fix Bugs Introduced by Load by @zinongli in #42
- Added a load mode and a save mode to store card info
- Fixed a major bug due to API symbol not existing
New Contributors
Full Changelog: v0.5...v0.6
Metroflip v0.5
Big update!
- Custom API Added: A custom API for Metroflip has been introduced for smoother operation and better scalability.
- Parsers Moved to Plugins: All parsers have been moved to individual plugins, which means all parser-related code is now loaded from the SD card as .fal files, freeing up RAM until a parser is needed.
- Scene Optimization: All separate scenes have been merged into one unified scene (metroflip_scene_parse.c), simplifying the codebase.
- RAM Usage Reduced: We’ve reduced RAM usage by over 45%, eliminating those frustrating "out of memory" errors.
- Navigo Station List: The Navigo station list has been relocated to apps_assets, improving organization and performance.
- Unified Calypso Parser: A new unified Calypso parser has been introduced (thanks to DocSystem), streamlining Calypso card support.
- RavKav Moved to Calypso Parser: RavKav has been moved to the new unified Calypso parser (credit to luu176).
What's Changed
- merge by @luu176 in #1
- Merge pull request #1 from luu176/main by @luu176 in #2
- v0.2 by @luu176 in #3
- formating by @luu176 in #4
- remove strcat by @luu176 in #5
- format by @luu176 in #6
- Dev by @luu176 in #10
- v0.3 by @luu176 in #11
- Update Navigo parser by @DocSystem in #13
- Calypso parser + read more data on Navigo Pass by @DocSystem in #15
- Fix memory leaks by @DocSystem in #16
- R&Y: Stylisation Updates to
ITSOandmykiby @ry4000 in #14 - v0.4 by @luu176 in #17
- updates by @luu176 in #18
- Dev by @luu176 in #19
- Fix ticket count when multiple contracts on Navigo Easy by @DocSystem in #20
- Add card number parsing + some UI/parsing tweaks by @DocSystem in #21
- Navigo Parser Updates by @DocSystem in #22
- Navigo cards updates by @DocSystem in #23
- Unified Calypso parser by @DocSystem in #25
- Update Opus bus list + show unknown lines in hex by @DocSystem in #26
- Add T3a + Fix RER A/B stations not being parsed correctly by @DocSystem in #27
- Update some parser functions + Add Villejuif IGR station and ORA provider by @DocSystem in #29
- Update counter parsing by @DocSystem in #32
- More intercode parsing + set calypso first page to card environment by @DocSystem in #33
- Print country & network in case of unknown card by @DocSystem in #34
- Put Navigo data in CSV files + Update Opus card parser by @DocSystem in #35
- Split Navigo stations in multiple files to optimize import by @DocSystem in #36
- Better location parsing on Navigo cards by @DocSystem in #37
New Contributors
- @DocSystem made their first contribution in #13
- @ry4000 made their first contribution in #14
Full Changelog: https://github.com/luu176/Metroflip/commits/v0.5