Support ICU v78 changes including IDN and Japanese Meiji era start date - #122480

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate
Dec 31, 2025
Merged

Support ICU v78 changes including IDN and Japanese Meiji era start date#122480
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate

Conversation

@tarekgh

Copy link
Copy Markdown
Member

ICU has released version 78, which includes changes to IDN handling that caused some of our tests to fail when using the updated library.

This release also introduces a breaking change: the start date of the Japanese Meiji era has been updated from 1868-09-08 to 1868-10-23. Additional details are available in the relevant CLDR issue and CLDR pull request. The updated date is also confirmed in the historical reference on the Meiji era.

@tarekgh
tarekgh requested review from Copilot and richlander and removed request for CopilotDecember 12, 2025 02:39
@tarekghtarekgh self-assigned this Dec 12, 2025
@tarekghtarekgh added this to the 11.0.0 milestone Dec 12, 2025
@tarekghtarekgh added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Dec 12, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

@richlander

Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

richlander commented Dec 12, 2025

Copy link
Copy Markdown
Member

This looks solid. I looked through the failures. I don't think any of them are related. Most are known, per BA. The failures I saw on the other PR are gone. Seems good to merge. I also filed a tracking issue.

@jeffhandley

@richlander

Copy link
Copy Markdown
Member

Thanks @tarekgh!

@jeffhandleyjeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but we will wait for review from @tarekgh.

Oops; just realized @tarekgh is the author. 😄

@jeffhandley

Copy link
Copy Markdown
Member

/ba-g Failures are known except for one unrelated failure in an unrelated area.

@jeffhandley
jeffhandley merged commit dc94865 into dotnet:mainDec 31, 2025
200 of 211 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📋 Breaking Change Documentation Required

Create a breaking change issue with AI-generated content

Generated by Breaking Change Documentation Tool - 2025-12-31 00:05:20

@tarekgh

Copy link
Copy Markdown
MemberAuthor

The breaking change doc issue is created dotnet/docs#50894.

@tarekghtarekgh removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Jan 5, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 5, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Globalizationbreaking-changeIssue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarekgh@richlander@jeffhandley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Support ICU v78 changes including IDN and Japanese Meiji era start date - #122480

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate
Dec 31, 2025
Merged

Support ICU v78 changes including IDN and Japanese Meiji era start date#122480
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate

Conversation

@tarekgh

Copy link
Copy Markdown
Member

ICU has released version 78, which includes changes to IDN handling that caused some of our tests to fail when using the updated library.

This release also introduces a breaking change: the start date of the Japanese Meiji era has been updated from 1868-09-08 to 1868-10-23. Additional details are available in the relevant CLDR issue and CLDR pull request. The updated date is also confirmed in the historical reference on the Meiji era.

@tarekgh
tarekgh requested review from Copilot and richlander and removed request for CopilotDecember 12, 2025 02:39
@tarekghtarekgh self-assigned this Dec 12, 2025
@tarekghtarekgh added this to the 11.0.0 milestone Dec 12, 2025
@tarekghtarekgh added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Dec 12, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

@richlander

Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

richlander commented Dec 12, 2025

Copy link
Copy Markdown
Member

This looks solid. I looked through the failures. I don't think any of them are related. Most are known, per BA. The failures I saw on the other PR are gone. Seems good to merge. I also filed a tracking issue.

@jeffhandley

@richlander

Copy link
Copy Markdown
Member

Thanks @tarekgh!

@jeffhandleyjeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but we will wait for review from @tarekgh.

Oops; just realized @tarekgh is the author. 😄

@jeffhandley

Copy link
Copy Markdown
Member

/ba-g Failures are known except for one unrelated failure in an unrelated area.

@jeffhandley
jeffhandley merged commit dc94865 into dotnet:mainDec 31, 2025
200 of 211 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📋 Breaking Change Documentation Required

Create a breaking change issue with AI-generated content

Generated by Breaking Change Documentation Tool - 2025-12-31 00:05:20

@tarekgh

Copy link
Copy Markdown
MemberAuthor

The breaking change doc issue is created dotnet/docs#50894.

@tarekghtarekgh removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Jan 5, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 5, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Globalizationbreaking-changeIssue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarekgh@richlander@jeffhandley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Support ICU v78 changes including IDN and Japanese Meiji era start date - #122480

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate
Dec 31, 2025
Merged

