unleashed-firmware/CHANGELOG.md
2024-10-29 02:51:49 +03:00

13 KiB

Main changes

  • SubGHz:
    • Frequency analyzer fixes and improvements:
      • Enforce int module (like in OFW) usage due to lack of required hardware on external boards (PathIsolate (+rf switch for multiple paths)) and incorrect usage and/or understanding the purpose of frequency analyzer app by users, it should be used only to get frequency of the remote placed around 1-10cm around flipper's left corner
      • Fix possible GSM mobile towers signal interference by limiting upper frequency to 920mhz max
      • Fix duplicated frequency lists and use user config for nearest frequency selector too
      • Fix buttons logic, fix crash
    • Protocol improvements:
      • Keeloq: Monarch full support, with add manually option (thanks @ashphx !)
      • Princeton support for second button encoding type (8bit)
      • GangQi fix serial check and remove broken check from UI
      • Hollarm add more button codes (thanks to @mishamyte for captures)
    • Misc:
      • Add extra settings to disable GPIO pins control used for external modules amplifiers and/or LEDs (in radio settings menu with debug ON)
  • NFC:
    • Read Ultralight block by block (fix password protected MFUL reading issue) (by @mishamyte | PR #825 #826)
    • Update NDEF parser (SLIX and MFC support) (by @luu176 and @jaylikesbunda and @Willy-JL)
    • OFW PR 3822: MIFARE Classic Key Recovery Improvements (by @noproto)
    • OFW PR 3930: NFC Emulation freeze (by @RebornedBrain)
    • OFW PR 3885: Add API to enforce ISO15693 mode (by @aaronjamt)
    • OFW: iso14443_4a improvements (by @RebornedBrain)
    • OFW: Plantain parser improvements (by @assasinfil) & fixes (by @mxcdoam)
    • OFW: Moscow social card parser (by @assasinfil)
    • OFW: NFC: H World Hotel Chain Room Key Parser
    • OFW: NFC Parser for Tianjin Railway Transit
    • OFW: NFC TRT Parser: Additional checks to prevent false positives
    • New keys in system dict
  • Infrared:
    • Add LEDs universal remote (DB by @amec0e)
    • Update universal remote assets (by @amec0e | PR #813 #816)
  • JS:
    • OFW: JS modules -> Breaking API change
    • Backporting custom features (read about most of the changes after other changes section) (by @xMasterX and @Willy-JL)
    • Add i2c module (by @jamisonderek)
    • Add SPI module (by @jamisonderek)
  • OFW: FuriHal, drivers: rework gauge initialization routine -> Downgrade to older releases will break battery UI percent indicator, upgrade to this or newer version to restore
  • OFW: heap: increased size -> More free RAM!!
  • OFW: New layout for BadUSB (es-LA)
  • OFW: Require PIN on boot
  • Apps: Check out more Apps updates and fixes by following this link

Other changes

  • OFW PR 3971: Fix JS memory corruption (in gpio module) (by @portasynthinca3)
  • OFW: lib: digital_signal: digital_sequence: add furi_hal.h wrapped in ifdefs
  • OFW: Add warning about stealth mode in vibro CLI
  • OFW: Small fixes in the wifi devboard docs
  • OFW: BadUSB - Improve ChromeOS and GNOME demo scripts
  • OFW: Small JS fixes
  • OFW: Canvas: extended icon draw.
  • OFW: Fixes Mouse Clicker Should have a "0" value setting for "as fast as possible"
  • OFW: Wi-Fi Devboard documentation rework
  • OFW: Furi: A Lot of Fixes
  • OFW PR 3933: furi_hal_random: Wait for ready state and no errors before sampling (by @n1kolasM)
  • OFW: nfc/clipper: Update BART station codes
  • OFW: FuriThread: Improve state callbacks
  • OFW: Documentation: update and cleanup
  • OFW: Improve bit_buffer.h docs
  • OFW: Prevent idle priority threads from potentially starving the FreeRTOS idle task
  • OFW: IR universal remote additions
  • OFW: Fix EM4100 T5577 writing block order (was already done in UL)
  • OFW: kerel typo
  • OFW: Folder rename fails
  • OFW: Put errno into TCB
  • OFW: Fix USB-UART bridge exit screen stopping the bridge prematurely More details on JS changes (js changelog written by @Willy-JL , thanks!):
  • Non-exhaustive list of changes to help you fix your scripts:
    • badusb:
      • setup(): mfr_name, prod_name, layout_path parameters renamed to mfrName, prodName, layoutPath
      • effort required to update old scripts using badusb: very minimal
    • dialog:
      • removed, now replaced by gui/dialog and gui/file_picker (see below)
    • event_loop:
      • new module, allows timer functionality, callbacks and event-driven programming, used heavily alongside gpio and gui modules
    • gpio:
      • fully overhauled, now you get() pin instances and perform actions on them like .init()
      • now supports interrupts, callbacks and more cool things
      • effort required to update old scripts using gpio: moderate
    • gui:
      • new module, fully overhauled, replaces dialog, keyboard, submenu, textbox modules
      • higher barrier to entry than older modules (requires usage of event_loop and gui.viewDispatcher), but much more flexible, powerful and easier to extend
      • includes all previously available js gui functionality (except widget), and also adds gui/loading and gui/empty_screen views
      • currently gui/file_picker works different than other new view objects, it is a simple .pickFile() synchronous function, but this may change later
      • effort required to update old scripts using gui: extensive
    • keyboard:
      • removed, now replaced by gui/text_input and gui/byte_input (see above)
    • math:
      • is_equal() renamed to isEqual()
    • storage:
      • fully overhauled, now you openFile()s and perform actions on them like .read()
      • now supports many more operations including different open modes, directories and much more
      • effort required to update old scripts using storage: moderate
    • submenu:
      • removed, now replaced by gui/submenu (see above)
    • textbox:
      • removed, now replace by gui/text_box (see above)
    • widget:
      • only gui functionality not ported to new gui module, remains unchanged for now but likely to be ported later on
    • globals:
      • __filepath and __dirpath renamed to __filename and __dirname like in nodejs
      • to_string() renamed and moved to number class as n.toString(), now supports optional base parameter
      • to_hex_string() removed, now use n.toString(16)
      • parse_int() renamed to parseInt(), now supports optional base parameter
      • to_upper_case() and to_lower_case() renamed and moved to string class as s.toUpperCase() and s.toLowerCase()
      • effort required to update old scripts using these: minimal
    • Added type definitions (typescript files for type checking in IDE, Flipper does not run typescript)
    • Documentation is incomplete and deprecated, from now on you should refer to type definitions (applications/system/js_app/types), those will always be correct
    • Type definitions for extra modules we have that OFW doesn't will come later

Known NFC post-refactor regressions list:

  • Mifare Mini clones reading is broken (original mini working fine) (OFW)
  • NFC CLI was removed with refactoring (OFW) (will be back soon)

-> How to install firmware

-> Download qFlipper (official link)

Please support development of the project

Service Remark QR Code Link/Wallet
Patreon
QR image
https://patreon.com/mmxdev
Boosty patreon alternative
QR image
https://boosty.to/mmxdev
cloudtips only RU payments accepted
QR image
https://pay.cloudtips.ru/p/7b3e9d65
YooMoney only RU payments accepted
QR image
https://yoomoney.ru/fundraise/XA49mgQLPA0.221209
USDT (TRC20)
QR image
TSXcitMSnWXUFqiUfEXrTVpVewXy2cYhrs
ETH (BSC/ERC20-Tokens)
QR image
darkflippers.eth (or 0xFebF1bBc8229418FF2408C07AF6Afa49152fEc6a)
BTC
QR image
bc1q0np836jk9jwr4dd7p6qv66d04vamtqkxrecck9
SOL (Solana/Tokens)
QR image
DSgwouAEgu8iP5yr7EHHDqMNYWZxAqXWsTEeqCAXGLj8
DOGE
QR image
D6R6gYgBn5LwTNmPyvAQR6bZ9EtGgFCpvv
LTC
QR image
ltc1q3ex4ejkl0xpx3znwrmth4lyuadr5qgv8tmq8z9
BCH
QR image
qquxfyzntuqufy2dx0hrfr4sndp0tucvky4sw8qyu3
XMR (Monero)
QR image
41xUz92suUu1u5Mu4qkrcs52gtfpu9rnZRdBpCJ244KRHf6xXSvVFevdf2cnjS7RAeYr5hn9MsEfxKoFDRSctFjG5fv1Mhn
TON
QR image
UQCOqcnYkvzOZUV_9bPE_8oTbOrOF03MnF-VcJyjisTZmsxa

Thanks to our sponsors who supported project in the past and special thanks to sponsors who supports us on regular basis:

@mishamyte, ClaraCrazy, Pathfinder [Count Zero cDc], callmezimbra, Quen0n, MERRON, grvpvl (lvpvrg), art_col, ThurstonWaffles, Moneron, UterGrooll, LUCFER, Northpirate, zloepuzo, T.Rat, Alexey B., ionelife, ... and all other great people who supported our project and me (xMasterX), thanks to you all!

What r, e, , c means? What I need to download if I don't want to use Web updater?

What build I should download and what this name means - flipper-z-f7-update-(version)(r / e / c).tgz ?
flipper-z = for Flipper Zero device
f7 = Hardware version - same for all flipper zero devices
update = Update package, contains updater, all assets (plugins, IR libs, etc.), and firmware itself
(version) = Firmware version

Designation Base Apps Extra Apps ⚠️RGB mode*
c
e
r ⚠️

⚠️This is hardware mod, works only on modded flippers! do not install on non modded device!

Firmware Self-update package (update from microSD) - flipper-z-f7-update-(version).tgz for mobile app / qFlipper / web
Archive of scripts folder (contains scripts for FW/plugins development) - flipper-z-any-scripts-(version).tgz
SDK files for plugins development and uFBT - flipper-z-f7-sdk-(version).zip