Skip to content

v5.41.0

Latest

Choose a tag to compare

@hassanzohdy hassanzohdy released this 29 Oct 16:39
· 2 commits to main since this release

Released 2026-10-29.

All 33 packages (@warlock.js/* and create-warlock) move to 5.41.0 together;
keep every family package on the same version. No breaking changes. This release adds
Mantine as a second UI kit for the design system, next to shadcn/ui.


1. Breaking changes

  • None. warlock add design-system without --kit installs the shadcn kit exactly as
    before.

2. Mantine UI kit (core, create-warlock, web)

  • Install: warlock add design-system --kit mantine (or warlock add mantine) in an app
    with web pages. It does not need Tailwind.
  • Same contract as the shadcn kit: the same component files and names under
    src/web/design-system/ (TextInput, EmailInput, PasswordInput, TextareaInput,
    SelectInput, MultiSelectInput, the date and time pickers, CheckboxInput, RadioInput,
    SwitchInput, FileInput, FieldFrame, SubmitButton), the same props and the same hooks.
    App code and generators work with either kit.
  • Forms stay on Mongez React Form. Every control binds through the shared hooks, and
    validation errors show through Mantine's error prop. @mantine/form is not installed or
    used.
  • Setup it writes: pinned @mantine/core, hooks, dates, notifications, modals and
    dayjs; postcss.config.mjs with postcss-preset-mantine; Mantine's stylesheets in
    src/web/app.css; and in src/web/root.tsx the colour-scheme script, mantineHtmlProps,
    and a provider that mounts MantineProvider, the modals manager and the notifications host.
    Existing files are kept, and a root with a custom shape is left alone with the lines to add
    printed.
  • Theme: src/web/design-system/mantine-theme.ts holds the design tokens you edit
    (primary colour, radius, fonts, spacing).
  • Extras: notify and notifyOnSubmit (toasts that plug into useSubmitForm and
    useSubmitAction), confirm() for confirmation dialogs, and PaginatedTable, which takes
    the paginated list response (rows plus pagination).
  • Kits exclude each other. Asking for one kit while the other is installed, or for both in
    one command, fails before anything is installed or written, with the steps to switch.

3. New projects (create-warlock)

  • --ui=<shadcn|mantine|none> chooses the UI kit of a web app; shadcn stays the default for
    --stack=web. --ui=mantine scaffolds without Tailwind.
  • The interactive stack menu has a "Full-stack web with Mantine" entry, and Customize lists
    Mantine among the rendering features.
  • The scaffold check in CI can create a Mantine or shadcn web project
    (npm run typecheck:scaffold -- --ui=mantine).

4. Upgrade notes

  1. Update the family. Run npx warlock update.
  2. Read what changed. Run npx warlock release-notes --from 5.40.1.
  3. Nothing to change for apps on the shadcn kit.
  4. To switch an app to Mantine, remove the shadcn kit's files and dependencies (the error
    message of warlock add design-system --kit mantine lists them), then run the command
    again. Your forms keep working because the component names and props are the same.