spry 8.0.0 copy "spry: ^8.0.0" to clipboard
spry: ^8.0.0 copied to clipboard

Next-generation Dart server framework. Build modern servers and deploy them to the runtime you prefer.

8.0.0 #

Migration guide: https://spry.medz.dev/migration

  • BREAKING(http): upgrade to ht 0.3.1 and osrv 0.4.x, adopting the upstream Fetch-aligned Request / Response construction model across Spry.
  • BREAKING: manual string-path routing must now use /** for remainder matches instead of /* when constructing Spry, MiddlewareRoute, or ErrorRoute.
  • feat(http): re-export RequestInit and ResponseInit from package:spry/spry.dart and package:spry/app.dart for downstream request/response construction.
  • feat(routing): upgrade to roux 0.5.x and keep Spry catch-all scopes aligned with the new ** remainder syntax.
  • feat(scanner): add expressive file-route segments for embedded params, regex params, optional params, repeated params, and single-segment wildcards.

Migration note #

  • Replace manual /* route strings with /** in Spry, MiddlewareRoute, and ErrorRoute, then re-run your route matching tests after upgrading to roux 0.5.x.
  • If you construct exported Request / Response types directly, migrate to the new Fetch-style init objects. For example: Request(uri, method: 'GET') -> Request(uri, RequestInit(method: HttpMethod.get)) Response(status: 404, headers: ..., body: ...) -> Response(body, ResponseInit(status: 404, headers: ...)) Response.text(...) / Response.empty(...) -> Response(..., ResponseInit(...))

7.0.0 #

Migration guide: https://spry.medz.dev/migration

What's Changed #

  • BREAKING: replace the imperative app DSL with the v7 file-based runtime model built around routes/, scoped _middleware.dart / _error.dart, and spry.config.dart.
  • feat(cli): add spry serve and spry build workflows for generated runtimes, including watch mode and explicit root support.
  • feat(runtime): add generated targets for Dart VM, Node.js, Bun, Cloudflare Workers, and Vercel.
  • feat(builder): add config loading, route scanning, runtime generation, and public asset syncing for the new build pipeline.
  • docs: rewrite the documentation site for Spry v7, including the new getting started, runtime, deploy, and migration guides.

6.2.0 #

  • feat: support middleware operators (| Pipe middleware, > middleware with handler)
  • feat: support group routing (app.group(...))
  • docs: add group routes docs

6.1.0 #

  • perf(datr, server): pointless waiting
  • perf: avoid creating event id
  • refactor: Remove event.id

6.0.1 #

  • fix: avoid http response status

6.0.0 #

Migration guide: https://spry.medz.dev/migration

What's Changed #

  • refactor: remove group router (The app.group/app.grouped).
  • refactor: rename app.stack to app.middleware.
  • refactor: remove useRequest(), now use event.request.
  • refactor: remove useHeaders(), now use event.headers/event.request.headers.
  • refactor: remove getClientAddress(), now use event.address.
  • refactor: remove useRequestURI(), now use event.url.
  • refactor: remove useParams(), now use event.params.
  • refactor: rename factory Response.text() to Response.fromString().
  • refactor: rename factory Response.json() to Response.fromJson().
  • refactor: remove all adapter, now is cross-platform.
11
likes
160
points
457
downloads

Documentation

API reference

Publisher

verified publishermedz.dev

Weekly Downloads

Next-generation Dart server framework. Build modern servers and deploy them to the runtime you prefer.

Homepage
Repository (GitHub)
View/report issues

Topics

#server #framework #routing #backend #http

Funding

Consider supporting this project:

github.com
opencollective.com

License

MIT (license)

Dependencies

analyzer, block, coal, ht, osrv, path, roux, watcher, web

More

Packages that depend on spry