TL;DR
- External application: full C++ support and initial Rust support, improvements.
- New application: Signal Generator
- Update system: improvements, fixes and speedup
- SubGhz: fixes and improvements
- Nfc: better dump formatting
- System: improvements and fixes
- Infrared: hisense support in universal remote.
- Fbt: improvements and fixes
Changelog
- UnitTests: fix thread join test (#1808)
- [FL-2825] iButton GUI fixes (#1805)
- Ibutton GUI fixes
- Fix memory leak in lfRFID write
- Thread: Clear TLS after thread stop (#1807)
- Fbt: reproducible manifest builds & improvements (#1801)
- fbt: reproducible manifest builds, less rebuild on small updates; scripts: assets: using timestamp from command line af available
- fbt: added app import validation for launch_app & single app build targets
- fbt: COMSTR for app imports validation
- docs: minor fixes
- docs: markdown fix
- vscode: comments for RTOS startup
- Furi Thread: fixed furi_thread_join, check if thread has not been started (#1803)
- furi thread: fixed furi_thread_join, check if thread has not been started
- Furi: correct returns in furi_thread_join
- Keyboard: show Uppercase keys when replacing content (#1548)
- Furi Thread: don't use thread pointer after FuriThreadStateStopped callback (#1799)
- Furi Thread: correct furi_thread_join, do not use thread pointer after FuriThreadStateStopped callback
- Furi: a little bit easier way to do harakiri
- Furi: crash on thread self join attempt
- [FL-2831] Resources cleanup in updater (#1796)
- updater: remove files from existing resources Manifest file before deploying new resources
- toolbox: tar: single file extraction API
- Typos fix in some strings/comments #1794
- [FL-2797] Signal Generator app (#1793)
- Signal Generator app
- MCO pin initialization in app
- furi_hal_pwm documentation
- [FL-2853] Reorganize Universal A/C library (#1792)
- Reorganize A/C universal remote library file
- Refactor infrared brute force code
- Update UniversalRemotes.md
- Add formatting to DESfire data dump (#1784)
- Applications loader: do not use view dispatcher queue #1788
- Add Hisense A/C IR signals.. (#1773)
- add Hisense A/C IR signals.. note that using any will toggle the power and apply the settings
- re-order the entries to be grouped by function
- Power: Also ask charger if charge done (#1378)
- power: Also ask charger if charge done
- F7: bump API Symbols version
- Lib: remove double include in bq25896.c
- [FL-2852] Update Universal Remote documentation (#1786)
- Update Universal Remote documentation
- Change formatting
- [FL-2836] Fast flash programming mode (#1782)
- updater: lowered logging level for resources unpacking; hal: implemented fast flash write mode
- hal: reworked fast flash programming; clearing most error flags on flash init; changed some flash functions return type from bool to void; scripts: fixed malformed CRC values in update bundles in certain cases;
- hal: flash: larger critical section
- hal: flash: enabling fast write inside critical section
- api_symbols: bump minor version
- Preliminary Rust support (#1781)
- Add support for R_ARM_THM_MOVW_ABS_NC/THM_MOVT_ABS These are sometimes emitted by the Rust LLVM compiler.
Ref: https://github.com/ARM-software/abi-aa/blob/main/aaelf32/aaelf32.rst#56relocation - Discard LLVM bitcode from extension applications
LLVM-based compilers may include uncompressed bitcode in object files
to help with link-time optimization. However this can bloat binary sizes
from KB to MB. - Expose alligned_malloc/free functions to applications
This is required to implement a global allocator in Rust.
- Add support for R_ARM_THM_MOVW_ABS_NC/THM_MOVT_ABS These are sometimes emitted by the Rust LLVM compiler.
- Text input overwrite max size template (#1687)
- Remove unused headers (#1751)
- SubGhz: fix config menu (#1748)
- SubGhz: fix config menu
- SubGhz: fix gui Magellen protocol
- SubGhz: fix gui Transmit SubGhz
- SubGhz: keeloq, new gen manufacture code
- SubGhz: Update keeloq_mfcodes
- ELF-Loader: C++ plugin support, loader overhaul. (#1744)
- fap-loader: load all code and data sections
- fap-loader: relocate all code and data sections
- fap-loader: remove old elf loader
- fap-loader: new jmp call relocation
- openocd: resume on detach
- fap-loader: trampoline for big jumps
- fap-loader: rename cache
- fap-loader: init_array support
- fap-loader: untangled flipper_application into separate entities
- fap-loader: fix debug
- fap-loader: optimize section container
- fap-loader: optimize key for section container
- fap-loader: disable debug log
- documentation
- F7: bump api symbols version
- Lib: cleanup elf_file.c
- Bump protobuf from 3.20.1 to 3.20.2 in /scripts (#1774)
- Core: simplify record container (#1776)
- Fbt: exclude user site-packages directory from sys.path (#1778)
- fbt: exclude user site-packages directory from sys.path
- fbt: python path fixes for *nix
- fbt: fixed cli target on Windows
- Update ReadMe.md (#1766)
Ongoing
- Flipper Application SDK and loading from SD: polishing and optimization
- OS and Furi: refactoring
- New update file format and packaging system