Releases: ayushsharma82/ESP-DASH
v4.0.9
Important
We have officially switched our dependency to ESP32Async/ESPAsyncWebServer
which is now the only official & maintained version. It's advised to delete old forks from your system and install the latest ESP32Async/ESPAsyncWebServer
and it's dependencies from here.
This was a joint decision among multiple core collaborators to form ESP32Async organization and keep a single active version. All the changes and improvements from mathieu's fork of ESPAsyncWebServer
were merged in ESP32Async/ESPAsyncWebServer
.
More information about required dependencies can also be found in our documentation.
What's Changed
- Added full compatibility for arduino-pico SDK (RP2040 and RP2350 microcontrollers) by @ayushsharma82 in #253
- Switch to
ESP32Async/ESPAsyncWebServer
dependency by @ayushsharma82 in #253 - Switch to
RPAsyncTCP
dependency forRP2040
andRP2350
microcontrollers by @ayushsharma82 in #253 - Updated ArduinoJson dependency to
^v7.3.0
by @ayushsharma82 in #253
Full Changelog: v4.0.8...v4.0.9
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