Minor release

v3.18.0 - Discreet information, multiple options select field, index_query and TailwindCSS v4 prep

Avo just worked great. We were able to plug things together really easily, and it's given us the flexibility we needed to build out a really rich product
Tom Coates
Tom Coates
Head of Engineering, BBC Maestro

Hey everyone,

I hope you're having a great start of spring. We have a few cool things we shipped this month.

Big changes:

  • Discreet information
  • Multiple options select field,
  • index_query in actions
  • We're prepping for TailwindCSS v4
  • better engine mounting
  • preview policy method
  • namespaced actions generator
  • dynamic content in resource title and description
  • renamed row to cluster
  • ... a bunch more changes

Prepping fro TailwindCSS v4

We're preparing for our migration to TailwinCSS v4.
I talked quite a bit about this migration and what it entails. I even broke it down on what you need to do if you ejected it or not.
We'll have more detailed docs up this week so please stay close to see what you need to do, if you even have to do something.
Most users probably won't have to do anything to upgrade.

Our blog has been on πŸ”₯ with learning content

Our blog has been on πŸ”₯πŸ”₯πŸ”₯ with cool Rails content. Our editor Exequiel did an amazing job curating and writing content.
https://avohq.io/blog

SupeRails started an Avo playlist

Yaro has been busy and has cool ocntent coming out soon, but found some time to shoot a few Avo videos.
They are in the same SupeRails-style where he goes in depth and dissects the framework.
https://superails.com/playlists/avo

Friendly.rb announcement tomorrow

If you miss Friendly, you better subscribe to our socials. We're going to release a cool video for tomorrow talking about the first batch of (stellar) speakers and release ticket sales and the CFP.
http://bsky.app/profile/friendlyrb.com

Thanks for being awesome,
Adrian and Paul ✌️

Release notes: https://avohq.io/releases/3.18
Release video: https://youtu.be/BrBdvUXx7Ss
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/
Subscribe to SupeRails: https://www.superails.com
Subscribe to the Friendly.show: https://www.friendly.show
Friendly.rb: https://friendlyrb.com/

Release notes

More information and release video here

🚨 Breaking changes

🎸 Features

  • feature: discreet information @adrianthedev (#3592)
  • feature: Implement multiple option for select field @zhephyn (#3572)

✨ Enhancements

  • enhancement: add @index_query access in actions @Paul-Bob (#3699)
  • 🚨 enhancement: preview policy @Paul-Bob (#3660)
  • enhancement: namespaced actions generator @Paul-Bob (#3696)
  • enhancement: allow dynamic content in description and name @marlena-b (#3693)
  • enhancement: Detect polymorphic associations in generator @Nevelito (#3645)
  • enhancement: log errors rescued in perform_action_and_record_errors @Paul-Bob (#3658)

πŸ› Bug Fixes

  • fix: add optionsforfilter method to BadgeField @Paul-Bob (#3710)
  • 🚨 fix: coherence within associations fields authorization @Paul-Bob (#3687)
  • fix: text selection on table row triggers visit @adrianthedev (#3708)
  • fix: warning: already initialized constant Avo::Concerns::HasFieldDiscovery::COLUMNNAMESTO_IGNORE @Paul-Bob (#3694)
  • fix: change_items_per_page_url on paginator component @Paul-Bob (#3675)
  • fix: resource controls placement usage @Paul-Bob (avo-pro #102)
  • fix: radio field accessibility @Paul-Bob (#3666)
  • fix: number is_within when multiples filters applied @Paul-Bob (avo-dynamic_filters #79)
  • fix: tags filters value @Paul-Bob (avo-dynamic_filters #78)
  • fix: array resource authorization @Paul-Bob (#3646)
  • fix: global search warning @Paul-Bob (#3643)
  • Fix pagy nav typo @julianrubisch (#3639)

πŸ€– Maintenance

  • chore: add app_id if provided @adrianthedev (#3705)
  • chore: slimmer dummy files @adrianthedev (#3704)
  • chore: fix dl dt dd styling @adrianthedev (#3706)
  • [js] Update all Yarn dependencies (2025-02-27) @depfu (#3697)
  • [ruby] Update all Bundler dependencies (2025-02-27) @depfu (#3698)
  • Remove unnecessary blank lines in resource template @enderahmetyurt (#3691)
  • [ruby] Update all Bundler dependencies (2025-02-20) @depfu (#3678)
  • [js] Update all Yarn dependencies (2025-02-20) @depfu (#3677)
  • 🚨 [security] [ruby] Update nokogiri 1.18.2 β†’ 1.18.3 (patch) @depfu (#3674)
  • [ruby] Update all Bundler dependencies (2025-02-13) @depfu (#3663)
  • [js] Update all Yarn dependencies (2025-02-13) @depfu (#3662)
  • 🚨 [security] [ruby] Update rack 3.1.9 β†’ 3.1.10 (patch) @depfu (#3661)
  • chore: drop universalid dependency @Paul-Bob (#3654)
  • 🚨 [security] [js] Update esbuild 0.14.54 β†’ 0.25.0 (major) @depfu (#3652)
  • 🚨 [security] [ruby] Update net-imap 0.5.5 β†’ 0.5.6 (minor) @depfu (#3651)
  • chore: revert media library anchor_string @Paul-Bob (#3642)
  • [ruby] Update all Bundler dependencies (2025-02-06) @depfu (#3641)
  • [js] Update all Yarn dependencies (2025-02-06) @depfu (#3640)

πŸ’‘ Refactor

  • refactor: start using Avo::ResourceNotFoundError instead ActionController::RoutingError @Paul-Bob (#3703)
  • 🚨 refactor: better engine mounting @adrianthedev (#3533)
  • refactor: alias row to cluster @Paul-Bob (#3669)
  • refactor: fetch heroicons from avo-heroicons @Paul-Bob (#3671)

For more information, check out Avo's release notes page