1.073 2023-07-09 Released-By: PERLANCAR; Urgency: low
- No functional changes.
- Remove use of smartmatch.
1.072 2023-03-28 Released-By: PERLANCAR; Urgency: low
- [subcommand deps] Add option --exclude-dep.
- [ux] Add summaries for namespace completion.
- [ux] Allow the use of '/' as namespace separator when completing
namespace or name in 'lcpan doc'.
1.071 2022-09-19 Released-By: PERLANCAR; Urgency: medium
- Disable saving old file/module/script records for now, because of
current lack of handling of duplicates.
- Add subcommands: author-mods-by-rdep-count (which is just a shortcut
for mods-by-rdep-count, author-mods-by-other-author-rdep-count,
delete-old-data, related-authors, .
- [ux] Provide summaries for most completion answers.
- [doc][subcommand related-mods] Add note about the downside of the
approach used.
- Add common option: --no-update-db-schema.
- [subcommand mods-by-rdep-count] Replace --author arg to
--module-author, --module-author-isnt, --dist-author,
--dist-author-isnt.
1.070_001 2022-05-07 Released-By: PERLANCAR; Urgency: medium
- [experimental] Retain historical records for tables file, module,
script (in old_file, old_module, old_script respectively). This
will be used to give more correct results with things like
'whatsnew'. Usually when a file is deleted, i.e. no longer
mentioned in the index, e.g. Foo-Bar-0.001.tar.gz which contains
module 'Foo::Bar' and script 'foo', some records like the 'foo'
script belonging to the file record are deleted along with it. Then
when a new file for the same distribution is added in the index,
e.g. Foo-Bar-0.002.tar.gz (which still contains the same 'Foo::Bar'
module and 'foo' script), the script record and some other records
are re-added to the lcpan index. This means lcpan sees the script
as new, when it's actually not. We now store old module record as
well as file and script records to old_* tables so we will be able
to know whether a distribution, module, or script is actually new
or just updated. But note that the last part has not been coded in
yet.
1.070 2022-03-27 Released-By: PERLANCAR; Urgency: medium
- Add subcommand: dists-by-mod-count.
1.069 2022-03-27 Released-By: PERLANCAR; Urgency: medium
- Add proper rank column to ranking subcommands (*-by-*count).
- Add subcommands: db-path, dists-by-script-count,
mods-by-rdep-author-count.
1.068 2021-06-05 Released-By: PERLANCAR; Urgency: medium
- [ux] [doc] Add description and cross-mention between mentions-for-mods
and mentions-for-all-mods.
- [build] Rebuild to bump dependency version to attempt to fix
RT#136715.
1.067 2021-06-03 Released-By: PERLANCAR; Urgency: medium
- [subcommand related-mods] Add option --(no-)submodules.
1.066 2021-05-31 Released-By: PERLANCAR; Urgency: medium
- [subcommand rdeps] Accept option --dist.
- [subcommand deps] Accept option --module.
1.065 2021-05-25 Released-By: PERLANCAR; Urgency: medium
- [subcommand rdeps] Allow finding revdeps for unindexed modules
(this is already in the database, we just need to give it to
user).
1.064 2021-04-21 Released-By: PERLANCAR; Urgency: medium
- [subcommand related-mods] Add option: --with-content-paths.
1.063 2021-02-13 Released-By: PERLANCAR; Urgency: medium
[subcommand authors]
- Add options --sort, --result-limit, --result-start, --random.
[subcommands dists, mods, rels]
- Add options --random, --result-limit, --result-start.
[subcommand rdeps-scripts]
- Add option --author.
1.062 2020-08-13 Released-By: PERLANCAR; Urgency: medium
- [bugfix] Fix completion of whatsnew's --my-author.
[subcommand update]
- Add retrying and retry options: retry_max_attempts, retry_delay.
- We now use LWP::UserAgent::Plugin.
1.061 2020-06-11 Released-By: PERLANCAR; Urgency: medium
[subcommand mentions]
- Add --{added,updated,added-or-updated-}-* options.
[subcommand whatsnew]
- Show new mentions for you.
1.060 2020-06-11 Released-By: PERLANCAR; Urgency: medium
- [bugfix] Fix author-deps & author-rdeps which didn't apply the
{added,updated,added_or_updated}_since filter to the correct
entity (to module/dist instead of dep).
- [bugfix] Fix typo that caused --added-since-last-n-index-updates
to not work.
[subcommand whatsnew]
- Add --my-author option to show additional added/updated items related
to you.
1.059 2020-06-10 Released-By: PERLANCAR; Urgency: medium
- The --updated-since X option now does not include records created at
X, to avoid duplication when viewing new records as well as updated
records in the same time (e.g. in whatsnew).
[subcommand deps]
- [ux] Delete module_file_id from results.
1.058 2020-05-26 Released-By: PERLANCAR; Urgency: medium
- [incompatible change] Add/replace/rename/remove ctime/mtime
options: remove --{added,updated}-before, replace
--{added,updated}-after with --{added,updated}-since, rename
--{added,updated}-in-last-update to
--{added,updated}-since-last-index-update, rename
--{added,updated}-in-last-n-updates to
--{added,updated}-since-last-n-index-updates, add
--added-or-updated-since* options.
- Add some subcommands: most-depended-mods, most-mentioned-mods,
most-mentioned-scripts, whatsnew, heaviest-dists.
- Add option -n to mods-by-mention-count, mods-by-rdep-count,
scripts-by-mention-count, dists-by-dep-count.
[subcommand scripts-by-mention-count]
- Return author.
- Add subcommand: heaviest-dists.
[subcommand dists-by-dep-count]
- [bugfix]Fix query, dependency count was incorrect (all 1).
1.057 2020-05-07 Released-By: PERLANCAR; Urgency: high
- [bugfix] Fix several misplaced parameters in SQL update query which
caused module & script abstract as well as distro information to not
be set. This version will bump database schema version to v15 which
will reset the database for reindexing.
- [enhancement] Aside from full reindexing, the database schema is also
changed. We now remove the 'dist' table and merge the information to
'file' table for simplicity. 'dist' has a 1:1 relattonship with 'file'
anyway. The 'file' table now adds several columns to store distro
information: dist_name, dist_abstract, dist_version, and
is_latest_dist.
- [subcommand deps] The subcommand can now show dependencies of older
distros, as long as it's still indexed in 02packages. Use this syntax:
'lcpan deps Foo-Bar@1.23' to show dependencies of a specific version.
Otherwise, without the version suffix, dependencies of the latest
Foo-Bar will be shown.
- [bugfix] Fix regex to catch META.json or META.yml on top-level
dir, which has path 'META.yml' instead of '/META.yml'.
- [subcommand update][bugfix] Update authors or deleted authors were not
reflected in the author table.
- [subcommand dist2author][bugfix] Didn't return author name when there
is only one input dist.
- [testing] Add more tests which uncovered a few other bugs, some listed
above.
1.056 2020-05-06 Released-By: PERLANCAR; Urgency: medium
- [testing] Avoid error when testing database schema version upgrades.
1.055 2020-05-06 Released-By: PERLANCAR; Urgency: medium
- [testing] Add some basic tests, finally.
1.054 2020-05-06 Released-By: PERLANCAR; Urgency: medium
- [bugfix] Fix typo in translating --updated-in-last-update.
- Add convenience options --{added,updated}-in-last-n-updates=n.
- [subcommand log] Reorder lcpan_version column.
1.053 2020-05-05 Released-By: PERLANCAR; Urgency: medium
- Bump database schema version to v14 to add 'log' table.
- [subcommand reset] Reset index_creation_time metadata, add
description.
- [subcommand update][bugfix] Mark files that we skip sub indexing for,
so we don't re-process them again and again.
- Add convenience options --added-in-last-update,
--updated-in-last-update.
- [subcommand author-rdeps] Add --{added,updated}-* options.
1.052 2020-05-04 Released-By: PERLANCAR; Urgency: medium
- Bump database schema version to v13 to add rec_mtime and rec_mtime to
all tables. Recording ctime and mtime will allow users to check for
newly added/updated authors, distributions, modules, and so on.
- Add filter options --added-{before,after} & --updated-{before,after}
to some subcommands.
- Record index creation time and show it in 'stats'.
1.051 2020-04-20 Released-By: PERLANCAR; Urgency: medium
- Add unique indexes for PK which apparently are not added for tables
that have other unique indexes (bump database schema version to v12).
1.050 2020-04-19 Released-By: PERLANCAR; Urgency: medium
- [subcommand deps] Fix query: do not link queries using dist_id +
is_latest because there might be several dists/releases for the same
module; use dist name instead.
- [subcommand rdeps] Like deps, fix query by linking using module
name instead of module ID.
- Remove App::lcpan::Manual::Cookbook (now in App-lcpan-Manual).
1.049 2020-04-11 Released-By: PERLANCAR; Urgency: high
- [bugfix] A logic bug in --dont-uniquify option broke deps & rdeps
subcommands.
1.048 2020-04-11 Released-By: PERLANCAR; Urgency: medium; Broken: yes
- UPDATE: this release was broken, fixed in 1.048.
- Bump database schema version to v11 to add some indices on dep
table.
- [subcommands deps, rdeps] Add option --dont-uniquify.
1.047 2020-04-11 Released-By: PERLANCAR; Urgency: medium
- [doc] Mention App::lcpan::Manual.
[subcommand deps]
- 'perl' is considered registered even though it does not have 'author'.
- Rename options --{include,exclude}-{,un}registered to *{,un}indexed*
to be more consistent with PAUSE/CPAN terminology.
[subcommand rdeps-scripts]
- Add --level (-R).
[subcommand author-deps]
- Add description & examples.
1.047 2020-04-11 Released-By: PERLANCAR; Urgency: medium
[subcommand deps]
- [Incompatible change] deps: Rename --{include,exclude}-{,un}registered
options to --{include,exclude}-{,un}indexed to be more consistent with
PAUSE/CPAN terminology.
1.046 2020-04-04 Released-By: PERLANCAR; Urgency: medium
- Add subcommand: rdeps-scripts.
[subcommand dist-scripts]
- Accept multiple dists.
[subcommand rdeps]
- Add --flatten like in deps.
1.045 2020-03-04 Released-By: PERLANCAR; Urgency: medium
- Add options: skip_sub_indexing_files,
skip_sub_indexing_file_patterns.
- Add Bencher-Scenarios-HashSlicing-0.003.tar.gz to built-in skip
list for sub indexing (eats memory).
1.044 2020-02-13 Released-By: PERLANCAR; Urgency: low
- Add subcommand: x-mentions-for-mod.
- [internal] Replace PERLANCAR::Module::List with Module::List::Tiny.
[subcommand mods]
- Tweak schema of 'namespaces' argument for better tab completion.
1.043 2019-11-29 Released-By: PERLANCAR; Urgency: medium
- Add subcommand: dist-rdeps.
[subcommand deps]
- Add --{include,exclude}-{,un}registered options. UPDATE 2020-04-11: In
1.047, these options are now renamed to
--{include,exclude}-{,un}indexed to be consistent with PAUSE/CPAN
terminology.
[subcommand related-mods]
- [bugfix] Connect as ro, not rw.
1.042 2019-11-19 Released-By: PERLANCAR; Urgency: medium
- Add subcommands: author, dist, mod/module, rel/release, script.
1.041 2019-10-05 Released-By: PERLANCAR; Urgency: medium
- [bugfix] Typo in variable package name, causing shown total
downloaded data to be 0.
1.040 2019-10-05 Released-By: PERLANCAR; Urgency: medium
- [ux] Show total downloaded data after mirroring.
1.039 2019-09-19 Released-By: PERLANCAR; Urgency: medium
- Make %rdeps_level_args available from another package.
1.038 2019-08-01 Released-By: PERLANCAR; Urgency: low
- Add %pods_args.
- Tweak Rinci metadata: rename greedy -> slurpy.
1.037 2019-07-23 Released-By: PERLANCAR; Urgency: high
- Add to builtin skip list: Shipment-3.02.tar.gz (segfaults
Compiler::Lexer 0.22).
1.036 2019-07-11 Released-By: PERLANCAR; Urgency: medium
[subcommands mods, dists, authors, rels, namespaces]
- Add --query-type regexp-name (-r).
- [ux][completion] Show full names as summaries when completing
CPAN IDs.
1.035 2019-06-26 Released-By: PERLANCAR
- [ux] Show completion message/hint when user hasn't typed any
characters, instead of just returning empty answer.
1.034 2019-06-19 Released-By: PERLANCAR
- Add script: lcpanm-namespace.
1.033 2019-06-07 Released-By: PERLANCAR
- Add --self-upgrade (-U).
- [doc] Update current CPAN mini size estimation.
- [doc] Mention CPAN::SQLite & CPAN::Mini in See Also.
1.032 2019-01-09 Released-By: PERLANCAR
- Add subcommand: extract-dist.
1.031 2019-01-08 Released-By: PERLANCAR
- Add option --no-use-bootstrap to prevent using bootstrap database
(e.g. when indexing a darkpan, or when debugging).
1.030 2019-01-07 Released-By: PERLANCAR
- No functional changes.
- Forgot to check in documentation update to script/lcpan about
using the bootstrap.
1.029 2019-01-07 Released-By: PERLANCAR
- Utilize bootstrap database (provided by App-lcpan-Bootstrap
distribution) if available.
[subcommand scripts]
- [ux] Add shortcut option -n (for --query-type name) and -x (for
--query-type exact-name), just like in mods.
1.028 2018-11-29 Released-By: PERLANCAR
- Add option: skip_index_file_patterns.
1.027 2018-11-27 Released-By: PERLANCAR
- When log level is error or lower (--quiet), silence minicpan with
-q.
1.026 2018-09-08 Released-By: PERLANCAR
- No functional changes.
- [doc] Updates, grammar fixes, and rewording.
1.025 2018-09-07 Released-By: PERLANCAR
- [internal][bugfix] Fix variable name in %authors_args.
1.024 2018-09-07 Released-By: PERLANCAR
- [internal] Add variable '%authors_args'.
1.023 2018-06-21 Released-By: PERLANCAR
- Locate index solely using index_name if index_name contains path
separator character.
1.022 2018-02-08 Released-By: PERLANCAR
- [Bugfix] Make log level overridable from environment variable,
e.g. TRACE=1.
1.021 2018-02-08 Released-By: PERLANCAR
- Add to builtin skip list: Shipment-3.01.tar.gz (segfaults
Compiler::Lexer 0.22).
1.020 2018-01-15 Released-By: PERLANCAR
- lcpanm, lcpanm-script: Observe LCPANM_PERL5OPT.
- Switch from Log::Any to Log::ger.
1.019 2017-06-19 Released-By: PERLANCAR
- No functional changes.
- Replace Log::Any with Log::ger.
1.018 2017-06-17 Released-By: PERLANCAR
- Add script: lcpanm-script.
1.017 2017-02-03 Released-By: PERLANCAR
- Typo.
1.016 2017-02-02 Released-By: PERLANCAR
- [dist] Update copyright year.
- Add argument: modules_or_dists.
1.015 2017-01-19 Released-By: PERLANCAR
- Add subcommand: dist-meta.
1.014 2016-12-28 Released-By: PERLANCAR
- [Bugfix] Prefer getting META from META.json over META.yml (e.g. to get
x_* prereqs). A full reindex is recommended (`lcpan reset` follows by
`lcpan update`).
- Add subcommand: delete-rel.
1.013 2016-12-28 Released-By: PERLANCAR
- [dist] Fix expressing follow-spec prereq relationship with
x_spec.
- Allow phase and rel with values /^x_/.
1.012 2016-11-01 Released-By: PERLANCAR
[subcommand related-mods]
- [ux] Instead of specifying min_score, let users just specify number of
result they want; hide score-related fields by default in result
unless user specifies --with-scores.
1.011 2016-10-14 Released-By: PERLANCAR
[subcommand authors-by-rdep-count]
- [bugfix] Fix SQL again, derp (didn't really count the number of dists).
1.010 2016-10-14 Released-By: PERLANCAR
- [doc] Add Synopsis and Description for lcpanm.
[subcommand authors-by-rdep-count]
- [bugfix] Fix SQL which caused duplicated author rows, include author
name in the result, only count latest distributions, add options
--exclude-same-author.
1.009 2016-10-09 Released-By: PERLANCAR
[subcommand stats-last-index-time]
- Return CPAN mirror information (path and index name) to be more useful
for CLI users.
1.008 2016-10-08 Released-By: PERLANCAR
- Make it work when SetEnv dzil plugin is used.
1.007 2016-10-07 Released-By: PERLANCAR
- [Bugfix] Trap POD parsing errors to avoid dying (thanks Norbert
Csongradi) [GH#1] [GH#2].
1.006 2016-09-25 Released-By: PERLANCAR
- Add subcommand: inject.
- [ux] No need to warn that 'perl' and 'Config' does not have dist
ID.
1.005 2016-09-06 Released-By: PERLANCAR
- D'oh, screwed up last commit.
1.004 2016-09-06 Released-By: PERLANCAR
- Add to builtin skip list: Shipment-2.03.tar.gz (segfaults
Compiler::Lexer 0.22).
- Add subcommands: dist-contents, mod-contents.
1.003 2016-08-18 Released-By: PERLANCAR
- No functional changes.
- Add to builtin skip list: App-IndonesianBankingUtils-0.07.tar.gz
(segfaults at phase 3/3).
1.002 2016-08-11 Released-By: PERLANCAR
- When checking if a module is core (using
Module::CoreList::More->is_still_core), use version=0 instead of the
currently indexed version. Using currently indexed version might
result in a false negative for dual-life modules that has a newer
release on CPAN. For example, as of this writing, for List::Util the
currently indexed version is 1.42. If we use perl 5.22.2 as the base,
it only has 1.41. Thus, is_still_core("List::Util", "1.42", 5.022002)
returns false. While we generally want it to return true. So now we
use is_still_core("List::Util", undef, 5.022002).
- [ux] Tweak completion: enable path-mode in --index-name.
- [ux] Tweak wording in log when skipping, show the word 'reason:'.
1.001 2016-07-20 Released-By: PERLANCAR
- Use more specific schemas (e.g. perl::distname, perl::modname,
dirname, filename instead of just str) to get coercion rules
benefits, e.g. now you can say 'lcpan dist-scripts App::MTPUtils'
and it will be normalized to 'lcpan dist-scripts App-MTPUtils'.
- [Internal] Change builtin skip list from array to hash to store
reason, and show the reason in the log.
1.000 2016-06-29 Released-By: PERLANCAR
- No functional changes.
- Bump version to 1.000 to get 3 digits of minor version number.
- Add to builtin skip list: Shipment-2.02.tar.gz (segfaults
Compiler::Lexer 0.22).
0.89 2016-06-24 Released-By: PERLANCAR
- No functional changes.
- Add to builtin skip list: Shipment-2.01.tar.gz (segfaults
Compiler::Lexer 0.22).
0.88 2016-06-21 Released-By: PERLANCAR
- [ux] Format time for some subcommands.
0.87 2016-05-25 Released-By: PERLANCAR
- Try setting cache_size to 400000 (400MB), the default is 2MB.
- Update to Data::Sah 0.76+ (date/duration by default now already
coerces to floats).
0.86 2016-04-15 Released-By: PERLANCAR
- [Bugfix] Fix misnumbering in log statement because we 'next'
before incrementing counter.
- Add subcommand: src.
[subcommand doc]
- Also page --raw result.
0.85 2016-03-17 Released-By: PERLANCAR
- changes: Allow specifying script name in addition to module/dist.
0.84 2016-03-12 Released-By: PERLANCAR
- [Bug fixes] Some fixes for subcommand 'changes'.
- [ux] Tweak completion for module names (allow / as path separator).
0.83 2016-03-12 Released-By: PERLANCAR
- Add subcommand: changes.
0.82 2016-03-10 Released-By: PERLANCAR
- Add subcommand: mentions-for-all-mods.
- [ux] [subcommand mods] Add shortcut options -x (for
--query-type=exact-name), -n (for --query-type=name), -N (for
--namespace).
- [ux] [subcommands authors, dists, rels] Also add shortcut options -x &
-n.
- [ux] [completion] [subcommands mods, dists, authors, rels] Do
completion on query when query type is exact name.
- [ux] [completion] Don't do completion when word is empty, to avoid
slow response.
0.81 2016-03-02 Released-By: PERLANCAR
- [subcommand doc] Encoding fixes (use pod2man -u option).
- [subcommand related-mods] Add option --skip-same-dist.
- Use Rinci 1.1.79's cmdline_src=stdin_or_args to allow subcommands
like 'mods' to get arguments from stdin, e.g. 'cpan-outdated -p |
lcpan mod2dist'.
0.80 2016-02-25 Released-By: PERLANCAR
[Enhancements]
- Add subcommands: mentions-by-mod, mentions-by-script,
mentions-for-mod, mentions-for-script, author-deps,
author-deps-by-dependent-count, deps-by-dependent-count.
- [subcommand mods] Add options --include-core, --include-noncore.
- [subcommand deps] Add options --module-author, --module-author-isnt,
--include-noncore; various small fixes.
- [ux] Set default log level to 'info' (verbose) so 'lcpan update' by
default can see indexing process.
[Bug fixes]
- Fix a typo in SQL.
[Incompatible changes]
- Rename subcommand distmods -> dist-mods, distscripts ->
dist-scripts.
[Others]
- [subcommand deps] Assume 'perl' is a core dependency instead of
non-core.
0.79 2016-02-19 Released-By: PERLANCAR
- Add subcommand: related-mods.
- [Optimization] mentions: No need to include both clause when
type=known-module or type=unknown-module.
- [subcommand mentions] Allow multiple
--mentioned-{module,script,author}, add options
--mentioner-{module,script}.
0.78 2016-02-17 Released-By: PERLANCAR
[Bug fixes]
- Fix indexing of content. Previously content mode (>777) was used to
skip directory, this is wrong so some (many?) content were not
indexed. It is now fixed and we force a reindex of
content/script/mention.
- [subcommand dists] Forgot to update field name.
- [subcommand dists] fix Rinci argument specification for 'sort'.
[Experimental]
- Indexing of subroutines. Currently basic (only subroutine name and
source line number are indexed). I plan to add include more
information e.g. type (whether subroutine is a method, static method,
function), argument list (either from POD or subroutine signature),
summary (from POD). Also planned is support for Mo/Moo/Moose/Mouse and
the indexing of classes/roles, attributes. Since this is experimental,
it's not enabled by default. To index subroutines, you'll have to add
'--no-skip-sub-indexing' option during 'lcpan update'. It increases
index size to ~360M on current mini CPAN.
- Bump database schema version to v10 to support subroutine indexing and
force reindexing of content/script/mention.
[Enhancements]
- New subcommands: sub, subs-by-count, script2author, mod2author,
dist2author.
0.77 2016-02-17 Released-By: PERLANCAR
- No functional changes.
- [Bugfix] [subcommand mods] fix Rinci argument specification for
'sort'.
0.76 2016-02-16 Released-By: PERLANCAR
- [Bugfix] [subcommand dists] release name was shown instead of size in
rel_size result field.
0.75 2016-02-16 Released-By: PERLANCAR
- [subcommand dists] Add options --sort, --rel-mtime-newer-than.
0.74 2016-02-16 Released-By: PERLANCAR
- Add subcommand: stats-last-index-time. This is a faster version of
'stats' for App::lcpan::Call by only returning the result that is
needed.
- [subcommand stats] Add total_filesize.
- [subcommand doc] Add option --html to open browser and show the HTML
documentation.
0.73 2016-02-14 Released-By: PERLANCAR
- [subcommand doc] Search .pod using content path to be able to show POD
when there is no package declaration in the .pod.
0.72 2016-02-14 Released-By: PERLANCAR
- [Bugfix] [subcommand doc] Fix SQL error when name contains
/\.(pod|pm)$/.
- [subcommand mods] Add result field rel_mtime.
- [subcommand rels] Add option --no-path.
0.71 2016-02-12 Released-By: PERLANCAR
- No functional changes.
- 2nd attempt to workaround PAUSE indexer mistakenly detects a
package declaration.
0.70 2016-02-12 Released-By: PERLANCAR
- No functional changes.
- Workaround package declaration false positive from PAUSE indexer.
0.69 2016-02-12 Released-By: PERLANCAR
- Bump database schema version to v9 (add index for 'package' field in
'content' table).
- New subcommands: doc, script2mod, copy-script, extract-script,
authors-by-filesize.
- [subcommand script2dist] Add option --all.
- [subcommand script2rel] Accept multiple arguments.
- [subcommand dists] Add options --sort, --has-multiple-rels.
- [subcommands authors-by-*] Add percentage result field.
- [subcommand contents] Add option --package.
0.68 2016-02-11 Released-By: PERLANCAR
- Skip files that cannot be extracted from pass 2 of files processing.
- Add subcommands: mods-by-mention-count, scripts-by-mention-count,
script2dist, script2rel.
0.67 2016-02-11 Released-By: PERLANCAR
- [Bugfix] Previous version was broken (a SQL error when updating
index).
- Bump database schema version to v8. We are now indexing more stuffs:
mtime/size of files, content of files Released-By: files inside release files
along with their mtime/uncompressed size, scripts. We also parse PODs
of module/script files inside each release files, so we now record the
abstract of each module/script, and mentions/references of modules &
scripts in POD of modules/scripts. Note that size of index (index.db)
now increases from ~60M to ~250M.
- This version forces a full reindex.
- New subcommands: contents, scripts, mentions, authors-by-script-count,
authors-by-mod-mention-count, scripts-from-same-dist, distscripts,
author-scripts. UPDATE 2016-02-20: distscripts now renamed to
dist-scripts.
0.66 2016-02-07 Released-By: PERLANCAR
- [Bugfix] file should be indexed by (cpanid,name) not (name) because
PAUSE allows two authors to have the same filename.
- Bump database schema version to v7 due to the above fix.
- [Incompatible change] [subcommand deps] Change default --include-core
to 1.
- [subcommands copy_*, extract_*]: Check that release file exists.
0.65 2016-01-23 Released-By: PERLANCAR
- [Bugfix] [subcommand deps] Dependency to unindexed modules was not
shown.
- Use authors/00whois.xml (produced by e.g. OrePAN) when
authors/01mailrc.txt.gz does not exist.
- [doc] Update mini CPAN current size.
- [subcommand mods] [ux] Complete namespace.
0.64 2016-01-16 Released-By: PERLANCAR
- Adjust so we can be used like a daemon.
- [Bugfix] mod2dist: Used wrong database result field.
- [Bugfix] releases: Used wrong result field.
- [doc] Update information about mini CPAN current size.
0.63 2016-01-06 Released-By: PERLANCAR
- [Bugfix] Propagate error from _update_index().
- Add safety code to bail out when indexer_version is newer than
current version, remove old code.
0.62 2016-01-04 Released-By: PERLANCAR
- [subcommand mods] Allow specifying multiple namespaces.
0.61 2015-12-31 Released-By: PERLANCAR
- No functional changes.
- [build] Rebuild with updated PWR:DumpPerinciCmdLineScript (0.04) which
lets us avoid extraneous subcommands from being included in the
bin/lcpan's POD.
0.60 2015-12-25 Released-By: PERLANCAR; Message: It's *this* Christmas!
- Replace --exact-match with the more general --query-type to be
able to search certain fields only or exact match on certain
fields only.
- [subcommand deps] Add option --flatten when doing recursive.
- [internal] Replace 'format_options' result metadata with the simpler
'table.fields'.
- Bump prereq version Log::Any::IfLOG to 0.07.
0.59 2015-12-07 Released-By: PERLANCAR
- No functional changes.
- [Build] [Bugfix] Don't include subcommand modules outside of our dist
when building with dzil, because we'll document and depend on
extraneous subcommands/modules [CT].
0.58 2015-12-07 Released-By: PERLANCAR
- [subcommand mods-by-rdep-count] [ux] Allow lowercase names in author
argument.
- [Incompatible change] Rename subcommands author{rdeps,mods,rels,dists}
to author-{rdeps,mods,rels,dists} to be more consistent. It's
recommended that you first uninstall the old version (e.g. using
'pm-uninstall' or 'pmuninst') before installing this version, to clean
up old names.
0.57 2015-11-22 Released-By: PERLANCAR
- No functional changes.
- [doc] Don't show large results in example.
0.56 2015-11-21 Released-By: PERLANCAR
- [subcommand stats] Add num_authors_with_releases.
- [dist] Bump version of IPC::System::Options to fixed 0.22
version.
0.55 2015-10-20 Released-By: PERLANCAR
- [subcommand deps] Add --with-xs-or-pp to show dependency is XS/PP.
- Warn about modules that don't have dist ID.
- Avoid perl undef warning.
0.54 2015-10-09 Released-By: PERLANCAR
- Add convenience commands: copy-rel & copy-mod.
0.53 2015-09-17 Released-By: PERLANCAR
- No functional changes.
- Adjust to Complete::Util 0.36 (complete_file() split to
Complete-File).
0.52 2015-09-09 Released-By: PERLANCAR
- No functional changes.
- [dist] Remove prereq: Complete because it is not directly used.
0.51 2015-09-03 Released-By: PERLANCAR
- No functional changes.
- [dist] Move spec prereqs from RuntimeRequires to
DevelopRecommends to reduce deps but still allow indicating spec
requirement.
0.50 2015-08-11 Released-By: PERLANCAR
- No functional changes.
- Shave about 6ms of startup time (56ms -> 50ms) when doing completion,
by delay-loading POSIX and avoiding experimental (+Carp) in App::lcpan
as well as in Perinci::Sub::Complete and Complete::Util.
0.49 2015-08-11 Released-By: PERLANCAR
- No functional changes.
- Shave about 8ms of startup time (64ms -> 56ms) when doing completion,
by replacing Log::Any with Log::Any::IfLOG.
0.48 2015-08-11 Released-By: PERLANCAR
- Save about 10ms of startup time (74ms -> 64ms) when doing completion,
by replacing Module:List with PERLANCAR::Module::List.
- [Bugfix] Avoid SQL error when there are nulls in IN(...) clause.
0.47 2015-07-27 Released-By: PERLANCAR
- [ux] Show local/remote size which exceeds size.
0.46 2015-07-02 Released-By: PERLANCAR
- [ux] Add alias -l for --detail (like in ls).
- [ux] namespaces: Remove alias -l for --level, because we want -l to
mean --detail in all subcommands Released-By: like in ls
0.45 2015-07-02 Released-By: PERLANCAR
- Add subcommand: reset.
- [subcommand update] Add options --skip-index-file (-F),
--force-update-index.
- Don't assume an empty indexer_version in meta table to mean reindex
from scratch. It might be that the current version fails/crashes in
the middle while indexing.
0.44 2015-07-02 Released-By: PERLANCAR
- [Bugfix] Fix deleting old file records (forgot to $sth->execute,
forgot to delete records in file table).
0.43 2015-07-01 Released-By: PERLANCAR
- [subcommands modst, dists, authors, rels, namespaces] Change multiple
query to have AND logic instead of OR, and provide --or switch.
0.42 2015-06-28 Released-By: PERLANCAR
- Add subcommand 'rels' as alias for 'releases' (for consistency, the
term 'rels' and not 'release'/'releases' is used in all other
subcommand names).
- [subcommands mods, dists, authors, rels, namespaces] Accept multiple
queries, add option --exact-match. This way, you can use the
subcommand to list several things of certain names.
- [Bugfix] Fix namespace matching (previously --namespace Win32 would
also match Win32API).
0.41 2015-06-17 Released-By: PERLANCAR
- [Bugfix] authorrdeps: Fix completion for --user-author-{is,isnt}.
UPDATE: Renamed to author-rdeps in 0.58.
- [Bugfix] modules: Forgot to give default SQL order.
- Add FAQ item about seeing SQL queries.
0.40 2015-06-16 Released-By: PERLANCAR
- Add subcommand 'mods' as alias for 'modules' (for consistency, the
term 'mods' and not 'module'/'modules' is used in all other subcommand
names).
- [subcommand mods] Add option --sort which allows sorting by name,
author, as well as rdeps (number of reverse dependencies). This means
we can show "popular" modules first.
0.39 2015-06-13 Released-By: PERLANCAR
- Add subcommands for convenience: extract-mod, extract-rel.
0.38 2015-06-10 Released-By: PERLANCAR
- [Bugfix] Update referenced function name in lcpanm.
0.37 2015-06-09 Released-By: PERLANCAR
- [dist] Add missing prereq to PerlIO::gzip.
- [Bugfix] Fix way to use Parse::CPAN::Meta.
- Replace YAML::XS with core module Parse::CPAN::Meta (thanks ether).
0.36 2015-05-20 Released-By: PERLANCAR
- [Bugfix] Search for META.json, META.yml, Build.PL, Makefile.PL at
the top-level or second-level only, not anywhere.
- Switch from YAML::Syck to YAML::XS (YAML::Syck can't parse things
like '--- # YAML1.0' header).
0.35 2015-05-19 Released-By: PERLANCAR
- [subcommand dists] Add filtering options
--has-{makefilepl,buildpl,metayml,metajson}.
0.34 2015-05-15 Released-By: PERLANCAR
- [subcommand mod2dist] Accept multiple modules.
- [subcommand authorrdeps] Add completion for --user-author{,--isnt}.
0.33 2015-04-29 Released-By: PERLANCAR
- [Bugfix] (update schema) Mixed up 'has_child' and 'num_sep' columns
when filling the 'namespace' table. So we need to empty and re-fill
the table.
- [Bugfix] update: Forgot to update 'namespace' table when adding a new
module.
0.32 2015-04-29 Released-By: PERLANCAR
- Bump database schema version to v6 (add 'namespace' table). This is
mostly to help speed up tab completion query when completing module
name.
- Add subcommand: namespaces.
- [subcommand modules] Add filter option --namespace.
0.31 2015-04-28 Released-By: PERLANCAR
- [Bugfix] Don't update dist by name because name is not unique,
update by id instead.
0.30 2015-04-26 Released-By: PERLANCAR
- This version will require full reindex.
- [Bugfix] When indexing, used wrong dist_id (from last_insert_id())
when record already exists.
- [Bugfix] deps, rdeps: Result ordering fixes.
0.29 2015-04-24 Released-By: PERLANCAR
- [Bugfix] Fix missing dependencies/reverse dependencies information
when a depended module is updated, this is because we used INSERT OR
REPLACE {dist,module} which changes module/dist IDs. We should've used
INSERT or UPDATE. From this new version on we record the module
version which did the reindexing. We are doing a full reindex when
indexer <= 0.28.
0.28 2015-04-24 Released-By: PERLANCAR
- No functional changes.
- Avoid perl undef warning.
0.27 2015-04-23 Released-By: PERLANCAR
- [subcommand rdeps] Implement recursive (-l/-R).
- [subcommand deps] Ordering when in -l/-R mode.
- [subcommand deps] Optimize query (avoid retrieving module ID's twice
when in recursive mode).
- [Bugfix] [subcommand deps] Forget to clone data causing deps --phase &
--level defaults being reset to 'ALL'.
0.26 2015-04-22 Released-By: PERLANCAR
- Add phase & rel arguments to rdeps & authorrdeps.
- Add test: xt/author/sql_schema_versioned.t.
0.25 2015-04-22 Released-By: PERLANCAR
- [Bugfix] Fix SQL error when creating schema.
0.24 2015-04-21 Released-By: PERLANCAR
- [subcommand deps] Accept multiple modules, speed up query.
0.23 2015-04-16 Released-By: PERLANCAR
- Add subcommand: dists-by-dep-count.
- Add subcommand: authors-by-rdep-count.
- Remove unnecessary (and unhelpful) package metadata in command
modules, module abstract will be retrieved from handle_cmd's
metadata anyway.
- [subcommand mods-by-rdep-count] Add filter options --phase & --rel.
0.22 2015-04-15 Released-By: PERLANCAR
- [subcommand rdeps] Accept multiple modules.
- New subcommand: authorrdeps. If you are a CPAN author, this subcommand
makes it easy to list all distributions that use one of your modules.
To filter only distributions created by others, just pass
--user-author-isnt YOURCPANID.
- New subcommand: mods-by-rdep-count.
0.21 2015-04-15 Released-By: PERLANCAR
- [Removed feature] Remove separate 'update-files' and 'update-index'
subcommands, to simplify configuration. Merge options to 'update'
subcommand.
- Add filter options --include-author, --exclude-author.
0.20 2015-04-15 Released-By: PERLANCAR
- Bump database schema version to v5 (add column is_latest to dist table
to ease queries).
- Allow --nolatest in addition to --latest.
- Add --latest filter option to 'modules' and 'mods-from-same-dist'
subcommands.
0.19 2015-04-15 Released-By: PERLANCAR
- Replace Module::CoreList->is_core with
Module::CoreList::More->is_still_core.
0.18 2015-04-15 Released-By: PERLANCAR
- [subcommand mods-from-same-dist] Accept multiple modules.
0.17 2015-04-14 Released-By: PERLANCAR
- Add command: mods-from-same-dist.
- [subcommand stats] Add raw_mirror_mtime & raw_last_index_time to ease
scripts calculating freshness.
0.16 2015-04-12 Released-By: 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 Released-By: PERLANCAR
- Bump database schema version to v4. 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 subcommand: authors-by-dist-count.
0.14 2015-04-07 Released-By: 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 Released-By: PERLANCAR
- No functional changes.
- Forget to tag 'index_name' arg as common arg.
0.12 2015-02-25 Released-By: 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 Released-By: PERLANCAR
- To help chase bugs in updating index, now keeps old indexes (by
default 7, customize via --num-backups).
0.10 2015-02-06 Released-By: PERLANCAR
- Mark common args with 'common' tag.
- Add convenient option --all (equivalent to: --phase ALL --rel
ALL).
0.09 2015-01-20 Released-By: PERLANCAR
- Skip erroneous version in dep information, instead of exploding.
- rdeps: Allow multiple --author & --author-isnt options.
0.08 2015-01-14 Released-By: PERLANCAR
- More tweaks and minor bug fixes.
- Add more examples.
0.07 2015-01-14 Released-By: PERLANCAR
- Various small tweaks.
0.06 2015-01-14 Released-By: 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. UPDATE 2015-12-06: authormods now
renamed to author-mods, authordists -> author-dists, authorrels ->
author-rels. UPDATE 2016-02-20: distmods now renamed to dist-mods.
[DATABASE CHANGES]
- Bump database schema version 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 Released-By: PERLANCAR
- No functional changes.
- Rebuild to update TODO.md (d'oh).
0.04 2015-01-14 Released-By: PERLANCAR
- Use Perinci::CmdLine::Util::Config to get lcpan configuration without
running the binary.
- Rebuild to update TODO.md.
0.03 2015-01-14 Released-By: PERLANCAR
- Bump database schema version to v2.
- 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'.
- [subcommand 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 Released-By: PERLANCAR
- Rename module/dist from CPAN::Local to App::lcpan (PAUSE
conflict, CPAN::Local already exists on CPAN).
0.01 2015-01-13 Released-By: PERLANCAR
- First version.