sinatra 3.0.5 → 4.0.0

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: 253794a685657aa33414a6384abfa99f0c4b0a8aa97a9f15aa6d5ae88bcd747e
4
- data.tar.gz: 455faa2397e06210cdeeb6e90eb5b8ec56908695585c869bb9241afc1e480cca
3
+ metadata.gz: 71d0bb379c736d6c251ceb424cac84dbe3a8b22d80a54473a0af1085b93b7dbf
4
+ data.tar.gz: 489d48a5e4f934127e04cdafa2d0d582c5143cc2a8f476239ea5b5b0f0e492c9
5
5
  SHA512:
6
- metadata.gz: b8ca8d0630ca6a5b420a6066ac6bb0375092e92a549bf623974a8780b576b859a227eccf32402ffb4628a04523c107420cda5982bcc69a14dbb3779ff299b255
7
- data.tar.gz: 85352987ea63bcbdfa6a80af67a59e5e3e4e812f1aaf4f28016ebd085805934ffa2787278b3034cef623ee5ed278bb5b66eeb02f390b6b8fea5326f7f039c4d7
6
+ metadata.gz: fbe92c1867d3ebe8ddc3f707c4e9f9cf2b68bddf2556164b85083ac635650725d63f8c847b4c70d0ad2abf6793b5f1054918b0b7c4e04d303119867be84c3253
7
+ data.tar.gz: 0727d88e9f5574c304dd3f31c6107a2b3e1cde96914e258c86fee529a1e922b0ff1d023f109fcc3b232f010ae21d9bdb4c365001dc7c3f658c0bd75b95e8d24d
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,6 +1,79 @@
1
- ## Unreleased
1
+ ## 4.0.0. / 2024-01-19
2
2
 
