{"id":19640375,"url":"https://github.com/kentnl/cpan-changes-group-dependencies-stats","last_synced_at":"2026-06-09T13:31:47.892Z","repository":{"id":18685500,"uuid":"21895068","full_name":"kentnl/CPAN-Changes-Group-Dependencies-Stats","owner":"kentnl","description":"Create a Dependencies::Stats section detailing summarised differences","archived":false,"fork":false,"pushed_at":"2017-03-04T08:45:58.000Z","size":177,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-09T18:56:57.602Z","etag":null,"topics":["perl"],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kentnl.png","metadata":{"files":{"readme":"README.mkdn","changelog":"Changes","contributing":"CONTRIBUTING.pod","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-16T09:46:03.000Z","updated_at":"2017-03-04T07:02:04.000Z","dependencies_parsed_at":"2022-08-29T12:12:29.039Z","dependency_job_id":null,"html_url":"https://github.com/kentnl/CPAN-Changes-Group-Dependencies-Stats","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FCPAN-Changes-Group-Dependencies-Stats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FCPAN-Changes-Group-Dependencies-Stats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FCPAN-Changes-Group-Dependencies-Stats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FCPAN-Changes-Group-Dependencies-Stats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kentnl","download_url":"https://codeload.github.com/kentnl/CPAN-Changes-Group-Dependencies-Stats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240947648,"owners_count":19883030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["perl"],"created_at":"2024-11-11T14:05:36.634Z","updated_at":"2026-06-09T13:31:47.844Z","avatar_url":"https://github.com/kentnl.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nCPAN::Changes::Group::Dependencies::Stats - Create a Dependencies::Stats section detailing summarized differences\n\n# VERSION\n\nversion 0.002009\n\n# SYNOPSIS\n\n    use CPAN::Changes::Release 0.29;\n    use CPAN::Changes::Group::Dependencies::Stats;\n\n    my $s = CPAN::Changes::Group::Dependencies::Stats-\u003enew(\n      prelude     =\u003e [ 'Change statistics since 1.00' ],\n      new_prereqs =\u003e CPAN::Meta-\u003eload_file('Dist-Foo-1.01/META.json')-\u003eeffective_prereqs,\n      old_prereqs =\u003e CPAN::Meta-\u003eload_file('Dist-Foo-1.00/META.json')-\u003eeffective_prereqs,\n    );\n\n    # Currently slightly complicated due to groups themselves\n    # not presently being pluggable.\n    my $rel = CPAN::Changes::Release-\u003enew( version =\u003e '1.01' );\n    $rel-\u003eattach( $s ) if $s-\u003ehas_changes;\n    $rel-\u003eserialize();\n\n    # RESULT\n    #\n    # [ Dependencies::Stats ]\n    #   - Change statistics since 1.00\n    #   - build: -1 (recommends: -1)\n    #   - configure: +1 -1 (recommends: +1 -1)\n    #   - develop: +5 -5 (suggests: +2 -1)\n    #   - test: (recommends: +1 ↑1)\n\n# DESCRIPTION\n\nThis module is a utility tool that produces short, summarized details about changes in dependencies between two sets\nof prerequisites such that one can visually identify at a glance the general nature of the dependency changes without\nbeing swamped by the specifics, only looking into the specifics when the summary indicates it is warranted.\n\nThis aims to be a utility to assist downstream in quickly assessing effort when performing manual updates.\n\n# METHODS\n\n## `has_changes`\n\nReturns whether this group has any interesting changes or not.\n\n    if ( $group-\u003ehas_changes ) {\n      $release-\u003eattach_group( $group );\n    } else {\n      $release-\u003edelete_group( $group-\u003ename );\n    }\n\n## `changes`\n\nReturns a list of change entries.\n\n    my $changes = $object-\u003echanges;\n    say $_ for @{$changes};\n\nFormat:\n\n    %phase: %requiredstats (%optlabel: %optstats, ...)\n\n`%phase` is one of `configure`, `build`, `runtime`, `develop`, `test`\n\n`%optlabel` is one of `recommends`, `suggests`\n\n`%requiredstats` and `%optstats` are strings of stat changes:\n\n    %symbol%number %symbol%number ...\n\n`%symbol` is:\n\n    +   a dependency previously unseen in this phase/rel was added.\n    ↑   a dependency in this phase/rel had its version requirement increased.\n    ↓   a dependency in this phase/rel had its version requirement decreased.\n    -   this phase/rel had a dependency removed\n    ~   a dependency type where either side was a complex version requirement changed in some way.\n\nFor instance, this [diff](https://metacpan.org/diff/file?target=ETHER/Moose-2.1210/META.json\u0026source=ETHER/Moose-2.1005/META.json) would display as:\n\n    [ Dependencies::Stats ]\n      - configure: +2\n      - develop: +12 ↑3 -2 (suggests: +58)\n      - runtime: +3\n      - test: +1 ↓1 -1 (recommends: +2)\n\nWhich is far less scary ☺\n\n# AUTHOR\n\nKent Fredric \u003ckentnl@cpan.org\u003e\n\n# COPYRIGHT AND LICENSE\n\nThis software is copyright (c) 2017 by Kent Fredric \u003ckentfredric@gmail.com\u003e.\n\nThis is free software; you can redistribute it and/or modify it under\nthe same terms as the Perl 5 programming language system itself.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentnl%2Fcpan-changes-group-dependencies-stats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkentnl%2Fcpan-changes-group-dependencies-stats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentnl%2Fcpan-changes-group-dependencies-stats/lists"}