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

Releases

0.3.1

August 31, 2026

Added

  • The built release is now verified against our test application before pushing it to the gem server.

Fixed

  • A bunch of internal routes were missing from the released gem causing errors like NoMethodError (undefined method 'has_many_associated_records_path' for an instance of ActionDispatch::Routing::RoutesProxy). This release adds them back in.
0.3.0

August 29, 2026

Added

  • New Field::HasMany#nested_fields for inline editing of has_many associations using Rails nested attributes. Switches the field from selecting existing records to creating, editing, and deleting associated records directly within the parent form. Accepts Field instances (like Repository#fields), supporting String, Text, Number, Boolean, Date, and DateTime fields.
  • If your repositories are searchable, a Global Search link appears so you can search across all searchable models.
  • New records can now be added to has_many associations directly from the record show page.
  • Searchable can receive a lambda in order to modify the search query. This makes it possible to normalize the search term or even join associated tables into the query and search across those.
  • Documentation for each Field type currently supported.

Changed

  • Repositories are now always returned in the same order from Uchi::Repository.all.

Fixed

  • Index views were not scrollable on mobile viewports.
0.2.0

August 29, 2026

Breaking

  • Uchi::SortOrder#name has been renamed to Uchi::SortOrder#column.

Added

  • A bunch of documentation with more to come.
  • Add visible configuration option to fields. This gives finer control over which fields are displayed for a given record, allowing for more dynamic and context-sensitive UIs.
  • New field type: Field::Select for fixed lists of options.

Fixed

  • Scrolling could result in scrolling entirely past all the content. The inline scrolling of each individidual pane should now be much more robust.
  • Field::Text now renders on :new actions by default as expected.
0.1.8

May 12, 2026

Added

  • Fields can now be configured to appear on :new pages, but not on :edit, and vice versa. Either add or remove :new from the fields on() configuration as needed.
  • Uchi can now be mounted at a path other than /uchi. If you want it to live at fx. /admin, use the at: argument: Uchi.routes.mount(self, at: :admin).
  • Inklings of a plugin-system. For now, it's for internal use only.

Fixed

  • Allow UI to use the full height of the viewport to prevent clipping popovers and dialogs.
  • BelongsTo fields for polymorphic associations no longer cause an error on edit and new pages. Instead, they just don't show up. This isn't exactly optimal, but for now we don't have an automated way of actually figuring out what ActiveRecord class they are associated with.
0.1.7

January 05, 2026

Added

  • BelongsTo and HasMany fields now use a more powerful and user-friendly widget than the standard select dropdown to fetch relevant records from the backend.
  • Mounting Uchi is now done by adding Uchi.routes.mount(self) to config/routes.rb. The old explicit mount syntax still works, you won't reap some of the future benefits by doing so.
  • Routes for RepositoryControllers are now automatically added to the host app's routes.
  • It is now possible to customize the JavaScript and stylesheet assets that Uchi loads.