sinatra 2.2.0 → 3.0.4

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: d2fb7e9fa622d8e1a7b82842d5ac454fd4c1d7b9a52c229ddf64b7dc12433b15
4
- data.tar.gz: 6f7d140ece387704a0f18b2d7a810829b06881e4759bd48474271664ad62abf2
3
+ metadata.gz: 7596f4ab9a68b8aeebf1a916c1cd752a3e7dd2714dd7fa09b8def139f5b2b8f9
4
+ data.tar.gz: 38ee8094ab7b9bf06a30c4bbefa2b915af6a8c1d1c4c2ec4b97918e07e8dce25
5
5
  SHA512:
6
- metadata.gz: a0b7bd428c8efde08d481f3fbe8c845f526f4ab4ed58ede99bbe215c42488195c7d70ea36746d04a041d39cd771f4da9cd30afe64063ab455e14f7c525066efb
7
- data.tar.gz: d4e3b63eaf8b9bce3cf748934404b06b8e0cfeb96da0796e925895ce84d96743d058f09781053051931b67c8ceb56f1bd6b46c8f945f255c4fc24626a9db7571
6
+ metadata.gz: 1f2f27088c9dfb616693cbac0bfc80a2c831e8c4126c3fc86d9b9888e0b5a20bab767d0120a1ef1045466e7d4228d265503b91cb23e2c4502d5dea494017cbda
7
+ data.tar.gz: 1e941fdfd3658202725a247ca4d363fb2d2026a9aa1176f61ca170620317e75dccca16b702ca377f65169a8633e43e9c724076581777e46a13e053b717b8212e
data/CHANGELOG.md CHANGED
@@ -1,28 +1,96 @@
1
- ## 2.2.0 / Unrealased
1
+ ## Unreleased
2
2
 
