forked from archiecobbs/s3backer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
264 lines (191 loc) · 11.3 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
Version Next
- Fix bug where "(null)" was appearing in usage message (issue #161).
- Give more meaningful usage error when size limits are exceeded (issue #162)
- Added flag "--http11" to restrict cURL to HTTP 1.1 (issue #168)
- Added man page reference to Linux bcache (issue #169)
- Treat 3xx HTTP response codes as errors
Version 1.6.3 released October 2, 2021
- Fixed bug with `--listBlocks' threads doing redundant overlapping queries
- Refactor to support multiple different compression algorithms
- Fixed mutex handling bug in block cache (issue #152)
- Release mutexs prior to destruction (issue #151)
- Fixed use-after-free bug in XML parser (pr #154)
Version 1.6.2 released June 14, 2020
- Require test directory to be absolute unless `-f' flag given (issue #143)
- Show HTTP error response payload content when `--debug-http' flag given
- List blocks in the background; added `--listBlocksThreads' (issue #24)
- Don't let IAM credentials expire while listing blocks (issue #146)
- Fixed bug parsing "--configFile" inside comma-separated option list
Version 1.6.1 released December 30, 2020
- Fixed integer overflow bug setting "x-amz-meta-s3backer-filesize" (issue #141)
Version 1.6.0 released December 23, 2020
- Added `--sse-key-id' flag (issue #137)
- Log a more useful error message when IAM credentials not found (issue #136)
- Warn on startup if disk space is insufficient for disk cache (issue #138)
- Added zero block cache to better handle fstrim operations (issue #139)
Version 1.5.6 released October 30, 2020
- Fixed phantom write error when server-side-encryption used (issue #135)
- Allow bucket names with "subdirectory" for prefix (issue #130)
- Added `--configFile' flag (issue #129)
- Added `--accessKeyEnv' flag (issue #128)
- Removed deprecated `--rrs' flag
Version 1.5.5 released August 22, 2020
- Added `--no-vhost' flag (issue #117)
- Added `--blockCacheNumProtected' flag (pr #119)
- Added `--test-errors', `--test-delays', and `--test-discard'
- Disallow stream encryption ciphers (issue #123)
Version 1.5.4 released October 8, 2019
- Only set "x-amz-server-side-encryption" header with PUT requests (issue #116)
- Don't kill IAM thread unless actually started (issue #115).
Version 1.5.3 released August 9, 2019
- Fixed bug where IAM update thread was killed after fork (issue #115)
- Fixed use-after-free bug in block_cache_verified() (issue #113)
- Fixed use-after-free bug when updating IAM credentials (pr #114)
- Fixed bug in test mode that was causing bogus I/O errors
Version 1.5.2 released July 9, 2019
- Fixed bug where block cache would not work when run in the background (issue #112)
- Fixed bug where we were not parsing HTTP headers case-insensitively (pr #11)
- Bail out during `--listBlocks' if we see an object name past our block range
- Added `--blockHashPrefix' flag (issue #80)
Version 1.5.1 released April 15, 2019
- Fixed a few places where fixed-sized buffers were too small (issue #108)
- Don't claim cache hit if partial write required reading the block (pr #103)
- Exit process with error code if s3backer store setup fails at startup
- Reset statistics if stats file is unlinked (issue #106)
Version 1.5.0 released June 9, 2018
- Add support for recovering dirty blocks in the disk cache (issue #87)
- Replaced boolean 'mounted' flag with a unique 32-bit mount token (issue #87)
- Wait for min_write_delay before access after write error (issue #76)
- Configure TCP keep-alive on HTTP connections (issue #78)
- Added support for server side encryption (pull #81)
Version 1.4.4 released February 1, 2017
- Added `--defaultContentEncoding' for non-compliant backends (issue #68)
- Fixed auth bug when prefix contains URL-encodable char (issue #69)
- Remove restriction preventing streaming encryption modes (issue #70)
Version 1.4.3 released July 25, 2016
- Add support for STANDARD_IA storage class (issue #59)
- Set "Accept-Encoding" header appropriately (issue #48)
- Fix build issue with OpenSSL 1.1.0 (issue #64)
Version 1.4.2 released September 1, 2015
- Update license to fix OpenSSL vs. GPL conflict
- Remove obsolete Debian files
- Fix typos in help output
Version 1.4.1 released May 4, 2015
- Fix use-after-free bug configuring base URL (github issue #44)
Version 1.4.0 released April 17, 2015
- Added support for authentication version 4 (issue #51)
- Added support for credentials via IAM role from EC2 meta-data (issue #48)
- Fixed bug where `--erase' did not clear the mounted flag
- Moved from Google project hosting to GitHub
- Fixed compile problem on FreeBSD
Version 1.3.7 (r496) released 18 July 2013
- Add `--keyLength' for overriding generated encryption key length
Version 1.3.6 (r493) released 16 July 2013
- Fix use of MAX_HOST_NAME in http_io.c (issue #42)
- Fix encryption key generation bug (on some systems)
Version 1.3.5 (r485) released 29 May 2013
- Check for duplicate mount at startup (issue #10)
- Remove obsolete backward-compatibility block size check
Version 1.3.4 (r476) released 2 Apr 2013
- Support FUSE fallocate() call to zero unused blocks
Version 1.3.3 (r463) released 7 Apr 2012
- Fix bug in validation of --baseURL parameter (issue #34)
- Accept 404 Not Found as a valid response to a DELETE (issue #35)
- Added a fix for building on Mac OS X (issue #32)
Version 1.3.2 (r451) released 14 May 2011
- Added `--directIO' flag to disable kernel caching of the backed file.
- Fixed bug where the stats file was not up to date (issue #26).
- Fixed bug with `--blockCacheMaxDirty' not working (issue #25).
- Added automatic block cache disk file resizing (issue #23).
- Added `--maxUploadSpeed' and `--maxDownloadSpeed' flags.
- Added `-rrs' flag to support Reduced Redundancy Storage.
- Fixed missing warning for `--baseURL' when missing trailing slash.
Version 1.3.1 (r413) released 19 Oct 2009
- Added `--blockCacheMaxDirty' flag.
- Fixed cURL handle leak when cancelling in-progress writes.
- Updated Mac OS X build instructions and added Snow Leopard support.
Version 1.3.0 (r392) released 27 Sep 2009
- Added support for local cache files that can persist across restarts.
- Added built-in support for encryption and authentication.
- In-progress writes are now cancelled when a duplicate write occurs.
- Changed default for `--blockCacheWriteDelay' from zero to 250ms.
- Fix obscure and unlikely deadlock bug in ec_protect.c.
- Allow configurable compression level via --compress=LEVEL.
- Fix bug that caused spurious "impossible expected MD5" log messages.
Version 1.2.3 (r333) released 15 May 2009
- Added `--vhost' flag for virtual hosted style URLs in all requests.
- Don't send LOG_DEBUG messages to syslog unless --debug flag given.
- Fix race condition when generating HTTP Date: headers.
- Allow command line flags to be specified in /etc/fstab.
Version 1.2.2 (r316) released 20 Dec 2008
- Added `--compress' flag enabling compression of file blocks.
Note: compressed blocks are not compatible with versions < 1.2.2.
- Disable the MD5 cache when the `--readOnly' flag is given.
- Make `--md5CacheTime=0' really mean `infinite' as promised in man page.
- Added `--debug-http' flag for debugging HTTP headers.
- Don't let block and MD5 caches be configured larger than necessary.
- Fixed a few minor issues with statistics reporting.
Version 1.2.1 (r300) released 23 Oct 2008
- Added `--erase' and `--quiet' command line flags.
- Added `--blockCacheSync' command line flag.
- Fixed extra copying slowdown when using large block sizes (issue #5).
- Eliminate extra copy of blocks when written by block_cache worker threads.
- Fixed bug in EC layer where dirty data might not be flushed at shutdown.
- Fixed bug where 'http' was shown instead of 'https' in mount(8) output
when the --ssl flag was given.
Version 1.2.0 (r248) released 12 Sep 2008
- Use new custom hash table implementation; this removes glib dependency.
- Replaced `--assumeEmpty' flag with safer and more useful `--listBlocks'.
- Fixed bug where the zero block optimization got disabled when the
MD5 cache was disabled.
- Supply `-o allow_other' option by default, since default mode is 0600.
- Fixed bug where cp(1)'ing the backed file gave `Illegal seek' error.
- Use FUSE version 25 API so code builds on older O/S distributions.
Version 1.1.1 (r202) released 5 Aug 2008
- Added `--ssl' as an alias for `--baseURL https://s3.amazonaws.com/'.
- Added `--insecure' and `--cacert' flags to configure cURL SSL checks.
- Implemented `--blockCacheWriteDelay' and `--blockCacheTimeout' flags.
- Implemented read-ahead using `--readAhead' and `--readAheadTrigger' flags.
- Set FUSE max_readahead option to zero by default since we do it too now.
- Added new `--test' flag which turns on local test mode.
- Display the URL, bucket, and prefix in the output of mount(8).
- Fixed bug where an error during auto-detection would cause a segfault.
- Fixed bug where read errors from the underlying store were being ignored
by the block cache layer.
Version 1.1.0 (r150) released 26 July 2008
- Added a block cache with parallel writes which vastly improves performance.
- Added a new `stats' file to the filesystem containing various statistics.
- Added `--noAutoDetect' flag to disable auto-detection at startup.
- Fixed a few small race conditions and memory leaks.
- Return zeroes for unwritten blocks with `assumeEmpty'.
Version 1.0.5 (r111) released 15 July 2008
- Avoid reuse of CURL instance after receiving any HTTP error (issue #3)
- On MacOS, prevent kernel timeouts prior to our own timeout (issue #2)
- Replaced `--connectTimeout' and `--ioTimeout' with `--timeout' because
CURL's I/O timeout includes in it the connection time as well.
Version 1.0.4 (r82) released 9 July 2008
- Retry on all HTTP error codes, not just 500 or greater. Tests show that
a valid request can return a 4xx response due to network issues.
- Added `--fileMode' and `--readOnly' flags.
- Added `--assumeEmpty' flag.
- Support 'E' for 'exabytes'.
- Port to Mac OS (issue #1)
Version 1.0.3 (r39) released 30 June 2008
- Implement exponential backoff: replace ``--maxRetry'' and ``--retryPause''
with ``--initialRetryPause'' and ``--maxRetryPause''.
- Fix `--accessType' flag which was not being properly handled.
- Improvements to the man page.
Version 1.0.2 (r25) released 20 June 2008
- Fix bug in setting User-Agent HTTP header.
- Fix glitch in man page.
Version 1.0.1 (r18) released 20 June 2008
- Store filesystem size in meta-data associated with the first block and
use it to auto-detect filesystem block and file sizes if not specified.
As a result, `--size' flag is now optional.
- Log a warning and zero remaining bytes when we encounter a short read.
- Add User-Agent HTTP header to all HTTP requests.
- Include SVN revision in version string.
- Don't log every HTTP operation unless `-d' is passed.
- Added `--force' flag.
Version 1.0.0 released 19 June 2008
- Initial release