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 +4 -4
- data/CHANGELOG.md +64 -46
- data/README.md +6 -6
- data/lib/addressable/idna/pure.rb +4235 -30
- data/lib/addressable/uri.rb +1 -1
- data/lib/addressable/version.rb +1 -1
- metadata +6 -46
- data/Gemfile +0 -31
- data/Rakefile +0 -37
- data/addressable.gemspec +0 -28
- data/data/unicode.data +0 -0
- data/spec/addressable/idna_spec.rb +0 -302
- data/spec/addressable/net_http_compat_spec.rb +0 -29
- data/spec/addressable/security_spec.rb +0 -58
- data/spec/addressable/template_spec.rb +0 -1264
- data/spec/addressable/uri_spec.rb +0 -6840
- data/spec/spec_helper.rb +0 -33
- data/tasks/clobber.rake +0 -4
- data/tasks/gem.rake +0 -95
- data/tasks/git.rake +0 -47
- data/tasks/metrics.rake +0 -24
- data/tasks/profile.rake +0 -72
- data/tasks/rspec.rake +0 -23
- data/tasks/yard.rake +0 -29
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d530bb874824f8d1004aaea0fb9cd6721e0bd791c404fcb1a15f79f821f056b1
|
|
4
|
+
data.tar.gz: a9f4955da072c19e998744fedd8dd12129027caae3f4854108054358ee0b740f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 216c9bf5530cd1265b9418864d0ab4222ce7040c5cbb5501e6185ad44058970423f025291511cbabad3e20115dab935476af53c4e4aeffd79a7e3423f6770045
|
|
7
|
+
data.tar.gz: 2c5ddcfa6e8e51bef14738173066debd7a54b920f68568e689d49bb0111ac0320d660440db8011912cd943f895ea0a4f62e387ac4699bde736c74db779c35845
|
data/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,32 @@
|
|
|
1
|
-
#
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
185
|
+
## Addressable 2.3.1 <a name="v2.3.1">
|
|
168
186
|
- fixed missing unicode data file
|
|
169
187
|
|
|
170
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
219
|
+
## Addressable 2.2.3 <a name="v2.2.3">
|
|
202
220
|
- added :flat_array notation for query strings
|
|
203
221
|
|
|
204
|
-
|
|
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
|
-
|
|
225
|
+
## Addressable 2.2.1 <a name="v2.2.1">
|
|
208
226
|
- added support for application/x-www-form-urlencoded.
|
|
209
227
|
|
|
210
|
-
|
|
228
|
+
## Addressable 2.2.0 <a name="v2.2.0">
|
|
211
229
|
- added site methods
|
|
212
230
|
- improved documentation
|
|
213
231
|
|
|
214
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
288
|
+
## Addressable 1.0.3 <a name="v1.0.3">
|
|
271
289
|
- implemented a hash method
|
|
272
290
|
|
|
273
|
-
|
|
291
|
+
## Addressable 1.0.2 <a name="v1.0.2">
|
|
274
292
|
- fixed minor bug with the extract_mapping method
|
|
275
293
|
|
|
276
|
-
|
|
294
|
+
## Addressable 1.0.1 <a name="v1.0.1">
|
|
277
295
|
- fixed minor bug with the extract_mapping method
|
|
278
296
|
|
|
279
|
-
|
|
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
|
-
|
|
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
|
-
|
|
311
|
+
## Addressable 0.1.1 <a name="v0.1.1">
|
|
294
312
|
- updated documentation
|
|
295
313
|
- added URI Template variable extraction
|
|
296
314
|
|
|
297
|
-
|
|
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
|
-
|
|
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
|
-
|
|
28
|
+
## Reference
|
|
29
29
|
|
|
30
30
|
- {Addressable::URI}
|
|
31
31
|
- {Addressable::Template}
|
|
32
32
|
|
|
33
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|