Releases: BxNxM/micrOS
Releases · BxNxM/micrOS
micrOS 3.0 - Standalone
Release Notes
micrOS 3.0 focuses on core stability, modern communication paths, a cleaner filesystem layout, and better package/runtime maintainability.
Core System Improvements
1. Async SSL/TLS integration
- Added async SSL/TLS support in the core HTTP client path.
urequestswas redesigned for async REST client usage.- Requires MicroPython
1.22+. - Enables improved integrations such as:
LM_telegramnotification flows- listener/server-side chatbot communication patterns
2. ESP-NOW integration in InterCon
- Added ESP-NOW peer-to-peer communication support to
InterCon. - Improved multi-command handling for the same target device with better session ID handling.
- Provides a lower-latency fallback/alternative path for device-to-device messaging.
3. New InterCon command syntax
- Added command-level remote execution syntax:
rgb toggle >>RingLight.local
- This replaces the older verbose form:
intercon sendcmd host="RingLight.local" cmd="rgb toggle"
- ESP-NOW is transparently integrated into the new
>>targetsyntax when available on the target.
4. Multi-level project and filesystem structure
- Introduced a structured micrOS filesystem layout with automatic directory creation at boot and over USB.
- New runtime directories:
/lib/logs/web/data/config/modules
- Added automatic handling for
/sourceand/precompiled.
Filesystem model:
- Root
/- core runtime files such as
micrOS.py,Config.py,Tasks.py,Shell.py,Web.py,Server.py, and related system files
- core runtime files such as
/web- static web assets:
html,js,css, and related files
- static web assets:
/data- runtime and persistent application data
*.cache*.dat
/logs*.log*.sys.log
/confignode_config.json- offloaded config values such as
*.key
/modulesLM_*IO_*- mip-compatible layout support via
/lib
5. Universal task creation response
- Task creation now uses a unified response format:
{taskID: verdict}
6. Proper mip installer support
- Added package installation support for
/modules,/lib, and/web. - Expanded autonomous package management over Wi-Fi / GitHub:
pacman install <package-url>pacman uninstall <package-name>pacman upgrade <package-name>pacman lspacman dirtree
7. Native requirements.txt handling
- Added
/config/requirements.txtsupport using native MicroPython requirements syntax. - Supported flow:
pacman install "requirements.txt"
8. External package ecosystem support
- Added
micrOS/packagessubmodule support for installable micrOS applications. - Application registry:
- Added devToolKit rendering support for external package load modules:
sfuncman.jsonsfuncman.html
9. MicroPython uplift to 1.27
- Updated baseline compatibility to MicroPython
1.27. - Includes fixes for micrOS USB update config restore issues.
- Includes TLS/SSL configuration fixes (sunset-sunrise API)
10. WebEngine mount and alias support
-
Added WebEngine mount aliases for
/data,/modules, '/logs'. -
Default web root remains
/web/<user_data>. -
Added absolute user input path checks in
Files.py. -
Improved file server integration:
- custom
/moduleslisting without.mpyfiles - mount-path write access handling
- mount-path read and visibility handling
- custom
11. @Auth.sudo decorator
- Added
@Auth.sudofor protected operations requiringpwd="<password>". - Supports two modes:
- always require password
- require only when
force=True
- Intended for sensitive operations such as:
pacman rmpacman rmdirpacman uninstall- forced upgrade flows
12. WebEngine finite state machine redesign
- Reworked WebEngine protocol parsing around a robust finite state machine.
- Decoupled transport handling from protocol parsing.
- Always forwards response headers to load module callback functions.
- Added bounded memory behavior and configurable memory profiles.
- Improved WebUI stability with better socket handling.
13. Boot flow and request-path optimization
- Improved generic boot flow behavior.
- Refined request handling and TLS/HTTPS behavior for better reliability.
Highlights
- Async TLS support for modern integrations
- Stronger InterCon with ESP-NOW support
- Cleaner and more scalable filesystem structure
- Better package management and
mipcompatibility - More robust WebEngine with tighter memory handling
- Updated MicroPython baseline to
1.27
micrOS 2.6
WebUI - webserver and interface improvements
- Webserver file response (html, js, css)
- improved index.html
- new dashboard.html
- refactors: uapi.js, udashboard.js, uwidgets.js, uwidgets_pro.js
- common ustype.css
- Finalized Load module interfaces:
- microIO.py
- Common.py
- Types.py for frontend generation - dashboard webapp
- Simulator improvements
- Generic micrOS core improvements
What's Changed
- Time to sleep for keychain by @KKristof452 in #32
Full Changelog: v2.0.0-0...v2.6.0-0
micrOS 2.0 LTS
Micropython base: 1.21.x
micrOS 2.0 LTS
Core:
- ShellCli - high performance low level communication and configuration interface
- WebCli (http server with endpoints: / and /rest and /<custom>)
- Full async as technically possible (WebCLI, ShelCLI, TaskManager (LM), InterCon)
- rest (urequests) stays sync module (https limitation with async.)
- Extensive testing and quality checks (system tests, pylint)
Web Frontends:
- index.html
- Common.py interface for LoadModule-s documentation
Load Module:
- Camera support (LM_OV2640.py)
- I2S mic support
- dashboard backend (LM_dashboard_be.py)
Web Frontends:
- dashboard.html
micrOS gateway - micrOS cluster monitoring, etc.
HW Project 🎲:
- LM_KeyChain HW+SW for the 2.0 anniversary. - project videos coming soon :D