dartvel_dev 0.7.0 copy "dartvel_dev: ^0.7.0" to clipboard
dartvel_dev: ^0.7.0 copied to clipboard

Dartvel: a batteries-included, AI-native full-stack application platform built around Flutter. Pages, models, backend functions, UI and business logic; everything else is generated, compiled or served.

0.7.0 #

  • dartvel_database.dart exports the cache adapters again. It showed DVCacheAdapter, DVMemoryCacheAdapter and DVDatabaseCacheAdapter from dartvel_flutter, which had stopped exporting two of them, so publishing warned undefined_shown_name and an import of this entrypoint could not reach them. dartvel_flutter exports every adapter now, for DV.Cache.withAdapter, and this entrypoint shows DVCache, DVCacheView and all five adapters.

  • Breaking: the SDK floor is Dart 3.13.0 and Flutter 3.47.0. Dart 3.13 is the first release with primary constructors (class Point(final int x, final int y);), which the dartvel create scaffold, the samples and generated data models are written with; on Dart 3.12 they are a compile error. Flutter 3.47.0 is the first stable release that ships Dart 3.13.0. Raise environment: sdk: to ">=3.13.0 <4.0.0" and upgrade Flutter before taking this release.

0.6.2 #

  • Documentation only: install the CLI with dart pub global activate dartvel_cli first, then Homebrew, the release binaries, dev_dependencies and npm.

0.6.1 #

  • Declares the platforms it supports in pubspec.yaml, so pub.dev lists them instead of inferring them from platform-specific imports. No code changes.

0.6.0 #

  • Tracks dartvel_core, dartvel_flutter and dartvel_cli 0.6.0 and dartvel_shelf 0.7.0. See their changelogs; several changes are breaking.

0.5.0 #

Ships the 0.5.0 CLI: link prefetch, per-page deferred bundles, image variants, the launch splash, shell-first web-server streaming, and the retirement of the build_runner generation path. Raises its floor to dartvel_cli 0.5.0.

0.4.1 #

Raises its floor to dartvel_cli 0.4.1, so an install can no longer resolve the 0.4.0 CLI that reported itself as 0.3.2 and offered itself as an update for ever. The ^0.4.0 it declared would already admit 0.4.1; this makes 0.4.1 the least it will accept.

0.4.0 #

Follows the 0.4.0 set, depending on each sibling with a caret constraint on the version published beside it.

The 0.4.0 entry here first said this package pins its siblings exactly. It does not: the constraints are carets, as they are for every package in the set. Corrected in 0.4.1.

0.3.2 #

  • Corrected the constraints on sibling Dartvel packages, which named the previous release rather than the one published alongside them. A caret on a 0.x version stops at the next minor, so dartvel_core: ^0.2.1 excluded the 0.3.1 published beside it -- a user installing the 0.3.1 set resolved 0.2.x for every sibling and got none of what that release contained. dart pub publish --dry-run could not see it, because it resolves against pubspec_overrides.yaml and every sibling points at a local path.

0.3.1 #

  • Ships the 0.3.1 CLI, which adds dartvel update.

0.3.0 #

Four queue brokers, both network databases reachable over TLS, static generation that produces pages, and a page that can have a body.

Queues, on real brokers #

Seven adapters now: in-memory, database, Redis, SQS, RabbitMQ, Pub/Sub and Kafka. The four that talk to a network service are verified in CI against the real thing -- ElasticMQ, RabbitMQ's own image, Google's emulator and Apache Kafka -- rather than against a fake that agrees with whatever the adapter does.

That distinction found nine bugs which every unit test had passed: a backoff sent as an initial delay, an AMQP channel limit above the server's, delivery-mode written to the wrong bit, publishes returning before the broker had them, a payloadType that would have stopped every handler matching, a Fetch reply parsed with three fewer fields than it has, offset commits sent to a broker that was not the group's coordinator, and a first coordinator lookup that is always refused and always retriable.

Each adapter is written around what its service actually offers. SQS and Pub/Sub refuse pending rather than returning an empty list, because an empty list reads as "there is nothing" when the truth is "I cannot see". Kafka is a log, so it has no dead letters, no priority and no out-of-order retry, and lag gives the honest version of a backlog: a distance, not a list.

Databases #

PostgreSQL and MySQL both negotiate TLS, which is what a managed endpoint requires -- Aurora, Neon, Supabase, PlanetScale and Cloud SQL all demand it and most refuse plaintext, so before this the adapters reached localhost and nothing else. sslMode takes libpq's names, so a connection string copied from a provider's console pastes in unchanged.

A refusal is fatal at require and above. Falling back would put the password on the wire in the clear while the caller believed the connection was encrypted.

Pages can have bodies #

A private @DVPage input had to be a single expression, so every page needing a local, a loop or a condition was written as a one-line wrapper around a public helper. Block bodies are lowered into the generated widget now.

@DVFunctionalWidget and @DVBackendFunction still require expression bodies.

Static generation #

dartvel build web writes a page per route and expands parameterised routes through the application's own resolvers. @DVModel(generatePublicPages: true) now generates the route as well as the paths -- it previously produced a list of addresses that all resolved to the application's own not-found page.

A page no route serves is refused rather than written.

The web output #

Crawler-visible HTML is built from the page's semantics tree rather than from string literals in the source, so it carries real headings, anchors and landmarks instead of one paragraph per source line. Pages gained structured data, a stylesheet for sitemap.xml, and an .htaccess that path URLs need and that nothing was writing.

In-app links push the route instead of tearing the document down and rebuilding the whole application, which is what a real anchor in the semantics tree does by default.

0.2.1 #

  • First published release.

Dartvel's packages are published under the dartvel_dev name on pub.dev. dartvel was taken on 2026-08-06 by an unrelated package, so the published identifier carries a suffix while the command stays dartvel.

1
likes
0
points
604
downloads

Publisher

unverified uploader

Weekly Downloads

Dartvel: a batteries-included, AI-native full-stack application platform built around Flutter. Pages, models, backend functions, UI and business logic; everything else is generated, compiled or served.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

dartvel_cli, dartvel_core, dartvel_flutter, dartvel_shelf, flutter

More

Packages that depend on dartvel_dev