# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [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.
