fix: Release collection issues for java-core (Java Server SDK), react-client-sdk, and vue-client-sdk#366
Open
aaron-zeisler wants to merge 5 commits intomainfrom
Open
Conversation
As I was trying to run the crawler on my development computer, I was running to an error while the "ingest" tool was running. The error was "invalid date for v10.2.0" on the Swift SDK. This specific version is a draft release, which means it does not yet have a publishedDate. I've updated the code so releases that draft releases and any releases without a date are excluded from processing.
This was referenced Mar 11, 2026
Open
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
… format Repos that switched from unprefixed to prefixed release tags need both tag formats ingested. Backfill files with "skip": false are still processed by the main crawl. INSERT OR IGNORE on sdk_repos and sdk_releases prevents conflicts between the two passes.
0a9cb23 to
5c3ca6a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
I was working w/ Ember from the docs team, helping her find a way to integrate with sdk-meta in order to populate the "Supported Versions" page programmatically. After she integrated with the javascript library this repository publishes, she found that the latest versions reported for java-server-sdk and react-client-sdk don't align with the actual most recent versions.
I investigated and found that those repositories started adding prefixes to the release tags, and the last version before using prefixes is what sdk-meta is reporting as the most recent version.
This pull request fixes the issues around switching to prefixed release tags.
Draft releases and releases without dates: Filtered out draft releases and releases missing a publish date to avoid ingesting incomplete data. While I was testing locally, I ran into an error, and a draft release (with no release date) was causing the problem.
Missing releases due to tag-prefix: The java-core, react-client-sdk, and vue-client-sdk repos switched to prefixed release tags (e.g.
launchdarkly-java-server-sdk-7.8.0) but their metadata didn't specify atag-prefix, so the crawl couldn't match new releases. Added the correcttag-prefixto each repo's cached metadata.Same-repo backfill: When a repo changes its tag format, old unprefixed releases and new prefixed releases coexist in the same repo. Added support for same-repo backfill files (
"skip": false) so the crawl ingests both tag formats. UsedINSERT OR IGNOREonsdk_reposandsdk_releasesto prevent conflicts between the two passes.How I tested this
I was able to test this on my local development machine. I had to temporarily comment out the parts that retrieve the metadata files from the separate repositories. I instead used the cached versions in the /metadata directory. I verified that everything in repos.json and releases.json looked better after the changes.
Related pull requests
Note
Medium Risk
Changes the crawl/ingest pipeline logic and SQL write semantics, which can affect downstream release/repo data completeness and deduplication. Risk is moderated by being limited to metadata ingestion and using
INSERT OR IGNOREto avoid conflicts.Overview
Fixes release ingestion for repos that changed tag formats by adding
tag-prefixconfiguration tolaunchdarkly_java-core,launchdarkly_react-client-sdk, andlaunchdarkly_vue-client-sdk, and by introducing same-repo backfill files (backfill/*.jsonwith"skip": false) so both old unprefixed and new prefixed tags can be collected.Updates the crawl/ingest tooling to support this flow:
scripts/crawl.shnow conditionally skips backfilled repos based on the backfill file’sskipflag,tool/lib/releases.Filterignores draft or undated GitHub releases, andtool/cmd/ingestdedupes releases viaINSERT OR IGNOREand refreshessdk_reposmappings per SDK id. Documentation inREADME.mdexplains the backfill modes and behavior.Written by Cursor Bugbot for commit 5c3ca6a. This will update automatically on new commits. Configure here.