TL;DR
- Dolphin: new animation, achievement counting system update
- FAP Loader: improvements and fixes, better support for other languages
- Build system: improvements and bug fixes, initial standalone SDK draft
- System: FuriStrings and massive refactoring
- Desktop: external apps as favorites, fixes and improvements
- NFC: MFC fixes and improvements
- RFID: 36-bit AWID and fixes
- BLE: new TikTok Controller
- BadUsb: better error logging
- Infrared: new remotes and fixes
- SubGhz: frequency analyzer history and fixes
- And more: snake game and music player improvements
Changelog
- Desktop: fix FAP in settings (#1877)
- Fix FileNotFoundError in ./fbt flash_usb (#1876)
- Fix FileNotFoundError in ./fbt flash_usb
- Scripts: update.py: proper fix for file naming
- Fix number of dolphin_apps (#1874)
- [FL-2623] Add BLE disconnect request #1686
- Fix typo in FAP loader logging (#1875)
- Desktop: Set external apps as favorites (#1816)
- MVP
- Display app name and icon in browser
- Pre-select favorites in submenu and browser
- Show animation while external favorite is loading
- A little birdie told me... (Missing record_close)
- DesktopSettings: reset submenu before running dialog
- [FL-2876] MFC Improvements Part 2/2 (#1868)
- Remove keys incorrectly added by the key cache
- Improve responsiveness while checking for re-used keys and fix skipping keys when card is removed
- Actually check if the card is completely read
- Discard incorrect keys on a lower level
- NFC: clean up
- Update title for web updater (#1872)
- Scripts: simpler tar format (#1871)
- ScriptsL simpler tar format
- Scripts: shorter names for files in update bundle
- Scripts: limiting max OTA package dir name length to 80
- Scripts: resource bundle: checks for file name length
- Scripts: made resource packing errors critical
- 36-bit AWID (L11601 Lenel) (#1838)
- 36-bit AWID
- RFID: correct vendor name AWIG -> AWID
- Badusb: show script errors on screen (#1506)
- [FL-2832] fbt: more fixes & improvements (#1854)
- Github: bundling debug folder with scripts; docs: fixes & updates; fbt: added FAP_EXAMPLES variable to enable building example apps. Disabled by default. fbt: added TERM to list of proxied environment variables
- Fbt: better help output; disabled implicit_deps_unchanged; added color to import validator reports
- Fbt: moved debug configuration to separate tool
- Fbt: proper dependency tracker for SDK source file; renamed linker script for external apps
- Fbt: fixed debug elf path
- Fbt: packaging SDK archive
- Scripts: fixed sconsdist.py
- Fbt: reworked SDK packing; docs: updates
- Docs: info on cli target; linter fixes
- Fbt: moved main code to scripts folder
- Scripts: packing update into .tgz
- Fbt, scripts: reworked copro_dist to build .tgz
- Scripts: fixed naming for archived updater package
- Scripts: fix ぐるぐる回る
- [FL-2882] BLE tiktok controller (#1859)
- Bt hid: introduce tiktok controller
- Assets: add bt tiktok assets
- Bt hid: finish tiktok draw
- Bt hid: add input process to tiktok view
- Bt hid: add tiktok swipe emulation
- Bt hid: fix exit from tiktok controller
- BLE hid: add delay to emulate double tap
- BLE hid: change options order
- Bt hid: build as external application
- BLE hid: fix naming
- Dolphin: add L1_Painting animation (#1863)
- Github actions on kubernetes runners (#1861)
- Change toolchain path and runner tag
- Fix check_submdules.yml
- Try to fix errors
- Create .ssh directory
- Fix toolchain path
- Add empty line for test
- Testing 3 k8s nodes speed
- Test speed again
- Change tag, move reindex job
- Bring reindex.yml back
- Fix build.yml
- Fix reindex.yml
- [FL-2883] NFC: bank card rework reading (#1858)
- NFC: remove bank card save option
- NFC: remove bank card save from nfc device
- NFC: remove unused function in emv
- NFC: try several times to start emv application
- NFC: add AID display fallback for bank cards
- [FL-2828] Dolphin score points update #1809
- [FL-2886] SubGhz: fix text overlap in read (#1853)
- Docs: update on FAP build process (#1852)
- BadUSB: add SYSRQ keys (#1460)
- [FL-976] Removing lambdas (#1849)
- Removing lambdas...
- Wake the fk up, Gordon! We have a citadel to burn!
- Here comes the Nihilanth
- Lambda documentation
- Elf loader: do not load .ARM.* sections (#1850)
- Elf loader: do not load .ARM sections
- Fix section name
- Gui: fix memory leak in file browser module (#1848)
- Music_player: Return to browser instead of exiting on back button (#1846)
- Music_player: Return to browser instead of exiting on back button
- Music_player: Fix number and dots extraction
- Snake game: nokia 6110-like sound (#1844)
- Snake game: nokia 6110-like sound
- Snake game: blocking sound notifications
- SnakeGame: flush notification queue with backlight enforce block
- More correct elf loader (#1839)
- ELF File: more robust section loader
- ELF File: faster and smaller preinit, init and fini arrays handling
- ELF File: load sections on preload stage
- ELF File: naming
- Furi: fix use after free in thread join
- Signal Generator app: UI update (#1829)
- Signal Generator: UI update
- Icons renamed
- [FL-2870] Printf function attributes (#1841)
- Furi strings: printf attribute
- Logs: printf attribute
- Plugins: adapt
- Plugins: accommodate
- Unit tests: accommodate
- [FL-2651, FL-2863] App name in CLI loader command, RFID data edit fix #1835
- [FL-2839] Furi stream buffer (#1834)
- Core: stream buffer
- Stream buffer: API and usage
- Stream buffer: documentation
- Stream buffer: more documentation
- Furi: fix spelling
- Disable PVS-Studio license check (#1840)
- Documentation: AppManifests.md typo fix (#1836)
- [FL-2868] Remove string_push_uint64 (#1832)
- Remove string_pust_uint64
- Oops, furi strings now
- Remove dead code
- Remove unneeded import
- Add exit label to keyboard connection screen (#1830)
- Add exit label to keyboard connection screen (resolves #1814)
- BtHid: align baselines on connection screen
- [FL-2620] Infrared error message (#1827)
- Show an error message if the remote could not be saved/renamed
- [FL-2877] Don't turn off the backlight on MFC dict attack #1826
- [FL-2874] Remove bank card uid emulation (#1823)
- NFC: open bank card info from archive
- NFC: remove emulate uid option from bank cards menu
- [FL-2803] Mifare Classic read improvements Part 1 (#1822)
- Reuse found keys when reading a card
- Fix keys not being read if no newline at the end of the file
- Actually read all keys from the dictionary
- Support for furi_string
- Check only for re-used key after the current sector
- Declare the key attack function as static
- NFC: change logs, check worker state
- [FL-2864] NFC update detect reader (#1820)
- NFC: update detect reader view
- NFC: make detect reader more interactive
- NFC: update icons
- NFC: fix detect reader gui
- NFC: fix gui, fix worker events
- NFC: fix notifications
- NFC: add nfc_worker NULL assert
- Update ac.ir: add Daichi model DA25AVQS1-W (#1819)
- CLI: log command argument (#1817)
- ".FAP" extension in file browser and archive tab (#1812)
- Add .FAP extension, and Applications tab
- Using new icon, renaming tab to Apps
- Change tabs order
- Add first ugly implementation of in-app icons in archive browser
- Starting using FAPLoader callback
- Getting all metafata from FAP
- Add app filename fallback
- Using FAP_loader_item_callback in archive_list_item_cb
- FAP-Loader: removed minimal allocation
- Removed strange code
- [FL-2866, FL-2865] SubGhz: add frequency analyzer history (#1810)
- SubGhz: frequency analyzer history
- SubGhz: add vibro
- SubGhz: turn on the display when receiving a signal
- SubGhz: add signal reception indicator
- SubGhz: fix indicator
- SubGhz: fix FA history
- [FL-2849] SubGhz: read RAW auto generation of names (#1772)
- SubGhz: read RAW auto auto generation of names depending on the date of the entry
- SubGhz: name generation modification RAW-YYYYMMDD-HHMMSS
- SubGhz: replace m-string with FuriString
- [FL-2847] FFF trailing space fix (#1811)
- Improve whitespace handling in FFF
- Add tests for odd fff user input
- Adjust formatting
- [FL-2859,2838] fbt: improvements for FAPs (#1813)
- Fbt: assets builder for apps WIP
- Fbt: automatically building private FAP assets
- Docs: details on how to use image assets
- Fbt: renamed FAP_assets -> FAP_icons
- Fbt: support for FAP_extbuild field
- Docs: info on FAP_extbuild
- Fbt: added --proxy-env parameter
- Fbt: made firmware_cdb & updater_cdb targets always available
- Fbt: renamed FAP_icons -> FAP_icon_assets
- Fbt: deprecated firmware_* target names for FAPs; new alias is "FAP_APPID"
- Fbt: changed intermediate file locations for external apps
- Fbt: support for FAP_private_libs; docs: updates
- Restored mbedtls as global lib
- Scripts: lint.py: skip "lib" subfolder
- Fbt: Sanity checks for building advanced FAPs as part of fw
- Docs: info on FAP_private_libs; fbt: optimized *.fam indexing
- Fbt: cleanup; samples: added sample_icons app
- Fbt: moved example app to applications/examples
- Linter fix
- Docs: readme fixes
- Added applications/examples/application.fam stub
- Docs: more info on private libs
- [FL-2812] RFID: write fix for some protocols #1828
- Fix: typo badusb demo windows (#1824)
Fix a typo in the badusb demo script for Windows. - M*LIB: non-inlined strings, FuriString primitive (#1795)
- Quicksave 1
- Header stage complete
- Source stage complete
- Lint & merge fixes
- Includes
- Documentation step 1
- FBT: output free size considering BT STACK
- Documentation step 2
- Py lint
- Fix music player plugin
- Unit test stage 1: string allocator, mem, getters, setters, appends, compare, search.
- Unit test: string equality
- Unit test: string replace
- Unit test: string start_with, end_with
- Unit test: string trim
- Unit test: utf-8
- Rename
- Revert fw_size changes
- Simplify CLI backspace handling
- Simplify CLI character insert
- Merge fixes
- Furi: correct filenaming and spelling
- Bt: remove furi string include
Ongoing
- Flipper Application SDK and loading from SD: polishing and optimization
- OS and Furi: refactoring
- New update file format and packaging system
- Toolchain improvements
- Application catalog
- Weather Station app