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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a13ef28ef13aa508887d370e6e666ec7af2aa27d464c2c3907fe72f3f3091fcb
4
- data.tar.gz: 0aef31461f40ec12007e04dcfc8df077ce389a8710ef79c74466ba08eedd8085
3
+ metadata.gz: 491154a9e29e4c218d9245fd73024818e7dfa6c75ba1d74220e46498841bb54e
4
+ data.tar.gz: 42259b9becde7268d9b95abc783d896c864a6c84b3e1dd6d40d7f351a350f626
5
5
  SHA512:
6
- metadata.gz: b93f4761e873891715668e34a695e35bb0f57983f7bf260440a7d06ead5e4b88cdeb173f4f093e74aada601b54773df47211d882ea30880fe98c0f4225cd4846
7
- data.tar.gz: 2aaa6acfcbcb7f2e875820ba61b243916de46c0c689182afbb13f59a168a74f0bff6a0c546e47f29a60804311d960bc26cc5c897c15b05f9f26e677c60e939e3
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
- * **Konstantin Haase** (maintainer)
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](http://heroku.com), [GitHub](https://github.com) and
24
- [Engine Yard](http://www.engineyard.com/), and is now taken care of by
25
- [Travis CI](http://travis-ci.com/).
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 pathes from Rack::CommonLogger [1250](https://github.com/sinatra/sinatra/pull/1250) by Christoph Wagner
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 pattens; captures are
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/master/README.md).
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/master/README.ja.md),
73
- [German](http://github.com/sinatra/sinatra/blob/master/README.de.md),
74
- [Chinese](https://github.com/sinatra/sinatra/blob/master/README.zh.md),
75
- [Russian](https://github.com/sinatra/sinatra/blob/master/README.ru.md),
76
- [European](https://github.com/sinatra/sinatra/blob/master/README.pt-pt.md) and
77
- [Brazilian](https://github.com/sinatra/sinatra/blob/master/README.pt-br.md)
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/master/README.fr.md),
80
- [Spanish](https://github.com/sinatra/sinatra/blob/master/README.es.md),
81
- [Korean](https://github.com/sinatra/sinatra/blob/master/README.ko.md), and
82
- [Hungarian](https://github.com/sinatra/sinatra/blob/master/README.hu.md).
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
- # Why use bundler?
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
- RUBY_ENGINE = 'ruby' unless defined? RUBY_ENGINE
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
- gem "rack-protection", path: "rack-protection"
20
- gem "sinatra-contrib", path: "sinatra-contrib"
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
- gem "twitter-text", "1.14.7"
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
- if RUBY_ENGINE == 'jruby'
25
- gem 'nokogiri', '!= 1.5.0'
26
- gem 'trinidad'
27
- end
18
+ gem 'rackup'
28
19
 
29
- if RUBY_ENGINE == 'jruby' || RUBY_ENGINE == 'ruby'
30
- gem "activesupport", "~> 5.1.6"
31
- end
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
- if RUBY_ENGINE == "ruby"
34
- gem 'less', '~> 2.0'
35
- gem 'therubyracer'
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
- if RUBY_ENGINE == "rbx"
72
- gem 'json'
73
- gem 'rubysl'
74
- gem 'rubysl-test-unit'
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
- platforms :jruby do
79
- gem 'json'
80
- end
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
- ### Unstable release
5
+ ### Releases
6
6
 
7
- The next major version of Sinatra will be released from the master branch.
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 master branch and will not be made available in point releases.
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.