### Breaking Changes: - VGM: Reworked color customization functionality over RPC (by @HaxSam & @Willy-JL) - Better rainbow support, more responsive config, custom fore/back-ground - If you used this, need to reflash your VGM and reconfigure the colors ### Added: - Apps: - RFID: T5577 Raw Writer (by @zinongli) - Sub-GHz: - New Legrand doorbell protocol (#120 by @user890104) - Integrate EmosE601x and Acurite 5in1 protocols from WS app (#170 by @htotoo) - Choose RSSI threshold for Hopping mode (by @Willy-JL) - UL: Novoferm remotes full support (by @xMasterX) - UL: Add manually Hormann EcoStar, also Sommer FM238 option when default won't work (by @xMasterX) - OFW: Princeton protocol add custom guard time (by @Skorpionm & @xMasterX) - NFC: - Add parser for CSC Service Works Reloadable Cash Card (#137 by @zinongli) - OFW: Mifare Plus detection support (by @Astrrra) - OFW: Felica emulation (by @RebornedBrain) - OFW: Write to Ultralight cards is now possible (by @RebornedBrain & @gornekich) - OFW: Ultralight C authentication with des key (by @RebornedBrain) - OFW: Add `mf_classic_set_sector_trailer_read()` function (by @Astrrra) - RFID: - Add blank InstaFob detection (by @jamisonderek) - OFW: Added Support for Securakey Protocol and RKKTH Plain Text Format (by @zinongli) - MNTM Settings: Click Ok on Asset Pack setting to choose from a full-screen list (by @Willy-JL) - JS: - Added ADC (analog voltage) support to gpio library (#143 by @jamisonderek) - Support `subghz` custom modulation, support `transmitFile(path, repeats)`, new `end()` function (by @Willy-JL) - FBT: - New `SKIP_EXTERNAL` toggle and `EXTRA_EXT_APPS` config option (by @Willy-JL) - Close current app when flashing firmware (by @Willy-JL) - GUI: Additional `menu_get_selected_item()` API (by @Willy-JL) - Desktop: - Added TV animation from OFW which was missing (internal on OFW) - OFW: New Intruder animation (by @Astrrra) - UL: BadKB: Add Finnish keyboard layout (by @nicou) - OFW: JS: New modules documentation added (by @rnadyrshin) - Updater: - OFW: Resource compression refactor, uses heatshrink (by @hedger) - Adapted gzip to new `CompressStreamDecoder` API, better compression ratio (#152 by @Willy-JL) - OFW: CLI: New `top` command, replaces `ps`, now includes CPU usage info too (by @skotopes) - Furi: - OFW: Event loop (by @skotopes) - OFW: Thread signals, loader close, loader get app name (by @gsurkov) - OFW: Event Loop Timers (by @gsurkov) - OFW: Count ISR time and show in top command (by @skotopes) - OFW: RPC: Add TarExtract command, some small fixes (by @Willy-JL) - OFW: USB/CCID: Add initial ISO7816 support, improve data handling, add CCIDWorker (by @kidbomb) - OFW: FBT/VsCode: Tweaks for cdb generation for clangd (by @hedger) ### Updated: - Apps: - VGM Tool: New RGB VGM firmware to support Flipper FW changes (by @HaxSam) - MFKey: 30% speedup, fix half speed mode, fix UI bugs (by @noproto) - Picopass: Acknowledgements page, Elite VB6 RNG keygen attack, plugin and app improvements (by @bettse) - Seader: T=1 support, APDURunner, Handle SAM removal better, UI improvements, validate LRC, memory management fixes (by @bettse) - NFC Magic: Gen1 backdoor read support (by @Astrrra) - Authenticator: Support multiple BT profiles, fix URL format (by @akopachov) - NFC Playlist: Various fixes and improvements, new icon (by @acegoal07) - BMI160 Air Mouse: Add support for LSM6DSO (by @alex-vg & @ginkage) - ESP32CAM Camera Suite: Fix pinout diagram GND, fix horizontal flip (by @CodyTolene) - Quac: Fix IR import busfault on empty, add hint text on Empty group (by @Willy-JL) - UL: ESubGHz Chat: Add back NFC key sharing with nfclegacy (by @xMasterX) - UL: Mifare Nested: Free some space by simplifying nfclegacy lib (by @xMasterX) - UL: WAV Player: Reconfigure to use 8-bit memory buffer, halving memory usage (by @CookiePLMonster) - UL: RFID Fuzzer: Fix worker not being in LFRFIDWorkerIdle before next key (by @xMasterX) - UL: Barcode: Fix backlight settings (by @xMasterX) - OFW: NFC/RFID Detector: Fix some typos (by @Skorpionm) - OFW: BT/USB Remote: Improved keyboard UI (by @Astrrra) - Many apps updated for new refactors (by @Willy-JL & @xMasterX) - NFC: - EMV Transactions menu less nested in UI, hide if data unavailable (by @Willy-JL) - Mention using MFKey app after Detect Reader (by @Willy-JL) - UL: Better plugin loading, faster launch from favourites, no lag in Saved menu (by @xMasterX) - OFW: Cache plugin name not full path, saves some RAM (by @Willy-JL & @gornekich) - OFW: Update link to mfkey32 (by @Astrrra) - Sub-GHz: - Refactor Weather protocols in Sub-GHz app, shows only correct data (by @Willy-JL) - Streamline generic serialize +1.5k free flash (by @Willy-JL) - UL: Refactor frequency analyzer code for better readability (by @derskythe) - JS: Refactored `widget` and `keyboard` modules with `ViewHolder`, fix crash (by @Willy-JL) - Desktop: - Slim down internal anims, +3.4kb free flash (by @Willy-JL) - Desktop: Fix butthurt and levels, respects Flipper mood better (by @Willy-JL) - OFW: Allow to close blocking bad sd animation (by @skotopes) - NFC: Updated MFC dict, 135 new keys (from RRG pm3 repo & UberGuidoZ dump) - RFID: - UL: Update T5577 password list (by @korden32) - UL: DEZ 8 display form for EM4100 (by @korden32 & @mishamyte) - Main Menu: Unload menu and app list when opening apps +7kb free RAM (#161 by @Willy-JL) - Asset Packs: Refactor icon loader into draw step +4.2kb free RAM (#164 by @Willy-JL) - Infrared: Added missing Koro Box entry to TV universal remote (#159 by @skyhawkillusions) - OFW: iButton/RFID: Separate editing and renaming (by @Astrrra) - CLI: - Simpler plugin wrapper +0.5k free flash (by @Willy-JL) - OFW: Minor storage subcommand lookup refactor (by @hedger) - Furi: - OFW: Use static synchronisation primitives, prepare for event loop (by @gsurkov & @skotopes) - OFW: Coalesce some allocations, smaller memory footprint (by @CookiePLMonster) - OFW: Put Input state data on the stack of the service (by @CookiePLMonster) - OFW: BLE: Update to copro light stack v1.20.0 (by @hedger) - FBT: - OFW: Toolchain v38, clangd as default language server (by @hedger) - OFW: Code formatting update (by @hedger) - OFW: Reordered VS-Code Tasks to follow the [Release] > [Debug] schema (by @janwiesemann) - UL: Documentation: Cleanup and format markdown better (by @derskythe) - OFW: Code Cleanup: Unused includes, useless checks, unused variables, etc... (by @skotopes) ### Fixed: - OFW: USB: IRQ, CDC and EP fixes, no more "Operation timeout (generic)" updating from OFW (by @skotopes) - Archive: - Fix favorite's parent folders thinking they are favorited too (by @Willy-JL) - Fix rename extension show/hide behavior (by @Willy-JL) - OFW: Fix memory leak in favorites add/remove (by @skotopes) - JS: - Fix `subghz` RAW files, fix memory leaks, deinit correctly, better error handling (by @Willy-JL) - OFW: Disable logging in mjs +2k free flash (by @hedger) - Infrared: - Correct Samsung.ir CH+ command (#156 by @skyhawkillusions) - Remove duplicates from LED universal remote, add missing Fan and Projector signals (#165 #167 by @Wemmy0) - OFW: Check for negative timings (by @gsurkov) - Sub-GHz: - UL: Fix Add Manually for Princeton, Normstahl, Sommer, MHouse, Aprimatic (by @xMasterX) - UL: Improve custom buttons for MHouse, Novoferm, Nice Smilo (by @xMasterX) - UL: Fix various Decode RAW bugs (by @xMasterX) - UL: Fix Hormann HSM 44bit static button code decoding (by @xMasterX) - UL: Sync signal delete scene with OFW (by @xMasterX) - UL: Fix incorrect rx key state when opening Read menu (by @xMasterX) - UL: Fix crash on wrong rx key states (by @xMasterX) - OFW: Fixed transition to Saved menu after Delete RAW (by @Skorpionm) - FBT: - Consistent version/branch info, fix gitorigin (by @Willy-JL) - OFW: Fixed starting apps with spaces in path (by @hedger) - Asset Packs: Pack pre-compiled icons and fonts too, fix animated icons edge cases (by @Willy-JL) - GUI: Return user-provided index from `menu_set_selected_item()` like `submenu` equivalent (by @Willy-JL) - OFW: RPC: Fix input lockup on disconnect (by @Willy-JL) - OFW: ELF/Flipper application: Do not crash on "out of memory" (by @DrZlo13) - NFC: - OFW: Fixed infinite loop in dictionary attack scene (by @RebornedBrain) - OFW: ISO15693 Render Typo Fix (by @zinongli) - OFW: Desktop: Lockup fix, GUI improvements (by @skotopes) - OFW: Loader: Fix crash on locked via cli loader (by @DrZlo13) - OFW: iButton/RFID: Fix Add Manually results being discarded (by @Astrrra) - OFW: Power: Fix typo in "charge me" screen (by @liamhays) - OFW: Accessor: Disable expansion service on start (by @skotopes) - OFW: Updater: Slightly smaller image (by @hedger) - OFW: Debug: Backup openocd work area, fix crash after fresh debugger connect and continue (by @skotopes) - OFW: Cleanup of various warnings from clangd (by @hedger) - OFW: ReadMe: update outdated bits and pieces (by @skotopes) - OFW: Fix .editorconfig (by @leon0399) ### Removed: - Furi: - Temp disabled `FURI_TRACE` due to DFU size, some crashes will say `furi_check failed` instead of source path - Reverted TLSF allocator due to diminishing results on RAM usage - API: - Removed unused `Rgb565Color` and `rgb565cmp()` since VGM colors use normal RGB colors now - Removed unused `furi_hal_usb_get_config_context()` function since BadKB doesn't use it anymore - UL: Sub-GHz: Removed broken `HND_1` modulation - OFW: CLI: Removed `ps` command, replaced by `top`