sinatra 2.1.0 → 4.1.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 +4 -4
- data/AUTHORS.md +14 -8
- data/CHANGELOG.md +251 -2
- data/CONTRIBUTING.md +11 -11
- data/Gemfile +55 -69
- data/MAINTENANCE.md +3 -16
- data/README.md +262 -529
- data/Rakefile +82 -79
- data/SECURITY.md +1 -1
- data/VERSION +1 -1
- data/examples/chat.rb +25 -12
- data/examples/lifecycle_events.rb +20 -0
- data/examples/simple.rb +2 -0
- data/examples/stream.ru +2 -2
- data/lib/sinatra/base.rb +531 -384
- data/lib/sinatra/indifferent_hash.rb +48 -40
- data/lib/sinatra/main.rb +18 -16
- data/lib/sinatra/middleware/logger.rb +21 -0
- data/lib/sinatra/show_exceptions.rb +17 -15
- data/lib/sinatra/version.rb +3 -1
- data/lib/sinatra.rb +2 -0
- data/sinatra.gemspec +40 -41
- metadata +60 -43
- data/README.de.md +0 -3239
- data/README.es.md +0 -3202
- data/README.fr.md +0 -3111
- data/README.hu.md +0 -728
- data/README.ja.md +0 -2814
- data/README.ko.md +0 -2967
- data/README.malayalam.md +0 -3141
- data/README.pt-br.md +0 -3787
- data/README.pt-pt.md +0 -791
- data/README.ru.md +0 -3207
- data/README.zh.md +0 -2934
- data/examples/rainbows.conf +0 -3
- data/examples/rainbows.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 491154a9e29e4c218d9245fd73024818e7dfa6c75ba1d74220e46498841bb54e
|
4
|
+
data.tar.gz: 42259b9becde7268d9b95abc783d896c864a6c84b3e1dd6d40d7f351a350f626
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43a69c7f07afab191eacc80d7837d9bdbd81701a51973309395b47e9efacb010234a0a66e27503b6edc213f5f8321e426f2f8ad9f7cc7e247e908613d14081c6
|
7
|
+
data.tar.gz: f2fb4deeb5f8e44a5a6a59663080f143c2a1dac1d21a5ca8301728b265a8ba2fcf3e0815c692af0791230289d4ddaf548a317e2f4295cf24b45e5cdec47dc86e
|
data/AUTHORS.md
CHANGED
@@ -2,31 +2,37 @@ Sinatra was designed and developed by Blake Mizerany in California.
|
|
2
2
|
|
3
3
|
### Current Team
|
4
4
|
|
5
|
-
* **
|
5
|
+
* **Eloy Perez**
|
6
|
+
* **Jordan Owens**
|
7
|
+
* **Olle Jonsson**
|
8
|
+
* **Patrik Ragnarsson**
|
6
9
|
* **Zachary Scott**
|
7
|
-
* **Kashyap Kondamudi**
|
8
|
-
* **Ashley Williams**
|
9
|
-
* **Trevor Bramble**
|
10
|
-
* **Kunpei Sakai**
|
11
10
|
|
12
11
|
### Alumni
|
13
12
|
|
14
13
|
* **Blake Mizerany** (creator)
|
14
|
+
* **Konstantin Haase** (maintainer)
|
15
15
|
* **Ryan Tomayko**
|
16
16
|
* **Simon Rozet**
|
17
17
|
* **Katrina Owen**
|
18
|
+
* **Kashyap Kondamudi**
|
19
|
+
* **Ashley Williams**
|
20
|
+
* **Trevor Bramble**
|
21
|
+
* **Kunpei Sakai**
|
18
22
|
|
19
23
|
### Thanks
|
20
24
|
|
21
25
|
Sinatra would not have been possible without strong company backing.
|
22
26
|
In the past, financial and emotional support have been provided mainly by
|
23
|
-
[Heroku](
|
24
|
-
[Engine Yard](http://www.engineyard.com/)
|
25
|
-
[
|
27
|
+
[Heroku](https://heroku.com), [GitHub](https://github.com),
|
28
|
+
[Engine Yard](http://www.engineyard.com/) and [Travis CI](https://travis-ci.com/),
|
29
|
+
and is now taken care of by [84codes](https://www.84codes.com/).
|
26
30
|
|
27
31
|
Special thanks to the following extraordinary individuals, without whom
|
28
32
|
Sinatra would not be possible:
|
29
33
|
|
34
|
+
* [Benoit Daloze](https://eregon.me/blog/) (eregon) for help around TruffleRuby
|
35
|
+
and keyword arguments use in mustermann.
|
30
36
|
* [Ryan Tomayko](http://tomayko.com/) (rtomayko) for constantly fixing
|
31
37
|
whitespace errors __60d5006__
|
32
38
|
* [Ezra Zygmuntowicz](http://brainspl.at/) (ezmobius) for initial help and
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,252 @@
|
|
1
|
+
## 4.1.1 / 2024-11-20
|
2
|
+
|
3
|
+
* Fix: Restore WEBrick support ([#2067](https://github.com/sinatra/sinatra/pull/2067))
|
4
|
+
|
5
|
+
## 4.1.0 / 2024-11-18
|
6
|
+
|
7
|
+
* New: Add `host_authorization` setting ([#2053](https://github.com/sinatra/sinatra/pull/2053))
|
8
|
+
* Defaults to `.localhost`, `.test` and any IP address in development mode.
|
9
|
+
* Security: addresses [CVE-2024-21510](https://github.com/advisories/GHSA-hxx2-7vcw-mqr3).
|
10
|
+
* Fix: Return an instance of `Sinatra::IndifferentHash` when calling `#except` ([#2044](https://github.com/sinatra/sinatra/pull/2044))
|
11
|
+
* Fix: Address warning from `URI` for Ruby 3.4 ([#2060](https://github.com/sinatra/sinatra/pull/2060))
|
12
|
+
* Fix: `rackup` no longer depends on WEBrick, recommend Puma instead ([`4a558503`](https://github.com/sinatra/sinatra/commit/4a558503a0ee41f26d4ebc07b478340e8a8a5ed6))
|
13
|
+
* Fix: Zeitwerk 2.7.0+ compatibility ([#2050](https://github.com/sinatra/sinatra/pull/2050))
|
14
|
+
* Fix: Address warning about Hash construction for Ruby 3.4 ([#2028](https://github.com/sinatra/sinatra/pull/2028))
|
15
|
+
* Fix: Declare missing dependencies for Ruby 3.5 ([#2032](https://github.com/sinatra/sinatra/pull/2032))
|
16
|
+
* Fix: Compatibility with `--enable-frozen-string-literal` ([#2033](https://github.com/sinatra/sinatra/pull/2033))
|
17
|
+
* Fix: Rack 3.1 compatibility ([#2035](https://github.com/sinatra/sinatra/pull/2035))
|
18
|
+
* Don't depend on `Rack::Logger`
|
19
|
+
* Don't delete `content-length` header when `Rack::Files` is used
|
20
|
+
|
21
|
+
## 4.0.0. / 2024-01-19
|
22
|
+
|
23
|
+
* New: Add support for Rack 3 ([#1857])
|
24
|
+
* Note: you may want to read the [Rack 3 Upgrade Guide]
|
25
|
+
|
26
|
+
* Require Ruby 2.7.8 as minimum Ruby version ([#1993])
|
27
|
+
|
28
|
+
* Breaking change: Drop support for Rack 2 ([#1857])
|
29
|
+
* Note: when using Sinatra to start the web server, you now need the `rackup` gem installed
|
30
|
+
|
31
|
+
* Breaking change: Remove the `IndifferentHash` initializer ([#1982])
|
32
|
+
|
33
|
+
* Breaking change: Disable `session_hijacking` protection by default ([#1984])
|
34
|
+
|
35
|
+
* Breaking change: Remove `Rack::Protection::EncryptedCookie` ([#1989])
|
36
|
+
* Note: cookies are still encrypted (by [`Rack::Session::Cookie`])
|
37
|
+
|
38
|
+
[#1857]: https://github.com/sinatra/sinatra/pull/1857
|
39
|
+
[#1993]: https://github.com/sinatra/sinatra/pull/1993
|
40
|
+
[#1982]: https://github.com/sinatra/sinatra/pull/1982
|
41
|
+
[#1984]: https://github.com/sinatra/sinatra/pull/1984
|
42
|
+
[#1989]: https://github.com/sinatra/sinatra/pull/1989
|
43
|
+
[`Rack::Session::Cookie`]: https://github.com/rack/rack-session
|
44
|
+
[Rack 3 Upgrade Guide]: https://github.com/rack/rack/blob/main/UPGRADE-GUIDE.md
|
45
|
+
|
46
|
+
## 3.2.0 / 2023-12-29
|
47
|
+
|
48
|
+
* New: Add `#except` method to `Sinatra::IndifferentHash` ([#1940])
|
49
|
+
|
50
|
+
* New: Use `Exception#detailed_message` to show backtrace ([#1952])
|
51
|
+
|
52
|
+
* New: Add `Sinatra::HamlHelpers` to sinatra-contrib ([#1960])
|
53
|
+
|
54
|
+
* Fix: Add `base64` to rack-protection runtime dependencies ([#1946])
|
55
|
+
|
56
|
+
* Fix: Avoid open-ended dependencies for sinatra-contrib and rack-protection ([#1949])
|
57
|
+
|
58
|
+
* Fix: Helpful message when `Sinatra::Runner` times out ([#1975])
|
59
|
+
|
60
|
+
* Fix: Ruby 3.3 + Bundler 2.5 compatibility ([#1975])
|
61
|
+
|
62
|
+
[#1940]: https://github.com/sinatra/sinatra/pull/1940
|
63
|
+
[#1946]: https://github.com/sinatra/sinatra/pull/1946
|
64
|
+
[#1949]: https://github.com/sinatra/sinatra/pull/1949
|
65
|
+
[#1952]: https://github.com/sinatra/sinatra/pull/1952
|
66
|
+
[#1960]: https://github.com/sinatra/sinatra/pull/1960
|
67
|
+
[#1975]: https://github.com/sinatra/sinatra/pull/1975
|
68
|
+
|
69
|
+
## 3.1.0 / 2023-08-07
|
70
|
+
|
71
|
+
* New: Add sass support via sass-embedded [#1911] by なつき
|
72
|
+
|
73
|
+
* New: Add start and stop callbacks [#1913] by Jevin Sew
|
74
|
+
|
75
|
+
* New: Warn on dropping sessions [#1900] by Jonathan del Strother
|
76
|
+
|
77
|
+
* New: Make Puma the default server [#1924] by Patrik Ragnarsson
|
78
|
+
|
79
|
+
* Fix: Remove use of Tilt::Cache [#1922] by Jeremy Evans (allows use of Tilt 2.2.0 without deprecation warning)
|
80
|
+
|
81
|
+
* Fix: rack-protection: specify rack version requirement [#1932] by Patrik Ragnarsson
|
82
|
+
|
83
|
+
[#1911]: https://github.com/sinatra/sinatra/pull/1911
|
84
|
+
[#1913]: https://github.com/sinatra/sinatra/pull/1913
|
85
|
+
[#1900]: https://github.com/sinatra/sinatra/pull/1900
|
86
|
+
[#1924]: https://github.com/sinatra/sinatra/pull/1924
|
87
|
+
[#1922]: https://github.com/sinatra/sinatra/pull/1922
|
88
|
+
[#1932]: https://github.com/sinatra/sinatra/pull/1932
|
89
|
+
|
90
|
+
## 3.0.6 / 2023-04-11
|
91
|
+
|
92
|
+
* Fix: Add support to keep open streaming connections with Puma [#1858](https://github.com/sinatra/sinatra/pull/1858) by Jordan Owens
|
93
|
+
|
94
|
+
* Fix: Avoid crash in `uri` helper on Integer input [#1890](https://github.com/sinatra/sinatra/pull/1890) by Patrik Ragnarsson
|
95
|
+
|
96
|
+
* Fix: Rescue `RuntimeError` when trying to use `SecureRandom` [#1888](https://github.com/sinatra/sinatra/pull/1888) by Stefan Sundin
|
97
|
+
|
98
|
+
## 3.0.5 / 2022-12-16
|
99
|
+
|
100
|
+
* Fix: Add Zeitwerk compatibility. [#1831](https://github.com/sinatra/sinatra/pull/1831) by Dawid Janczak
|
101
|
+
|
102
|
+
* Fix: Allow CALLERS_TO_IGNORE to be overridden
|
103
|
+
|
104
|
+
## 3.0.4 / 2022-11-25
|
105
|
+
|
106
|
+
* Fix: Escape filename in the Content-Disposition header. [#1841](https://github.com/sinatra/sinatra/pull/1841) by Kunpei Sakai
|
107
|
+
|
108
|
+
## 3.0.3 / 2022-11-11
|
109
|
+
|
110
|
+
* Fix: fixed ReDoS for Rack::Protection::IPSpoofing. [#1823](https://github.com/sinatra/sinatra/pull/1823) by @ooooooo-q
|
111
|
+
|
112
|
+
## 3.0.2 / 2022-10-01
|
113
|
+
|
114
|
+
* New: Add Haml 6 support. [#1820](https://github.com/sinatra/sinatra/pull/1820) by Jordan Owens
|
115
|
+
|
116
|
+
## 3.0.1 / 2022-09-26
|
117
|
+
|
118
|
+
* Fix: Revert removal of rack-protection.rb. [#1814](https://github.com/sinatra/sinatra/pull/1814) by Olle Jonsson
|
119
|
+
|
120
|
+
* Fix: Revert change to server start and stop messaging by using Kernel#warn. Renamed internal warn method warn_for_deprecation. [#1818](https://github.com/sinatra/sinatra/pull/1818) by Jordan Owens
|
121
|
+
|
122
|
+
## 3.0.0 / 2022-09-26
|
123
|
+
|
124
|
+
* New: Add Falcon support. [#1794](https://github.com/sinatra/sinatra/pull/1794) by Samuel Williams and @horaciob
|
125
|
+
|
126
|
+
* New: Add AES GCM encryption support for session cookies. [#1324] (https://github.com/sinatra/sinatra/pull/1324) by Michael Coyne
|
127
|
+
|
128
|
+
* Deprecated: Sinatra Reloader will be removed in the next major release.
|
129
|
+
|
130
|
+
* Fix: Internal Sinatra errors now extend `Sinatra::Error`. This fixes [#1204](https://github.com/sinatra/sinatra/issues/1204) and [#1518](https://github.com/sinatra/sinatra/issues/1518). [bda8c29d](https://github.com/sinatra/sinatra/commit/bda8c29d70619d53f5b1c181140638d340695514) by Jordan Owens
|
131
|
+
|
132
|
+
* Fix: Preserve query param value if named route param nil. [#1676](https://github.com/sinatra/sinatra/pull/1676) by Jordan Owens
|
133
|
+
|
134
|
+
* Require Ruby 2.6 as minimum Ruby version. [#1699](https://github.com/sinatra/sinatra/pull/1699) by Eloy Pérez
|
135
|
+
|
136
|
+
* Breaking change: Remove support for the Stylus template engine. [#1697](https://github.com/sinatra/sinatra/pull/1697) by Eloy Pérez
|
137
|
+
|
138
|
+
* Breaking change: Remove support for the erubis template engine. [#1761](https://github.com/sinatra/sinatra/pull/1761) by Eloy Pérez
|
139
|
+
|
140
|
+
* Breaking change: Remove support for the textile template engine. [#1766](https://github.com/sinatra/sinatra/pull/1766) by Eloy Pérez
|
141
|
+
|
142
|
+
* Breaking change: Remove support for SASS as a template engine. [#1768](https://github.com/sinatra/sinatra/pull/1768) by Eloy Pérez
|
143
|
+
|
144
|
+
* Breaking change: Remove support for Wlang as a template engine. [#1780](https://github.com/sinatra/sinatra/pull/1780) by Eloy Pérez
|
145
|
+
|
146
|
+
* Breaking change: Remove support for CoffeeScript as a template engine. [#1790](https://github.com/sinatra/sinatra/pull/1790) by Eloy Pérez
|
147
|
+
|
148
|
+
* Breaking change: Remove support for Mediawiki as a template engine. [#1791](https://github.com/sinatra/sinatra/pull/1791) by Eloy Pérez
|
149
|
+
|
150
|
+
* Breaking change: Remove support for Creole as a template engine. [#1792](https://github.com/sinatra/sinatra/pull/1792) by Eloy Pérez
|
151
|
+
|
152
|
+
* Breaking change: Remove support for Radius as a template engine. [#1793](https://github.com/sinatra/sinatra/pull/1793) by Eloy Pérez
|
153
|
+
|
154
|
+
* Breaking change: Remove support for the defunct Less templating library. See [#1716](https://github.com/sinatra/sinatra/issues/1716), [#1715](https://github.com/sinatra/sinatra/issues/1715) for more discussion and background. [d1af2f1e](https://github.com/sinatra/sinatra/commit/d1af2f1e6c8710419dfe3102a660f7a32f0e67e3) by Olle Jonsson
|
155
|
+
|
156
|
+
* Breaking change: Remove Reel integration. [54597502](https://github.com/sinatra/sinatra/commit/545975025927a27a1daca790598620038979f1c5) by Olle Jonsson
|
157
|
+
|
158
|
+
* CI: Start testing on Ruby 3.1. [60e221940](https://github.com/sinatra/sinatra/commit/60e2219407e6ae067bf3e53eb060ee4860c60c8d) and [b0fa4bef](https://github.com/sinatra/sinatra/commit/b0fa4beffaa3b10bf02947d0a35e137403296c6b) by Johannes Würbach
|
159
|
+
|
160
|
+
* Use `Kernel#caller_locations`. [#1491](https://github.com/sinatra/sinatra/pull/1491) by Julik Tarkhanov
|
161
|
+
|
162
|
+
* Docs: Japanese documentation: Add notes about the `default_content_type` setting. [#1650](https://github.com/sinatra/sinatra/pull/1650) by Akifumi Tominaga
|
163
|
+
|
164
|
+
* Docs: Polish documentation: Add section about Multithreaded modes and Routes. [#1708](https://github.com/sinatra/sinatra/pull/1708) by Patrick Gramatowski
|
165
|
+
|
166
|
+
* Docs: Japanese documentation: Make Session section reflect changes done to README.md. [#1731](https://github.com/sinatra/sinatra/pull/1731) by @shu-i-chi
|
167
|
+
|
168
|
+
## 2.2.3 / 2022-11-25
|
169
|
+
|
170
|
+
* Fix: Escape filename in the Content-Disposition header. [#1841](https://github.com/sinatra/sinatra/pull/1841) by Kunpei Sakai
|
171
|
+
|
172
|
+
* Fix: fixed ReDoS for Rack::Protection::IPSpoofing. [#1823](https://github.com/sinatra/sinatra/pull/1823) by @ooooooo-q
|
173
|
+
|
174
|
+
## 2.2.2 / 2022-07-23
|
175
|
+
|
176
|
+
* Update mustermann dependency to version 2.
|
177
|
+
|
178
|
+
## 2.2.1 / 2022-07-15
|
179
|
+
|
180
|
+
* Fix JRuby regression by using ruby2_keywords for delegation. #1750 by Patrik Ragnarsson
|
181
|
+
|
182
|
+
* Add JRuby to CI. #1755 by Karol Bucek
|
183
|
+
|
184
|
+
## 2.2.0 / 2022-02-15
|
185
|
+
|
186
|
+
* Breaking change: Add `#select`, `#reject` and `#compact` methods to `Sinatra::IndifferentHash`. If hash keys need to be converted to symbols, call `#to_h` to get a `Hash` instance first. [#1711](https://github.com/sinatra/sinatra/pull/1711) by Olivier Bellone
|
187
|
+
|
188
|
+
* Handle EOFError raised by Rack and return Bad Request 400 status. [#1743](https://github.com/sinatra/sinatra/pull/1743) by tamazon
|
189
|
+
|
190
|
+
* Minor refactors in `base.rb`. [#1640](https://github.com/sinatra/sinatra/pull/1640) by ceclinux
|
191
|
+
|
192
|
+
* Add escaping to the static 404 page. [#1645](https://github.com/sinatra/sinatra/pull/1645) by Chris Gavin
|
193
|
+
|
194
|
+
* Remove `detect_rack_handler` method. [#1652](https://github.com/sinatra/sinatra/pull/1652) by ceclinux
|
195
|
+
|
196
|
+
* Respect content type set in superclass before filter. Fixes [#1647](https://github.com/sinatra/sinatra/issues/1647) [#1649](https://github.com/sinatra/sinatra/pull/1649) by Jordan Owens
|
197
|
+
|
198
|
+
* *Revert "Use prepend instead of include for helpers.* [#1662](https://github.com/sinatra/sinatra/pull/1662) by namusyaka
|
199
|
+
|
200
|
+
* Fix usage of inherited `Sinatra::Base` classes keyword arguments. Fixes [#1669](https://github.com/sinatra/sinatra/issues/1669) [#1670](https://github.com/sinatra/sinatra/pull/1670) by Cadu Ribeiro
|
201
|
+
|
202
|
+
* Reduce RDoc generation time by not including every README. Fixes [#1578](https://github.com/sinatra/sinatra/issues/1578) [#1671](https://github.com/sinatra/sinatra/pull/1671) by Eloy Pérez
|
203
|
+
|
204
|
+
* Add support for per form csrf tokens. Fixes [#1616](https://github.com/sinatra/sinatra/issues/1616) [#1653](https://github.com/sinatra/sinatra/pull/1653) by Jordan Owens
|
205
|
+
|
206
|
+
* Update MAINTENANCE.md with the `stable` branch status. [#1681](https://github.com/sinatra/sinatra/pull/1681) by Fredrik Rubensson
|
207
|
+
|
208
|
+
* Validate expanded path matches `public_dir` when serving static files. [#1683](https://github.com/sinatra/sinatra/pull/1683) by cji-stripe
|
209
|
+
|
210
|
+
* Fix Delegator to pass keyword arguments for Ruby 3.0. [#1684](https://github.com/sinatra/sinatra/pull/1684) by andrewtblake
|
211
|
+
|
212
|
+
* Fix use with keyword arguments for Ruby 3.0. [#1701](https://github.com/sinatra/sinatra/pull/1701) by Robin Wallin
|
213
|
+
|
214
|
+
* Fix memory leaks for proc template. Fixes [#1704](https://github.com/sinatra/sinatra/issues/1714) [#1719](https://github.com/sinatra/sinatra/pull/1719) by Slevin
|
215
|
+
|
216
|
+
* Remove unnecessary `test_files` from the gemspec. [#1712](https://github.com/sinatra/sinatra/pull/1712) by Masataka Pocke Kuwabara
|
217
|
+
|
218
|
+
* Docs: Spanish documentation: Update README.es.md with removal of Thin. [#1630](https://github.com/sinatra/sinatra/pull/1630) by Espartaco Palma
|
219
|
+
|
220
|
+
* Docs: German documentation: Fixed typos in German README.md. [#1648](https://github.com/sinatra/sinatra/pull/1648) by Juri
|
221
|
+
|
222
|
+
* Docs: Japanese documentation: Update README.ja.md with removal of Thin. [#1629](https://github.com/sinatra/sinatra/pull/1629) by Ryuichi KAWAMATA
|
223
|
+
|
224
|
+
* Docs: English documentation: Various minor fixes to README.md. [#1663](https://github.com/sinatra/sinatra/pull/1663) by Yanis Zafirópulos
|
225
|
+
|
226
|
+
* Docs: English documentation: Document when `dump_errors` is enabled. Fixes [#1664](https://github.com/sinatra/sinatra/issues/1664) [#1665](https://github.com/sinatra/sinatra/pull/1665) by Patrik Ragnarsson
|
227
|
+
|
228
|
+
* Docs: Brazilian Portuguese documentation: Update README.pt-br.md with translation fixes. [#1668](https://github.com/sinatra/sinatra/pull/1668) by Vitor Oliveira
|
229
|
+
|
230
|
+
### CI
|
231
|
+
|
232
|
+
* Use latest JRuby 9.2.16.0 on CI. [#1682](https://github.com/sinatra/sinatra/pull/1682) by Olle Jonsson
|
233
|
+
|
234
|
+
* Switch CI from travis to GitHub Actions. [#1691](https://github.com/sinatra/sinatra/pull/1691) by namusyaka
|
235
|
+
|
236
|
+
* Skip the Slack action if `secrets.SLACK_WEBHOOK` is not set. [#1705](https://github.com/sinatra/sinatra/pull/1705) by Robin Wallin
|
237
|
+
|
238
|
+
* Small CI improvements. [#1703](https://github.com/sinatra/sinatra/pull/1703) by Robin Wallin
|
239
|
+
|
240
|
+
* Drop auto-generated boilerplate comments from CI configuration file. [#1728](https://github.com/sinatra/sinatra/pull/1728) by Olle Jonsson
|
241
|
+
|
242
|
+
### sinatra-contrib
|
243
|
+
|
244
|
+
* Do not raise when key is an enumerable. [#1619](https://github.com/sinatra/sinatra/pull/1619) by Ulysse Buonomo
|
245
|
+
|
246
|
+
### Rack protection
|
247
|
+
|
248
|
+
* Fix broken `origin_whitelist` option. Fixes [#1641](https://github.com/sinatra/sinatra/issues/1641) [#1642](https://github.com/sinatra/sinatra/pull/1642) by Takeshi YASHIRO
|
249
|
+
|
1
250
|
## 2.1.0 / 2020-09-05
|
2
251
|
|
3
252
|
* Fix additional Ruby 2.7 keyword warnings [#1586](https://github.com/sinatra/sinatra/pull/1586) by Stefan Sundin
|
@@ -14,7 +263,7 @@
|
|
14
263
|
|
15
264
|
* Fix issue with passed routes and provides Fixes [#1095](https://github.com/sinatra/sinatra/pull/1095) [#1606](https://github.com/sinatra/sinatra/pull/1606) by Mike Pastore, Jordan Owens
|
16
265
|
|
17
|
-
* Add QuietLogger that excludes
|
266
|
+
* Add QuietLogger that excludes paths from Rack::CommonLogger [1250](https://github.com/sinatra/sinatra/pull/1250) by Christoph Wagner
|
18
267
|
|
19
268
|
* Sinatra::Contrib dependency updates. Fixes [#1207](https://github.com/sinatra/sinatra/pull/1207) [#1411](https://github.com/sinatra/sinatra/pull/1411) by Mike Pastore
|
20
269
|
|
@@ -1380,7 +1629,7 @@ the 1.0 release:
|
|
1380
1629
|
Hash structure. e.g., "post[title]=Hello&post[body]=World" yields
|
1381
1630
|
params: {'post' => {'title' => 'Hello', 'body' => 'World'}}.
|
1382
1631
|
|
1383
|
-
* Regular expressions may now be used in route
|
1632
|
+
* Regular expressions may now be used in route patterns; captures are
|
1384
1633
|
available at "params[:captures]".
|
1385
1634
|
|
1386
1635
|
* New ":provides" route condition takes an array of mime types and
|
data/CONTRIBUTING.md
CHANGED
@@ -65,21 +65,21 @@ track patch requests.
|
|
65
65
|
also has its own [Git repository](http://github.com/sinatra/sinatra-recipes).
|
66
66
|
|
67
67
|
* [The Introduction](http://www.sinatrarb.com/intro.html) is generated from
|
68
|
-
Sinatra's [README file](http://github.com/sinatra/sinatra/blob/
|
68
|
+
Sinatra's [README file](http://github.com/sinatra/sinatra/blob/main/README.md).
|
69
69
|
|
70
70
|
* If you want to help translating the documentation, the README is already
|
71
71
|
available in
|
72
|
-
[Japanese](http://github.com/sinatra/sinatra/blob/
|
73
|
-
[German](http://github.com/sinatra/sinatra/blob/
|
74
|
-
[Chinese](https://github.com/sinatra/sinatra/blob/
|
75
|
-
[Russian](https://github.com/sinatra/sinatra/blob/
|
76
|
-
[European](https://github.com/sinatra/sinatra/blob/
|
77
|
-
[Brazilian](https://github.com/sinatra/sinatra/blob/
|
72
|
+
[Japanese](http://github.com/sinatra/sinatra/blob/main/README.ja.md),
|
73
|
+
[German](http://github.com/sinatra/sinatra/blob/main/README.de.md),
|
74
|
+
[Chinese](https://github.com/sinatra/sinatra/blob/main/README.zh.md),
|
75
|
+
[Russian](https://github.com/sinatra/sinatra/blob/main/README.ru.md),
|
76
|
+
[European](https://github.com/sinatra/sinatra/blob/main/README.pt-pt.md) and
|
77
|
+
[Brazilian](https://github.com/sinatra/sinatra/blob/main/README.pt-br.md)
|
78
78
|
Portuguese,
|
79
|
-
[French](https://github.com/sinatra/sinatra/blob/
|
80
|
-
[Spanish](https://github.com/sinatra/sinatra/blob/
|
81
|
-
[Korean](https://github.com/sinatra/sinatra/blob/
|
82
|
-
[Hungarian](https://github.com/sinatra/sinatra/blob/
|
79
|
+
[French](https://github.com/sinatra/sinatra/blob/main/README.fr.md),
|
80
|
+
[Spanish](https://github.com/sinatra/sinatra/blob/main/README.es.md),
|
81
|
+
[Korean](https://github.com/sinatra/sinatra/blob/main/README.ko.md), and
|
82
|
+
[Hungarian](https://github.com/sinatra/sinatra/blob/main/README.hu.md).
|
83
83
|
The translations tend to fall behind the English version. Translations into
|
84
84
|
other languages would also be appreciated.
|
85
85
|
|
data/Gemfile
CHANGED
@@ -1,80 +1,66 @@
|
|
1
|
-
#
|
2
|
-
# Well, not all development dependencies install on all rubies. Moreover, `gem
|
3
|
-
# install sinatra --development` doesn't work, as it will also try to install
|
4
|
-
# development dependencies of our dependencies, and those are not conflict free.
|
5
|
-
# So, here we are, `bundle install`.
|
6
|
-
#
|
7
|
-
# If you have issues with a gem: `bundle install --without-coffee-script`.
|
1
|
+
# frozen_string_literal: true
|
8
2
|
|
9
|
-
|
10
|
-
source 'https://rubygems.org' unless ENV['QUICK']
|
3
|
+
source 'https://rubygems.org'
|
11
4
|
gemspec
|
12
5
|
|
13
6
|
gem 'rake'
|
14
|
-
gem 'rack', git: 'https://github.com/rack/rack.git'
|
15
|
-
gem 'rack-test', '>= 0.6.2'
|
16
|
-
gem "minitest", "~> 5.0"
|
17
|
-
gem 'yard'
|
18
7
|
|
19
|
-
|
20
|
-
|
8
|
+
rack_version = ENV['rack'].to_s
|
9
|
+
rack_version = nil if rack_version.empty? || (rack_version == 'stable')
|
10
|
+
rack_version = { github: 'rack/rack' } if rack_version == 'head'
|
11
|
+
gem 'rack', rack_version
|
21
12
|
|
22
|
-
|
13
|
+
rack_session_version = ENV['rack_session'].to_s
|
14
|
+
rack_session_version = nil if rack_session_version.empty? || (rack_session_version == 'stable')
|
15
|
+
rack_session_version = { github: 'rack/rack-session' } if rack_session_version == 'head'
|
16
|
+
gem 'rack-session', rack_session_version
|
23
17
|
|
24
|
-
|
25
|
-
gem 'nokogiri', '!= 1.5.0'
|
26
|
-
gem 'trinidad'
|
27
|
-
end
|
18
|
+
gem 'rackup'
|
28
19
|
|
29
|
-
|
30
|
-
|
31
|
-
|
20
|
+
puma_version = ENV['puma'].to_s
|
21
|
+
puma_version = nil if puma_version.empty? || (puma_version == 'stable')
|
22
|
+
puma_version = { github: 'puma/puma' } if puma_version == 'head'
|
23
|
+
gem 'puma', puma_version
|
32
24
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
gem 'redcarpet'
|
37
|
-
gem 'wlang', '>= 2.0.1'
|
38
|
-
gem 'bluecloth'
|
39
|
-
gem 'rdiscount'
|
40
|
-
gem 'RedCloth'
|
41
|
-
gem 'puma'
|
42
|
-
gem 'yajl-ruby'
|
43
|
-
gem 'nokogiri'
|
44
|
-
gem 'rainbows'
|
45
|
-
gem 'eventmachine'
|
46
|
-
gem 'slim', '~> 2.0'
|
47
|
-
gem 'coffee-script', '>= 2.0'
|
48
|
-
gem 'rdoc'
|
49
|
-
gem 'kramdown'
|
50
|
-
gem 'maruku'
|
51
|
-
gem 'creole'
|
52
|
-
gem 'wikicloth'
|
53
|
-
gem 'markaby'
|
54
|
-
gem 'radius'
|
55
|
-
gem 'asciidoctor'
|
56
|
-
gem 'liquid'
|
57
|
-
gem 'stylus'
|
58
|
-
gem 'rabl'
|
59
|
-
gem 'builder'
|
60
|
-
gem 'erubi'
|
61
|
-
gem 'erubis'
|
62
|
-
gem 'haml', '>= 3.0'
|
63
|
-
gem 'sass'
|
64
|
-
gem 'reel-rack'
|
65
|
-
gem 'celluloid', '~> 0.16.0'
|
66
|
-
gem 'commonmarker', '~> 0.20.0'
|
67
|
-
gem 'pandoc-ruby', '~> 2.0.2'
|
68
|
-
gem 'simplecov', require: false
|
69
|
-
end
|
25
|
+
zeitwerk_version = ENV['zeitwerk'].to_s
|
26
|
+
zeitwerk_version = nil if zeitwerk_version.empty? || (zeitwerk_version == 'stable')
|
27
|
+
gem 'zeitwerk', zeitwerk_version
|
70
28
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
gem 'erubi'
|
76
|
-
end
|
29
|
+
gem 'minitest', '~> 5.0'
|
30
|
+
gem 'rack-test'
|
31
|
+
gem 'rubocop', '~> 1.32.0', require: false
|
32
|
+
gem 'yard' # used by rake doc
|
77
33
|
|
78
|
-
|
79
|
-
|
80
|
-
|
34
|
+
gem 'rack-protection', path: 'rack-protection'
|
35
|
+
gem 'sinatra-contrib', path: 'sinatra-contrib'
|
36
|
+
|
37
|
+
gem 'asciidoctor'
|
38
|
+
gem 'builder'
|
39
|
+
gem 'childprocess', '>= 5'
|
40
|
+
gem 'commonmarker', '~> 0.23.4', platforms: [:ruby]
|
41
|
+
gem 'erubi'
|
42
|
+
gem 'eventmachine'
|
43
|
+
gem 'falcon', '~> 0.40', platforms: [:ruby]
|
44
|
+
gem 'haml', '~> 6'
|
45
|
+
gem 'kramdown'
|
46
|
+
gem 'liquid'
|
47
|
+
gem 'markaby'
|
48
|
+
gem 'nokogiri', '> 1.5.0'
|
49
|
+
gem 'ostruct'
|
50
|
+
gem 'pandoc-ruby', '~> 2.0.2'
|
51
|
+
gem 'rabl'
|
52
|
+
gem 'rdiscount', platforms: [:ruby]
|
53
|
+
gem 'rdoc'
|
54
|
+
gem 'redcarpet', platforms: [:ruby]
|
55
|
+
gem 'simplecov', require: false
|
56
|
+
gem 'slim', '~> 5'
|
57
|
+
gem 'yajl-ruby', platforms: [:ruby]
|
58
|
+
gem 'webrick'
|
59
|
+
|
60
|
+
# sass-embedded depends on google-protobuf
|
61
|
+
# which fails to be installed on JRuby and TruffleRuby under aarch64
|
62
|
+
# https://github.com/jruby/jruby/issues/8062
|
63
|
+
# https://github.com/protocolbuffers/protobuf/issues/11935
|
64
|
+
java = %w(jruby truffleruby).include?(RUBY_ENGINE)
|
65
|
+
aarch64 = RbConfig::CONFIG["target_cpu"] == 'aarch64'
|
66
|
+
gem 'sass-embedded', '~> 1.54' unless java && aarch64
|
data/MAINTENANCE.md
CHANGED
@@ -2,41 +2,28 @@
|
|
2
2
|
|
3
3
|
## Versions
|
4
4
|
|
5
|
-
###
|
5
|
+
### Releases
|
6
6
|
|
7
|
-
The next major version of Sinatra will be released from the
|
8
|
-
|
9
|
-
* Current proposed major release: 2.0.0
|
10
|
-
|
11
|
-
### Stable release
|
12
|
-
|
13
|
-
The current stable version of Sinatra is 1.4 series, and released from the stable branch.
|
7
|
+
The next major version of Sinatra will be released from the main branch. Each version will be tagged so it will be possible to branch of should there be a need for bug fixes and other updates.
|
14
8
|
|
15
9
|
## Issues
|
16
10
|
|
17
11
|
### New features
|
18
12
|
|
19
|
-
New features will only be added to the
|
13
|
+
New features will only be added to the main branch and will not be made available in point releases.
|
20
14
|
|
21
15
|
### Bug fixes
|
22
16
|
|
23
17
|
Only the latest release series will receive bug fixes. When enough bugs are fixed and its deemed worthy to release a new gem, this is the branch it happens from.
|
24
18
|
|
25
|
-
* Current release series: 1.4.x
|
26
|
-
|
27
19
|
### Security issues
|
28
20
|
|
29
21
|
The current release series will receive patches and new versions in case of a security issue.
|
30
22
|
|
31
|
-
* Current release series: 1.4.x
|
32
|
-
|
33
23
|
### Severe security issues
|
34
24
|
|
35
25
|
For severe security issues we will provide new versions as above, and also the last major release series will receive patches and new versions. The classification of the security issue is judged by the core team.
|
36
26
|
|
37
|
-
* Current release series: 1.4.x
|
38
|
-
* Next most recent release series: 1.3.x
|
39
|
-
|
40
27
|
### Unsupported Release Series
|
41
28
|
|
42
29
|
When a release series is no longer supported, it’s your own responsibility to deal with bugs and security issues. We may provide back-ports of the fixes and publish them to git, however there will be no new versions released. If you are not comfortable maintaining your own versions, you should upgrade to a supported version.
|