Skip to content

v0.1.5

Compare
Choose a tag to compare
@levkk levkk released this 04 Nov 22:26
· 40 commits to main since this release
28102ae

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 the id column won't support updates or deletes, but will work fine with find_by_sql and pretty much most other search and ordering methods.
  • Added an implemented TurboStream controller (implements WebsocketController). 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. Run UPDATE 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

Full Changelog: https://github.com/levkk/rwf/commits/v0.1.5