github flipperdevices/flipperzero-firmware 0.63.3

latest releases: 0.101.1-rc, 0.101.0-rc, 0.100.3...
21 months ago

!!! 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-2706] SubGhz: checking saved key files for length
    • SubGhz: fix RAW file upload error
    • [FL-2709] GubGhz: RAW screen fix
  • [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-2684] SubGhz: fix incorrect CAME TWICE protocol definition
    • [FL-2685] SubGhz: fix the recorded RAW signal is deleted when trying to transmit on a prohibited frequency
  • [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

Don't miss a new flipperzero-firmware release

NewReleases is sending notifications on new releases.