Support ICU v78 changes including IDN and Japanese Meiji era start date#122480
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate

Conversation

@tarekgh

Copy link
Copy Markdown
Member

ICU has released version 78, which includes changes to IDN handling that caused some of our tests to fail when using the updated library.

This release also introduces a breaking change: the start date of the Japanese Meiji era has been updated from 1868-09-08 to 1868-10-23. Additional details are available in the relevant CLDR issue and CLDR pull request. The updated date is also confirmed in the historical reference on the Meiji era.

@tarekgh
tarekgh requested review from Copilot and richlander and removed request for CopilotDecember 12, 2025 02:39
@tarekghtarekgh self-assigned this Dec 12, 2025
@tarekghtarekgh added this to the 11.0.0 milestone Dec 12, 2025
@tarekghtarekgh added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Dec 12, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

@richlander

Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

richlander commented Dec 12, 2025

Copy link
Copy Markdown
Member

This looks solid. I looked through the failures. I don't think any of them are related. Most are known, per BA. The failures I saw on the other PR are gone. Seems good to merge. I also filed a tracking issue.

@jeffhandley

@richlander

Copy link
Copy Markdown
Member

Thanks @tarekgh!

@jeffhandleyjeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but we will wait for review from @tarekgh.

Oops; just realized @tarekgh is the author. 😄

@jeffhandley

Copy link
Copy Markdown
Member

/ba-g Failures are known except for one unrelated failure in an unrelated area.

@jeffhandley
jeffhandley merged commit dc94865 into dotnet:mainDec 31, 2025
200 of 211 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📋 Breaking Change Documentation Required

Create a breaking change issue with AI-generated content

Generated by Breaking Change Documentation Tool - 2025-12-31 00:05:20

@tarekgh

Copy link
Copy Markdown
MemberAuthor

The breaking change doc issue is created dotnet/docs#50894.

@tarekghtarekgh removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Jan 5, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 5, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Globalizationbreaking-changeIssue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarekgh@richlander@jeffhandley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Support ICU v78 changes including IDN and Japanese Meiji era start date - #122480

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate
Dec 31, 2025
Merged

Support ICU v78 changes including IDN and Japanese Meiji era start date#122480
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate

Conversation

@tarekgh

Copy link
Copy Markdown
Member

ICU has released version 78, which includes changes to IDN handling that caused some of our tests to fail when using the updated library.

This release also introduces a breaking change: the start date of the Japanese Meiji era has been updated from 1868-09-08 to 1868-10-23. Additional details are available in the relevant CLDR issue and CLDR pull request. The updated date is also confirmed in the historical reference on the Meiji era.

@tarekgh
tarekgh requested review from Copilot and richlander and removed request for CopilotDecember 12, 2025 02:39
@tarekghtarekgh self-assigned this Dec 12, 2025
@tarekghtarekgh added this to the 11.0.0 milestone Dec 12, 2025
@tarekghtarekgh added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Dec 12, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

@richlander

Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

richlander commented Dec 12, 2025

Copy link
Copy Markdown
Member

This looks solid. I looked through the failures. I don't think any of them are related. Most are known, per BA. The failures I saw on the other PR are gone. Seems good to merge. I also filed a tracking issue.

@jeffhandley

@richlander

Copy link
Copy Markdown
Member

Thanks @tarekgh!

@jeffhandleyjeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but we will wait for review from @tarekgh.

Oops; just realized @tarekgh is the author. 😄

@jeffhandley

Copy link
Copy Markdown
Member

/ba-g Failures are known except for one unrelated failure in an unrelated area.

@jeffhandley
jeffhandley merged commit dc94865 into dotnet:mainDec 31, 2025
200 of 211 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📋 Breaking Change Documentation Required

Create a breaking change issue with AI-generated content

Generated by Breaking Change Documentation Tool - 2025-12-31 00:05:20

@tarekgh

Copy link
Copy Markdown
MemberAuthor

The breaking change doc issue is created dotnet/docs#50894.

@tarekghtarekgh removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Jan 5, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 5, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Globalizationbreaking-changeIssue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarekgh@richlander@jeffhandley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Support ICU v78 changes including IDN and Japanese Meiji era start date - #122480

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate
Dec 31, 2025
Merged

