Repository navigation
Ridu v0.17.0
Ridu 0.17.0
SvelteKit applications can now let their users write rich text with the editor the admin uses, and
Ridu's Svelte packages ship as ordinary compiled Svelte libraries.
Changes
@riducms/plugin-richtext/editorexportsRichTextEditor, which edits arichtext.Fieldvalue
in an application. It needs no Vite plugin, preprocessing, Sass, or admin runtime. Bind it to the
field's value and save that value through the generated client; pass the samefeaturesas the
Go field, and every edit passes the field's validation.- The editor renders with SvelteKit's server rendering: the server shows the saved document with
the editor's styles, and the browser swaps in the editor without moving the page. toolbarplaces the formatting controls over a selection, above the text, or both, and the
admin's layout options (hideGutterand the block controls) are props.lang,dir, and
messagestranslate it; it includes English, French, and Arabic.- The editor's colors, fonts, and main sizes are
--ridu-richtext-*custom properties. The
defaults follow the admin theme, or an application theme that uses shadcn-style names such as
--foregroundand--border, and fall back to a neutral light theme. Sass users can configure
the defaults with@use "@riducms/plugin-richtext/editor.scss" with (...). The admin looks the
same as in 0.16.2. - On touch screens, toolbar buttons and menu options are 44 pixels, and a fixed toolbar stays in view
while the on-screen keyboard is open. - The new Use the editor in your app guide covers
installation, saving, translation, styling, server rendering, and phones. - Ridu's Svelte packages (
@riducms/ui,@riducms/plugin, the official admin plugins, and
@riducms/sveltekit) follow thesv createlibrary template and publishsvelte-packageoutput
indist. Their component stylesheets are compiled to CSS, so applications need no Sass, and
@riducms/translationspublishes compiled JavaScript, so applications can import
@riducms/pluginduring server rendering. - With
TabbedUI, the SEO plugin shows one tab bar with Content and SEO, instead of two tab bars
where selecting SEO didn't hide the content. - Menus and popovers no longer cause a Svelte
derived_inertwarning in development when they open
and close quickly, after an upgrade to Bits UI 2.19.5. - Ridu uses
golang.org/x/textv0.41.0, which fixes a panic on crafted input in itsprecis
package (GO-2026-6629).govulncheckfound it
reachable from the admin's search parameter decoding.
Breaking changes and upgrade
Update the Go module and all Ridu npm packages to 0.17.0 together, regenerate application contracts,
and rebuild the admin and application binary. This release changes no Go APIs, authoring config,
manifest or protocol versions, REST or SDK behavior, migration planners, or database layouts, so
existing databases and migration histories need no changes.
- Ridu's Svelte packages export only their compiled
dist. Imports of theirsrcpaths, or of the
@ui/*,@plugin-richtext/*, and@plugin-seo/*aliases, must use the packages' public exports. @riducms/buildno longer exportscreateAdminLibraryConfig.- Generated admins no longer need the
@ui/*,@plugin-richtext/*, and@plugin-seo/*paths in
admin/tsconfig.json, the Lexical preprocessing inadmin/vite.config.ts, or the
@hvniel/lexical-sveltedependency inadmin/package.json. They no longer do anything; remove
them. New projects don't have them. - Admin plugins keep their contract.
@riducms/uiand@riducms/adminrequire Bits UI 2.19.5, and
@riducms/plugin-richtextaddsesm-envas a dependency.
This is a pre-1 release with breaking contracts; keep the coordinated packages aligned. Production
still runs as a Go binary with its static admin embedded, without a JavaScript server.