tus-server 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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