[ruby-core:123328] [Ruby Feature#21617] Add Internationalized Domain Name (IDN) support to URI
From:
"byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Date:
2025-09-25 11:05:40 UTC
List:
ruby-core #123328
SXNzdWUgIzIxNjE3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4N Cg0KDQpAc2tyeXVrb3YgYWxzbyBwb2ludGVkIHRvIG1lIHRoZSBleGlzdGVuY2Ugb2YgaHR0cHM6 Ly9naXRodWIuY29tL3kteWFnaS91cmktd2hhdHdnX3BhcnNlciBieSBAeS15YWdpIA0KDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMTYxNzogQWRk IEludGVybmF0aW9uYWxpemVkIERvbWFpbiBOYW1lIChJRE4pIHN1cHBvcnQgdG8gVVJJDQpodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjE2MTcjY2hhbmdlLTExNDY5Ng0KDQoqIEF1 dGhvcjogYnlyb290IChKZWFuIEJvdXNzaWVyKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk9yaWdpbmFsbHkgcHJvcG9zZWQgYnkgQGNo dWNrZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcnVieS91cmkvaXNzdWVzLzc2LCB0cnlpbmcgdG8g Zm9ybWFsaXplIGl0IGhlcmUuDQoNCiMjIyBDb250ZXh0DQoNCltJbnRlcm5hbGl6ZWQgRG9tYWlu IE5hbWVzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbnRlcm5hdGlvbmFsaXplZF9k b21haW5fbmFtZSksIGFyZSBnZXR0aW5nIG1vcmUgY29tbW9uLCB5ZXQgUnVieSdzIGB1cmlgIGRl ZmF1bHQgZ2VtIGhhcyBubyBzdXBwb3J0IGZvciBpdDoNCg0KYGBgcnVieQ0KPj4gVVJJKCJodHRw czovL+aXpeacrOiqni5qcC8iKQ0KVVJJIG11c3QgYmUgYXNjaWkgb25seSAiaHR0cHM6Ly9cdTY1 RTVcdTY3MkNcdThBOUUuanAvIiAoVVJJOjpJbnZhbGlkVVJJRXJyb3IpDQpgYGANCg0KU28gYW55 IHByb2dyYW0gdGhhdCB3aGljaCB0byBoYW5kbGUgYXJiaXRyYXJ5IHZhbGlkIFVSSXMgcHJvdmlk ZWQgYnkgdXNlcnMgY2FuJ3QgdXNlIHRoZSBgdXJpYCBnZW0sIGFuZCBpbnN0ZWFkIGhhdmUgdG8g ZGVwZW5kIG9uIHRoaXJkIHBhcnR5IGdlbXMgbGlrZSBbYGFkZHJlc3NhYmxlYF0oaHR0cHM6Ly9y dWJ5Z2Vtcy5vcmcvZ2Vtcy9hZGRyZXNzYWJsZSkNCg0KYGBgcnVieQ0KPj4gQWRkcmVzc2FibGU6 OlVSSS5wYXJzZSgiaHR0cHM6Ly/ml6XmnKzoqp4uanAvIikNCj0+ICM8QWRkcmVzc2FibGU6OlVS SToweGQ2NDggVVJJOmh0dHBzOi8v5pel5pys6KqeLmpwLz4NCmBgYA0KDQpCdXQgZXZlbiB0aGVy ZSwgaXQgd29uJ3Qgc2VhbWxlc3NseSB3b3JrIHdpdGggb3RoZXIgbGlicmFyaWVzIHN1Y2ggYXMg YG5ldC1odHRwYDoNCg0KYGBydWJ5DQo+PiBOZXQ6OkhUVFAuZ2V0KEFkZHJlc3NhYmxlOjpVUkku cGFyc2UoImh0dHBzOi8v5pel5pys6KqeLmpwLyIpKS5ieXRlc2l6ZQ0KT3BlblNTTDo6U1NMOjpT U0xTb2NrZXQjY29ubmVjdF9ub25ibG9jayc6IFNTTF9jb25uZWN0IHJldHVybmVkPTEgZXJybm89 MCBwZWVyYWRkcj1bMjAwMToyMTg6MzAwMTo3OjoxMTBdOjQ0MyBzdGF0ZT1lcnJvcjogc3NsL3Rs cyBhbGVydCBoYW5kc2hha2UgZmFpbHVyZSAoU1NMIGFsZXJ0IG51bWJlciA0MCkgKE9wZW5TU0w6 OlNTTDo6U1NMRXJyb3IpDQpgYGANCg0KWW91IGhhdmUgdG8gZXhwbGljaXRseSBub3JtYWxpemUg dGhlIFVSTDoNCg0KYGBgcnVieQ0KPj4gQWRkcmVzc2FibGU6OlVSSS5wYXJzZSgiaHR0cHM6Ly/m l6XmnKzoqp4uanAvIikubm9ybWFsaXplDQo9PiAjPEFkZHJlc3NhYmxlOjpVUkk6MHgxMzBkMCBV Ukk6aHR0cHM6Ly94bi0td2d2NzFhMTE5ZS5qcC8+DQo+PiBOZXQ6OkhUVFAuZ2V0KEFkZHJlc3Nh YmxlOjpVUkkucGFyc2UoImh0dHBzOi8v5pel5pys6KqeLmpwLyIpLm5vcm1hbGl6ZSkuYnl0ZXNp emUNCj0+IDg3MDMNCmBgYA0KDQojIyMgRmVhdHVyZSBSZXF1ZXN0DQoNCkkgYmVsaWV2ZSBpdCdz IHdvdWxkIGJlIHZlcnkgdXNlZnVsIGlmIHRoZSBkZWZhdWx0IGB1cmlgIGdlbSBoYWQgdGhlIGNh cGFjaXR5IG9mOg0KDQogIC0gUGFyc2luZyBJRE5BIGRvbWFpbiBuYW1lcy4NCiAgLSBDb252ZXJ0 IFVSTHMgYmV0d2VlbiB0aGVpciB1bmljb2RlIGFuZCBBU0NJSSBmb3Jtcy4NCg0KDQpUaGUgYFVS STo6R2VuZXJpY2AgY2xhc3MgYWxyZWFkeSBoYXZlIGEgYCNub3JtYWxpemVgIG1ldGhvZCB0byBl bnN1cmUgdGhlIGhvc3QgYW5kIHNjaGVtYSBwYXJ0cyBhcmUgYWxsIGxvd2VyIGNhc2UsIGl0IGNv dWxkIGJlIGV4dGVuZGVkIHRvIGVuY29kZSBJRE4gaG9zdHMgaW50byB0aGVpciBBU0NJSSBlcXVp dmFsZW50Lg0KDQpJdCB3b3VsZCBhbHNvIGJlIHVzZWZ1bCBpZiB0aGUgb3Bwb3NpdGUgb3BlcmF0 aW9uIHdhcyBzdXBwb3J0ZWQgZm9yIGRpc3BsYXkgcHVycG9zZXMsIG5vdCBzdXJlIHdoYXQgbmFt ZSBzdWNoIGEgbWV0aG9kIGNvdWxkIGhhdmUsIHBlcmhhcHMgYGNhbm9uaWNhbGl6ZWA/DQoNCiMj IyBJbXBsZW1lbnRhdGlvbg0KDQpJbiBodHRwczovL2dpdGh1Yi5jb20vcnVieS91cmkvaXNzdWVz Lzc2IEBza3J5dWtvdiBwb2ludGVkIHRvIGhpcyBwdXJlIFJ1YnkgaW1wbGVtZW50YXRpb24gb2Yg SUROQSAyMDA4IChodHRwczovL2dpdGh1Yi5jb20vc2tyeXVrb3YvdXJpLWlkbmEpLCBJIGJlbGll dmUgaXQgd291bGQgYmUgZ29vZCB0byB1cHN0cmVhbSBwYXJ0cyBvZiBpdCBpbiB0aGUgYHVyaWAg Z2VtIHRvIGltcGxlbWVudCB0aGVzZSBmZWF0dXJlLg0KIA0KDQoNCg0KLS0gDQpodHRwczovL2J1 Z3MucnVieS1sYW5nLm9yZy8NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFu Zy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1s LnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9y Zy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8K