Releases: sholladay/pogo
Releases Β· sholladay/pogo
0.6.0
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!
0.5.2
Bug fixes π
- Fixed request path resolution on newer versions of Deno with a spec-compliant
URL
constructor - Fixed export of TypeScript types on newer versions of Deno by using
export type
All changes π
Thanks β€οΈ
Some awesome people contributed to this release. Thank you to @yereby!
0.5.1
Bug fixes π
- Fixed problems with loading React and its type definitions (workaround for #49 and denoland/deno#7380)
All changes π
Thanks β€οΈ
Some awesome people contributed to this release. Thank you to @khrome83 (for PR #50 even though I didn't merge it)!
0.5.0
Highlights π
- Added a sponsors button to the GitHub repository, please consider sponsoring Pogo! π
- Added
h.directory()
andh.file()
helpers for serving static assets - Added TypeScript docs and support for
deno doc
- Added named exports for all APIs as an alternative to the default export object, so you can now do
import { router }
instead ofimport pogo
...pogo.router
- Added
paramNames
to routes stored in a router, which can be accessed viarequest.route.paramNames
, for example - Added a new React on Server example, demonstrating server-side rendering of static markup with React
- Updated the minimum supported Deno version to v1.2.0
Bug fixes π
- Fixed problems with loading type definitions for React due to upstream changes on the https://deno.land/x registry
- Fixed support for GitHub's link-to-definition feature in documentation code blocks, so you can click on code in the README, for example, to see where it's defined in the source code
All changes π
Thanks β€οΈ
Some awesome people contributed to this release. Thank you to @afaur, @venikman, and @yereby!
0.4.0
Highlights π
- The code has been rewritten in TypeScript (#14)
- Added support for HTTPS
- Added support for Deno 1.0 and higher
- Improved documentation on React support
- Improved Router API with support for nested arrays and other iterables, as well as wildcard paths and virtual hosting
- Added a
catchAll
server option for convenience to create custom 404 pages (#17)
Bug fixes π
- Fixed support for
request.body
on newer version of Deno (#21) - Fixed curl commands in examples for Ubuntu and other Linux variants (#24)
All changes π
Thanks β€οΈ
Some awesome people contributed to this release. Thank you to @davidjamesstone, @ZPiDER666, @danditomaso, @npup, @PKief, @tomanagle, and @patlehmann1!
0.3.0
Highlights π
- Added built-in support for React and JSX
- Added
request.route
, which is the route that was matched to handle the request - Added examples and improved documentation, including how to serve static files
- Added
pogo.router()
and aRouter
API to create collections of routes without a server - Added
server.stop()
, which is useful for graceful shutdown - Added convenience APIs for cookies (
request.state
,response.state()
,response.unstate()
) - Use Deno's automatic text encoding (tests using
server.inject()
receive the body as a string in most cases now and don't need to decode it) - Updated to Deno v0.33.0
Bug fixes π
- Fixed handling of
Uint8Array
s when returned by route handlers
All changes π
0.2.1
Highlights π
- Added
request.referrer
, which is the URL of the page that sent the request.
Bug fixes π
- Fixed a server crash caused by debugging code that was accidentally included in the last release.
- Fixed the ability to respond with a Reader instance (files and buffers).
All changes π
0.2.0
Highlights π
- Added support for dynamic routes with path parameters.
- Added support for routes with a wildcard method (i.e.
method : '*'
). - Added support for routes with an array of methods.
- The
request
object passed to route handlers has many new properties, includinghost
,url
,params
, and more. - Moved response helpers from the toolkit to
request.response
. The toolkit is now focused on creating responses. - Upgraded to Deno v0.19, which is now the minimum supported version.
Bug fixes π
A routing bug has been fixed where routes would not be matched correctly if the request URL included a query string.
All changes π
0.1.2
Highlights π
- Improve performance significantly by handling requests concurrently
- Fix documentation for supported Deno versions
All changes π
0.1.1
Highlights π
- Improved documentation for the Response Toolkit
- Added support for recent versions of Deno (0.3+ should work, but 0.6+ is officially supported)