') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Update chacha20: use ChaChaCore directly; remove bytes_until_reseed field by dhardy · Pull Request #1726 · rust-random/rand · GitHub
Skip to content

Update chacha20: use ChaChaCore directly; remove bytes_until_reseed field - #1726

Merged
dhardy merged 4 commits into
masterfrom
push-kzkqyroqyklv
Feb 7, 2026
Merged

Update chacha20: use ChaChaCore directly; remove bytes_until_reseed field#1726
dhardy merged 4 commits into
masterfrom
push-kzkqyroqyklv

Conversation

@dhardy

Copy link
Copy Markdown
Member
  • Added a CHANGELOG.md entry

Depends on RustCrypto/stream-ciphers#516.

@dhardy

Copy link
Copy Markdown
MemberAuthor

See also this comment: #1686 (comment)

Comment threadsrc/rngs/thread.rs Outdated
@dhardy

Copy link
Copy Markdown
MemberAuthor

@newpavlov since this is still blocked by a new chacha20 release can you also review #1727? I'll rebase this after.

@dhardy
dhardyforce-pushed the push-kzkqyroqyklv branch 3 times, most recently from 2b89cdd to 683fc27CompareFebruary 2, 2026 14:49
Comment threadsrc/rngs/thread.rs
Comment threadsrc/rngs/thread.rs Outdated
@dhardy
dhardyforce-pushed the push-kzkqyroqyklv branch 2 times, most recently from a738623 to 34373f0CompareFebruary 2, 2026 15:31
Comment threadsrc/rngs/thread.rs
@dhardy
dhardy marked this pull request as ready for review February 5, 2026 15:30
@dhardy

Copy link
Copy Markdown
MemberAuthor

Updated.

I could put out a new rand RC with this, but I won't bother without a good reason. The chacha20 RC.11 did not bring breaking changes so the current rand RC should still be fine using that.

@tarcieri

Copy link
Copy Markdown
Contributor

@dhardy I can put out another RC with RustCrypto/stream-ciphers#529 though hopefully it didn't impact anything in rand?

@dhardy
dhardy merged commit 28e3df8 into masterFeb 7, 2026
16 checks passed
@dhardy
dhardy deleted the push-kzkqyroqyklv branch February 7, 2026 08:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dhardy@tarcieri@newpavlov