The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Mon Jan 29 15:17:28 2024  Rob Lauer  <rlauer6@comcast.net>

	[2.0.13]:
	* VERSION: bump
	* README.md: generated
	* src/main/perl/lib/README.md: likewise
	* cpan/requires: Pod::Find
	* src/main/perl/lib/Amazon/API/Botocore.pm.in: whitespace
	* src/main/perl/lib/Amazon/API.pm.in: likewise, added badge to pod

Fri Oct 13 17:02:15 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.12]:
	* .gitignore
	- cpan/resources
	- cpan-dist/services, service-listing.json
	- src/main/bash/bin/create-service
	- don't ignore docker-rpm/Makefile
	* VERSION: bump
	* README.md: generated
	* NEWS: updated
	* .gitignore: added generated README, README.html files
	* cpan-dist/Makefile
	- clear error message when required env vars not present
	- require Text::ASCIITable for listing
	* cpan-dist/README.md
	- added Quickstart section
	- minor tweaks
	* docker/docker-compose.yaml: docker-compose for LocalStack
	* src/main/perl/lib/README.md: likewise
	* src/examples/APIExample.pm
	(dump_json): new
	(version): new
	(service): new
	* src/examples/README.md: tweaks
	* src/examples/sqs.pm: refactored
	* src/examples/ec2.pm: likewise
	* src/examples/ecr.pm: likewise
	* src/examples/cloudwatch-events.pm: likewise
	* src/examples/secrets-manager.pm: likewise
	* src/examples/ssm.pm: likewise
	* src/examples/sts.pm: likewise
	* src/main/perl/lib/Amazon/API.pm.in
	- export 'service' method
	- add more documenation around serialization failures
	(service): new
	(set_log_level): only set level if logger is actually set
	(decode_response)
	- SuppressEmpty when decoding XML
	- add serialize flag to prevent serialization
	- return decoded output if not botocore output
	(invoke_api)
	- added log messages
	- try to detect when to pass through parameters vs serializing via botocore
	- only use paginator if there is a paginator for the method being invoked
	- set parameters to {} as default for non-botocore/application-json calls
	- delete limit_key from result
	- return result_key contents for paged results
	(_set_defaults): added option no_passkey_warning
	(serialize_content)
	- set parameters to an empty array as default for query protocol
	* src/main/perl/lib/README.md: generated
	* src/main/perl/lib/Amazon/API/Botocore.pm.in
	(help): fix for shape documentation
	* src/main/perl/lib/Amazon/API/Botocore/Pod.pm.in
	- note about custom module names
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Serializer.pm.in
	- serialization fixes
	(_serialize_structure)
	- pass along exists flag if element exists in content
	- added more debugging information
	- use member name as key or just use serialized data
	- set location name as locationName, location or member name
	- always set serialized datat to hash member now ????
	(_serialize_list)
	- skip undefined elements
	- pass along exists flag
	(serialize)
	- return undef if undefined data for strings
	- return undef if undefined data for boolean
	- fix for timestamp type
	- implement flattened maps
	- return undef for empty hashes and arrays
	* src/main/perl/lib/Amazon/API/Botocore/Shape.pm.in
	- refactoring, serialization fixes
	- optional logger object
	(new)
	- add arg is_response, to avoid calling _init_value() for response object
	(_init_map): return raw value if is_flattened
	(get_shape_type): new
	(finalize): refactored with dispatcher
	(finalize_map): new
	(finalize_list): new
	(finalize_structure): new
	(_create_key_value_list): new
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Utils.pm.in
	- add methods is_array, is_code, is_hash, is_regexp, is_scalar, _is_type
	- changed new() method in template to only store value if a value passed
	(create_module_name): don't alter names with upper case (they're custom)
	* src/main/bash/bin/create-service.sh.in
	- use realpath for BOTOCORE_PATH
	- get description from service, not module name
	* src/main/perl/lib/Amazon/API/Constants.pm.in
	- added SUCCESS, FAILURE

