[ruby-core:123349] [Ruby Feature#21617] Add Internationalized Domain Name (IDN) support to URI
From:
"naruse (Yui NARUSE) via ruby-core" <ruby-core@...>
Date:
2025-09-30 06:44:23 UTC
List:
ruby-core #123349
SXNzdWUgIzIxNjE3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbmFydXNlIChZdWkgTkFSVVNFKS4NCg0K DQpJIGFncmVlIHRoZSBkaXJlY3Rpb24gdGhhdCBVUkkgc3VwcG9ydHMgSUROLg0KQnV0IHRoZXJl IGFyZSBzb21lIGJhcnJpZXJzIHRvIGJlIHNvbHZlZDoNCiogSUROIExpYnJhcnkNCiAgKiBJRE4g bmVlZHMgc29tZSBsb2dpYyBhbmQgdGFibGVzIGluY2x1ZGluZyBwdW55Y29kZSwgbmFtZXByZXAs IGFuZCBzb21lIGRhdGEgdGFibGVzIGFzIGZhciBhcyByZW1lbWJlcg0KKiBVUkkncyBhcmdtZW50 DQogICogVVJJLnBhcnNlJ3MgYXJndW1lbnQgaXMgVVJJLiBUbyBzdXBwb3J0IElETiwgdGhlIGFy Z21lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZA0KDQojIyMgSUROIExpYnJhcnkNCg0KbGliaWRuMiBp cyB0aGUgZmFtb3VzIGxpYnJhcnkuIEJ1dCBpdCBpbnRyb2R1Y2VzIG9uZSBtb3JlIGV4dGVybmFs IGRlcGVuZGVuY3kuDQpVc2luZyBwdXJlIHJ1YnkgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMgaXMg Z29vZCBpZGVhIHRvIGF2b2lkIHRoZSBkZXBlbmRlbmN5IHByb2JsZW0uDQoNCiMjIyBVUkkncyBh cmdtZW50DQoNCkludHJvZHVjaW5nIFdIQVRXRyBQYXJzZXIgaXMgYW4gb3B0aW9uLg0KSSBhZ3Jl ZSB0aGUgZGlyZWN0aW9uIHRvIGFkb3B0IFdIQVRXRyBQYXJzZXIgYnkgdXJpIGxpYnJhcnkuDQpC dXQgaW4gdGhpcyB0aWNrZXQsIGp1c3QgYWxsb3dpbmcgSUROIGlzIGFsc28gYSBnb29kIG9wdGlv biB0byBtaW5pbWl6ZSB0aGUgZGlzY3Vzc2lvbi4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjE2MTc6IEFkZCBJbnRlcm5hdGlvbmFsaXplZCBE b21haW4gTmFtZSAoSUROKSBzdXBwb3J0IHRvIFVSSQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzIxNjE3I2NoYW5nZS0xMTQ3MjENCg0KKiBBdXRob3I6IGJ5cm9vdCAoSmVhbiBC b3Vzc2llcikNCiogU3RhdHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQpPcmlnaW5hbGx5IHByb3Bvc2VkIGJ5IEBjaHVja2UgYXQgaHR0cHM6Ly9naXRo dWIuY29tL3J1YnkvdXJpL2lzc3Vlcy83NiwgdHJ5aW5nIHRvIGZvcm1hbGl6ZSBpdCBoZXJlLg0K DQojIyMgQ29udGV4dA0KDQpbSW50ZXJuYWxpemVkIERvbWFpbiBOYW1lc10oaHR0cHM6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvSW50ZXJuYXRpb25hbGl6ZWRfZG9tYWluX25hbWUpLCBhcmUgZ2V0 dGluZyBtb3JlIGNvbW1vbiwgeWV0IFJ1YnkncyBgdXJpYCBkZWZhdWx0IGdlbSBoYXMgbm8gc3Vw cG9ydCBmb3IgaXQ6DQoNCmBgYHJ1YnkNCj4+IFVSSSgiaHR0cHM6Ly/ml6XmnKzoqp4uanAvIikN ClVSSSBtdXN0IGJlIGFzY2lpIG9ubHkgImh0dHBzOi8vXHU2NUU1XHU2NzJDXHU4QTlFLmpwLyIg KFVSSTo6SW52YWxpZFVSSUVycm9yKQ0KYGBgDQoNClNvIGFueSBwcm9ncmFtIHRoYXQgd2hpY2gg dG8gaGFuZGxlIGFyYml0cmFyeSB2YWxpZCBVUklzIHByb3ZpZGVkIGJ5IHVzZXJzIGNhbid0IHVz ZSB0aGUgYHVyaWAgZ2VtLCBhbmQgaW5zdGVhZCBoYXZlIHRvIGRlcGVuZCBvbiB0aGlyZCBwYXJ0 eSBnZW1zIGxpa2UgW2BhZGRyZXNzYWJsZWBdKGh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMvYWRk cmVzc2FibGUpDQoNCmBgYHJ1YnkNCj4+IEFkZHJlc3NhYmxlOjpVUkkucGFyc2UoImh0dHBzOi8v 5pel5pys6KqeLmpwLyIpDQo9PiAjPEFkZHJlc3NhYmxlOjpVUkk6MHhkNjQ4IFVSSTpodHRwczov L+aXpeacrOiqni5qcC8+DQpgYGANCg0KQnV0IGV2ZW4gdGhlcmUsIGl0IHdvbid0IHNlYW1sZXNz bHkgd29yayB3aXRoIG90aGVyIGxpYnJhcmllcyBzdWNoIGFzIGBuZXQtaHR0cGA6DQoNCmBgcnVi eQ0KPj4gTmV0OjpIVFRQLmdldChBZGRyZXNzYWJsZTo6VVJJLnBhcnNlKCJodHRwczovL+aXpeac rOiqni5qcC8iKSkuYnl0ZXNpemUNCk9wZW5TU0w6OlNTTDo6U1NMU29ja2V0I2Nvbm5lY3Rfbm9u YmxvY2snOiBTU0xfY29ubmVjdCByZXR1cm5lZD0xIGVycm5vPTAgcGVlcmFkZHI9WzIwMDE6MjE4 OjMwMDE6Nzo6MTEwXTo0NDMgc3RhdGU9ZXJyb3I6IHNzbC90bHMgYWxlcnQgaGFuZHNoYWtlIGZh aWx1cmUgKFNTTCBhbGVydCBudW1iZXIgNDApIChPcGVuU1NMOjpTU0w6OlNTTEVycm9yKQ0KYGBg DQoNCllvdSBoYXZlIHRvIGV4cGxpY2l0bHkgbm9ybWFsaXplIHRoZSBVUkw6DQoNCmBgYHJ1YnkN Cj4+IEFkZHJlc3NhYmxlOjpVUkkucGFyc2UoImh0dHBzOi8v5pel5pys6KqeLmpwLyIpLm5vcm1h bGl6ZQ0KPT4gIzxBZGRyZXNzYWJsZTo6VVJJOjB4MTMwZDAgVVJJOmh0dHBzOi8veG4tLXdndjcx YTExOWUuanAvPg0KPj4gTmV0OjpIVFRQLmdldChBZGRyZXNzYWJsZTo6VVJJLnBhcnNlKCJodHRw czovL+aXpeacrOiqni5qcC8iKS5ub3JtYWxpemUpLmJ5dGVzaXplDQo9PiA4NzAzDQpgYGANCg0K IyMjIEZlYXR1cmUgUmVxdWVzdA0KDQpJIGJlbGlldmUgaXQncyB3b3VsZCBiZSB2ZXJ5IHVzZWZ1 bCBpZiB0aGUgZGVmYXVsdCBgdXJpYCBnZW0gaGFkIHRoZSBjYXBhY2l0eSBvZjoNCg0KICAtIFBh cnNpbmcgSUROQSBkb21haW4gbmFtZXMuDQogIC0gQ29udmVydCBVUkxzIGJldHdlZW4gdGhlaXIg dW5pY29kZSBhbmQgQVNDSUkgZm9ybXMuDQoNCg0KVGhlIGBVUkk6OkdlbmVyaWNgIGNsYXNzIGFs cmVhZHkgaGF2ZSBhIGAjbm9ybWFsaXplYCBtZXRob2QgdG8gZW5zdXJlIHRoZSBob3N0IGFuZCBz Y2hlbWEgcGFydHMgYXJlIGFsbCBsb3dlciBjYXNlLCBpdCBjb3VsZCBiZSBleHRlbmRlZCB0byBl bmNvZGUgSUROIGhvc3RzIGludG8gdGhlaXIgQVNDSUkgZXF1aXZhbGVudC4NCg0KSXQgd291bGQg YWxzbyBiZSB1c2VmdWwgaWYgdGhlIG9wcG9zaXRlIG9wZXJhdGlvbiB3YXMgc3VwcG9ydGVkIGZv ciBkaXNwbGF5IHB1cnBvc2VzLCBub3Qgc3VyZSB3aGF0IG5hbWUgc3VjaCBhIG1ldGhvZCBjb3Vs ZCBoYXZlLCBwZXJoYXBzIGBjYW5vbmljYWxpemVgPw0KDQojIyMgSW1wbGVtZW50YXRpb24NCg0K SW4gaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvdXJpL2lzc3Vlcy83NiBAc2tyeXVrb3YgcG9pbnRl ZCB0byBoaXMgcHVyZSBSdWJ5IGltcGxlbWVudGF0aW9uIG9mIElETkEgMjAwOCAoaHR0cHM6Ly9n aXRodWIuY29tL3Nrcnl1a292L3VyaS1pZG5hKSwgSSBiZWxpZXZlIGl0IHdvdWxkIGJlIGdvb2Qg dG8gdXBzdHJlYW0gcGFydHMgb2YgaXQgaW4gdGhlIGB1cmlgIGdlbSB0byBpbXBsZW1lbnQgdGhl c2UgZmVhdHVyZS4NCiANCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUg bWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmli ZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5 LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVi eS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcvCg==