The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.20 3 Dec 2015
 - S3 can now get and put objects. Entire API should now be working correctly (glenveegee)
 - Better schema validation in builders (by Oriol Soriano) 
 - Paws::Credential::File doesn't throw warnings when users don't have $ENV{HOME} (by A.Gimenez)
 - EC2 docu update
 - RDS support for cross account snapshot sharing. New instance types too
 - Inspector API update
 - DeviceFarm API update
 - EC2 API update: dedicated hosts
 - ECS API update
 - ElasticBeanstalk API update

0.19 12 Nov 2015
 - Fix issues with POD documentation. Some head2 tags didn't have a newline above
   them, causing them to not behave as head tags
 - We were having problems checking error messages for dns and connection failures
   Different messages on different platforms / locales were making tests fail, and
   Paws harder to install
 - Generate JSON API Maps without xml_keys and xml_values. Not needed.
 - add preloading and immutabilizing to documentation
 - SQS docu update
 - ApiGateway support for variables
 - S3 API Update: support for ServerSideEncryption in UploadPart 

0.18 6 Nov 2015 
 - Important change: Paws license has been changed to a more permissive Apache 2.0
 - IAM update: SimulateCustomPolicy updated. Docs updated too
 - Autoscaling update: Encryption for EBS volumes flag. Docu update too
 - SSM update: new functionalities (SendCommand) for mangaging Windows boxes in AWS
 - new API Gateway service
 - STS docu update
 - DeviceFarm update: New Update and Delete methods
 - ELB docu update

0.17 22 Oct 2015
 - Pass tests on MacOSX by Roger Pettett
 - BREAKING CHANGE: All API methods and attributes have been properly CamelCased. Before
   that, some services were being generated with method names and attributes starting with
   lowercase. For example, in CloudWatchLogs, method DescribeLogGroups would expect:
     limit => Int, logGroupNamePrefix => Str
   Now it expects
     Limit => Int, LogGroupNamePrefix => Str
   The affected services are CloudSearchDomain, CloudTrail, CloudWatchLogs, CodeCommit,
   CodeDeploy, CodePipeline, Support, SimpleWorkflow, Glacier, ECS, DirectConnect, 
   DeviceFarm, DataPipeline, Config. 

   This change also applies to never-released-to-cpan services: MarketplaceCommerceAnalytics,
   IoT, IoTData, Inspector.

 - loaded classes can be made immutable for better performance vs a bit more load time
 - services can be preloaded via Paws->preload (see examples/preload.pl)
 - Experimental Furl caller
 - Proper linking of documentation to appropiate classes
 - All classes now have doc (some innner shapes docs were not being generated) 
 - CloudFront methods had dates appended to them. Now all methods don't have the
   date appended, so anyone using CloudFront should be aware of that API change
 - New iterators for EC2 and Glacier
 - New caller: Paws::Net::FurlCaller. Uses Furl to do HTTP calls

 - S3 API update: Support for ServerSideEncryption 
 - KMS API update: New operations: CancelKeyDeletion ListRetirableGrants ScheduleKeyDeletion and docu update

0.16 09 Oct 2015
 - docu fixes by Gimpson
 - Timeout for all user agents set to 60 seconds. Will be configurable soon
 - S3 Update: Support for S3 Standard - Infrequent Access 
 - CloudWatchLogs Update: Export tasks
 - CloudFormation API Update: support for ResourceTypes
 - EC2 API update: Update to SpotFleet requests
 - SES API update: Support for Incoming mail
 - RDS API update: Changes to API for Aurora DBs (DBCluster operations)
 - CloudTrail API update: Log File Integrity Verification and Tagging
 - Workspaces API update: Volume encrytption
 - New ElasticSearch API (ES)
 - New WAF API (Web Application Firewall)
 - New Firehose API
 - New Inspector API
 - New MarketplaceCommerceAnalytics API
 - Config API update: Compliance rules
 - CloudFront API update
 - Kinesis API update: adjust the data retention window
 - EC2 API update: Spot blocks for Defined-Duration workloads
 - Lambda API update: Support for Aliases
 - ECS API update: new functionalities
 - New IoT and IoTData APIs

0.15 16 Sep 2015
 - fix unicode issues in test t/10_responses.t (ioanrogers)
 - fix bug handling responses with ArrayRef of Maps (DynamoDB reported by stevecaldwell77)
 - fix S3 to be able to use temporary credentials (stevecaldwell77)
 - fix bug that could produce different timestamps in Date and X-Amz-Date headers (ilmari)
 - Pull Request #53 (karenetheridge): "Update some module dependencies"
   - JSON Parsing now depending on JSON::MaybeXS
   - include META.json in package
   - remove uri_escape code for perl 5.8
 - ElasticBeanstalk API update: support for Instance and Environment health 
 - Codepipeline API update: support for encription key
 - Config API update: ListDiscoveredResources
 - EC2 API update: Resource oriented bidding for spot instances
 - StorageGateway API update: tagging
 - S3 API update: event filtering
 - IAM API update: Policy simulation methods
 - Kinesis API update: Appoximate arrival timestamp on Record object
 - Elastic File System API update
 - Route53: Child and Inverted Health Checks
 - EC2 API update: DataEncryptionKeyId and StateMessage in snapshots. Spot fleet allocation strategy

