Revision history for App-lcpan

0.17    2015-04-14 (PERLANCAR)

        - Add command: mods-from-same-dist.

        - stats: Add raw_mirror_mtime & raw_last_index_time to ease scripts
          calculating freshness.


0.16    2015-04-12 (PERLANCAR)

        - [ux] Rename functions in App::lcpan to match CLI subcommand names
          (e.g. list_local_cpan_authors -> authors) to make codebase easier to
          use/understand.

        - Various minor tweaks and fixes.


0.15    2015-04-11 (PERLANCAR)

        - Bump database schema version to 4. This update mainly adds column
          'cpanid' to tables 'module' and 'dist' to speed up queries. This
          version requires a full reindex.

        - [Bugfix] Dependency information were sometimes lost when we update
          mirror and old files information were removed, because we stored
          dependency information on a per-dist basis instead of per-file.

        - Enable authors-by-{mod,rel}-count because the queries are now fast.

        - Add command: authors-by-dist-count.


0.14    2015-04-07 (PERLANCAR)

        - Make subcommands pluggable (App::lcpan::Cmd::*) to prepare for adding
          more/custom subcommands by plugins.

        - Add subcommands authors-by-mod-count & authors-by-rel-count, though
          they are currently disabled by default because the queries are slow
          (100+ secs).

        - [Optimization] update: don't update index if mirrored files do not
          change (done by checking the mtime of
          modules/02packages.details.txt.gz).

        - Add completion for --index-name.

        - [dist] Rebuild with newer Pod::Weaver::Plugin::Rinci for producing
          Configuration POD section.


0.13    2015-02-26 (PERLANCAR)

	- No functional changes.

	- Forget to tag 'index_name' arg as common arg.


0.12    2015-02-25 (PERLANCAR)

	- [ux] Avoid creating index database automatically when we are just
	  reading the index (ro mode).

	- Allow customizing db filename via --index-name.


0.11    2015-02-24 (PERLANCAR)

        - To help chase bugs in updating index, now keeps old indexes (by
          default 7, customize via --num-backups).


0.10    2015-02-06 (PERLANCAR)

	- Mark common args with 'common' tag.

	- Add convenient option --all (equivalent to: --phase ALL --rel
	  ALL).


0.09    2015-01-20 (PERLANCAR)

	- Skip erroneous version in dep information, instead of exploding.

	- rdeps: Allow multiple --author & --author-isnt options.


0.08    2015-01-14 (PERLANCAR)

        - More tweaks and minor bug fixes.

        - Add more examples.


0.07    2015-01-14 (PERLANCAR)

        - Various small tweaks.


0.06    2015-01-14 (PERLANCAR)

        [REMOVED FEATURES]

        - Remove the feature that extracts dist metadata from Makefile.PL and
          Build.PL because this is unsafe (we are running untrusted code). Note
          that MetaCPAN also does not extract dist metadata from Makefile.PL and
          Build.PL for the same reason.

          Also, it has been pointed out to me that the current way is not proper
          ("idiomatic"). The more proper way is to let perl run Makefile.PL and
          Build.PL to generate Makefile/Build as well as MYMETA.{json,yml}. Then
          we read MYMETA. Perhaps this feature will come back as an optional
          plugin later, should there be any demand. BTW, Dist::Requires does
          this kind of functionality.

        - Also remove the feature that detects *.meta files, because these files
          are not present in a mini CPAN mirror.

        [ENHANCEMENTS]

        - New subcommands: releases, mod2dist, mod2rel, dist2rel, distmods,
          authormods, authordists, authorrels.

        [DATABASE CHANGES]

        - Upgrade schema to v3: add columns
          has_{metayml,metajson,makefilepl,buildpl} to 'file' table. Add
          'version_numified' to 'dist' and 'module' tables.

        - Clear data for reindexing.


0.05    2015-01-14 (PERLANCAR)

        - No functional changes.

        - Rebuild to update TODO.md (d'oh).


0.04    2015-01-14 (PERLANCAR)

        - Use Perinci::CmdLine::Util::Config to get lcpan configuration without
          running the binary.

        - Rebuild to update TODO.md.


0.03    2015-01-14 (PERLANCAR)

	- The indexer now tries to extract dist metadata from Makefile.PL or
          Build.PL in addition to from META.{json,yml}. This allows for more
          thorough indexing of dependencies information (as well as distribution
          name & abstract), as a lot of older releases do not include CPAN META
          files. But this also means actually executing the Makefile.PL &
          Build.PL scripts, which might have some side effects.

        - Add script: lcpanm.

        - Rename 'rev-deps' subcommand to 'rdeps'.

        - rdeps: Add options --author and --author-isnt to be able to filter by
          author. This allows you to, for example, see if a module is used by
          other authors instead of just herself.


0.02    2015-01-13 (PERLANCAR)

	- Rename module/dist from CPAN::Local to App::lcpan (PAUSE
	  conflict, CPAN::Local already exists on CPAN).


0.01    2015-01-13 (PERLANCAR)

        - First version.
