all releases all gems

minor release

4.4.0

avo-ai gem · info and install
avo-ai

🎸 Features

  • Configure dynamic filters, audit logging, notifications and meta inside Avo.configure @adrianthedev (#504) (also in avo-api, avo-audit_logging, avo-dynamic_filters, avo-mcp_server, avo-meta, avo-notifications)
  • Audit logging: log every change to a model, even outside Avo @Paul-Bob (#419) (also in avo-audit_logging, avo-mcp_server)
  • Create reusable skills from AI chat @adrianthedev (#402)
  • feat(avo-ai): actions can close the chat window they were run from (AVO-1647) @adrianthedev (#481)
  • feat(avo-ai): pit-core avocado on the Agent button and new-chat page @adrianthedev (#416)
  • feat: plugin keyboard shortcuts can be rebound from config.hotkeys @adrianthedev (#404) (also in avo-advanced_search, avo-custom_controls, avo-kanban)
  • feat(avo-ai): use full-page chat without the floating bar @adrianthedev (#407)
  • feat(avo-ai): search remote MCP tools instead of loading every one @Paul-Bob (#372)
  • feat(avo-ai): pit-core avocado on the retracted chat button @adrianthedev (#377)
  • Add dynamic fields to record chips @adrianthedev (#361)

🐛 Bug Fixes

  • fix: gem tooltips follow core's text-unless-safe rule @Paul-Bob (#500) (also in avo-audit_logging, avo-dashboards, avo-dynamic_filters)
  • feat(avo-ai, avo-mcp_server): turn chat and MCP on or off per user; custom MCP tools declare their resources @Paul-Bob (#494) (also in avo-mcp_server, avo-menu)
  • Audit logging: outside_avo logs changes made outside Avo from their PaperTrail version @Paul-Bob (#491) (also in avo-audit_logging, avo-mcp_server)
  • Close the remaining write gaps around chat skills @adrianthedev (#486)
  • fix(avo-ai): a query on a column the Index hides matches only rows the user may open @Paul-Bob (#455)
  • test: follow core's 403 refusal and act_on? on runs @Paul-Bob (#447) (also in avo-authorization, avo-forms, avo-nested)
  • fix(avo-ai): the chat reads a record's fields and files only when show? allows it @Paul-Bob (#442)
  • fix(avo-ai): record a typed confirmation, and say the write is running @adrianthedev (#245)
  • fix(avo-ai): development reloads no longer stack copies of the messages helper @Paul-Bob (#397)
  • fix(avo-ai, avo-mcp_server): a new polymorphic type sent without its id is refused, naming the id @Paul-Bob (#393) (also in avo-mcp_server)
  • fix(avo-ai, avo-mcp_server): AI and MCP writes go through your resource's fields @Paul-Bob (#385) (also in avo-api, avo-mcp_server)
  • fix(avo-ai): chat-loader no longer fails to connect on every Avo page @Paul-Bob (#373)
  • Keep field autofocus out of AI chat cards and nested and reactive forms @Paul-Bob (#355) (also in avo-nested, avo-reactive_fields)
  • fix(avo-ai): boot on released ruby_llm when the mcp gem is bundled @Paul-Bob (#371)

💡 Refactor

  • refactor(avo-ai, avo-mcp_server): find records by param through core's find_records @Paul-Bob (#394) (also in avo-mcp_server)
  • refactor(avo-ai, avo-mcp_server): authorize writes against the field that saves them @Paul-Bob (#390) (also in avo-authorization, avo-mcp_server)

🤖 Maintenance

  • chore(avo-ai, avo-mcp_server, avo-cli): ship 4.4.0 as stable @Paul-Bob (#509) (also in avo-cli, avo-licensing, avo-mcp_server)
  • Default the avo-ai dummy app to gpt-6-luna @adrianthedev (#487)
  • Move Avo core and website clones to the workspace root @adrianthedev (#413) (also in avo-advanced_search, avo-api, avo-audit_logging, avo-authorization, avo-calendar_view, avo-cli, avo-collaboration, avo-custom_controls, avo-dashboards, avo-dynamic_filters, avo-forms)
  • chore: dummy apps boot on the next free port when theirs is taken @adrianthedev (#410) (also in avo-advanced_search, avo-api, avo-audit_logging, avo-authorization, avo-calendar_view, avo-collaboration, avo-custom_controls, avo-dashboards, avo-dynamic_filters, avo-forms, avo-http_resource, avo-kanban, avo-mcp_server, avo-menu, avo-meta, avo-nested, avo-notifications, avo-query, avo-reactive_fields, avo-record_reordering, avo-scopes)
  • RubyGems homepage links now open each gem's page on avohq.io @adrianthedev (#406) (also in avo-advanced_search, avo-api, avo-audit_logging, avo-authorization, avo-calendar_view, avo-collaboration, avo-custom_controls, avo-dashboards, avo-dynamic_filters, avo-forms, avo-http_resource, avo-kanban, avo-licensing, avo-mcp_server, avo-menu, avo-meta, avo-nested, avo-notifications, avo-permissions, avo-reactive_fields, avo-record_reordering, avo-scopes)
  • avo-ai: require released ruby_llm 2.1, defer the rename tool @adrianthedev (#384)

Dependency changes

- avo (>= 4.3.0)
+ avo (>= 4.4.0)
- avo-authorization (>= 4.3.0)
+ avo-authorization (>= 4.4.0)
- avo-licensing (>= 4.3.0)
+ avo-licensing (>= 4.4.0)
- ruby_llm (>= 2.0.0.rc4, < 2.1)
+ ruby_llm (~> 2.1)

Avo has let me push further on the features my users benefit from most whilst trusting I am giving volunteer curators a backend experience I can still be proud of.

It's a real multiplier on the project and adopting it was undoubtedly the best technical decision we've made.

John Bannister
John Bannister
Rails developer, Exlibris RPG

latest minor release

Avo v4.4.0 released 6 days ago.