Client Changelog
Integrator-facing changes for the @arrai-innovations/vueda npm package.
Use this page for changes that affect client package consumers: public Vue components, composables, routes, stores, theme behavior, build integration, dependency expectations, and migration notes.
Unreleased
Breaking Changes
Forms and validation
- Action confirmation views laid out as pages (#578):
ViewAction,ViewExecuteTransition,ViewActivate,ViewDeactivate, andViewDestroynow place the confirm button in the sticky action bar under the page title and their content in the page gutter, asViewReadandViewUpdatedo, and the confirm button names the action instead of reading "Yes, continue".ActionFormandModelActionFormgain apageprop for this layout, and selected-record chips show formatted names without primary keys. Overrides of the removedViewDestroy.cardandViewDestroy.bodytheme keys no longer apply; restyle the destroy page through theModelActionFormandActionFormkeys instead.
Features
Forms and validation
- Record name heading on read and update views (#574):
ViewRead,ViewUpdate, andDetailViewnow show a heading above the fields that names the record by its formatted name, and they requestformatted_namewhen the view's field lists leave it out. Therecord-nameslot and therecordNameandrecordNameSkeletontheme keys customize the heading. A serializer that showsformatted_nameas a visible field now shows the name twice, andstyle={"hidden": True}on that field removes the field row.
History
ViewHistoryListshows workflow state changes (#527):- An event with
relation: "state"reads "Workflow state" in the Model cell, and itschangesshow the old and new state. The cell carriesdata-relation="state"for theming.
- An event with
v3.0.0-beta.1 (2026-10-21)
This is the first public beta of the VUEDA v3 client. It builds list, detail, form, action, and workflow screens from the metadata that the VUEDA server publishes. A project on client v2.0.4 upgrades with Upgrade from VUEDA v2, which also covers the matching server upgrade.
Installation and Requirements
Install the beta from the public npm registry by its beta tag:
pnpm add @arrai-innovations/vueda@betaThe client requires:
- Node 22 or later.
- Vue 3.5, Vue Router 4.5, and Pinia 3.
- The peer dependencies in
package.json, including@arrai-innovations/reactive-helpers25,@vueuse/core14, and@arrai-innovations/vue-sonner2.0.11. - Tailwind CSS 4 with
@tailwindcss/vitefor the default theme. - A v3 VUEDA server. The client reads metadata shapes that only the v3 server sends.
Client Plugin Prerequisites lists the setup that the application performs before it mounts.
Capabilities
- Controls and theme. VUEDA ships its own controls, built on Reka UI, and a default theme of Tailwind classes and CSS tokens. You can restyle one instance, one component, a family of components, or the whole brand. Theming and Customization describes the four scopes.
- Icons. Components resolve icons through a registry. A Font Awesome Free preset fills it. Register the Icons shows the setup.
- Layout. The application layout owns the page title, page actions, and sticky bars, and views contribute to them. Place the Page Title and Page Actions shows the setup.
- Lists. List views sort by several fields through chips and keep the sort in the URL. They filter through chips with typed inputs, open scoped lists, and link rows to detail views. Columns render by field type and can show server column totals. Configure
list/read/create/updateViews covers the options. - Forms. Forms confirm server warnings before a write, upload files at any depth of a nested form, and render read-only values formatted by field type. A read-only file field shows a link to the stored file, and a user can clear an optional file field. Require Confirmation Before a Write covers the confirmation step.
- Routing.
makeCRUDRoutesopens a route for each workflow transition by its code, rechecks access when the signed-in user changes, and honors therouteActionsallowlist. Routing and View Resolution Model describes the guard chain. - Auth views. Default sign-in, forgot-password, reset-password, and reauthentication views cover two-factor sign-in and code-based reauthentication. Build Auth Views shows the routes that they expect.
AuthFormkeeps its reauthentication and sign-in redirects. Pass itsonSubmissionErrorHandlerprop to handle its other submission errors, as Build a Form for a Signed-In Operation describes. - User changes. Stores clear metadata, configuration, choices, and workflow data when the signed-in user changes. When the Signed-In User Changes lists what clears.
- Build integration.
vuedaViteConfig()sets up the@vuedaalias and deduplicates peer packages. When you pass yoursrcdirectory as its@alias, it also finds convention-named action views.
Known Limitations
useVersion().newClientAvailablestays false unless the project definesVITE_PACKAGE_VERSIONitself, becausevuedaViteConfig()does not define it (#300).- Relation selects built on
WidgetModelload only the first 200 options and have no search. List filter dropdowns have the same limit (#381).WidgetCombobox, the default relation widget, searches the list endpoint and does not have this limit. - A form does not report fields that failed to render. A user can submit a form with a field that they never saw (#197).
- The client uses fixed query parameter names. A server that renames
o,s, the page parameters, orctneeds a matching client change (#301). - A built-in theme module that loads after the application calls
setClassMergerreplaces the application's class merger (#467). - The design review of the default theme is incomplete, so default styles may change between betas (#248).
Public Baseline
VUEDA client versions before v3.0.0-beta.1 were private releases or prereleases. This page starts the public history at v3.0.0-beta.1.