!!! Important Notice !!!
This release performs data migration and downgrade to previous firmware will cause data loss (dolphin progress and settings).
TL;DR
- NFC: completely redesigned application, improvement and NTAG203 support by @GMMan, and much more
- SubGhz: bug fixes, new protocols and custom RF presets
- Cli: better disconnect handling by @ESurge
- Infrared: universal remove loading improvement
- Custom toolchain (Windows, Linux, MacOs)
- Storage: Internal storage to SD migration tool, improvements
- System and tools: improvements and fixes
- Even more improvements by contributors
Changelog
- [FL-2649] Drop Docker in CI/CD (#1412)
- fbt fixes & improvements (#1490)
- fbt: minimal USB flash mode; scripts: faster storage.py with larger chunks
- fbt: fixed creation of temporary file nodes confusing scons
- docs: removed refs to --with-updater
- fbt: removed splashscreen from minimal update package
- fbt: renamed dist arguments for consistency
- docs: fixed updater_debug target
- fbt: separate target for generating compilation_database.json without building the code.
- fbt: added
jflash
target for programming over JLink probe; refactored usb flashing targets - fbt: building updater_app in unit_tests configuration
- fbt: fixed reset behavior after flashing with J-Link
- fbt: generating .map file for firmware binary & external apps
- fbt/core: moved library contents before apps code
- ci: check for uncommited changes after build (#1461)
- ci: check for uncommited changes after build
- assets: updated Manifest to match sources
- ci: simplified uncommited files check
- resources: Updated Manifest
- fbt: always rebuild manifest
- [FL-2713] Buffered file streams fix (#1515)
- Fix incorrect buffered stream behaviour
- Add specific tests
- Make the test fail on wrong behaviour
- Better names
- [FL-2705] App RPC Bug Fixes and redesign (#1491)
- Rpc: remove callback timer
- Rpc: simplify rpc event callback
- Rpc: migrate to new confirmation schema
- Rpc: migrate to new confirmation schema part2: finalize ibutton and rfid
- Rpc: migrate to new confirmation schema part3: finallize nfc and fix id in load
- Rpc: hardened sequencing check
- Rpc: migrate to new confirmation schema part4: finalize subghz
- iButton: properly handle exit
- Nfc: correct sequence for rpc exit send
- Rpc: fix review issues and nfc exit message
- Rpc: more logging and condition race fix in confirmation
- Rpc: migrate to new confirmation schema part5: finalize infrared
- Rpc: more logging
- Assets: unused assets removed (#1514)
- [FL-2706, FL-2709] SubGhz: checking saved key files for length (#1485)
- [FL-2654] Updater: retrying pre-boot SD card mount multiple times (#1402)
- Updater: retrying pre-boot SD card mount multiple times
- Updater: added delay before retrying SD card mount on early boot
- Fix typo in subghz (#1467)
- ☦️ Rpc: fix backup commands responses (#1502)
- [FL-2701], [FL-2702], [FL-2699] NFC fixes (#1478)
- nfc: change read scene views
- nfc: rework return after save success
- nfc: add fallback to read UID of unrecognized iso14443-3
- nfc: show mifare desfire on read success
- nfc: add restore original confirm scene
- nfc: fix icon name
- nfc: clear 6 bit in SAK to emulate 14443-4 uids
- nfc: don't change original sak
- Infrared.c: Dont Close GUI 2 times (#1477)
GUI was being closed 2 times upon exit, this PR fixes that by removing 1 of those cases - NFC: fix navigation from menu scenes #1459
- updater: fixed dolphin level not being migrated (#1458)
- [FL-2605] NFC new design (#1364)
- nfc: add new read scene
- lib: refactor nfc library
- mifare desfire: add read card function
- lib nfc: add auto read worker
- nfc: add supported cards
- nfc: add mifare classic read success scene
- nfc: add troyka support
- submodule: update protobuf
- nfc: mifare classic keys cache
- nfc: rework mifare classic key cache
- Correct spelling
- nfc: add user dictionary
- nfc: introduce block read map in fff
- nfc: rework dict attack
- nfc: improve dict attack
- nfc: rework mifare classic format
- nfc: rework MFC read with Reader
- nfc: add gui for MFC read success scene
- nfc: fix dict attack view gui
- nfc: add retry and exit confirm scenes
- nfc: add retry and exit scenes navigation
- nfc: check user dictionary
- nfc: remove unused scenes
- nfc: rename functions in nfc worker
- nfc: rename mf_classic_dict_attack -> dict_attack
- nfc: change scenes names
- nfc: remove scene tick events
- nfc: rework dict calls with buffer streams
- nfc: fix notifications
- nfc: fix mf desfire navigation
- nfc: remove notification from mf classic read success
- nfc: fix read sectors calculation
- nfc: add fallback for unknown card
- nfc: show file name while emulating
- nfc: fix build
- nfc: fix memory leak
- nfc: fix desfire read
- nfc: add no dict found navigation
- nfc: add read views
- nfc: update card fix
- nfc: fix access bytes save
- nfc: add exit and retry confirm to mf ultralight read success
- nfc: introduce detect reader
- nfc: change record open arg to macros
- nfc: fix start from archive
- [FL-2669] SubGhz: add support for loading custom presets (#1398)
- SubGhz: load custom -preset
- SubGhz: fix error prt=0
- SubGhz: load custom preset
- SubGhz: code refactoring to support custom preset
- SubGhz: add custom preset refactoring
- SubGhz: fix alloc history alloc preset
- SubGhz: fix error load file
- SubGhz: fix start custom preset
- SubGhz: fix delete custom preset
- SubGhz: add description Custom_preset_data for CC1101
- SubGhz: debug logging and buffer size rounding
- [FL-2684, FL-2685] bugfix subghz (#1446)
- [FL-2692, FL-2604, FL-2632] New first start sequence (#1456)
- desktop: restored automatic power off & manual power off on slideshow view; assets: added frames for new first start sequence; docs: added info on slideshow compilation
- desktop: restarting long timer on OK button release
- [FL-2675] /int space reservation (#1448)
- storage: added global #defines for /int, /ext & /any
- storage: introduced PATH_EXT, PATH_INT& PATH_ANY macros
- core apps: moved hardcoded config files names to separate headers; prefixed them with "."; updater: added file name migration to new naming convention on backup extraction
- storage: fixed storage_merge_recursive handling of complex directory structures; storage_move_to_sd: changed data migration logic to all non-dot files & all folders
- core: added macro aliases for core record names
- Bumped protobuf -
- [FL-2688] Fix incorrect remote renaming behavior #1455
- Minor grammar and typo fix (#1454)
- Fix git submodules update called anyways (#1450)
Ignoring FBT_NO_SYNC - fbt: Fixed build for users with space in username (#1437)
- Fixing a typo in Bug Report Issue Template (#1449)
- Picopass: dump full card, extract some details (#1408)
- Dump entire picopass card
- Capture more iClass details
- facility code bugfix
- nfc: NTAG203 support (#1383)
- nfc: Fix original MFUL feature flags
- nfc: Add NTAG203 read support
- nfc: Update emulation lock byte handling for NTAG203
- nfc: Add NTAG203 counter emulation support
- nfc: Add NTAG203 tag generator
- nfc: Fix NTAG203 emulating GET_VERSION
- nfc: Fix MFUL version reading
- nfc: Complete NTAG203 counter emulation behavior
- nfc: Complete NTAG203 emulation
- nfc: Remove unnecessary init in MFUL emulation
- nfc: Add notes about MFUL type enum
- [FL-2464, FL-2466] RFID, ibutton text fix #1413
- fixing typos, satus -> status (#1422)
- RPC App: state message and GUI update (#1423)
- RPC App: state message and GUI update
- Protobuf submodule update
- Port over Issue templates to new YML format (#1433)
- WIP Push
- Add feature request label to template
- Punctuation helps
- rename feature request and add in enhancement
- wording
- Add in extra markdown explanations
- [FL-2668] GUI message screens update #1428
- Fix SubGHz chat immediately closing #1440
It's just an if condition which should've been inverted - [FL-2682] Allow spaces in file names #1444
- Fix toolchain typos (#1435)
- Added condition to cli "log" command to end if serial terminal is disconnected. (#1425)
- Added condition to cli "log" command. If USB is disconnected while "log" command is running, it will end the command.
- Reverted change on cli_commands.c
Added condition in cli.c for cli_cmd_interrupt_received function to react appropriately when serial terminal is disconnected.
Added condition in subghz_cli.c for subghz chat cmd to exit gracefully when serial terminal is disconnected. - Formatting
- [FL-2655, FL-2650] Buffered file streams (#1424)
- Initial buffered file stream implementation
- Fix logical errors
- Fix more logical errors
- Minimally working implementation
- Adapt infrared unit tests for buffered streams
- Increase read buffer size from 512 to 1K
- Correct naming and formatting
- More code improvements
- Allow passing access and open modes for buffered streams
- Implement tests for buffered streams
- Better file and method names
- Add comments and correct formatting
- Use buffered streams in Infrared
- Fix compilation error
- fbt: Respect SOURCE_DATE_EPOCH when setting build date (#1421)
- fbt: using SOURCE_DATE_EPOCH from environment for build timestamp (if set)
- Furi: core refactoring and CMSIS removal part 2 (#1410)
- Furi: rename and move core
- Furi: drop CMSIS_OS header and unused api, partially refactor and cleanup the rest
- Furi: CMSIS_OS drop and refactoring.
- Furi: refactoring, remove cmsis legacy
- Furi: fix incorrect assert on queue deallocation, cleanup timer
- Furi: improve delay api, get rid of floats
- hal: dropped furi_hal_crc
- Furi: move DWT based delay to cortex HAL
- Furi: update core documentation
- Update ReadMe.md (#1409)
- Minor correction in grammar for ReadMe.
- Update bad_usb_script.c to fix incorrect ALT key const #1406
- [FL-2658, FL-2657] SubGhz: add new protocol (IronLogic, Comunello, Sommer(fsk476), Normstahl, KEY, EcoStar, Gibidi, Mutancode) (#1404)
- Subghz: fix cli no load keeloq_mfcodes_user
- SubGhz: add new protocol (IronLogic, Comunello, Sommer(fsk476), Normstahl, KEY, EcoStar, Gibidi, Mutancode)
- SubGhz: fix syntax
- SubGhz: fix error build
- Better crash handling (#1397)
- Core: correct ISR flag check on crash, dump heap and stack info on crash
- Core: crash, show task name
- Core crash: optimization
- [FL-2601] Move Infrared unit test data to assets (#1396)
- Move samsung raw data to assets
- Add more assets and fix bugs
- Clean up code
- Implement all raw data as assets
- Remove input data from old test files
- Better signal names
- Better file opening logic
- Implement loading parsed data from files
- Move most of RC5 tests into assets
- Add more test cases
- Add more test cases
- Eliminate RUN_DECODER macro
- Better code structure
- Implement run_encoder function
- More encoder tests
- Move all encoder tests to assets
- Move all test data to assets
- Normalise function names
- Rename code files
- Uncomment other tests
- Swich test order to avoid weird memory leaks
- UnitTests: cleanup output and redirect it into stdout
- UnitTests: selectable tests and better reporting
- [FL-1962, FL-2464, FL-2465, FL-2466, FL-2560, FL-2637, FL-2595] Ibutton, Infrared, LfRFID GUI fixes (#1392)
- Ibutton, Infrared, LfRFID GUI fixes
- Loading screens update
- Log MFC nonces for use with mfkey32v2 (#1390)
- Calculate picopass CRC dynamically (#1389)
- IR: increase raw timings amount (#1388)
- Change # to ! for the inverted text example (#1395)
The code already works with "!", but the comment was wrong. - [FL-2633] Move files from /int to /ext on SD mount #1384
- [FL-2554] Embedded arm-none-eabi toolchain (#1351)
- Add a FORCE=1 checker for flash (#1386)
Ongoing
- SubGhz region provisioning
- Flipper Application SDK and loading from SD
- OS and Furi: refactoring
- Toolchain improvement and linux arm port
- Rfid: refactoring, new protocols and raw mode