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

124 lines
3 KiB
Org Mode

* Changelog
All notable changes to this project will be documented in this file.
The format is based on [[https://keepachangelog.com/en/1.0.0/][Keep a Changelog]], and this project adheres to
[[https://semver.org/spec/v2.0.0.html][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