falcon 0.44.0 → 0.45.0

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
  SHA256:
3
- metadata.gz: deaf700b8a46f5af5e6e1151c0a0708789add0c2e66f4d6048e17da5e7da8c84
4
- data.tar.gz: bac8d213a65f15c4bcc0741e86f357f1158ff2fedacb9480a00ce7ea3498de64
3
+ metadata.gz: 1d8e9452c5073ac195044198c1b7c4739ddf69e0c506b362c401b99e29f71642
4
+ data.tar.gz: b628ae3f08f08c4493cf053ce6a1b258b0671ae81260e625f13adc2fe289552f
5
5
  SHA512:
6
- metadata.gz: 40c405c0e768f68b1a4c56cbf7f155571240b30e8079051243e354596e32db76593929352ca70799d13cedd0fa1fe13afbbfb54edf6d1b0cb0c65d3edf7ea349
7
- data.tar.gz: 9a94416a4b3f82cc34fe61e5b0cf1bdc23ab6c2190ed37d95ff11a9cfb4dfee204c855245d03715cd0d5b63f439451200752240bca2dce58336adc8f84b0c422
6
+ metadata.gz: aa6ed0e298e9f4ee972d30bdb378c119c691ba9c291c6ceb9fec2b2e6476c931c63042ee88f968d2d1c519d243f6a23196e9ce7f679840e9c01897db30987281
7
+ data.tar.gz: 60000766f699c5002bfb069db4ad4324ca8ae9775133bf9cfc3aef53cea0316bba227dd43c1c125773108dfc7e6b15a41e25abd07ea169877cf296a9e186f625
checksums.yaml.gz.sig CHANGED
Binary file
data/changes.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changes
2
2
 
3
+ # v0.45.0
4
+
5
+ ## Compatibility Fixes
6
+
7
+ During the `v0.44.0` release cycle, the workflows for testing older rack releases were accidentally dropped. As such, `v0.44.0` was not compatible with older versions of rack. This release restores compatibility with older versions of rack.
8
+
9
+ Specifically, `protocol-rack` now provides `Protocol::Rack::Adapter.parse_file` to load Rack applications. Rack 2's `Rack::Builder.parse_file` returns both the application and a set of options (multi-value return). Rack 3 changed this to only return the application, as the prior multi-value return was confusing at best. This change allows `protocol-rack` to work with both versions of rack, and `falcon` adopts that interface.
10
+
11
+ In addition, `falcon serve` provides two new options:
12
+
13
+ 1. `--[no]-restart` which controls what happens when `async-container` instances crash. By default, `falcon serve` will restart the container when it crashes. This can be disabled with `--no-restart`.
14
+
15
+ 2. `--graceful-stop [timeout]` which allows you to specify a timeout for graceful shutdown. This is useful when you want to stop the server, but allow existing connections to finish processing before the server stops. This feature is highly experimental and doesn't work correctly in all cases yet, but we are aiming to improve it.
16
+
3
17
  # v0.44.0
4
18
 
5
19
  ## Falcon Host
@@ -42,10 +42,13 @@ module Falcon
42
42
 
43
43
  option '--forks <count>', "Number of forks (hybrid only).", type: Integer
44
44
  option '--threads <count>', "Number of threads (hybrid only).", type: Integer
45
+
46
+ option '--[no]-restart', "Enable/disable automatic restart.", default: true
47
+ option '--graceful-stop <timeout>', "Duration to wait for graceful stop.", type: Float, default: 1.0
45
48
  end
46
49
 
47
50
  def container_options
48
- @options.slice(:count, :forks, :threads)
51
+ @options.slice(:count, :forks, :threads, :restart)
49
52
  end
50
53
 
51
54
  def endpoint_options
@@ -116,7 +119,7 @@ module Falcon
116
119
  buffer.puts "- To reload configuration: kill -HUP #{Process.pid}"
117
120
  end
118
121
 
119
- Async::Service::Controller.run(self.configuration, container_class: self.container_class)
122
+ Async::Service::Controller.run(self.configuration, container_class: self.container_class, graceful_stop: @options[:graceful_stop])
120
123
  end
121
124
  end
122
125
  end
@@ -15,7 +15,7 @@ module Falcon
15
15
  end
16
16
 
17
17
  def rack_app
18
- ::Rack::Builder.parse_file(rackup_path)
18
+ ::Protocol::Rack::Adapter.parse_file(rackup_path)
19
19
  end
20
20
 
21
21
  def middleware
@@ -4,5 +4,5 @@
4
4
  # Copyright, 2017-2024, by Samuel Williams.
5
5
 
6
6
  module Falcon
7
- VERSION = "0.44.0"
7
+ VERSION = "0.45.0"
8
8
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: falcon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.44.0
4
+ version: 0.45.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -57,7 +57,7 @@ cert_chain:
57
57
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
58
58
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
59
59
  -----END CERTIFICATE-----
60
- date: 2024-03-25 00:00:00.000000000 Z
60
+ date: 2024-04-03 00:00:00.000000000 Z
61
61
  dependencies:
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: async
@@ -79,14 +79,14 @@ dependencies:
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.17'
82
+ version: '0.18'
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.17'
89
+ version: '0.18'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: async-http
92
92
  requirement: !ruby/object:Gem::Requirement
@@ -205,28 +205,28 @@ dependencies:
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '0.1'
208
+ version: '0.5'
209
209
  type: :runtime
210
210
  prerelease: false
211
211
  version_requirements: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '0.1'
215
+ version: '0.5'
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: samovar
218
218
  requirement: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: '2.1'
222
+ version: '2.3'
223
223
  type: :runtime
224
224
  prerelease: false
225
225
  version_requirements: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - "~>"
228
228
  - !ruby/object:Gem::Version
229
- version: '2.1'
229
+ version: '2.3'
230
230
  description:
231
231
  email:
232
232
  executables:
metadata.gz.sig CHANGED
Binary file