Skip to content

chore: Merge branch v0.53 into main#3603

Merged
edgarrmondragon merged 7 commits into
mainfrom
from-v0_53
Apr 15, 2026
Merged

chore: Merge branch v0.53 into main#3603
edgarrmondragon merged 7 commits into
mainfrom
from-v0_53

Conversation

@edgarrmondragon
Copy link
Copy Markdown
Collaborator

@edgarrmondragon edgarrmondragon commented Apr 15, 2026

Summary by Sourcery

Release version 0.53.7 and propagate the new version across changelog, templates, docs, and tooling configuration.

Bug Fixes:

  • Document support for simpleeval 1.0.5+ by subclassing EvalWithCompoundTypes in the 0.53.7 changelog entry.

Build:

  • Update cookiecutter tap, target, and mapper templates to depend on singer-sdk 0.53.7.

Documentation:

  • Add v0.53.7 entry to the changelog and bump the documented release version.
  • Update the bug report template to reference Singer SDK version 0.53.7.

Chores:

  • Bump project version metadata to 0.53.7 in pyproject and related configuration.

edgarrmondragon and others added 6 commits March 13, 2026 08:23
…json` in stream maps expressions (#3562)

Backport of 

- #3560

## Summary by Sourcery

Constrain the simpleeval dependency version to avoid a breaking change
in recent releases.

Bug Fixes:
- Pin simpleeval to versions below 1.0.5 to prevent regressions
affecting stream maps expressions referencing modules.

Build:
- Adjust project dependency specification to restrict simpleeval to
<1.0.5.

Co-authored-by: Reuben <60552974+ReubenFrankel@users.noreply.github.com>
Prepare MeltanoSDK `v0.53.6` for release.

Checklist:

- [ ] Check that the right version is set in all the files.
- [ ] Groom the changelog for wording or missing entries.
- [ ] Merge this PR once everything looks good.

[Release Draft](https://github.com/meltano/sdk/releases/tag/v0.53.6)

## Summary by Sourcery

Release Meltano SDK version v0.53.6 and update project metadata
accordingly.

Bug Fixes:
- Document a dependency constraint on simpleeval to avoid issues when
using json in stream maps expressions.

Enhancements:
- Update all SDK version references across templates, documentation, and
configuration files from 0.53.5 to 0.53.6.

CI:
- Update the default SDK version placeholder in the GitHub bug report
template to 0.53.6.

Documentation:
- Add changelog entry for v0.53.6 describing the dependency constraint
fix.

Co-authored-by: edgarrmondragon <16805946+edgarrmondragon@users.noreply.github.com>
Signed-off-by: Edgar Ramírez-Mondragón <edgarrm358@gmail.com>
## Summary by Sourcery

Update automation tooling and linters across CI workflows and
development configuration to align with newer action and hook versions.

Build:
- Bump GitHub Actions versions for checkout, setup-python, artifact
upload/download, Codecov, PyPI publish, CodeQL, dependency review,
CodSpeed, and related workflow actions in all CI workflows.

CI:
- Refresh test, release, code scanning, benchmark, cookiecutter e2e, API
change, dependency review, and security workflows to use newer pinned
action SHAs and versions.

Chores:
- Update pre-commit hook revisions (check-jsonschema, uv-pre-commit,
codespell, ruff) and adjust Ruff required-version in pyproject, along
with a minor comment clean-up and uv.lock refresh.

Signed-off-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>
…EvalWithCompoundTypes` (#3601)

## Related

- #3561
- #3595
- Re-implements upstream
danthedeckie/simpleeval#181

## Summary by Sourcery

Update stream mapper expression evaluation to be compatible with
simpleeval 1.0.5+ while preserving the mapper’s existing safety
guarantees.

New Features:
- Introduce a dedicated mapper expression evaluator subclass to control
how AST nodes, names, and disallowed items are handled during
evaluation.

Bug Fixes:
- Fix incompatibility with simpleeval 1.0.5+ by bypassing its new
redundant container safety scan in a controlled way.

Enhancements:
- Wrap datetime and json modules with simpleeval.ModuleWrapper when
exposing them as mapper functions to align with simpleeval’s safety
model.

Build:
- Pin simpleeval to version 1.0.7 in project dependencies.

Signed-off-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>
Prepare MeltanoSDK `v0.53.7` for release.

Checklist:

- [x] Check that the right version is set in all the files.
- [x] Groom the changelog for wording or missing entries.
- [ ] Merge this PR once everything looks good.

[Release
Draft](https://github.com/meltano/sdk/releases/tag/untagged-75a354aa6c663a60145a)

## Summary by Sourcery

Prepare the v0.53.7 SDK release with updated version metadata and
changelog entry.

Bug Fixes:
- Document support for simpleeval 1.0.5+ by subclassing
simpleeval.EvalWithCompoundTypes.

Documentation:
- Add v0.53.7 section and fix description in the changelog.
- Update docs configuration to reference release 0.53.7.

Chores:
- Bump singer-sdk version references from 0.53.6 to 0.53.7 across
templates, tooling config, and issue templates.

Co-authored-by: edgarrmondragon <16805946+edgarrmondragon@users.noreply.github.com>
@edgarrmondragon edgarrmondragon self-assigned this Apr 15, 2026
@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai Bot commented Apr 15, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Version bump and release alignment for 0.53.7, updating templates, docs, and tooling metadata, plus adding a changelog entry for the simpleeval compatibility fix.

File-Level Changes

Change Details Files
Add changelog entry documenting 0.53.7 release and simpleeval compatibility fix.
  • Introduce new v0.53.7 section in the changelog with date.
  • Document bug fix for supporting simpleeval 1.0.5+ via subclassing EvalWithCompoundTypes.
CHANGELOG.md
Align cookiecutter templates with singer-sdk 0.53.7.
  • Update mapper template pyproject to depend on singer-sdk 0.53.7 (with and without faker extra).
  • Update tap template pyproject to depend on singer-sdk 0.53.7 for both base and extras variants.
  • Update target template pyproject to depend on singer-sdk 0.53.7 for both base and faker-extra variants.
cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml
cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml
cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml
Update project and tooling metadata to version 0.53.7.
  • Bump docs configuration release string to 0.53.7.
  • Update bug issue template default SDK version placeholder to 0.53.7.
  • Bump commitizen tool configuration version to 0.53.7 in pyproject.
docs/conf.py
.github/ISSUE_TEMPLATE/bug.yml
pyproject.toml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@edgarrmondragon edgarrmondragon changed the title Merge branch 'v0.53' into from-v0_53 chore: Merge branch v0.53 into main Apr 15, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.73%. Comparing base (a1e1839) to head (52f9463).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3603   +/-   ##
=======================================
  Coverage   93.73%   93.73%           
=======================================
  Files          73       73           
  Lines        5890     5890           
  Branches      723      723           
=======================================
  Hits         5521     5521           
  Misses        274      274           
  Partials       95       95           
Flag Coverage Δ
core 82.13% <ø> (ø)
end-to-end 75.50% <ø> (ø)
optional-components 42.83% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@edgarrmondragon edgarrmondragon marked this pull request as ready for review April 15, 2026 22:09
@edgarrmondragon edgarrmondragon requested a review from a team as a code owner April 15, 2026 22:09
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 15, 2026

Merging this PR will not alter performance

✅ 8 untouched benchmarks


Comparing from-v0_53 (52f9463) with main (a1e1839)

Open in CodSpeed

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path=".github/workflows/dependency-review.yml" line_range="26-27" />
<code_context>
       - uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4.9.0
         if: ${{ github.event_name == 'pull_request' }}
         with:
+          allow-ghsas: |
+            GHSA-44vg-5wv2-h2hg
           fail-on-severity: high
</code_context>
<issue_to_address>
**🚨 suggestion (security):** Revisit the allowed GHSAs strategy to limit long-term exposure.

Allowing this GHSA may be necessary short term, but it risks becoming a long‑term blind spot. Please either add a periodic review step, scope the exemption to a specific version range, or document the rationale and removal criteria in the repo so it’s clear when and why this allowance should be revisited or removed.

Suggested implementation:

```
      - uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4.9.0
        if: ${{ github.event_name == 'pull_request' }}
        with:
          # Temporary exemption for https://github.com/advisories/GHSA-44vg-5wv2-h2hg
          # Rationale: <INSERT SHORT REASON WHY THIS CANNOT BE FIXED IMMEDIATELY>.
          # Review policy:
          # - Track this exemption in issue #<INSERT_ISSUE_ID>.
          # - Revisit this exemption at least quarterly (or sooner if dependency is updated).
          # - Remove once all affected dependencies are upgraded to a non-vulnerable version
          #   or the advisory is marked as not applicable.
          # If this exemption is still needed after <INSERT_REVIEW_DEADLINE>, update the issue
          # with the justification and a new review date.
          allow-ghsas: |
            GHSA-44vg-5wv2-h2hg
          fail-on-severity: high

```

1. Replace the placeholders `<INSERT SHORT REASON WHY THIS CANNOT BE FIXED IMMEDIATELY>`, `#<INSERT_ISSUE_ID>`, and `<INSERT_REVIEW_DEADLINE>` with concrete values (e.g., specific blocked dependency, GitHub issue number tracking the exemption, and a calendar date for review).
2. Optionally, reference a central document (e.g., `docs/security-exemptions.md` or `SECURITY.md`) in the comments above so that the long-term policy for exemptions is documented and can be reviewed alongside this workflow.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .github/workflows/dependency-review.yml Outdated
Signed-off-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>
@edgarrmondragon
Copy link
Copy Markdown
Collaborator Author

@sourcery-ai review

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@edgarrmondragon edgarrmondragon added this pull request to the merge queue Apr 15, 2026
Merged via the queue into main with commit c1691f3 Apr 15, 2026
42 checks passed
@edgarrmondragon edgarrmondragon deleted the from-v0_53 branch April 15, 2026 22:27
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.

2 participants