thorp/CHANGELOG.org
Paul Campbell b15350d959
Sync more than one source directory into a single bucket/prefix (#25)
* [changelog] updated

* [readme] updated

* [core] ConfigQuery added sources()

* [cli] ParseArgs allow specifying multiple sources

* [domain,core,cli] Source datatype changed to Path

* [domain] Sources added to hold multiple paths in order

* [domain] Config sources change datatype to Sources

* [core] Scan sources for .thorp.config and include any sources listed

This allows the inclusion of a `.thorp.config` file in a source with a
single line `source = ....` that causes that other source to also be
synched into the same remote prefix as the current source.

* [core] ConfigurationBuilderTest add more pending tests

* [[core] ConfigurationBuilderTest rewrite using loan-pattern for fixtures

* [core] ConfigOptionTest use TemporaryFolder

* [core] ConfigOptionTest remove unused fields

* [cli] ParseArgsTest don't use get on an Option

* [core] ConfigurationBuilderTest don't use get on Either

* [core] TemporaryFolder Move import to top of file

* [core] TemporaryFolder use Try over try-finally

* [core] ConfigurationBuilderTest don't use get on Either

* [core] TemporaryFolders.withDirectory propogate errors

* [core] TemporaryFolders add writeFile and createFile

* [core] PlanBuilderTest create a plan with two sources with unique files in both

* [core] ActionGenerator only upload file by name in first source

create a plan
  two sources
    same filename in both
    - only upload file in first source

* [domain] LastModified with no params is now()

* [core] PlanBuilderTest 2 sources w/remote only in 2nd src do nothing

* [core] PlanBuilderTest 2 sources w/remote only in 2nd src do nothing

* [domain] RemoteKey map to a file when prefix is empty

* [domain] S3ObjectData defaults to empty

* [core] KeyGenerator Avoid delimiter when empty prefix key

* [core] PlanBuilderTest when remote not in sources delete from remote

* [core] PlanBuilderTest extract helper md5Hash()

* [core] PlanBuilderTest one source a file no matching remote key

* [core] PlanBuildingTest file with matching key and hash do nothing

* [core] PlanBuilderTest file w/matching remote key and different hash

* [core] PlanBuilderTest a remote key with and without local file

* [core] DummyStorageService Use wildcards when selecting more than 6 elements
2019-07-12 07:42:42 +01:00

3 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.7.0] - 2019-07-??

Added

  • Add a version command-line option (#99)
  • Add a batch mode (#85)
  • Display total size and progress for entire run (#94)
  • Sync more than one source directory into a single bucket/prefile (#25)

[0.6.1] - 2019-07-03

Fixed

  • Release to sonatype using correct profile name (#102)

[0.6.0] - 2019-06-30

Added

  • Abstraction layer encapsulating S3 as Storage (#76)
  • Display simple error message when bucket is invalid (#81)
  • Shutdown storage service once completed (#88)
  • Release snapshots to sonatype from TravisCI (#92)
  • Embed launch script in fat-jar (#98)

Fixed

  • Use correct hash locally for comparing multi-part uploaded files (#82)
  • Handle large list of action in a stack-safe manner (#93)

Dependencies

  • Upgrade scalamock from 4.2.0 to 4.3.0 (#84)
  • Upgrade aws-java-sdk-s3 from 1.11.573 to 1.11.580 (#86)

[0.5.0] - 2019-06-21

Added

  • Add thorp-lib module (#66)
  • Enable running outside of sbt (#55)
  • -d, --debug flag for log messages (#60)
  • Read config from .thorp.conf in source directory (#71)
  • Read config from $HOME/.config/thorp.conf and /etc/thorp.conf (#73)
  • Add --no-global and --no-user options (#50)
  • Display any upload errors in summary report (#50)

Changed

  • Rename project as 'thorp' (#75)
  • Suppress Transfer event messages (#64)
  • Better error message when source not found (#51)
  • Reduced logging (#59)
  • Prevent AWS SDK from recalculating MD5 hash (#50)

Fixed

  • Error when calculating md5 hash for large files (#56)

Removed

  • -v verbosity flag (#63)

Dependencies

  • Upgrade aws-java-sdk-s3 from 1.11.569 to 1.11.570 (#57)

[0.4.0] - 2019-06-11

Added

  • Multi-part uploads
  • --include to select files for synchronisation
  • Upload progress bar

Changed

  • --filter renamed to -exclude

Fixed

  • Fetch md5 hashes for all remote objects, not just the first 1000
  • Handle when a file goes away between scanning and uploading

Dependencies

  • Removed reactive-aws-s3-{core,cats} and the AWS SDK v2 that it depended upon in favour of the AWS SDK v1
  • Upgrade aws-java-sdk-s3 from 1.11.560 to 1.11.569
  • Upgrade cats-effect from 1.2.0 to 1.3.1
  • Upgade scalatest from 3.0.7 to 3.0.8

[0.3.0] - 2019-05-23

Added

  • Filter to exclude files

[0.2.0] - 2019-05-22

Added

  • Display count of the number of files uploaded

Changed

  • Improved performance by fetching all MD5 hashes from S3 in single request at startup

[0.1.0] - 2019-05-13

Added

  • Initial Release
  • Synchronise files with an S3 bucket, using an MD5 hash to identify when the file has changed and needs to be uploaded