Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SocketDev/socket-sdk-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.1.0
Choose a base ref
...
head repository: SocketDev/socket-sdk-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.1.1
Choose a head ref
  • 2 commits
  • 7 files changed
  • 1 contributor

Commits on May 22, 2026

  1. ci(version-check): require uv.lock sync alongside pyproject changes (#82

    )
    
    * ci(version-check): require uv.lock sync alongside pyproject changes
    
    Resolves CE-202. Mirrors the workflow + script changes from
    socket-python-cli#204 so the SDK catches lockfile drift the same way
    the CLI now does:
    
    - workflow: trigger paths drop unused setup.py, add uv.lock; new step
      fails CI if pyproject.toml is modified without uv.lock.
    - sync_version.py: new run_uv_lock() helper runs 'uv lock' and signals
      whether the lockfile changed. Wired into all three exit paths
      (--dev auto-bump, normal auto-bump, already-bumped) so the hook
      either updates uv.lock for you or tells you to commit it.
    
    * ci(version-check): also require PR version > latest PyPI stable
    
    Mirrors socket-python-cli's fix at 0462b77 (in PR #199). The workflow
    previously only compared the PR version against main, which missed
    the case where the same or newer version had already been published
    to PyPI — that would slip through CI and either collide on publish
    or leave PyPI ahead of the repo.
    
    - workflow: hits pypi.org/pypi/socketdev/json, filters to stable
      (non-prerelease, non-devrelease), requires PR > max(main, PyPI).
    - sync_version.py: splits PYPI_PROD_API vs PYPI_TEST_API. Stable
      auto-bumps now use prod PyPI as the floor via
      find_next_stable_patch_version(). The .devN flow keeps using
      TestPyPI. New 'already bumped but ≤ PyPI' path auto-corrects the
      version when somebody bumps to a stale number.
    flowstate authored May 22, 2026
    Configuration menu
    Copy the full SHA
    8b668fd View commit details
    Browse the repository at this point in the history
  2. Fix stale didYouMean props (#81)

    * test: failing regression for stale didYouMean props
    
    * fix(issues): drop stale didYouMean props, add detectedAt
    
    Resolves CUS2-5. The didYouMean class declared four props
    (alternatePackage, downloads, downloadsRatio, editDistance) but the
    current OpenAPI schema (socket-sdk-js/openapi.json:9298) only emits
    { alternatePackage, detectedAt }. The three stale keys were dead at
    runtime and detectedAt was missing a human-readable label entirely.
    Updated to match the schema.
    
    * chore(release): bump to 3.1.1 and sync pyproject.toml
    
    Run via .hooks/sync_version.py after merging origin/main (now at 3.1.0
    from lelia's purl PR). Keeps pyproject.toml and socketdev/version.py
    in lockstep, as flagged in code review.
    
    * chore: sync uv.lock to 3.1.1
    flowstate authored May 22, 2026
    Configuration menu
    Copy the full SHA
    be87c34 View commit details
    Browse the repository at this point in the history
Loading