addressable 2.8.7 → 2.8.9

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: 62b62e368b9dffbec4c9aaf879257067698b83daff1cc13542352da419f3f88e
4
- data.tar.gz: 7f3231aecc91ef0c3087ff2325d78e9a1f4c9f05a752f2c35c8f0bb740fd5996
3
+ metadata.gz: d530bb874824f8d1004aaea0fb9cd6721e0bd791c404fcb1a15f79f821f056b1
4
+ data.tar.gz: a9f4955da072c19e998744fedd8dd12129027caae3f4854108054358ee0b740f
5
5
  SHA512:
6
- metadata.gz: 670e1aeddc5a4f62ad39040007cef7371107237b2e4064755355dfbc43cfc62a956f78358c95793a9f55cd325b7b46ce532003bdd9711b1bc3c79b35e0d3cbf6
7
- data.tar.gz: d7aed8469d926b0bcdd19202593f8bfa162d9dafb38dabca632ccee8af3fd26920dfbce3f18b674d583f5aaa2e7c51717ccf46fab3a1a4fb4a8dfbd74a80da16
6
+ metadata.gz: 216c9bf5530cd1265b9418864d0ab4222ce7040c5cbb5501e6185ad44058970423f025291511cbabad3e20115dab935476af53c4e4aeffd79a7e3423f6770045
7
+ data.tar.gz: 2c5ddcfa6e8e51bef14738173066debd7a54b920f68568e689d49bb0111ac0320d660440db8011912cd943f895ea0a4f62e387ac4699bde736c74db779c35845
data/CHANGELOG.md CHANGED
@@ -1,14 +1,32 @@
1
- # Addressable 2.8.7 <a name="v2.8.7">
1
+ # Changelog
2
+
3
+ ## Addressable 2.8.9 <a name="v2.8.9">
4
+ - Reduce gem size by excluding test files ([#569])
5
+ - No need for bundler as development dependency ([#571], [5fc1d93](https://github.com/sporkmonger/addressable/commit/5fc1d93))
6
+ - idna/pure: stop building the useless `COMPOSITION_TABLE` (removes the `Addressable::IDNA::COMPOSITION_TABLE` constant) ([#564])
7
+
8
+ [#569]: https://github.com/sporkmonger/addressable/pull/569
9
+ [#571]: https://github.com/sporkmonger/addressable/pull/571
10
+ [#564]: https://github.com/sporkmonger/addressable/pull/564
11
+
12
+ ## Addressable 2.8.8 <a name="v2.8.8">
13
+ - Replace the `unicode.data` blob by a ruby constant ([#561])
14
+ - Allow `public_suffix` 7 ([#558])
15
+
16
+ [#561]: https://github.com/sporkmonger/addressable/pull/561
17
+ [#558]: https://github.com/sporkmonger/addressable/pull/558
18
+
19
+ ## Addressable 2.8.7 <a name="v2.8.7">
2
20
  - Allow `public_suffix` 6 ([#535])
3
21
 
4
22
  [#535]: https://github.com/sporkmonger/addressable/pull/535
5
23
 
6
- # Addressable 2.8.6 <a name="v2.8.6">
24
+ ## Addressable 2.8.6 <a name="v2.8.6">
7
25
  - Memoize regexps for common character classes ([#524])
8
26
 
9
27
  [#524]: https://github.com/sporkmonger/addressable/pull/524
10
28
 
11
- # Addressable 2.8.5 <a name="v2.8.5">
29
+ ## Addressable 2.8.5 <a name="v2.8.5">
12
30
  - Fix thread safety issue with encoding tables ([#515])
13
31
  - Define URI::NONE as a module to avoid serialization issues ([#509])
14
32
  - Fix YAML serialization ([#508])
@@ -17,18 +35,18 @@
17
35
  [#509]: https://github.com/sporkmonger/addressable/pull/509
18
36
  [#515]: https://github.com/sporkmonger/addressable/pull/515
19
37
 
20
- # Addressable 2.8.4 <a name="v2.8.4">
38
+ ## Addressable 2.8.4 <a name="v2.8.4">
21
39
  - Restore `Addressable::IDNA.unicode_normalize_kc` as a deprecated method ([#504])
22
40
 
23
41
  [#504]: https://github.com/sporkmonger/addressable/pull/504
24
42
 
25
- # Addressable 2.8.3 <a name="v2.8.3">
43
+ ## Addressable 2.8.3 <a name="v2.8.3">
26
44
  - Fix template expand level 2 hash support for non-string objects ([#499], [#498])
27
45
 
28
46
  [#499]: https://github.com/sporkmonger/addressable/pull/499
29
47
  [#498]: https://github.com/sporkmonger/addressable/pull/498
30
48
 
31
- # Addressable 2.8.2 <a name="v2.8.2">
49
+ ## Addressable 2.8.2 <a name="v2.8.2">
32
50
  - Improve cache hits and JIT friendliness ([#486](https://github.com/sporkmonger/addressable/pull/486))
33
51
  - Improve code style and test coverage ([#482](https://github.com/sporkmonger/addressable/pull/482))
34
52
  - Ensure reset of deferred validation ([#481](https://github.com/sporkmonger/addressable/pull/481))
@@ -37,7 +55,7 @@
37
55
 
38
56
  [#492]: https://github.com/sporkmonger/addressable/pull/492
39
57
 
40
- # Addressable 2.8.1 <a name="v2.8.1">
58
+ ## Addressable 2.8.1 <a name="v2.8.1">
41
59
  - refactor `Addressable::URI.normalize_path` to address linter offenses ([#430](https://github.com/sporkmonger/addressable/pull/430))
42
60
  - update gemspec to reflect supported Ruby versions ([#466], [#464], [#463])
43
61
  - compatibility w/ public_suffix 5.x ([#466], [#465], [#460])
@@ -53,7 +71,7 @@
53
71
  [#465]: https://github.com/sporkmonger/addressable/pull/465
54
72
  [#466]: https://github.com/sporkmonger/addressable/pull/466
55
73
 
56
- # Addressable 2.8.0 <a name="v2.8.0">
74
+ ## Addressable 2.8.0 <a name="v2.8.0">
57
75
  - fixes ReDoS vulnerability in Addressable::Template#match
58
76
  - no longer replaces `+` with spaces in queries for non-http(s) schemes
59
77
  - fixed encoding ipv6 literals
@@ -65,14 +83,14 @@
65
83
  - performance improvements
66
84
  - switch CI/CD to GitHub Actions
67
85
 
68
- # Addressable 2.7.0 <a name="v2.7.0">
86
+ ## Addressable 2.7.0 <a name="v2.7.0">
69
87
  - added `:compacted` flag to `normalized_query`
70
88
  - `heuristic_parse` handles `mailto:` more intuitively
71
89
  - dropped explicit support for JRuby 9.0.5.0
72
90
  - compatibility w/ public_suffix 4.x
73
91
  - performance improvements
74
92
 
75
- # Addressable 2.6.0 <a name="v2.6.0">
93
+ ## Addressable 2.6.0 <a name="v2.6.0">
76
94
  - added `tld=` method to allow assignment to the public suffix
77
95
  - most `heuristic_parse` patterns are now case-insensitive
78
96
  - `heuristic_parse` handles more `file://` URI variations
@@ -83,17 +101,17 @@
83
101
  - minor performance improvements in regexps
84
102
  - fixes to eliminate warnings
85
103
 
86
- # Addressable 2.5.2 <a name="v2.5.2">
104
+ ## Addressable 2.5.2 <a name="v2.5.2">
87
105
  - better support for frozen string literals
88
106
  - fixed bug w/ uppercase characters in scheme
89
107
  - IDNA errors w/ emoji URLs
90
108
  - compatibility w/ public_suffix 3.x
91
109
 
92
- # Addressable 2.5.1 <a name="v2.5.1">
110
+ ## Addressable 2.5.1 <a name="v2.5.1">
93
111
  - allow unicode normalization to be disabled for URI Template expansion
94
112
  - removed duplicate test
95
113
 
96
- # Addressable 2.5.0 <a name="v2.5.0">
114
+ ## Addressable 2.5.0 <a name="v2.5.0">
97
115
  - dropping support for Ruby 1.9
98
116
  - adding support for Ruby 2.4 preview
99
117
  - add support for public suffixes and tld; first runtime dependency
@@ -107,7 +125,7 @@
107
125
  - host parts longer than 63 bytes will be ignored and not passed to libidn
108
126
  - normalized values always encoded as UTF-8
109
127
 
110
- # Addressable 2.4.0 <a name="v2.4.0">
128
+ ## Addressable 2.4.0 <a name="v2.4.0">
111
129
  - support for 1.8.x dropped
112
130
  - double quotes in a host now raises an error
113
131
  - newlines in host will no longer get unescaped during normalization
@@ -119,17 +137,17 @@
119
137
  - fixed minor bug where an exception would be thrown for a missing ACE suffix
120
138
  - better partial expansion of URI templates
121
139
 
122
- # Addressable 2.3.8 <a name="v2.3.8">
140
+ ## Addressable 2.3.8 <a name="v2.3.8">
123
141
  - fix warnings
124
142
  - update dependency gems
125
143
  - support for 1.8.x officially deprecated
126
144
 
127
- # Addressable 2.3.7 <a name="v2.3.7">
145
+ ## Addressable 2.3.7 <a name="v2.3.7">
128
146
  - fix scenario in which invalid URIs don't get an exception until inspected
129
147
  - handle hostnames with two adjacent periods correctly
130
148
  - upgrade of RSpec
131
149
 
132
- # Addressable 2.3.6 <a name="v2.3.6">
150
+ ## Addressable 2.3.6 <a name="v2.3.6">
133
151
  - normalization drops empty query string
134
152
  - better handling in template extract for missing values
135
153
  - template modifier for `'?'` now treated as optional
@@ -138,19 +156,19 @@
138
156
  - added `:sorted` option to normalization of query strings
139
157
  - fixed issue with normalization of hosts given in `'example.com.'` form
140
158
 
141
- # Addressable 2.3.5 <a name="v2.3.5">
159
+ ## Addressable 2.3.5 <a name="v2.3.5">
142
160
  - added Addressable::URI#empty? method
143
161
  - Addressable::URI#hostname methods now strip square brackets from IPv6 hosts
144
162
  - compatibility with Net::HTTP in Ruby 2.0.0
145
163
  - Addressable::URI#route_from should always give relative URIs
146
164
 
147
- # Addressable 2.3.4 <a name="v2.3.4">
165
+ ## Addressable 2.3.4 <a name="v2.3.4">
148
166
  - fixed issue with encoding altering its inputs
149
167
  - query string normalization now leaves ';' characters alone
150
168
  - FakeFS is detected before attempting to load unicode tables
151
169
  - additional testing to ensure frozen objects don't cause problems
152
170
 
153
- # Addressable 2.3.3 <a name="v2.3.3">
171
+ ## Addressable 2.3.3 <a name="v2.3.3">
154
172
  - fixed issue with converting common primitives during template expansion
155
173
  - fixed port encoding issue
156
174
  - removed a few warnings
@@ -159,59 +177,59 @@
159
177
  - no template match should now result in nil instead of an empty MatchData
160
178
  - added license information to gemspec
161
179
 
162
- # Addressable 2.3.2 <a name="v2.3.2">
180
+ ## Addressable 2.3.2 <a name="v2.3.2">
163
181
  - added Addressable::URI#default_port method
164
182
  - fixed issue with Marshalling Unicode data on Windows
165
183
  - improved heuristic parsing to better handle IPv4 addresses
166
184
 
167
- # Addressable 2.3.1 <a name="v2.3.1">
185
+ ## Addressable 2.3.1 <a name="v2.3.1">
168
186
  - fixed missing unicode data file
169
187
 
170
- # Addressable 2.3.0 <a name="v2.3.0">
188
+ ## Addressable 2.3.0 <a name="v2.3.0">
171
189
  - updated Addressable::Template to use RFC 6570, level 4
172
190
  - fixed compatibility problems with some versions of Ruby
173
191
  - moved unicode tables into a data file for performance reasons
174
192
  - removing support for multiple query value notations
175
193
 
176
- # Addressable 2.2.8 <a name="v2.2.8">
194
+ ## Addressable 2.2.8 <a name="v2.2.8">
177
195
  - fixed issues with dot segment removal code
178
196
  - form encoding can now handle multiple values per key
179
197
  - updated development environment
180
198
 
181
- # Addressable 2.2.7 <a name="v2.2.7">
199
+ ## Addressable 2.2.7 <a name="v2.2.7">
182
200
  - fixed issues related to Addressable::URI#query_values=
183
201
  - the Addressable::URI.parse method is now polymorphic
184
202
 
185
- # Addressable 2.2.6 <a name="v2.2.6">
203
+ ## Addressable 2.2.6 <a name="v2.2.6">
186
204
  - changed the way ambiguous paths are handled
187
205
  - fixed bug with frozen URIs
188
206
  - https supported in heuristic parsing
189
207
 
190
- # Addressable 2.2.5 <a name="v2.2.5">
208
+ ## Addressable 2.2.5 <a name="v2.2.5">
191
209
  - 'parsing' a pre-parsed URI object is now a dup operation
192
210
  - introduced conditional support for libidn
193
211
  - fixed normalization issue on ampersands in query strings
194
212
  - added additional tests around handling of query strings
195
213
 
196
- # Addressable 2.2.4 <a name="v2.2.4">
214
+ ## Addressable 2.2.4 <a name="v2.2.4">
197
215
  - added origin support from draft-ietf-websec-origin-00
198
216
  - resolved issue with attempting to navigate below root
199
217
  - fixed bug with string splitting in query strings
200
218
 
201
- # Addressable 2.2.3 <a name="v2.2.3">
219
+ ## Addressable 2.2.3 <a name="v2.2.3">
202
220
  - added :flat_array notation for query strings
203
221
 
204
- # Addressable 2.2.2 <a name="v2.2.2">
222
+ ## Addressable 2.2.2 <a name="v2.2.2">
205
223
  - fixed issue with percent escaping of '+' character in query strings
206
224
 
207
- # Addressable 2.2.1 <a name="v2.2.1">
225
+ ## Addressable 2.2.1 <a name="v2.2.1">
208
226
  - added support for application/x-www-form-urlencoded.
209
227
 
210
- # Addressable 2.2.0 <a name="v2.2.0">
228
+ ## Addressable 2.2.0 <a name="v2.2.0">
211
229
  - added site methods
212
230
  - improved documentation
213
231
 
214
- # Addressable 2.1.2 <a name="v2.1.2">
232
+ ## Addressable 2.1.2 <a name="v2.1.2">
215
233
  - added HTTP request URI methods
216
234
  - better handling of Windows file paths
217
235
  - validation_deferred boolean replaced with defer_validation block
@@ -219,14 +237,14 @@
219
237
  - fixed issue with constructing URIs with relative paths
220
238
  - fixed warnings
221
239
 
222
- # Addressable 2.1.1 <a name="v2.1.1">
240
+ ## Addressable 2.1.1 <a name="v2.1.1">
223
241
  - more type checking changes
224
242
  - fixed issue with unicode normalization
225
243
  - added method to find template defaults
226
244
  - symbolic keys are now allowed in template mappings
227
245
  - numeric values and symbolic values are now allowed in template mappings
228
246
 
229
- # Addressable 2.1.0 <a name="v2.1.0">
247
+ ## Addressable 2.1.0 <a name="v2.1.0x">
230
248
  - refactored URI template support out into its own class
231
249
  - removed extract method due to being useless and unreliable
232
250
  - removed Addressable::URI.expand_template
@@ -240,15 +258,15 @@
240
258
  - worked around issue with freezing URIs
241
259
  - improved specs
242
260
 
243
- # Addressable 2.0.2 <a name="v2.0.2">
261
+ ## Addressable 2.0.2 <a name="v2.0.2">
244
262
  - fixed issue with URI template expansion
245
263
  - fixed issue with percent escaping characters 0-15
246
264
 
247
- # Addressable 2.0.1 <a name="v2.0.1">
265
+ ## Addressable 2.0.1 <a name="v2.0.1">
248
266
  - fixed issue with query string assignment
249
267
  - fixed issue with improperly encoded components
250
268
 
251
- # Addressable 2.0.0 <a name="v2.0.0">
269
+ ## Addressable 2.0.0 <a name="v2.0.0">
252
270
  - the initialize method now takes an options hash as its only parameter
253
271
  - added query_values method to URI class
254
272
  - completely replaced IDNA implementation with pure Ruby
@@ -263,20 +281,20 @@
263
281
  - updated URI Template code to match v 03 of the draft spec
264
282
  - added a bunch of new specifications
265
283
 
266
- # Addressable 1.0.4 <a name="v1.0.4">
284
+ ## Addressable 1.0.4 <a name="v1.0.4">
267
285
  - switched to using RSpec's pending system for specs that rely on IDN
268
286
  - fixed issue with creating URIs with paths that are not prefixed with '/'
269
287
 
270
- # Addressable 1.0.3 <a name="v1.0.3">
288
+ ## Addressable 1.0.3 <a name="v1.0.3">
271
289
  - implemented a hash method
272
290
 
273
- # Addressable 1.0.2 <a name="v1.0.2">
291
+ ## Addressable 1.0.2 <a name="v1.0.2">
274
292
  - fixed minor bug with the extract_mapping method
275
293
 
276
- # Addressable 1.0.1 <a name="v1.0.1">
294
+ ## Addressable 1.0.1 <a name="v1.0.1">
277
295
  - fixed minor bug with the extract_mapping method
278
296
 
279
- # Addressable 1.0.0 <a name="v1.0.0">
297
+ ## Addressable 1.0.0 <a name="v1.0.0">
280
298
  - heuristic parse method added
281
299
  - parsing is slightly more strict
282
300
  - replaced to_h with to_hash
@@ -285,16 +303,16 @@
285
303
  - improved heckle rake task
286
304
  - no surviving heckle mutations
287
305
 
288
- # Addressable 0.1.2 <a name="v0.1.2">
306
+ ## Addressable 0.1.2 <a name="v0.1.2">
289
307
  - improved normalization
290
308
  - fixed bug in joining algorithm
291
309
  - updated specifications
292
310
 
293
- # Addressable 0.1.1 <a name="v0.1.1">
311
+ ## Addressable 0.1.1 <a name="v0.1.1">
294
312
  - updated documentation
295
313
  - added URI Template variable extraction
296
314
 
297
- # Addressable 0.1.0 <a name="v0.1.0">
315
+ ## Addressable 0.1.0 <a name="v0.1.0">
298
316
  - initial release
299
317
  - implementation based on RFC 3986, 3987
300
318
  - support for IRIs via libidn
data/README.md CHANGED
@@ -17,7 +17,7 @@
17
17
  [coveralls]: https://coveralls.io/r/sporkmonger/addressable
18
18
  [inch]: https://inch-ci.org/github/sporkmonger/addressable
19
19
 
20
- # Description
20
+ ## Description
21
21
 
22
22
  Addressable is an alternative implementation to the URI implementation
23
23
  that is part of Ruby's standard library. It is flexible, offers heuristic
@@ -25,12 +25,12 @@ parsing, and additionally provides extensive support for IRIs and URI templates.
25
25
 
26
26
  Addressable closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4).
27
27
 
28
- # Reference
28
+ ## Reference
29
29
 
30
30
  - {Addressable::URI}
31
31
  - {Addressable::Template}
32
32
 
33
- # Example usage
33
+ ## Example usage
34
34
 
35
35
  ```ruby
36
36
  require "addressable/uri"
@@ -49,7 +49,7 @@ uri.normalize
49
49
  ```
50
50
 
51
51
 
52
- # URI Templates
52
+ ## URI Templates
53
53
 
54
54
  For more details, see [RFC 6570](https://www.rfc-editor.org/rfc/rfc6570.txt).
55
55
 
@@ -88,7 +88,7 @@ template.extract(uri)
88
88
  # }
89
89
  ```
90
90
 
91
- # Install
91
+ ## Install
92
92
 
93
93
  ```console
94
94
  $ gem install addressable
@@ -103,7 +103,7 @@ $ brew install libidn # OS X
103
103
  $ gem install idn-ruby
104
104
  ```
105
105
 
106
- # Semantic Versioning
106
+ ## Semantic Versioning
107
107
 
108
108
  This project uses [Semantic Versioning](https://semver.org/). You can (and should) specify your
109
109
  dependency using a pessimistic version constraint covering the major and minor