Releases: kyleingraham/potcake
v0.5.0
This release revamps the middleware system to support pre- and post-routing middleware, converting middleware exceptions to error responses, and specifying middleware using WebAppSettings.middleware
. This release also adds a slew of middleware that are useful for web applications:
useIsSecureRequestMiddleware
- Record on request whether it was delivered via a secure channel.useHstsMiddleware
- Inform browsers that your app should only be visited via HTTPS.useStaticFilesMiddleware
- Serves static files.useRoutingMiddleware
- Adds the ability to route a request to a handler. Must be used with and called beforeuseHandlerMiddleware
.useBrowserHardeningMiddleware
- Harden the browser environment your web app is rendered in.useHandlerMiddleware
- Calls a selected handler after routing. Must be used with and called afteruseRoutingMiddleware
.
Static file handling has been moved to a middleware to allow for short-circuting the middleware chain when static files are requested.
What's Changed
- Add Web Application Middleware by @kyleingraham in #9
Full Changelog: v0.4.0...v0.5.0
v0.4.0
This release renames Potcake's environment variable fetching function to be a bit more compact.
What's Changed
- Rename Environment Variable Fetcher by @kyleingraham in #8
Full Changelog: v0.3.1...v0.4.0
v0.3.1
This release adds a method for fetching an environment variable and optionally converting it to a given type.
What's Changed
- Add Environment Variable Convenience Method by @kyleingraham in #7
Full Changelog: v0.3.0...v0.3.1
v0.3.0
This release adds ergonomic control of logging settings via new WebAppSettings
fields. Web apps now have an environment concept that describes where the app is being run. Logging can be configured separately for each environment. Multiple loggers can also be added per environment, each with their own log levels and formatting.
Additionally:
- We now ensure that fetched settings are read-only. Unprotected writes to settings does not sound like a good idea in a multi-threaded application.
- We corrected a bug in path/handler validation error messaging.
- We removed half-baked templating flexibility. The flag for adding template folders caused issues with picking up template changes during compilation.
- We added direct access to vibe.d settings in
WebAppSetting
. We don't want to hide that we're running on vibe.d so why unnecessarily wrap its settings?
What's Changed
- Add Ergonomic Control of Logging Settings by @kyleingraham in #6
Full Changelog: v0.2.0...v0.3.0
v0.2.0
This release restructures Potcake for easy web app creation. Web apps can be created through two new objects, WebApp
and WebAppSettings
. Through them we provide the following features:
- Django-style routing
- Static file serving (with collection of files from multiple directories)
- Django-style URL reversing
- Middleware
- Settings management
What's Changed
- Add Features for Easy Web App Creation by @kyleingraham in #5
Full Changelog: v0.1.0...v0.2.0
v0.1.0
This release is the first for Potcake, an easy to live with, sensible, and dependable web framework built on vibe.d.
The API is still in flux and much functionality is yet to be implemented. The first feature is a router for vibe.d that implements Django's URL dispatching system with support for middleware.
What's Changed
- Add Compile-Time Path Parsing by @kyleingraham in #1
- Add Link Support for OpenSSL v3 by @kyleingraham in #2
- Add Middleware System by @kyleingraham in #3
- Rename to Potcake and Restructure for Modularity by @kyleingraham in #4
New Contributors
- @kyleingraham made their first contribution in #1
Full Changelog: https://github.com/kyleingraham/potcake/commits/v0.1.0