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.urlto 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
Bangmodule, by usingerror.causeto 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
URLconstructor - 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
paramNamesto 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
catchAllserver option for convenience to create custom 404 pages (#17)
Bug fixes 🐛
- Fixed support for
request.bodyon 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 aRouterAPI 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
Uint8Arrays 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
requestobject 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)