roda 3.83.0 → 3.85.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/roda/plugins/Integer_matcher_max.rb +9 -8
- data/lib/roda/plugins/_optimized_matching.rb +2 -2
- data/lib/roda/plugins/_symbol_class_matchers.rb +107 -0
- data/lib/roda/plugins/capture_erb.rb +6 -5
- data/lib/roda/plugins/class_matchers.rb +91 -14
- data/lib/roda/plugins/hsts.rb +35 -0
- data/lib/roda/plugins/placeholder_string_matchers.rb +4 -0
- data/lib/roda/plugins/public.rb +1 -1
- data/lib/roda/plugins/render.rb +1 -1
- data/lib/roda/plugins/symbol_matchers.rb +70 -15
- data/lib/roda/request.rb +16 -13
- data/lib/roda/response.rb +1 -1
- data/lib/roda/version.rb +1 -1
- data/lib/roda.rb +7 -0
- metadata +5 -179
- data/CHANGELOG +0 -691
- data/README.rdoc +0 -1136
- data/doc/conventions.rdoc +0 -177
- data/doc/release_notes/3.0.0.txt +0 -84
- data/doc/release_notes/3.1.0.txt +0 -24
- data/doc/release_notes/3.10.0.txt +0 -132
- data/doc/release_notes/3.11.0.txt +0 -54
- data/doc/release_notes/3.12.0.txt +0 -19
- data/doc/release_notes/3.13.0.txt +0 -38
- data/doc/release_notes/3.14.0.txt +0 -36
- data/doc/release_notes/3.14.1.txt +0 -43
- data/doc/release_notes/3.15.0.txt +0 -21
- data/doc/release_notes/3.16.0.txt +0 -52
- data/doc/release_notes/3.17.0.txt +0 -62
- data/doc/release_notes/3.18.0.txt +0 -170
- data/doc/release_notes/3.19.0.txt +0 -229
- data/doc/release_notes/3.2.0.txt +0 -22
- data/doc/release_notes/3.20.0.txt +0 -7
- data/doc/release_notes/3.21.0.txt +0 -5
- data/doc/release_notes/3.22.0.txt +0 -24
- data/doc/release_notes/3.23.0.txt +0 -28
- data/doc/release_notes/3.24.0.txt +0 -14
- data/doc/release_notes/3.25.0.txt +0 -12
- data/doc/release_notes/3.26.0.txt +0 -15
- data/doc/release_notes/3.27.0.txt +0 -15
- data/doc/release_notes/3.28.0.txt +0 -13
- data/doc/release_notes/3.29.0.txt +0 -15
- data/doc/release_notes/3.3.0.txt +0 -291
- data/doc/release_notes/3.30.0.txt +0 -14
- data/doc/release_notes/3.31.0.txt +0 -11
- data/doc/release_notes/3.32.0.txt +0 -42
- data/doc/release_notes/3.33.0.txt +0 -8
- data/doc/release_notes/3.34.0.txt +0 -17
- data/doc/release_notes/3.35.0.txt +0 -12
- data/doc/release_notes/3.36.0.txt +0 -17
- data/doc/release_notes/3.37.0.txt +0 -42
- data/doc/release_notes/3.38.0.txt +0 -5
- data/doc/release_notes/3.39.0.txt +0 -16
- data/doc/release_notes/3.4.0.txt +0 -24
- data/doc/release_notes/3.40.0.txt +0 -24
- data/doc/release_notes/3.41.0.txt +0 -9
- data/doc/release_notes/3.42.0.txt +0 -21
- data/doc/release_notes/3.43.0.txt +0 -34
- data/doc/release_notes/3.44.0.txt +0 -23
- data/doc/release_notes/3.45.0.txt +0 -22
- data/doc/release_notes/3.46.0.txt +0 -19
- data/doc/release_notes/3.47.0.txt +0 -13
- data/doc/release_notes/3.48.0.txt +0 -10
- data/doc/release_notes/3.49.0.txt +0 -18
- data/doc/release_notes/3.5.0.txt +0 -31
- data/doc/release_notes/3.50.0.txt +0 -21
- data/doc/release_notes/3.51.0.txt +0 -20
- data/doc/release_notes/3.52.0.txt +0 -20
- data/doc/release_notes/3.53.0.txt +0 -14
- data/doc/release_notes/3.54.0.txt +0 -48
- data/doc/release_notes/3.55.0.txt +0 -12
- data/doc/release_notes/3.56.0.txt +0 -33
- data/doc/release_notes/3.57.0.txt +0 -34
- data/doc/release_notes/3.58.0.txt +0 -16
- data/doc/release_notes/3.59.0.txt +0 -17
- data/doc/release_notes/3.6.0.txt +0 -21
- data/doc/release_notes/3.60.0.txt +0 -56
- data/doc/release_notes/3.61.0.txt +0 -24
- data/doc/release_notes/3.62.0.txt +0 -41
- data/doc/release_notes/3.63.0.txt +0 -36
- data/doc/release_notes/3.64.0.txt +0 -26
- data/doc/release_notes/3.65.0.txt +0 -12
- data/doc/release_notes/3.66.0.txt +0 -23
- data/doc/release_notes/3.67.0.txt +0 -25
- data/doc/release_notes/3.68.0.txt +0 -21
- data/doc/release_notes/3.69.0.txt +0 -33
- data/doc/release_notes/3.7.0.txt +0 -123
- data/doc/release_notes/3.70.0.txt +0 -19
- data/doc/release_notes/3.71.0.txt +0 -33
- data/doc/release_notes/3.72.0.txt +0 -48
- data/doc/release_notes/3.73.0.txt +0 -33
- data/doc/release_notes/3.74.0.txt +0 -28
- data/doc/release_notes/3.75.0.txt +0 -19
- data/doc/release_notes/3.76.0.txt +0 -18
- data/doc/release_notes/3.77.0.txt +0 -8
- data/doc/release_notes/3.78.0.txt +0 -99
- data/doc/release_notes/3.79.0.txt +0 -148
- data/doc/release_notes/3.8.0.txt +0 -27
- data/doc/release_notes/3.80.0.txt +0 -31
- data/doc/release_notes/3.81.0.txt +0 -24
- data/doc/release_notes/3.82.0.txt +0 -43
- data/doc/release_notes/3.83.0.txt +0 -6
- data/doc/release_notes/3.9.0.txt +0 -67
data/CHANGELOG
DELETED
@@ -1,691 +0,0 @@
|
|
1
|
-
= 3.83.0 (2024-08-12)
|
2
|
-
|
3
|
-
* Add assume_ssl plugin for making request ssl? method always return true (jeremyevans)
|
4
|
-
|
5
|
-
= 3.82.0 (2024-07-12)
|
6
|
-
|
7
|
-
* Add :encodings option to public plugin to support configurable encoding order (jeremyevans)
|
8
|
-
|
9
|
-
* Add :zstd option to public plugin to supplement it to serve zstd-compressed files with .zst extension (jeremyevans)
|
10
|
-
|
11
|
-
* Make capture_erb plugin call integrate better with erubi/capture_block (jeremyevans)
|
12
|
-
|
13
|
-
= 3.81.0 (2024-06-12)
|
14
|
-
|
15
|
-
* Make assets plugin :early_hints option follow Rack 3 SPEC if using Rack 3 (jeremyevans)
|
16
|
-
|
17
|
-
* Correctly parse Ruby 3.4 backtraces in exception_page plugin (jeremyevans)
|
18
|
-
|
19
|
-
* Support :until and :seconds option in hmac_paths plugin, for paths valid only until a specific time (jeremyevans)
|
20
|
-
|
21
|
-
= 3.80.0 (2024-05-10)
|
22
|
-
|
23
|
-
* Support :namespace option in hmac_paths plugin, allowing for easy per-user/per-group HMAC paths (jeremyevans)
|
24
|
-
|
25
|
-
= 3.79.0 (2024-04-12)
|
26
|
-
|
27
|
-
* Do not update template mtime when there is an error reloading templates in the render plugin (jeremyevans)
|
28
|
-
|
29
|
-
* Add hmac_paths plugin for preventing path enumeration and supporting access control (jeremyevans)
|
30
|
-
|
31
|
-
= 3.78.0 (2024-03-13)
|
32
|
-
|
33
|
-
* Add permissions_policy plugin for setting Permissions-Policy header (jeremyevans)
|
34
|
-
|
35
|
-
= 3.77.0 (2024-02-12)
|
36
|
-
|
37
|
-
* Support formaction/formmethod attributes in forms in route_csrf plugin (jeremyevans)
|
38
|
-
|
39
|
-
= 3.76.0 (2024-01-12)
|
40
|
-
|
41
|
-
* Support :filter plugin option in error_mail and error_email for filtering parameters, environment variables, and session values (jeremyevans) (#346)
|
42
|
-
|
43
|
-
* Set temporary name on Ruby 3.3 in middleware plugin for middleware class created (janko) (#344)
|
44
|
-
|
45
|
-
* Add break plugin, for using break inside a routing block to return from the block and keep routing (jeremyevans)
|
46
|
-
|
47
|
-
= 3.75.0 (2023-12-14)
|
48
|
-
|
49
|
-
* Add cookie_flags plugin, for overriding, warning, or raising for incorrect cookie flags (jeremyevans)
|
50
|
-
|
51
|
-
= 3.74.0 (2023-11-13)
|
52
|
-
|
53
|
-
* Add redirect_http_to_https plugin, helping to ensure future requests from the browser are submitted via HTTPS (jeremyevans)
|
54
|
-
|
55
|
-
= 3.73.0 (2023-10-13)
|
56
|
-
|
57
|
-
* Support :next_if_not_found option for middleware plugin (jeremyevans) (#334)
|
58
|
-
|
59
|
-
* Remove dependency on base64 library from sessions and route_csrf plugin, as it will not be part of the standard library in Ruby 3.4+ (jeremyevans)
|
60
|
-
|
61
|
-
= 3.72.0 (2023-09-12)
|
62
|
-
|
63
|
-
* Add invalid_request_body plugin for custom handling of invalid request bodies (jeremyevans)
|
64
|
-
|
65
|
-
* Warn when defining method that expects 1 argument when block requires multiple arguments when :check_arity option is set to :warn (jeremyevans)
|
66
|
-
|
67
|
-
* Implement the match_hooks plugin using the match_hook_args plugin (jeremyevans)
|
68
|
-
|
69
|
-
= 3.71.0 (2023-08-14)
|
70
|
-
|
71
|
-
* Add match_hook_args plugin, similar to match_hooks but support matchers and block args as hook arguments (jeremyevans)
|
72
|
-
|
73
|
-
= 3.70.0 (2023-07-12)
|
74
|
-
|
75
|
-
* Add plain_hash_response_headers plugin, using a plain hash for response headers on Rack 3 for much better performance (jeremyevans)
|
76
|
-
|
77
|
-
* Use lower case response header keys by default on Rack 3, instead of relying on Rack::Headers conversion (jeremyevans)
|
78
|
-
|
79
|
-
= 3.69.0 (2023-06-13)
|
80
|
-
|
81
|
-
* Allow symbol_matcher in symbol_matchers plugin to take a block to allow type conversion (jeremyevans)
|
82
|
-
|
83
|
-
= 3.68.0 (2023-05-11)
|
84
|
-
|
85
|
-
* Make Roda.run in multi_run plugin accept blocks to allow autoloading the apps to dispatch to (jeremyevans)
|
86
|
-
|
87
|
-
= 3.67.0 (2023-04-12)
|
88
|
-
|
89
|
-
* Add custom_block_results plugin for registering custom block result handlers (jeremyevans)
|
90
|
-
|
91
|
-
= 3.66.0 (2023-03-13)
|
92
|
-
|
93
|
-
* Support overriding exception page assets via exception_page_{css,js} instance methods (jeremyevans) (#306)
|
94
|
-
|
95
|
-
* Avoid keeping reference to Roda instance that caches an inline template (jeremyevans)
|
96
|
-
|
97
|
-
* Add render_coverage plugin, using tilt 2.1 features to allow for compiled templates in Ruby <3.2 (jeremyevans)
|
98
|
-
|
99
|
-
= 3.65.0 (2023-02-13)
|
100
|
-
|
101
|
-
* Make indifferent_params plugin work with changes in rack main branch (jeremyevans)
|
102
|
-
|
103
|
-
* Add autoload_named_routes plugin for autoloading file for a named route when there is a request for that route (jeremyevans)
|
104
|
-
|
105
|
-
* Make path method in path plugin accept class name string/symbol with :class_name option to register classes without forcing autoloads (jeremyevans)
|
106
|
-
|
107
|
-
= 3.64.0 (2023-01-12)
|
108
|
-
|
109
|
-
* Automatically expand paths for autoload_hash_branches files, so that relative paths work (jeremyevans)
|
110
|
-
|
111
|
-
* Make autoload_hash_branches plugin eagerly load the branches when freezing the application (jeremyevans)
|
112
|
-
|
113
|
-
* Add erb_h plugin for faster (if slightly less safe) html escaping using erb/escape (jeremyevans)
|
114
|
-
|
115
|
-
= 3.63.0 (2022-12-16)
|
116
|
-
|
117
|
-
* Make mailer plugin set configured content type for body part for emails with attachments when using mail 2.8+ (jeremyevans)
|
118
|
-
|
119
|
-
* Add autoload_hash_branches plugin for autoloading file for a hash branch when there is a request for that branch (jeremyevans)
|
120
|
-
|
121
|
-
* Add mailer plugin :terminal option to make r.mail use a terminal match when provided arguments (jeremyevans)
|
122
|
-
|
123
|
-
= 3.62.0 (2022-11-14)
|
124
|
-
|
125
|
-
* Add typecast_params_sized_integers plugin for converting parameters to sized integers (jeremyevans)
|
126
|
-
|
127
|
-
* Add Integer_matcher_max plugin for setting maximum integer value matched by the Integer matcher (jeremyevans)
|
128
|
-
|
129
|
-
* Allow class matchers in the class_matchers plugin to skip matching based on regexp match values (jeremyevans)
|
130
|
-
|
131
|
-
* Fix RodaRequest#matched_path when using unescape_path plugin (jeremyevans) (#286)
|
132
|
-
|
133
|
-
= 3.61.0 (2022-10-12)
|
134
|
-
|
135
|
-
* Make Integer matcher limit integer segments to 100 characters by default (jeremyevans)
|
136
|
-
|
137
|
-
* Limit input bytesize by default for integer, float, and date/time typecasts in typecast_params (jeremyevans)
|
138
|
-
|
139
|
-
= 3.60.0 (2022-09-13)
|
140
|
-
|
141
|
-
* Add link_to plugin with link_to method for creating HTML links (jeremyevans)
|
142
|
-
|
143
|
-
= 3.59.0 (2022-08-12)
|
144
|
-
|
145
|
-
* Add additional_render_engines plugin, for considering multiple render engines for templates (jeremyevans)
|
146
|
-
|
147
|
-
* Fix typo in private method name in delete_empty_headers plugin (mculpt) (#279)
|
148
|
-
|
149
|
-
= 3.58.0 (2022-07-13)
|
150
|
-
|
151
|
-
* Add filter_common_logger plugin for skipping the logging of certain requests when using the common_logger plugin (jeremyevans)
|
152
|
-
|
153
|
-
* Make exception_page plugin use Exception#detailed_message on Ruby 3.2+ (jeremyevans)
|
154
|
-
|
155
|
-
* Make heartbeat plugin compatible with recent changes in the rack master branch (jeremyevans)
|
156
|
-
|
157
|
-
= 3.57.0 (2022-06-14)
|
158
|
-
|
159
|
-
* Make static_routing plugin depend on the hash_paths instead of the hash_routes plugin (jeremyevans)
|
160
|
-
|
161
|
-
* Split hash_branches and hash_paths plugins from hash_routes plugin (jeremyevans)
|
162
|
-
|
163
|
-
* Hex escape unprintable characters in common_logger plugin output (jeremyevans)
|
164
|
-
|
165
|
-
* Add hash_branch_view_subdir plugin for automatically appending a view subdirectory on a successful hash branch (jeremyevans)
|
166
|
-
|
167
|
-
= 3.56.0 (2022-05-13)
|
168
|
-
|
169
|
-
* Make status_303 plugin use 303 responses for HTTP/2 and higher versions (jeremyevans)
|
170
|
-
|
171
|
-
* Add RodaRequest#http_version for determining the HTTP version in use (jeremyevans)
|
172
|
-
|
173
|
-
* Do not set a body for 405 responses when using the verb methods in the not_allowed plugin (jeremyevans) (#267)
|
174
|
-
|
175
|
-
* Support status_handler method :keep_headers option in status_handler plugin (jeremyevans) (#267)
|
176
|
-
|
177
|
-
* Make not_allowed plugin have r.root return 405 responses for non-GET requests (jeremyevans) (#266)
|
178
|
-
|
179
|
-
* In Rack 3, only require the parts of rack used by Roda, instead of requiring rack itself and relying on autoload (jeremyevans)
|
180
|
-
|
181
|
-
* Add run_require_slash plugin, for skipping application dispatch for remaining paths that would violate Rack SPEC (jeremyevans)
|
182
|
-
|
183
|
-
= 3.55.0 (2022-04-12)
|
184
|
-
|
185
|
-
* Allow passing blocks to the view method in the render plugin (jeremyevans) (#262)
|
186
|
-
|
187
|
-
* Add :forward_response_headers middleware plugin option to use app headers as default for response (janko) (#259)
|
188
|
-
|
189
|
-
= 3.54.0 (2022-03-14)
|
190
|
-
|
191
|
-
* Make chunked plugin not use Transfer-Encoding: chunked by default (jeremyevans)
|
192
|
-
|
193
|
-
* Make run_handler plugin close bodies for upstream 404 responses when using not_found: :pass (jeremyevans)
|
194
|
-
|
195
|
-
* Drop all 1xx bodies in the drop body plugin (jeremyevans)
|
196
|
-
|
197
|
-
* Do not set a Content-Length header for 205 responses on Rack <2.0.2 (jeremyevans)
|
198
|
-
|
199
|
-
* Use Rack::Files instead of Rack::File if available, to avoid deprecation warnings (jeremyevans)
|
200
|
-
|
201
|
-
* Work with Rack 3 SPEC, using Rack::Headers to handle lowercasing header keys on Rack 3 (jeremyevans)
|
202
|
-
|
203
|
-
* Allow overriding script tag type attribute returned by assets method in assets plugin (pusewicz) (#250)
|
204
|
-
|
205
|
-
* Make reloading render plugin after additional_view_directories plugin retain :allowed_paths (jeremyevans)
|
206
|
-
|
207
|
-
= 3.53.0 (2022-02-14)
|
208
|
-
|
209
|
-
* Make indifferent_params plugin support rack main branch (jeremyevans)
|
210
|
-
|
211
|
-
* Add additional_view_directories plugin, for checking multiple view directories for templates (jeremyevans) (#229)
|
212
|
-
|
213
|
-
= 3.52.0 (2022-01-14)
|
214
|
-
|
215
|
-
* Fix return value of Roda.freeze when multi_route plugin is used (jeremyevans) (#240)
|
216
|
-
|
217
|
-
* Use faster OpenSSL::Digest instead of Digest for assets plugin SRI support (jeremyevans)
|
218
|
-
|
219
|
-
* Drop development dependency on haml (jeremyevans)
|
220
|
-
|
221
|
-
* Make the path method in the path plugin handle blocks that accept keyword arguments in Ruby 3+ (adam12) (#227)
|
222
|
-
|
223
|
-
* Support typecast_params :date_parse_input_handler plugin option for handling input to date parsing methods (jeremyevans)
|
224
|
-
|
225
|
-
= 3.51.0 (2021-12-15)
|
226
|
-
|
227
|
-
* Avoid method redefinition warning in error_handler plugin in verbose warning mode (jeremyevans)
|
228
|
-
|
229
|
-
* Allow run in multi_run plugin to be called without an app to remove existing handler (jeremyevans)
|
230
|
-
|
231
|
-
* Allow route in named_routes plugin to be called without a block to remove existing handler (jeremyevans)
|
232
|
-
|
233
|
-
= 3.50.0 (2021-11-12)
|
234
|
-
|
235
|
-
* Add capture_erb plugin for capturing ERB template blocks, instead of injecting them into the template output (jeremyevans)
|
236
|
-
|
237
|
-
* Add inject_erb plugin for injecting content directly into ERB template output (jeremyevans)
|
238
|
-
|
239
|
-
* Allow hash_branch and hash_path in hash_routes plugin to be called without a block to remove existing handler (jeremyevans)
|
240
|
-
|
241
|
-
= 3.49.0 (2021-10-13)
|
242
|
-
|
243
|
-
* Switch block_given? to defined?(yield) (jeremyevans)
|
244
|
-
|
245
|
-
* Automatically optimize remaining r.is/r.get/r.post calls with a single argument (jeremyevans)
|
246
|
-
|
247
|
-
= 3.48.0 (2021-09-13)
|
248
|
-
|
249
|
-
* Extract named_routes plugin from multi_route plugin (jeremyevans)
|
250
|
-
|
251
|
-
= 3.47.0 (2021-08-13)
|
252
|
-
|
253
|
-
* Automatically optimize remaining r.on calls with a single argument (jeremyevans)
|
254
|
-
|
255
|
-
= 3.46.0 (2021-07-12)
|
256
|
-
|
257
|
-
* Automatically optimize r.on/r.is/r.get/r.post methods with a single string, String, Integer, or regexp argument (jeremyevans)
|
258
|
-
|
259
|
-
= 3.45.0 (2021-06-14)
|
260
|
-
|
261
|
-
* Make typecast_params plugin check for null bytes in strings by default, with :allow_null_bytes option for previous behavior (jeremyevans)
|
262
|
-
|
263
|
-
= 3.44.0 (2021-05-12)
|
264
|
-
|
265
|
-
* Add optimized_segment_matchers plugin for optimized matchers for a single String class argument (jeremyevans)
|
266
|
-
|
267
|
-
* Use RFC 5987 UTF-8 and ISO-8859-1 encoded filenames when using send_file and attachment in the sinatra_helpers plugin (jeremyevans)
|
268
|
-
|
269
|
-
= 3.43.1 (2021-04-13)
|
270
|
-
|
271
|
-
* [SECURITY] Fix issue where loading content_security_policy plugin after default_headers plugin had no effect (jeremyevans)
|
272
|
-
|
273
|
-
= 3.43.0 (2021-04-12)
|
274
|
-
|
275
|
-
* Add host_authorization plugin, for checking that requests are submitted using an approved host (jeremyevans)
|
276
|
-
|
277
|
-
= 3.42.0 (2021-03-12)
|
278
|
-
|
279
|
-
* Make Roda.plugin support plugins using keyword arguments in Ruby 3 (jeremyevans)
|
280
|
-
|
281
|
-
* Make Roda.use support middleware using keyword arguments in Ruby 3 (pat) (#207)
|
282
|
-
|
283
|
-
* Support common_logger plugin :method option for specifying the method to call on the logger (fnordfish, jeremyevans) (#206)
|
284
|
-
|
285
|
-
* Add recheck_precompiled_assets plugin for checking for updates to the precompiled asset metadata file (jeremyevans)
|
286
|
-
|
287
|
-
* Make compile_assets class method in assets plugin use an atomic approach to writing precompiled metadata file (jeremyevans)
|
288
|
-
|
289
|
-
= 3.41.0 (2021-02-17)
|
290
|
-
|
291
|
-
* Improve view performance with :content option up to 3x by calling compiled template methods directly (jeremyevans)
|
292
|
-
|
293
|
-
= 3.40.0 (2021-01-14)
|
294
|
-
|
295
|
-
* Add freeze_template_caches! to the precompile_templates plugin, which ensures all templates are precompiled, and speeds up template access (jeremyevans)
|
296
|
-
|
297
|
-
* Add precompile_views to the precompile_templates plugin, which precompiles the optimized render methods (jeremyevans)
|
298
|
-
|
299
|
-
* Have RodaCache#freeze return the frozen internal hash (which no longer needs a mutex for thread-safety) (jeremyevans)
|
300
|
-
|
301
|
-
* Speed up the view method in the render plugin even more when freezing the application (jeremyevans)
|
302
|
-
|
303
|
-
* Speed up the view method in the render plugin when called with a single argument (jeremyevans)
|
304
|
-
|
305
|
-
= 3.39.0 (2020-12-15)
|
306
|
-
|
307
|
-
* Speed up relative_path plugin if relative_path or relative_prefix is called more than once (jeremyevans)
|
308
|
-
|
309
|
-
* Avoid method redefinition warnings in verbose warning mode (jeremyevans)
|
310
|
-
|
311
|
-
* Make typecast_params.convert! handle explicit nil values the same as missing values (jeremyevans)
|
312
|
-
|
313
|
-
= 3.38.0 (2020-11-16)
|
314
|
-
|
315
|
-
* Make error_email and error_mail plugins rescue invalid parameter errors when preparing the email body (jeremyevans)
|
316
|
-
|
317
|
-
= 3.37.0 (2020-10-16)
|
318
|
-
|
319
|
-
* Add custom_matchers plugin, for supporting arbitrary objects as matchers (jeremyevans)
|
320
|
-
|
321
|
-
= 3.36.0 (2020-09-14)
|
322
|
-
|
323
|
-
* Add multi_public plugin, for serving files from multiple public directories (jeremyevans)
|
324
|
-
|
325
|
-
* Support report-to directive in the content_security_policy plugin (jeremyevans)
|
326
|
-
|
327
|
-
* Add Vary response header when using type_routing plugin with Accept request header to prevent caching issues (jeremyevans)
|
328
|
-
|
329
|
-
= 3.35.0 (2020-08-14)
|
330
|
-
|
331
|
-
* Add r plugin for r method for accessing request, useful when r local variable is not in scope (jeremyevans)
|
332
|
-
|
333
|
-
* Warn when loading a plugin with arguments or a block if the plugin does not accept arguments or block (jeremyevans)
|
334
|
-
|
335
|
-
= 3.34.0 (2020-07-14)
|
336
|
-
|
337
|
-
* Remove unnecessary conditionals (jeremyevans)
|
338
|
-
|
339
|
-
* Allow loading the match_affix plugin with a single argument (jeremyevans)
|
340
|
-
|
341
|
-
* Do not include pre/post context sections if empty in the exception_page plugin (jeremyevans)
|
342
|
-
|
343
|
-
= 3.33.0 (2020-06-16)
|
344
|
-
|
345
|
-
* Add :brotli option to public plugin to supplement it to serve brotli-compressed files like :gzip does for gzipped files (hmdne) (#194)
|
346
|
-
|
347
|
-
* Add url method to path plugin, similar to path but returning the entire URL (jeremyevans)
|
348
|
-
|
349
|
-
= 3.32.0 (2020-05-15)
|
350
|
-
|
351
|
-
* Make :dependencies option in assets plugin work correctly with render plugin template caching (jeremyevans) (#191)
|
352
|
-
|
353
|
-
* Support render method :dependencies option for specifying which files to check for modification (jgarth, jeremyevans) (#192)
|
354
|
-
|
355
|
-
* Add each_partial to the partials plugin for rendering a partial for each element in an enumerable (jeremyevans)
|
356
|
-
|
357
|
-
* Make render_each in render_each plugin handle template names with directories and extensions (jeremyevans)
|
358
|
-
|
359
|
-
= 3.31.0 (2020-04-15)
|
360
|
-
|
361
|
-
* Add :relative option to path method in path plugin, for generating a method returning relative paths (jeremyevans)
|
362
|
-
|
363
|
-
* Add relative_path plugin, for turning absolute paths to paths relative to the current request (jeremyevans)
|
364
|
-
|
365
|
-
= 3.30.0 (2020-03-13)
|
366
|
-
|
367
|
-
* Support :relative_paths assets plugin option to use relative paths for the assets (jeremyevans)
|
368
|
-
|
369
|
-
* Make run_append_slash and run_handler plugins work when used together (janko) (#185)
|
370
|
-
|
371
|
-
* Make :header matcher in header_matchers plugin work for Content-Type and Content-Length (jeremyevans) (#184)
|
372
|
-
|
373
|
-
= 3.29.0 (2020-02-14)
|
374
|
-
|
375
|
-
* Remove specs and old release notes from the gem to reduce gem size by over 35% (jeremyevans)
|
376
|
-
|
377
|
-
* Raise RodaError if trying to load a plugin that is not a module (jeremyevans)
|
378
|
-
|
379
|
-
* Include SCRIPT_NAME when logging in common logger plugin (jeremyevans)
|
380
|
-
|
381
|
-
* Handle invalid POST data when using the exception_page plugin (jeremyevans)
|
382
|
-
|
383
|
-
= 3.28.0 (2020-01-15)
|
384
|
-
|
385
|
-
* Add session_created_at and session_updated_at methods to the sessions plugin (jeremyevans)
|
386
|
-
|
387
|
-
* Make upgrading from rack session cookie in sessions plugin work with rack 2.0.8 (jeremyevans)
|
388
|
-
|
389
|
-
* Make json_parser parse request body as json even if request body has already been read (jeremyevans)
|
390
|
-
|
391
|
-
= 3.27.0 (2019-12-13)
|
392
|
-
|
393
|
-
* Allow json_parser return correct result for invalid JSON if the params_capturing plugin is used (jeremyevans) (#180)
|
394
|
-
|
395
|
-
* Add multibyte_string_matcher plugin for matching multibyte characters (jeremyevans)
|
396
|
-
|
397
|
-
* Split roda.rb into separate files (janko) (#177)
|
398
|
-
|
399
|
-
= 3.26.0 (2019-11-18)
|
400
|
-
|
401
|
-
* Combine multiple asset files with a newline when compiling them, avoiding corner cases with comments (ameuret) (#176)
|
402
|
-
|
403
|
-
* Add asychronous streaming support to the streaming plugin (janko) (#175)
|
404
|
-
|
405
|
-
= 3.25.0 (2019-10-15)
|
406
|
-
|
407
|
-
* Support change in tilt 2.0.10 private API to continue to support compiled templates, with up to 33% performance improvement (jeremyevans)
|
408
|
-
|
409
|
-
* Improve render performance with :locals option up to 75% by calling compiled template methods directly (jeremyevans)
|
410
|
-
|
411
|
-
= 3.24.0 (2019-09-13)
|
412
|
-
|
413
|
-
* Fix Proc.new warning in module_include plugin on Ruby 2.7+ (jeremyevans)
|
414
|
-
|
415
|
-
* Improve render_each performance by calling compiled template methods directly (jeremyevans)
|
416
|
-
|
417
|
-
= 3.23.0 (2019-08-13)
|
418
|
-
|
419
|
-
* Make roda/session_middleware work if type_routing plugin is loaded into Roda itself (jeremyevans) (#169)
|
420
|
-
|
421
|
-
* Handle requests with nothing before extension in the path in the type_routing plugin (jeremyevans) (#168)
|
422
|
-
|
423
|
-
* Always show line number in exception_page output in exception_page plugin (jeremyevans)
|
424
|
-
|
425
|
-
* Improve render/view performance up to 2x in development mode in the default case by calling compiled template methods directly (jeremyevans)
|
426
|
-
|
427
|
-
= 3.22.0 (2019-07-12)
|
428
|
-
|
429
|
-
* Improve render performance up to 4x in the default case by calling compiled template methods directly (jeremyevans)
|
430
|
-
|
431
|
-
= 3.21.0 (2019-06-14)
|
432
|
-
|
433
|
-
* Cache compiled templates in development mode, until the template files are modified (jeremyevans)
|
434
|
-
|
435
|
-
= 3.20.0 (2019-05-16)
|
436
|
-
|
437
|
-
* Set Content-Length header to 0 for empty 205 responses (jeremyevans)
|
438
|
-
|
439
|
-
= 3.19.0 (2019-04-12)
|
440
|
-
|
441
|
-
* Allow assets plugin :timestamp_paths option to be a string to specify a custom separator (jeremyevans)
|
442
|
-
|
443
|
-
* Fix handling for blocks with arity > 1 where expected arity is 1 (jeremyevans)
|
444
|
-
|
445
|
-
* Improve performance for handling blocks with arity 0 where expected arity is 1 by avoiding instance_exec (jeremyevans)
|
446
|
-
|
447
|
-
* Improve terminal maching by around 4x (jeremyevans)
|
448
|
-
|
449
|
-
* Improve symbol matching by 10-20% (jeremyevans)
|
450
|
-
|
451
|
-
* Improve string matching by 10-20% (jeremyevans)
|
452
|
-
|
453
|
-
* Automatically load the direct_call plugin when freezing if no middleware is used for better performance (jeremyevans)
|
454
|
-
|
455
|
-
* Delay building rack app until Roda.app is called (jeremyevans)
|
456
|
-
|
457
|
-
* Add hash_routes plugin for O(1) route dispatching at any level in the routing tree (jeremyevans)
|
458
|
-
|
459
|
-
* Add support for per-cookie cipher secrets in the sessions plugin, and enable them by default (jeremyevans)
|
460
|
-
|
461
|
-
* Add match_hook plugin for calling hooks when there is a successful match block (adam12) (#164)
|
462
|
-
|
463
|
-
= 3.18.0 (2019-03-15)
|
464
|
-
|
465
|
-
* Add direct_call plugin for making Roda.call skip middleware, allowing more optimization when dispatching routes (jeremyevans)
|
466
|
-
|
467
|
-
* Improve performance of default_headers plugin by directly defining set_default_headers (jeremyevans)
|
468
|
-
|
469
|
-
* Improve performance when freezing app if certain methods have not been overridden (jeremyevans)
|
470
|
-
|
471
|
-
* Support :check_arity and :check_dynamic_arity app options for whether/how to check arity for blocks used to define methods (jeremyevans)
|
472
|
-
|
473
|
-
* Improve performance of the status_handler plugin by using methods instead of instance_exec (jeremyevans)
|
474
|
-
|
475
|
-
* Remove r.static_route method from the static_routing plugin (jeremyevans)
|
476
|
-
|
477
|
-
* Improve performance of the static_routing plugin by using methods instead of instance_exec (jeremyevans)
|
478
|
-
|
479
|
-
* Add support for the route_block_args plugin to the route_csrf plugin (jeremyevans)
|
480
|
-
|
481
|
-
* Improve performance of the route_csrf plugin by using a method instead of instance_exec (jeremyevans)
|
482
|
-
|
483
|
-
* Improve performance of the route_block_args plugin by using a method instead of instance_exec (jeremyevans)
|
484
|
-
|
485
|
-
* Improve performance of the path plugin by using methods instead of instance_exec (jeremyevans)
|
486
|
-
|
487
|
-
* Improve performance of the named_templates plugin by using methods instead of instance_exec (jeremyevans)
|
488
|
-
|
489
|
-
* Improve performance of the multi_route plugin by using methods instead of instance_exec (jeremyevans)
|
490
|
-
|
491
|
-
* Improve performance of the hooks plugin by using methods instead of instance_exec (jeremyevans)
|
492
|
-
|
493
|
-
* Improve performance of the mail_processor plugin by using methods instead of instance_exec (jeremyevans)
|
494
|
-
|
495
|
-
* Improve performance of the default_status plugin by directly defining the default_status method (jeremyevans)
|
496
|
-
|
497
|
-
* Improve performance of class_level_routing plugin using methods instead of instance_exec (jeremyevans)
|
498
|
-
|
499
|
-
* Do not have route_block_args plugin affect class_level_routes plugin (jeremyevans)
|
500
|
-
|
501
|
-
* Integrate internal after hook with error_handler plugin (jeremyevans)
|
502
|
-
|
503
|
-
* Improve performance of internal before and after hooks (jeremyevans)
|
504
|
-
|
505
|
-
* Improve performance by using method instead of instance_exec for main route block (jeremyevans)
|
506
|
-
|
507
|
-
* Add Roda.define_roda_method for defining instance methods instead of using instance_exec (jeremyevans)
|
508
|
-
|
509
|
-
* Include cookie_options when clearing the cookie (#162, #163) (eiko, jeremyevans)
|
510
|
-
|
511
|
-
= 3.17.0 (2019-02-15)
|
512
|
-
|
513
|
-
* Improve performance in the common case for RodaResponse#finish (jeremyevans)
|
514
|
-
|
515
|
-
* Support before hooks in the hooks plugin in the mailer and mail_processor plugins (jeremyevans)
|
516
|
-
|
517
|
-
* Allow set_layout_opts in view_options plugin to override layout if render plugin :layout option is given (jeremyevans)
|
518
|
-
|
519
|
-
* Add route_block_args plugin to control which arguments are yielded to the route block (jeremyevans, chrisfrank) (#159)
|
520
|
-
|
521
|
-
= 3.16.0 (2019-01-18)
|
522
|
-
|
523
|
-
* Add mail_processor plugin for processing mail using a routing tree (jeremyevans)
|
524
|
-
|
525
|
-
= 3.15.0 (2018-12-14)
|
526
|
-
|
527
|
-
* Support render plugin :escape option to be a string or array of strings and only add :escape option for those template engines (jeremyevans) (#158)
|
528
|
-
|
529
|
-
* Add :skip_missing option to convert!/convert_each! in the typecast_params plugin to support not storing keys not present in params (jeremyevans)
|
530
|
-
|
531
|
-
= 3.14.1 (2018-11-29)
|
532
|
-
|
533
|
-
* SECURITY: content_for plugin no longer post-processes block result with template engine (jeremyevans)
|
534
|
-
|
535
|
-
= 3.14.0 (2018-11-16)
|
536
|
-
|
537
|
-
* Add :raise option to convert!/convert_each! in the typecast_params plugin to support not raising for missing keys (celsworth) (#153)
|
538
|
-
|
539
|
-
* Do not persist convert!/convert_each! :symbolize setting in the typecast_params plugin (jeremyevans)
|
540
|
-
|
541
|
-
= 3.13.0 (2018-10-12)
|
542
|
-
|
543
|
-
* Make Stream#write in streaming plugin return number of bytes written instead of self, so it works with IO.copy_stream (jeremyevans)
|
544
|
-
|
545
|
-
* Add exception_page plugin for showing a page with debugging information for a given exception (jeremyevans)
|
546
|
-
|
547
|
-
* Make common_logger plugin handle raised errors (jeremyevans)
|
548
|
-
|
549
|
-
= 3.12.0 (2018-09-14)
|
550
|
-
|
551
|
-
* Add common_logger plugin for common log support (jeremyevans)
|
552
|
-
|
553
|
-
= 3.11.0 (2018-08-15)
|
554
|
-
|
555
|
-
* Disable default compression of sessions over 128 bytes in the sessions plugin (jeremyevans)
|
556
|
-
|
557
|
-
* Log but otherwise ignore exceptions raised by after processing of error handler response (jeremyevans)
|
558
|
-
|
559
|
-
* Modify internal before/after processing to avoid plugin load order issues (jeremyevans)
|
560
|
-
|
561
|
-
= 3.10.0 (2018-07-18)
|
562
|
-
|
563
|
-
* Remove flash key from session if new flash is empty when rotating flash (jeremyevans)
|
564
|
-
|
565
|
-
* Speed up RodaRequest initialization by avoiding 1-2 method calls (jeremyevans)
|
566
|
-
|
567
|
-
* Add roda/session_middleware (RodaSessionMiddleware), usable as a middleware by any Rack app to use Roda's session support (jeremyevans)
|
568
|
-
|
569
|
-
* Add sessions plugin for more secure (encrypted+signed) sessions (jeremyevans)
|
570
|
-
|
571
|
-
* Support :json_parser and :json_serializer application options as default implementations for parsing/serializing JSON (jeremyevans)
|
572
|
-
|
573
|
-
* Add :handle_result option to middleware plugin for modifying rack result before returning it (jeremyevans)
|
574
|
-
|
575
|
-
* Make the flash plugin work correctly when sessions are serialized with JSON (jeremyevans)
|
576
|
-
|
577
|
-
* Make Integer in typecast_params handle Numeric input, and require that Numeric input not have fractional parts (jeremyevans) (#146)
|
578
|
-
|
579
|
-
= 3.9.0 (2018-06-11)
|
580
|
-
|
581
|
-
* Add route_csrf plugin for CSRF protection, offering more control, better security, and request-specific tokens compared to rack_csrf (jeremyevans)
|
582
|
-
|
583
|
-
= 3.8.0 (2018-05-17)
|
584
|
-
|
585
|
-
* Accept convert_each! :keys option that is Proc or Method in typecast_params plugin (jeremyevans)
|
586
|
-
|
587
|
-
* Make convert_each! in typecast_params plugin handle hashes with '0'..'N' keys without :keys option (jeremyevans)
|
588
|
-
|
589
|
-
= 3.7.0 (2018-04-20)
|
590
|
-
|
591
|
-
* Make response_request plugin work with error_handler and class_level_routing plugins (jeremyevans)
|
592
|
-
|
593
|
-
* Add content_security_policy plugin for setting an appropriate Content-Security-Policy header (jeremyevans)
|
594
|
-
|
595
|
-
= 3.6.0 (2018-03-26)
|
596
|
-
|
597
|
-
* Add :wrap option to json_parser plugin, for whether/how to wrap the uploaded JSON object (jeremyevans) (#142)
|
598
|
-
|
599
|
-
* Add :early_hints option to the assets plugin, for supporting sending early hints for calls to assets (jeremyevans)
|
600
|
-
|
601
|
-
* Add early_hints plugin for sending 103 Early Hint responses, currently only working on puma (jeremyevans)
|
602
|
-
|
603
|
-
= 3.5.0 (2018-02-14)
|
604
|
-
|
605
|
-
* Add request_aref plugin for configuring behavior of request [] and []= methods (jeremyevans)
|
606
|
-
|
607
|
-
* Make public plugin not add Content-Type header when serving 304 response for gzipped file (jeremyevans)
|
608
|
-
|
609
|
-
* Make content_for call with block convert block result to string before passing to tilt (jeremyevans) (#135)
|
610
|
-
|
611
|
-
= 3.4.0 (2018-01-12)
|
612
|
-
|
613
|
-
* Add middleware_stack plugin for removing middleware and inserting middleware before the end of the stack (jeremyevans)
|
614
|
-
|
615
|
-
* Make head plugin handle closing existing response bodies if the body responds to close (Eric Wong)
|
616
|
-
|
617
|
-
= 3.3.0 (2017-12-14)
|
618
|
-
|
619
|
-
* Add typecast_params plugin for converting param values to explicit types (jeremyevans)
|
620
|
-
|
621
|
-
= 3.2.0 (2017-11-16)
|
622
|
-
|
623
|
-
* Use microseconds in assets plugin :timestamp_paths timestamps (jeremyevans)
|
624
|
-
|
625
|
-
* Add timestamp_public plugin for serving static files with paths that change based on modify timestamp (jeremyevans)
|
626
|
-
|
627
|
-
= 3.1.0 (2017-10-13)
|
628
|
-
|
629
|
-
* Make set_layout_locals and set_view_locals in branch_locals plugin work when the other is not called (jeremyevans)
|
630
|
-
|
631
|
-
* Add :timestamp_paths option to assets plugin to include timestamps in paths in non-compiled mode (jeremyevans)
|
632
|
-
|
633
|
-
* Handle ExecJS::RuntimeUnavailable when testing for javascript compression support using uglifier (jeremyevans)
|
634
|
-
|
635
|
-
* Remove deprecated Roda.thread_safe_cache and RodaRequest#placeholder_string_matcher? methods (jeremyevans)
|
636
|
-
|
637
|
-
= 3.0.0 (2017-09-15)
|
638
|
-
|
639
|
-
* Make defined symbol_matcher and hash_matcher match methods private (jeremyevans)
|
640
|
-
|
641
|
-
* Use public_send instead of send unless calling private methods is expected (jeremyevans)
|
642
|
-
|
643
|
-
* Compute multi_run regexp when freezing app to avoid thread safety issues at runtime (jeremyevans)
|
644
|
-
|
645
|
-
* Remove deprecated support for using undefined multi_route namespaces when routing (jeremyevans)
|
646
|
-
|
647
|
-
* Make it possible to reset :include_request options to false for json and json_parser plugins (jeremyevans)
|
648
|
-
|
649
|
-
* Deprecate RodaRequest#placeholder_string_matcher? private method (jeremyevans)
|
650
|
-
|
651
|
-
* Deprecate Roda.thread_safe_cache, use RodaCache directly (jeremyevans)
|
652
|
-
|
653
|
-
* Make using an app as middleware always create a subclass of the app (jeremyevans)
|
654
|
-
|
655
|
-
* Enable SHA256 subresource integrity by default in assets plugin (jeremyevans)
|
656
|
-
|
657
|
-
* Make subclassing a roda app always inherit the render cache (jeremyevans)
|
658
|
-
|
659
|
-
* Make :cache=>nil render plugin option still allow caching via :cache render method option (jeremyevans)
|
660
|
-
|
661
|
-
* Make content_for plugin append to existing content by default (jeremyevans)
|
662
|
-
|
663
|
-
* Make :host matcher in the header_matchers plugin always yield captures if given a regexp (jeremyevans)
|
664
|
-
|
665
|
-
* Make :header matcher in the header_matchers plugin now always prefix header with HTTP_ (jeremyevans)
|
666
|
-
|
667
|
-
* Remove deprecated support for locals handling at the plugin level in the render plugin (jeremyevans)
|
668
|
-
|
669
|
-
* Remove deprecated support for handling locals in the view_options plugin (jeremyevans)
|
670
|
-
|
671
|
-
* Remove deprecated support for :ext option in render plugin (jeremyevans)
|
672
|
-
|
673
|
-
* Remove deprecated view_subdirs alias for view_options plugin (jeremyevans)
|
674
|
-
|
675
|
-
* Remove deprecated support for EventMachine and Stream#callback method in the streaming plugin (jeremyevans)
|
676
|
-
|
677
|
-
* Drop support for ruby 1.8.7 (jeremyevans)
|
678
|
-
|
679
|
-
* Make using an unsupported matcher raise error by default (jeremyevans)
|
680
|
-
|
681
|
-
* Make having a match/route block return an unsupported value raise error by default (jeremyevans)
|
682
|
-
|
683
|
-
* Remove deprecated :format, :opt, and :optd symbol matchers in symbol_matchers plugin (jeremyevans)
|
684
|
-
|
685
|
-
* Remove deprecated support for placeholders in string matchers (jeremyevans)
|
686
|
-
|
687
|
-
* Remove deprecated constants and plugins (jeremyevans)
|
688
|
-
|
689
|
-
=== Older
|
690
|
-
|
691
|
-
See doc/CHANGELOG.old
|