spry 8.0.0
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
ht0.3.1andosrv0.4.x, adopting the upstream Fetch-alignedRequest/Responseconstruction model across Spry. - BREAKING: manual string-path routing must now use
/**for remainder matches instead of/*when constructingSpry,MiddlewareRoute, orErrorRoute. - feat(http): re-export
RequestInitandResponseInitfrompackage:spry/spry.dartandpackage:spry/app.dartfor downstream request/response construction. - feat(routing): upgrade to
roux0.5.xand 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/**inSpry,MiddlewareRoute, andErrorRoute, then re-run your route matching tests after upgrading toroux0.5.x. - If you construct exported
Request/Responsetypes 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, andspry.config.dart. - feat(cli): add
spry serveandspry buildworkflows 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.stacktoapp.middleware. - refactor: remove
useRequest(), now useevent.request. - refactor: remove
useHeaders(), now useevent.headers/event.request.headers. - refactor: remove
getClientAddress(), now useevent.address. - refactor: remove
useRequestURI(), now useevent.url. - refactor: remove
useParams(), now useevent.params. - refactor: rename factory
Response.text()toResponse.fromString(). - refactor: rename factory
Response.json()toResponse.fromJson(). - refactor: remove all adapter, now is cross-platform.