Releases: echo-lalia/MicroHydra
v2.3
Additions:
- Add bitmap scaling to display driver
- Added stretch n' squish to the launcher icons
- Add rawbitmap module
- Added directory options to files app
Fixes:
- Fix sdcard on TDeck
- Fix missing app icons on startup
- Improve compatibility on Tdeck KB
- Fix tdeck quit and Config save
- Fix missing display instance
- Add default to terminal input
Full Changelog: v2.2...v2.3
Version 2.2: Terminal overhaul and other enhancements
Enhancements:
-
Terminal has been overhauled
- Separated some logic into separate modules/classes
- Added partial ANSI color/style code support (Bold, underline, and basic colors are supported)
- Colorized existing commands
- Added some new commands (and made it easier to add more in the future)
- Tweaked script running functionality
- Added REPL functionality
-
'getapps' built-in app has been improved
- Added usage hint when catalog loads
- Added unset WiFi settings warning (that also takes you to the settings app)
- Apps are now in alphabetical order, and you can 'jump' to a letter using the keyboard, just like in the launcher.
-
Created DisplayCore module/class
- Separated ST7789-specific, and general graphics methods into separate modules. Hopefully future display drivers can re-use these same graphics methods.
-
Added
hydra.loader
module, for easily passing information to MicroHydra'smain.py
- (Also modified main.py to use this module, for simplicity and consistency).
-
Modified UTF8 font making scripts - filled in missing UTF8 characters.
-
Added backlight/brightness controls to Display class.
-
Added brightness setting to config.json
-
Added global shortcut for changing display brightness. Improved existing volume and quit shortcuts.
-
Added bitmap conversion scripts.
-
Tweaked the icons for the built-in apps.
BREAKING CHANGES:
- Some methods in the Display module have had their arguments made into keyword-only arguments
Full Changelog: v2.1...v2.2
v2.1
BREAKING CHANGES:
- Bin size has increased from 2mb to 3mb; you will need to erase/create a new file system to update from v2.0 to v2.1
- Some library functions/methods that previously allowed keyword args to be given as positional args, will now only work as keyword args. (As far as I know, this isn't breaking any published MH apps, but could break some private apps.)
Major improvements:
- Internationalization!
- Full multilingual UTF8 font built in!
- Some major improvements have been made to the code (a pyproject.toml has been added, and all builtin modules have been linted.)
- Updated to MicroPython v1.23
- Conditionals that are proccessed by
parse_files.py
are now commented out, rather than deleted. - Some small bugs have been fixed.
What's Changed
- I18n support by @RealClearwave in #124
- I18n menu update by @echo-lalia in #126
- Revamp speedtesting script by @echo-lalia in #127
- Freeze utf8 by @echo-lalia in #135
- Comment out failed conditionals (rather than deleting them) by @echo-lalia in #136
- Hydefix by @echo-lalia in #137
- Fixmpyboard by @echo-lalia in #138
- Settings updates by @echo-lalia in #142
- Update MicroPython to 1.23 by @echo-lalia in #144
- Bugfixing by @echo-lalia in #150
- Add get_instance util by @echo-lalia in #151
- Add easings module by @echo-lalia in #152
- Improve TDeck trackball by @echo-lalia in #153
- Fixerrors by @echo-lalia in #154
- update files app by @echo-lalia in #156
Full Changelog: v2.0...v2.1
v2.1-preview
What's Changed
- Updatewiki by @echo-lalia in #122
- I18n support by @RealClearwave in #124
- small utf8 fixes by @echo-lalia in #125
- I18n menu update by @echo-lalia in #126
- Revamp speedtesting script by @echo-lalia in #127
- Update wiki by @echo-lalia in #130
- Freeze utf8 by @echo-lalia in #135
- Comment out failed conditionals (rather than deleting them) by @echo-lalia in #136
- Hydefix by @echo-lalia in #137
Full Changelog: v2.0...v2.1-preview
v2.0
What's changed:
Version 2.0 has significantly overhauled the structure of MicroHydra to enable multiplatform support, and added a few enhancements.
Here is an incomplete list of changes made:
- Moved the contents of
MicroHydra/
tosrc/
- Added device definitions to
devices/
- Added
tools/parse_files.py
to help with writing device-specific code insrc/
- Replace 'magic' constants with device-specific values
- Use conditional statements to include/exclude code by matching device name or features
- Copying device-specific drivers from
devices/
- Added tools for automatically compiling .mpy and .bin files for each device
- Rewrote
st7789fbuf
intodisplay.st7789
, which is now faster, and can also support a smaller memory framebuffer when needed - Partially rewrote the launcher (again) to use the new display driver, support multiple devices, and use more sensible raw bitmap icons
- Rewrote
keyboard.py
andsmartkeyboard.py
intouserinput
, with device-agnostic keymaps, touchscreen support, and function-key locking. - Added
battlevel.py
- Added
sdcard.py
- Added
hydra.color.py
- Reworked mhconfig (now
hydra.config
) - Turned many classes into singletons to save memory and ease communication between them
- Moved
M5Sound.py
toi2ssound.py
- Added
audio
module for device-agnostic audio control - Added
display
module for device-agnostic display control - Added
device
module to allow multiplatform apps to access device configurations - Completely rewrote
mhoverlay
intohydra.popup
with extended features and a simpler API - Added github actions for building firmware automatically
- Added fancydisplay module for extending graphics functionality
- Created "getapps.py" for getting apps from the apps repo
RealClearwave also added kanji character support, and a terminal for running CLI programs.
And, previously, (in v1.1), h-david-a improved the files.py copy/paste functionality, and added 24h clock support to the launcher.
v2.x is also, unfortunately, less stable (currently, at least) than v1.x when run uncompiled with no psram. Using the .mpy version of the program (at least for the ram-hungry modules) fixes all these issues though, so this is not a big deal in my opinion.
Full Changelog: v1.0...v2.0
v2.0-preview
What's changed:
Version 2.0 has significantly overhauled the structure of MicroHydra to enable multiplatform support, and added a few enhancements.
Here is an incomplete list of changes made:
- Moved the contents of
MicroHydra/
tosrc/
- Added device definitions to
devices/
- Added
tools/parse_files.py
to help with writing device-specific code insrc/
- Replace 'magic' constants with device-specific values
- Use conditional statements to include/exclude code by matching device name or features
- Copying device-specific drivers from
devices/
- Added tools for automatically compiling .mpy and .bin files for each device
- Rewrote
st7789fbuf
intodisplay.st7789
, which is now faster, and can also support a smaller memory framebuffer when needed - Partially rewrote the launcher (again) to use the new display driver, support multiple devices, and use more sensible raw bitmap icons
- Rewrote
keyboard.py
andsmartkeyboard.py
intouserinput
, with device-agnostic keymaps, touchscreen support, and function-key locking. - Added
battlevel.py
- Added
sdcard.py
- Added
hydra.color.py
- Reworked mhconfig (now
hydra.config
) - Turned many classes into singletons to save memory and ease communication between them
- Moved
M5Sound.py
toi2ssound.py
- Added
audio
module for device-agnostic audio control - Added
display
module for device-agnostic display control - Added
device
module to allow multiplatform apps to access device configurations - Completely rewrote
mhoverlay
intohydra.popup
with extended features and a simpler API - Added github actions for building firmware automatically
v2.x is also, unfortunately, less stable (currently, at least) than v1.x when run uncompiled with no psram. Using the .mpy version of the program (at least for the ram-hungry modules) fixes all these issues though, so this is not a big deal in my opinion.
Full Changelog: v1.1...v2.0-preview
V1.1 - General enhancements
What's Changed
- Files.py: Tweaked copy-paste functionality by @h-david-a in #49
- 24h clock support added. Settings extensibility added by @h-david-a in #51
- Use HyDE in smartkeyboard, and improve formatting. by @echo-lalia in #54
- add 'm' kwarg to ellipse method by @echo-lalia in #57
- Add Support for Kanji & Terminal by @RealClearwave in #63
This should be the final release before merging the overhauled changes from the experimental-multiplatform branch, which is going to cause some stuff to break. Use this version if you need compatibility with MHv1 :)
New Contributors
- @RealClearwave made their first contribution in #63
Full Changelog: v1.0...v1.1
v1.0 - Launcher overhaul, enhancements, and bugfixes
Version 1.0 is here! 🎉
I've incremented to version 1.0 as I think it is unlikely for the core systems to undergo more major overhauls at this point. It had to hit version 1 some day :)
Overhaul launcher.py! (FINALLY)
- overhauled scrolling graphics to use a framebuffer, now the statusbar and scrollbar don't blink out on scroll
- broke code up into smaller functions to save memory (and make it easier to read!)
- added quite a few constants to improve readability (and save ram!)
- added custom 'st7789hybrid.py' for launcher-specific use
- replaced bitmap icons with vector icons to save memory
- added support for app icons
Added log output on launch failure to main.py
Improved copy/paste in Files app
Added 'smartkeyboard' to lib (which is now used by some built-in apps)
General bugfixes for HyDE
More:
- Update docs by @echo-lalia in #36
- Editor shouldn't trim last chars by @h-david-a in #38
- Launcher overhaul by @echo-lalia in #41
- Update CONTRIBUTING.md by @echo-lalia in #42
- HyDE bugfix by @echo-lalia in #43
- improve fIles.py by @echo-lalia in #44
- Docstring quickfix by @echo-lalia in #45
New Contributors
- @h-david-a made their first contribution in #38
Full Changelog: v0.10...v1.0
v0.10 - new settings, HydraMenu, MPv1.23
WARNING: This release was made for MicroPython v1.23 (preview). Please update MicroPython if you encounter any issues.
What's Changed
- added apptemplate
- Create HydraMenu.py by @Gabriel-F-Sousa in #28
- merge downstream updates to M5Sound by @Lana-chan in #29
- Settings Overhaul
- Improved indentation support for HyDE
- Updated everything for MicroPython v1.23
v0.9 - file browser and text editor
Created files.py and HyDE.py, modified main.py to allow multiple paths.
Also added new methods to mhoverlay which are used by the new text editor, and file browser.