Support ICU v78 changes including IDN and Japanese Meiji era start date#122480
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate

Conversation

@tarekgh

Copy link
Copy Markdown
Member

ICU has released version 78, which includes changes to IDN handling that caused some of our tests to fail when using the updated library.

This release also introduces a breaking change: the start date of the Japanese Meiji era has been updated from 1868-09-08 to 1868-10-23. Additional details are available in the relevant CLDR issue and CLDR pull request. The updated date is also confirmed in the historical reference on the Meiji era.

@tarekgh
tarekgh requested review from Copilot and richlander and removed request for CopilotDecember 12, 2025 02:39
@tarekghtarekgh self-assigned this Dec 12, 2025
@tarekghtarekgh added this to the 11.0.0 milestone Dec 12, 2025
@tarekghtarekgh added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Dec 12, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

@richlander

Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

richlander commented Dec 12, 2025

Copy link
Copy Markdown
Member

This looks solid. I looked through the failures. I don't think any of them are related. Most are known, per BA. The failures I saw on the other PR are gone. Seems good to merge. I also filed a tracking issue.

@jeffhandley

@richlander

Copy link
Copy Markdown
Member

Thanks @tarekgh!

@jeffhandleyjeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but we will wait for review from @tarekgh.

Oops; just realized @tarekgh is the author. 😄

@jeffhandley

Copy link
Copy Markdown
Member

/ba-g Failures are known except for one unrelated failure in an unrelated area.

@jeffhandley
jeffhandley merged commit dc94865 into dotnet:mainDec 31, 2025
200 of 211 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📋 Breaking Change Documentation Required

Create a breaking change issue with AI-generated content

Generated by Breaking Change Documentation Tool - 2025-12-31 00:05:20

@tarekgh

Copy link
Copy Markdown
MemberAuthor

The breaking change doc issue is created dotnet/docs#50894.

@tarekghtarekgh removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Jan 5, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 5, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Globalizationbreaking-changeIssue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarekgh@richlander@jeffhandley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Support ICU v78 changes including IDN and Japanese Meiji era start date - #122480

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate
Dec 31, 2025
Merged

Support ICU v78 changes including IDN and Japanese Meiji era start date#122480
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate

Conversation

@tarekgh

Copy link
Copy Markdown
Member

ICU has released version 78, which includes changes to IDN handling that caused some of our tests to fail when using the updated library.

This release also introduces a breaking change: the start date of the Japanese Meiji era has been updated from 1868-09-08 to 1868-10-23. Additional details are available in the relevant CLDR issue and CLDR pull request. The updated date is also confirmed in the historical reference on the Meiji era.

@tarekgh
tarekgh requested review from Copilot and richlander and removed request for CopilotDecember 12, 2025 02:39
@tarekghtarekgh self-assigned this Dec 12, 2025
@tarekghtarekgh added this to the 11.0.0 milestone Dec 12, 2025
@tarekghtarekgh added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Dec 12, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

@richlander

Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

richlander commented Dec 12, 2025

Copy link
Copy Markdown
Member

This looks solid. I looked through the failures. I don't think any of them are related. Most are known, per BA. The failures I saw on the other PR are gone. Seems good to merge. I also filed a tracking issue.

@jeffhandley

@richlander

Copy link
Copy Markdown
Member

Thanks @tarekgh!

@jeffhandleyjeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but we will wait for review from @tarekgh.

Oops; just realized @tarekgh is the author. 😄

@jeffhandley

Copy link
Copy Markdown
Member

/ba-g Failures are known except for one unrelated failure in an unrelated area.

@jeffhandley
jeffhandley merged commit dc94865 into dotnet:mainDec 31, 2025
200 of 211 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📋 Breaking Change Documentation Required

Create a breaking change issue with AI-generated content

Generated by Breaking Change Documentation Tool - 2025-12-31 00:05:20

@tarekgh

Copy link
Copy Markdown
MemberAuthor

The breaking change doc issue is created dotnet/docs#50894.

@tarekghtarekgh removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Jan 5, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 5, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Globalizationbreaking-changeIssue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarekgh@richlander@jeffhandley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Support ICU v78 changes including IDN and Japanese Meiji era start date - #122480

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate
Dec 31, 2025
Merged

Support ICU v78 changes including IDN and Japanese Meiji era start date#122480
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate

