') + ')', '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); } })(); })(); chacha20: bump `cpufeatures` to v0.3 by tarcieri · Pull Request #530 · RustCrypto/stream-ciphers · GitHub
Skip to content

chacha20: bump cpufeatures to v0.3 - #530

Merged
tarcieri merged 1 commit into
masterfrom
chacha20/cpufeatures-v0.3
Feb 5, 2026
Merged

chacha20: bump cpufeatures to v0.3#530
tarcieri merged 1 commit into
masterfrom
chacha20/cpufeatures-v0.3

Conversation

@tarcieri

Copy link
Copy Markdown
Member

This is largely for the MSRV / edition bump, and it doesn't otherwise contain major notable changes

This is largely for the MSRV / edition bump, and it doesn't otherwise
contain major notable changes
@tarcieri
tarcieri merged commit 880bb79 into masterFeb 5, 2026
56 checks passed
@tarcieri
tarcieri deleted the chacha20/cpufeatures-v0.3 branch February 5, 2026 14:51
@tarcieritarcieri mentioned this pull request Feb 6, 2026
tarcieri added a commit that referenced this pull request Feb 7, 2026
## Added
- `rand_core` v0.10 support (#333, #513)
- 64-bit counter support (#439)
- `{get,set}_block_pos` inherent methods (#516)
- AVX-512 backend - requires `--cfg chacha20_avx512` to enable (#477)
- Inherent methods for RNG state (de)serialization (#541)
## Changed
- Bump `cipher` from `0.4` to `0.5` - replaces `generic-array` with
`hybrid-array` (#338, #521)
- Edition changed to 2024 and MSRV bumped to 1.85 (#397)
- Relax MSRV policy and allow MSRV bumps in patch releases
- Bump `cpufeatures` to v0.3 (#530)
- `--cfg chacha20_backend="..."` replaces `chacha20_force*` (#520)
- `chacha20_force_avx2` => `chacha20_backend="avx2"`
- `chacha20_force_avx512` => `chacha20_backend="avx512"`
- `chacha20_force_soft` => `chacha20_backend="soft"`
- `chacha20_force_sse2` => `chacha20_backend="sse2"`
## Removed
- `chacha20_force_neon` cfg attribute - now on-by-default for supported
targets (#361)
- `std` feature (#397)
- `Clone` impls (#462)
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.

1 participant

@tarcieri