0.14 06 Aug 2015
 - LWP Caller (Paws::Net::LWPCaller). Paws supports calling behind HTTPS proxies with LWP (dtikhonov)
 - Maps in JSON type APIS are correctly handled (Issue #40 and #45, PR #46). Thanks to vivus-ignis and dtikhonov
 - Fixes to Paws.pm documentation (arc)
 - Glacier API update: support for Vault Locking
 - EMR API update: Support for new Applications specification 
 - EC2 API update:
   - CreateRoute drops the ClientToken param
   - Support for SpotFleetLaunchSpecification
 - CloudWatch Logs API update: Support Destinations
 - RDS API update: Support for Aurora (new DBCluster calls)
 - Opsworks API update: support for RHEL7
 - DeviceFarm API update: support for iOS
 - SimpleWorkflow API update: support for Lambda

0.13 17 Jul 2015
 - New API: DynamoDB Streams
 - New API: DeviceFarm
 - Paws::Credentials::File. Support for changing the filename via ENVIRONMENT (AWS_CONFIG_FILE)
 - Information for calculating region endpoints is moved into service classes, not the RegionInfo
   class that holds all endpoint information for all services.
 - Rename RegionalEndpointCaller role to EndpointResolver
 - Throw structured exception if an endpoint can't be calculated
 - Support for STS regional endpoint when used passing a region to $paws->service('STS', region => 'Desired region'). 
   $paws->service('STS') still uses the global sts.amazonaws.com endpoint
 - Paws::Credential::AssumeRole and Paws::Credential::STS support new sts_region attribute to select region. Default
   is to use the global region
 - Signin service working again (still hand-coded...)
 - paws cli now displays all attributes for call parameters, and their requiredness

0.12 09 Jul 2015
 - New API: CodePipeline
 - New API: CodeCommit
 - EC2 API update: copy encrypted snapshots between regions
 - SES API update: support for Sending Authorization
 - ECS API update
 - IAM update: support for SSH Keys
 - Autoscaling update: Support for scaling policies with steps
 - Fix DeleteMessageBatch,SendMessageBatch and ChangeMessageVisibilityBatch (thanks mbartold)

0.11 02 Jul 2015 
 - Bump up verion in response to: #105600: Please don't let your version length decrease (mst)

0.10 01 Jul 2015 
 - Don't dump request in EC2 Caller
 - Paws::Net::Caller was not correctly handling cases where the API only returns success (1) (osoriano)
 - Tests don't use Data::Path anymore (using own "mini-implementation")

0.09 25 Jun 2015 17:00:00
 - API updates from botocore until 2015-06-29
 - Difference between SQS message AttributeMaps and QueueAttribute maps (thnks codehead) 
 - Paws now returns structured exceptions (Paws::Exception) with information of errors from
   the APIs. The exceptions stringify so you don't have to worry about too much breakage. If you
   were parsing the error message from the exception, you should now use Paws::Exceptions accessors
   to get the already parsed information
 - Refactoring in the different callers to move functionalities only where needed
 - Endpoint resolution support (first version by IƱigo Tejedor)
 - SQS Maps are now working correctly (QueueMaps were ill defined). Thanks to codehead
 - Fix bug for JSONCaller: when response doesn't have a body, the operation would succeed, but an
   invalid json string exception was thrown
 - longs changed to Moose type Int, instead of Num (longs are 64 bit integers 
   in Java https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html)
   Those Ints are passed to AWS as int() instead of Strings, because AWS APIs (CloudWatchLogs
   for example) isn't able to transform String to long (we get an API error)
 - Refactored the config attribute of the Paws class. Also documented what you can configure from
   the config, so now the "config" is official.
 - BugFix: some Map attributes in JSON APIs were incorrectly being created as Maps of Strings, instead of Maps of Objects.
   Affected APIs are: CloudSearchDomain, CloudWatchLogs, CognitoIdentity, Config, DataPipeline, DynamoDB, EMR, Kinesis
   MachineLearning, OpsWorks, S3 and StorageGateway.

0.08 19 May 2015 22:12:00
 - EC2 SpotFleet API calls
 - Opsworks support for Windows
 - Update to ElasticBeanstalk API (ResourceName)
 - UserAgent now report Paws version number

0.07 15 May 2015 19:30:00
 - Generate META.yml
 - Add LICENSE info
 - Packaging corrections
 - Lots of documentation updates
 - Support for new features in CloudWatchLogs, EC2 (VPC endpoint support), CloudFormation
 - New API: Paws::DS (Directory Service)

0.06 5 May 2015 23:30:00
 - Fix Map handling in JsonCaller (and add tests)
 - Add META.* information for CPAN packaging (CHORNY)
 - Fix cpanfile dependencies for build/test scenarios (CHORNY)

0.05 3 May 2015 23:00:00
 - Delete files that were leftover from old API generations
 - Update to DynamoDB: support for expressions
 - Adapt API generation to new boto layout

0.04
 - API updates

0.03 10 Apr 2015 22:00:00
 - Service updates
 - Support for new services (like MachineLearning and WorkSpaces)
 - Better documentation for arguments to methods (and caller classes)

0.02 6 Apr 2015 18:30:00
 - Service updates
 - Map types were not being passed correctly to APIs

0.01 2 Apr 2015 02:35:00
 - First version launched to CPAN

2015-02-28
 - The default CredentialProviderChain will now try to read an ini
   file in ~/.aws/credentials with the aws credentials
 - The Credential providers have been moved into Paws::Credential namespace
 - The role that all Credential Providers have to add is now Paws::Credential
2015-02-09
 - Paws->service and $aws->service no longer return a class that
   has to be constructed. Instead they return an INSTANCE of the
   class. Attributes for the constructor can be passed as the 
   subsequent parameters of ->service.
   A method class_for_service returns the service class in the "old"
   fashion
   ->service('X')->new(region => 'Y') is now
   ->service('X', region => 'Y')
   or
   ->class_for_service('X')->new(region => 'Y')

   The recommended one is ->service('X', region => 'Y')
2015-02-10
 - Adding paginators broke lots of classes (not loading)
   deactivated paginators on json, query and restxml classes
   The only guys who conserves paginators is EC2