-
Notifications
You must be signed in to change notification settings - Fork 23
Comparing changes
Open a pull request
base repository: rudderlabs/rudder-server
base: v1.69.0
head repository: rudderlabs/rudder-server
compare: v1.70.0
- 14 commits
- 166 files changed
- 8 contributors
Commits on Mar 3, 2026
-
feat: infer OAuth type from account definition when destination suppo…
…rts accounts (#6718) ## Summary When a destination supports accounts (i.e., has a `DeliveryAccount` or `DeleteAccount` populated for the given flow), the OAuth type should be determined from the **account definition** rather than the destination definition. **Changes:** - `IsOAuthDestination` now checks `account.AccountDefinition.AuthenticationType` first when the destination has an account for the given flow, short-circuiting the destination definition check - Renamed `oAuth` into two explicit constants — `oAuthDestinationDefinitionAuthType` (`"OAuth"`) and `oAuthAccountDefinitionAuthType` (`"oauth"`) — to make the schema difference explicit ## Linear Ticket https://linear.app/rudderstack/issue/INT-5712/fix-oauth-detection-logic-in-rudder-server ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for ec57028 - Browse repository at this point
Copy the full SHA ec57028View commit details
Commits on Mar 4, 2026
-
Configuration menu - View commit details
-
Copy full SHA for a44cef9 - Browse repository at this point
Copy the full SHA a44cef9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 00d1755 - Browse repository at this point
Copy the full SHA 00d1755View commit details -
chore: add check for pseudo-version dependencies in rudderlabs modules (
#6737) # Description What: - Adds a new step in the verify.yml GitHub Actions workflow that detects and blocks pseudo-version dependencies (e.g. v0.0.0-20260211072500-0c7ccaf1aa80) for any github.com/rudderlabs/* module. Why: Pseudo-versions pin to a specific commit rather than a tagged release, which makes dependency tracking harder, can introduce untested or intermediate code, and bypasses the release process. This check ensures all rudderlabs dependencies use proper tagged releases. How: The new CI step uses go list -m -json all piped through jq to find any rudderlabs module whose version matches the pseudo-version pattern (<14-digit timestamp>-<12-char commit hash>). If any are found, the workflow fails with a clear error message listing the offending dependencies. ## Linear Ticket - ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for 55ecd10 - Browse repository at this point
Copy the full SHA 55ecd10View commit details
Commits on Mar 5, 2026
-
feat: add a scheduled release cut workflow to cut release branches (#…
…6739) # Description Purpose Automates biweekly release branch creation for rudder-server. Two repository variables control the behavior: - RELEASE_FREEZE — set to "true" to skip scheduled releases (release freeze). Manual workflow_dispatch still works so you can override the freeze if needed. - RELEASE_WEEK_PARITY — set to "even" (default) or "odd" to control which ISO weeks are release weeks. Trigger - Cron: Every Monday at 8:30 AM UTC (2:00 PM IST) - Manual: workflow_dispatch with optional version override Jobs 1. check-schedule - Enforces biweekly cadence using ISO week number (even week = release week) - Manual dispatches always proceed 2. release-cut Runs only if check-schedule says it's a release week. Notable Details - Requires contents: write permission for pushing branches - Uses pinned actions/checkout (SHA for v4.3.0) - Slack notification uses slackapi/[email protected] ## Linear Ticket - ## Security - [ ] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for ab887ac - Browse repository at this point
Copy the full SHA ab887acView commit details
Commits on Mar 6, 2026
-
fix: update prerelease branch versioning format in scheduled release …
…workflow (#6745) # Description update prerelease branch versioning format in scheduled release workflow ## Linear Ticket - ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for fede9e4 - Browse repository at this point
Copy the full SHA fede9e4View commit details
Commits on Mar 9, 2026
-
chore: bump rudder-go-kit to 0.73.0 (#6753)
🔒 Scanned for secrets using gitleaks 8.30.0 # Description Bumping rudder-go-kit and go versions. ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for 1743f6b - Browse repository at this point
Copy the full SHA 1743f6bView commit details
Commits on Mar 10, 2026
-
chore: remove gunicorn and add darwin compatibility (#6742)
🔒 Scanned for secrets using gitleaks version is set by build process # Description Related to this PR: rudderlabs/rudder-pytransformer#45 Additionally, I made the [contract tests compatible](#6749) with Darwin so that we can run them locally on 🍎 ## Linear Ticket < Fixes [PIPE-2808](https://linear.app/rudderstack/issue/PIPE-2808/process-isolation-with-timeouts-memoryfdesc-fences) > < Fixes [PIPE-2816](https://linear.app/rudderstack/issue/PIPE-2816/fix-py-contract-tests-on-darwin) > ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for 392d1f4 - Browse repository at this point
Copy the full SHA 392d1f4View commit details -
chore: use latest retryablehttp client (#6754)
🔒 Scanned for secrets using gitleaks 8.30.0 # Description see rudderlabs/rudder-go-kit#1062 ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for 629f036 - Browse repository at this point
Copy the full SHA 629f036View commit details
Commits on Mar 11, 2026
-
fix: respect context cancellation in gateway rate limiter (#6751)
Co-authored-by: Aris Tzoumas <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 589251a - Browse repository at this point
Copy the full SHA 589251aView commit details
Commits on Mar 13, 2026
-
chore: user rudo docker image for partition migration integration tes…
…ts (#6757) 🔒 Scanned for secrets using gitleaks 8.30.0 # Description Modifying integration tests to use an actual rudo container, instead of the mock migration executor ## Linear Ticket resolves PIPE-2811 ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for 5022fbd - Browse repository at this point
Copy the full SHA 5022fbdView commit details
Commits on Mar 16, 2026
-
fix: false sanity check failure due to empty response (#6762)
# Description - Fix false positive UT mirroring sanity check failures caused by isUserTransformMirroringEnabled returning true while the mirror client had no URL configured, producing empty responses that were compared against real transformer output - Move mirror URL validation into isUserTransformMirroringEnabled so mirroring is disabled early when USER_TRANSFORM_MIRROR_URL or PYTHON_TRANSFORM_MIRROR_URL is not set for the given transformation language - Simplify userTransformURL by removing mirroring skip branches and the skippedEventsForMirroring stat (now dead code) ## Linear Ticket [PIPE-2836](https://linear.app/rudderstack/issue/PIPE-2836/fix-sanity-check-bug-on-rudder-server) ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for 0384603 - Browse repository at this point
Copy the full SHA 0384603View commit details -
fix: gateway request blocked in store jobs blocking all other requests (
#6760) 🔒 Scanned for secrets using gitleaks 8.30.0 # Description Due to an intermittent network issue, we noticed that although postgres cancelled the `COPY` command, the client never received the response. This caused the store method to remain blocked indefinitely, which in turn blocked all other requests because of the `dsListLock` mutex. To prevent the gateway from being blocked indefinitely, we are adding a watchdog that triggers a panic if the write operation exceeds the 1 minute grace period post the write timeout. ``` goroutine 6643275 [IO wait, 21 minutes]: internal/poll.runtime_pollWait(0xffff4dca6a00, 0x72) /usr/local/go/src/runtime/netpoll.go:351 +0xa0 internal/poll.(*pollDesc).wait(0x4d4b94b9180?, 0x4d4c297600f?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x28 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0x4d4b94b9180, {0x4d4c297600f, 0x4c4c422e, 0x4c4c422e}) /usr/local/go/src/internal/poll/fd_unix.go:165 +0x234 net.(*netFD).Read(0x4d4b94b9180, {0x4d4c297600f?, 0x4d50ee3c000?, 0x4d50ee76000?}) /usr/local/go/src/net/fd_posix.go:68 +0x28 net.(*conn).Read(0x4d4af97e4e0, {0x4d4c297600f?, 0x4d4af580008?, 0x4d4c2976000?}) /usr/local/go/src/net/net.go:196 +0x34 bufio.(*Reader).Read(0x4d4b9806120, {0x4d4c297600f, 0x4c4c422e, 0x12b17c0?}) /usr/local/go/src/bufio/bufio.go:231 +0xec io.ReadAtLeast({0x46a86a0, 0x4d4b9806120}, {0x4d4c2976000, 0x4c4c423d, 0x4c4c423d}, 0x4c4c423d) /usr/local/go/src/io/io.go:335 +0x98 io.ReadFull(...) /usr/local/go/src/io/io.go:354 github.com/lib/pq.(*conn).recvMessage(0x4d4afe0ca08, 0x4d4b7fa29c0) /go/pkg/mod/github.com/lib/[email protected]/conn.go:1075 +0x238 github.com/lib/pq.(*conn).recv1Buf(0x4d4afe0ca08, 0x4d4b7fa29c0) /go/pkg/mod/github.com/lib/[email protected]/conn.go:1118 +0x2c github.com/lib/pq.(*conn).recv1(0x4d4afe0ca08) /go/pkg/mod/github.com/lib/[email protected]/conn.go:1145 +0x38 github.com/lib/pq.(*conn).simpleExec(0x4d4afe0ca08, {0x44cbb47, 0x8}) /go/pkg/mod/github.com/lib/[email protected]/conn.go:582 +0x1d4 github.com/lib/pq.(*conn).rollback(0x4d4afe0ca08) /go/pkg/mod/github.com/lib/[email protected]/conn.go:550 +0x3c github.com/lib/pq.(*conn).Rollback(0x4d4afe0ca08) /go/pkg/mod/github.com/lib/[email protected]/conn.go:538 +0x5c database/sql.(*Tx).rollback.func1() /usr/local/go/src/database/sql/sql.go:2345 +0x2c database/sql.withLock({0x46e3d18, 0x4d4b94b9200}, 0x4d4b9c12f70) /usr/local/go/src/database/sql/sql.go:3572 +0x74 database/sql.(*Tx).rollback(0x4d4b07ff400, 0x0) /usr/local/go/src/database/sql/sql.go:2344 +0xd8 database/sql.(*Tx).awaitDone(0x4d4b07ff400) /usr/local/go/src/database/sql/sql.go:2221 +0x40 created by database/sql.(*DB).beginDC in goroutine 3873565 /usr/local/go/src/database/sql/sql.go:1925 +0x174 goroutine 3873565 [sync.Mutex.Lock, 21 minutes]: internal/sync.runtime_SemacquireMutex(0x7a61ba0?, 0xd4?, 0x4d4b006df38?) /usr/local/go/src/runtime/sema.go:95 +0x28 internal/sync.(*Mutex).lockSlow(0x4d4b94b9220) /usr/local/go/src/internal/sync/mutex.go:149 +0x170 internal/sync.(*Mutex).Lock(...) /usr/local/go/src/internal/sync/mutex.go:70 sync.(*Mutex).Lock(...) /usr/local/go/src/sync/mutex.go:46 database/sql.(*driverStmt).Close(0x4d4b8698900) /usr/local/go/src/database/sql/sql.go:721 +0x34 database/sql.(*Stmt).Close(0x4d4b76d6ab0) /usr/local/go/src/database/sql/sql.go:2911 +0x20c github.com/rudderlabs/rudder-server/jobsdb.(*Handle).doStoreJobsInTx.func1.1() /rudder-server/jobsdb/jobsdb.go:2126 +0x20 github.com/rudderlabs/rudder-server/jobsdb.(*Handle).doStoreJobsInTx.func1() /rudder-server/jobsdb/jobsdb.go:2134 +0x304 github.com/rudderlabs/rudder-server/jobsdb.(*Handle).doStoreJobsInTx(0x4d4af43ec38?, {0x4714420, 0x4d4bb0bd490}, 0x4d4b7d27b30, {{0x4d4afb7b730, 0xe}, {0x4d4afe1e378, 0x14}, {0x4d4afb7b738, 0x6}}, ...) /rudder-server/jobsdb/jobsdb.go:2153 +0xbc github.com/rudderlabs/rudder-server/jobsdb.(*Handle).internalStoreJobsInTx(0x4d4b0064388, {0x4714420, 0x4d4bb0bd490}, 0x4d4b7d27b30, {{0x4d4afb7b730, 0xe}, {0x4d4afe1e378, 0x14}, {0x4d4afb7b738, 0x6}}, ...) /rudder-server/jobsdb/jobsdb.go:1812 +0x314 github.com/rudderlabs/rudder-server/jobsdb.(*Handle).StoreInTx.(*Handle).StoreInTx.func1.func2() /rudder-server/jobsdb/jobsdb.go:3237 +0xd4 github.com/rudderlabs/rudder-server/jobsdb.executeDbRequest[...]({0x4714420, 0x4d4bb0bd490}, 0x4d4b0064388, 0x4d4b006e630) /rudder-server/jobsdb/queued_db_request.go:46 +0x23c github.com/rudderlabs/rudder-server/jobsdb.(*Handle).StoreInTx.func1(...) /rudder-server/jobsdb/jobsdb.go:3240 github.com/rudderlabs/rudder-server/jobsdb.(*Handle).StoreInTx(0x4d4b0064388, {0x4714420, 0x4d4bb0bd490}, {0x4708140, 0x4d4b9731cf8}, {0x4d4b7d7c908, 0x8b, 0x8b}) /rudder-server/jobsdb/jobsdb.go:3247 +0x1cc github.com/rudderlabs/rudder-server/gateway.(*Handle).storeJobs.func1({0x4708140, 0x4d4b9731cf8}) /rudder-server/gateway/handle.go:1032 +0x68 github.com/rudderlabs/rudder-server/jobsdb.(*Handle).WithStoreSafeTx.func1.1(0x4d4b7d27b30) /rudder-server/jobsdb/jobsdb.go:1817 +0x94 github.com/rudderlabs/rudder-server/jobsdb.(*Handle).WithTx(0x4d4afa39140?, {0x4714420, 0x4d4bb0bd490}, 0x4d4b006e940) /rudder-server/jobsdb/jobsdb.go:1903 +0x80 github.com/rudderlabs/rudder-server/jobsdb.(*Handle).WithStoreSafeTx.func1() /rudder-server/jobsdb/jobsdb.go:1817 +0x38 github.com/rudderlabs/rudder-server/jobsdb.(*Handle).inStoreSafeCtx.func1() /rudder-server/jobsdb/jobsdb.go:1834 +0xfc github.com/rudderlabs/rudder-server/jobsdb.(*Handle).inStoreSafeCtx(0x4d4b0064388, {0x4714420, 0x4d4bb0bd490}, 0x4d4bd10d980?) /rudder-server/jobsdb/jobsdb.go:1837 +0x4c github.com/rudderlabs/rudder-server/jobsdb.(*Handle).WithStoreSafeTx(0x4714378?, {0x4714420?, 0x4d4bb0bd490?}, 0x0?) /rudder-server/jobsdb/jobsdb.go:1816 +0x3c github.com/rudderlabs/rudder-server/gateway.(*Handle).storeJobs(0x4d4af838008, {0x4714378?, 0x4d4bd10d980?}, {0x4d4b7d7c908, 0x8b, 0x8b}) /rudder-server/gateway/handle.go:1031 +0x10c github.com/rudderlabs/rudder-server/gateway.(*Handle).StartWebHandler.func4.(*Handle).internalBatchHandler.(*Handle).internalBatchHandlerFunc.13({0x4709870, 0x4d4b9730000}, 0x4d4ba35af00) /rudder-server/gateway/handle.go:723 +0x170 github.com/rudderlabs/rudder-server/gateway.(*Handle).StartWebHandler.func4.(*Handle).internalBatchHandler.(*Handle).callType.14({0x4709870, 0x4d4b9730000}, 0x4d4ba35adc0) /rudder-server/gateway/handle_http.go:141 +0x84 net/http.HandlerFunc.ServeHTTP(0x3d20c20?, {0x4709870?, 0x4d4b9730000?}, 0x1?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/go-chi/chi/v5.(*Mux).routeHTTP(0x4d4b0254840, {0x4709870, 0x4d4b9730000}, 0x4d4ba35adc0) /go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:479 +0x3b8 net/http.HandlerFunc.ServeHTTP(0x4d4bd10d920?, {0x4709870?, 0x4d4b9730000?}, 0x4d4b006f4f8?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0x4d4b0254840, {0x4709870, 0x4d4b9730000}, 0x4d4ba35adc0) /go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:73 +0x2ac github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x4709870, 0x4d4b9730000}, 0x4d4ba35adc0) /go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:321 +0x1b4 net/http.HandlerFunc.ServeHTTP(0x3d20c20?, {0x4709870?, 0x4d4b9730000?}, 0x1?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/go-chi/chi/v5.(*Mux).routeHTTP(0x4d4b0254060, {0x4709870, 0x4d4b9730000}, 0x4d4ba35adc0) /go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:479 +0x3b8 net/http.HandlerFunc.ServeHTTP(0x4d4bd10d890?, {0x4709870?, 0x4d4b9730000?}, 0x14a0000014a?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/rudderlabs/rudder-server/middleware.init.func1.1({0x4709870, 0x4d4b9730000}, 0x4d4ba35adc0) /rudder-server/middleware/uncompress.go:15 +0xc4 net/http.HandlerFunc.ServeHTTP(0x1030006f7b8?, {0x4709870?, 0x4d4b9730000?}, 0x9cb00?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/rudderlabs/rudder-server/gateway.(*Handle).StartWebHandler.LimitConcurrentRequests.func9.1({0x4709870?, 0x4d4b9730000?}, 0x4d4ba35adc0?) /rudder-server/middleware/middleware.go:24 +0xb8 net/http.HandlerFunc.ServeHTTP(0x4d4afe1d008?, {0x4709870?, 0x4d4b9730000?}, 0x95e40?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/rudderlabs/rudder-go-kit/chiware.StatMiddleware.func3.1({0x4706770, 0x4d4baba0000}, 0x4d4ba35adc0) /go/pkg/mod/github.com/rudderlabs/[email protected]/chiware/stats.go:70 +0x130 net/http.HandlerFunc.ServeHTTP(0x4d4afe8c250?, {0x4706770?, 0x4d4baba0000?}, 0x321bc?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/rudderlabs/rudder-server/gateway.(*Handle).StartWebHandler.func3.1({0x4706770, 0x4d4baba0000}, 0x4d4ba35adc0) /rudder-server/gateway/handle_lifecycle.go:569 +0x64 net/http.HandlerFunc.ServeHTTP(0x47143b0?, {0x4706770?, 0x4d4baba0000?}, 0x7a63420?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0x4d4b0254060, {0x4706770, 0x4d4baba0000}, 0x4d4ba35ac80) /go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:90 +0x26c github.com/rudderlabs/rudder-server/utils/crash.(*panicLogger).Handler.func1({0x4706770?, 0x4d4baba0000?}, 0x4d4ba35ac80?) /rudder-server/utils/crash/logger.go:54 +0x70 net/http.HandlerFunc.ServeHTTP(0x4d4b0208000?, {0x4706770?, 0x4d4baba0000?}, 0x4d4ba35ac80?) /usr/local/go/src/net/http/server.go:2286 +0x38 github.com/rudderlabs/rudder-server/gateway.(*Handle).StartWebHandler.(*Cors).Handler.func16({0x4706770, 0x4d4baba0000}, 0x4d4ba35ac80) /go/pkg/mod/github.com/rs/[email protected]/cors.go:289 +0x15c net/http.HandlerFunc.ServeHTTP(0x10?, {0x4706770?, 0x4d4baba0000?}, 0x4d4baba0000?) /usr/local/go/src/net/http/server.go:2286 +0x38 net/http.serverHandler.ServeHTTP({0x46dbaa8?}, {0x4706770?, 0x4d4baba0000?}, 0x1?) /usr/local/go/src/net/http/server.go:3311 +0xb0 net/http.(*conn).serve(0x4d4b76d6000, {0x4714378, 0x4d4afa91a10}) /usr/local/go/src/net/http/server.go:2073 +0x51c created by net/http.(*Server).Serve in goroutine 118 /usr/local/go/src/net/http/server.go:3464 +0x37c ``` ## Security - [x] The code changed/added as part of this pull request won't create any security issues with how the software is being used.
Configuration menu - View commit details
-
Copy full SHA for ca4d514 - Browse repository at this point
Copy the full SHA ca4d514View commit details
Commits on Mar 17, 2026
-
🤖 I have created a release *beep* *boop* --- ## [1.70.0](v1.69.0...v1.70.0) (2026-03-16) ### Features * add a scheduled release cut workflow to cut release branches ([#6739](#6739)) ([ab887ac](ab887ac)) * infer OAuth type from account definition when destination supports accounts ([#6718](#6718)) ([00d1755](00d1755)) ### Bug Fixes * false sanity check failure due to empty response ([#6762](#6762)) ([0384603](0384603)) * gateway request blocked in store jobs blocking all other requests ([#6760](#6760)) ([ca4d514](ca4d514)) * respect context cancellation in gateway rate limiter ([#6751](#6751)) ([589251a](589251a)) * update prerelease branch versioning format in scheduled release workflow ([#6745](#6745)) ([fede9e4](fede9e4)) ### Miscellaneous * add check for pseudo-version dependencies in rudderlabs modules ([#6737](#6737)) ([55ecd10](55ecd10)) * bump rudder-go-kit to 0.73.0 ([#6753](#6753)) ([1743f6b](1743f6b)) * remove gunicorn and add darwin compatibility ([#6742](#6742)) ([392d1f4](392d1f4)) * use latest retryablehttp client ([#6754](#6754)) ([629f036](629f036)) * user rudo docker image for partition migration integration tests ([#6757](#6757)) ([5022fbd](5022fbd)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: rudderstack-github-actions[bot] <236995729+rudderstack-github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 599307d - Browse repository at this point
Copy the full SHA 599307dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.69.0...v1.70.0