Limited offer 60% off on your first year, for new customers. Applied automatically at checkout. See pricing
Releases

0.4.0

September 23, 2026

Breaking

  • All procs are now called with keyword arguments. This means procs configured for collection_query, searchable, sortable will need to have their signature changed (from eg lambda { |query, term| } to lambda { |query:, term:| }).
  • Internal uchi_user method has been removed. If you happened to use it, use Uchi::Context#user instead.

Added

  • Uchi::Context with useful details about what's currently happening.
  • collection_query, searchable, sortable procs now receive a context argument with the current Uchi::Context.
  • Official support for PostgreSQL and MySQL, in addition to SQLite.
  • A set of constants to use when referencing views: Uchi::View::INDEX etc. See the Views documentation for details.
  • Support for mounting the engine at a nested path like /admin/uchi or similar.

Changed

  • Code from Uchi::ApplicationController has been moved to Uchi::Controller. This provides a clean Uchi::ApplicationController for consumer applications to reopen and modify.
  • Uchi::Actions::ExecutionsController now inherits from Uchi::ApplicationController as expected.
  • All internal Uchi controllers are now routed under a _ scope to avoid naming conflicts with your repository controllers.
  • rails generate uchi:install no longer adds an unnecessary namespace :uchi block to routes.rb.
  • Views are now referenced using a Uchi::View instead of a Symbol as before.
  • Repository#title now prefers the return value from the title method before checking for name or to_s, because, well, that's what the method is named.

Fixed

  • The root repository URL can now be customized in a way that works even when mounted at a custom mount point.
  • Repositories now support models with primary key columns not named id.