sinatra 2.2.4 → 3.0.6

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: 1e7c0f0444061d6ca90cf2956cb78a750065625116500dafde2da94ec133c1c4
4
- data.tar.gz: 03ae4a16304045e5a52a8f98e07922ab0c5351889a1106942a22d89445dfcef4
3
+ metadata.gz: '08567da318760f376b1c6c8ccafd4e1268ff19a800c90939d9f1448a7c85edcb'
4
+ data.tar.gz: 4287d74952e33c257cd981ed731e732cd0811dbeaeeb7fa553817ef3ad44a9d8
5
5
  SHA512:
6
- metadata.gz: 41c6dc03102ac2ca8735d30a4cd1646d803be5a7fbd9cae0702cb3b41419e6b17451707498749baf0c06d2002b075e3f9d06a1eef1d4a4ee35dee95c73dd2bc3
7
- data.tar.gz: 4c7ebcf714cb7f73f8fa5b179f41f978994126c90c775d4a3a4aa944c6146ece45cb9c797b130ab8a2575e177fd7128b8c5da7f6cdb440a18a2110cc7aca215e
6
+ metadata.gz: af4979f21e7a5bc8e2aebadc68138ad5885829d5c25060303c526fec354552d178d39ae050f5a49700da4bc4b4653264e5371c6dfda44df585a7f198353f65dc
7
+ data.tar.gz: 3cd222fd4e5a5337cc63a6df8d813ec695cb2e4ea73294048de169e92c93dcee36a6d90f2bbb0a3525f3d27b86c3499f762f1c0b8904e79c7a012a9852095aeb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,85 @@
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
@@ -10,38 +92,26 @@
10
92
 
11
93
  ## 2.2.1 / 2022-07-15
12
94
 
13
- * 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
14
96
 
15
- * Add JRuby to CI. [#1755](https://github.com/sinatra/sinatra/pull/1755) by Karol Bucek
97
+ * Add JRuby to CI. #1755 by Karol Bucek
16
98
 
17
99
  ## 2.2.0 / 2022-02-15
18
100
 
19
- * 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
20
102
 
21
103
  * Handle EOFError raised by Rack and return Bad Request 400 status. [#1743](https://github.com/sinatra/sinatra/pull/1743) by tamazon
22
104
 
23
- * Update README.es.md with removal of Thin. [#1630](https://github.com/sinatra/sinatra/pull/1630) by Espartaco Palma
24
-
25
105
  * Minor refactors in `base.rb`. [#1640](https://github.com/sinatra/sinatra/pull/1640) by ceclinux
26
106
 
27
- * Fixed typos in german README.md. [#1648](https://github.com/sinatra/sinatra/pull/1648) by Juri
28
-
29
107
  * Add escaping to the static 404 page. [#1645](https://github.com/sinatra/sinatra/pull/1645) by Chris Gavin
30
108
 
31
109
  * Remove `detect_rack_handler` method. [#1652](https://github.com/sinatra/sinatra/pull/1652) by ceclinux
32
110
 
33
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
34
112
 
35
- * Update README.ja.md with removal of Thin. [#1629](https://github.com/sinatra/sinatra/pull/1629) by Ryuichi KAWAMATA
36
-
37
113
  * *Revert "Use prepend instead of include for helpers.* [#1662](https://github.com/sinatra/sinatra/pull/1662) by namusyaka
38
114
 
39
- * Various minor fixes to README.md. [#1663](https://github.com/sinatra/sinatra/pull/1663) by Yanis Zafirópulos
40
-
41
- * 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
42
-
43
- * Update README.pt-br.md. [#1668](https://github.com/sinatra/sinatra/pull/1668) by Vitor Oliveira
44
-
45
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
46
116
 
47
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
@@ -54,17 +124,29 @@
54
124
 
55
125
  * Fix Delegator to pass keyword arguments for Ruby 3.0. [#1684](https://github.com/sinatra/sinatra/pull/1684) by andrewtblake
56
126
 
57
- * 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
58
128
 
59
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
60
130
 
61
131
  * Remove unnecessary `test_files` from the gemspec. [#1712](https://github.com/sinatra/sinatra/pull/1712) by Masataka Pocke Kuwabara
62
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
+
63
145
  ### CI
64
146
 
65
147
  * Use latest JRuby 9.2.16.0 on CI. [#1682](https://github.com/sinatra/sinatra/pull/1682) by Olle Jonsson
66
148
 
67
- * 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
68
150
 
69
151
  * Skip the Slack action if `secrets.SLACK_WEBHOOK` is not set. [#1705](https://github.com/sinatra/sinatra/pull/1705) by Robin Wallin
70
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