Skip to content

Commit 45c1698

Browse files
committed
Bump minor version.
1 parent 142613d commit 45c1698

File tree

3 files changed

+59
-23
lines changed

3 files changed

+59
-23
lines changed

lib/falcon/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
# Copyright, 2017-2024, by Samuel Williams.
55

66
module Falcon
7-
VERSION = "0.48.6"
7+
VERSION = "0.49.0"
88
end

readme.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ Please see the [project documentation](https://socketry.github.io/falcon/) for m
4545

4646
Please see the [project releases](https://socketry.github.io/falcon/releases/index) for all releases.
4747

48+
### v0.49.0
49+
50+
- [Falcon Server Container Health Checks](https://socketry.github.io/falcon/releases/index#falcon-server-container-health-checks)
51+
- [Falcon Server Process Title](https://socketry.github.io/falcon/releases/index#falcon-server-process-title)
52+
4853
### v0.48.4
4954

5055
- Improve compatibility of rackup handler w.r.t. sinatra.
@@ -53,6 +58,39 @@ Please see the [project releases](https://socketry.github.io/falcon/releases/ind
5358

5459
- Fix Falcon Supervisor implementation: due to invalid code, it was unable to start.
5560

61+
### Compatibility Fixes
62+
63+
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.
64+
65+
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.
66+
67+
### Falcon Serve Options
68+
69+
In addition, `falcon serve` provides two new options:
70+
71+
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`.
72+
73+
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.
74+
75+
### Falcon Host
76+
77+
`async-service` is a new gem that exposes a generic service interface on top of `async-container`. Previously, `falcon host` used `async-container` directly and `build-environment` for configuration. In order to allow for more generic service definitions and configuration, `async-service` now provides a similar interface to `build-environment` and exposes this in a way that can be used for services other tha falcon. This makes it simpler to integrate multiple services into a single application.
78+
79+
The current configuration format uses definitions like this:
80+
81+
``` ruby
82+
rack 'hello.localhost', :self_signed_tls
83+
```
84+
85+
This changes to:
86+
87+
``` ruby
88+
service 'hello.localhost' do
89+
include Falcon::Environment::Rack
90+
include Falcon::Environment::SelfSignedTLS
91+
end
92+
```
93+
5694
## Contributing
5795

5896
We welcome contributions to this project.

releases.md

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Releases
22

3-
## Unreleased
3+
## v0.49.0
44

55
### Falcon Server Container Health Checks
66

@@ -12,23 +12,21 @@
1212

1313
The Falcon server process title is now updated periodically (alongside the health check) to include information about the numnber of connections and requests.
1414

15-
```
16-
12211 ttys002 0:00.28 /Users/samuel/.gem/ruby/3.4.1/bin/falcon serve --bind http://localhost:8000
17-
12213 ttys002 0:04.14 http://localhost:8000 (C=2/2 R=0/49.45K L=0.353)
18-
12214 ttys002 0:07.22 http://localhost:8000 (C=5/6 R=0/112.97K L=0.534)
19-
12215 ttys002 0:05.41 http://localhost:8000 (C=3/3 R=0/71.7K L=0.439)
20-
12216 ttys002 0:06.46 http://localhost:8000 (C=4/5 R=0/93.22K L=0.493)
21-
12217 ttys002 0:02.58 http://localhost:8000 (C=1/1 R=0/24.9K L=0.251)
22-
12218 ttys002 0:05.44 http://localhost:8000 (C=3/3 R=0/72.12K L=0.439)
23-
12219 ttys002 0:06.47 http://localhost:8000 (C=4/4 R=0/93.13K L=0.493)
24-
12220 ttys002 0:04.03 http://localhost:8000 (C=2/2 R=0/47.37K L=0.357)
25-
12221 ttys002 0:06.41 http://localhost:8000 (C=4/4 R=0/92.46K L=0.494)
26-
12222 ttys002 0:06.38 http://localhost:8000 (C=4/4 R=0/91.71K L=0.495)
27-
```
28-
29-
- **C** – Connections: `(current/total)` connections accepted by the server
30-
- **R** – Requests: `(current/total)` requests processed by the server
31-
- **L** – Scheduler Load: A floating-point value representing the event loop load
15+
12211 ttys002 0:00.28 /Users/samuel/.gem/ruby/3.4.1/bin/falcon serve --bind http://localhost:8000
16+
12213 ttys002 0:04.14 http://localhost:8000 (C=2/2 R=0/49.45K L=0.353)
17+
12214 ttys002 0:07.22 http://localhost:8000 (C=5/6 R=0/112.97K L=0.534)
18+
12215 ttys002 0:05.41 http://localhost:8000 (C=3/3 R=0/71.7K L=0.439)
19+
12216 ttys002 0:06.46 http://localhost:8000 (C=4/5 R=0/93.22K L=0.493)
20+
12217 ttys002 0:02.58 http://localhost:8000 (C=1/1 R=0/24.9K L=0.251)
21+
12218 ttys002 0:05.44 http://localhost:8000 (C=3/3 R=0/72.12K L=0.439)
22+
12219 ttys002 0:06.47 http://localhost:8000 (C=4/4 R=0/93.13K L=0.493)
23+
12220 ttys002 0:04.03 http://localhost:8000 (C=2/2 R=0/47.37K L=0.357)
24+
12221 ttys002 0:06.41 http://localhost:8000 (C=4/4 R=0/92.46K L=0.494)
25+
12222 ttys002 0:06.38 http://localhost:8000 (C=4/4 R=0/91.71K L=0.495)
26+
27+
- **C** – Connections: `(current/total)` connections accepted by the server
28+
- **R** – Requests: `(current/total)` requests processed by the server
29+
- **L** – Scheduler Load: A floating-point value representing the event loop load
3230

3331
## v0.48.4
3432

@@ -50,9 +48,9 @@ Specifically, `protocol-rack` now provides `Protocol::Rack::Adapter.parse_file`
5048

5149
In addition, `falcon serve` provides two new options:
5250

53-
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`.
51+
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`.
5452

55-
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.
53+
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.
5654

5755
# v0.44.0
5856

@@ -62,13 +60,13 @@ In addition, `falcon serve` provides two new options:
6260

6361
The current configuration format uses definitions like this:
6462

65-
```ruby
63+
``` ruby
6664
rack 'hello.localhost', :self_signed_tls
6765
```
6866

6967
This changes to:
7068

71-
```ruby
69+
``` ruby
7270
service 'hello.localhost' do
7371
include Falcon::Environment::Rack
7472
include Falcon::Environment::SelfSignedTLS

0 commit comments

Comments
 (0)