Mon Aug 21 14:33:58 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.11]:
	* VERSION: bump
	* README.md: generated
	* NEWS.md: updated
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Serializer.pm.in
	(serialize)
	- format with nanoseconds only if present in timestamp
	- fixed regexp related to above
	* src/main/perl/lib/Amazon/API.pm.in
	(init_botocore_request)
	- disable creation of Botocore request object if !use_botocore or
	if request is not a HASH ref
	- remove marker when using paginator
	* src/examples/ec2.pm
	- fixed non-Botocore request (DescribeSubnets, DescribeSecurityGroups)

Mon May 22 07:34:06 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.10]:
	* VERSION: bump
	* README.md: generated
	* NEWS.md: updated
	* src/main/perl/lib/README.md: likewise
	* src/main/perl/lib/Amazon/API.pm.in
	- include badge in pod
	(create_urlencoded_content): url_encode query string parameters
	* src/main/perl/lib/Amazon/API/Botocore/Shape.pm.in
	(_init_value): include blob in valid types
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Utils.pm.in
	(__DATA__)
	- update shape template (new()) to initialize structures when undefined

Sun May 21 13:17:30 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.9]:
	* VERSION: bump
	* README.md: generated
	* NEWS.md: updated
	* src/main/perl/lib/Amazon/API.pm.in
	(invoke_api)
	- set paginator parameters from $parameters before it is unloaded
	- only serialize content if it exists
	(create_url_encoded_content): actually uri encode the parameters
	* docker/Makefile.docker
	- user NOCACHE if set in environment

Sat May 13 08:52:29 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.8]:
	* VERSION: bump
	* NEWS.md: updated
	* configure: generated
	* README.md: likewise
	* README-BUILD.md: explain --enable-rpm-build-mode
	* requires
	- any version of Pod::Parser?
	- bump version of Amazon::Credentials
	* cpan/Makefile.am: top_srcdir, not ..
	* .gitignore: *.tag, *.log
	* docker/Dockerfile.create-service: new
	* docker/Dockerfile.rpm-build: new
	* docker/Makefile.docker: new
	* docker/README.md: new
	* docker/build-dist: new
	* docker/create-cpan-dist: new
	* docker/package-create-service.lst: new
	* docker/package-rpm-build.lst: new
	* docker/rpm-build: new
	* create-service-sh.in: -f option (force)
	* src/main/perl/lib/Amazon/API/Botocore.pm.in
	(format_columns): use 80 if no tty

Sun May  7 14:02:56 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.7 - remove DateTime dependency]:
	* VERSION: bump
	* README.md: generated
	* NEWS.md: updated
	* src/main/bash/bin/create-service.sh.in
	- exit if error from amazon-api
	- pass BOTOCORE_PATH to amazon-api
	- pass BOTOCORE_PATH to create_cpan_distribution
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Serializer.pm.in
	(serialize): replace DateTime with POSIX::strftime

Thu Apr 20 15:33:09 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.6 - create-service]:
	* VERSION: bump
	* README.md: generated
	* NEWS.md: updated
	* src/main/perl/lib/Amazon/API.pm.in
	(_create_stealth_logger)
	- uc level to create subname
	- detect existing method correctly by looking for CODE in typeglob

Sun Mar 26 17:25:06 2023  Rob Lauer  <rlauer6@comcast.net>>

	[2.0.5 - create-service]:
	* VERSION: bump
	* README.md: generated
	* src/main/bash/bin/create-service.sh.in
	- missing @ in automake @scandeps@ variable
	- don't remove temp dir if DEBUG mode

Fri Mar 17 14:19:55 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.4 - create-service]:
	* NEWS.md: updated
	* VERSION: bump
	* configure.ac
	(AC_PATH_PROG): scandeps-static.pl
	(do_subst_command):
	- scandeps, make_cpan_dist
	* src/main/bash/bin/Makefile.am
	- add create-service to build
	- set automake variables scandeps, make_cpan_dist
	* src/main/bash/bin/create-service.sh.in: new

Fri Mar 10 08:41:44 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.3 - Readonly]:
	* VERSION: bump
	* README.md: generated
	* bootstrap: use config options if found
	* src/main/perl/lib/Amazon/API.pm.in
	- Readonly => Readonly::Scalar
	(_set_default_logger)
	- add ability to log to files
	- use default layout pattern
	- add DEBUG, etc to package AND sub-classes?
	(_create_stealth_logger): new
	* src/main/perl/lib/Amazon/API/Botocore.pm.in: Readonly => Readonly::Scalar
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Utils.pm.in: likewise
	* src/main/perl/lib/Amazon/API/Constants.pm.in: likewise
	* src/main/perl/lib/Amazon/API/Pod/Parser.pm.in: likewise
	* src/main/perl/lib/Amazon/API/Pod/Simple/Text.pm.in: likewise
	* src/main/perl/lib/Amazon/API/Template.pm.in: likewise

