The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.000000 - 2013-10-18

  • 00 Supermajor Changes - Breaking Everything
    • This release comes with many significant changes that are likely to break any closely built dependencies.
    • External export interface contains no visible changes, but underyling plumbing is under heavy construction.
  • 01 Role Refactory
    • Any existing code that relied on previous roles or base classes will be BROKEN by this release.
    • Roles again reimplemented and split to be more horizonal instead of vertically integrated.
    • This means all Heuristics need to provide a ->matches() or ->excludes() method now, and manually call their composite roles, and manually set $result_object->result(1) where relevant.
  • 02 Base class removal
    • Base classes that we're deprecated in 0.6.0 are gone now.
  • 03 Version Schema Change
    • Version scheme is now Y.nnnnnn . If this is a problem for you, this means you're a downstream who doesn't normalise versions yet. Please learn to normalise, perl upstream break your assumptions.
    • Versions will retain semantic difference, just there more "perl internals" friendly.
  • 04 New Heuristic Match Types
    • Now a Matcher that matches on full paths
  • 05 New Negative Heuristics
    • ::HomeDir - Excludes all the paths returned by File::HomeDir
    • ::PerlINC - Excludes all the paths in Config.pm
  • 06 Updated Heuristic Sets
    • ::Basic now includes ::HomeDir and ::PerlINC exclusions
  • 07 Internals
    • Requirement for matches to debug themselves greatly reduced.
    • Matches now only need to report context feedback via the result object
    • The result object intelligently executes relevant debugging intel
  • Dependencies::Added / runtime requires
    • File::HomeDir
  • Dependencies::Changed / develop requires
    • Dist::Zilla::PluginBundle::Author::KENTNL v1.9.0 → 2.000000
    • Test::Kwalitee 1.08 → 1.12
  • Dependencies::Changed / runtime requires
    • perl v5.10.0 → 5.006
  • Dependencies::Changed / test requires
    • Test::More 0.98 → 0.99

Modules

Determine if a given Path resembles a development source tree
Determine if a path contains a Changelog (or similar)
Determine if a path contains a .devdir file
Determine if a path contains META.(json|yml)
Determine if a path contains MYMETA.(json|yml)
Determine if a path contains a Makefile
Determine if a path contains a t/ or xt/ directory
Determine if a path is a Dist::Zilla Source tree
Determine if a path is an EUMM Tooled source directory
Determine if a path is a Module::Build Source tree
Determine if a path contains a .git repository
Basic IsDev set of Heuristics
User home directories are not development roots
An explicit exclusion file heuristic
White-list paths in Config.pm as being non-development roots.
Object Oriented guts for IsDev export
Result container
Base role for Heuristic things.
Role for sets of Heuristics.
Simple excludes/includes set
Match when a path has a child file matching an expression
Match if any children have basenames that match a regexp and are files
Match if any of a list of children exists
Match if a path contains one of any of a list of directories
Match if a path contains one of any of a list of files
Match if the current directory is the same directory from a list of absolute paths.
Base role for Negative Heuristic things.