Changelog

View Source

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.1.0] - 2026-08-19

Added

  • Complete email + password authentication generator based on Phoenix 1.7.21's phx.gen.auth
  • User schema with registration, email, password, and confirmation changesets
  • UserToken schema with session, reset password, confirm, and change email tokens
  • UserNotifier for email delivery (confirmation, reset password, change email)
  • Accounts context with full auth functions:
    • Registration and session management
    • Password reset (forgot password flow)
    • Account confirmation by email
    • Email change with confirmation
    • Password change with current password validation
  • UserAuth plug with:
    • log_in / log_out with session renewal
    • "Remember me" with secure signed cookies
    • fetch_current_user from session or cookie
    • redirect_if_authenticated and require_authenticated plugs
    • LiveView on_mount hooks (mount_current_user, redirect_if_authenticated, ensure_authenticated)
  • LiveView auth pages (default): login, registration, settings, forgot/reset password, confirmation
  • Controller-based auth pages (with --no-live): session, registration, settings, reset password, confirmation
  • Router configuration with guest and required-auth pipelines
  • Database migration for users and tokens tables
  • Support for multiple hashing libraries: bcrypt (default Unix), pbkdf2 (default Windows), argon2
  • Support for binary UUID keys (--binary-id)
  • Support for custom table name (--table)
  • Support for custom web module (--web)
  • Support for umbrella projects (--context-app)
  • Built with Igniter for AST-based code generation

Why

Phoenix 1.8 replaced mix phx.gen.auth with a magic-link-only generator. This package restores the complete email + password authentication that many applications still need, including password reset, account confirmation, and "remember me" functionality.