Releases: ayushsharma82/ESP-DASH
v4.0.8
Note: Make sure to update your ESP-DASH to latest release to mitigate any compilation errors. This release fixes a critical compilation bug which was happening due to a return
statement in a void function.
What's Changed
- Float support on sliders by @mathieucarbou in #231
- Update version and CI by @mathieucarbou in #237
- Added CLA by @ayushsharma82
- Added Code of Conduct by @ayushsharma82
- Minor fix in CI (paths-ignore) by @ayushsharma82
Full Changelog: v4.0.7...v4.0.8
v4.0.7
- Added written offer for source code due to compliance issues.
Full Changelog: v4.0.6...v4.0.7
v4.0.6
What's Changed
- Several improvements regarding transfer size and speed by @mathieucarbou in #226
- Added: void refreshChart(Chart* chart); by @mathieucarbou in #228
- fix: merge improvements and updated dependencies by @ayushsharma82 in #229
- Fixes #227
Full Changelog: v4.0.5...v4.0.6
June 2024 Maintenance Release
Important
ESPAsyncWebserver dependency has to be updated on your end to be compatible with this release. Ref: https://docs.espdash.pro/installation/
What's Changed
- Arduino 3 / ESP-IDF 5 compatibility by @mathieucarbou in #210
- Fix CI by @mathieucarbou in #214
- Before update callback by @mathieucarbou in #213
- Group of commits from dev branch by @mathieucarbou in #224
- v4.0.5 by @ayushsharma82 in #225
Full Changelog: v4.0.4...v4.0.5
February 2024 Maintenance Release
What's Changed
- Combination of 1+2+3+4+5+6 + websocket reload fix by @mathieucarbou in #183
- Fix auth by @mathieucarbou in #187
- Many changes regarding Json support and memory improvement by @mathieucarbou in #195
Brief Note by @mathieucarbou
-
Changed card and stat names to
const char*
to improve memory usage. This makes them immutable and require to use constants but avoids a memory copy on heap of all the string values -
Help mitigate concurrency issue with
isAsyncAccessInProgress()
to avoid updating cards while the layout is being generated from the async_http task -
Support both
ESPAsyncWebServer
Ws buffer API andyubox-node-org/ESPAsyncWebServer
buffer API (which as a better api for sending websocket buffers and dealing with concurrency) -
Supports WebSocket batching to avoid crash with the initial layout sending. Batch sizes can be controlled with
DASH_JSON_SIZE
andDASH_JSON_DOCUMENT_ALLOCATION
(Arduino Json 6) -
refreshLayout() refactoring in order to avoid too many layout refresh requests when updating components dynamically: let the caller trigger a layout refresh once.
-
Removed refreshStatistics() because it it not refreshing the stats only but all the updated cards also
-
Removed update calls when adding / removing cards and stats in order to avoid trigger a sequence of full layout updates: this is u to the user to call refreshLayout() when he has finished
-
DASH_MAX_WS_CLIENTS
allows to configure the max WS clients: the default value being set by theESPAsyncWebServer
lib. I recommend setting this value to 1 or 2.
Full Changelog: v4.0.3...v4.0.4
December Maintenance Release
What's Changed
- Fixes and improvements by @mathieucarbou in #174
- cleanup by @mathieucarbou in #176
- Updated webpage to fix statistics not updating properly - part of #174
New Contributors
- @mathieucarbou made their first contribution in #174
Full Changelog: v4.0.2...v4.0.3
Minor fix to update mechanism
- Fixed an issue where a card wouldn't update if only symbol was changed ( This affected any card which used the second parameter of update fn - this includes Status Card etc. )
Minor Fixes
- Fixed Button UI bug when value is not updated as expected
- Removed
portal
as submodule from repository. This created issues with PlatformIO as this submodule was private ( internal use only ).
ESP-DASH V4 is Here! 🔥
Finally, after lots of coffee and months of unexpected delays, ESP-DASH V4 is ready for public rollout 🎊! Version 4 primarily focuses on the stability of the codebase and optimizing the webpage, while also integrating lots of cool suggestions provided by the community. I'm really excited for you guys to try & use it in your own projects now!
A quick rundown of things that have been added with V4:
1. Switch to SvelteJS 👨💻
Rewritten webpage with SvelteJS framework: I already use Svelte in many of my other libraries and now it comes to ESP-DASH as well, It is one framework that I trust the best for creating SPAs for embedded applications. The final bundle size is something that some other frameworks can never achieve!
Here's the comparison:
Old V3 with Vuejs | New V4 with Svelte |
---|---|
151Kb | 91Kb (-40%) |
2. Improved Webpage Generation Script
Improved compression script, now webpage header files are divided between header and source. This fixes linker issues when using ESP-DASH within another class/library.
3. Refreshed UI ⚡️
Refreshed webpage UI according to Y22 standards. It now features a sidebar that can be collapsed to provide more screen space.
4. Rewritten Charts Logic 📈
Rewritten charts functionality to prevent memory hogging of the microcontroller. Discussed more in Migration Guide
5. Custom Statistics ✏️
With V4, users can now add their own key-value pairs to the statistics page. When there are no statistics, the webpage smartly hides the "statistics" tab on it's own.
6. Responsive Sizing ( Pro )
ESP-DASH Pro has a specially made responsive size engine that lets you change the size of your cards and charts without even touching the webpage's source code! Simply use setSize
function. More on this here
7. Tabs Support 🗂️ ( Pro )
Now you can add multiple pages/tabs to the dashboard and choose which cards and charts will appear in that Tab. It adds another dimension to your dashboard! Know more
8. Custom Title ( Pro )
You can now add your own custom dashboard title. Know more
9. Custom Branding ( Pro )
I know people wanted to add their own project/company logo to personalize their dashboards, therefore with V4 I've separated the logos from the webpage and now those can be set within the C++ code! Again, without touching the HTML, CSS or JS which is just awesome. Know more
I hope everybody likes this release! If you are new to ESP-DASH, I'll highly recommend trying out the open-source version and if you want more features you can look into purchasing the pro version which is catered towards people who want more. Learn More: https://espdash.pro
ESP-DASH is now DASH Lite
A bit of size reduction of the library but other than that nothing important has been changed with the release.
Apart from that:
ESP-DASH is now split into Lite and Pro versions. The open-source version will now remain like what it was before this release and will continue to have timely bug fixes and slight improvements, while the Pro will now feature exclusive cards, new charts and extended functionality ( example: changing layout/order of cards ).
This helps me maintain the project for a better future and to keep it alive.
Pro version is available at https://espdash.pro