Skip to content

Cherry-pick PRs labeled for v1.30.7 release - #12040

Merged
simvlad merged 5 commits into
release/v1.30.xfrom
simvlad/cherrypick-1-30-7
Sep 14, 2026
Merged

simvlad merged 5 commits into
release/v1.30.xfrom
simvlad/cherrypick-1-30-7

Conversation

@simvlad

@simvlad simvlad commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

What changed?

Cherry-picks the PRs labeled release/1.30.7 onto release/v1.30.x, excluding #11014, which will be cherry picked independently

List of PRs:

Conflicts were in the dependency pins in go.mod/go.sum, in test and CI code, and in one production file:

  • service/history/configs/config.go - NewConfig on main has a SendRawHistoryBytesToMatchingService entry that does not exist on this branch. Kept this branch's two SendRaw* entries and added only EnablePaginationTokenBranchValidation and EnablePaginationTokenBranchValidationShadowMode.

Two production edits were also needed where git reported no conflict:

Why?

Security and reliability patch release for 1.30.7.

How did you test it?

  • built
  • run locally and tested manually
  • covered by existing tests
  • added new unit test(s)
  • added new functional test(s)

Potential risks

EnablePaginationTokenBranchValidation defaults to true, so #11723's rejection path is live as
soon as this ships.

rodrigozhou and others added 3 commits September 11, 2026 20:07
Update sqlparser dependency to latest commit

Include latest changes in the sqlparser.

- [x] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

(cherry picked from commit 4742842)
Bump `github.com/temporalio/ringpop-go` to `v0.1.0` and
`github.com/temporalio/tchannel-go` to `v1.22.1`, replacing the previous
commit pseudo-versions.

Picks up ringpop-go#22 (bounds label and member resource usage on
incoming membership changes, fixes a state-transition timer leak) and
tchannel-go#14 (returns errors instead of panicking on malformed call
frames).

Pull the membership/transport robustness fixes from both forks into the
server. Both forks are now tagged, so we can pin real releases instead
of commit hashes.

- [x] built
- [x] covered by existing tests

(cherry picked from commit 5407c36)
Update sqlparser to v0.1.0. It's actually no-op since it points to the
same commit.

Use tagged version instead of commit.

- [ ] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

(cherry picked from commit 461c0d3)
@simvlad
simvlad requested review from a team as code owners September 12, 2026 03:51
rodrigozhou and others added 2 commits September 11, 2026 21:58
…nanos component (#11564)

Change datetime format to always include nanos component in
Elasticsearch Visibility.
Also added Visibility integration tests with Elasticsearch.

With Elasticsearch, comparing dates without explicitly specifying all
components can lead to unexpected results.
Eg: `StartTime = '2023-04-05T06:07:08Z'` would match a workflow with
`StartTime = '2023-04-05T06:07:08.100000000Z'`.
This behavior is unexpected and can mess up with pagination.
This PR fixes it so missing nanos components is always specified (in the
example, it would be filled with 0s).

- [x] built
- [x] run locally and tested manually
- [ ] covered by existing tests
- [x] added new unit test(s)
- [x] added new functional test(s)

(cherry picked from commit adaa8f0)

Backport notes:
- The CI change is adapted: release/v1.30.x starts containers through the
  integration-test job's compose service list, so elasticsearch is added there
  rather than to a CONTAINERS env var.
- tests/testcore/test_cluster.go keeps this branch's esConfig field and archiver
  wiring; only the index setup/teardown helpers move to persistence-tests.
- The visibility suite uses require.EventuallyWithT instead of
  common/testing/await, searchattribute.EncodeValue instead of
  sadefs.MustEncodeValue, and drops the serializer argument to
  visibility.NewManager, none of which exist on this branch.
- The errors.AsType refactor in visibility_store.go is left as errors.As, since
  this branch targets Go 1.25.
- persistencetests.SetupEsIndex keeps this branch's PutMapping call for
  searchattribute.TestEsNameTypeMap().Custom(). main's copy of that helper no
  longer registers the custom search attributes, and without them the ES and
  OpenSearch functional tests query fields the index does not map.
## What changed?
`GetWorkflowExecutionHistory` and `GetWorkflowExecutionHistoryReverse`
now check `branch_token` in the page token against the token in mutable
state.

## Why?
To confirm if it is still the correct branch after conflict resolution.

## How did you test it?
- [x] built
- [x] run locally and tested manually
- [x] covered by existing tests
- [x] added new unit test(s)
- [x] added new functional test(s)

(cherry picked from commit ceb1cc1)

Backport notes:
- The two functional tests added to tests/gethistory_test.go are omitted. They
  need testcore.WithHistoryShardCount and the GetHistorySuite TestEnv wiring,
  neither of which exists on release/v1.30.x. The unit tests in
  service/history/api/token_test.go and service/history/history_engine_test.go
  cover the validation logic.
- The tests construct persistence.HistoryBranchUtilImpl directly, since
  persistence.NewHistoryBranchUtil does not exist on this branch.
- TestGetWorkflowExecutionHistory_RawHistoryWithTransientDecision now mocks
  GetWorkflowExecution. On this branch its page token has IsWorkflowRunning
  unset, so the read takes the new validation path.
@simvlad
simvlad force-pushed the simvlad/cherrypick-1-30-7 branch from d142337 to a08ae2d Compare September 12, 2026 05:00
@simvlad
simvlad merged commit 690b531 into release/v1.30.x Sep 14, 2026
60 of 64 checks passed
@simvlad
simvlad deleted the simvlad/cherrypick-1-30-7 branch September 14, 2026 16:24
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.

4 participants