Revision history for Catmandu
1.2022 2024-09-29 21:03:06 CEST
- #399: removing smartmatch for perl 5.41.x support
1.2021 2023-11-06 10:41:11 CET
- #397: Support empty paths
- Updating documentation about CSV, TSV exports
1.2020 2023-02-08 16:29:37 CET
- Reordering documentation focussing on command line functionality
- Adding Catmandu::PerAPI documentation
- Updating Catmandu::Introduction
- Supporting fix on an Catmandu::Iterable (obs nichtich)
1.2019 2022-03-21 16:21:54 CET
- wrap ->isa in eval
- remove release tests from github actions matrix
1.2018 2022-03-09 16:26:23 CET
- bump required version of Parser::MGC
1.2017 2022-03-09 15:59:27 CET
- remove weird io test
1.2016 2021-09-17 09:07:55 CEST
- new mapping fix
- bump minimum required version of perl to 5.14, some dependencies already
require this
1.2015 2021-01-22 16:23:42 CET
- fix applying Readonly to bags that are not Droppable
1.2014 2021-01-15 15:29:19 CET
- Path::Simple value argument is never stringified
1.2013 2020-07-09 09:47:03 CEST
- rewritten Exporter::Count uses optimized count when available
1.2012 2020-05-25 14:14:08 CEST
- support quote_space option in CSV exporter
1.2011 2019-12-20 14:08:54 CET
- give commands access to the logger
1.2010 2019-11-26 12:20:03 CET
- new Iterable every method
- updated Iterable, Fix pod
1.2009 2019-11-04 16:03:36 CET
- new is_float utility function
- fix some bugs in emitting of strings that look like numbers
1.2008 2019-10-23 15:14:27 CEST
- new disassoc fix
- add missing dependency
1.2007 2019-09-25 15:48:32 CEST
- Searchable stores get a new maximum_offset option to avoid deep paging if
needed
1.2006 2019-09-19 17:38:31 CEST
- add missing dependencies
1.2005 2019-09-19 11:04:58 CEST
- switch to UUID::Tiny
1.2004 2019-08-28 14:00:59 CEST
- new Flushable role for bags
1.2003 2019-08-19 13:47:43 CEST
- switch to Data::UUID::MT to avoid file related problems (see
https://github.com/rjbs/Data-UUID/issues/5 and
https://github.com/rjbs/Data-UUID/issues/33). We now use the UUID v4 method
instead of v3.
1.2002 2019-05-27 16:01:17 CEST
- a Catmandu::Error can now build it's own message
1.2001 2019-05-22 15:32:43 CEST
- new IterableOnce role for iterators that can only run once like importers
- fix replacing the root object itself in the new builder versions of
copy_field and move_field
1.20 2019-05-21 10:02:02 CEST
- Fix::Builder and Path make writing fixes much easier
- new eval fix
- new cp,mv and rm shortcuts for copy_field, move_field and remove_field
- CSV exporter accepts escaped whitespace literals as sep_char just like the
TSV exporter
- fix --transaction option in copy and import commands
- bump required version of List::MoreUtils
1.10_03 2019-05-17 10:44:49 CEST
- new cp,mv and rm shortcuts for copy_field, move_field and remove_field
- CSV exporter accepts escaped whitespace literals as sep_char just like the
TSV exporter
- fix --transaction option in copy and import commands
- fix bug in Emit
1.10_02 2018-11-09 09:09:02 CET
- bump required version of List::MoreUtils
1.10_01 2018-11-08 15:38:48 CET
- Fix::Builder and Path make writing fixes much easier
- new eval fix
1.10 2018-08-30 10:38:16 CEST
- split off Catmandu::FileStore
- bring Dockerfile back to this repository
- include fix now accepts glob patterns
- the export and convert commands get a new --id-file option
1.09 2018-03-06 11:24:35 CET
- add validator method to Catmandu
- new Mock validator
- new validate fix and valid fix condition
- JSON importer byte buffer size is now configurable to optimize performance
- command line help improvements
1.08 2018-02-02 14:48:51 CET
- fix language gets support for namespaces
- fix language gets support lexical blocks
- filter fix gets a new invert option
- Iterable map method can now return multiple values (or none)
- cleanup cli error handling code
- file store tests are now threadsafe
1.07 2017-11-09 10:03:51 CET
- new Readonly plugin
- new DKVP importer for delimited key-value pairs
- new Store bags method
- new Store default_options for bag
1.0606 2017-09-26 10:42:35 CEST
- fix bug with numeric strings in fix preprocessing
1.0605 2017-09-21 10:58:21 CEST
- fix touch command pod
1.0604 2017-09-21 10:35:26 CEST
- new touch command and bag touch method
- new Util::now function
- remove dependency on LWP::UserAgent::Determined
- add a basic vim syntax definiton for fix files
- add, copy, join, move, remove, set, sort and split fix shortcuts
1.0603 2017-09-04 10:16:55 CEST
- bags can have default plugins applied
- add hard dependency on List::MoreUtils::XS
1.0602 2017-06-23 10:16:48 CEST
- fix filestore permission bug on Windows
1.0601 2017-06-21 14:49:30 CEST
- bugfix release
1.06 2017-06-20 15:48:00 CEST
- new FileStores for handling binary data
- new iterator bind
- better bind performance
- more pod
1.0507 2017-05-19 17:32:57 CEST
- correctly handle escapes in fix langauge quoted strings
1.0506 2017-05-12 16:36:03 CEST
- Catmandu gets new define_importer, define_exporter, define_store and
define_fixer convenience methods
- Versioning plugin get_version can now also return the current version
1.0505 2017-05-12 12:52:18 CEST
- new compact fix
- bag gets a convenience exists method
- Versioning plugin get_version($id, 1) behaves correctly if no versions have
been created yet
1.0504 2017-04-21 12:22:59 CEST
- new string fix
- new int fix
- Datestamps plugin field names are now configurable
1.0503 2017-04-06 15:20:58 CEST
- the store wide id_key is also aliased as id_field
1.0502 2017-04-06 15:15:57 CEST
- id_key is now also a store wide option
1.0501 2017-04-06 14:34:00 CEST
- id_key and version_key aliased as id_field and version_field
1.05 2017-03-31 13:51:48 CEST
- Windows build was broken since 1.0304, should now build again
- fix language has new elsif statement
- fix language has new boolean keywords
- fix language do statement aliased as bind
- config is now reloadable
- Plugin::Datestamps datetime format is now configurable
- pod corrections
1.04 2017-03-23 13:56:32 CET
- new error fix
- new rename fix
- new search_in_store fix
- new import_from_string fix
- new export_to_string fix
- new valid fix condition ties Validator to fixes
- new CQLSearchable role
- new Iterable run method
- relevant commands get new transaction, sort and sru-sortkeys options
- remove deprecated data command
- improved info command
- inline use of fixes is now cached by default and much faster
- solved memory leak in Fix::Base
- the perl code generated by Fix is now a reusable standalone sub
- more pod
1.0306 2017-02-09 15:22:04 CET
- config command has new fix and preprocess options
- memoize loggers
1.0305 2017-01-26 09:32:09 CET
- fix command line repeated argument bug
1.0304 2016-11-23 11:21:32 CET
- new index fix
- fix command line argument utf8 bug
1.0303 2016-10-18 14:45:49 CEST
- convert and export commands get a new id option
1.0302 2016-10-04 10:43:51 CEST
- Hash store is now transactional for testing purposes
1.0301 2016-09-22 09:33:53 CEST
- fix hashmap bind tests
1.03 2016-09-21 10:32:51 CEST
- specialized id generators for bags
- rewrite of the fix parser using Parser::MGC
- Catmandu->fixer($fixer) echoes the $fixer back as expected
1.0201_02 2016-05-27 09:46:53 CEST
- rewrite of the fix parser using Parser::MGC
- Catmandu->fixer($fixer) echoes the $fixer back as expected
1.0201_01 2016-05-26 14:45:25 CEST
- rewrite of the fix parser using Parser::MGC
- Catmandu->fixer($fixer) echoes the $fixer back as expected
1.0201 2016-05-23 14:25:25 CEST
- faster, simpler vacuum fix
- update required version of Marpa
1.02 2016-05-20 11:33:38 CEST
- all fixes and fix conditions can be used inline now
- more fast type tests
- fix type check bug
1.01 2016-05-10 13:03:58 CEST
- configurable prefixes for internal store data keys (_id, _version, ...)
- fix file or inline fix preprocessing with moustache templates
- faster type tests with Ref::Util
- is_true and is_false fix conditions have a new strict mode
- new is_array, is_object, is_string, is_number and is_null fix conditions
- new Importer http_timing and http_retry options
- better info command
- switch to Cpanel::JSON::XS
- consistent interpretation of backslash in fixes with regexes
- fix bugs relating to perltidy
- more and better pod
- more tests
1.0002_03 2016-04-28 10:00:55 CEST
- fix file or inline fix preprocessing with moustache templates
- faster type tests with Ref::Util
- is_true and is_false fix conditions have a new strict mode
- new is_array, is_object, is_string, is_number and is_null fix conditions
- new Importer http_timing and http_retry options
- better info command
- switch to Cpanel::JSON::XS
- consistent interpretation of backslash in fixes with regexes
- fix bugs relating to perltidy
- more and better pod
- more tests
1.0002_02 2016-04-22 09:38:41 CEST
- is_true and is_false fix conditions have a new strict mode
- new is_array, is_object, is_string, is_number and is_null fix conditions
- new Importer http_timing and http_retry options
- better info command
- switch to Cpanel::JSON::XS
- consistent interpretation of backslash in fixes with regexes
- fix bugs relating to perltidy
- more and better pod
- more tests
1.0002_01 2016-04-14 14:19:42 CEST
- better info command
- switch to Cpanel::JSON::XS
- consistent interpretation of backslash in fixes with regexes
- fix bugs relating to perltidy
- more and better pod
- more tests
1.0002 2016-04-01 13:36:28 CEST
- fix debug mode dying if Perl::Tidy is missing
- error messages now default to empty string
- improved Importer::TSV and Exporter::TSV
1.0001 2016-03-03 16:28:16 CET
- fix some pod typos
- fix handling multivalued response http headers in Importer
1.00 2016-02-22 16:16:07 CET
- fix os-dependent paths in tests
- throw an error if an Importer file path doesn't exist
- bump required version of URI::Template because we need variable names
returned in order
- pod fixes
- lots of pod
- lots of tests
- new Exporter::Mock
- new Importer::TSV and Exporter::TSV
- new 'uri_decode' and 'uri_encode' fixes
- new Droppable and Transactional roles for stores
- new 'drop' command
- switch to MooX::Role::Logger for logging
- smarter CSV::Importer
- new specialized TabularExporter base role
- fix bug in 'array_to_sentence' helper function
- fix $append bug in 'data_at' helper function
- the 'data' command is deprecated. All it's functionality is now provided by
the 'import', 'export', 'convert' and 'copy' commands
- rename the 'move' command to the more accurate 'copy'
- line delimited JSON is no longer the default for Importer::JSON and
Exporter:JSON
1.00_03 2016-02-10 14:34:07 CET
- fix os-dependent paths in tests
- throw an error if an Importer file path doesn't exist
1.00_02 2016-02-09 10:17:58 CET
- bump required version of URI::Template because we need variable names
returned in order
- pod fixes
1.00_01 2016-02-04 16:30:11 CET
- lots of pod
- lots of tests
- new Exporter::Mock
- new Importer::TSV and Exporter::TSV
- new 'uri_decode' and 'uri_encode' fixes
- new Droppable and Transactional roles for stores
- new 'drop' command
- switch to MooX::Role::Logger for logging
- smarter CSV::Importer
- new specialized TabularExporter base role
- fix bug in 'array_to_sentence' helper function
- fix $append bug in 'data_at' helper function
- the 'data' command is deprecated. All it's functionality is now provided by
the 'import', 'export', 'convert' and 'copy' commands
- rename the 'move' command to the more accurate 'copy'
- line delimited JSON is no longer the default for Importer::JSON and
Exporter:JSON
0.9505 2015-12-02 10:36:58 CET
- expand, collapse and vacuum fixes handle large arrays
- more pod
0.9504 2015-11-03 11:30:48 CET
- fix dereferencing bug in Util::is_string
- move Dockerfile to it's own repository
0.9503 2015-10-29 16:32:28 CET
- VERSION for all packages and cleanup
0.9502 2015-10-28 16:48:10 CET
- new Store::Multi
- new Exporter::Multi
- new Importer::Multi
- new MultiIterator
- remove dependency on Data::Util so we can support perl 5.22
- fix typos
- fix Fix::Bind::list single execution bug
- .mailmap file
0.9501 2015-10-15 16:30:28 CEST
- 'trim' fix remove diacritics mode
0.95 2015-10-08 11:46:02 CEST
- Importer can now fetch remote data over http(s)
- catmandu run command and executable fixes
- catmandu interactive fix interpreter
- 'importer' bind
- more powerful 'list' and 'hashmap' bind
- autocommit option on all addables (Exporter,Store,...)
- 'expand_date' fix replaced by 'split_date' in the Catmandu-Fix-Date
distribution
- more pod and tests
0.9403 2015-09-17 16:44:45 CEST
- make 'include' fix load path aware
0.9402 2015-09-16 14:30:07 CEST
- rename Iterable 'sort' to 'sorted' to fix name conflict
0.9401 2015-09-15 11:19:57 CEST
- new 'uniq' fix
- new 'flatten' fix
- new 'include' fix to load other fix files
- Importer has a new 'data_path' option to import data substructure(s) instead
- fix emitted null bug in the 'reject' and 'select' fixes
- more pod and many typos corrected
0.94 2015-07-10 13:26:34 CEST
- lots more pod and many typos corrected
- more fix tests
- new Text importer to import data similar to sed and awk
- Modules importer supports multiple namespaces and module description
- 'help' command now shows importer and exporter options
- new utility functions 'pod_section' and 'array_split'
- empty path now refers to the root in fixes
- new 'assoc' fix
- new 'perlcode' fix
- new 'with' and 'visitor' binds
- new 'in' fix condition
- new 'any_equal', 'all_equal' fix conditions
- new 'is_bool', 'is_true', 'is_false' fix conditions
- utf8 support tests
- more robust header detection in CSV exporter
- more robust 'copy_field' fix
- 'expand' and 'collapse' fixes have a new 'sep_char' option
- add .dockerignore file
- fix travis.yml
- more robust 'lookup' and 'lookup_in_store' fixes
- Iterable 'select' method aliased as 'grep'
- Hash store has a new 'init_data' option
- remove conflicting VERSION sub from CLI
0.9301 2015-02-24 11:17:36 CET
- Cmd output test failed sometimes
0.93 2015-02-24 09:54:04 CET
- Iterable can now behave like an external iterator (see next and rewind
methods)
- better Fix::Parser error handling
- new hash_merge fix
- fix Versioning bugs
- more consistent Importer::JSON and Exporter::JSON parameter naming
- fix regex bug in emit
- new set_array and set_hash fixes
- new filter fix
- Iterable stop_if method
- pod fixes
0.9210 2015-01-06 09:28:23 CET
- fix log tests
0.9209 2014-12-04 13:58:02 CET
- info command
- ignore installed but depreciated commands
- improved retain fix will replace retain_field
- simple emitting fixes require a bit less boilerplate
- JSON::XS is now required to avoid bugs in other
implementations
0.9208 2014-11-20 09:50:56 CET
- lazy and more robust fix building in Fix.pm
0.9207 2014-11-06 09:53:08 CET
- greater_than, less_than fix conditions
- fix bug in Paged
- Exporter::JSON pod
- sort_field fix handles undef values
0.9206 2014-10-07 09:06:43 CEST
- remove orphan test
0.9205 2014-10-06 14:09:06 CEST
- more pod
- combine the various info modules in Importer::Modules
- Bind::hashmap fix
0.9204 2014-06-13 09:44:48 CEST
- fix issue #93 octal number bug
0.9203 2014-06-13 09:27:54 CEST
- fix counting bugs
0.9202 2014-06-10 09:30:24 CEST
- fix Logger bug
0.9201 2014-06-06 14:44:33 CEST
- Iterable benchmark and format method pod
0.92 2014-06-06 13:06:01 CEST
- catmandu debug flag and more informative error messages
- more pod
- bump required version of Moo
- require YAML::XS to avoid YAML weirdness
- fix CLI include path load order
- MooX::Log::Any replaced by Catmandu::Logger because it doesn't set the
correct category
- config command can use any Exporter
- Importer::JSON multiline is more robust
- Exporter::JSON supports canonical, indent, space_before, space_after
options
- info commands and matching importers
0.9103 2014-05-23 10:24:52 CEST
- fix script dir in build script
- Fix::Parser handles empty comments
- Exporter pod
0.9102 2014-05-20 14:07:46 CEST
- Marpa requires Time::Piece
0.9101 2014-05-20 11:58:46 CEST
- less_than, greater_than conditions
0.91 2014-05-20 09:29:01 CEST
- adding monads in disguise Catmandu::Fix::Bind
- much more pod
- make travis a bit happier
0.9 2014-05-12 10:18:40 CEST
- switch to Dist::Milla
- Marpa based fix parser
- Config::Onion based config loader
- :up load path
- move documentation to the Github wiki
- Validators
0.8014 2014-04-03
- fix Paged bugs
- more tests
0.8013 2014-03-27
- Importer::JSON multiline switch
- Importer pod
0.8012 2014-03-24
- add missing List::MoreUtils dependency
0.8011 2014-03-18
- fix Paged bugs
- array and hash fixes
- more tests
- more pod
0.8010 2014-03-11
- bump required version of YAML::Any
- use List::Util::sum instead of List::Util::sum0 (not present in older
versions)
0.8009 2014-03-07
- sort_field fix
- fix undefined lib_path
0.8008 2014-03-05
- split off Catmandu::Exporter::Template
0.8007 2014-03-04
- rewrite Catmandu::Serializer
- split off Catmandu::Serializer::storable
- split off Catmandu::Serializer::messagepack
- tests for Catmandu::Serializer
0.8006 2014-03-04
- expand_date fix
- CLI --lib-path option
- more tests
- remove dependency on Data::SpreadPagination
- Importer encoding is now an attribute
- fixes inheriting from Fix::Base can now export their functionality as a
function
0.8005 2013-12-20
- Catmandu::Plugin:: pod
0.8004 2013-12-18
- Exporter::CSV always_quote option
0.8003 2013-12-18
- fix bug in Store::bags
0.8002 2013-12-09
- fix pod
0.8001 2013-11-19
- add one step install to pod
0.8 2013-11-14
- Fix::Condition now supports otherwise clause
- Fix, Fix::Condition bugfixes
- TY RIS tag needs to come first for some exporters
- fix version command
0.7002 2013-09-12
- sort keys extracted from a hash in Exporter::CSV and Importer::CSV
0.7001 2013-09-09
- fix bug in data command with option values evaling to false
0.7 2013-09-02
- JSON Exporter array option
0.6 2013-09-02
- Util::trim also removes vertical whitespace
- updated introduction, developers guide
- more tests
- sum fix
- travis
- pod links
0.5004 2013-07-01
- lookup, lookup_in_store fixes handle -delete option with wildcard correctly
0.5003 2013-06-28
- lookup_in_store fix
0.5002 2013-06-26
- count fix
- nothing fix
0.5001 2013-06-25
- trim fix nonword option
0.5 2013-06-12
- ArrayIterator pod
- split off Store::DBI,
- split off Importer::Atom
- split off Exporter::Atom
- split off Exporter::BibTeX
- split off Exporter::XLS
- remove dependency on Module::Info
0.4001 2013-06-20
- lookup fix tests, -default, -delete options
0.4 2013-06-19
- to_json fix
- from_json fix
0.3 2013-06-18
- Exporter::JSON pod
- lookup fix
0.2003 2013-05-27
- remove given/when statements (experimental since perl 5.16)
- fix endless loop if iterators returned by Iterable group method are not consumed
0.2002 2013-05-08
- revert to IO::String because open with scalar ref has
binmode bugs
0.2001 2013-05-07
- ArrayIterator
- fix Util::is_instance()
- avoid using IO::String
0.2 2013-04-24
- better config command
- convert command
- count command
- delete command
- export command
- import command
- move command
0.1003 2013-04-16
- fix Exporter::Template dynamic scope
0.1002 2013-04-02
- missing Env::fixers
0.1001 2013-03-28
- don't throw empty messages
- bump required version of Throwable
0.1 2013-03-26
- logging with MooX::Log::Any
- error hierarchy
- Store forwards all Bag methods to the default Bag
- make Perl::Tidy optional
- namespace::clean
- Sane exports Try::Tiny::ByClass
- Sane no longer exports confess, use the Error classes
- a new Env class takes care of loading the config and other
environment related tasks
- Buffer and Counter have better encapsulation
- Iterable has a new benchmark method
- Exporter::RIS AR tag
- Exporter::BibTeX articleno field
- rename Pager to Paged
0.0901 2013-03-07
- fix makefile
0.09 2013-03-06
- Exporter::Atom
- fix pod
0.08 2013-02-26
- compile fixes to perl closure
- tests for all fixes
- fix typo in Importer::RIS
- add doi field to Exporter::BibTeX
0.07 2013-02-07
- conditionals in fixes
- append, prepend fixes
0.06 2013-02-05
- Util::io() can now take a callback to read to or write from
- fixer method enables named fixers in config
- default fixers, importers, exporters equivalent to default store
0.05 2012-12-04
- split off Catmandu::Store::ElasticSearch
- split off Catmandu::Store::Solr
- split off Plack::Session::Store::Catmandu
- split off Dancer::Plugin::Catmandu::OAI
- split off Dancer::Plugin::Catmandu::SRU
- split off Dancer::Session::Catmandu
- Exporter::Template dies if template isn't found
- fix accidental creation of non-existing keys in Util::set_data()
0.0402 2012-11-12
- Store::Hash is no longer Searchable
- remove dependency on Data::Visitor::Callback
- bump required version of Moo to 1.0
- Util::write_file()
- Util::join_path()
- Util::normalize_path()
- Util::segmented_path()
- Util prefer io(binmode => ...) to io(encoding => ...)
0.0401 2012-10-24
- split off Store::SBCatDB
- more Util docs
0.04 2012-10-24
- Util human output functions
- Util xml functions
- Util docs
0.0303 2012-10-15
- pass limit option in Store::ElasticSearch::Searcher and
Store::Solr::Searcher
- fix Exporter::CSV docs
- custom header labels in Exporter::CSV and Exporter::XLS
0.0302 2012-09-25
- fix POST support in Dancer::Plugin::Catmandu::OAI
- optimize Util::require_package
0.0301 2012-07-09
- fix typo in Catmandu->load
0.03 2012-07-06
- iterative version of CQL::ElasticSearch
- Store::ElasticSearch searcher supports sort
- faster Datestamps
- Iterable->interleave()
- Iterable->detect/select/reject(key => ['val', ...])
- Iterable->detect/select/reject(key => 'val')
- fix Dancer::Plugin::Catmandu::SRU recordPosition
- Cmd::config can take a key to show only a subset
0.02 2012-06-12
- remove guard feature from fixes
- load split config files
- Catmandu->roots()
- support for nested object queries in CQL::ElasticSearch
- improve Plugin::Versioning
- more docs
0.0106 2012-05-29
- fix Store::DBI transaction method
0.0105 2012-05-21
- more docs
0.0104 2012-05-16
- more docs
0.0103 2012-05-14
- improve Plugin::Versioning
- more docs
- fix split on \r in tests
- fix dependencies: parent.pm is only bundled with perl >= 5.10.1
0.0102 2012-05-09
- pass data to Bag->generate_id()
- fix typo in Cmd::data
- fix YAML loading
0.0101 2012-05-08
- fix dependencies
0.01 2012-05-05
- initial release