The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.053   2022-12-09  Released-By: PERLANCAR; Urgency: medium

        - [bugfix] [cli csv-select-rows] Fix function metadata (multiple
          args with pos=1).

        - [bugfix] [cli csv-fill-template] Fix function metadata (multiple
          args with pos=1).

        - [bugfix] [cli csv-concat] Fix function metadata (clashing argument
          positions --filename & --output-filename) (RT#145467).


0.052   2022-12-05  Released-By: PERLANCAR; Urgency: medium

        - [bugfix][clis csv-sort-rows, csv-sort-fields, csv-concat] Didn't
          observe -O and/or -o (RT#145283).


0.051   2022-12-02  Released-By: PERLANCAR; Urgency: medium; Backward-Incompatible: yes

        [Incompatible changes]

        - Rename csv-select-row to csv-select-rows for consistency.

        - [cli csv-sort-fields] Rename by_example to by_examples argument
          and make it an array, on CLI specify one example at a time with
          --by-example, to allow header name that contains comma.

        [Enhancements]

        - Add utilities csv-pick-rows, csv-pick-fields, csv-shuf-rows,
          csv-shuf-fields.

        - [cli csv-sort-fields] Add options --by-code, --by-sortsub.


0.050   2022-12-02  Released-By: PERLANCAR; Urgency: low

        - No functional changes.

        - [build] Rebuild to work around bug in my toolchain that still uses the
          old module to generate POD.


0.049   2022-12-02  Released-By: PERLANCAR; Urgency: low

        - No functional changes.

        - [cli csv-sort-rows] Update documentation (no more --by-fields).


0.048   2022-12-02  Released-By: PERLANCAR; Urgency: medium; Backward-Incompatible: yes

        [Incompatible changes]

        - [cli csv-sort-rows] Make by_fields argument an array and specify on
          CLI one field at a time with --by-field to allow header name which
          contains comma (RT#145282).

        [Enhancements]

        - Improve --by-field tab completion (provide +FIELD, -FIELD, ~FIELD).


0.047   2022-12-01  Released-By: PERLANCAR; Urgency: medium

        - [cli csv-add-field] Rename to csv-add-fields, now can add multiple
          fields, -e is now optional, also add -H (RT#145276, RT#145268).

        - [bugfix] [cli csv-sort, csv-sort-rows] output_filename was not
          passed to csvutil() (RT#145267).

        - [bugfix] [cli csv-setop] Fix argument parsing (output_filename
          clashes with filename) (RT#145275).

        - [doc] Tweak Abtract for csv-setop to make it a bit more discoverable.


0.046   2022-10-25  Released-By: PERLANCAR; Urgency: medium

        - Add utility: csv2vcf.


0.045   2022-10-09  Released-By: PERLANCAR; Urgency: medium

        - Add option --output-filename (-o) and --overwrite (-O); allow
          reading/writing to URL in addition to file.


0.044   2022-08-09  Released-By: PERLANCAR; Urgency: high

        - Merge releases 0.041 & 0.041.2.


0.041.2 2022-08-08  Released-By: PERLANCAR; Urgency: medium

        - Add utilities: csv-fill-template, csv-get-cells.

        - [cli cli-munge-row] Avoid warning when perl code adds a new field.

        - UPDATE 2022-08-09: rename release from 0.041 to 0.041.2 due to
          conflict.


0.043   2022-08-01  Released-By: PERLANCAR; Urgency: low

        - No functional changes.

        - Tweak POD formatting.


0.042   2022-08-01  Released-By: PERLANCAR; Urgency: low

        - No functional changes.

        - [doc] Add some examples to App::CSVUtils::Manual::Cookbook.


0.041   2022-08-01  Released-By: PERLANCAR; Urgency: medium

        - Add utility: csv-get-cells.

        - [cli cli-munge-row] Avoid warning when perl code adds a new
          field.


0.040   2022-08-01  Released-By: PERLANCAR; Urgency: medium; Backward-Incompatible: yes

        [Incompatible changes]

        - Rename csv-delete-field to csv-delete-fields to reflect the fact that
          it can now select multiple fields.

        - Short option -f now becomes shortcut for --include-field (a.k.a.
          --field) instead of for --filename.

        [clis csv-delete-fields, csv-select-fields]

        - Improve field selection ability by adding --exclude-field (-F),
          --exclude-field-pat to exclude fields. We know have four options
          to select fields: --include-field (--field, -f),
          --include-field-pat, --exclude-field (-F), and --exclude-field-pat.
          In addition to that, we also have --include-all-fields and
          --exclude-all-fields as alias for --include-field-pat .* and
          --exclude-field-pat .*, respectively.

        - Add option --ignore-unknown-fields to ignore unknown field specified
          via --include-field (--field, -f) or --exclude-field (-F).

        - Add option --show-selected-fields to show selected fields and
          immediately exit.


0.039   2022-07-27  Released-By: PERLANCAR; Urgency: low

        - No functional changes.

        - [doc] Mention more CSV-related modules.


0.038   2022-07-25  Released-By: PERLANCAR; Urgency: medium

        - Add utility: csv-munge-row.


0.037   2022-03-27  Released-By: PERLANCAR; Urgency: medium

        - Set input and output encoding to UTF8 and note this in the
          scripts' documentation (RT#141357).


0.036   2022-02-10  Released-By: PERLANCAR; Urgency: medium

        - [cli csv-freqtable] [bugfix] Extraneous first row was produced.


0.035   2022-02-10  Released-By: PERLANCAR; Urgency: medium

        - Add utility: csv-freqtable.


0.034   2021-07-10  Released-By: PERLANCAR; Urgency: medium

	- [bugfix][doc] Cookbook package was not renamed.


0.033   2021-07-10  Released-By: PERLANCAR; Urgency: medium

	- Add logging.

        - [build] Rebuild with newer Perinci::CmdLine::POD 0.023 to generate
          POD-formatted usage line.


0.032   2020-08-16  Released-By: PERLANCAR; Urgency: medium

	- Add utility: csv-transpose.

	- Add cookbook (mostly only placeholders for now).


0.031   2020-08-03  Released-By: PERLANCAR; Urgency: medium

	- Add CLI: csv-csv (csv2csv).

	- Add CSV output options --output-{sep,quote,escape}-char for CLIs
	  that output CSV, e.g. csv-sort, csv-grep, csv-sum, csv-split,
	  csv-csv, etc.

        [cli csv-info]

        - [ux] Now defaults to producing naked result (RT#133078).


0.030   2020-07-30  Released-By: PERLANCAR; Urgency: medium

	- Add common options: --sep-char, --quote-char, --escape-char
	  (RT#133079).

	[cli csv-info]

        - [bugfix] Avoid dying on invalid CSV by initializing $fields to []
	  (RT#133077).

	[cli csv-setop]

        - [bugfix][doc] Fix the documentation of --compare-fields (RT#133076).


0.029   2020-05-29  Released-By: PERLANCAR; Urgency: medium

	- Add utility: csv2td.


0.028   2019-12-27  Released-By: PERLANCAR; Urgency: medium

	[cli csv-sort-rows]

        - Add options --key (-k), --by-sortsub.


0.027   2019-12-23  Released-By: PERLANCAR; Urgency: medium

	- Tweak tab completion.


0.026   2019-12-19  Released-By: PERLANCAR; Urgency: medium

	- Add ability to read CSV from stdin.

	- [bugfix] csv-sort-rows, csv-sort-fields: didn't observe common
	  options --tsv and --no-header.


0.025   2019-11-29  Released-By: PERLANCAR; Urgency: medium

	- Update coerce rule names in Sah schemas (Data::Sah::Coerce
	  0.034+).


0.024   2019-11-14  Released-By: PERLANCAR; Urgency: medium

	- Add utility: csv-split.


0.023   2019-06-06  Released-By: PERLANCAR

	- Add utiity: csv-info.

	- [doc] Explain --no-header more.


0.022   2019-05-21  Released-By: PERLANCAR

	- Add csv2ltsv script (ltsv2csv not yet).

	- [doc] Mention App::TSVUtils and App::LTSVUtils; update that
	  csv2tsv, tsv2csv are now included by us.


0.021   2019-05-12  Released-By: PERLANCAR

	- Add scripts: csv2tsv, tsv2csv.


0.020   2019-04-29  Released-By: PERLANCAR

        - Add utilities: csv-setop, csv-sort-rows (with alias csv-sort),
          csv-lookup-fields.

        - Make $main::csv available to Perl code.

        - [bugfix] A couple of fixes.


0.019   2019-04-23  Released-By: PERLANCAR

	- Declare argument specification variables with 'our' instead of
	  'my' so they are accessible from outside.


0.018   2019-04-23  Released-By: PERLANCAR

	- Add option --tsv to parse input file as TSV instead of CSV.


0.017   2019-04-23  Released-By: PERLANCAR

	- csvutil(): forgot to update valid actions in schema.


0.016   2019-04-23  Released-By: PERLANCAR

	- Add utility: csv-dump (and its alias dump-csv).


0.015   2019-04-15  Released-By: PERLANCAR

	- Add utility: csv-each-row.

	- Make $main::field_idxs also available for Perl code.

	- [ux] CLIs do not need to read env or config.

	- Allow 'eval' argument to be coderef, for when csvutil() is called
	  from Perl.


0.014   2018-05-25  Released-By: PERLANCAR

	- Add utility: csv-map.

	- [ux] (for csv-grep, csv-map): Compile --eval code in 'main' package,
	  turn off strict & warnings.

	- csv-grep & csv-map: also set $main::row and $main::rownum like in
	  other utilities.

	- [test] Add test for csv-grep (& csv-map).


0.013   2017-07-02  Released-By: PERLANCAR

        - Add utility: csv-grep.

        - Add common option: --(no-)header to be able to handle CSV that does
          not have header row.


0.012   2017-04-25  Released-By: PERLANCAR

	- csv-select-fields: Add --field-pat to select by regular
	  expression.


0.011   2016-11-17  Released-By: PERLANCAR

	- [Bugfix] csv-select-fields CLI was not generated in previous
	  release.


0.010   2016-11-16  Released-By: PERLANCAR

	- Add utility: csv-select-fields.

	- csv-delete-field: allow deleting multiple fields in one go.


0.009   2016-11-16  Released-By: PERLANCAR

	- Add utility: csv-concat.

	- csv-add-field: add option --after, --before, --at to specify
	  position of the new field.


0.008   2016-11-16  Released-By: PERLANCAR

        - Add utilities: csv-select-row, csv-convert-to-hash.


0.007   2016-11-15  Released-By: PERLANCAR

	- Add utilities: csv-sum, csv-avg.

	- csv-add-field: Tweak completion: field should not be completed
	  with existing field names.


0.006   2016-11-03  Released-By: PERLANCAR

        - [ux] Add completion for field name (-F) and --example.


0.005   2016-11-03  Released-By: PERLANCAR

        - csv-add-field, csv-munge-field: Don't run code for header row.

        - Tweak descriptions.


0.004   2016-11-03  Released-By: PERLANCAR

        - [Removed] Remove utility csvutil.

        - Add utility csv-sort-fields.


0.003   2016-11-02  Released-By: PERLANCAR

        - [Incompatible change] Rename script replace-newline-in-csv to
          csv-replace-newline for consistency with the other utilities.

        - Add tests.


0.002   2016-11-02  Released-By: PERLANCAR

	- Add utilities: csvutil, csv-list-field-names, csv-add-field,
	  csv-delete-field, csv-munge-field.


0.001   2016-11-01  Released-By: PERLANCAR

         - First release.