Releases: C2FO/vfs
Add mem backend
[5.2.0] - 2019-07-16
Added
- In-Memory backend vfs implementation
- Included the in-memory backend to the list of registered backends used in backend_integration_test
- Checking for existence at the start of various File functions (size, seek, etc) and returning and error if the file does not exist on the OS backend
- Tests in backend_integration_test that ensure that operations done on non-existent files throw an error
- mem.md in vfs/docs, updated link to it in the README.md
Fixed
- Relative path validation in utils.go now disallows empty names
Changed
- utils_test.go now expects an empty string NOT to validate
- updated README to include "Touch()" definition under the File interface rather than the Location interface
- updated README to exclude "in-memory-backend" from the list of ideas
Refactor for consistency
Added Touch()
Refactored for consistency between backends
Updated docs.
Added more tests.
Added integration test suite that tests every implementation against interface expectations and against each other.
VFS Retry Option
Release Notes
- Added the Retry() method to the FileSystem interface, along with a no-op default retryer.
- Integrated the newly defined retryer interface into the GCS implementation of VFS and now allow the retry method to be injected as a FileSystem option.
- Integrated the request.Retryer from the s3 client as an injectable implementation for the S3 vfs.Option.
Upgrade steps
With v4.0.0, we introduced the ability to add a 'retry' option to each registered file system. This version bump will require an update to any existing FileSystem implementations. If a custom retryer is not required by the implemented file system, the default retryer can be returned.
func (fs *FileSystem) Retry() vfs.Retry {
return vfs.DefaultRetryer()
}
Release of go modules compliant v3
Merge pull request #16 from C2FO/v3 Initial release of v3 go module
Remove go modules from v2
- Remove go modules from v2 since we don't prefix path with
/v2
.
See github.com//issues/14.
Bugfix for gcs Path()
Fixed issue where there is an extraneous leading slash when calling location.Path() for GCS locations.
Improved the discoverability of registered filesystems at the location-level.
Minor updates
Added awesome-go badge.
Fixed more spelling errors across codebase.
Refactored s3.Options getClient() func to be easier to understand.
fix docs
Updated vfssimiple factory
Updated the vfssimple factory's ability to discover registered backends based on a provided URI.
v2.0.1: Merge pull request #6 from C2FO/fix_s3_option
fix s3 option bug