F
Flint DartDocs
GitHub
Product Updates
What's New

What's New in Flint Dart

Highlights from the latest Flint Dart and Flint UI releases.

JSON-Safe Flint Page Props

Flint Dart now sanitizes res.page() props before embedding them in the browser payload, including DateTime, Uri, enum values, models, maps, iterables, and objects with toJson() or toMap().

Fresh Child Component Values

Flint UI now replaces child components by default during parent rebuilds, so constructor-provided values stay current without requiring updateFrom for ordinary display components.

Explicit Component Lifecycle Bases

StatefulComponent and StatelessComponent make lifecycle intent clear. Component remains backwards-compatible, while components that must survive parent rebuilds can opt in with preserveState.

Hosted Package Deployment

The docs app now targets hosted pub.dev versions of flint_dart and flint_ui, keeping deployment independent of GitHub package overrides.

Flint UI Components

Flint UI now lets docs pages and app screens be built with Dart components, state, events, and inline DartStyle without leaving the Dart ecosystem.

Clear App Folder Structure

Docs now show a cleaner project shape with controllers, models, routes, UI pages, shared layouts, and reusable components organized in predictable folders.

Safer Column Renames

Column(renamedFrom: ...) lets migrations rename existing columns without dropping user data, with warnings for risky case-only renames.

Column Comments & Placement

Schema columns now support comment metadata and MySQL-only after placement for cleaner migrated tables.

Cleaner Controller Routes

app.controller(...) gives route groups a concise, request-scoped controller API while still creating a fresh controller for every request.

Password Reset Code Checks

Auth.verifyPasswordResetCode(...) lets apps validate reset codes before changing a password, and resetPasswordWithCode(...) now shares the same verification logic.

Auth Verification Wrapper

AuthVerification.verifyPasswordResetCode(...) keeps extension-based auth flows aligned with the new core reset-code verifier.

Async Auth Errors Covered

Exception middleware regression coverage now includes awaited async handlers that throw AuthException.

Unified Request Input

validate(), input(), allInput(), and rawBody() now cover JSON, forms, multipart fields, files, query params, and route params through one request API.

WebSocket Namespaces

WebSocket rooms are now isolated by path, with explicit cross-namespace helpers like emitToRoomIn(...) and emitToNamespace(...).

Safer WebSocket Payloads

emit(...) and sendJson(...) now normalize values like DateTime, collections, exceptions, and objects with toMap() or toJson() before encoding.

Swagger Knows WebSockets

Generated docs now include app.websocket(...) handshake routes with 101 Switching Protocols and Flint-specific metadata.

Seeder Registry First

The docs now emphasize lib/config/seeder_registry.dart as the canonical entry point for flint --db-seed.

ORM Query Fixes

orWhere(...) now compiles consistently across select, update, delete, and model helpers, and all() preserves any query filters you chained before it.

Context-First Docs

All core docs now use (Context ctx) examples for better autocomplete and consistency.

Next

Follow the changelog for complete release history and migration notes.

Open Changelog
F
Flint DartBackend framework and Dart UI docs

Build routes, controllers, APIs, docs, and browser UI from one Dart-shaped stack.

Controllers
OpenAPI
Flint UI
Copyright 2024 Flint Dart. Maintained by Eulogia Technologies.
v 1.1.14
MIT License
Built with Dart