This project uses Semantic Versioning.
- Fix broken build
- Automatically detect Middleman generated websites
- A new fix based on laurilehmijoki#181 (comment)
-
Prevent runaway recursion in file listing
See laurilehmijoki#181 for discussion
- Add the
s3_key_prefix
setting
- Support glob hashes in
cache_control
- Add setting
cache_control
-
Detect changed file even though the file has the same contents with another file on the S3 bucket
See laurilehmijoki#156 for discussion.
- URL encode (ä|ö|ü) in invalidation path
-
URL encode ' in invalidation path
See laurilehmijoki#63 for discussion.
-
Accept ' in
exclude_from_upload
andignore_on_server
-
Fix bug where the setting
cloudfront_invalidate_root: true
resulted in a CloudFront invalidation even if there were no changes to push.See laurilehmijoki#149 for discussion.
-
Change CloudFront
OriginProtocolPolicy
tohttp-only
See laurilehmijoki#152 for discussion.
- Automatically gzip
.ico
files, ifgzip: true
-
Null-check the result of File.listFiles
See laurilehmijoki#145 for discussion.
- Remove superfluous dot from error message
-
Show a helpful error message if the configured site is missing
See laurilehmijoki#144 for discussion.
-
Support valid URI characters in max_age glob
See laurilehmijoki#140 for discussion.
-
Fix Windows issue
See laurilehmijoki#105 for discussion.
-
Loosen dependency requirements
See laurilehmijoki#135 for discussion.
-
Add setting
treat_zero_length_objects_as_redirects
Before,
s3_website push
always uploaded one zero-length object for each configured redirect. From now on, you can instruct s3_website to treat zero-length S3 objects as existing redirects. If you have a large amount of redirects on your site, you may find that this feature decreases the duration ofs3_website push
.See laurilehmijoki#132 for discussion.
-
Always invalidate the object /index.html if the setting
cloudfront_invalidate_root
is onSee laurilehmijoki#130 for discussion
- Support
--config-dir
incfg apply
- Print Would have updated|redirected|created when running with
--dry-run
-
Add
push --force
optionWhen the user pushes with force, s3_website skips the diff. This is helpful for the users who wish to update the S3 object metadata.
-
Add
ignore_on_server: _DELETE_NOTHING_ON_THE_S3_BUCKET_
for the sake of convenienceSee laurilehmijoki#121 for discussion.
- Add Windows support
- The command
s3_website cfg apply
now supports--headless
and--autocreate-cloudfront-dist
-
Specify the location of the website in the s3_website.yml file
Just add the setting
site: path-to-your-website
into the file. -
Fix Nanoc auto detection
Previously, a website in public/output was not automatically detected.
-
Support non-US-ASCII files when using
ignore_on_server
Fixes laurilehmijoki#102
-
Support non-US-ASCII files when using
max_age
Fixes laurilehmijoki#102
-
Hide false AWS SDK alarms
Fixes laurilehmijoki#104
-
Print JVM stack trace on error and
--verbose
This eases debugging
-
Exit with status 1 when encountering an unrecognised CLI option
Fixes laurilehmijoki#103
-
Fix documentation for the
--config-dir
optionThe
--config_dir
option has changed to--config-dir
in version 2 of this gem.
- Remove warning on Ruby 1.8
- Separate development and production code more clearly in the s3_website executable
- Remove unused code in the s3_website executable
-
Remove local db
It turned out to be too complex to maintain
- Automatically add slash to redirects if needed
- Target JVM 1.6 in build.sbt
- Fix reason-for-upload message
- Fix boolean logic in reason-for-upload
- Show a more informative message if the jar file is corrupted.
- Verify that the s3_website.jar is not corrupted. Download it again, if it is.
- Show the upload reason when calling
push --verbose
- Rename binary s3_website_monadic to s3_website
-
Faster uploads for extra large sites
Use proper multithreading with JVM threads.
-
Simulate deployments with
push --dry-run
-
Support CloudFront invalidations when the site contains over 3000 files
-
Display transferred bytes
-
Display upload speed
-
push --verbose
switch
-
Fault tolerance – do not crash if one of the uploads fails
Before, the push command crashed if something unexpected happened. From now on, s3_website will run all the operations it can, and report errors in the end.
-
The
push
command is now written in ScalaThis means that you need Java 1.6 or above to run the command
s3_website push
.
-
extensionless_mime_type
s3_website now relies on Apache Tika to infer the mime type.
-
the
--headless
switch on the command-lines3_website always deletes the files that are on the S3 bucket but not on the local file system. Use the settings
ignore_on_server
andexclude_from_upload
to control the retained files. -
You can no longer use this gem as a Ruby library. You can migrate by calling the
s3_website push --site=x --config-dir=y
system command from your Ruby code. -
gzip_zopfli: true
At the time of writing, there does not exist a stable zopfli implementation for Java.
- The option
--config_dir
has changed to--config-dir
- Do not push the .env file
- Add support for (dotenv)[https://github.com/bkeepers/dotenv]
- Remove a test setting from Gemfile
-
Improve significantly the performance of the push command.
See laurilehmijoki#88 for more info.
- Fix issue laurilehmijoki#83
-
Fix Digest::Digest deprecation warn on Ruby 2.1.0
This warning did appear then one used the
cfg create
orcfg apply
commands.
- This release contains no code changes (the indended change is in the 1.7.3 release)
- Do not override ERB when adding CloudFront dist
- Add zopfli compression support
- Depend on any 1-series version of the aws-sdk gem
- Fix bug laurilehmijoki#63
- Loosen the dependency spec of mime-types (#70)
- Fix bug laurilehmijoki#38
- Fix Digest::Digest deprecation warn on Ruby 2.1.0
- Fix content-type problem (laurilehmijoki#66)
- Support the eu-west-1 location constraint for the commands
cfg apply
andcfg create
- Mark all text documents as UTF-8 encoded
- In case of error, exit with status 1
-
Add systematic error handling
Fixes issue laurilehmijoki#52.
- Invalidate a deleted file on CloudFront
- Fix issue laurilehmijoki#54
- Fix issue laurilehmijoki#30
- Add support for excluding files from upload
- s3_website.yml now supports
exclude_from_upload
- Support multiple values on the
ignore_on_server
setting
- Add support for specifying the MIME type for extensionless files
- If max-age=0, set
Cache-Control: no-cache, max-age=0
- Add support for eu-west-1 as a location constraint
-
Decrease the default concurrency level to 3
See laurilehmijoki#8 (comment) for discussion.
- Fix
s3_website cfg apply
for CloudFront setup (#33)
-
Fix diff for Windows users
See laurilehmijoki#8 (comment) for discussion.
- Add setting
cloudfront_invalidate_root
- Move blacklist filtering into a better place
- Print to stdout the initial state of the diff progress indicator
- Show a progress indicator when calculating diff
- Use
print
instead ofputs
when printing to stdout in a concurrent context
- Use the
--config_dir
CLI option to specify the directory from where to read thes3_website.yml
config file
- Mention the MIT license in the gemspec file
- Mention the new
concurrency_level
setting in the sample config file
- Add possibility to define the concurrency level in s3_website.yml
- Reject blacklisted files in a more appropriate place
- Never upload the file s3_website.yml
- Set default concurrency level to 100. Related to issue #6.
- Make 0.4.0 the version 1.0.0
- Include the available configs in the sample s3_website.yml file
- Add Nanoc support
- Remove Gemfile.lock
- Rename gemspec file
- Add command
s3_website cfg apply
- First version