Skip to content

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
aaronz/SDK-2015/release-collection-issues
Open

fix: Release collection issues for java-core (Java Server SDK), react-client-sdk, and vue-client-sdk#366
aaron-zeisler wants to merge 5 commits intomainfrom
aaronz/SDK-2015/release-collection-issues

Conversation

@aaron-zeisler
Copy link
Contributor

@aaron-zeisler aaron-zeisler commented Mar 11, 2026

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 a tag-prefix, so the crawl couldn't match new releases. Added the correct tag-prefix to 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. Used INSERT OR IGNORE on sdk_repos and sdk_releases to 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 IGNORE to avoid conflicts.

Overview
Fixes release ingestion for repos that changed tag formats by adding tag-prefix configuration to launchdarkly_java-core, launchdarkly_react-client-sdk, and launchdarkly_vue-client-sdk, and by introducing same-repo backfill files (backfill/*.json with "skip": false) so both old unprefixed and new prefixed tags can be collected.

Updates the crawl/ingest tooling to support this flow: scripts/crawl.sh now conditionally skips backfilled repos based on the backfill file’s skip flag, tool/lib/releases.Filter ignores draft or undated GitHub releases, and tool/cmd/ingest dedupes releases via INSERT OR IGNORE and refreshes sdk_repos mappings per SDK id. Documentation in README.md explains the backfill modes and behavior.

Written by Cursor Bugbot for commit 5c3ca6a. This will update automatically on new commits. Configure here.

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.
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
@aaron-zeisler aaron-zeisler force-pushed the aaronz/SDK-2015/release-collection-issues branch from 0a9cb23 to 5c3ca6a Compare March 11, 2026 18:08
Sign up for free to 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