You've already forked MicroPythonOS
mirror of
https://github.com/m5stack/MicroPythonOS.git
synced 2026-05-20 11:51:27 -07:00
349 lines
16 KiB
Markdown
349 lines
16 KiB
Markdown
0.9.0
|
|
=====
|
|
|
|
Builtin Apps:
|
|
- AppStore: update BadgeHub.eu URL
|
|
- About: show netmask separately, make labels focusable
|
|
- HowTo: new onboarding app with auto-start handling to explain controls
|
|
- Settings: add sub-groups of setings as separate apps, including WiFi app
|
|
- Settings: add Hotspot sub-group (SSID, password, security)
|
|
- Settings: add WebServer sub-group (autostart, port, password)
|
|
- Launcher: ignore launchers and MPOS settings (except WiFi)
|
|
|
|
Frameworks:
|
|
- Audio streams: WAV playback/recording improvements (duration/progress, hardware volume control)
|
|
- AudioManager: registry/session model, multi-speaker/mic routing, ADC-based mic (adc_mic)
|
|
- DownloadManager: explicit certificate handling
|
|
- InputManager: pointer detection helpers and board registrations
|
|
- SensorManager: refactor to IMU drivers with magnetometer support and desktop IIO fallback
|
|
- SharedPreferences: fix None handling
|
|
- WebServer: new framework with Linux/macOS fixes and no background thread
|
|
- WifiService: hotspot support, IP address helpers, simplified connect/auto-connect
|
|
- Websocket library: renamed to uaiowebsocket to avoid conflicts
|
|
|
|
OS:
|
|
- ESP32 boards: bundle WebREPL (not started by default) to offer remote MicroPython shell over the network, accessible through webbrowser
|
|
- New board support: LilyGo T-Display-S3 (physical and emulated by QEMU)
|
|
- New board support: LilyGo T-Watch S3 Plus
|
|
- New board support: M5Stack Fire
|
|
- New board support: ODroid Go
|
|
- New board support: unPhone 9
|
|
- Fri3d 2024/2026 updates: display reset support using CH32 microcontroller, communicator/expander drivers
|
|
- ADC microphone C module and tests
|
|
- Build system: switch to static builds for desktop systems to bundle LIBC and fix LIBC version issue
|
|
- Build system: add linux-arm64 and macos-intel GitHub workflows to support more precompiled binaries
|
|
- Add FreeRTOS module for low-level ESP32 functions
|
|
|
|
0.8.0
|
|
=====
|
|
|
|
Builtin Apps:
|
|
- About: use logger framework
|
|
- AppStore: mark BadgeHub backend as 'beta'
|
|
- Launcher: improve layout on different screen width sizes
|
|
- OSUpdate: remove 'force update' checkbox not in favor of varying button labels
|
|
|
|
Frameworks:
|
|
- SDCard: add support for SDIO/SD/MMC mode
|
|
- CameraManager and CameraActivity: work fully camera-agnostic
|
|
|
|
OS:
|
|
- Add board support: Makerfabs MaTouch ESP32-S3 SPI IPS 2.8' with Camera OV3660
|
|
- Scale MicroPythonOS boot logo down if necessary
|
|
- Don't show battery icon if battery is not supported
|
|
- Move logging.py to subdirectory
|
|
|
|
0.7.1
|
|
=====
|
|
|
|
Builtin Apps:
|
|
- Update icons for AppStore, Settings, and Wifi apps
|
|
|
|
Frameworks:
|
|
- Fix issue with multiple DownloadManager.download_url's on ESP32 due to SSL session sharing/corruption
|
|
|
|
0.7.0
|
|
=====
|
|
|
|
Builtin Apps:
|
|
- Redesign all app icons from scratch for a more consistent style
|
|
- About app: show MicroPythonOS logo at the top
|
|
- AppStore app: fix BadgeHub backend handling
|
|
- OSUpdate app: eliminate requests library
|
|
- Settings app: make 'Cancel' button more 'ghost-y' to discourage accidental misclicks
|
|
|
|
Frameworks:
|
|
- Harmonize frameworks to use same coding patterns
|
|
- Rename AudioFlinger to AudioManager framework
|
|
- Rename PackageManager to AppManager framework
|
|
- Add new AppearanceManager framework
|
|
- Add new BatteryManager framework
|
|
- Add new DeviceInfo framework
|
|
- Add new DisplayMetrics framework
|
|
- Add new InputManager framework
|
|
- Add new TimeZone framework
|
|
- Add new VersionInfo framework
|
|
- ActivityNavigator: support pre-instantiated activities so an activity can close a child activity
|
|
- SensorManager: add support for LSM6DSO
|
|
|
|
OS:
|
|
- Show new MicroPythonOS logo at boot
|
|
- Replace all compiled binary .mpy files by source copies for transparency (they get compiled during the build, so performance won't suffer)
|
|
- Remove dependency on micropython-esp32-ota library
|
|
- Remove dependency on traceback library
|
|
- Additional board support: Fri3d Camp 2026 (untested)
|
|
|
|
0.6.0
|
|
=====
|
|
- About app: make more beautiful
|
|
- AppStore app: add Settings screen to choose backend
|
|
- Camera app and QR scanning: fix aspect ratio for higher resolutions
|
|
- WiFi app: check 'hidden' in EditNetwork
|
|
- Wifi app: add support for scanning wifi QR codes to 'Add Network'
|
|
- Create new SettingsActivity and SettingActivity framework so apps can easily add settings screens with just a few lines of code
|
|
- Create CameraManager framework so apps can easily check whether there is a camera available etc.
|
|
- Simplify and unify most frameworks to make developing apps easier
|
|
- Improve robustness by catching unhandled app exceptions
|
|
- Improve robustness with custom exception that does not deinit() the TaskHandler
|
|
- Improve robustness by removing TaskHandler callback that throws an uncaught exception
|
|
- Don't rate-limit update_ui_threadsafe_if_foreground
|
|
- Make 'Power Off' button on desktop exit completely
|
|
|
|
0.5.2
|
|
=====
|
|
- Fri3d Camp 2024 Board: add I2S microphone as found on the communicator add-on
|
|
- API: add TaskManager that wraps asyncio
|
|
- API: add DownloadManager that uses TaskManager
|
|
- API: use aiorepl to eliminate another thread
|
|
- AudioFlinger API: add support for I2S microphone recording to WAV
|
|
- AudioFlinger API: optimize WAV volume scaling for speed and immediately set volume
|
|
- Rearrange automated testing facilities
|
|
- About app: add mpy format info
|
|
- AppStore app: eliminate all threads by using TaskManager
|
|
- AppStore app: add experimental support for BadgeHub backend (not enabled)
|
|
- MusicPlayer app: faster volume slider action
|
|
- OSUpdate app: show download speed
|
|
- SoundRecorder app: created to test AudioFlinger's new recording feature!
|
|
- WiFi app: new 'Add network' functionality for out-of-range networks
|
|
- WiFi app: add support for hidden networks
|
|
- WiFi app: add 'Forget' button to delete networks
|
|
|
|
0.5.1
|
|
=====
|
|
- Fri3d Camp 2024 Board: add startup light and sound
|
|
- Fri3d Camp 2024 Board: workaround ADC2+WiFi conflict by temporarily disable WiFi to measure battery level
|
|
- Fri3d Camp 2024 Board: improve battery monitor calibration to fix 0.1V delta
|
|
- Fri3d Camp 2024 Board: add WSEN-ISDS 6-Axis Inertial Measurement Unit (IMU) support (including temperature)
|
|
- API: improve and cleanup animations
|
|
- API: SharedPreferences: add erase_all() function
|
|
- API: add defaults handling to SharedPreferences and only save non-defaults
|
|
- API: restore sys.path after starting app
|
|
- API: add AudioFlinger for audio playback (i2s DAC and buzzer)
|
|
- API: add LightsManager for multicolor LEDs
|
|
- API: add SensorManager for generic handling of IMUs and temperature sensors
|
|
- UI: back swipe gesture closes topmenu when open (thanks, @Mark19000 !)
|
|
- About app: add free, used and total storage space info
|
|
- AppStore app: remove unnecessary scrollbar over publisher's name
|
|
- Camera app: massive overhaul!
|
|
- Lots of settings (basic, advanced, expert)
|
|
- Enable decoding of high density QR codes (like Nostr Wallet Connect) from small sizes (like mobile phone screens)
|
|
- Even dotted, logo-ridden and scratched *pictures* of QR codes are now decoded properly!
|
|
- ImageView app: add delete functionality
|
|
- ImageView app: add support for grayscale images
|
|
- OSUpdate app: pause download when wifi is lost, resume when reconnected
|
|
- Settings app: fix un-checking of radio button
|
|
- Settings app: add IMU calibration
|
|
- Wifi app: simplify on-screen keyboard handling, fix cancel button handling
|
|
|
|
0.5.0
|
|
=====
|
|
- ESP32: one build to rule them all; instead of 2 builds per supported board, there is now one single build that identifies and initializes the board at runtime!
|
|
- MposKeyboard: fix q, Q, 1 and ~ button unclickable bug
|
|
- MposKeyboard: increase font size from 16 to 20
|
|
- MposKeyboard: use checkbox instead of newline symbol for 'OK, Ready'
|
|
- MposKeyboard: bigger space bar
|
|
- OSUpdate app: simplify by using ConnectivityManager
|
|
- OSUpdate app: adapt to new device IDs
|
|
- ImageView app: improve error handling
|
|
- Settings app: tweak font size
|
|
- Settings app: add 'format internal data partition' option
|
|
- Settings app: fix checkbox handling with buttons
|
|
- UI: pass clicks on invisible 'gesture swipe start' are to underlying widget
|
|
- UI: only show back and down gesture icons on swipe, not on tap
|
|
- UI: double size of back and down swipe gesture starting areas for easier gestures
|
|
- UI: increase navigation gesture sensitivity
|
|
- UI: prevent visual glitches in animations
|
|
- API: add facilities for instrumentation (screengrabs, mouse clicks)
|
|
- API: move WifiService to mpos.net
|
|
- API: remove fonts to reduce size
|
|
- API: replace font_montserrat_28 with font_montserrat_28_compressed to reduce size
|
|
- API: improve SD card error handling
|
|
- WifiService: connect to strongest networks first
|
|
|
|
0.4.0
|
|
=====
|
|
- Add custom MposKeyboard with more than 50% bigger buttons, great for tiny touch screens!
|
|
- Apply theme changes (dark mode, color) immediately after saving
|
|
- About app: add a bit more info
|
|
- Camera app: fix one-in-two 'camera image stays blank' issue
|
|
- OSUpdate app: enable scrolling with joystick/arrow keys
|
|
- OSUpdate app: Major rework with improved reliability and user experience
|
|
- add WiFi monitoring - shows 'Waiting for WiFi...' instead of error when no connection
|
|
- add automatic pause/resume on WiFi loss during downloads using HTTP Range headers
|
|
- add user-friendly error messages with specific guidance for each error type
|
|
- add 'Check Again' button for easy retry after errors
|
|
- add state machine for better app state management
|
|
- add comprehensive test coverage (42 tests: 31 unit tests + 11 graphical tests)
|
|
- refactor code into testable components (NetworkMonitor, UpdateChecker, UpdateDownloader)
|
|
- improve download error recovery with progress preservation
|
|
- improve timeout handling (5-minute wait for WiFi with clear messaging)
|
|
- Tests: add test infrastructure with mock classes for network, HTTP, and partition operations
|
|
- Tests: add graphical test helper utilities for UI verification and screenshot capture
|
|
- API: change 'display' to mpos.ui.main_display
|
|
- API: change mpos.ui.th to mpos.ui.task_handler
|
|
- waveshare-esp32-s3-touch-lcd-2: power off camera at boot to conserve power
|
|
- waveshare-esp32-s3-touch-lcd-2: increase touch screen input clock frequency from 100kHz to 400kHz
|
|
|
|
0.3.2
|
|
=====
|
|
- Settings app: add 'Auto Start App' setting
|
|
- Tweak gesture navigation to trigger back and top menu more easily
|
|
- Rollback OTA update if launcher fails to start
|
|
- Rename 'Home' to 'Launch' in top menu drawer
|
|
- Fri3d-2024 Badge: use same SPI freq as Waveshare 2 inch for uniformity
|
|
- ESP32: reduce drawing frequency by increasing task_handler duration from 1ms to 5ms
|
|
- Rework MicroPython WebSocketApp websocket-client library using uasyncio
|
|
- Rework MicroPython python-nostr library using uasyncio
|
|
- Update aiohttp_ws library to 0.0.6
|
|
- Add fragmentation support for aiohttp_ws library
|
|
|
|
Known issues:
|
|
- Fri3d-2024 Badge: joystick arrow up ticks a radio button (workaround: un-tick the radio button)
|
|
|
|
0.3.1
|
|
=====
|
|
- OSUpdate app: fix typo that prevented update rollback from being cancelled
|
|
- Fix 'Home' button in top menu not stopping all apps
|
|
- Update micropython-nostr library to fix epoch time on ESP32 and NWC event kind
|
|
|
|
0.3.0
|
|
=====
|
|
- OSUpdate app: now gracefully handles the user closing the app mid-update instead of freezing
|
|
- Launcher app: much faster thanks to PackageManager + UI only rebuilt when apps actually change
|
|
- AppStore app: improved stability + icons for already-installed apps are shown instantly (no download needed)
|
|
- API: Add SDCardManager for SD Card support
|
|
- API: add PackageManager to (un)install MPK packages
|
|
- API: split mpos.ui into logical components
|
|
- Remove 'long press IO0 button' to activate bootloader mode; either use the Settings app (very convenient) or keep it pressed while plugging in the USB cable (or briefly pressing the reset button)
|
|
- Increase framerate on ESP32 by lowering task_handler duration from 5ms to 1ms
|
|
- Throttle per-frame async_call() to prevent apps from overflowing memory
|
|
- Overhaul build system and docs: much simplier (single clone and script run), add MacOS support, build with GitHub Workflow, automatic tests, etc.
|
|
|
|
0.2.1
|
|
=====
|
|
- Settings app: fix stray /cat in Europe/Brussels timezone
|
|
- Launcher app: fix handling of empty filesystem without apps
|
|
|
|
0.2.0
|
|
=====
|
|
- Fix KeyPad focus handling for devices without touch screen like the Fri3d Camp 2024 Badge
|
|
- Use direction arrows for more intuitive navigation instead of Y/A or pageup/pagedown for previous/next
|
|
- About app: enable scrolling using arrow keys so off-screen info can be viewed
|
|
- About app: add info about freezefs compiled-in filesystem
|
|
- AppStore app: don't update UI after the user has closed the app
|
|
- Launcher app: improve error handling
|
|
- Wifi app: cleanup and improve keyboard and focus handling
|
|
- Wifi app: improve different screensize handling
|
|
|
|
0.1.1
|
|
=====
|
|
- Update to MicroPython 1.25.0 and LVGL 9.3.0
|
|
- About app: add info about over-the-air partitions
|
|
- OSUpdate app: check update depending on current hardware identifier, add 'force update' option, improve user feedback
|
|
- AppStore, Camera, Launcher, Settings: adjust for compatibility with LVGL 9.3.0
|
|
|
|
0.0.11
|
|
======
|
|
- Merge official Fri3d Camp 2024 Badge support
|
|
|
|
0.0.10
|
|
======
|
|
- About app: add machine.freq, unique_id, wake_reason and reset_cause
|
|
- Reduce timezones from 400 to 150 to reduce scrolling
|
|
- Experimental Fri3d Camp 2024 Badge support
|
|
|
|
0.0.9
|
|
=====
|
|
- UI: add visual cues during back/top swipe gestures
|
|
- UI: prevent menu drawer button clicks while swiping
|
|
- Settings: add Timezone configuration
|
|
- Draw: new app for simple drawing on a canvas
|
|
- IMU: new app for showing data from the Intertial Measurement Unit ('Accellerometer')
|
|
- Camera: speed up QR decoding 4x - thanks @kdmukai!
|
|
|
|
|
|
0.0.8
|
|
=====
|
|
- Move wifi icon to the right-hand side
|
|
- Power off camera after boot and before deepsleep to conserve power
|
|
- Settings: add 20 common theme colors in dropdown list
|
|
|
|
0.0.7
|
|
=====
|
|
- Update battery icon every 5 seconds depending on VBAT/BAT_ADC
|
|
- Add 'Power' off button in menu drawer
|
|
|
|
0.0.6
|
|
=====
|
|
- Scale button size in drawer for bigger screens
|
|
- Show 'Brightness' text in drawer
|
|
- Add builtin 'Settings' app with settings for Light/Dark Theme, Theme Color, Restart to Bootloader
|
|
- Add 'Settings' button to drawer that opens settings app
|
|
- Save and restore 'Brightness' setting
|
|
- AppStore: speed up app installs
|
|
- Camera: scale camera image to fit screen on bigger displays
|
|
- Camera: show decoded result on-display if QR decoded
|
|
|
|
0.0.5
|
|
=====
|
|
- Improve focus group handling while in deskop keyboard mode
|
|
- Add filesystem driver for LVGL
|
|
- Implement CTRL-V to paste on desktop
|
|
- Implement Escape key for back button on desktop
|
|
- WiFi: increase size of on-screen keyboard for easier password entry
|
|
- WiFi: prevent concurrent operation of auto-connect and Wifi app
|
|
|
|
0.0.4
|
|
=====
|
|
- Add left edge swipe gesture for back screen action
|
|
- Add animations
|
|
- Add support for QR decoding by porting quirc
|
|
- Add support for Nostr by porting python-nostr
|
|
- Add support for Websockets by porting websocket-client's WebSocketApp
|
|
- Add support for secp256k1 with ecdh by porting and extending secp256k1-embedded
|
|
- Change theme from dark to light
|
|
- Improve display refresh rate
|
|
- Fix aiohttp_ws bug that caused partial websocket data reception
|
|
- Add support for on Linux desktop
|
|
- Add support for VideoForLinux2 devices (webcams etc) on Linux
|
|
- Improve builtin apps: Launcher, WiFi, AppStore and OSUpdate
|
|
|
|
0.0.3
|
|
=====
|
|
- appstore: add 'update' button if a new version of an app is available
|
|
- appstore: add 'restore' button to restore updated built-in apps to their original built-in version
|
|
- launcher: don't show launcher apps and sort alphabetically
|
|
- osupdate: show info about update and 'Start OS Update' before updating
|
|
- wificonf: scan and connect to wifi in background thread so app stays responsive
|
|
- introduce MANIFEST.JSON format for apps
|
|
- improve notification bar behavior
|
|
|
|
0.0.2
|
|
=====
|
|
- Handle IO0 'BOOT button' so long-press starts bootloader mode for updating firmware over USB
|
|
|
|
0.0.1
|
|
=====
|
|
- Initial release
|
|
|