Revision history for Concierge-Users v0.9.0 2026-06-05 - get_field_hints: add format_as to returned hashref - Add format_as property to all built-in field definitions (core, standard, system); enum fields use 'options', others use the type-appropriate convention (text, boolean, date, datetime) - format_as is not validated by Concierge; apps may supply their own native format codes via app_fields or field_overrides during setup and retrieve them unchanged via get_field_hints() - Conventional format_as values: text, options, boolean, number, date, datetime, time - Fix stale POD VERSION sections in Database, File, and YAML backends (were v0.8.2, now in sync at v0.9.0) v0.8.5 2026-05-31 - Refactor: replace field_use => 'system' with system => 1 boolean on last_mod_date and created_date; remove field_use => 'identity' from user_id (identity field identified by name only) - Move last_login_date from Standard Fields (12) to System Fields (3); system fields bypass validation - get_field_hints: returns system => 1/0 for all fields - config_to_yaml: emits system: 1 instead of field_use: system v0.8.4 2026-05-31 - Fix version consistency: bump Database, File, and YAML backend modules to v0.8.4 (were not bumped during v0.8.3 release) - Update Makefile.PL provides section to v0.8.4 v0.8.3 2026-05-27 - get_field_hints: add default, null, and validate_as to returned hashref; document required semantics (service-layer, not app-level conditional) - Enum options: support value:Label syntax; v_options and default detection strip :Label suffix to extract bare stored value - show_default_config / show_config: return service hashrefs { success, config, ... } instead of printing to STDOUT - Separate data type from operational role: user_id type=>text + field_use=>identity; last_mod_date / created_date type=>timestamp + field_use=>system - Add %Concierge::Users::Meta::field_types with the eight canonical data types; moniker and name remain in type_validator_map as validate_as targets only - config_to_yaml: emit field_use when present - __DATA__: fix inconsistent tab indentation on validate_as lines v0.8.2 2026-05-25 - Replace real personal data in examples/__DATA__ with mock data (fictional names, 555- phone numbers, @example.com addresses) v0.8.1 2026-05-25 - Expand test coverage across all test files v0.8.0 2026-02-15 - Fixed distribution issue with MANIFEST.SKIP v0.7.4 2026-02-12 - Rebuilt tarball with GNU tar (fixes PaxHeader issue on CPAN) v0.7.1 2026-02-12 - Fixed use of Capture::Tiny in tests v0.7.1 2026-02-11 - Documentation fixes: include_standard_fields default behavior, core enum override via field_overrides - Moved scalability benchmarks to xt/ author tests v0.7.0 2026-02-11 - Initial release to CPAN - SQLite, CSV/TSV, and YAML storage backends - Field validation with multiple validators (email, phone, date, timestamp, boolean, enum, moniker, name) - Field overrides and custom application fields - Automatic data archiving on re-setup - Service layer pattern with structured hashref returns - Comprehensive test suite (115 tests) v0.7.2 2026-02-11 - Improved documentation