Skip to content

v1.3.0

Choose a tag to compare

@7nohe 7nohe released this 21 Jul 00:44
8adaa11

Highlights

Plugin authoring (RFC 0001)

  • definePlugin() helper for authoring configurable plugins without ServiceProvider boilerplate (@guren/server)
  • Manifest-driven guren plugin <pkg> installer with compatibility checks and a new doctor Plugin Compatibility check (@guren/cli)
  • Plugins can contribute CLI commands via gurenPlugin.commands (@guren/cli)
  • New plugin-authoring AI agent skill covering both installing and authoring plugins

Security

  • OAuth redirectTo is now sanitized against open redirects, with a new allowedRedirectHosts allowlist and sanitizeOAuthRedirect() export
  • guren audit warns when sensitive-looking columns (password, secret, token, salt, hash) aren't excluded from serialization
  • Sanitized<T, Hidden> type helper so auth.userOrFail<Sanitized<UserRecord>>() reflects the runtime-stripped fields at compile time

Other

  • detectLocaleMiddleware for resolving request locale from query/cookie/Accept-Language
  • DatabaseApiTokenStore, a database-backed ApiTokenStore built on the Guren ORM
  • TestRequestBuilder.withSession() now hydrates server-side session state in tests
  • .github/FUNDING.yml and a GitHub Sponsors badge

Packages

  • @guren/server → 1.3.0
  • @guren/cli → 1.2.0
  • @guren/core → 1.1.0
  • @guren/plugin-vercel → 0.1.2 (patch)

Full Changelog: v1.2.0...v1.3.0