Sat Feb 25 10:18:34 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.2 - Log::Log4perl]:
	* VERSION: bump
	* cpan/requires: + Log::Log4perl
	* NEWS: updated
	* README.md: generated

Tue Feb 21 07:04:44 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.1 - Pod::Parser]:
	* VERSION: bump
	* cpan/requires: add Pod::Parser any version
	* README.md: generated
	* NEWS: updated

Sat Feb 18 18:04:56 2023  Rob Lauer  <rlauer6@comcast.net>

	[2.0.0 - Botocore release to CPAN]:
	* README.md: generated
	* VERSION: bump

Sat Feb 18 17:50:44 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.9]:
	* src/main/perl/lib/Amazon/API.pm.in
	- pod edits
	* src/main/perl/lib/Amazon/API/Botocore/Pod.pm.in: likewise
	* README.md: generated
	* README-BUILD.md: likewise
	* src/main/perl/lib/README.md: likewise
	* requirements.json: order only change

Wed Jan 25 18:41:03 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.8 - documentation, blob]:
	* VERSION: bump
	* NEWS.md: updated
	* README.md: generated
	* src/main/perl/lib/Amazon/API/Botocore.pm.in
	(get_service_descriptions): lc service
	(fetch_boto_services)
	- better die message when no botocore path found
	(create_stub): lc service
	(help): likewise
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Serializer.pm.in
	(serialize): handle blob type
	* src/main/perl/lib/Makefile.am: README.md
	* src/main/perl/lib/README.md: generated from above

Wed Jan 25 16:24:11 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.7 - logging]:
	* VERSION: bump
	* NEWS.md: updated
	* README.md: generated
	* src/main/perl/lib/Amazon/API.pm.in
	(BEGIN): import log levels
	(invoke_api)
	- only retrieve paginators if they're present
	- return raw results if we're not using paginator
	(_set_default_logger): use levels from $LOG4PERL_LOG_LEVELS

Fri Jan 20 17:56:53 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.6 - Log::Log4perl]:
	* VERSION: bump
	* NEWS.md: updated
	* README.md: generated
	* Makefile.requirements: --no-include-require
	* autotools/ax_requirements_check.m4: generated
	* requirements.json: generated
	* .gitignore: remove src/main/perl/lib/Amazon/API/Botocore/Shape directory
	* cpan/buildspec.yml
	- min perl version 5.010
	- no core modules
	* cpan/requires
	- require Amazon::Credentials 1.16
	- remove version number from most modules
	- + List::Utils 1.33
	- + XML::Simple
	- + JSON
	- + URL::Encode
	- + Pod::Simple
	- - core modules, Perl::Tidy, Pod::Find
	* src/main/perl/lib/Amazon/API.pm.in
	- explain new logging method in pod
	- require Log::Log4perl
	(new)
	- call _set_default_logger before setting log level
	(set_log_level): new
	(invoke_api): remove null/blank paginator keys
	(_set_default_logger)
	- use Log::Log4perl, custom logger, or nothing
	(_set_defaults)
	- removed code that formerly set 'debug' for Amazon::Credentials
	* src/main/perl/lib/Amazon/API/Botocore.pm.in
	(BEGIN)
	- stub Stealth loggers if no Log::Log4perl
	- use Log::Log4perl Stealth loggers if Log::Log4perl available
	* src/main/perl/lib/Amazon/API/Signature4.pm.in: whitespace
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Serializer.pm.in: new
	* src/main/perl/lib/Amazon/API/Botocore/Shape/Utils.pm.in: new

