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.2.0] - 2026-08-19

Changed

  • Aligned LiveViews, session controller, and routes with Phoenix 1.8.9 phx.gen.auth templates
  • Added magic link authentication alongside password-based login
  • Added update_password route for password updates from settings
  • Added fetch_current_scope_for_user plug to the browser pipeline
  • Updated create_auth_test and create_accounts_fixtures for the new auth flow and scope usage
  • Made hashed_password nullable in the migration (magic link users may not have a password)
  • Made signed_in_path/1 public in UserAuth
  • Layout header now includes dynamic auth menu (login/register, email/settings/logout)
  • Moved hashing test config from the removed phx_auth_plus.install task into phx_auth_plus.gen.auth
  • Updated README to reflect the new manual workflow

Removed

  • phx_auth_plus.install task (was auto-triggered by Igniter on mix deps.get, interrupting dependency download and compilation). The hashing config is now applied by phx_auth_plus.gen.auth directly.

[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.