Skip to content

Commit 9e025ba

Browse files
Changelog Update: Data changes found (#3753)
* Data: Update changelog for data changes * more fixes --------- Co-authored-by: dev-dist <213511649+dev-dist@users.noreply.github.com> Co-authored-by: devin distefano <devin.distefano@smartcontract.com>
1 parent e749f6e commit 9e025ba

3 files changed

Lines changed: 120 additions & 5 deletions

File tree

.github/scripts/data/baseline.json

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"timestamp": "2026-05-08T18:30:27Z",
2+
"timestamp": "2026-05-08T19:40:17Z",
33
"knownIds": [
44
"aptos-apt-usd",
55
"aptos-btc-usd",
@@ -242,6 +242,9 @@
242242
"arbitrum-dot-usd-premium-prod",
243243
"arbitrum-dpi-usd",
244244
"arbitrum-drift-usd-refprice-mainnet-production",
245+
"arbitrum-driv-usd-streams-extendedhoursequityprice-mainnet-production",
246+
"arbitrum-driv-usd-streams-overnighthoursequityprice-mainnet-production",
247+
"arbitrum-driv-usd-streams-regularhoursequityprice-mainnet-production",
245248
"arbitrum-dusk-usd-refprice-mainnet-production",
246249
"arbitrum-dydx-usd-refprice-ds-premium-global-003-prod",
247250
"arbitrum-dym-usd-refprice-mainnet-production",
@@ -329,6 +332,7 @@
329332
"arbitrum-gmt-usd-refprice-mainnet-production",
330333
"arbitrum-gmx-usd",
331334
"arbitrum-gmx-usd-premium-prod",
335+
"arbitrum-gmx-usd-streams-dexprice-mainnet-production",
332336
"arbitrum-gns-usd",
333337
"arbitrum-gns-usd-refprice-mainnet-production",
334338
"arbitrum-goat-usd-premium-prod-v03",
@@ -3047,6 +3051,10 @@
30473051
"feedID": "arbitrum-mainnet-0x00032afb9aa32c936f8c2677b408baf1368634729d54265cf14530bcaafb02d7",
30483052
"shutdownDate": "February 2026"
30493053
},
3054+
{
3055+
"feedID": "arbitrum-mainnet-0x00033a310e5f25a0720f4956a024f4a7151315c701e7ebb8abb17bf0bb4fc377",
3056+
"shutdownDate": "May 20th, 2026"
3057+
},
30503058
{
30513059
"feedID": "arbitrum-mainnet-0x0003b4ec54949f46ad9565d0636cfd3b058dcfd4969a030efd9c52e9a82cff7f",
30523060
"shutdownDate": "April 29th, 2026"
@@ -3055,6 +3063,18 @@
30553063
"feedID": "arbitrum-mainnet-0x0008d9a039c26729cae90134d55a78ac09efd8cc53bc6493ed90da1f0938c884",
30563064
"shutdownDate": "December 2025"
30573065
},
3066+
{
3067+
"feedID": "arbitrum-mainnet-0x000b4824f581b99b463e05947062af1cb923b37e78f5b5e6c03cd12e8d73d961",
3068+
"shutdownDate": "May 20th, 2026"
3069+
},
3070+
{
3071+
"feedID": "arbitrum-mainnet-0x000ba2a3b2710914e13b9cf3764c4d7dd1f19cdd0caf132097aa1e67919db376",
3072+
"shutdownDate": "May 20th, 2026"
3073+
},
3074+
{
3075+
"feedID": "arbitrum-mainnet-0x000bac8c6d14d2bbe242bb207c638f5e90a867fce57c70acb321a64e6bae0787",
3076+
"shutdownDate": "May 20th, 2026"
3077+
},
30583078
{
30593079
"feedID": "arbitrum-testnet-0x00034f75735eb98cc1044f93e356355145e1e90975e2b05568e6127ac4b335ca",
30603080
"shutdownDate": "February 2026"
@@ -3063,6 +3083,10 @@
30633083
"feedID": "arbitrum-testnet-0x00035c29e5a1c006269dd12f836db9cd0d5497a49ca4d7f8121ba475e6ba344c",
30643084
"shutdownDate": "February 2026"
30653085
},
3086+
{
3087+
"feedID": "arbitrum-testnet-0x0003851316e55c5ebf8066ff04a9e44e9cb57476d2d16330c150acacda76a614",
3088+
"shutdownDate": "May 20th, 2026"
3089+
},
30663090
{
30673091
"feedID": "arbitrum-testnet-0x0003cc49c321ba2c57b824c677472e23779afe34d4e62558b23471d1b49edfff",
30683092
"shutdownDate": "March 2026"
@@ -3078,6 +3102,18 @@
30783102
{
30793103
"feedID": "arbitrum-testnet-0x0008c67cbb3c0ac1daf0d5c716a1300b86094088444e990bad2f7b4fc3ad5a2e",
30803104
"shutdownDate": "December 2025"
3105+
},
3106+
{
3107+
"feedID": "arbitrum-testnet-0x000b67e878094c60b4fd093f1ab6792cccb93d88cf3f50220e83bbc691500aef",
3108+
"shutdownDate": "May 20th, 2026"
3109+
},
3110+
{
3111+
"feedID": "arbitrum-testnet-0x000b8817c0bde2e222f6aba3ebf37ee717013c31406e9efb735e8a0e93a73ab0",
3112+
"shutdownDate": "May 20th, 2026"
3113+
},
3114+
{
3115+
"feedID": "arbitrum-testnet-0x000ba1fd3836234e882ab86c2f7337223b2b85ef4f7beeae3386ae910786d910",
3116+
"shutdownDate": "May 20th, 2026"
30813117
}
30823118
]
30833119
}

