[ruby-core:123336] [Ruby Feature#21617] Add Internationalized Domain Name (IDN) support to URI
From:
"adrienjarthon (Adrien Jarthon) via ruby-core" <ruby-core@...>
Date:
2025-09-27 08:25:10 UTC
List:
ruby-core #123336
SXNzdWUgIzIxNjE3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYWRyaWVuamFydGhvbiAoQWRyaWVuIEph cnRob24pLg0KDQoNClRoYW5rcyBmb3IgdGhpcyBzdWdnZXN0aW9uLCBJJ3ZlIGJlZW4gdHJ5aW5n IHRvIGltcHJvdmUgQWRyZXNzYWJsZSdzIHN1cHBvcnQgZm9yIGEgZmV3IHllYXJzIChodHRwczov L2dpdGh1Yi5jb20vc3Bvcmttb25nZXIvYWRkcmVzc2FibGUvaXNzdWVzLzQ5MSwgaHR0cHM6Ly9n aXRodWIuY29tL3Nwb3JrbW9uZ2VyL2FkZHJlc3NhYmxlL2lzc3Vlcz9xPWF1dGhvciUzQWphcnRo b2QpIGFuZCBpZiBpdCBjYW4gYmUgZG9uZSBkaXJlY3RseSBpbnNpZGUgUnVieSBpdCdzIGV2ZW4g YmV0dGVyIEkgc3VwcG9zZS4gQXQgdGhlIG1vbWVudCBpJ20gY3VycmVudGx5IHVzaW5nIEFkcmVz c2FibGUgd2l0aCBsaWJpZG4yIGluc2lkZSBteSBjb2RlIGFzIGl0J3MgdGhlIG1vc3QgY29tcGxp YW50IG9wdGlvbiwgYnV0IHRoaXMgaXMgYSBicmFuY2ggb2YgbWluZSB3aGljaCBpcyBzdGlsbCBu b3QgbWVyZ2VkIChodHRwczovL2dpdGh1Yi5jb20vc3Bvcmttb25nZXIvYWRkcmVzc2FibGUvcHVs bC80OTYpLg0KDQpTaW5jZSB0aGVuIGh0dHBzOi8vZ2l0aHViLmNvbS9za3J5dWtvdi91cmktaWRu YSBhbHNvIGNhbWUgb3V0IHdpdGggYSBnb29kIHJ1YnkgaW1wbGVtZW50YXRpb24gSSBiZWxpZXZl IChJIGhhdmVuJ3QgdGVzdGVkIGl0KS4NCg0KQGNodWNrZSBtaW5vciBjb21tZW50OiBgeG4tLWxo LXQweHo5MjZoLndzYCBpcyBhY3R1YWxseSBub3QgdmFsaWQgaW4geW91ciBleGFtcGxlLCBpdCBz aG91bGQgYmUgYHhuLS1saC10MHgud3NgIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nwb3JrbW9u Z2VyL2FkZHJlc3NhYmxlL2lzc3Vlcy80OTEpDQoNCklmIHRoaXMgcHJvcG9zYWwgZm9yIFJ1Ynkg aXMgYWNjZXB0ZWQsIEkgY2FuIHByb2JhYmx5IGhlbHAgd2l0aCBpdCA6KSAoaW1wbGVtZW50YXRp b24sIHRlc3RpbmcsIGV0Yy4uKSANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KRmVhdHVyZSAjMjE2MTc6IEFkZCBJbnRlcm5hdGlvbmFsaXplZCBEb21haW4gTmFt ZSAoSUROKSBzdXBwb3J0IHRvIFVSSQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVz LzIxNjE3I2NoYW5nZS0xMTQ3MDcNCg0KKiBBdXRob3I6IGJ5cm9vdCAoSmVhbiBCb3Vzc2llcikN CiogU3RhdHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQpPcmlnaW5hbGx5IHByb3Bvc2VkIGJ5IEBjaHVja2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3J1 YnkvdXJpL2lzc3Vlcy83NiwgdHJ5aW5nIHRvIGZvcm1hbGl6ZSBpdCBoZXJlLg0KDQojIyMgQ29u dGV4dA0KDQpbSW50ZXJuYWxpemVkIERvbWFpbiBOYW1lc10oaHR0cHM6Ly9lbi53aWtpcGVkaWEu b3JnL3dpa2kvSW50ZXJuYXRpb25hbGl6ZWRfZG9tYWluX25hbWUpLCBhcmUgZ2V0dGluZyBtb3Jl IGNvbW1vbiwgeWV0IFJ1YnkncyBgdXJpYCBkZWZhdWx0IGdlbSBoYXMgbm8gc3VwcG9ydCBmb3Ig aXQ6DQoNCmBgYHJ1YnkNCj4+IFVSSSgiaHR0cHM6Ly/ml6XmnKzoqp4uanAvIikNClVSSSBtdXN0 IGJlIGFzY2lpIG9ubHkgImh0dHBzOi8vXHU2NUU1XHU2NzJDXHU4QTlFLmpwLyIgKFVSSTo6SW52 YWxpZFVSSUVycm9yKQ0KYGBgDQoNClNvIGFueSBwcm9ncmFtIHRoYXQgd2hpY2ggdG8gaGFuZGxl IGFyYml0cmFyeSB2YWxpZCBVUklzIHByb3ZpZGVkIGJ5IHVzZXJzIGNhbid0IHVzZSB0aGUgYHVy aWAgZ2VtLCBhbmQgaW5zdGVhZCBoYXZlIHRvIGRlcGVuZCBvbiB0aGlyZCBwYXJ0eSBnZW1zIGxp a2UgW2BhZGRyZXNzYWJsZWBdKGh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMvYWRkcmVzc2FibGUp DQoNCmBgYHJ1YnkNCj4+IEFkZHJlc3NhYmxlOjpVUkkucGFyc2UoImh0dHBzOi8v5pel5pys6Kqe LmpwLyIpDQo9PiAjPEFkZHJlc3NhYmxlOjpVUkk6MHhkNjQ4IFVSSTpodHRwczovL+aXpeacrOiq ni5qcC8+DQpgYGANCg0KQnV0IGV2ZW4gdGhlcmUsIGl0IHdvbid0IHNlYW1sZXNzbHkgd29yayB3 aXRoIG90aGVyIGxpYnJhcmllcyBzdWNoIGFzIGBuZXQtaHR0cGA6DQoNCmBgcnVieQ0KPj4gTmV0 OjpIVFRQLmdldChBZGRyZXNzYWJsZTo6VVJJLnBhcnNlKCJodHRwczovL+aXpeacrOiqni5qcC8i KSkuYnl0ZXNpemUNCk9wZW5TU0w6OlNTTDo6U1NMU29ja2V0I2Nvbm5lY3Rfbm9uYmxvY2snOiBT U0xfY29ubmVjdCByZXR1cm5lZD0xIGVycm5vPTAgcGVlcmFkZHI9WzIwMDE6MjE4OjMwMDE6Nzo6 MTEwXTo0NDMgc3RhdGU9ZXJyb3I6IHNzbC90bHMgYWxlcnQgaGFuZHNoYWtlIGZhaWx1cmUgKFNT TCBhbGVydCBudW1iZXIgNDApIChPcGVuU1NMOjpTU0w6OlNTTEVycm9yKQ0KYGBgDQoNCllvdSBo YXZlIHRvIGV4cGxpY2l0bHkgbm9ybWFsaXplIHRoZSBVUkw6DQoNCmBgYHJ1YnkNCj4+IEFkZHJl c3NhYmxlOjpVUkkucGFyc2UoImh0dHBzOi8v5pel5pys6KqeLmpwLyIpLm5vcm1hbGl6ZQ0KPT4g IzxBZGRyZXNzYWJsZTo6VVJJOjB4MTMwZDAgVVJJOmh0dHBzOi8veG4tLXdndjcxYTExOWUuanAv Pg0KPj4gTmV0OjpIVFRQLmdldChBZGRyZXNzYWJsZTo6VVJJLnBhcnNlKCJodHRwczovL+aXpeac rOiqni5qcC8iKS5ub3JtYWxpemUpLmJ5dGVzaXplDQo9PiA4NzAzDQpgYGANCg0KIyMjIEZlYXR1 cmUgUmVxdWVzdA0KDQpJIGJlbGlldmUgaXQncyB3b3VsZCBiZSB2ZXJ5IHVzZWZ1bCBpZiB0aGUg ZGVmYXVsdCBgdXJpYCBnZW0gaGFkIHRoZSBjYXBhY2l0eSBvZjoNCg0KICAtIFBhcnNpbmcgSURO QSBkb21haW4gbmFtZXMuDQogIC0gQ29udmVydCBVUkxzIGJldHdlZW4gdGhlaXIgdW5pY29kZSBh bmQgQVNDSUkgZm9ybXMuDQoNCg0KVGhlIGBVUkk6OkdlbmVyaWNgIGNsYXNzIGFscmVhZHkgaGF2 ZSBhIGAjbm9ybWFsaXplYCBtZXRob2QgdG8gZW5zdXJlIHRoZSBob3N0IGFuZCBzY2hlbWEgcGFy dHMgYXJlIGFsbCBsb3dlciBjYXNlLCBpdCBjb3VsZCBiZSBleHRlbmRlZCB0byBlbmNvZGUgSURO IGhvc3RzIGludG8gdGhlaXIgQVNDSUkgZXF1aXZhbGVudC4NCg0KSXQgd291bGQgYWxzbyBiZSB1 c2VmdWwgaWYgdGhlIG9wcG9zaXRlIG9wZXJhdGlvbiB3YXMgc3VwcG9ydGVkIGZvciBkaXNwbGF5 IHB1cnBvc2VzLCBub3Qgc3VyZSB3aGF0IG5hbWUgc3VjaCBhIG1ldGhvZCBjb3VsZCBoYXZlLCBw ZXJoYXBzIGBjYW5vbmljYWxpemVgPw0KDQojIyMgSW1wbGVtZW50YXRpb24NCg0KSW4gaHR0cHM6 Ly9naXRodWIuY29tL3J1YnkvdXJpL2lzc3Vlcy83NiBAc2tyeXVrb3YgcG9pbnRlZCB0byBoaXMg cHVyZSBSdWJ5IGltcGxlbWVudGF0aW9uIG9mIElETkEgMjAwOCAoaHR0cHM6Ly9naXRodWIuY29t L3Nrcnl1a292L3VyaS1pZG5hKSwgSSBiZWxpZXZlIGl0IHdvdWxkIGJlIGdvb2QgdG8gdXBzdHJl YW0gcGFydHMgb2YgaXQgaW4gdGhlIGB1cmlgIGdlbSB0byBpbXBsZW1lbnQgdGhlc2UgZmVhdHVy ZS4NCiANCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBs aXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFu IGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5m byAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1s LnJ1YnktbGFuZy5vcmcvCg==