3
- * _Your new feature here._
3
+ * New: Add support for Rack 3 ([#1857])
4
+ * Note: you may want to read the [Rack 3 Upgrade Guide]
5
+
6
+ * Require Ruby 2.7.8 as minimum Ruby version ([#1993])
7
+
8
+ * Breaking change: Drop support for Rack 2 ([#1857])
9
+ * Note: when using Sinatra to start the web server, you now need the `rackup` gem installed
10
+
11
+ * Breaking change: Remove the `IndifferentHash` initializer ([#1982])
12
+
13
+ * Breaking change: Disable `session_hijacking` protection by default ([#1984])
14
+
15
+ * Breaking change: Remove `Rack::Protection::EncryptedCookie` ([#1989])
16
+ * Note: cookies are still encrypted (by [`Rack::Session::Cookie`])
17
+
18
+ [#1857]: https://github.com/sinatra/sinatra/pull/1857
19
+ [#1993]: https://github.com/sinatra/sinatra/pull/1993
20
+ [#1982]: https://github.com/sinatra/sinatra/pull/1982
21
+ [#1984]: https://github.com/sinatra/sinatra/pull/1984
22
+ [#1989]: https://github.com/sinatra/sinatra/pull/1989
23
+ [`Rack::Session::Cookie`]: https://github.com/rack/rack-session
24
+ [Rack 3 Upgrade Guide]: https://github.com/rack/rack/blob/main/UPGRADE-GUIDE.md
25
+
26
+ ## 3.2.0 / 2023-12-29
27
+
28
+ * New: Add `#except` method to `Sinatra::IndifferentHash` ([#1940])
29
+
30
+ * New: Use `Exception#detailed_message` to show backtrace ([#1952])
31
+
32
+ * New: Add `Sinatra::HamlHelpers` to sinatra-contrib ([#1960])
33
+
34
+ * Fix: Add `base64` to rack-protection runtime dependencies ([#1946])
35
+
36
+ * Fix: Avoid open-ended dependencies for sinatra-contrib and rack-protection ([#1949])
37
+
38
+ * Fix: Helpful message when `Sinatra::Runner` times out ([#1975])
39
+
40
+ * Fix: Ruby 3.3 + Bundler 2.5 compatibility ([#1975])
41
+
42
+ [#1940]: https://github.com/sinatra/sinatra/pull/1940
43
+ [#1946]: https://github.com/sinatra/sinatra/pull/1946
44
+ [#1949]: https://github.com/sinatra/sinatra/pull/1949
45
+ [#1952]: https://github.com/sinatra/sinatra/pull/1952
46
+ [#1960]: https://github.com/sinatra/sinatra/pull/1960
47
+ [#1975]: https://github.com/sinatra/sinatra/pull/1975
48
+
49
+ ## 3.1.0 / 2023-08-07
50
+
51
+ * New: Add sass support via sass-embedded [#1911] by なつき
52
+
53
+ * New: Add start and stop callbacks [#1913] by Jevin Sew
54
+
55
+ * New: Warn on dropping sessions [#1900] by Jonathan del Strother
56
+
57
+ * New: Make Puma the default server [#1924] by Patrik Ragnarsson
58
+
59
+ * Fix: Remove use of Tilt::Cache [#1922] by Jeremy Evans (allows use of Tilt 2.2.0 without deprecation warning)
60
+
61
+ * Fix: rack-protection: specify rack version requirement [#1932] by Patrik Ragnarsson
62
+
63
+ [#1911]: https://github.com/sinatra/sinatra/pull/1911
64
+ [#1913]: https://github.com/sinatra/sinatra/pull/1913
65
+ [#1900]: https://github.com/sinatra/sinatra/pull/1900
66
+ [#1924]: https://github.com/sinatra/sinatra/pull/1924
67
+ [#1922]: https://github.com/sinatra/sinatra/pull/1922
68
+ [#1932]: https://github.com/sinatra/sinatra/pull/1932
69
+
70
+ ## 3.0.6 / 2023-04-11
71
+
72
+ * Fix: Add support to keep open streaming connections with Puma [#1858](https://github.com/sinatra/sinatra/pull/1858) by Jordan Owens
73
+
74
+ * Fix: Avoid crash in `uri` helper on Integer input [#1890](https://github.com/sinatra/sinatra/pull/1890) by Patrik Ragnarsson
75
+
76
+ * Fix: Rescue `RuntimeError` when trying to use `SecureRandom` [#1888](https://github.com/sinatra/sinatra/pull/1888) by Stefan Sundin
4
77
 
5
78
  ## 3.0.5 / 2022-12-16
6
79
 
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,13 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Why use bundler?
4
- # Well, not all development dependencies install on all rubies. Moreover, `gem
5
- # install sinatra --development` doesn't work, as it will also try to install
6
- # development dependencies of our dependencies, and those are not conflict free.
7
- # So, here we are, `bundle install`.
8
- #
9
- # If you have issues with a gem: `bundle install --without-coffee-script`.
10
-
11
3
  source 'https://rubygems.org'
12
4
  gemspec
13
5
 
@@ -15,45 +7,55 @@ gem 'rake'
15
7
 
16
8
  rack_version = ENV['rack'].to_s
17
9
  rack_version = nil if rack_version.empty? || (rack_version == 'stable')
18
- rack_version = { github: 'rack/rack' } if rack_version == 'latest'
10
+ rack_version = { github: 'rack/rack' } if rack_version == 'head'
19
11
  gem 'rack', rack_version
20
12
 
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
17
+
18
+ gem 'rackup'
19
+
21
20
  puma_version = ENV['puma'].to_s
22
21
  puma_version = nil if puma_version.empty? || (puma_version == 'stable')
23
- puma_version = { github: 'puma/puma' } if puma_version == 'latest'
22
+ puma_version = { github: 'puma/puma' } if puma_version == 'head'
24
23
  gem 'puma', puma_version
25
24
 
26
25
  gem 'minitest', '~> 5.0'
27
- gem 'rack-test', github: 'rack/rack-test'
26
+ gem 'rack-test'
28
27
  gem 'rubocop', '~> 1.32.0', require: false
29
- gem 'yard'
28
+ gem 'yard' # used by rake doc
30
29
 
31
30
  gem 'rack-protection', path: 'rack-protection'
32
31
  gem 'sinatra-contrib', path: 'sinatra-contrib'
33
32
 
34
- gem 'activesupport', '~> 6.1'
35
-
36
33
  gem 'asciidoctor'
37
34
  gem 'builder'
35
+ gem 'childprocess', '>= 5'
38
36
  gem 'commonmarker', '~> 0.23.4', platforms: [:ruby]
39
37
  gem 'erubi'
40
38
  gem 'eventmachine'
41
39
  gem 'falcon', '~> 0.40', platforms: [:ruby]
42
- gem 'haml', '~> 5'
40
+ gem 'haml', '~> 6'
43
41
  gem 'kramdown'
44
42
  gem 'liquid'
45
43
  gem 'markaby'
46
44
  gem 'nokogiri', '> 1.5.0'
47
45
  gem 'pandoc-ruby', '~> 2.0.2'
48
46
  gem 'rabl'
49
- gem 'rainbows', platforms: [:mri] # uses #fork
50
47
  gem 'rdiscount', platforms: [:ruby]
51
48
  gem 'rdoc'
52
49
  gem 'redcarpet', platforms: [:ruby]
53
50
  gem 'simplecov', require: false
54
51
  gem 'slim', '~> 4'
55
52
  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
53
+ gem 'zeitwerk'
54
+
55
+ # sass-embedded depends on google-protobuf
56
+ # which fails to be installed on JRuby and TruffleRuby under aarch64
57
+ # https://github.com/jruby/jruby/issues/8062
58
+ # https://github.com/protocolbuffers/protobuf/issues/11935
59
+ java = %w(jruby truffleruby).include?(RUBY_ENGINE)
60
+ aarch64 = RbConfig::CONFIG["target_cpu"] == 'aarch64'
61
+ gem 'sass-embedded', '~> 1.54' unless java && aarch64
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