public/changelog.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,48 @@
402402
}
403403
},
404404
"data": [
405+
{
406+
"category": "integration",
407+
"date": "2026-05-08",
408+
"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:",
409+
"relatedNetworks": ["arbitrum"],
410+
"relatedTokens": [
411+
{
412+
"assetName": "Global X Autonomous & EV ETF (arbitrum mainnet)",
413+
"baseAsset": "DRIV",
414+
"quoteAsset": "USD",
415+
"network": "arbitrum",
416+
"url": "https://docs.chain.link/data-streams/deprecating-streams?page=1&search=DRIV",
417+
"iconUrl": "https://d2f70xi62kby8n.cloudfront.net/tokens/driv.webp"
418+
},
419+
{
420+
"assetName": "Global X Autonomous & EV ETF (arbitrum testnet)",
421+
"baseAsset": "DRIV",
422+
"quoteAsset": "USD",
423+
"network": "arbitrum",
424+
"url": "https://docs.chain.link/data-streams/deprecating-streams?testnetSearch=DRIV&testnetPage=1",
425+
"iconUrl": "https://d2f70xi62kby8n.cloudfront.net/tokens/driv.webp"
426+
},
427+
{
428+
"assetName": "GMX (arbitrum mainnet)",
429+
"baseAsset": "GMX",
430+
"quoteAsset": "USD",
431+
"network": "arbitrum",
432+
"url": "https://docs.chain.link/data-streams/deprecating-streams?page=1&search=GMX",
433+
"iconUrl": "https://d2f70xi62kby8n.cloudfront.net/tokens/gmx.webp"
434+
},
435+
{
436+
"assetName": "GMX (arbitrum testnet)",
437+
"baseAsset": "GMX",
438+
"quoteAsset": "USD",
439+
"network": "arbitrum",
440+
"url": "https://docs.chain.link/data-streams/deprecating-streams?testnetSearch=GMX&testnetPage=1",
441+
"iconUrl": "https://d2f70xi62kby8n.cloudfront.net/tokens/gmx.webp"
442+
}
443+
],
444+
"title": "Streams scheduled for deprecation",
445+
"topic": "Data Streams"
446+
},
405447
{
406448
"category": "integration",
407449
"date": "2026-05-08",

src/scripts/data/detect-new-data.ts

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ interface DataItem {
8585
productSubType?: string
8686
deliveryChannelCode?: string
8787
feedType?: string
88+
/** RDD docs.feedCategory (e.g. "deprecating", "new") */
89+
feedCategory?: string
8890
network: string
8991
networkType?: "mainnet" | "testnet"
9092
assetName?: string
@@ -262,6 +264,39 @@ function isDeprecatingDataStream(item: DataItem): item is DataItem & { shutdownD
262264
return !!item.shutdownDate && item.deliveryChannelCode === "DS" && !!item.streamID
263265
}
264266

267+
/** RDD marks shutdown / deprecating streams; those must not become "Added support" changelog rows when unhidden. */
268+
function shouldExcludeFromNewlyFoundIntegrations(item: DataItem): boolean {
269+
if ((item.feedCategory || "").toLowerCase() === "deprecating") {
270+
return true
271+
}
272+
if (item.shutdownDate && item.deliveryChannelCode === "DS") {
273+
return true
274+
}
275+
if (isDeprecatingDataFeed(item)) {
276+
return true
277+
}
278+
return false
279+
}
280+
281+
/** Changelog list labels: same base asset on mainnet vs testnet needs visible distinction. */
282+
function withStreamDeprecationDisplayName(item: DataItem, assetName: string): string {
283+
if (item.networkType === "testnet") {
284+
return `${assetName} (${item.network} testnet)`
285+
}
286+
if (item.networkType === "mainnet") {
287+
return `${assetName} (${item.network} mainnet)`
288+
}
289+
return assetName
290+
}
291+
292+
function toDeprecatingStreamOutputItem(item: DataItem & { shutdownDate: string }) {
293+
const base = toOutputItem(item, buildDeprecatingStreamUrl)
294+
return {
295+
...base,
296+
assetName: withStreamDeprecationDisplayName(item, base.assetName || ""),
297+
}
298+
}
299+
265300
/**
266301
* Main function to detect new data feeds across all configured networks
267302
* This function:
@@ -312,7 +347,7 @@ async function detectNewData(): Promise<void> {
312347
// 3) Identify newly added items (not in baseline)
313348
const newlyFound: DataItem[] = []
314349
for (const item of allItems) {
315-
if (!item.hidden && !knownIds.has(item.feedID)) {
350+
if (!item.hidden && !knownIds.has(item.feedID) && !shouldExcludeFromNewlyFoundIntegrations(item)) {
316351
newlyFound.push(item)
317352
}
318353
}
@@ -428,17 +463,17 @@ async function detectNewData(): Promise<void> {
428463
previous,
429464
current: toOutputItem(current, buildDeprecatingFeedUrl),
430465
})),
431-
newlyDeprecatedStreams: newlyDeprecatedStreams.map((item) => toOutputItem(item, buildDeprecatingStreamUrl)),
466+
newlyDeprecatedStreams: newlyDeprecatedStreams.map((item) => toDeprecatingStreamOutputItem(item)),
432467
resolvedDeprecatedStreams,
433468
changedDeprecatedStreams: changedDeprecatedStreams.map(({ previous, current }) => ({
434469
previous,
435-
current: toOutputItem(current, buildDeprecatingStreamUrl),
470+
current: toDeprecatingStreamOutputItem(current),
436471
})),
437472
currentDeprecatedItems: deprecationBaselineInitialized
438473
? currentDeprecatedItems.map((item) => toOutputItem(item, buildDeprecatingFeedUrl))
439474
: undefined,
440475
currentDeprecatedStreams: streamDeprecationBaselineInitialized
441-
? currentDeprecatedStreams.map((item) => toOutputItem(item, buildDeprecatingStreamUrl))
476+
? currentDeprecatedStreams.map((item) => toDeprecatingStreamOutputItem(item))
442477
: undefined,
443478
}
444479

@@ -568,6 +603,7 @@ function convertToDataItem(obj: any, network: string): DataItem | null {
568603
productType,
569604
productSubType,
570605
deliveryChannelCode: deliveryChannel,
606+
feedCategory: typeof obj.docs?.feedCategory === "string" ? obj.docs.feedCategory : undefined,
571607
network,
572608
assetName: topLevelAssetName,
573609
baseAsset: baseAsset || (isRefMacro ? topLevelAssetName : undefined),
@@ -605,6 +641,7 @@ function convertToStreamDataItem(obj: any, network: string, networkType: "mainne
605641
productSubType: obj.docs?.productSubType || "",
606642
deliveryChannelCode: obj.docs?.deliveryChannelCode || "DS",
607643
feedType: obj.docs?.feedType || obj.feedType || "",
644+
feedCategory: typeof obj.docs?.feedCategory === "string" ? obj.docs.feedCategory : undefined,
608645
network,
609646
networkType,
610647
assetName,

0 commit comments

Comments
 (0)