TL;DR
- New apps: Weather Station, CMSIS DAP/DAP Link Debugger
- SubGhz: new manufacture keys, RSSI threshold for raw record, improvements and bug fixes
- Infrared: audio remote, better cli, improvements and bug fixes
- Nfc: MFC write support, improvements and bug fixes
- Ble: fix rare crashes on m1 mac, improvements and fixes
- System: much better OS crash routine, new API FuriHalCortexTimer, fixes and improvements
- Build system: toolchain update, a lot of improvements and next step to standalone SDK, UnitTests in CI/CD
Changelog
- Furi: raise bkpt only if debug session initiated, add debug support for release builds (#1957)
- Fix hard crash on some custom firmwares in RELEASE mode
- Furi: anya wa erai, anya wa eleganto, raise bkpt only if debug session initiated, add debug support for release builds
- Update ac.ir (#1945)
Added conditioner Saturn CS-TL09CHR ir signals (Dh, Cool_hi, Cool_lo, Heat_hi, Heat_lo, Off) - [FL-2911] IR Universal Audio Remote (#1942)
- Add Audio universal remote
- Add signal library for Audio Universal Remote
- Update UniversalRemotes.md
- Added IR profile for Samsung K450 soundbar (#1892)
- Add symbols to API file
- Rearrange Audio remote buttons
- Add new icons, remove old ones
- Remove old signals, add new ones
- Add universal audio remote to CLI, refactor code
- Improve help text
- Correct formatting
- Update UniversalRemotes.md
- Furi: restore correct
api_symbols.csv
version
- [FL-2933] Mf Classic initial write, update, detect reader (#1941)
- Nfc: introduce nfc write
- Nfc: add write logic
- Nfc worker: add write state
- Nfc: add mfc update logic
- Nfc: add update success logic
- Nfc: add custom card for detect reader
- Nfc: update write logic
- Nfc: add halt command, add notifications
- Nfc: add write fail scene
- Nfc: fixes and clean up
- Nfc: fix navigation ad notifications
- Nfc: fix detect reader nfc data setter
- UnitTests: removed all continue-on-error lines (#1946)
- Removed all continue-on-error lines
- GitHub: add assets deployment after format
- Fbt: fixes for ufbt compat (#1940)
- Fbt: split SDK management code
- Scripts: fixed import handling
- Fbt: SDK: reformatted paths
- Scrips: dist: bundling libs as a build artifact
- Fbt: SDK: better path management
- Typo fix
- Fbt: SDK: minor path handling fixes
- Toolchain: fixed windows toolchain download
- SubGhz: add keeloq protocol JCM_Tech (#1939)
- SubGhz: add keeloq protocol JCM_Tech
- SubGhz: add new method decoder
- [FL-2937] Remove resources from API to prevent frequent API version increase (#1935)
- Remove all icons from API
- Music player: icons
- Signal generator: icons
- Bt hid: icons
- Weather station: icons
- Picopass: icons
- File browser test: icons
- Example images: documentation
- Remove global assets header
- Fix picopass
- [FL-2887] actions unit tests runner (#1920)
- Oregon2 additional sensors defines (#1933)
- Added a list of sensors and added several additional temperature and temperature/humidity sensor id's
- Now here are only sensors that have test data
- WS: fix Acurite-606TX protocol (#1938)
- WS: fix acurite_606tx protocol
- WS: update version
- WeatherStation: remove break from invalid place
- [FL-2828] Dolphin score update take 2 (#1929)
- Move DolphinDeedNfcRead
- Move DolphinDeedNfcReadSuccess
- Move DolphinDeedNfcSave
- Move DolphinDeedNfcDetectReader
- Move DolphinDeedNfcEmulate
- Count DolphinDeedNfcEmulate when launched from file browser
- Implement most of the score accounting for NFC
- Fully update Nfc icounter handling
- Move DolphinDeedSubGhzFrequencyAnalyzer
- Update the rest of icounter in SubGHz
- Adjust SubGHz icounter handling
- Adjust LFRFID icounter handling
- Adjust Infrared icounter handling
- Don't count renaming RFID tags as saving
- Don't count renaming SubGHz signals as saving
- Don't count renaming NFC tags as saving
- Adjust iButton icounter handling
- Minor code refactoring
- Correct formatting
- Account for emulating iButton keys from file manager/rpc
- Fbt: fixed linter paths (#1930)
- Fbt: fixed linter paths
- Lint: changed file permissions
- SubGhz: fix variable types and CC1101 GPIO initialization optimization (#1931)
- SubGhz: fix variable types
- SubGhz: CC1101 GPIO initialization optimization
- SubGhz: return back gpio init
- SubGhz: cleanup grammar in math and format doxygen comments
- Support for setting all screen orientations (#1928)
- Support for setting all screen orientations
- Gui: add flipped orientation to view
- Gui: correct assert conditions in gui_add_view_port
- Fbt, docs: typo fixes; vscode: fixed deprecated target names (#1926)
- [FL-2927] SubGhz: add RAW Read threshold RSSI (#1911)
- SubGhz: add RAW Read threshold RSSI
- SubGhz: update indicator RSSI
- SubGhz: fix record file
- [FL-2934] WS: add protocol Acurite 592TXR (#1916)
- WS: add protocol Acurite 592TXR
- WS: fix decoder Acurite_592TXR
- SubGhz: proper types in math
- Oregon2 extra (#1924)
- Add support for temp-humid sensor 0x1D20
- Fix protocol type and flags, humidity decoding
- [FL-2932] TikTok: reset cursor after enter and reconnect #1921
- CI: Update web updater domain (#1919)
- Fix a typo in the factory reset screen "setting" -> "settings" #1917
- Fbt fixes pt4 (#1899)
- Fbt: fixed py scripts for gdb
- Fbt: removed compiled dolphin assets from tracked files; resolved cached dependency issues by globally disabling deps cache; changed dependency tracking for dolphin assets
- Fbt: fix for "resources" node lookup
- Toolchain: bump to v.16 with scons + x64 win binaries
- Fbt: using scons from toolchain
- VSCode: fixed paths for 64-bit Windows toolchain
- Fbt: added colors!
- Fbt: moved import validator to ansi lib coloring
- Fbt: moved COMSTR vars to tools
- Fbt: custom action for fap dist
- Fbt: added OPENOCD_ADAPTER_SERIAL configuration var for openocd operations
- Fbt: added get_stlink target
- Docs: details on libs for faps
- VSCode: added DAP config for using Flipper as a debugger for a 2nd Flipper
- Fbt: blind deps fix for SDK_origin
- Fbt: SDK: moved deployment actions to pure python
- GitHub: disable disableLicenseExpirationCheck option for pvs
- Furi: smaller crash routine (#1912)
- Furi: smaller crash routine
- Furi: small fixes
- Furi: cleanup check routines, more assembly code, force inline of
__furi_halt_mcu
- SubGhz: cleanup residual line mess
- Documentation
- Dap-link: fix help
- Furi: replace
__furi_halt_mcu
with HALT_MCU macros - Furi: disable IRQ earlier in crash handler
- Furi: properly handle masked mode when detecting ISR
- Ble: allow 0 length feed in
rpc_session_feed
- Format sources
- Furi: better crash logic explanation.
- Furi: some grammar in check.h
- Move Oregon2 to Weather Station FAP (#1910)
- Init copy of oregon2 to weather station app
- WS decoder
- Reuse decoded data
- Delete old protocol
- Delete oregon2 unit test
- Decrement count of random test
- [FL-2892] Gui: update statusbar attention icon and better crash handling (#1908)
- Gui: update statusbar attention icon
- Furi: snapshot registers on crash and restore in halt
- Furi: document check routines
- [FL-2920] WS: add protocol Acurite-606TX, LaCrosse_TX141THBv2 (#1898)
- WS: add protocol Acurite-606TX
- WS: history, added display of the channel (if any) in the general list
- WS: added display of the button state if it is on the transmitter, and displaying the data that is in the signal
- WS: fix batt info
- WS: add protocol LaCrosse_TX141THBv2
- WS; fix syntax
- Furi: bump api_symbols version
- [FL-2818] FuriHal: add FuriHalCortexTimer, use it for i2c bus timeouts (#1900)
- FuriHal: add FuriHalCortexTimer, use it for i2c bus timeouts
- Furi: cleanup FuriHalCortexTimer sources and headers
- CMSIS DAP/DAP Link Debugger (#1897)
- Apps: DAP Link
- API: furi_hal_console_init
- Fix FuriString oplist (init move) (#1894)
- FuriString, Infrared: fix oplist and drop string_t.
- Elf loader: log size
- Comment fix
- API: furi_hal_console_init
- [FL-2904, FL-2900, FL-2890] WS: add app WeatherStation (#1833)
- WeatherStation: start
- SubGhz: rename protocol magellen -> magellan
- WeatherStation: err Unresolved symbols: {'subghz_protocol_decoder_base_get_string'}
- WeatherStation: fix Unresolved symbols: {'subghz_protocol_decoder_base_get_string'}
- Subghz: add set protocol_items
- WeatherStation: adding your protocols
- WS: add Infactory protocol
- WS: add history
- WS: add setting
- WS: add lock
- WS: add hopper frequency
- WS: fix history
- WS fix string_t -> FuriString*
- WS: add images
- WS: history record update when receiving data from the sensor again
- WS: add receiver info, delete extra code
- WS: add protocol ThermoPRO_TX4
- [FL-2900] SubGhz: Move icons in Sub-GHz
- WS: add Notification
- [FL-2890] SubGhz: Rename
*_user
files in resources to_user.example
- WS: add about scene
- WS: removing redundant code
- WS: add protocol Nexus-TH
- WS: add protocol GT_WT03
- WS: fix notification and rename "Weather Station" -> "Read Weather Station"
- SubGhz: partial unit tests fix
- SubGhz: fix unit_test
- SubGhz: remove dead code
- SubGhz: rename SubGhzPresetDefinition into SubGhzRadioPreset, cleanup subghz types.
- Fbt: fixed dependency issues with SDK definition file (#1893)
- Fbt: fixed dependency issues with SDK definition file
- Fbt: more path fixes; marked up new symbols
- Allow pins 0 and 1 as RTS/DTR for USB UART Bridge (#1864)
- Allow pins 0 and 1 as RTS/DTR for USB UART Bridge
- Add logic to
gpio_scene_usb_uart_config
, fix flow_pins - Fixing count of pins
- Disable PC0,PC1 RTS/DTR when using LPUART
- Add logic to ensure flow pins don't overlap with UART lines
- Picopass: Read Elite (#1888)
- Working elite dict
- Add csn to display
- [FL-2919] SubGhz: CAME Wrong number of bits in key (add protocol Airforce) (#1890)
- [FL-2912] Forced RAW receive option for Infrared CLI #1891
- Scripts: fixed c2 bundle format (#1889)
- Scripts: fixed c2 bundle format
- Scripts: copro.py: small refactoring
- Feature/infrared add remote to cli (#1856)
- Initial testing of remote using cli
- More fixes for cli ir remote
- Fixes. Turns off power now
- Finished adding other tv remote commands
- Changed if-else formatting
- Cleaned up unused variables
- Updating cli unviersal remote to accept tv, ac and more modular. Listing signals still does not work properly
- Using mlib dictionary to get unique signals from files for ir universal list
- Fixing progress bar
- Added error checking for invalid signal to stop freezing cli
- Added error checking for arg length
- Api symbols was changed somehow.. changed back and updated the argument check to account for newline
- Fixing string compares and argument length issue
- Freeing InfraredBruteForce in cli brute force signals
- [FL-2907] Remove the back button from MFC keys list #1878
- NFC fixes part 3 (#1885)
- Nfc: fix read next key
- Nfc: verify new line ending in user dictionary file
- Nfc: fix cache save
- Nfc: add unit test for dict load
- Nfc: fix total key count in dictionary
- Enable all
view_
methods in SDK (#1884) - Fbt: fix for cincludes in app's private library definition (#1882)
Ongoing
- Flipper Application SDK and loading from SD: standalone build toolchain and application catalog
- OS and Furi: API finalization
- New update file format and packaging system
- Application catalog
New Contributors
- @ginkage made their first contribution in #1884
- @sqlsquirreltm made their first contribution in #1856
- @br0ziliy made their first contribution in #1928
- @merlokk made their first contribution in #1933
- @doomwastaken made their first contribution in #1920
- @touchscan made their first contribution in #1945