') + ')', '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); } })(); })(); Add BaseDeadlineReference and deadline_reference to the SDK public interface by ferruzzi · Pull Request #70706 · apache/airflow · GitHub
Skip to content

Add BaseDeadlineReference and deadline_reference to the SDK public interface - #70706

Merged
ferruzzi merged 2 commits into
apache:mainfrom
aws-mwaa:ferruzzi/export-deadline-reference-api
Aug 5, 2026
Merged

Add BaseDeadlineReference and deadline_reference to the SDK public interface#70706
ferruzzi merged 2 commits into
apache:mainfrom
aws-mwaa:ferruzzi/export-deadline-reference-api

Conversation

@ferruzzi

Copy link
Copy Markdown
Contributor

These were always intended to be public for creating custom references.

Simplifies the import paths when defining custom Deadline Alert References to align with other similar imports.

@vatsrahul1001

Copy link
Copy Markdown
Contributor

@ferruzzi Looks like we have a conflict here

@eladkaleladkal added type:misc/internal Changelog: Misc changes that should appear in change log backport-to-v3-3-test Backport to v3-3-test labels Aug 3, 2026
@ferruzzi
ferruzziforce-pushed the ferruzzi/export-deadline-reference-api branch from b2dc295 to 5f4c0b4CompareAugust 5, 2026 22:04
@ferruzzi

Copy link
Copy Markdown
ContributorAuthor

@vatsrahul1001 - Thanks, resolved. Sorry for the delay. Once CI goes green I'll merge it (three approvals) before it drifts again.

@ferruzzi
ferruzzi merged commit 7b0eae5 into apache:mainAug 5, 2026
106 checks passed
@ferruzzi
ferruzzi deleted the ferruzzi/export-deadline-reference-api branch August 5, 2026 23:14
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-3-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-3-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request Aug 5, 2026
…DK public interface (apache#70706)
(cherry picked from commit 7b0eae5)
Co-authored-by: D. Ferruzzi <ferruzzi@amazon.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request Aug 6, 2026
…DK public interface (apache#70706)
(cherry picked from commit 7b0eae5)
Co-authored-by: D. Ferruzzi <ferruzzi@amazon.com>
vatsrahul1001 pushed a commit that referenced this pull request Aug 13, 2026
…DK public interface (#70706)
(cherry picked from commit 7b0eae5)
Co-authored-by: D. Ferruzzi <ferruzzi@amazon.com>
dabla pushed a commit to dabla/airflow that referenced this pull request Aug 14, 2026
potiuk pushed a commit that referenced this pull request Aug 14, 2026
…DK public interface (#70706) (#71208)
(cherry picked from commit 7b0eae5)
Co-authored-by: D. Ferruzzi <ferruzzi@amazon.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:deadline-alertsAIP-86 (former AIP-57)area:task-sdkbackport-to-v3-3-testBackport to v3-3-testkind:documentationtype:misc/internalChangelog: Misc changes that should appear in change log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@ferruzzi@vatsrahul1001@amoghrajesh@seanghaeli@o-nikolas@vincbeck@eladkal