Highlights π
- Pogo now has a logo π¦
- Updated to React 18
- Added automatic
<!DOCTYPE html>
for React pages - Added support for Deno Deploy π
- Pogo's own request and response objects are now backed by web standard Request and Response objects, which means parsing the request body is much easier with
request.raw.json()
,request.raw.formData()
, etc. - Updated
server.inject()
to take a web request and return a web response - Added
response.toWeb()
to serialize a Pogo response to a web response - Added a custom
request.toString()
method to make requests easier to log - Added
server.url
to simplify usingserver.inject()
with absolute URLs, which are required by web request objects - Added the ability to pass an Error or an existing response to
h.response()
- Added the ability to pass a URL object to a few APIs, such as
response.redirect()
- Improved stack traces for errors that are wrapped by the
Bang
module, by usingerror.cause
to preserve the original error's stack - The server now uses Deno's native APIs to improve performance π
- Handler errors are now logged to stderr (this will be configurable in a future release)
- Improved styling for directory listings, including human friendly file size formatting π
- Improved documentation and examples (e.g. list cookie options and defaults, show how to listen on a public hostname, and much more)
- Updated the minimum supported Deno version to v1.20.0
- Improved the TypeScript types for
response.rewritable()
and a few other APIs - Dependencies that are not on deno.land/x, such as React, are now loaded from the esm.sh CDN, which further improves type safety π·ββοΈ
All changes π
Thanks β€οΈ
Some awesome people contributed to this release. Thank you to @jaspermolgvits, @KaKi87, and @Tnifey!