Skip to content

ElegantOTA V3 is Here! πŸ”₯

Compare
Choose a tag to compare
@ayushsharma82 ayushsharma82 released this 20 Sep 20:50
· 88 commits to master since this release
a4813cd

ElegantOTA had a lot in waiting and I wanted to make sure it's worth waiting for! 🎊 The 3rd major release of ElegantOTA since 2019 πŸ”₯. It's quite surprising that ElegantOTA has been the choice of many since last 4 years. Wohoo!

A quick rundown of things that have been added with V3:

1. Switch to Vanilla JS πŸ‘¨β€πŸ’»

Rewritten portal with Vanilla JS: ElegantOTA is one particular library in which using a JS framework was actually not a good choice because of the bundle size. Hence, I made the switch to vanilla JS which is the most bare form of making a webpage interactive. The final bundle size is something that a JS framework can never achieve!

Here's the comparison:

V2 New V3 with VanillaJS
52Kb 9.3Kb (-82%)

2. Improved Webpage Generation Script

Improved compression script, now webpage header files are divided between header and source. This fixes linker issues when using ElegantOTA within another class/library.

3. Refreshed UI ⚑️

Refreshed portal UI according to Y23 standards. It now features light/dark theme selector so that you ( dark mode people ) don't burn your eyes when staring at the progress bar πŸ˜†.

4. Callbacks πŸ“ˆ

Callbacks now comes as standard across ElegantOTA and you can use them to stop any heavy/crucial task while the MCU is downloading OTA, keep track of progress and know when the OTA is finished with what status. Callbacks Documentation

5. Async Mode πŸ”„

ElegantOTA now gets the Async functionality from AsyncElegantOTA library. I decided to merge the existing AsyncElegantOTA library to keep the codebase same for all, this in return guarantees less bugs; and improvements are ported to both audiences. Async Mode Documentation

6. Dedicated Documentation ✏️

ElegantOTA lacked serious documentation because till date it was a library which didn't have much features. But all that is about to change and with V3 onwards, there is a dedicated documentation website that goes through every functionality.

7. Disable OTA Modes πŸ”₯ ( Pro )

OTA Modes can now be disabled! This is something which was asked a lot in issues and now you can disable specific OTA modes as per your liking. Don't want filesystem updates? You can now do that πŸ˜„, the disabled modes appear disabled (greyed out) in portal so that user can know what is allowed. Documentation.

8. Custom Title πŸ”€ ( Pro )

You can now add your own custom portal title. Know more

9. Branding/Logo 😎 ( Pro )

I know people wanted to add their own project/company logo to personalize their ElegantOTA portal, therefore with V3 I've separated the logos from the webpage and now those can be set within the C++ code without touching the HTML, CSS or JS which is just awesome. Know more

10. Hardware ID & Firmware Version πŸ’» ( Pro )

Having a lot of devices on your network can be a mess! You can set hardware ID and current firmware version to better manage your devices. No more keeping the IP address of your device in mind, the ElegantOTA portal will let you know which device it is and what firmware version is it running. Documentation

I hope everybody likes this release! If you are new to ElegantOTA, I'll highly recommend trying out the open-source version and if you want more features you can look into purchasing pro version which is catered towards people who want more features. Learn More: https://elegantota.pro

License Change

The license of ElegantOTA open source edition has been changed from MIT to AGPL-3.0 to better facilitate users with a good library and user experience. Please be aware of it if you are running ElegantOTA in any of your commercial products and please consider switching to SCL-1.0 ( SOFTT Commercial License 1.0 ) which allows commercial usage, it is comes included with ElegantOTA Pro.