Skip to content

Releases: devswiftzone/Security

0.2.0

30 May 23:16

Choose a tag to compare

ci: fix Data.bytes compilation error in swift-configuration

Both workflows failed because swift-configuration 1.2.0 uses
Data.bytes which was removed in the new Foundation on macOS 15.
Add a patch step that replaces it with the equivalent
withUnsafeBytes { RawSpan(_unsafeBytes: /bin/zsh) } call.
Also add swift package resolve before patching so the
checkout exists.

v0.1.0 — Initial Release

30 May 15:42

Choose a tag to compare

v0.1.0 — initial release

First public release of SecurityKit, a modular security package for
Vapor 4 applications.

This release includes:

  • RBAC (users, roles, permissions, N–M relationships)
  • Email/password authentication with bcrypt (Argon2 pluggable)
  • Opaque token management with SHA-256 storage, expiration, revocation,
    and refresh rotation with reuse detection
  • Composable authorization policies (RequireRole, RequirePermission,
    RequireAnyRole, RequireAllRoles, AlwaysAllow, AlwaysDeny) with
    &&, ||, ! operators
  • Event bus for auditing (auth., user., token., role., permission.*)
  • Versioned migrations under Security_Vn_ namespace
  • Vapor-native access via app.security.* and req.security.*
  • Optional SecurityJWT module for stateless tokens

Modular structure:

  • SecurityCore: protocols, DTOs, errors, policies (storage-agnostic)
  • SecurityFluent: Fluent backend with all models and services
  • SecurityJWT: optional JWT support
  • SecurityKit: umbrella re-exporting all of the above

96 tests passing, including integration tests with in-memory SQLite
covering the full auth lifecycle (register → login → refresh →
rotation reuse detection → password change → logout).