v0.1.5
Highlights
- An admin panel to monitor jobs, HTTP requests, and changes to the database. The app is built with Rwf (the first of its kind probably).
- Hot reloading for local development.
New features
- More dynamic template functions and syntax features, see updated docs.
- Better template error messages (incl. line where the error happened for syntax errors)
- More predictable middleware execution. Slight modification to the interface for response modification handler.
- Better logging when
RUST_LOG=debug
- Support for more data types in the ORM and templates:
Uuid
,IpAddr
, and many more. - Basic support for engines: re-usable controllers that can be used directly in other Rwf apps. Closest analogy in other languages is Rails engines.
- Removed the
id
column requirement from ORM models. Models without theid
column won't support updates or deletes, but will work fine withfind_by_sql
and pretty much most other search and ordering methods. - Added an implemented
TurboStream
controller (implementsWebsocketController
). Helps with better integration with Turbo. - Started controller and model generation with the CLI. Currently, controllers can be generated with
rwf-cli controller add
. - Added documentation on custom queries and group by aggregates.
Bug fixes
urldecode
wasn't working quite right, fixed in this release.RequestTracker
middleware was recording negative request duration. RunUPDATE rwf_requests SET duration = abs(duration);
to fix your data.
Local development
- Added basic hot reload functionality. The app will be reloaded when a template changes, making local dev smoother.
Upgrading
This version of Rwf is available on crates.io. Install with cargo add [email protected]
.
New Contributors
- @KABBOUCHI made their first contribution in #2
Full Changelog: https://github.com/levkk/rwf/commits/v0.1.5