sinatra 2.2.3 → 3.0.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sinatra might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80e0d4f746b7bf91aecaa4af649cb63f04212975287e6ef37288a9e71e73a4ec
4
- data.tar.gz: 5fcda18c311ca7ba08a2cbdf9ed60f97ed564bc9d54af4b600a86c2c6103ddc3
3
+ metadata.gz: '08567da318760f376b1c6c8ccafd4e1268ff19a800c90939d9f1448a7c85edcb'
4
+ data.tar.gz: 4287d74952e33c257cd981ed731e732cd0811dbeaeeb7fa553817ef3ad44a9d8
5
5
  SHA512:
6
- metadata.gz: 82d744ca87a984b3e96175269d1225184f885f8ae052c1089cc2973fb740376ca354579fd1c463ad4accb38e9c27bc200d0344290258ecdeb7d347b81a3ab7f6
7
- data.tar.gz: 8242b52ec226acf2c29fc902b9d5855c7090f60191c874b1fbaf68ead68b15ad47257a0bfdfd2648173f8545158b2cab7fe262ff74a2d3e0d9a692b84dfd8c32
6
+ metadata.gz: af4979f21e7a5bc8e2aebadc68138ad5885829d5c25060303c526fec354552d178d39ae050f5a49700da4bc4b4653264e5371c6dfda44df585a7f198353f65dc
7
+ data.tar.gz: 3cd222fd4e5a5337cc63a6df8d813ec695cb2e4ea73294048de169e92c93dcee36a6d90f2bbb0a3525f3d27b86c3499f762f1c0b8904e79c7a012a9852095aeb
data/CHANGELOG.md CHANGED
@@ -1,45 +1,117 @@
1
+ ## Unreleased
2
+
3
+ * _Your new feature here._
4
+
5
+ ## 3.0.6 / 2023-04-11
6
+
7
+ * Fix: Add support to keep open streaming connections with Puma [#1858](https://github.com/sinatra/sinatra/pull/1858) by Jordan Owens
8
+
9
+ * Fix: Avoid crash in `uri` helper on Integer input [#1890](https://github.com/sinatra/sinatra/pull/1890) by Patrik Ragnarsson
10
+
11
+ * Fix: Rescue `RuntimeError` when trying to use `SecureRandom` [#1888](https://github.com/sinatra/sinatra/pull/1888) by Stefan Sundin
12
+
13
+ ## 3.0.5 / 2022-12-16
14
+
15
+ * Fix: Add Zeitwerk compatibility. [#1831](https://github.com/sinatra/sinatra/pull/1831) by Dawid Janczak
16
+
17
+ * Fix: Allow CALLERS_TO_IGNORE to be overridden
18
+
19
+ ## 3.0.4 / 2022-11-25
20
+
21
+ * Fix: Escape filename in the Content-Disposition header. [#1841](https://github.com/sinatra/sinatra/pull/1841) by Kunpei Sakai
22
+
23
+ ## 3.0.3 / 2022-11-11
24
+
25
+ * Fix: fixed ReDoS for Rack::Protection::IPSpoofing. [#1823](https://github.com/sinatra/sinatra/pull/1823) by @ooooooo-q
26
+
27
+ ## 3.0.2 / 2022-10-01
28
+
29
+ * New: Add Haml 6 support. [#1820](https://github.com/sinatra/sinatra/pull/1820) by Jordan Owens
30
+
31
+ ## 3.0.1 / 2022-09-26
32
+
33
+ * Fix: Revert removal of rack-protection.rb. [#1814](https://github.com/sinatra/sinatra/pull/1814) by Olle Jonsson
34
+
35
+ * 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
36
+
37
+ ## 3.0.0 / 2022-09-26
38
+
39
+ * New: Add Falcon support. [#1794](https://github.com/sinatra/sinatra/pull/1794) by Samuel Williams and @horaciob
40
+
41
+ * New: Add AES GCM encryption support for session cookies. [#1324] (https://github.com/sinatra/sinatra/pull/1324) by Michael Coyne
42
+
43
+ * Deprecated: Sinatra Reloader will be removed in the next major release.
44
+
45
+ * 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
46
+
47
+ * Fix: Preserve query param value if named route param nil. [#1676](https://github.com/sinatra/sinatra/pull/1676) by Jordan Owens
48
+
49
+ * Require Ruby 2.6 as minimum Ruby version. [#1699](https://github.com/sinatra/sinatra/pull/1699) by Eloy Pérez
50
+
51
+ * Breaking change: Remove support for the Stylus template engine. [#1697](https://github.com/sinatra/sinatra/pull/1697) by Eloy Pérez
52
+
53
+ * Breaking change: Remove support for the erubis template engine. [#1761](https://github.com/sinatra/sinatra/pull/1761) by Eloy Pérez
54
+
55
+ * Breaking change: Remove support for the textile template engine. [#1766](https://github.com/sinatra/sinatra/pull/1766) by Eloy Pérez
56
+
57
+ * Breaking change: Remove support for SASS as a template engine. [#1768](https://github.com/sinatra/sinatra/pull/1768) by Eloy Pérez
58
+
59
+ * Breaking change: Remove support for Wlang as a template engine. [#1780](https://github.com/sinatra/sinatra/pull/1780) by Eloy Pérez
60
+
61
+ * Breaking change: Remove support for CoffeeScript as a template engine. [#1790](https://github.com/sinatra/sinatra/pull/1790) by Eloy Pérez
62
+
63
+ * Breaking change: Remove support for Mediawiki as a template engine. [#1791](https://github.com/sinatra/sinatra/pull/1791) by Eloy Pérez
64
+
65
+ * Breaking change: Remove support for Creole as a template engine. [#1792](https://github.com/sinatra/sinatra/pull/1792) by Eloy Pérez
66
+
67
+ * Breaking change: Remove support for Radius as a template engine. [#1793](https://github.com/sinatra/sinatra/pull/1793) by Eloy Pérez
68
+
69
+ * 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
70
+
71
+ * Breaking change: Remove Reel integration. [54597502](https://github.com/sinatra/sinatra/commit/545975025927a27a1daca790598620038979f1c5) by Olle Jonsson
72
+
73
+ * 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
74
+
75
+ * Use `Kernel#caller_locations`. [#1491](https://github.com/sinatra/sinatra/pull/1491) by Julik Tarkhanov
76
+
77
+ * Docs: Japanese documentation: Add notes about the `default_content_type` setting. [#1650](https://github.com/sinatra/sinatra/pull/1650) by Akifumi Tominaga
78
+
79
+ * Docs: Polish documentation: Add section about Multithreaded modes and Routes. [#1708](https://github.com/sinatra/sinatra/pull/1708) by Patrick Gramatowski
80
+
81
+ * Docs: Japanese documentation: Make Session section reflect changes done to README.md. [#1731](https://github.com/sinatra/sinatra/pull/1731) by @shu-i-chi
82
+
1
83
  ## 2.2.3 / 2022-11-25
2
84
 
3
85
  * Fix: Escape filename in the Content-Disposition header. [#1841](https://github.com/sinatra/sinatra/pull/1841) by Kunpei Sakai
4
86
 
87
+ * Fix: fixed ReDoS for Rack::Protection::IPSpoofing. [#1823](https://github.com/sinatra/sinatra/pull/1823) by @ooooooo-q
88
+
5
89
  ## 2.2.2 / 2022-07-23
6
90
 
7
91
  * Update mustermann dependency to version 2.
8
92
 
9
93
  ## 2.2.1 / 2022-07-15
10
94
 
11
- * Fix JRuby regression by using ruby2_keywords for delegation. [#1750](https://github.com/sinatra/sinatra/pull/1750) by Patrik Ragnarsson
95
+ * Fix JRuby regression by using ruby2_keywords for delegation. #1750 by Patrik Ragnarsson
12
96
 
13
- * Add JRuby to CI. [#1755](https://github.com/sinatra/sinatra/pull/1755) by Karol Bucek
97
+ * Add JRuby to CI. #1755 by Karol Bucek
14
98
 
15
99
  ## 2.2.0 / 2022-02-15
16
100
 
17
- * 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 by Olivier Bellone
101
+ * 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
18
102
 
19
103
  * Handle EOFError raised by Rack and return Bad Request 400 status. [#1743](https://github.com/sinatra/sinatra/pull/1743) by tamazon
20
104
 
21
- * Update README.es.md with removal of Thin. [#1630](https://github.com/sinatra/sinatra/pull/1630) by Espartaco Palma
22
-
23
105
  * Minor refactors in `base.rb`. [#1640](https://github.com/sinatra/sinatra/pull/1640) by ceclinux
24
106
 
25
- * Fixed typos in german README.md. [#1648](https://github.com/sinatra/sinatra/pull/1648) by Juri
26
-
27
107
  * Add escaping to the static 404 page. [#1645](https://github.com/sinatra/sinatra/pull/1645) by Chris Gavin
28
108
 
29
109
  * Remove `detect_rack_handler` method. [#1652](https://github.com/sinatra/sinatra/pull/1652) by ceclinux
30
110
 
31
111
  * 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
32
112
 
33
- * Update README.ja.md with removal of Thin. [#1629](https://github.com/sinatra/sinatra/pull/1629) by Ryuichi KAWAMATA
34
-
35
113
  * *Revert "Use prepend instead of include for helpers.* [#1662](https://github.com/sinatra/sinatra/pull/1662) by namusyaka
36
114
 
37
- * Various minor fixes to README.md. [#1663](https://github.com/sinatra/sinatra/pull/1663) by Yanis Zafirópulos
38
-
39
- * 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
40
-
41
- * Update README.pt-br.md. [#1668](https://github.com/sinatra/sinatra/pull/1668) by Vitor Oliveira
42
-
43
115
  * 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
44
116
 
45
117
  * 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
@@ -52,17 +124,29 @@
52
124
 
53
125
  * Fix Delegator to pass keyword arguments for Ruby 3.0. [#1684](https://github.com/sinatra/sinatra/pull/1684) by andrewtblake
54
126
 
55
- * Fix use with keyword arguments for Ruby 3.0. [#1701](https://github.com/sinatra/sinatra/pull/1701) by Robin Wallin
127
+ * Fix use with keyword arguments for Ruby 3.0. [#1701](https://github.com/sinatra/sinatra/pull/1701) by Robin Wallin
56
128
 
57
129
  * 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
58
130
 
59
131
  * Remove unnecessary `test_files` from the gemspec. [#1712](https://github.com/sinatra/sinatra/pull/1712) by Masataka Pocke Kuwabara
60
132
 
133
+ * Docs: Spanish documentation: Update README.es.md with removal of Thin. [#1630](https://github.com/sinatra/sinatra/pull/1630) by Espartaco Palma
134
+
135
+ * Docs: German documentation: Fixed typos in German README.md. [#1648](https://github.com/sinatra/sinatra/pull/1648) by Juri
136
+
137
+ * Docs: Japanese documentation: Update README.ja.md with removal of Thin. [#1629](https://github.com/sinatra/sinatra/pull/1629) by Ryuichi KAWAMATA
138
+
139
+ * Docs: English documentation: Various minor fixes to README.md. [#1663](https://github.com/sinatra/sinatra/pull/1663) by Yanis Zafirópulos
140
+
141
+ * 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
142
+
143
+ * Docs: Brazilian Portuguese documentation: Update README.pt-br.md with translation fixes. [#1668](https://github.com/sinatra/sinatra/pull/1668) by Vitor Oliveira
144
+
61
145
  ### CI
62
146
 
63
147
  * Use latest JRuby 9.2.16.0 on CI. [#1682](https://github.com/sinatra/sinatra/pull/1682) by Olle Jonsson
64
148
 
65
- * Switch CI from travis to Github actions. [#1691](https://github.com/sinatra/sinatra/pull/1691) by namusyaka
149
+ * Switch CI from travis to GitHub Actions. [#1691](https://github.com/sinatra/sinatra/pull/1691) by namusyaka
66
150
 
67
151
  * Skip the Slack action if `secrets.SLACK_WEBHOOK` is not set. [#1705](https://github.com/sinatra/sinatra/pull/1705) by Robin Wallin
68
152
 
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,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Why use bundler?
2
4
  # Well, not all development dependencies install on all rubies. Moreover, `gem
3
5
  # install sinatra --development` doesn't work, as it will also try to install
@@ -6,74 +8,52 @@
6
8
  #
7
9
  # If you have issues with a gem: `bundle install --without-coffee-script`.
8
10
 
9
- RUBY_ENGINE = 'ruby' unless defined? RUBY_ENGINE
10
- source 'https://rubygems.org' unless ENV['QUICK']
11
+ source 'https://rubygems.org'
11
12
  gemspec
12
13
 
13
14
  gem 'rake'
14
- gem 'rack', '~> 2.0'
15
- gem 'rack-test', '>= 0.6.2'
16
- gem "minitest", "~> 5.0"
17
- gem 'yard'
18
-
19
- gem "rack-protection", path: "rack-protection"
20
- gem "sinatra-contrib", path: "sinatra-contrib"
21
15
 
22
- gem "twitter-text", "1.14.7"
16
+ rack_version = ENV['rack'].to_s
17
+ rack_version = nil if rack_version.empty? || (rack_version == 'stable')
18
+ rack_version = { github: 'rack/rack' } if rack_version == 'head'
19
+ gem 'rack', rack_version
23
20
 
24
- if RUBY_ENGINE == 'jruby'
25
- gem 'nokogiri', '!= 1.5.0'
26
- gem 'puma', '~> 5'
27
- end
21
+ puma_version = ENV['puma'].to_s
22
+ puma_version = nil if puma_version.empty? || (puma_version == 'stable')
23
+ puma_version = { github: 'puma/puma' } if puma_version == 'head'
24
+ gem 'puma', puma_version
28
25
 
29
- if RUBY_ENGINE == 'jruby' || RUBY_ENGINE == 'ruby'
30
- gem "activesupport", "~> 5.1.6"
31
- end
32
-
33
- if RUBY_ENGINE == "ruby"
34
- gem 'less', '~> 2.0'
35
- gem 'therubyracer'
36
- gem 'redcarpet'
37
- gem 'wlang', '>= 3.0.1'
38
- gem 'bluecloth'
39
- gem 'rdiscount'
40
- gem 'RedCloth'
41
- gem 'puma', '~> 5'
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 'kramdown'
49
- gem 'maruku'
50
- gem 'creole'
51
- gem 'wikicloth'
52
- gem 'markaby'
53
- gem 'radius'
54
- gem 'asciidoctor'
55
- gem 'liquid'
56
- gem 'stylus'
57
- gem 'rabl'
58
- gem 'builder'
59
- gem 'erubi'
60
- gem 'erubis'
61
- gem 'haml', '>= 3.0'
62
- gem 'sass'
63
- gem 'reel-rack'
64
- gem 'celluloid', '~> 0.16.0'
65
- gem 'commonmarker', '~> 0.20.0'
66
- gem 'pandoc-ruby', '~> 2.0.2'
67
- gem 'simplecov', require: false
68
- end
69
-
70
- if RUBY_ENGINE == "rbx"
71
- gem 'json'
72
- gem 'rubysl'
73
- gem 'rubysl-test-unit'
74
- gem 'erubi'
75
- end
26
+ gem 'minitest', '~> 5.0'
27
+ gem 'rack-test', github: 'rack/rack-test'
28
+ gem 'rubocop', '~> 1.32.0', require: false
29
+ gem 'yard'
76
30
 
77
- platforms :jruby do
78
- gem 'json'
79
- end
31
+ gem 'rack-protection', path: 'rack-protection'
32
+ gem 'sinatra-contrib', path: 'sinatra-contrib'
33
+
34
+ gem 'activesupport', '~> 6.1'
35
+
36
+ gem 'asciidoctor'
37
+ gem 'builder'
38
+ gem 'commonmarker', '~> 0.23.4', platforms: [:ruby]
39
+ gem 'erubi'
40
+ gem 'eventmachine'
41
+ gem 'falcon', '~> 0.40', platforms: [:ruby]
42
+ gem 'haml', '~> 6'
43
+ gem 'kramdown'
44
+ gem 'liquid'
45
+ gem 'markaby'
46
+ gem 'nokogiri', '> 1.5.0'
47
+ gem 'pandoc-ruby', '~> 2.0.2'
48
+ gem 'rabl'
49
+ gem 'rainbows', platforms: [:mri] # uses #fork
50
+ gem 'rdiscount', platforms: [:ruby]
51
+ gem 'rdoc'
52
+ gem 'redcarpet', platforms: [:ruby]
53
+ gem 'simplecov', require: false
54
+ gem 'slim', '~> 4'
55
+ gem 'yajl-ruby', platforms: [:ruby]
56
+
57
+ gem 'json', platforms: %i[jruby mri]
58
+
59
+ gem 'jar-dependencies', '= 0.4.1', platforms: [:jruby] # Gem::LoadError with jar-dependencies 0.4.2
data/MAINTENANCE.md CHANGED
@@ -4,13 +4,13 @@
4
4
 
5
5
  ### Releases
6
6
 
7
- The next major version of Sinatra will be released from the master 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.
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.
8
8
 
9
9
  ## Issues
10
10
 
11
11
  ### New features
12
12
 
13
- 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.
14
14
 
15
15
  ### Bug fixes
16
16