Skip to content

0.7.0 (Stable Release)

Compare
Choose a tag to compare
@cp2004 cp2004 released this 11 Mar 20:17

WS281x LED Status 0.7.0 🎉

This release packs loads of work, from new features, improvements, stability fixes. There's lots to see, while the release notes are long I have aimed to include as much detail on the kinds of changes that have gone in as possible.

If you enjoy using this plugin, please consider supporting it's development! Big thank you to everyone who is supporting me, it makes a huge difference no matter how small.

📈 Development stats

  • 152 commits
  • 61 changed files
  • Over 3700 additions and 2400 deletions

📈 Pre-release stats

Big thank you to everyone who tested the two release candidates for this release, and reported their feedback including @trevor229, @Gordontgopher, @Jester4977, @kevinvalk and @samwiseg0. From OctoPrint's anonymous usage tracking, here's a graph:

graph

✨ New Features

  • Fade in/out on light switch
  • Colour correction values (#80)
  • Option to auto configure torch when opening the control tab (#74)
  • More progress effects
    • Linear gradient (#59)
    • Single pixel (#70)
    • Both ends (#57)
  • Use white LEDs on RGBW Strip (#91 & #93, thanks to @samwiseg0)
  • Store lights on/off state across restarts (#65)
  • Idle timeout feature (#69)
  • Test any RGB colour in LED test (#117 & #118, thanks to @dchauran)
  • Brand new documentation
    • All documentation is now hosted on Gitbook. This has made it far easier to read, use and maintain. It allows for versioned documentation as well as contributions from Github - found a problem in the docs? You can contribute! Documentation fixes are sometimes the best way to get involved in your favourite open source project to help others.
    • All links in the plugin have been updated, and as I can use branches for versions, there is no more need for the additional clicks to the wiki and then onto the docs 🥳.

⬆️ Improvements

  • Added some CI tests and build process
    • The test suite is currently limited, to be expanded in the future. Are you a Python testing guru? Please get in touch, I could do with some help here!
  • Migrate settings to new structure, which is far more organised, and avoids an additional settings parsing step.
  • Stable API - breaking change - though from now on the API is documented and mostly stable.
  • Majority of inputs have IDs and linked labels for accessibility improvements.
  • Check sys modules for spidev.bufsiz (#77)
  • Made OS configuration test smarter, it now provides reasons for test failures and can handle missing files properly (#77/#75)
  • Detect core_freq=250 on Raspberry Pi 4, and ask to remove it manually (#75)
  • Bump rpi-ws281x to >4.2.5 (#73)
  • Stability improvements, bugfixes, refactoring and more to improve the maintainability of the code. This was performed across the majority of the plugin code, it is way more readable and understandable now!
  • Make wizard use OS configuration test to reduce code duplication
  • Redesign of cluttered strip settings modal
  • Handle errors in effects and report them properly to the log
  • Move plugin API to separate class
  • Make wizard/OS config stuff a separate class
  • Move settings to separate file
  • More efficient M150 parsing
  • Additional logging of issues
  • Improve utilities with KO bindings (#39)
  • Rework effect running for better performance and stability
  • Use built-in user group management rather than relying on the pi user
  • Use Jinja macros and sub-templates efficiently to make the UI more maintainable
  • Add note to setup wizard if docker is detected
  • Add development channel to SW update
  • M150 W<value> now uses 'dedicated white' if enabled (#122)
  • Some additional debug logging for M150 commands.

🐛 Bug Fixes

  • Fix cooling progress tracking bed heater (#58)
  • Do not trigger OS configuration notification if wizard is not loaded (#53)
  • Fix startup effect not disabling
  • Cooling effect will not end if new print is started before cooldown finished (#105)
  • Don't let M150 cancel heating
  • Fix file not found error crashing the UI (#96)
  • Fix lights on/off reporting on the websocket
  • Make sure auto-connect printer is reflected on the strip (#88)