3
- * Handle EOFError raised by Rack and return Bad Request 400 status. [#1743](https://github.com/sinatra/sinatra/pull/1743) by tamazon
3
+ * _Your new feature here._
4
4
 
5
- * Update README.es.md with removal of Thin. [#1630](https://github.com/sinatra/sinatra/pull/1630) by Espartaco Palma
5
+ ## 3.0.4 / 2022-11-25
6
6
 
7
- * Minor refactors in `base.rb`. [#1640](https://github.com/sinatra/sinatra/pull/1640) by ceclinux
7
+ * Fix: Escape filename in the Content-Disposition header. [#1841](https://github.com/sinatra/sinatra/pull/1841) by Kunpei Sakai
8
8
 
9
- * Fixed typos in german README.md. [#1648](https://github.com/sinatra/sinatra/pull/1648) by Juri
9
+ ## 3.0.3 / 2022-11-11
10
10
 
11
- * Add escaping to the static 404 page. [#1645](https://github.com/sinatra/sinatra/pull/1645) by Chris Gavin
11
+ * Fix: fixed ReDoS for Rack::Protection::IPSpoofing. [#1823](https://github.com/sinatra/sinatra/pull/1823) by @ooooooo-q
12
12
 
13
- * Remove `detect_rack_handler` method. [#1652](https://github.com/sinatra/sinatra/pull/1652) by ceclinux
13
+ ## 3.0.2 / 2022-10-01
14
14
 
15
- * 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
15
+ * New: Add Haml 6 support. [#1820](https://github.com/sinatra/sinatra/pull/1820) by Jordan Owens
16
16
 
17
- * Update README.ja.md with removal of Thin. [#1629](https://github.com/sinatra/sinatra/pull/1629) by Ryuichi KAWAMATA
17
+ ## 3.0.1 / 2022-09-26
18
18
 
19
- * *Revert "Use prepend instead of include for helpers.* [#1662](https://github.com/sinatra/sinatra/pull/1662) by namusyaka
19
+ * Fix: Revert removal of rack-protection.rb. [#1814](https://github.com/sinatra/sinatra/pull/1814) by Olle Jonsson
20
+
21
+ * 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
22
+
23
+ ## 3.0.0 / 2022-09-26
24
+
25
+ * New: Add Falcon support. [#1794](https://github.com/sinatra/sinatra/pull/1794) by Samuel Williams and @horaciob
26
+
27
+ * New: Add AES GCM encryption support for session cookies. [#1324] (https://github.com/sinatra/sinatra/pull/1324) by Michael Coyne
28
+
29
+ * Deprecated: Sinatra Reloader will be removed in the next major release.
30
+
31
+ * 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
32
+
33
+ * Fix: Preserve query param value if named route param nil. [#1676](https://github.com/sinatra/sinatra/pull/1676) by Jordan Owens
34
+
35
+ * Require Ruby 2.6 as minimum Ruby version. [#1699](https://github.com/sinatra/sinatra/pull/1699) by Eloy Pérez
36
+
37
+ * Breaking change: Remove support for the Stylus template engine. [#1697](https://github.com/sinatra/sinatra/pull/1697) by Eloy Pérez
38
+
39
+ * Breaking change: Remove support for the erubis template engine. [#1761](https://github.com/sinatra/sinatra/pull/1761) by Eloy Pérez
40
+
41
+ * Breaking change: Remove support for the textile template engine. [#1766](https://github.com/sinatra/sinatra/pull/1766) by Eloy Pérez
42
+
43
+ * Breaking change: Remove support for SASS as a template engine. [#1768](https://github.com/sinatra/sinatra/pull/1768) by Eloy Pérez
44
+
45
+ * Breaking change: Remove support for Wlang as a template engine. [#1780](https://github.com/sinatra/sinatra/pull/1780) by Eloy Pérez
46
+
47
+ * Breaking change: Remove support for CoffeeScript as a template engine. [#1790](https://github.com/sinatra/sinatra/pull/1790) by Eloy Pérez
48
+
49
+ * Breaking change: Remove support for Mediawiki as a template engine. [#1791](https://github.com/sinatra/sinatra/pull/1791) by Eloy Pérez
50
+
51
+ * Breaking change: Remove support for Creole as a template engine. [#1792](https://github.com/sinatra/sinatra/pull/1792) by Eloy Pérez
52
+
53
+ * Breaking change: Remove support for Radius as a template engine. [#1793](https://github.com/sinatra/sinatra/pull/1793) by Eloy Pérez
54
+
55
+ * 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
56
+
57
+ * Breaking change: Remove Reel integration. [54597502](https://github.com/sinatra/sinatra/commit/545975025927a27a1daca790598620038979f1c5) by Olle Jonsson
20
58
 
21
- * Various minor fixes to README.md. [#1663](https://github.com/sinatra/sinatra/pull/1663) by Yanis Zafirópulos
59
+ * 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
22
60
 
23
- * 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
61
+ * Use `Kernel#caller_locations`. [#1491](https://github.com/sinatra/sinatra/pull/1491) by Julik Tarkhanov
24
62
 
25
- * Update README.pt-br.md. [#1668](https://github.com/sinatra/sinatra/pull/1668) by Vitor Oliveira
63
+ * Docs: Japanese documentation: Add notes about the `default_content_type` setting. [#1650](https://github.com/sinatra/sinatra/pull/1650) by Akifumi Tominaga
64
+
65
+ * Docs: Polish documentation: Add section about Multithreaded modes and Routes. [#1708](https://github.com/sinatra/sinatra/pull/1708) by Patrick Gramatowski
66
+
67
+ * Docs: Japanese documentation: Make Session section reflect changes done to README.md. [#1731](https://github.com/sinatra/sinatra/pull/1731) by @shu-i-chi
68
+
69
+ ## 2.2.2 / 2022-07-23
70
+
71
+ * Update mustermann dependency to version 2.
72
+
73
+ ## 2.2.1 / 2022-07-15
74
+
75
+ * Fix JRuby regression by using ruby2_keywords for delegation. #1750 by Patrik Ragnarsson
76
+
77
+ * Add JRuby to CI. #1755 by Karol Bucek
78
+
79
+ ## 2.2.0 / 2022-02-15
80
+
81
+ * 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
82
+
83
+ * Handle EOFError raised by Rack and return Bad Request 400 status. [#1743](https://github.com/sinatra/sinatra/pull/1743) by tamazon
84
+
85
+ * Minor refactors in `base.rb`. [#1640](https://github.com/sinatra/sinatra/pull/1640) by ceclinux
86
+
87
+ * Add escaping to the static 404 page. [#1645](https://github.com/sinatra/sinatra/pull/1645) by Chris Gavin
88
+
89
+ * Remove `detect_rack_handler` method. [#1652](https://github.com/sinatra/sinatra/pull/1652) by ceclinux
90
+
91
+ * 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
92
+
93
+ * *Revert "Use prepend instead of include for helpers.* [#1662](https://github.com/sinatra/sinatra/pull/1662) by namusyaka
26
94
 
27
95
  * 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
28
96
 
@@ -36,20 +104,29 @@
36
104
 
37
105
  * Fix Delegator to pass keyword arguments for Ruby 3.0. [#1684](https://github.com/sinatra/sinatra/pull/1684) by andrewtblake
38
106
 
39
- * Fix use with keyword arguments for Ruby 3.0. [#1701](https://github.com/sinatra/sinatra/pull/1701) by Robin Wallin
107
+ * Fix use with keyword arguments for Ruby 3.0. [#1701](https://github.com/sinatra/sinatra/pull/1701) by Robin Wallin
40
108
 
41
109
  * 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
42
110
 
43
111
  * Remove unnecessary `test_files` from the gemspec. [#1712](https://github.com/sinatra/sinatra/pull/1712) by Masataka Pocke Kuwabara
44
112
 
45
- * Add `#select`, `#reject` and `#compact` methods to `Sinatra::IndifferentHash`. [#1711](https://github.com/sinatra/sinatra/pull/1711) by Olivier Bellone
113
+ * Docs: Spanish documentation: Update README.es.md with removal of Thin. [#1630](https://github.com/sinatra/sinatra/pull/1630) by Espartaco Palma
114
+
115
+ * Docs: German documentation: Fixed typos in German README.md. [#1648](https://github.com/sinatra/sinatra/pull/1648) by Juri
116
+
117
+ * Docs: Japanese documentation: Update README.ja.md with removal of Thin. [#1629](https://github.com/sinatra/sinatra/pull/1629) by Ryuichi KAWAMATA
118
+
119
+ * Docs: English documentation: Various minor fixes to README.md. [#1663](https://github.com/sinatra/sinatra/pull/1663) by Yanis Zafirópulos
120
+
121
+ * 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
46
122
 
123
+ * Docs: Brazilian Portuguese documentation: Update README.pt-br.md with translation fixes. [#1668](https://github.com/sinatra/sinatra/pull/1668) by Vitor Oliveira
47
124
 
48
125
  ### CI
49
126
 
50
127
  * Use latest JRuby 9.2.16.0 on CI. [#1682](https://github.com/sinatra/sinatra/pull/1682) by Olle Jonsson
51
128
 
52
- * Switch CI from travis to Github actions. [#1691](https://github.com/sinatra/sinatra/pull/1691) by namusyaka
129
+ * Switch CI from travis to GitHub Actions. [#1691](https://github.com/sinatra/sinatra/pull/1691) by namusyaka
53
130
 
54
131
  * Skip the Slack action if `secrets.SLACK_WEBHOOK` is not set. [#1705](https://github.com/sinatra/sinatra/pull/1705) by Robin Wallin
55
132
 
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,75 +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 == 'latest'
19
+ gem 'rack', rack_version
23
20
 
24
- if RUBY_ENGINE == 'jruby'
25
- gem 'nokogiri', '!= 1.5.0'
26
- gem 'puma'
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 == 'latest'
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'
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
70
-
71
- if RUBY_ENGINE == "rbx"
72
- gem 'json'
73
- gem 'rubysl'
74
- gem 'rubysl-test-unit'
75
- gem 'erubi'
76
- 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'
77
30
 
78
- platforms :jruby do
79
- gem 'json'
80
- 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', '~> 5'
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