Mon Jan 16 13:44:53 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.5 - paginator]:
	* VERSION: bump
	* NEWS.md: updated
	* README.md: generated
	* src/main/perl/lib/Amazon/API.pm.in
	(new)
	- +use_paginator, raise_serialization_error
	(_set_defaults)
	- set use_paginator default to true
	(decode_response)
	- return raw response if exception during serialization
	(invoke_api):
	- automatically paginate if use_paginate is true
	- return raw content if exception in serialization/pagination
	* src/examples/sqs.pm
	- add tags to example
	(serialize_content)
	- don't serialize parameters with nokeys if content-type is xml

Mon Jan 16 10:17:33 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.4 - paginator]:
	* VERSION: bump
	* NEWS.md: updated
	* src/main/perl/lib/Amazon/API.pm.in
	- minor formatting changes
	* src/main/perl/lib/Amazon/API/Botocore.pm.in
	(paginator): new
	(help)
	- set $service from 'service' option
	- look for $service or service name created by create_module_name
	(render_stub)
	- prep for on-the-fly generation of pod from help

Sat Jan 14 17:33:47 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.3 - POST content]:
	* VERSION: bump
	* NEWS.md: updated
	* src/main/perl/lib/Amazon/API.pm.in
	(init_botocore_request)
	- set content to undef for non-POST operations if no parameters

Wed Jan 11 13:13:04 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.2 - CPAN dist maker]:
	* VERSION: bump
	* NEWS.md: updated
	* cpan-dist/.gitignore: new
	* cpan-dist/README.md: new
	* cpan-dist/buildspec.yml.in: new
	* cpan-dist/requires: new
	* cpan/Makefile.am: use @MAKE_CPAN_DIST@
	* src/main/bash/bin/amazon-api.sh.in: bash exit code
	* src/main/perl/lib/Amazon/API/Botocore.pm.in
	(fetch_boto_services): follow symlinks

	[requirements]:
	* autotools/ads_PERL_MODULE.m4: report missing/out of date modules
	* configure.ac
	- likewise
	(AC_PATH_PROG): scandeps-static.pl, make-cpan-dist.pl
	* bootstrap: create Perl requirements
	* Makefile.requirements: new
	* autotools/ax_requirements_check.m4: new (generated)
	* requirements.json: new (generated)

Wed Jan 11 10:52:54 2023  Rob Lauer  <rlauer6@comcast.net>

	[1.4.1 - Botocore fixes]:
	* VERSION: bump
	* README.md: generated
	* NEWS.md: update
	* src/main/perl/lib/Amazon/API/Botocore.pm.in
	(render_stub)
	- don't create path here, it's done upstream
	- don't create method pod if no output-path
	(get_service_descriptions): croak if unknown service
	(main)
	- create output path for service if it does not exist

