tus-server 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 442ef1e80df65be32c00369045fc913e0e3918d9
4
- data.tar.gz: a7ec93753a850127c513a2e6c78ea836b6b385f7
3
+ metadata.gz: 37df5f3056cadbbdf3b73e78a24894232584f184
4
+ data.tar.gz: 6b04e64b37d3f95e4e8f458866313338a97ce060
5
5
  SHA512:
6
- metadata.gz: 3e133a433ad8a69e4ead5a422e557c1f8ecd22a44b89189dc44c7286e878a711c66fe80e652d86f69049055ea32e3d8d1cc14220c79c20450f8002228f5bbe5f
7
- data.tar.gz: 06b7c3d32cd1f2d41bea80bef5d2c5a2bcb7f4c09e4fa8b730ff5385bf9ffe5834db0fb27553ffffebfe4043c8b99c6fe8baea42e33fad4d63b7a5b755a0faeb
6
+ metadata.gz: ac910fc9997db3a4f99b5d56529e16c60cd596e0a29ec7b18bd3c60936c9d31a3662988183382c0ffef5664766eb439de73fad2d02fdd499953580855b9b4b1d
7
+ data.tar.gz: 20ae1bbce665211819fc2921a247bb89990f89bf985d25c245cfa7b26970a90eef2cc0ce1631c5567357252e91b45b5f3a2bf19f45f25f51b352c4c85fc1064f
@@ -0,0 +1,151 @@
1
+ ## 1.2.1 (2017-11-05)
2
+
3
+ * Improve communication when handling `aws-sdk 2.x` fallback in `Tus::Storage::S3` (@janko-m)
4
+
5
+ ## 1.2.0 (2017-09-18)
6
+
7
+ * Deprecate `aws-sdk` 2.x in favour of the new `aws-sdk-s3` gem (@janko-m)
8
+
9
+ ## 1.1.3 (2017-09-17)
10
+
11
+ * Return `Accept-Ranges: bytes` response header in download endpoint (@janko-m)
12
+
13
+ ## 1.1.2 (2017-09-12)
14
+
15
+ * Add support for the new `aws-sdk-s3` gem (@janko-m)
16
+
17
+ ## 1.1.1 (2017-07-23)
18
+
19
+ * Restore backwards compatibility with MRI 2.1 and MRI 2.2 that was broken in previous release (@janko-m)
20
+
21
+ ## 1.1.0 (2017-07-23)
22
+
23
+ * Ignore retryable networking errors in `Tus::Storage::S3#patch_file` for resiliency (@janko-m)
24
+
25
+ * Deprecate `Tus::Server::Goliath` in favour of [goliath-rack_proxy](https://github.com/janko-m/goliath-rack_proxy) (@janko-m)
26
+
27
+ * Reduce string allocations in MRI 2.3+ with `frozen-string-literal: true` magic comments (@janko-m)
28
+
29
+ ## 1.0.0 (2017-07-17)
30
+
31
+ * Add Goliath integration (@janko-m)
32
+
33
+ * [BREAKING] Save data in `"#{uid}"` instead of `"#{uid}.file"` in `Tus::Storage::Filesystem` (@janko-m)
34
+
35
+ * Modify S3 storage to cache chunks into memory instead of disk, which reduces disk IO (@janko-m)
36
+
37
+ * [BREAKING] Require each storage to return the number of bytes uploaded in `#patch_file` (@janko-m)
38
+
39
+ * Make S3 storage upload all received data from `tus-js-client` that doesn't have max chunk size configured (@janko-m)
40
+
41
+ * Verify that all partial uploads have `Upload-Concat: partial` before concatenation (@janko-m)
42
+
43
+ * Include CORS and tus response headers in 404 responses (@janko-m)
44
+
45
+ * Improve streaming on dynamic Rack inputs such as `Unicorn::TeeInput` for S3 and Gridfs storage (@janko-m)
46
+
47
+ * Terminate HTTP connection to S3 when response is closed (@janko-m)
48
+
49
+ * Allow `Transfer-Encoding: chunked` to be used, meaning `Content-Length` can be blank (@janko-m)
50
+
51
+ * Remove newlines from the base64-encoded CRC32 signature (@janko-m)
52
+
53
+ * Lazily require `digest`, `zlib`, and `base64` standard libraries (@janko-m)
54
+
55
+ ## 0.10.2 (2017-04-19)
56
+
57
+ * Allow empty metadata values in `Upload-Metadata` header (@lysenkooo)
58
+
59
+ ## 0.10.1 (2017-04-13)
60
+
61
+ * Fix download endpoint returning incorrect response body in some cases in development (@janko-m)
62
+
63
+ * Remove `concatenation-unfinished` from list of supported extensions (@janko-m)
64
+
65
+ ## 0.10.0 (2017-03-27)
66
+
67
+ * Fix invalid `Content-Disposition` header in GET requests to due mutation of `Tus::Server.opts[:disposition]` (@janko-m)
68
+
69
+ * Make `Response` object from `Tus::Server::S3` also respond to `#close` (@janko-m)
70
+
71
+ * Don't return `Content-Type` header when there is no content returned (@janko-m)
72
+
73
+ * Return `Content-Type: text/plain` when returning errors (@janko-m)
74
+
75
+ * Return `Content-Type: application/octet-stream` by default in the GET endpoint (@janko-m)
76
+
77
+ * Make UNIX permissions configurable via `:permissions` and `:directory_permissions` in `Tus::Storage::Filesystem` (@janko-m)
78
+
79
+ * Apply UNIX permissions `0644` for files and `0777` for directories in `Tus::Storage::Filesystem` (@janko-m)
80
+
81
+ * Fix `creation-defer-length` feature not working with unlimited upload size (@janko-m)
82
+
83
+ * Make the filesize of accepted uploads unlimited by default (@janko-m)
84
+
85
+ * Modify tus server to call `Storage#finalize_file` when the last chunk was uploaded (@janko-m)
86
+
87
+ * Don't require length of uploaded chunks to be a multiple of `:chunkSize` in `Tus::Storage::Gridfs` (@janko-m)
88
+
89
+ * Don't infer `:chunkSize` from first uploaded chunk in `Tus::Storage::Gridfs` (@janko-m)
90
+
91
+ * Add `#length` to `Response` objects returned from `Storage#get_file` (@janko-m)
92
+
93
+ ## 0.9.1 (2017-03-24)
94
+
95
+ * Fix `Tus::Storage::S3` not properly supporting the concatenation feature (@janko-m)
96
+
97
+ ## 0.9.0 (2017-03-24)
98
+
99
+ * Add Amazon S3 storage under `Tus::Storage::S3` (@janko-m)
100
+
101
+ * Make the checksum feature actually work by generating the checksum correctly (@janko-m)
102
+
103
+ * Make `Content-Disposition` header on the GET endpoint configurable (@janko-m)
104
+
105
+ * Change `Content-Disposition` header on the GET endpoint from "attachment" to "inline" (@janko-m)
106
+
107
+ * Delegate concatenation logic to individual storages, allowing the storages to implement it much more efficiently (@janko-m)
108
+
109
+ * Allow storages to save additional information in the info hash (@janko-m)
110
+
111
+ * Don't automatically delete expired files, instead require the developer to call `Storage#expire_files` in a recurring task (@janko-m)
112
+
113
+ * Delegate expiration logic to the individual storages, allowing the storages to implement it much more efficiently (@janko-m)
114
+
115
+ * Modify storages to raise `Tus::NotFound` when file wasn't found (@janko-m)
116
+
117
+ * Add `Tus::Error` which storages can use (@janko-m)
118
+
119
+ * In `Tus::Storage::Gridfs` require that each uploaded chunk except the last one can be distributed into even Mongo chunks (@janko-m)
120
+
121
+ * Return `403 Forbidden` in the GET endpoint when attempting to download an unfinished upload (@janko-m)
122
+
123
+ * Allow client to send `Upload-Length` on any PATCH request when `Upload-Defer-Length` is used (@janko-m)
124
+
125
+ * Support `Range` requests in the GET endpoint (@janko-m)
126
+
127
+ * Stream file content in the GET endpoint directly from the storage (@janko-m)
128
+
129
+ * Update `:length`, `:uploadDate` and `:contentType` Mongo fields on each PATCH request (@janko-m)
130
+
131
+ * Insert all sub-chunks in a single Mongo operation in `Tus::Storage::Gridfs` (@janko-m)
132
+
133
+ * Infer Mongo chunk size from the size of the first uploaded chunk (@janko-m)
134
+
135
+ * Add `:chunk_size` option to `Tus::Storage::Gridfs` (@janko-m)
136
+
137
+ * Avoid reading the whole request body into memory by doing streaming uploads (@janko-m)
138
+
139
+ ## 0.2.0 (2016-11-23)
140
+
141
+ * Refresh `Upload-Expires` for the file after each PATCH request (@janko-m)
142
+
143
+ ## 0.1.1 (2016-11-21)
144
+
145
+ * Support Rack 1.x in addition to Rack 2.x (@janko-m)
146
+
147
+ * Don't return 404 when deleting a non-existing file (@janko-m)
148
+
149
+ * Return 204 for OPTIONS requests even when the file is missing (@janko-m)
150
+
151
+ * Make sure that none of the "empty status codes" return content (@janko-m)
data/README.md CHANGED
@@ -68,7 +68,7 @@ app:
68
68
  ```rb
69
69
  # Gemfile
70
70
  gem "tus-server", "~> 1.0"
71
- gem "goliath-rack_proxy"
71
+ gem "goliath-rack_proxy", "~> 1.0"
72
72
  ```
73
73
  ```rb
74
74
  # tus.rb
@@ -292,8 +292,11 @@ knows how to expire old files, so you just have to set up a recurring task
292
292
  that will call `#expire_files`.
293
293
 
294
294
  ```rb
295
- expiration_date = Time.now.utc - Tus::Server.opts[:expiration_time]
296
- Tus::Server.opts[:storage].expire_files(expiration_date)
295
+ expiration_time = Tus::Server.opts[:expiration_time]
296
+ tus_storage = Tus::Server.opts[:storage]
297
+ expiration_date = Time.now.utc - expiration_time
298
+
299
+ tus_storage.expire_files(expiration_time)
297
300
  ```
298
301
 
299
302
  ## Download
@@ -1,13 +1,18 @@
1
1
  # frozen-string-literal: true
2
+
2
3
  begin
3
4
  require "aws-sdk-s3"
4
5
  if Gem::Version.new(Aws::S3::GEM_VERSION) < Gem::Version.new("1.2.0")
5
6
  raise "Tus::Storage::S3 requires aws-sdk-s3 version 1.2.0 or above"
6
7
  end
7
- rescue LoadError
8
- warn "Using aws-sdk 2.x is deprecated and support for it will be removed in tus-server 2.0, use the new aws-sdk-s3 gem instead."
9
- require "aws-sdk"
10
- Aws.eager_autoload!(services: ["S3"])
8
+ rescue LoadError => exception
9
+ begin
10
+ require "aws-sdk"
11
+ warn "Using aws-sdk 2.x is deprecated and support for it will be removed in tus-server 2.0, use the new aws-sdk-s3 gem instead."
12
+ Aws.eager_autoload!(services: ["S3"])
13
+ rescue LoadError
14
+ raise exception
15
+ end
11
16
  end
12
17
 
13
18
  require "tus/info"
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |gem|
2
2
  gem.name = "tus-server"
3
- gem.version = "1.2.0"
3
+ gem.version = "1.2.1"
4
4
 
5
5
  gem.required_ruby_version = ">= 2.1"
6
6
 
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
11
11
  gem.email = ["janko.marohnic@gmail.com"]
12
12
  gem.license = "MIT"
13
13
 
14
- gem.files = Dir["README.md", "LICENSE.txt", "lib/**/*.rb", "*.gemspec"]
14
+ gem.files = Dir["README.md", "LICENSE.txt", "CHANGELOG.md", "lib/**/*.rb", "*.gemspec"]
15
15
  gem.require_path = "lib"
16
16
 
17
17
  gem.add_dependency "roda", "~> 2.19"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tus-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janko Marohnić
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-18 00:00:00.000000000 Z
11
+ date: 2017-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: roda
@@ -115,6 +115,7 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
+ - CHANGELOG.md
118
119
  - LICENSE.txt
119
120
  - README.md
120
121
  - lib/tus-server.rb