Mon Jun 10 08:33:31 2024 Rob Lauer <rlauer6@comcast.net>
[2.0.2]:
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
- issue #16 - Small fix for error when retrieving keys
with charset spec in content-type
* src/main/perl/lib/Amazon/S3.pm.in
- issue #17 - Fixed a bug where encryption was impossible in special cases
* VERSION: bump
* README.md: version
Mon Jun 10 07:30:59 2024 Rob Lauer <rlauer6@comcast.net>
[0.66]:
* NEWS.md: updated
* .gitignore: *.log
* src/main/perl/run-test: new from test.localstack
* src/main/perl/S3TestUtils.pm
(set_s3_host): AMAZON_S3_SKIP_ACLS, not SKIP_PERMISSIONS
* src/main/perl/t/01-api.t
- likewise
(like_acl_allrusers_read):
- dump flag
* src/main/perl/t/04-list-buckets.t: whitespace
* src/main/perl/t/06-list-multipart-uploads.t
- ignore case on status header (LocalStack <> AWS)
Mon Apr 22 15:14:36 2024 Rob Lauer <rlauer6@comcast.net>
[2.0.1]:
* VERSION: 2.0.1
* NEWS.md: notes on version 2
* README.md: generated
* src/main/perl/lib/Amazon/S3/BucketV2.pm.in
- pod tweaks and additions
- whitespace
Tue Dec 26 07:58:33 2023 Rob Lauer <rlauer6@comcast.net>
[0.66]:
* README.md: generated
* src/main/perl/lib/Amazon/S3/Constants.pm.in
- + $HTTP_NO_CONTENT, $HTTP_PARTIAL_CONTENT
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
(upload_part_of_multipart_upload): refactored, use create_api_uri()
(get_key_v2): new
(get_key): support list or hashref as args include uri_params
(_get_key): refactored
(get_key_filename): refactored, accept hash of args
* src/main/perl/lib/Amazon/S3.pm.in
- pod tweaks
- refactoring, use methods from Amazon::S3::Util
- some support for express one-zone
(use_express_one_zone): new
(add_bucket): refactored to use _add_bucket()
(_add_bucket): new
(list_directory_buckets): new
(list_object_versions): refactored using create_api_uri()
(signer): support for express one-zone
(_make_request)
- set Content-Length header
- only set content if we have data
* src/main/perl/lib/Amazon/S3/Util.pm.in
(create_query_string): refactored
(create_api_uri): new
* s3-perl.pl
- new options, availability-zone, modified-since
(list_directory_buckets): new
(create_bucket): support expresss one-zone
(list_object_versions): new
>>>>>>> master
Thu Nov 30 13:56:08 2023 Rob Lauer <rlauer6@comcast.net>
[0.66]:
* VERSION: bump
* NEWS.md: updated
* README.md: generated
* src/main/perl/lib/Amazon/S3.pm.in: pod updates
* README.md: generated
* src/main/perl/lib/Amazon/S3/BucketV2.pm.in: new
* src/main/perl/lib/Amazon/S3/Util.pm.in: new
* src/main/perl/lib/Makefile.am: add above to build
* src/main/perl/lib/Amazon/S3.pm.in
- refactoring
- updated pod
(add_bucket): allow additional headers
(delete_bucket): likewise
(list_bucket)
- likewise
- allow query parameters
(_validate_acl_short): refactored
(_make_request): refactored
(adjust_region): refactored
(_do_http): refactored
(_send_request_expect_nothing): refactored
(_send_request_expect_nothing_probed): refactored
(_remember_errors): refactored
(_add_auth_header): refactored
(_merge_meta): refactored
(_encode): refactored
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
- refactored
(new): refactored
(_uri): refactored
(add_key): allow for additional headers
(upload_mulipart_object)
- refactored
- allow additional headers
(initiate_multipart_upload): likewise
(upload_part_of_multipart_upload): likewise
(make_xml_document_simple): replaced with _create_multipart_upload_request()
(get_key): call _get_key() now
(_get_key)
- renamed from get_key()
- allow additional headers
(copy_object): refactored
(delete_keys)
- refactored
- allow additional headers
* src/main/perl/lib/Amazon/S3/Constants.pm.in
- + $AWS_METADATA_BASE_URL
- + markers for ListObjectVersions
* src/main/perl/t/01-api.t
- create private bucket first, then delete public access block
(list_all)
- refactored
- allow additional headers
(get_acl)
- refactored
- allow additional headers
(get_location_constraint): refactored
(_create_multipart_upload_request): new
Tue Nov 28 17:42:44 2023 Rob Lauer <rlauer6@comcast.net>
[0.65]:
* src/main/perl/lib/Amazon/S3.pm.in
(signer)
- get token from creds object always
Thu Jul 20 07:47:36 2023 Rob Lauer <rlauer6@comcast.net>
[0.64 - get_location_constraint() ]:
* VERSION: bump
* NEWS.md: updated
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
(get_location_constraint): content already decoded
Mon Apr 17 08:07:13 2023 Rob Lauer <rlauer6@comcast.net>
[0.63 - pass -key to Crypt::CBC]:
* src/mai/perl/lib/Amazon/S3.pm.in
(_decrypt): pass encryption key as -key and -pass
Fri Apr 14 08:29:32 2023 Rob Lauer <rlauer6@comcast.net>
[0.62 - list_bucket, buckets]:
* VERSION: bump
* NEWS.md: updated
* README.md: generated
* src/main/perl/lib/Amazon/S3.pm.in
- minor pod updates
(buckets)
- return if null or error, not _remember_errors()
(list_bucket): likewise
* src/main/perl/t/01-api: diag before bailing out
* src/main/perl/t/04-list-buckets.t
- added test for listing non-existent bucket
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
- minor pod tweak, alphabetize methods
Wed Mar 29 08:12:48 2023 Rob Lauer <rlauer6@comcast.net>
[0.61 - delete_keys(), refactoring]:
* s3-perl.pl
- added ASCII table output, refactored
* NEWS.md: updated
* src/main/perl/lib/Amazon/S3.pm.in
- some perlcritic refactoring
- pod updates
(list_bucket): use different markers for v1, v2
(list_bucket_all)
- throw $EVAL_ERROR "The server has stopped responding"
(_make_request): light refactoring
(_sendrequest): accept keep_root and pass to _xpc_of_content()
(_xpc_of_content): NoAttr => $TRUE
(_remember_errors): return false if no error
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
- some perlcritic refactoring
(add_key): check reftype properly
(set_acl): send conten-length
* src/main/perl/lib/Amazon/S3/Constants.pm.in
- additional constants for refactoring
- move subs from t/01-api.t to S3TestUtils.pm
* src/main/perl/t/01-api.t: refactoring
* src/main/perl/t/02-logger.t: likewise
* src/main/perl/t/03-region.t: likewise
* src/main/perl/t/04-list-buckets.t: likewise
* src/main/perl/t/05-multipart-upload.t: likewise
* src/main/perl/t/06-list-multipart-uploads.t: likewise
* src/main/perl/test.localstack: converted to bash script
* src/main/perl/S3TestUtils.pm: new
* cpan/buildspec.yml: add above to distribution
Mon Mar 27 10:47:54 2023 Rob Lauer <rlauer6@comcast.net>
[0.61 - delete_keys()]:
* VERSION: bump
* NEWS.md: updated
* README.md: generated
* configure.ac: add check for make-cpan-dist.pl
* cpan/Makefile.am: use automake var for above
* src/main/perl/lib/Amazon/S3/.pm.in
(_make_request): don't encode the query string twice
(_send_request): precendence wrt regexp
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
(delete_keys): new
(_format_delete_keys): new
* src/main/perl/lib/Amazon/S3/Constants.pm.in
- new constants to support delete_keys() method
* src/main/perl/lib/Makefile.am: stop make on error
* src/main/perl/t/01-api.t: added tests for delete_keys()
* src/main/perl/test.localstack: save logs
Fri Feb 10 07:47:22 2023 Rob Lauer <rlauer6@comcast.net>>
[0.60 - logging]:
* VERSION: bump
* NEWS.md: updated
* bootstrap: support M.rr style versions
* src/main/perl/lib/Amazon/S3.pm.in
- removed all end of block indicators inserted by perltidy
(new)
- only consider 'debug' flag when internal logger used
* src/main/perl/lib/Amazon/S3.pm.in
(new): new
* configure.ac
- fix email addres
- remove -Wall to prevent warning during configure
* s3-perl.pl: new
* src/main/perl/test.localstack: new
* .gitignore: added some of the files created by `make cpan`
Wed Jan 25 11:54:59 2023 Rob Lauer <rlauer6@comcast.net>
[0.59 - copy_object]:
* VERSION: bump
* README.md: generated
* src/main/perl/lib/Amazon/S3.pm.in
- minor pod changes
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
(copy_object): new
* src/main/perl/Makefile.am: corrected comments re: make test
* cpan/Makefile.am: PROJECT_HOME
[unit tests]:
* src/main/perl/t/01-api.t
- added unit test for copy_object()
* src/main/perl/t/04-list-buckets.t
- use AMAZON_S3_HOST from environment not S3_HOST
* README-TESTING.md
- corrected way make test invoked
Mon Dec 19 09:25:04 2022 Rob Lauer <rlauer6@comcast.net>
[0.58 - min perl required]:
* VERSION: bump
* cpan/buildspec.yml: min perl 5.10
* cpan/requires: JSON::PP
Sat Dec 3 14:09:29 2022 Rob Lauer <rlauer6@comcast.net>
[0.57 - rpm packaging]:
* VERSION: bump
* perl-Amazon-S3.spec.in
(Requires): Net::Amazon::Signature::V4
* src/main/perl/lib/Makefile.am
- install Amazon::S3::Signature::V4 to correct directory
Tue Nov 29 10:39:43 2022 Rob Lauer <rlauer6@comcast.net>
[0.56 - minor bug, 0.55 issues #8]:
* buildspec.yml: files should be relative to project home
* VERSION: bump
* NEWS.md: updated
* README-TESTING.md: more documentation
* Makefile.am: rpm, not rpmbuild directory
* src/main/perl/Makefile.am: comments re: testing
* src/main/perl/t/04-list-buckets.t
- enable debug mode if $ENV{DEBUG}
- dump response if error
* src/main/perl/lib/Amazon/S3.pm.in
- pod tweaks
(new)
- set -key and -pass for legacy Crypt::CBC
(buckets): avoid return explicit undef
(list_bucket)
- remove undefined hash members from input
(_make_request)
- use URI to set path, host, port if domain bucket ame
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
(last_response): typo, should be last_response(), not last_reponse()
(_uri): minor refactoring for clarity
(add_key): likewise, return a return code
(_add_key): minor refactoring
(get_key): minor refactoring, do not return explicit undef
(delete_key): minor refactoring for clarity
(set_acl): likewise
(get_acl)
- likewise
- return undef if 404 rather than croak
* docker-compose.yml: new
Mon Aug 1 15:44:04 2022 Rob Lauer <rlauer6@comcast.net>
[0.55 - bucket region]:
* requires: latest version of most modules
* src/main/perl/lib/Amazon/S3.pm.in
- pod tweaks, corrections
- don't specify a minimum version of perl
(new): set default region to 'us-east-1', again
(get_bucket_location): $bucket, not $self
(buckets)
- verify region option
- pass hash of options and region to _send_request
(add_bucket)
- do not add region constraint if us-east-1
- refactored, send region to _send_request_expect_nothing
(delete_bucket): likewise refactored
(list_bucket): likewise refactored
(_make_request): use region() method of signer
(_do_http): debug statements, set last_reponse, reset_errors
(_do_http_no_redirect): likewise
(_send_request_expect_nothing): likewise
(_send_request_expect_nothing_probed)
- accept hash argument
- debug statements
- croak if redirect, but no Location
(error): new
(reset_errors): new
(_remember_error): set error
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
- pod tweaks, corrections
(new)
- + logger attribute
- + verify_region attribute, verify region if true
(_uri): remove leading '/'
(add_key): correct region if 301 response
(upload_multipart_object): debug messages
(upload_part_of_multipart_upload): likewise
(complete_multipart_upload): likewise
(get_key): remove redundant debug message
(delete_key): pass region to _send_request_expect_nothing
(set_acl): likewise
* src/main/perl/t/01-api.t: do not bailout on early tests
(error): new
(last_response): new
* src/main/perl/t/03-region.t: default region is us-east-1
Fri Jul 22 14:47:30 2022 Rob Lauer <rlauer6@comcast.net>
[0.55 - testing, revert to XML::Simple]:
* src/main/perl/t/01-api.t: remove /r option in regex
* src/main/perl/t/04-list-buckets: likewise
* src/main/perl/lib/Amazon/S3.pm: use XML::Simple
* src/main/perl/lib/Amazon/S3/Bucket.pm.in: likewise
(make_xml_document_simple): new
* src/main/perl/t/06-list-multipart-uploads.t: XML::Simple
* configure.ac: remove Lib::XML, Lib::XML::Simple, add XML::Simple
* cpan/requires: likewise
* TODO.md: new
Thu Jul 21 11:14:16 2022 Rob Lauer <rlauer6@comcast.net>
[0.55 - CI/CD]:
* .github/workflows/build.yml: remove make cpan
* README.md: generated
* src/main/perl/lib/Amazon/S3.pm.in: update badge
Thu Jul 21 10:53:03 2022 Rob Lauer <rlauer6@comcast.net>
[0.55 - CI/CD]:
* .github/workflows/build.yml
* README.md: generated
* configure.ac: typo, IO::Scalar
* cpan/requires
- IO::Scalar, JSON:PP, Pod::Markdown
* src/main/perl/lib/Amazon/S3.pm.in: add badge
* NEWS.md: update
Mon Jul 18 16:27:41 2022 Rob Lauer <rlauer6@comcast.net>
[0.55 - regional buckets]:
* NEWS.md: new
* src/main/perl/lib/Amazon/S3/Constants.pm.in
- + $MIN_MULTIPART_UPLOAD_CHUNK_SIZE
* src/main/perl/lib/Amazon/S3.pm.in
- document Signature V4 changes/implications
- use new Amazon::S3::Signature::V4 object
(_make_request): accept hash ref as argument
(get_bucket_location): new
(reset_signer_region): new
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
- document multipart methods
- send region in all _make_request calls
(_send_request): check if arg is a request
(new)
- accept region argument
- set bucket region if region not passed
(upload_multipart_object): new
* src/main/perl/lib/Amazon/S3/Signature/V4: new
* src/main/perl/lib/Makefile.am: add above to build
* src/main/perl/t/05-multpart-upload.t: new
* src/main/perl/t/06-list-multpart-upload.t: new
Thu Jul 14 06:34:56 2022 Rob Lauer <rlauer6@comcast.net>>
[0.55 - use XML::LibXML]:
* VERSION: bump
* src/main/perl/lib/Amazon/S3.pm.in: use XML::LibXML, not XML::Simple
- perlcritic cleanups
- pod cleanup
(new)
- cache_signer
- encrypt credentials
(get_default_region): new
(get_aws_access_key_id): new
(get_aws_secret_access_key): new
(get_token): new
(_decrypt): new
(_encrypt): new
(signer)
- accesses _signer now
- set default region to caller's value or default
(buckets): set region to us-east-1 temporarily
(debug): new convenience method for level => 'debug'
(_make_request): allow disabling of domain buckets
* src/main/perl/lib/Amazon/S3/Bucket.pm.in: comment tweak
* src/main/perl/lib/Amazon/S3/Constant.pm.in: $DOT
* src/main/perl/t/01-api.t: set $dns_bucket_names to true?
* cpan/test-requires: +Test::Output
* cpan/requires: -Test::Output
* configure.ac
- ads_PERL_MODULE XML::LibXML::Simple, XML::LibXML, Test::Output
Wed Jul 13 13:09:04 2022 Rob Lauer <rlauer6@comcast.net>
[0.54 - merge timmullin changes]:
* src/main/perl/lib/Amazon/S3.pm.in: see commit history
- use XML::LibXML
* src/main/perl/lib/Amazon/Bucket.pm.in: see commit history
Tue Jun 21 12:57:31 2022 Rob Lauer <rlauer6@comcast.net>
[0.53 - unit test perl > 5.010]:
* VERSION: bump
* cpan/requires: sorted
* src/main/perl/lib/Amazon/S3.pm.in
- use 5.010
Sun Jun 19 08:19:19 2022 Rob Lauer <rlauer6@comast.net>
[0.52 - specify version of List::Util required]:
* cpan/requires: List::Util
* cpan/Makefile.am: option of --no-core
Sat Jun 18 07:05:14 2022 Rob Lauer <rlauer6@comcast.net>
[0.51 - unit tests]:
* src/main/perl/t/02-logger.t: remove Log::Log4perl from test
Fri Jun 17 09:48:16 2022 Rob Lauer <rlauer6@comcast.net>
[0.50 - version requirements]:
* cpan/Makefile.am: --no-core
* configure.ac: remove version requirements
* cpan/test-requires: add without core modules
* cpan/requires: remove core modules
Fri Jun 17 07:21:22 2022 Rob Lauer <rlauer6@comcast.net>
[0.49]:
* Makefile.am
- make rpm
- use abs_builddir
- src, not dist now
* configure.ac
- get version from VERSION
- don't treat warnings as errors
- output package version
- check for rpmbuild, pod2markdown, scandeps-static.pl
- update dependencies
* src/main/perl/lib/Amazon/S3.pm.in
- new logging option
- mv'd from dist/lib/Amazon/S3.pm
- documenation updates
- refactoring, perlcritic cleanups
- use Amazon::S3::Constants
- allow passing credentials class
(_make_request): check dns_bucket_names option
(dns_bucket_names): new
(get_logger): new
(level): new
(get_credentials): new
(new)
- secure defaults to true
(region): new
(list_bucket_v2): new
(list_bucket_all_v2): new
(last_response): new
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
- mv'd from dist/lib/Amazon/S3/Bucket.pm
- revert using XML::Simple
- use Amazon::S3::Constants
- perlcritic cleanup
- perltidy
(_uri): support DNS bucket names
(list_v2): new
(list_all_v2): new
* src/main/perl/lib/Makefile.am: new
* src/main/perl/Makefile.am: new
* src/main/Makefile.am: new
* src/Makefile.am: new
* cpan/Makfile.am: new
* cpan/requires: new
* cpan/test-requires: new
* src/main/perl/t/01-api.t
- env vars for controlling tests1
- mv'd from dist/t/01api.t
- refactored test
- support AWS mocking services
- enable/disable regional testing
- added list_vs test
- create tempfile instead of using t/README
* src/main/perl/t/02-logging.t: new
* src/main/perl/t/03-region.t: new
* src/main/perl/t/04-list-bucket.t: new
* .gitignore: *.pm
* ChangeLog: mv'd from dist/CHANGES
* README-TESTING.md: new
* README-BUILD.md: new
* VERSION: new
* bootstrap: new
* autotools/ads_PERL_INCLUDES.m4: new
* autotools/ads_PERL_LIBDIR.m4: new
* autotools/ads_PERL_MODULE.m4: new
* autotools/ads_PROG_PERL.m4: new
* autotools/am_rpm_build_mode.m4: new
* autotools/ax_am_conditional_example.m4: new
* autotools/ax_deps_check.m4: new
* autotools/ax_distcheck_hack.m4: new
* autotools/ax_rpmbuild_check.m4: new
Revision history for Perl module Amazon::S3:
0.48 Sep 17 2021
- remove leading '/' from bucket name
- modify tests for not s3.amazonaws.com hosts (e.g. minio)
0.47 Feb 4 2019
- update dependencies (XML::LibXML)
0.46 Jan 19 2019
- use temporary credentials
- error string
-
0.45 Aug 14 2009
- Applied patch to support any S3 end points (Tokuhiro Matsuno)
- Applied patches to not die when 0 or 1 buckets are return also (Tokuhiro Matsuno)
0.441 Jun 16 2008
- Added handling to get_key_filename where the key is used as the file
name if one is not provided.
0.44 Jun 08 2008
- Applied patch for fixing non-xml error parsing (Harold Sinclair)
- Ported changes from Net::Amazon::S3 0.42-0.44. These include:
- Fix bug with storing files consisting of "0" (Martin Atkins)
- Use of IO::File and binmode() to support Windows (Gabriel Weinberg)
- Add exponential backoff upon temporary errors with the new
retry option. (Leon Brocard)
0.41.2 Jan 20 2008
- Added documentation fixes that where causing
99-pod-coverage.t to fail.
0.411 Jan 19 2008
- initial release into CPAN
- Fork of Net::Amazon::S3 0.41
- Renamed packages
- Replaced XML::LibXML and XML::LibXML::XPathContext
with XML::Simple
- Ran perltidy over code
- Removed deprecated methods from Amazon::S3
- Revised documentation and README