Bubble Card 3
v3.4.0
Hi everyone!
Since v3.0.0, I've been spending (a lot) more time than usual going through old issues, fixing bugs, and implementing feature requests. The result is that the open issue count is now at one of its lowest points in a very long time (which feels really good! 🥳). So I didn't stop there, and this v3.4.0 includes many bug fixes and features that came directly from your requests. I also want to say a huge thank you to all the contributors who give their time, release after release, to help me in that quest! ❤️
I also picked up a few features and approaches that have been added in the Home Assistant frontend recently and that really deserved a place in Bubble Card. They also provide better solutions to some of the issues you've reported, while making it feel more in line with Home Assistant and even more intuitive to use.
And one more thing, I spent a good part of this release chasing everything that could slow down Bubble Card. So a dashboard full of Bubble Cards loads faster and feels smoother than ever, even with many modules and custom styles on top, and especially on older devices! 👌
It is all explained below, and I really hope you will love this release as much as I do! 🍻
Home Assistant templates (Jinja)
This is (by far) the feature you have asked me for the most, and I kept pushing it back in favour of JS templates and modules. But you were right, a Jinja template doing nothing at all in Bubble Card really does look like a bug, and I'm so happy to finally fill that gap!
Templates now work in names, icons, sub-buttons, horizontal buttons stacks, state content, custom styles, modules and conditions.
Everything is in the templates section of the documentation.
The Home Assistant pop-up style
A third style joins Bubble and Classic. This one brings the native "more info" dialog style, with all the features Bubble Card provides for pop-ups.
Perfect if you fill your pop-ups with native cards, or simply want to keep everything looking more in line with Home Assistant.
A new state line
Five separate switches used to control the line under the name, and they left nowhere to put a template, so it is now a single list, exactly like Home Assistant does on its tile card.
You can now pick what you want to see and in which order (the state, an attribute, a relative time, a template) 👌
Your existing cards keep working, and the editor converts them for you the first time you open one.
Important
Please take a backup before updating. Editing an existing card migrates it, and a migrated card will not work properly if you go back to a previous version of Bubble Card.
New swipe to close
Pop-ups now use the exact gesture of the Home Assistant "more info" dialog. Drag anywhere on the pop-up and it follows your finger, release it and it closes.
The dashboard behind no longer gets dragged along, which also puts an end to the accidental pull to refresh in the companion app.
Humidifiers and water heaters
These two need exactly what the climate card already had, a target value with plus and minus, a color that follows the state, and a menu of modes. So it now takes humidifier and water_heater entities as well, dehumidifiers and hygrostats included.
Both are offered in the card picker.
And it is faster (again)
Home Assistant asks every card to redraw itself whenever anything changes anywhere in your home. On my own dashboard that was dozens of times a second while nothing was happening, and 80% of it for nothing.
Bubble Card now watches what each card actually reads, and on an old iPad or Android tablet that cuts the rendering time at rest by more than a third!
Pop-ups open faster and smoother too (how many times have I written these words...), they create far fewer elements and no longer do half of their work in the middle of their animation, which is what an older device feels the most. That makes these (now more than ever) the best solution to declutter a complex dashboard 👌
But there is a lot more in this update, here's the full changelog:
💡 New features and enhancements
-
Home Assistant templates (Jinja):
Templates now work in names, icons, sub-buttons, horizontal buttons stacks, state content, custom styles, modules and conditions. Your server renders them and they update on their own. See the new templates section of the documentation. -
State content:
The five switches that controlled the line under the name are replaced by Home Assistant's own picker. Pick the state, an attribute, a relative time or a template, in any order. Your old configurations keep working and are converted when you open the editor. -
New "Home Assistant" pop-up style:
An exact copy of the more info dialog, perfect for pop-ups filled with native cards. It follows your theme like the native one does. #2592 -
Better relative times:
A time in the future now reads "in 20 hours" instead of a number of seconds, and an old one grows through weeks, months and years. -
A real swipe to close:
The same gesture as the Home Assistant pop-ups, so the dashboard behind no longer moves with your finger.slide_to_close_distanceis gone, and simply ignored if you still have it. #2594 -
Humidifier and water heater support:
The climate card now controls them too, with their own target value, modes menu and colors. Dehumidifiers and hygrostats included, and both are offered in the card picker. #2384 -
Your media players now say what is playing:
The line under the title only knew how to read an artist, so a TV show, a radio or a playlist left it empty, and the card fell back to showing its own name. It now says what Home Assistant says, your series with its episode, the channel you are listening to, the playlist, or the app when there is nothing else. -
Modules show the values they come with:
A setting you had never touched looked empty, and an empty dropdown reads as something missing rather than as what your module already does. Its default is now shown in the form. -
Fixed text scrolling on a line taken by a module or a template:
Text a module or a template writes into the state or the name line can now scroll like any other (like with my "Get state/attribute from other entities" module).
⚡ Performance
-
Cards only redraw when something they use has moved:
Home Assistant asks every card to redraw on every change anywhere in your home, which was more than 40 times a second at rest on my dashboard, and 80% of that for nothing. Measured on an old iPad, that is 37% less rendering time at rest and 66% less when switching pop-ups. -
Faster pop-up opening:
A pop-up now measures how tall its rows really are instead of assuming a fixed height, so the cards you cannot see yet are really built after the animation. -
A pop-up now really waits for the end of its animation:
Everything a pop-up does once it is open, letting go of its cards and locking the page behind it, could be done while it was still sliding, which is the one moment where it costs the most. -
Text is only measured when it is about to be seen:
Deciding whether a text needs the scrolling effect is expensive, and it was done for every text of a pop-up while none of them were visible yet. -
And more..
✔️ Bug fixes and improvements
-
Fixed sliders blending into their card:
The outline added in v3.3.0 is replaced by the color shift that already keeps a sub-button apart from its card, which suits it better and covers more cases.--bubble-sub-button-outlineand--bubble-sub-slider-outlineonly styled that outline, so they are removed. #2590 #2493 #2603 -
Fixed a tap swallowed after using a slider:
The first tap after sliding was eaten, so a select sub-button on a slider card needed two taps to open. #2593 -
Fixed a select menu that would not close:
Pressing a select sub-button while its menu was open put the menu straight back up, unless your tap was very short. #2566 -
Fixed text clipped instead of scrolling:
A name overflowing by only a couple of pixels was measured as fitting, so it stayed cut mid character. #2462 -
Fixed pop-ups under the status bar on mobile:
Since Home Assistant 2026.8 the companion app draws edge to edge, which pushed pop-ups up into the status bar. PR #2596 by @finder39, thank you so much! 🍻 -
Fixed a very fast second tap on a pop-up:
Closing a pop-up in the frame that follows its opening could leave the closing half done, and the pop-up on your screen. A narrow window on a fast device, a much wider one on a slow phone. -
Fixed a media player keeping its old artwork:
Switching to a track without album art left the previous cover in the background. #2457 PR #2598 by @cycsmail, thank you so much! 🍻 -
Fixed footer cards outside of sections views:
A footer card reserves room at the end of your dashboard so the last cards do not pass under it, and it only knew how to do that in a sections view. Anywhere else, a masonry, panel or sidebar view, a card inside a stack, or a view from another author, no room was reserved and an error was written in your Home Assistant log about once a second. #2607 -
Fixed a calendar card emptied by a single calendar:
One calendar Home Assistant cannot load took the whole card down with it, and all your other calendars with it. That one is skipped now and the rest show as usual. PR #2609 by @YP30, thank you so much! 🍻 -
Fixed a new module overwriting an existing one:
Typing an id that passes through one another module already holds, likedefault_icon_coloringgoing throughdefault, aimed the whole form at that other module, and saving replaced its code with an empty one. #2354 -
Fixed the attribute picker in module editors:
It stayed greyed out whatever entity you picked, which made my "Get state/attribute from other entities" module mostly unusable (and other modules as well). -
Fixed an artwork blinking while you edit a card:
With two cards of the same type on the same entity, the height of the card you were editing could be measured on the other one, and each correction rebuilt your preview from nothing. -
Fixed false duplicate pop-up warnings:
A pop-up could be reported as a duplicate of itself, and real duplicates went unreported while the dashboard was in edit mode. #2516 -
A clearer sub-button switch:
"Show background when entity is on" is now called "Show background", because that is what it does and that previous label was outdated. -
And (much) more...
Bubble News 🍻
Over the past few years, I’ve been working on Bubble Card almost every day to make it the best it can be, and I still can’t believe how much it has grown in popularity. Watching the community grow and seeing so many people using my work has been incredibly rewarding ❤️
That’s why I decided to launch a Patreon, as a way to offer something more to those who want to support me. Thanks to your support, I’m now able to work on this project full-time from home with my family, which is truly a dream come true.
Since then, I’ve released six modules that can be configured directly from the editor, just like any other Bubble Card feature. I’m also doing my best to release a new module every month.
![]() Bubble Weather Animated weather backgrounds with daily/hourly forecasts |
![]() Bubble Badges 2 Unlimited badges on any sub-button or the main icon |
![]() Bubble Calendar Enhanced Add time and date on buttons or calendar cards with customizable layout options |
![]() Bubble Neon A dynamic theme that automatically assigns unique vibrant colors to each Bubble Card |
![]() Custom dropdown Full control over labels, icons, and actions on select cards and sub-buttons |
![]() Bubble Quick Launcher Turn your sub-buttons card into a clean and compact launcher grid, perfect for room controls, navigation menus, scenes, and quick actions |
![]() Bubble Media Player Enhanced Enhance your media player cards with the cover of what is playing as the background, colors taken from the cover, a progress bar you can drag, a slideshow of your recently played covers, and more... |
I've recently published a new module for my media players that I really like (my wife as well ❤️), and made a short video to show it in action. I hope you will like it and I can't wait for your feedback! Here it is:
Bubble.Media.Player.Enhanced.mp4
I’m also finally happy with my own dashboard, built entirely with Bubble Card and only new custom modules I've been working on for months! Including one that adds unique colors and styles to all cards, one for the weather, one for graphs, square cards, time... I’ll release more of these modules soon, with a detailed post on Patreon and a new YouTube video. I would love to know what you think!
Thank you so much for being part of this amazing community, your support always makes a huge difference! ❤️
I’ve been wanting to start my own YouTube channel for a while, focusing on tutorials around Home Assistant and Bubble Card, and I really hope you will enjoy my videos. Don’t hesitate to subscribe to help give my channel more visibility. Thank you in advance!
I want to highlight that on the GitHub page, in the Discussions section, you can share and discover some amazing YAML examples from the community. Go check it out! Some of the creations are absolutely incredible!
And if you are interested I've opened a Subreddit for Bubble Card where I post my progress on the project. Here it is:
Also, if you ever want to grab me a fresh beer, here are some easy ways 🍻






