Download Latest Version v5.0 - A Giant Leap Forward source code.tar.gz (1.6 MB)
Email in envelope

Get an email when there's a new version of DASH V4

Home / v5.0.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-07-16 7.4 kB
v5.0 - A Giant Leap Forward source code.tar.gz 2025-07-16 1.6 MB
v5.0 - A Giant Leap Forward source code.zip 2025-07-16 1.6 MB
Totals: 3 Items   3.2 MB 6

I'm excited to finally announce the release of ESP-DASH v5! The next major revision of the ESP-DASH library which just started as my hobby project in 2017 but turned into something beautiful because 'you' the OSS community liked it πŸ˜„ .

Without wasting much time - v5 finally brings the best of both world, a memory optimized C++ backend (thanks to @mathieucarbou) and a new refined UI according to Y25' style trends which makes it look professional. Here are the top features that are introduced with this release:

Memory Optimization

A revamped C++ backend was proposed for v5 by @mathieucarbou and the benefits are evident! According to tests, this resulted in a huge reduction of heap usage and the template class based approach provides ESP-DASH with that it really needed - a truly extensive backend that can be moulded in any way possible for complex widgets.

This approach allows every widget to have its own set of methods and how it parses the data, this in return opens up a whole new world of possibilities which can be now be integrated within ESP-DASH in the long run!.

[!IMPORTANT] For existing users coming from v4, there's already a quick migration guide available in the latest documentation here: https://docs.espdash.pro/v5.x.x/getting-started/migrating-from-v4-to-v5 . Make sure to go through everything as this release is not directly compatible with v5, there are a lot of breaking changes.


🌞 Light or πŸŒ‘ Dark?

light-dark-shift-espdash

It's 2025 and having a application without dark mode is a shame! That's why with this release, ESP-DASH v5 finally supports both light and dark modes! The colors are adjusted very precisely between both modes so that nothing appears out-of-place. Additionally, you or your user can easily switch between light and dark mode easily from the dashboard itself.


Improved Chart Animations πŸ“Š

chart-animations

Chart animations in v5 have been improved; this time the whole chart doesn't refresh whenever we update the values instead the existing chart values transition/animate to new position gracefully.


Separator Card

separator-card

A dashboard with lots of widgets can get messy! V5 introduces a whole new card called "Separator", it's only purpose is to divide the page into groups which are easier to understand. A feature so requested that separator card is made available in both ESP-DASH Lite (OSS) and Pro! πŸŽ‰


Indicator Button (Pro)

indicator-button-success

A whole new kind of push button which has a indicator in the centre of it that is individually controllable via your code! You can indicate multiple status types through this indicator like green, blue, red, or even no indication as well.


Action Button (Pro)

action-button
action-button-dialog

Want to double confirm a particular action with the user? Use action button card! This whole new card looks just like a push button card but it opens a confirmation dialog so that you can make sure it's not a accidental press by the user! This card is particularly helpful when it comes to offering critical actions on the dashboard like: rebooting, factory reset etc.


Range Slider (Pro)

range-slider

A slider when you want to select a certain range between two numbers. Just like a regular slider but with 2 thumbs to set a range.


File Upload (Pro)

file-upload

A very demanded feature by many! File upload card now allows your user to upload files to an external or internal URL. Simply supply it with an URL to where the file should be uploaded and the acceptable file types if you want to restrict the upload to specific file types. That's it! Rest the file upload card will handle for you.

If you want to receive the file within your microcontroller then it's advised to create a "file upload" route in your AsyncWebServer instance to which the file upload card will then upload the file to.


Changelog

  • Revamped C++ backend by @mathieucarbou
  • V5 introduces dashboard.refresh(<card>) method. This refresh method is now used in callbacks for refreshing 1 card quickly for which you have just received the value inside callback. Earlier, we used sendUpdates but that method would send updates for all the card making it slow. sendUpdates is still used for regularly sending batch updates to dashboard.
  • Widgets now use class based approach rather than macros like TEMPERATURE_CARD. Example: dash::TemperatureCard, dash::HumidityCard etc.
  • Every widget has it's own class and methods. Everything is documented inside each widget's documentation page.
  • AsyncWebServer instance is now passed as reference rather than a pointer inside constructor of ESP-DASH. Example: ESPDash dashboard(server);
  • ESP-DASH dashboard instance is now passed as reference rather than a pointer to widgets. Example: dash::TemperatureCard temp1(dashboard, "Temperature");
  • Status card is now called "Feedback" card in v5. The functionality remains the same but the name better describes its purpose.
  • Button card is now called "Toggle Button" card in v5. Version 5 introduces lots of more buttons so it was necessary to distinguish it.
  • Statistics now have a StatisticProvider class through which you can provide real-time values. The StatisticsProvider will execute your callback function to get the latest value and display it on the dashboard!
  • All new UI design language according to Y25' trends. It now feels more professional and just like a proper full blown dashboard.
  • UI is now based on latest Svelte 5 framework which in return makes it more robust with improved performance.
  • Dashboard now has a collapsable sidebar which provides with more screen space when required.
  • ESP-DASH v5 now comes with light and dark modes! There's a toggle switch provided inside the dashboard as well for user to set their preference.
  • Added all-new Separator card (even in the lite/oss version) which allows you to segment the dashboard into multiple intuitive regions!
  • Chart animations are now fixed with v5! Now instead of refreshing whole chart, values within chart gracefully transition/animate to the new position.
  • Deprecated ESP8266 support. This platform is now unmaintainable as nobody is supporting its core development.
Source: README.md, updated 2025-07-16