Releases: Danroyal001/dartvel_dev
Release list
Dartvel 0.9.3
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.
This release has Linux binaries only (amd64 and arm64). GitHub Actions is billing-locked on Danroyal001, so they were built by hand; macOS and Windows binaries need those hosts and are added when the release workflow runs for v0.9.3.
Highlights:
-
Security: Studio never renders for a signed-out visitor. A signed-out request for
<mount>/index.htmlused to get Studio's screens (never its data). Every Studio document path now redirects to sign-in without the Studio grant. Upgrade and redeploy if Studio is enabled. -
Studio lists every page the application has. Pages lists compiled routes from the route manifest alongside stored pages (marked Code, Studio or Override). A compiled page opens read-only as its content or captured structure; Edit this page creates an override that takes the route over when deployed, and Restore compiled page deletes it.
dartvel admin generateopensDVStudioInAppover the project's own routes and models, and the router generatesdartvelPagePreview. -
Data models are designed in Studio. A model's name, key, fields and their types, rules (smallest, largest, shortest, longest, pattern, unique), relations, indexes and who may use its data are created and edited in Studio's Data section, stored as a definition beside its records and served at once. Designed models have an instant data API at
/_dartvel/data/<Model>governed by access policies, and ondartvel devcan be written tolib/modelsas@DVModeldeclarations. -
Upstream Shelf adapter:
package:dartvel_shelf/shelf.dartprovidesfromShelf()to mount existing Shelf pipelines, cascading handlers, and middlewares directly on Dartvel's high-performance native server runtime. -
Native WebSockets:
package:dartvel_shelf/web_socket.dartprovideswebSocketHandlerandwsHandlerbacked by Axum and tungstenite with event-driven native frame delivery callbacks (aw_register_ws_wakeup_handler), eliminating polling latency and multiplying throughput. -
Streaming response and request body backpressure: A bounded queue with native stream acknowledgements pauses fast Dart producers when native buffers fill, preventing unbounded native memory growth when clients read slowly.
-
Native static file serving: Native static asset handling streams via
tower-httpServeFile, with full support for byte ranges (Range,206,416),HEAD, conditional requests (Last-Modified,If-Modified-Since, weakETag,If-None-Match), and canonical path traversal protection.
Packages on pub.dev and npm: dartvel_core, dartvel_flutter, dartvel_cli, dartvel_dev 0.9.3; dartvel_shelf 0.9.2; dartvel_generator 1.4.2 unchanged. CHANGELOG.
Dartvel 0.9.2
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.
This release has Linux binaries only (amd64 and arm64). GitHub Actions is unavailable, so they were built by hand; macOS and Windows binaries need those hosts and are added when the CLI release workflow runs for v0.9.2.
Highlights:
- A web page shows its own text and a loading bar before Flutter starts. The text the build writes for crawlers is the page until the first frame, so the largest contentful paint is text rather than the splash. A thin bar across the top follows the compiled app, the renderer and the fonts as they arrive and completes on the first frame (
role="progressbar", still under reduced motion;dartvel.splash.progress: falseturns it off).main.dart.jsis preloaded. DvDefaultLoadingis that loading bar on every platform, for deferred pages and page data, andDV.progressshows it for an application's own work.- Adopt Dartvel without changing routers: besides go_router, mount Dartvel pages into auto_route (
dartvelAutoRoutes) or Flutter's Navigator 1.0 (dartvelOnGenerateRoute) and 2.0 (dartvelPageFor), with Dartvel's guards, back through Dartvel's stack first, and the web address bar following.dartvel initnames the router an app uses. - The specification gains a Brownfield section (Dartvel inside an existing native app), measured against Expo's.
Packages on pub.dev and npm: dartvel_core, dartvel_flutter, dartvel_cli, dartvel_dev 0.9.2; dartvel_shelf 0.9.1 and dartvel_generator 1.4.2 unchanged. CHANGELOG.
Dartvel 0.9.1
Self-contained dartvel binaries. You don't need a Dart or Flutter SDK to run the CLI itself; dartvel build still needs Flutter for the target you are building.
This release has only the linux-amd64 binary for now. GitHub Actions is unavailable, so it was built by hand. The other platforms will be added when the CLI release workflow runs for v0.9.1.
Highlights:
- Studio has its own sign-in at
<admin.path>/login. It is a Flutter page of the Studio app, and it signs in against the application's own accounts, asking for the second factor when the account has one. Studio no longer depends on the application's/login. A signed-out visit to a Studio page is sent to the sign-in. Studio's data and API are still refused to strangers, and opening Studio still needs theStudio.accessgrant. - One page renderer for
dartvel build weband the web-server binary.dvRenderRoutePagein dartvel_core renders a route's head, structured data, icon, captured semantics document and minified HTML. The static build calls it at build time and the binary calls it on request, so both serve the same bytes. Before this, the binary sent a crawler no links, headings or code blocks, and the pages it served were not minified. HEADon a server-rendered page answers asGETdoes.- The PWA service worker leaves Studio and API reads to the browser.
- Signing in with a
from=path that the router does not serve now loads that path from the server. - The semantics capture gives each route 120 seconds and three tries.
Packages: dartvel_core, dartvel_shelf, dartvel_flutter, dartvel_cli and dartvel_dev 0.9.1 are on pub.dev; dartvel_dev and dartvel_cli 0.9.1 are on npm. dartvel_generator stays at 1.4.2. See CHANGELOG.md for the full list.
Dartvel 0.9.0
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.
This release currently has Linux binaries only. GitHub Actions is unavailable, so they were built by hand. macOS and Windows binaries are added when the CLI release workflow runs for v0.9.0.
Highlights:
- Placement follows call sites: a module source reaches more platforms, through a carrier per target (the placement matrix is in NEW_SPEC.md).
- A Dart package that needs
dart:iocarries its asynchronous calls from the browser to a generated backend route, behind the policy the application names indartvel.modules.<id>.backendPolicy(DV-MODULE-021 without one: the call runs with the server's authority). - C and Rust compile to WebAssembly for the browser when the module is generated; functions of numbers are real there, and stay synchronous.
- npm packages and WebAssembly binaries run on the Linux, macOS and Windows desktops in the Node
dartvel buildcopies into the bundle. - A Swift package that imports no Apple framework runs on Linux, Windows and the backend; one that does names the import that blocks it.
- A Dart package that needs
DVBox.threePane: one pane per panel of a tri-fold, with a live demo on the UI docs page.
Packages on pub.dev and npm: dartvel_core, dartvel_flutter, dartvel_cli, dartvel_dev, dartvel_shelf 0.9.0; dartvel_generator 1.4.2. CHANGELOG.
Dartvel v0.8.0
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.
This release currently has Linux binaries only. GitHub Actions is unavailable, so they were built by hand. macOS and Windows binaries are added when the CLI release workflow runs for v0.8.0.
Highlights:
dartvel addwraps a package from any ecosystem as a module: a Dart package (pub:,git:,path:), an npm package (npm:), a C library or Rust crate (c:,cargo:), a WebAssembly binary (wasm:), a JVM library (maven:,jar:) and a Swift package or CocoaPod (swift:,pod:). Each is reached asDV.Modules.<id>, declares what every operation does on a device, in a browser and on the backend, is checked against its registry's digest and pinned indartvel.module.lock.dartvel buildrefuses a call it can see that cannot run where it is building (DV-MODULE-013/014);dartvel inspect modulesis new.- A link to a heading opens the page at that heading (
/docs/ui#layouts), on the web and in native apps. - Password managers save and fill the prebuilt sign-in and sign-up pages, and only a password the server accepted is offered for saving.
- Studio: a formula bar, a command palette (Ctrl/Cmd+K) and Ctrl/Cmd+D.
Packages on pub.dev and npm: dartvel_core, dartvel_flutter, dartvel_cli, dartvel_dev 0.8.0; dartvel_shelf 0.8.1; dartvel_generator 1.4.1. CHANGELOG.
Dartvel v0.7.1
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.
This release currently has Linux binaries only. GitHub Actions is unavailable, so they were built by hand. macOS and Windows binaries are added when the CLI release workflow runs for v0.7.1.
A fix release:
- Esc on a web page reaches the browser again. Every page reported Esc as handled, so the browser never saw it and Esc pressed in the page did not close the find bar. Esc now goes to the browser unless the page has something open to close (a dialog, a menu, the selection menu).
- A dialog opened over a page keeps its keys. Keyboard scrolling took focus back from any focus scope, so a dialog's Esc went to the page beneath.
Packages on pub.dev and npm: dartvel_core, dartvel_flutter, dartvel_cli, dartvel_dev 0.7.1; dartvel_shelf 0.8.0 and dartvel_generator 1.4.0 are unchanged. CHANGELOG.
Dartvel v0.7.0
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.
This release currently has Linux binaries only. GitHub Actions was unavailable when it was cut, so they were built by hand. macOS and Windows binaries are added when the CLI release workflow runs for v0.7.0.
Highlights:
DV.Cacheis four calls:get,set,hasanddelete.deletetakes a key, aDVCacheTagorDVCache.all;dartvel.cacheinpubspec.yamlnames the store andDV.Cache.withAdapter(adapter)switches it in code. The lock, housekeeping and tag inspection moved to the framework'sDVCacheRuntime.- Every data model gets a public page unless it opts out (
generatePublicPagesdefaults totrue). Accounts, sessions, credentials, audit records and tenant-scoped models are left out; sensitive fields are shown only to a viewer the newviewSensitivepolicy admits, and a record theviewpolicy refuses answers 404. - Webhooks: deliveries as CloudEvents 1.0.2 or signed the Standard Webhooks way, configured under
dartvel.webhooks, and an AsyncAPI 3.0 document at/api/asyncapi.json.DV-WEBHOOK-008to010are registered diagnostics. DV.Platform.Tray.show(icon:)takes a generatedDVAssetRef, so a renamed icon is a compile error.- Change capture and offline data models are declared rather than wired, and application-facing Dart uses primary constructors.
- Breaking: the SDK floor is Dart 3.13.0 and Flutter 3.47.0.
What changed, including the breaking changes and their migrations: CHANGELOG. Packages on pub.dev: dartvel_core, dartvel_flutter, dartvel_cli, dartvel_dev 0.7.0; dartvel_shelf 0.8.0; dartvel_generator 1.4.0.
Dartvel v0.6.0
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.
This release currently has Linux binaries only. GitHub Actions was unavailable when it was cut, so they were built by hand. macOS and Windows binaries are added when the CLI release workflow runs for v0.6.0.
What changed, including the breaking changes: CHANGELOG. Packages on pub.dev: dartvel_core, dartvel_flutter, dartvel_cli, dartvel_dev 0.6.0; dartvel_shelf 0.7.0; dartvel_generator 1.3.1.
Dartvel v0.5.0
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.
Dartvel v0.4.1
Self-contained dartvel binaries. No Dart or Flutter SDK needed to run the CLI itself; dartvel build still needs Flutter for the target you are building.