Conversation

@tarekgh

Copy link
Copy Markdown
Member

ICU has released version 78, which includes changes to IDN handling that caused some of our tests to fail when using the updated library.

This release also introduces a breaking change: the start date of the Japanese Meiji era has been updated from 1868-09-08 to 1868-10-23. Additional details are available in the relevant CLDR issue and CLDR pull request. The updated date is also confirmed in the historical reference on the Meiji era.

@tarekgh
tarekgh requested review from Copilot and richlander and removed request for CopilotDecember 12, 2025 02:39
@tarekghtarekgh self-assigned this Dec 12, 2025
@tarekghtarekgh added this to the 11.0.0 milestone Dec 12, 2025
@tarekghtarekgh added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Dec 12, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

@richlander

Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

richlander commented Dec 12, 2025

Copy link
Copy Markdown
Member

This looks solid. I looked through the failures. I don't think any of them are related. Most are known, per BA. The failures I saw on the other PR are gone. Seems good to merge. I also filed a tracking issue.

@jeffhandley

@richlander

Copy link
Copy Markdown
Member

Thanks @tarekgh!

@jeffhandleyjeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but we will wait for review from @tarekgh.

Oops; just realized @tarekgh is the author. 😄

@jeffhandley

Copy link
Copy Markdown
Member

/ba-g Failures are known except for one unrelated failure in an unrelated area.

@jeffhandley
jeffhandley merged commit dc94865 into dotnet:mainDec 31, 2025
200 of 211 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📋 Breaking Change Documentation Required

Create a breaking change issue with AI-generated content

Generated by Breaking Change Documentation Tool - 2025-12-31 00:05:20

@tarekgh

Copy link
Copy Markdown
MemberAuthor

The breaking change doc issue is created dotnet/docs#50894.

@tarekghtarekgh removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Jan 5, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 5, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Globalizationbreaking-changeIssue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarekgh@richlander@jeffhandley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Support ICU v78 changes including IDN and Japanese Meiji era start date - #122480

Merged
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate
Dec 31, 2025
Merged

Support ICU v78 changes including IDN and Japanese Meiji era start date#122480
jeffhandley merged 1 commit into
dotnet:mainfrom
tarekgh:FixSupportICU78ChangesIncludingIdnAndJapaneseMeijiEraStartDate

Conversation

@tarekgh

Copy link
Copy Markdown
Member

ICU has released version 78, which includes changes to IDN handling that caused some of our tests to fail when using the updated library.

This release also introduces a breaking change: the start date of the Japanese Meiji era has been updated from 1868-09-08 to 1868-10-23. Additional details are available in the relevant CLDR issue and CLDR pull request. The updated date is also confirmed in the historical reference on the Meiji era.

@tarekgh
tarekgh requested review from Copilot and richlander and removed request for CopilotDecember 12, 2025 02:39
@tarekghtarekgh self-assigned this Dec 12, 2025
@tarekghtarekgh added this to the 11.0.0 milestone Dec 12, 2025
@tarekghtarekgh added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Dec 12, 2025
@dotnet-policy-servicedotnet-policy-serviceBot added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Dec 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

@richlander

Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@richlander

richlander commented Dec 12, 2025

Copy link
Copy Markdown
Member

This looks solid. I looked through the failures. I don't think any of them are related. Most are known, per BA. The failures I saw on the other PR are gone. Seems good to merge. I also filed a tracking issue.

@jeffhandley

@richlander

Copy link
Copy Markdown
Member

Thanks @tarekgh!

@jeffhandleyjeffhandley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but we will wait for review from @tarekgh.

Oops; just realized @tarekgh is the author. 😄

@jeffhandley

Copy link
Copy Markdown
Member

/ba-g Failures are known except for one unrelated failure in an unrelated area.

@jeffhandley
jeffhandley merged commit dc94865 into dotnet:mainDec 31, 2025
200 of 211 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

📋 Breaking Change Documentation Required

Create a breaking change issue with AI-generated content

Generated by Breaking Change Documentation Tool - 2025-12-31 00:05:20

@tarekgh

Copy link
Copy Markdown
MemberAuthor

The breaking change doc issue is created dotnet/docs#50894.

@tarekghtarekgh removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Jan 5, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 5, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Globalizationbreaking-changeIssue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarekgh@richlander@jeffhandley