Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 37 additions & 1 deletion .github/scripts/data/baseline.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"timestamp": "2026-05-08T18:30:27Z",
"timestamp": "2026-05-08T19:40:17Z",
"knownIds": [
"aptos-apt-usd",
"aptos-btc-usd",
Expand Down Expand Up @@ -242,6 +242,9 @@
"arbitrum-dot-usd-premium-prod",
"arbitrum-dpi-usd",
"arbitrum-drift-usd-refprice-mainnet-production",
"arbitrum-driv-usd-streams-extendedhoursequityprice-mainnet-production",
"arbitrum-driv-usd-streams-overnighthoursequityprice-mainnet-production",
"arbitrum-driv-usd-streams-regularhoursequityprice-mainnet-production",
"arbitrum-dusk-usd-refprice-mainnet-production",
"arbitrum-dydx-usd-refprice-ds-premium-global-003-prod",
"arbitrum-dym-usd-refprice-mainnet-production",
Expand Down Expand Up @@ -329,6 +332,7 @@
"arbitrum-gmt-usd-refprice-mainnet-production",
"arbitrum-gmx-usd",
"arbitrum-gmx-usd-premium-prod",
"arbitrum-gmx-usd-streams-dexprice-mainnet-production",
"arbitrum-gns-usd",
"arbitrum-gns-usd-refprice-mainnet-production",
"arbitrum-goat-usd-premium-prod-v03",
Expand Down Expand Up @@ -3047,6 +3051,10 @@
"feedID": "arbitrum-mainnet-0x00032afb9aa32c936f8c2677b408baf1368634729d54265cf14530bcaafb02d7",
"shutdownDate": "February 2026"
},
{
"feedID": "arbitrum-mainnet-0x00033a310e5f25a0720f4956a024f4a7151315c701e7ebb8abb17bf0bb4fc377",
"shutdownDate": "May 20th, 2026"
},
{
"feedID": "arbitrum-mainnet-0x0003b4ec54949f46ad9565d0636cfd3b058dcfd4969a030efd9c52e9a82cff7f",
"shutdownDate": "April 29th, 2026"
Expand All @@ -3055,6 +3063,18 @@
"feedID": "arbitrum-mainnet-0x0008d9a039c26729cae90134d55a78ac09efd8cc53bc6493ed90da1f0938c884",
"shutdownDate": "December 2025"
},
{
"feedID": "arbitrum-mainnet-0x000b4824f581b99b463e05947062af1cb923b37e78f5b5e6c03cd12e8d73d961",
"shutdownDate": "May 20th, 2026"
},
{
"feedID": "arbitrum-mainnet-0x000ba2a3b2710914e13b9cf3764c4d7dd1f19cdd0caf132097aa1e67919db376",
"shutdownDate": "May 20th, 2026"
},
{
"feedID": "arbitrum-mainnet-0x000bac8c6d14d2bbe242bb207c638f5e90a867fce57c70acb321a64e6bae0787",
"shutdownDate": "May 20th, 2026"
},
{
"feedID": "arbitrum-testnet-0x00034f75735eb98cc1044f93e356355145e1e90975e2b05568e6127ac4b335ca",
"shutdownDate": "February 2026"
Expand All @@ -3063,6 +3083,10 @@
"feedID": "arbitrum-testnet-0x00035c29e5a1c006269dd12f836db9cd0d5497a49ca4d7f8121ba475e6ba344c",
"shutdownDate": "February 2026"
},
{
"feedID": "arbitrum-testnet-0x0003851316e55c5ebf8066ff04a9e44e9cb57476d2d16330c150acacda76a614",
"shutdownDate": "May 20th, 2026"
},
{
"feedID": "arbitrum-testnet-0x0003cc49c321ba2c57b824c677472e23779afe34d4e62558b23471d1b49edfff",
"shutdownDate": "March 2026"
Expand All @@ -3078,6 +3102,18 @@
{
"feedID": "arbitrum-testnet-0x0008c67cbb3c0ac1daf0d5c716a1300b86094088444e990bad2f7b4fc3ad5a2e",
"shutdownDate": "December 2025"
},
{
"feedID": "arbitrum-testnet-0x000b67e878094c60b4fd093f1ab6792cccb93d88cf3f50220e83bbc691500aef",
"shutdownDate": "May 20th, 2026"
},
{
"feedID": "arbitrum-testnet-0x000b8817c0bde2e222f6aba3ebf37ee717013c31406e9efb735e8a0e93a73ab0",
"shutdownDate": "May 20th, 2026"
},
{
"feedID": "arbitrum-testnet-0x000ba1fd3836234e882ab86c2f7337223b2b85ef4f7beeae3386ae910786d910",
"shutdownDate": "May 20th, 2026"
}
]
}
42 changes: 42 additions & 0 deletions public/changelog.json
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,48 @@
}
},
"data": [
{
"category": "integration",
"date": "2026-05-08",
"description": "The following Data Streams are scheduled for deprecation on May 20th, 2026. See [Deprecating Data Streams](https://docs.chain.link/data-streams/deprecating-streams) for shutdown dates and the latest status:",
"relatedNetworks": ["arbitrum"],
"relatedTokens": [
{
"assetName": "Global X Autonomous & EV ETF (arbitrum mainnet)",
"baseAsset": "DRIV",
"quoteAsset": "USD",
"network": "arbitrum",
"url": "https://docs.chain.link/data-streams/deprecating-streams?page=1&search=DRIV",
"iconUrl": "https://d2f70xi62kby8n.cloudfront.net/tokens/driv.webp"
},
{
"assetName": "Global X Autonomous & EV ETF (arbitrum testnet)",
"baseAsset": "DRIV",
"quoteAsset": "USD",
"network": "arbitrum",
"url": "https://docs.chain.link/data-streams/deprecating-streams?testnetSearch=DRIV&testnetPage=1",
"iconUrl": "https://d2f70xi62kby8n.cloudfront.net/tokens/driv.webp"
},
{
"assetName": "GMX (arbitrum mainnet)",
"baseAsset": "GMX",
"quoteAsset": "USD",
"network": "arbitrum",
"url": "https://docs.chain.link/data-streams/deprecating-streams?page=1&search=GMX",
"iconUrl": "https://d2f70xi62kby8n.cloudfront.net/tokens/gmx.webp"
},
{
"assetName": "GMX (arbitrum testnet)",
"baseAsset": "GMX",
"quoteAsset": "USD",
"network": "arbitrum",
"url": "https://docs.chain.link/data-streams/deprecating-streams?testnetSearch=GMX&testnetPage=1",
"iconUrl": "https://d2f70xi62kby8n.cloudfront.net/tokens/gmx.webp"
}
],
"title": "Streams scheduled for deprecation",
"topic": "Data Streams"
},
{
"category": "integration",
"date": "2026-05-08",
Expand Down
45 changes: 41 additions & 4 deletions src/scripts/data/detect-new-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ interface DataItem {
productSubType?: string
deliveryChannelCode?: string
feedType?: string
/** RDD docs.feedCategory (e.g. "deprecating", "new") */
feedCategory?: string
network: string
networkType?: "mainnet" | "testnet"
assetName?: string
Expand Down Expand Up @@ -262,6 +264,39 @@ function isDeprecatingDataStream(item: DataItem): item is DataItem & { shutdownD
return !!item.shutdownDate && item.deliveryChannelCode === "DS" && !!item.streamID
}

/** RDD marks shutdown / deprecating streams; those must not become "Added support" changelog rows when unhidden. */
function shouldExcludeFromNewlyFoundIntegrations(item: DataItem): boolean {
if ((item.feedCategory || "").toLowerCase() === "deprecating") {
return true
}
if (item.shutdownDate && item.deliveryChannelCode === "DS") {
return true
}
if (isDeprecatingDataFeed(item)) {
return true
}
return false
}

/** Changelog list labels: same base asset on mainnet vs testnet needs visible distinction. */
function withStreamDeprecationDisplayName(item: DataItem, assetName: string): string {
if (item.networkType === "testnet") {
return `${assetName} (${item.network} testnet)`
}
if (item.networkType === "mainnet") {
return `${assetName} (${item.network} mainnet)`
}
return assetName
}

function toDeprecatingStreamOutputItem(item: DataItem & { shutdownDate: string }) {
const base = toOutputItem(item, buildDeprecatingStreamUrl)
return {
...base,
assetName: withStreamDeprecationDisplayName(item, base.assetName || ""),
}
}

/**
* Main function to detect new data feeds across all configured networks
* This function:
Expand Down Expand Up @@ -312,7 +347,7 @@ async function detectNewData(): Promise<void> {
// 3) Identify newly added items (not in baseline)
const newlyFound: DataItem[] = []
for (const item of allItems) {
if (!item.hidden && !knownIds.has(item.feedID)) {
if (!item.hidden && !knownIds.has(item.feedID) && !shouldExcludeFromNewlyFoundIntegrations(item)) {
newlyFound.push(item)
}
}
Expand Down Expand Up @@ -428,17 +463,17 @@ async function detectNewData(): Promise<void> {
previous,
current: toOutputItem(current, buildDeprecatingFeedUrl),
})),
newlyDeprecatedStreams: newlyDeprecatedStreams.map((item) => toOutputItem(item, buildDeprecatingStreamUrl)),
newlyDeprecatedStreams: newlyDeprecatedStreams.map((item) => toDeprecatingStreamOutputItem(item)),
resolvedDeprecatedStreams,
changedDeprecatedStreams: changedDeprecatedStreams.map(({ previous, current }) => ({
previous,
current: toOutputItem(current, buildDeprecatingStreamUrl),
current: toDeprecatingStreamOutputItem(current),
})),
currentDeprecatedItems: deprecationBaselineInitialized
? currentDeprecatedItems.map((item) => toOutputItem(item, buildDeprecatingFeedUrl))
: undefined,
currentDeprecatedStreams: streamDeprecationBaselineInitialized
? currentDeprecatedStreams.map((item) => toOutputItem(item, buildDeprecatingStreamUrl))
? currentDeprecatedStreams.map((item) => toDeprecatingStreamOutputItem(item))
: undefined,
}

Expand Down Expand Up @@ -568,6 +603,7 @@ function convertToDataItem(obj: any, network: string): DataItem | null {
productType,
productSubType,
deliveryChannelCode: deliveryChannel,
feedCategory: typeof obj.docs?.feedCategory === "string" ? obj.docs.feedCategory : undefined,
network,
assetName: topLevelAssetName,
baseAsset: baseAsset || (isRefMacro ? topLevelAssetName : undefined),
Expand Down Expand Up @@ -605,6 +641,7 @@ function convertToStreamDataItem(obj: any, network: string, networkType: "mainne
productSubType: obj.docs?.productSubType || "",
deliveryChannelCode: obj.docs?.deliveryChannelCode || "DS",
feedType: obj.docs?.feedType || obj.feedType || "",
feedCategory: typeof obj.docs?.feedCategory === "string" ? obj.docs.feedCategory : undefined,
network,
networkType,
assetName,
Expand Down
Loading