Revision history for Concierge-Auth
v0.5.0 2026-07-05
- BREAKING: Concierge::Auth is now a thin backend factory, not a
monolithic password-auth implementation. All prior OO methods
(confirm/reject/reply, validateID/validatePwd/validateFile,
checkID/deleteID/checkPwd/setPwd/resetPwd, setFile/rmFile/clearFile,
encryptPwd, pfile, the gen_* wrappers) are removed outright -- no
deprecation shims. Code calling Concierge::Auth directly (rather
than through Concierge.pm) will need to migrate to the new backend
contract below.
- Added Concierge::Auth::Base: the domain-level contract every backend
must implement -- authenticate, is_id_known, enroll,
change_credentials, revoke (returning { success, message, ... }
hashrefs) -- plus working default implementations of the Generator
methods (gen_uuid, gen_random_id, gen_random_token,
gen_random_string, gen_word_phrase, gen_token, gen_crypt_token),
inherited for free unless a backend overrides them.
- Added Concierge::Auth::Pwd: the built-in password-file backend,
implementing Concierge::Auth::Base on top of the previous
file-backed primitives (now private to this module).
Concierge::Auth->new now requires backend => 'Concierge::Auth::Pwd'
(or another conforming backend class) instead of configuring a
password file directly.
- Fixed packaging: MANIFEST and Makefile.PL were missing
lib/Concierge/Auth/Base.pm and lib/Concierge/Auth/Pwd.pm (both new
in this release) from PM/provides -- would have shipped a CPAN
distribution missing required modules.
- Ported full t/ suite to the new contract; added factory-specific
coverage (missing backend, unloadable backend class, backend
constructor failure).
v0.4.5 2026-05-25
- Fix t/05-generators.t: skip dict-dependent subtest on systems without
/usr/share/dict/web2 (Linux CPAN tester failure)
v0.4.4 2026-05-25
- Expand test coverage across all test files
v0.4.3 2026-02-17
- Version Bump for CPAN
v0.4.2 2026-02-17
- Further deprecation steps for gen_token and gen_crypt_token
v0.4.3 2026-02-17
- Removed gen_crypt_token and gen_token from exports, tests, and documentation
- Removed unused Time::HiRes import from Generators.pm
- Deprecated subs remain as internal aliases (will be removed in a future release)
v0.4.2 2026-02-17
- Fixed documentation referring to gen_crypt_token deprecation
v0.4.1 2026-02-17
- Deprecated gen_crypt_token (now aliases gen_random_token)
- crypt() is non-portable; returned undef on some CPAN tester platforms
v0.4.0 2026-02-15
- Fixed distribution issue with MANIFEST.SKIP
v0.3.5 2026-02-14
- Fix infinite loop in gen_word_phrase when dictionary file unavailable (CI hang)
v0.3.4 2026-02-12
- Rebuilt tarball with GNU tar (fixes PaxHeader issue on CPAN)
v0.3.3 2026-02-12
- gen_uuid now generates v4 UUIDs using Crypt::PRNG (no longer shells out to uuidgen)
- Added gen_random_id for hex-encoded cryptographic random IDs
- Added generator test suite (t/05-generators.t)
v0.3.2 2026-02-11
- Corrected dependency list in distro
v0.3.1 2026-02-11
- Documentation improvements
v0.19.0 2026-02-10
- Initial CPAN release
- Argon2 password hashing with Bcrypt legacy validation
- File-based password storage with file locking
- Token and random value generation (Concierge::Auth::Generators)