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: cloudquery/plugin-pb-go
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.27.10
Choose a base ref
...
head repository: cloudquery/plugin-pb-go
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.27.11
Choose a head ref
  • 2 commits
  • 4 files changed
  • 2 contributors

Commits on Mar 23, 2026

  1. fix: Prevent panic on non-retryable download errors (#619)

    <!-- CURSOR_AGENT_PR_BODY_BEGIN -->
    #### Summary
    
    Fixes a panic in `downloadFile` caused by an unsafe type assertion (`err.(retry.Error)`) when the retry library returns a plain error.
    
    Changes included:
    - Replace string-based retry classification with sentinel errors + `errors.Is`
    - Remove the unsafe type assertion path and return clean errors for both retry and non-retry failures
    - Add regression tests that verify `downloadFile` does not panic on:
      - invalid/non-retryable request errors
      - 404 responses
      
    In `github.com/avast/retry-go/v5`, it can return a non-retry.Error in these cases:
    
    1. `LastErrorOnly(true)` is set. It returns the last underlying error directly. 
    
    2. Context is already done before retries start. Do() returns `context.Cause(ctx)` directly (often `context.Canceled` / `context.DeadlineExceeded`, which can be `*errors.errorString`).
    
    3. Attempts(0) / UntilSucceeded() mode. If the function returns an unrecoverable error (`retry.Unrecoverable(...)`) or `RetryIf` says “don’t retry”, it returns that raw error directly.
    If context is canceled in this mode (and `WrapContextErrorWithLastError(false)`), it also returns raw context error.
    
    
    ---
    erezrokah authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    04f5add View commit details
    Browse the repository at this point in the history
  2. chore(main): Release v1.27.11 (#620)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ## [1.27.11](v1.27.10...v1.27.11) (2026-03-23)
    
    
    ### Bug Fixes
    
    * Prevent panic on non-retryable download errors ([#619](#619)) ([04f5add](04f5add))
    
    ---
    This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
    cq-bot authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    b189049 View commit details
    Browse the repository at this point in the history
Loading