Sat Jan  7 06:02:07 2023  Rob Lauer  <rlauer6@comcast.net>>

	[1.4.0 - Botocore enhancements]:
	* .gitignore
	- perltidy.err
	- Amazon/API/Botocore/Shape/*
	- src/main/perl/lib/test/* (moved all temp test files here)
	- src/main/bash/bin/amazon-api.sh, amazon-api
	* VERSION: bump
	* README.md: generated
	* NEWS.md: updated
	* configure.ac
	- added bash/bin to build
	* src/main/Makefile.am: likewise
	* src/main/perl/lib/Amazon/API/Constants.pm.in
	- $COMMA, $DASH

	[Botocore enhancements/fixes]:
	* src/main/perl/lib/Amazon/API.pm.in
	- use JSON, not JSON::PP
	- pod updates
	(new)
	- if the API class isa botocore api, set a serializer
	(get_api_service): new
	(decode_response)
	- ForceContent 1 for parsing XML into models
	- serializer needs to know service now
	- execute Botocore serializer if botocore api
	(get_botocore_action): new
	(is_botocore_shape): new
	(is_param_type): new
	(is_query_param): new
	(is_uri_param): new
	(create_botocore_request): new
	(init_botocore_request)
	- use Botocore metadata to create request object
	(_set_defaults)
	- get_decode_always, not set_
	- use local region or region from credentials
	(is_botocore_api): new
	(serialize_content): new
	(invoke_api): serialize response if botocore api
	(submit): add request_uri to URL if rest-json/xml
	(param_n): move to Amazon::API::Botocore::Shape::Utils::param_n
	(create_url_encoded_content): allow array as arg in parameter list
	(_set_content_type): use map of content types (API_TYPES)
	(_set_default_logger): add pattern
	(create_service_url): use botocore metadata if available
	(_set_request_content): set charset to utf for POST
	* src/main/perl/lib/Amazon/API/Botocore.pm.in
	- export create_module_name, create_service_shapes,
	fetch_boto_services, get_service_descriptions
	(help): user IO::Pager if available
	(render_stub)
	- get paginators
	- don't render pod if --no-pod option selected
	- fixes for pod errors
	(get_api_descriptions)
	- fetch_paginators
	- add documentation for servcie
	- add shapes metadata
	(describe): JSON, not JSON::PP
	(create_stub): pass %options to render_stub()
	(main)
	- new options, pod, pager, output-path (replaces file)
	- defaults for new options
	- synonyms for create-stub(s), create-shape(s)
	(template)
	- set default region to us-east-1
	- utf8 encoding for pod
	* src/main/perl/lib/Amazon/API/Botocore/Pod.pm.in
	(pod)
	- new options --pager, --pod, --output-path
	- beefed up usage
	* src/main/perl/lib/Amazon/API/Botocore/Shape.pm.in
	* src/main/perl/lib/Amazon/API/Template.pm.in

	[CPAN build]:
	* cpan/Makefile.am
	- project-root option for make-cpan-dist.pl
	* cpan/buildspec.yml
	(dependencies): path deprecated, now requires:
	(provide): list new files added to project

	[unit tests]:
	* src/main/perl/t/00-botocore-template-var.t
	- moved to_template_var to separate module (Amazon::API::Template)

	[refactoring/enhancing  Botocore support]:
	* src/main/bash/Makefile.am: new
	* src/main/bash/bin/Makefile.am: new
	* src/main/bash/bin/amazon-api.sh.in: new
	* perl-Amazon-API.spec.in: add above to rpm
	* src/main/perl/lib/Amazon/API/Botocore/Shape.pm.in: new
	* src/main/perl/lib/Amazon/API/Pod/Parser.pm.in: new
	* src/main/perl/lib/Amazon/API/Pod/Simple/Text.pm.in: new
	* src/main/perl/lib/Amazon/API/Template.pm.in: new
	* src/main/perl/lib/Makefile.am: add above to build
	* src/main/perl/lib/modules.inc: likewise
	* src/main/perl/lib/directories.inc: likewise

	[examples]:
	* README.md: beefed up
	* src/examples/ecr.pm: use APIExample base
	* src/examples/sts.pm: likewise
	* src/examples/cloudwatch-events.pm: minor formatting changes
	* src/examples/ec2.pm: likewise
	* src/examples/ssm.pm: likewise
	* src/examples/secrets-manager.pm: likewise
	* src/examples/sqs.pm: likewise, param_n shoudl be called as class method
	* src/examples/README.md:typos
	* src/examples/APIExample.pm
	- perlcritic refactoring
	- export booleans used by examples
	(help)
	- usage
	- use pager
	* src/main/perl/lib/Amazon/API/Error.pm.in
	- use JSON, not JSON:PP
	- use XML::Simple
	(_set_message)
	- don't chomp
	- check to see if the message is xml before converting

	[remove example APIs]:
	* src/main/perl/lib/modules.inc remove AMAZON_API_PERLMODULES
	* src/main/perl/lib/directories.inc
	* src/main/perl/lib/Makefile.am
	* src/main/perl/lib/Amazon/API/CloudWatchLogs.pm.in: removed
	* src/main/perl/lib/Amazon/API/EC2.pm.in: likewise
	* src/main/perl/lib/Amazon/API/ECR.pm.in: likewise
	* src/main/perl/lib/Amazon/API/ECS.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SQS.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SSM.pm.in: likewise
	* src/main/perl/lib/Amazon/API/STS.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SecretsManager.pm.in: likewise

Wed Jul 13 14:07:41 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.3.5 - unit test fun]:
	* VERSION: bump
	* README.md: generated
	* .gitignore: remove test-requires
	* cpan/test-requires: new
	* cpan/Makefile.am: don't cleanup above
	* cpan/builspec.yml: ...and yes add test-requires
	* cpan/requires: remove core file version numbers

Mon Jul 11 13:10:37 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.3.4 - Amazon::API::Error, force_array]:
	* VERSION: bump
	* src/main/perl/lib/Amazon/API
	(print_error): ref precendence
	(_set_defaults):
	- see if force_array is defined before enforcing legacy behavior

Tue Jun  7 02:20:34 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.3.3 - Pod::Find]:
	* Makefile.am: pod2markdown
	* README.md: generated file
	* VERSION: bump
	* configure.ac: @POD2MARKDOWN@
	* src/main/perl/lib/Amazon/API.pm.in
	- force_array
	(decode_response)
	- use force_array flag
	- test response with ref, can
	* cpan/requires: new

Mon Jun  6 09:01:12 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.3.2 - 01-urlencode.t]:
	* VERSION: bump
	* README.md: generated file
	* src/main/perl/lib/Amazon/API.pm.in
	- lastest version of Class::Accessor's import overrides Exporter
	* cpan/buildspec.yml: +core modules

Fri Jun  3 14:54:08 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.3.1 - ForceArray]:
	* src/main/perl/lib/Amazon/API.pm.in
	(decode_response)
	- ForceArray => ['item'] : 'items' in returned XML should be converted to arrays
	(_set_defaults)
	- decode_always true if decode_always undefined

Thu Apr 28 17:32:18 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.3.0 - Botocore]:
	* VERSION: bump
	* README-BUILD.md: rename from README.md
	* README.md: built from Amazon::API pod
	* Makefile.am: build rule for above
	* NEWS.md: updated info
	* .gitignore:
	- prove.*, test-suite.log
	- *.pc
	- botcore directory
	* cpan/buildspec.yml
	- + dependencies
	* cpan/Makefile.am
	- cleanup distribution directory
	(CLEANFILES):
	- requires
	* src/main/perl/lib/Amazon/API/Signature4.pm.in
	- export parse_service_url
	(parse_service_url): new
	(scope): new
	(_scope): refactored, use parse_service_url
	* src/main/perl/lib/Amazon/API.pm.in
	- replace many characters with Readonly values (ex: $UNDERSCORE)
	- perl 5.10
	- refactoring, perlcritic improvements
	- export create_urlencode_content
	- remove accessors for credentials
	- remove use constant
	(_create_query_string): removed
	(invoke_api):
	- refactored
	- use above
	- use botocore definition if available
	(_format_content): removed
	(_set_request_content): refactored
	(_set_defaults):
	- let Amazon::Credentials handle credentials
	- do not pass debug flag to Amazon::Credentials
	(submit): use get_valid_token
	(create_urlencoded_content): new
	(_create_service_url): new
	(_set_content_type): new
	(init_botocore_request): new
	(get_valid_token): new
	* src/main/perl/lib/Amazon/API/Constants.pm.in: new
	* src/main/perl/lib/Amazon/API/Botocore.pm.in: new
	* src/main/perl/lib/Amazon/API/Botocore/Pod.pm.in: new
	* src/main/perl/lib/Makefile.am
	- add above to build
	- revisit dependencies
	* src/main/perl/t/00-botocore-template-var.t: new
	* src/main/perl/t/01-urlencode.t: new
	* src/main/perl/t/02-parse-service-url.t: new
	* src/main/perl/lib/modules.inc: new
	* src/main/perl/lib/directories.inc: new
	* src/examples/sts.pm: new
	* src/main/perl/lib/Amazon/API/Error.pm.in: perlcritic cleanup
	* src/main/perl/lib/Amazon/API/CloudWatchLogs.pm.in: likewise
	* src/main/perl/lib/Amazon/API/EC2.pm.in: likewise, rename module
	* src/main/perl/lib/Amazon/API/ECS.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SQS.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SSM.pm.in: likewise
	* src/main/perl/lib/Amazon/API/STS.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SecretsManager.pm.in: likewise

Wed Apr  6 14:47:48 2022  Rob Lauer  <rlauer6@comcast.net>

        [1.2.7 - set region]:
        * VERSION: bump
        * NEWS.md: updated info
        * src/main/perl/lib/Amazon/API/STS.pm.in: new
        * src/main/perl/lib/Makefile.am: add above to build
        * src/main/perl/lib/Amazon/API.pm.in
        (_format_content): application/x-www-form-urlencoded
        (_set_request_content): likewise
        (_set_defaults): set url after setting region
        * src/main/perl/lib/Amazon/Error.pm.in
        (_set_message): chomp XML content
        * src/examples/ecr.pm: new

Thu Mar 31 11:21:11 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.2.6 - pod updates, refactoring]:
	* VERSION: bump
	* NEWS.md: updated
	* README.md: tweaks
	* src/main/perl/lib/Amazon/API.pm.in
	- refactoring
	- pod updates
	(_create_query_string): new
	(_format_content): new
	(invoke_api): use above to reduce complexity
	(submit): DEBUG
	* src/main/perl/lib/Amazon/API/ECR.pm.in: new
	* src/main/perl/lib/Makefile.am: add above to build
	* cpan/README.md: new
	* .gitignore: add cpan/* files

Tue Mar 29 15:01:43 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.2.5 - bump version]:
	* VERSION: bump

Tue Mar 29 11:52:53 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.2.4 - fix CPAN distribution]:
	* cpan/Makefile.am
	* cpan/buildspec.yml
	* cpan/requires
	* src/main/perl/lib/Amazon/API.pm.in: use () for parent
	* src/main/perl/lib/Amazon/API/CloudWatchLogs.pm.in
	- likewise
	- use @PACKAGE_VERSION@ for versioning
	* src/main/perl/lib/Amazon/API/ECS.pm.in: likewise
	* src/main/perl/lib/Amazon/API/Error.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SQS.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SSM.pm.in: likewise
	* src/main/perl/lib/Amazon/API/SecretsManager.pm.in: likewise
	* src/main/perl/lib/Amazon/API/EC2.pm.in
	- likewise
	- remove use of %API_DEFINITION
	* src/main/perl/lib/Makefile.am
	- add stub modules to CLEANFILES

Fri Mar 25 17:12:49 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.2.3 - pass headers]:
	* VERSION: bump
	* src/main/perl/lib/Amazon/API.pm.in
	- export param_n
	- pod tweaks
	(decode_response): unload arguments
	(invoke_api)
	- set default content to passed $parameters
	- set content to {} if undefined
	- added debugging statements
	(submit)
	- send optional headers too
	(param_n): use $idx as indicator of first call
	* .perlcritic: documentation exception
	* cpan/Makefile.am: only set -x for DEBUG
	* README.md: tweaks
	* src/examples/README.me: tweaks
	* src/examples/ec2.pm
	- +DescribeVpcs, DescribeSubnets
	* src/examples/secrets-manager.pm
	- localize Data::Dumper vars
	* src/main/perl/Amazon/API/EC2.pm.in: new
	* src/main/perl/Amazon/API/ECS.pm.in: new
	* src/main/perl/Amazon/API/SQS.pm.in: new
	* src/main/perl/Amazon/API/SSM.pm.in: new
	* src/main/perl/Amazon/API/CloudWatchLogs.pm.in: new
	* src/main/perl/Amazon/API/SecretsManager.pm.in: new
	* src/main/perl/lib/Makefile.am
	- add above to build

Fri Mar  4 12:42:35 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.2.2 - localize Data::Dumper parameters]:
	* VERSION: bump
	* src/main/perl/lib/Amazon/API.pm.in
	- localize Data::Dumper settings


Tue Mar  1 08:23:52 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.2.1 - requirements]:
	* VERSION: bump
	* cpan/requires: add Find::ShareDir::Install to dependencies
	* cpan/buildspec.yml: dependencies
	* cpan/Makefile.am: requires is a dependency for cpan build
	* perl-Amazon-API.spec.in: man pages
	* README.md: cpan building, examples, badge
	* src/examples/README.md: LocalStack
	* src/main/perl/lib/Makefile.am: use if/then to avoid bad exit

Sun Feb 20 08:40:43 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.2.0 - examples, perlcritic cleanup]:

	* configure.ac
	- use VERSION
	- output version
	* cpan/Makefile.am:
	- add NOCLEANUP, DRYRUN, SCANDEPS, NOVERSION env options
	- CLEANFILES
	* src/main/perl/Makefile.am: include pwd for perl libraries
	* src/main/perl/lib/Makefile.am
	- remove echo
	* src/main/perl/lib/Amazon/API/Signature4.pm.in
	- use // for qw not q{} (perlreq)
	- plain versions
	- perlcritic cleanup
	* Makefile.am: make cpan
	* src/main/perl/lib/Amazon/API/Error.pm.in
	- move pod to bottom
	- perlcritic cleanup
	* src/main/perl/lib/Amazon/API.pm.in
	- update pod
	- move pod to bottom
	- extensive perlcritic cleanup
	(new)
	- don't pass debug to Amazon::Credentials
	- don't create signer to avoid storing credentials
	(decode_response): new, try *very* hard to decode responses
	(get_api_name): removed
	(_set_default_logger): new
	(_set_defaults)
	- allow '' as valid region for global services
	(invoke_api):
	- support legacy behavior of decoding responses for GET operations
	(submit)
	- create signer on every invocation to avoid storing credentials
	(param_n): new
	* .perlcriticrc
	* .perltidyrc
	* cpan/requires
	* cpan/buildspec.yml
	- add examples
	- resources

Wed Jan 26 14:07:07 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.1.10]:
	* VERSION: new
	* configure.ac: use VERSION
	* cpan/Makefile.am
	- options on command line to control make-cpan-dist
	* src/main/perl/Makefile.am: abs path for -I
	* requires: new
	* cpan/buildspec.yml: dependencies
	* src/main/perl/lib/Amazon/API.pm.in
	(_create_methods)
	- only create method if they do not exists
	(invoke_api)
	- test passed content-type, not default content-type

Mon Jan 24 15:42:31 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.1.9]:
	* src/main/perl/lib/Amazon/API.pm.in
	- pod cleanup, enhancements
	- refactoring

Mon Jan 24 15:09:10 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.1.8]:
	* src/main/perl/t/amazon-api.t: get_token()

Mon Jan 24 13:00:55 2022  Rob Lauer  <rlauer6@comast.net>

	[1.1.8]: Signature4
	* src/main/perl/lib/Amazon/API/Signature4.pm.in: new
	* src/main/perl/lib/Makefile.am
	- add above to build
	- add PERL5LIB to include path
	* src/main/perl/lib/Amazon/API.pm.in
	- use new Signature4 to send service

Sun Jan 23 19:32:42 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.1.7]:
	* src/main/perl/lib/Amazon/API/Error.pm.in: pod tweaks
	* src/main/perl/lib/Amazon/API.pm.in
	- make Data::Dumper behave in a JSONy way
	- added decode_always option
	- print_error, raise_error options
	(new)
	- defaults are print_error, raise_error
	- decode_always default is false
	(invoke_api)
	- save http response
	- die with print_error message
	- decode responses if decode_always
	(print_error): new

Sun Jan 23 07:57:42 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.1.6]:
	* confgure.ac: bump
	* src/main/perl/lib/Amazon/API.pm.in
	- tweaks to pod
	(new)
	- use Amazon::Credentials as default credential provider
	(invoke_api): assume {} if no parameter and content_type is json

Sat Jan 22 17:52:28 2022  Rob Lauer  <rlauer6@comcast.net>

	[1.1.5]:
	* configure.ac: bump version
	* src/main/perl/lib/Amazon/API.pm.in
	- JSON::PP
	- XML::LibXML::Simple
	* src/main/perl/lib/Amazon/Error.pm.in: likewise
	* bootstrap: bump, VERSION support

Mon Dec 17 10:16:01 2018  Rob Lauer  <rlauer6@comcast.net>

	[1.1.4-1]:
	* cpan/buildspec.yml: add ChangeLog
	* cpan/Makefile.am
	- rename tarball if minor relase
	- PHONY, not PHONEY
	* configure.ac: bump

Fri Dec  7 13:44:32 2018  Rob Lauer  <rlauer6@comcast.net>

	[1.1.4]:
	* configure.ac: bump version
	* Makefile.am: cpan
	* cpan/Makfile.am: new
	* cpan/buildspec.yml: remove ref to git project, build locally
	* src/main/perl/Makefile.am: verbose mode for tests, add -v to prove
	* src/main/perl/lib/Amazon/API.pm.in
	- our $VERSION
	(pod): indicate require args in new()
	* src/main/perl/t/amazon-api.t: only need 1 test, provide getters()
	* bootstrap: new
	* ChangeLog: new