Repository navigation
baseplate@0.6.19
Patch Changes
-
#1036
0a595f4Thanks @kingston! - Generated tsconfigs now setmoduleResolutiontonodenextto match theirmodulesetting. -
#1042
9c2117dThanks @kingston! - Template extraction now fails when a template declares aprojectExportsentry that its source file no longer exports, naming the template, symbol and file, so renaming or deleting an export no longer leaves a stale entry that breaks an unrelated generator later. Configuring a template's exports now records a default export asexportedAs: 'default'rather than silently dropping it. -
#1032
daef666Thanks @kingston! - Database-backed test suites now create each worker's database once per run instead of checking for it before every test file, and raise the default test timeout to 15s so tests are not failed by a contended CI database. -
#1030
e5c3315Thanks @kingston! - Template extraction now resolves imports of a generated sibling package back to the import provider that owns them, and skips files the project has snapshotted as diverged, so apps sourcing their UI components from a shared library can have their templates extracted. The generated email service and notification email channel no longer carry/* TPL_* */marker comments. -
#1033
4805d5aThanks @kingston! - Generated backends now derive signing keys per purpose from a singleAPP_SECRET, so features needing signed tokens no longer each provision a secret of their own, and secrets retired intoAPP_SECRET_PREVIOUSkeep verifying so rotating does not invalidate values already issued.APP_SECRETis required: set it in every deployed environment before upgrading, or the app will fail to start. -
#1035
2671e93Thanks @kingston! - Each app now carries its own public URL, and the backend reads them throughgetApiUrl,getWebUrlandgetWebOrigins, so anything minting an absolute link names the client it means rather than declaring a URL setting of its own.ALLOWED_ORIGINSandAUTH_FRONTEND_URLare gone: setAPI_URLand aWEB_URL_<APP>per web app before upgrading, or the app will fail to start, plusADDITIONAL_WEB_ORIGINSfor any trusted origin that is not an app in the project. -
#1042
9c2117dThanks @kingston! - The auth hook that returns the signed-in user id is now consistentlyuseUserIdOrThrowinuse-user-id-or-throw.tsacross Better Auth, local auth and placeholder auth, following Prisma'sOrThrownaming; Better Auth apps should rename their imports ofuseRequiredUserId. Import maps for auth context, password reset and Stripe billing no longer offer symbols that the generated files stopped exporting. -
#1043
840dcb3Thanks @kingston! - The generated backend now uses fastify 5.12.1 and Prisma 7.10.0, which carry security fixes for request schema validation, proxy header handling, and Prisma Studio's local server binding. -
#1031
616d2f5Thanks @kingston! - Authorization expressions can now compare an optional field againstnull(e.g.model.engagementEffectiveAt !== null), including as anexists()/all()condition value, so presence-gated rules no longer have to be hand-written. Comparing a required field, or ajsonfield, againstnullis flagged as a warning. -
#1035
2671e93Thanks @kingston! - Guesses at an emailed verification code are now counted before the code is compared, so a burst of concurrent guesses can no longer exceed the code's attempt budget, and simultaneous guesses no longer surface a Prisma error or discard a code another request is still redeeming. Every validation spends an attempt, including a correct one. -
#1048
00800a2Thanks @kingston! - Generated apps no longer depend on sonner: toasts come from a Base UItoast.tsxcomponent that the app owns, which stacks, swipes to dismiss, announces errors assertively, and sits bottom-right instead of top-center. Code that importedtoastfrom'sonner'should import it from the generated components instead (@/components/ui/toast, or the shared component library in library mode). -
#1034
902e8aeThanks @kingston! - Auth now derives its signing keys fromAPP_SECRETinstead ofAUTH_SECRETandBETTER_AUTH_SECRET, which are no longer read and can be dropped from your environment. Upgrading signs existing users out and invalidates outstanding one-time codes. -
#1038
74ae3edThanks @kingston! - Password reset and email verification links now point back to the app the request came from, so a reset started on the admin console emails an admin console link instead of always linking to the project's default web app; a request from an unrecognised origin still falls back to that default. Invite links are unchanged. -
#1036
0a595f4Thanks @kingston! - Accepting an invite no longer replaces the password of an account that registered after the invite was sent; the accept-invite page now tells that user to sign in instead. -
#1028
94d84c1Thanks @kingston! - Signing in, signing out, and session changes from another tab no longer unmount the app, so the previous screen no longer flashes before the new one and page state survives the transition. -
#1041
5fe4f0aThanks @kingston! - Editing a component, hook, or service in a generated web app now updates the page in place instead of rebuilding the router and remounting the whole app, so your route, scroll position, and open subscriptions survive a save. Sentry is now initialised frommain.tsxviainitSentry(router)rather than importing the router itself. -
#1040
6a5a1bfThanks @kingston! - Backends now generate an in-memory email adapter, so a test can assert on the message a provider would have received — its rendered subject, body and headers — instead of mocking the send call. -
#1040
6a5a1bfThanks @kingston! - Notification emails now carry one-clickList-Unsubscribeheaders, backed by a signed endpoint that turns email off for the topics that email covered; a notification belonging to no topic carries no header, since the user cannot switch it off. -
#1044
9e622b6Thanks @kingston! - New projects' default dark-mode popover background now matches the card background, an elevated shade above the page background, rather than being indistinguishable from it. -
#1045
36f7701Thanks @kingston! - Page titles, empty states and help text now come from shared components rather than one-off classes, so headings and descriptions are consistent across settings, packages and data pages. -
#1039
fc4a2b1Thanks @kingston! - Rendered markdown and HTML now get their typography from atypesetclass that sizes to its container, replacing the globalh1-h3/prules and thetext-style-*utilities, so headings outsidetypesetneed their own text utilities. NewPageHeaderandSectioncomponents cover page and section titles with overridable heading levels, aninline-linkutility gives links in ordinary copy the same stylingtypesetgives links inside it, and generated card components now also exportCardAction. -
#1044
9e622b6Thanks @kingston! - Generated apps now define--radiusand its full size scale, so components likeInputGroupthat depend on it render with the correct corner radius instead of square corners. Fixed thedarkvariant matcher to also activate on a bare.darkclass, ported theSidebar/Badge/Alerttone and pointer-cursor fixes fromui-components, and switched the root layout from a fixed100vhtomin-height: 100dvh. -
#1046
57e356aThanks @kingston! - Generated components are now caught up with current shadcn Base UI, so inputs, cards, calendars, radio groups and dialogs pick up upstream's refreshed sizing, radii and range styling, and controls fill with a new--control-backgroundtoken that flips with the surface beneath them instead of always matching the page.Alertgains anAlertActionslot for a dismiss or retry control, andButtonGroupgains a vertical orientation plusButtonGroupTextandButtonGroupSeparator, matching upstream; it now squares off only children that set adata-slot, so a plain wrapper between buttons keeps its own corners. Components that deliberately differ from shadcn now say so inline. -
#1047
2299376Thanks @kingston! - Text-entry and button-like controls (Input,Textarea,InputGroup,InputOtp,NumberField,Combobox,Autocomplete,Select) now accept an optionalsizeofsm,defaultorxl, andButtongainsxlandicon-xl.xlrenders single-line controls at 44px with larger text; omittingsizeleaves every control looking exactly as it does today. -
#1044
9e622b6Thanks @kingston! - Fixed a shadow rule onSidebar's outline button variant that silently no-opped against oklch tokens, renamed thesurface-*status-color utilities totone-*(freeing "surface" for background/card/popover), addedtone-success/tone-warningvariants toBadge, and gave buttons a pointer cursor by default.Alert's border now tints with its variant instead of always rendering the default border color. Removed remaining literalbg-white/bg-blackcolors fromSlider,ColorPickerField,Dialog, andSheet. -
#1048
00800a2Thanks @kingston! - Toasts are now built on Base UI instead of sonner: they stack bottom-right, swipe to dismiss and announce errors assertively. Thetoastfacade takes the message first with optionaldescription,actionProps,priority,timeoutandid, andToasternow takes Base UI provider props, so sonner options such asposition,closeButtonandactionno longer apply.