1.67 2022-12-15 - [feature] Allow envvars to control tracing in Venus::Error - [feature] Add unused arguments to Venus::Opt 1.66 2022-12-14 - [feature] Cache Venus::Meta for better performance - [update] Update Venus::Role::Optional 1.65 2022-12-09 - [feature] Implement Venus::Gather - [feature] Implement Venus::Role::Optional - [update] Deprecate Venus::Role::Coercible#coerce 1.55 2022-11-21 - [feature] Implement Venus::Prototype - [feature] Support Venus::Role::Pluggable#construct 1.50 2022-09-17 - [feature] Implement Venus::Assert#accept - [feature] Implement exportable "cast" function - [feature] Implement Venus::Assert#format - [feature] Support Venus::Assert#conditions - [feature] Implement Venus::Assert $type methods - [feature] Implement Venus::Assert#validator - [feature] Implement Venus::Match#where - [feature] Allow Venus::Match#result to accept/set a value - [feature] Implement Venus::Assert#{clear,within} - [feature] Implement Venus::Array#shuffle 1.40 2022-09-10 - [change] Update callback naming in Venus::Role::Coercible - [feature] Implement Venus::Space#integrates - [feature] Implement Venus::Role::Rejectable - [feature] Implement Venus::Role::Unacceptable - [feature] Implement Venus::Role::Defaultable - [feature] Implement Venus::Role::Makeable - [feature] Implement Venus::Space#{lfile,pfile,tfile} - [update] Include examples in the distribution - [update] Update Venus::Meta methods to return with wantarray - [update] Update Venus::Test to support rendering the encoding tag 1.30 2022-08-31 - [change] Remove Venus::Role::Testable#{istrue,isfalse} - [feature] Implement Venus::Path#lines - [feature] Implement Venus::Role::Assertable - [feature] Implement Venus::Assert, Venus::Type#coded - [feature] Implement math methods for Venus::Number - [feature] Port applicable methods in Venus::String to Venus::Number - [feature] Implement Venus::Type#identify - [feature] Implement Venus::Array#{head,tail} - [feature] Implement Venus::Kind#{renew,self} - [feature] Move {class,meta,space,type} into Venus::Role::Reflectable - [feature] Implement Venus::Role::Valuable#mutate - [feature] Implement Venus::Role::Assertable#{check,assert,coerce} - [feature] Implement Venus::Role::Coercible#coerce_attr - [feature] Support dispatching from Venus::Box#unbox - [feature] Implement Venus::Role::Reflectable#reify - [update] Fix overloaded interpolation issue - [update] Update Venus::Role::{Accessible,Valuable} - [update] Rename Venus::Error#origin to frame - [update] Prevent bad symbols on imports - [update] Support overloaded "empty" invocants in Venus::Try - [update] Ensure true/false is returned over 1/0 - [update] Reset srand on fork in Venus::Process - [update] Skip t/Venus_Random.t if rand is undeterministic - [update] Implement Venus::Role::Accessible#assign 1.23 2022-08-18 - [change] Replace Venus::Role::Testable#{istrue,isfalse} with {is_true,is_false} - [change] Resolve cross-platform float precision test failures - [feature] Allow Venus::Class to IMPORT and EXPORT using FROM - [feature] Add caller info to Venus::Error stacktrace - [feature] Allow Venus::Error#{is,as} to fallback to name - [feature] Implement Venus:Random - [feature] Implement Venus::Error#of - [update] Set "srand" on fork in Venus::Process - [update] Include names (for Venus::Error#{as,is}) in all exceptions - [update] Update Venus::Box#unbox as alias to __handle__unbox - [update] Make all Venus imports strict 1.10 2022-08-07 - [change] Rename truncate_to_x methods to restart_x - [feature] Cascade DESTROY from Core - [feature] Implement Venus::Mixin to mix-in routines - [feature] Venus::{Json,Yaml} engine override via ENV VAR - [feature] Allow Venus::Meta to return configurations - [feature] Allow attr override (prevent accessor install) - [feature] Implement Venus::Error#{is,as} for better classification - [feature] Implement Venus::Match#test - [feature] Implement Venus::{Array,Hash}#call - [update] Allow Meta to return local-only attrs, bases, roles, and subs - [update] Improve Venus::Space algorithms, add additional methods - [update] Add missing documentation in Venus::Date, Venus::String - [update] Update Venus::Core to better handle non-hashref based objects - [update] Update criteria on require of classes and roles 1.01 2022-07-23 - [feature] Test, validate, and generate attributes the same as methods - [feature] Export (on-demand) catch, error, and raise from Venus::{Class,Role} - [update] Unravel and flattern roles - [update] Expose errors on require of classes and roles 1.00 2022-07-22 - [change] Replace Moo with Mars architecture - [feature] Auto-generate VERSION from the main module - [update] Fix Venus::Date#rfc822 test example 1 on Windows - [update] Fix Venus::String#camelcase, add pascalcase 0.09 2022-06-28 - [feature] Include Venus::Test in the library - [feature] Add splice to Venus::Space - [feature] Add kebabcase to Venus::String - [feature] Add truncate_to_x methods to Venus::Date - [feature] Add print_string and say_string to Venus::Role::Printable - [update] Cleanup documentation - [update] Generate CHANGELOG from .changelog - [update] Add "Ethic" to READMEs - [update] Marker =cut being rendered twice 0.08 2022-03-08 - [defect] Fix inability to deduce floats - [feature] Implement value casting - [feature] Implement Venus::Kind#{safe,trap} - [feature] Implement Venus::Role::Comparable - [feature] Implement Venus::Role::Testable - [update] Address test failures reported via CPAN testers issues - [update] Document all exceptions and methods that throw them - [update] Document Venus::{Class,Role} configurations - [update] Fix operator overload documentation rendering - [update] Refactor Venus::Role::Comparable - [update] Reimplement Venus::Box#unbox as a virtual method 0.07 2022-02-13 - [defect] Fix Venus::Class attribute declaration issue - [feature] Extend Venus::Role::Coercion with new abilities - [feature] Implement Venus::Match#data - [feature] Implement Venus::Match#expr - [update] Update documentation 0.06 2022-02-12 - [defect] Fix Venus::Path#mkdirs empty rootdir issue - [feature] Implement Venus::Process 0.04 2022-02-04 - [feature] Implement Venus::Role::Matchable - [update] Address CPAN Testers reports 0.03 2022-02-01 - [feature] Implement Venus::Match - [update] Address CPAN Testers reports 0.02 2022-01-30 - [defect] Fix Dumpable method calls in list context - [feature] Implement String#append_with,prepend_with - [feature] Implement String#prepend - [feature] Implement String#repeat - [feature] Implement String#substr - [feature] Implement Venus::Role::Coercible - [feature] Implement Venus::Role::Digestable - [feature] Implement Venus::Template - [feature] Support any JSON library via encode/decode callbacks - [feature] Support any YAML library, deduce booleans - [update] Document all proxyable methods - [update] Document overrides, i.e. overloaded operators - [update] Document overrides in Venus::Boolean - [update] JSON::PP support requires 4.00 - [update] Minor refactors to source, documentation, and automation - [update] Require Perl version 5.18+ - [update] Update CONTRIBUTING.md - [update] Update String#render token syntax - [update] Update Venus::Json to use encoder/decoder callbacks