Mohammed Nafees
eac2a09017
Merge branch 'main' into nafees/docs-changes
2026-03-23 11:47:35 +01:00
Josh Duff
185d2a497e
Only return non-archived tenants in TenantMember queries ( #3317 )
2026-03-19 17:00:16 -04:00
abelanger5
4b3d3394f4
feat: tenant-scoped logs view ( #3307 )
...
* feat: tenant-scoped logs view
* fix: hook ordering
* fix: pr review comments and push actual logs component
* feature flag
* fix: lint
2026-03-18 17:37:01 -04:00
Gabe Ruttner
a3275ac101
fix: enhance SQL query name extraction in otel tracer and fallback ( #3277 )
...
* fix: enhance SQL query name extraction in otel tracer and fallback
* feat: propagate context to logger
* feat: correlation ids
* feat: add tenant ids
* feat: more richness for partitionable things
* fix: tests
* feat: capture http errors on spans
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-17 07:31:21 -07:00
matt
a899c3216f
Feat: Add workflow_run_external_id to trigger run ack proto ( #3299 )
...
* feat: add external id to runs entry
* chore: gen
* fix: python wiring
* chore: gen ts
* chore: version
* fix: wiring
* chore: changelog, version
* chore: gen
2026-03-17 09:53:48 -04:00
Gabe Ruttner
f988511a1f
fix: silence tenant alert error ( #3298 )
2026-03-17 06:34:50 -07:00
Gabe Ruttner
b3208f4d62
fix: remove join in currency queries ( #3294 )
...
* fix: remove join in currency queries
* chore: generate
2026-03-16 17:14:54 -04:00
matt
43e7466d0f
Feat: Durable Execution Revamp ( #2954 )
...
* Feat: Durable Execution Revamp
---------
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
2026-03-16 11:24:29 -04:00
Greg Furman
794fbe7527
fix: Validate the presence of null unicode in output ( #3164 )
...
* fix: Validate the presence of null unicode in output
* chore: Update changelog and bump SDK version
2026-03-14 15:26:11 +02:00
Mohammed Nafees
344d7fa00f
Attempt to fix deadlock in PollScheduledWorkflows by scoping FOR UPDATE lock ( #3261 )
...
* make sure skip locked semantics is meaningful
* fix: order by cond
* fix: refs
* chore: decrease diff size
* fix: run triggered by not exists instead of left join
* feat: add index for polling
* chore: schema
* fix: make cte doing the filtering also do the locking
* fix: one more cte fix
* fix: rm dupe for update lock
* fix: order by
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2026-03-13 11:04:32 -04:00
matt
b5351a921d
Janky Fix: Extract input payloads for standalone tasks for dashboard ( #3128 )
...
* fix: extract input payload correctly
* chore: todo -> fixme
* fix: naming + handle panic
2026-03-13 11:03:59 -04:00
Gabe Ruttner
7748898c59
fix: failure after cancellation ( #3243 )
...
* fix: failure after cancellation
* chore: generate
* fix: list multiple concurrency strategies
* fix: lock concerns
2026-03-11 18:11:15 -07:00
Mohammed Nafees
ab6cae4420
Test PgBouncer against our code-level partitioning logic ( #3178 )
...
* test partition drops with pgbouncer
* dedicated DDLPool to bypass pgbouncer
* fix generate
* add env var
* min env var
* update documentation
* no go mod redundancy
2026-03-10 12:24:07 +01:00
abelanger5
46c4297b32
feat: add callback support for tenant and tenant member updates ( #3201 )
...
* feat: add callback support for tenant and tenant member updates
* add callbacks into tenant_invite.go
2026-03-07 17:31:44 -05:00
matt
6c29e48204
Feat: Dynamic worker label assign ( #3137 )
...
* feat: initial wiring work on desired labels
* feat: initial wiring
* chore: gen python
* fix: use the whole desired label thing instead
* fix: more wiring, improve types
* fix: sql type
* fix: len check
* chore: gen python
* fix: initial plural label work
* fix: store the labels properly on the task
* fix: skip cache on override
* fix: bug
* fix: scoping bug whoops
* chore: lint
* fix: send labels back over the api correctly
* feat: python test
* fix: lint
* fix: comment
* fix: override
* fix: namespaces, ugh
* fix: no need for error here
* chore: version
* feat: ruby, go, ts
* feat: versions
* fix: appease the rubocop
* chore: lint
* chore: bundle install
* fix: tests
* chore: lint
* chore: lint more
* fix: ts test
* fix: rb
* chore: gen
* chore: reset gemfile
* chore: reset changelog
* fix: pgroup
* fix: tests, part i
* Revert "chore: reset changelog"
This reverts commit b63bf7d3e5 .
* Revert "chore: reset gemfile"
This reverts commit bb848bb6f0 .
* fix: go -> golang mapping hack
* fix: go enums
* fix: appease the cop
* fix: namespace
* chore: gen
2026-03-04 11:03:58 -05:00
Gabe Ruttner
c8f762c12e
chore: simplify ruby e2e ci scripts ( #3152 )
...
* chore: simplify start script
* chore: log
* fix: log paths
* fix: race?
* fix: deadlock?
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2026-03-03 15:16:11 -08:00
abelanger5
e9eb65d9a8
feat: user callback additional methods ( #3057 )
...
* add more opts to create user callback
* add session callbacks
* add more options to authenticate
* add full route info to routes map
* small refactor to reduce deps on session helpers
2026-03-02 16:25:41 -05:00
matt
deee6e213c
fix: external ids ( #3111 )
2026-02-26 12:57:33 -05:00
Mohammed Nafees
444a335c18
Fix cross-strategy slot contamination in chained concurrency gates ( #3089 )
...
* filter properly based on strategy ids
* remove remnants
* add concurency integration test
* more tests
2026-02-24 12:54:04 +01:00
Mohammed Nafees
44069cef89
make sure to use 60 seconds timeout for PutWorkflowVersion ( #3085 )
2026-02-23 16:20:31 +01:00
matt
df9e86081a
Fix: Move event log to a tab on the task run detail ( #3067 )
...
* fix: separate tab for activity on run detail
* fix: output payload bug
* fix: couple more uuid bugs
* fix: set var
* fix: add event type check
2026-02-22 19:02:22 -08:00
Gabe Ruttner
2fdc47a6af
feat: multiple slot types ( #2927 )
...
* feat: adds support for multiple slot types, primarily motivated by durable slots
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2026-02-17 05:43:47 -08:00
Gabe Ruttner
7875d78057
Feat: Official Ruby SDK ( #3004 )
...
* feat: initial ruby sdk
* fix: run listener
* fix: scope
* feat: rest feature clients
* fix: bugs
* fix: concurrent register
* fix: tests and ergonomics
* docs: all of them
* chore: lint
* feat: add RBS
* feat: add GitHub Actions workflow for Ruby SDK with linting, testing, and publishing steps
* chore: lint
* refactor: simplify load path setup for Hatchet REST client and remove symlink creation
* fix: cert path
* fix: test
* fix: blocking
* fix: ensure Hatchet client is only initialized once across examples
* fix: tests
* remove: unused example
* fix: bubble up errors
* test: skip flaky for now
* remove: lifespans
* fix: durable context bugs
* fix: bulk replay
* fix: tests
* cleanup: generate tooling
* fix: integration test
* chore: lint
* release: 0.1.0
* chore: remove python comments
* refactor: remove OpenTelemetry configuration and related unused options
* fix: default no healthcheck
* chore: lockfile
* feat: register as ruby
* chore: lint
* chore: update py/ts apis to include ruby
* chore: docs pass
* chore: lint
* chore: generate
* chore: cleanup
* chore: generate examples
* tests: add e2e tests
* tests: cache examples dependencies
* fix: namespace
* fix: namespace
* fix: namespaces
* chore:lint
* fix: improve cancellation workflow polling logic and add error handling
* revert: py/ts versions
2026-02-15 14:32:15 -08:00
Mohammed Nafees
ff15f00c94
[hotfix] Corrected custom value meter for resource limit ( #3021 )
...
* fix cvm deducation
* switch clause
* add FIXME
2026-02-13 21:20:33 +01:00
Mohammed Nafees
40a1044b44
New UpdateLimits method for TenantResourceLimit table ( #2895 )
...
* new UpdateLimits method to tenant limits
* WIP: clean resource limits repo
* fmt changes and cvm needs to remain
* remove unnecessary metering logic
* updated openapi
* last fixes
* PR comments
* fixes
* default limits
* fix generate test
* fix lint
2026-02-13 18:01:46 +01:00
abelanger5
851fbaf214
feat: reduced cold starts for new workers and queues ( #2969 )
...
* feat: reduced cold starts for new workers and queues
* address changes from pr review
* fix: data race
* set logs to debug on the harness
* debug for queue level as well
* debug lines for queuer
* fix: add queue notifier to v0 workflow registration
* revert: lease manager interval
* revert log level changes
* add more debug, revert reverts
* more debug
* add debug to lease manager
* do it, try it
* fix: call upsertQueue as part of workflow version put
* change log level to error again
* pr review changes
2026-02-11 13:12:10 -08:00
Mohammed Nafees
4fd7b94751
Add support for Svix webhooks ( #2996 )
...
* support Svix webhooks
* add migration
* use http status codes
* comment fix
* custom svix verification logic
* copilot comments
* copilot comments
2026-02-11 16:41:36 +01:00
Mohammed Nafees
5db655e9aa
Do not replay invalid tasks ( #2976 )
...
* filter valid tasks when replaying
* renamings
* query optim
* slice len
* fix method signature
* PR comments
* rename var
* PR comments
2026-02-10 13:08:38 -05:00
matt
961682d704
Hotfix: More panics ( #2945 )
...
* fix: check if dispatcher id is nil
* explicit nil check
* proposal: extra return out of `GetDispatcherIdsForWorkers`
2026-02-04 19:08:17 -05:00
matt
811e0b7965
fix: make uuid optional for desired worker ( #2946 )
2026-02-04 17:12:07 -05:00
matt
a782d9fd01
Hotfix: UUID Panics ( #2944 )
...
* fix: panic
* fix: more panic risks
* fix: two more possible panics
2026-02-04 15:11:08 -05:00
Jishnu
ed43cae0a2
feat: Extend webhook support for scope_expression and payload ( #2874 )
...
* add: scope_expression and payload columns for v1_webhook
* refactor: insert or update sql cmds for v1_webhook
* feat: update api clients, openapi schema for new webhook body
* refactor: receiver and transformer for v1 webhook
* add: python sdk changes
* feat: ts sdk changes
* feat: add FE for webhook new params
* fix: scope expression empty payload
* add: support for scope and payload for go client
* fix: lint
* fix: error message UI on webhook
* fix: lint
* fix: migraiton conflict, build failure
* fix: error handling
* update docs, add tests
* fix: lint, test file name
2026-02-04 12:44:52 -05:00
abelanger5
051a930019
fix: explicit use of tx in olap readPayloads ( #2925 )
2026-02-03 16:19:36 -05:00
matt
058968c06b
Refactor: Attempt II at removing pgtype.UUID everywhere + convert string UUIDs into uuid.UUID ( #2894 )
...
* fix: add type override in sqlc.yaml
* chore: gen sqlc
* chore: big find and replace
* chore: more
* fix: clean up bunch of outdated `.Valid` refs
* refactor: remove `sqlchelpers.uuidFromStr()` in favor of `uuid.MustParse()`
* refactor: remove uuidToStr
* fix: lint
* fix: use pointers for null uuids
* chore: clean up more null pointers
* chore: clean up a bunch more
* fix: couple more
* fix: some types on the api
* fix: incorrectly non-null param
* fix: more nullable params
* fix: more refs
* refactor: start replacing tenant id strings with uuids
* refactor: more tenant id uuid casting
* refactor: fix a bunch more
* refactor: more
* refactor: more
* refactor: is that all of them?!
* fix: panic
* fix: rm scans
* fix: unwind some broken things
* chore: tests
* fix: rebase issues
* fix: more tests
* fix: nil checks
* Refactor: Make all UUIDs into `uuid.UUID` (#2897 )
* refactor: remove a bunch more string uuids
* refactor: pointers and lists
* refactor: fix all the refs
* refactor: fix a few more
* fix: config loader
* fix: revert some changes
* fix: tests
* fix: test
* chore: proto
* fix: durable listener
* fix: some more string types
* fix: python health worker sleep
* fix: remove a bunch of `MustParse`s from the various gRPC servers
* fix: rm more uuid.MustParse calls
* fix: rm mustparse from api
* fix: test
* fix: merge issues
* fix: handle a bunch more uses of `MustParse` everywhere
* fix: nil id for worker label
* fix: more casting in the oss
* fix: more id parsing
* fix: stringify jwt opt
* fix: couple more bugs in untyped calls
* fix: more types
* fix: broken test
* refactor: implement `GetKeyUuid`
* chore: regen sqlc
* chore: replace pgtype.UUID again
* fix: bunch more type errors
* fix: panic
2026-02-03 11:02:59 -05:00
abelanger5
d56dee4266
feat: durable user event log ( #2861 )
...
* placeholder
* feat: db tables for user events (#2862 )
* feat: db tables for user events
* move event payloads to payloads table, fix env var loading
* fix: address pr review comments
* missed save
* feat: optimistic scheduling (#2867 )
* feat: db tables for user events
* move event payloads to payloads table, fix env var loading
* refactor: small changes to prepare optimistic txs
* feat: optimistic scheduling
* address pr review comments
* rm comments
* fix: rampup test race condition
* fix: goleak
* feat: grpc-side triggers
* fix: config and sem logic
* fix: respect optimistic scheduling env var
* add optimistic to testing matrix, remove pg-only mode
* fix cleanup of pubbuffers
* merge migrations
* last testing fixes
2026-02-02 18:04:02 -05:00
Gabe Ruttner
4e59f301ec
fix: dag update distinct locks ( #2903 )
...
* lock only distinct
* try to fix dag statuses as well
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2026-02-02 05:53:19 -08:00
Gabe Ruttner
8186db18a4
fix: only fetch finalized workflow runs ( #2896 )
...
* only fetch finalized
* further optimization
* configurable buffer
2026-01-31 16:32:47 -05:00
abelanger5
04953129a4
fix: compute payload size correctly for pg_notify ( #2873 )
2026-01-31 16:31:49 -05:00
Gabe Ruttner
e1fd78138b
fix: orphaned inactive queues ( #2893 )
...
* fix
* fixme
* upsert at end
* unique and all strategies
* feedback
* string
2026-01-30 14:05:05 -08:00
matt
ffe9f5ce74
Log Search Frontend, Part II ( #2886 )
...
* fix: don't toggle selection if a user is dragging
* fix: command selection state
* fix: close search bar on enter
* fix: improve search bar styling a bit, make it more consistent with designs
* chore: tsc
* Feat: Logs Frontend, Part III (#2888 )
* fix: propagate retry count through properly
* feat: attempt switcher
* fix: attempt numbers
* feat: add attempt param to log query
* feat: wiring
* feat: attempt filter
* chore: changelog
* fix: use the button component
* fix: only close on enter when in FTS mode
* fix: pass retry count and log level in Go
* fix: feedback
* chore: lint
* fix: rm cruft comment
2026-01-30 13:17:21 -05:00
matt
a3fe89ef03
Feat: Workflow input JSON schema in trigger preview ( #2851 )
...
* feat: add input json schema to workflow version
* feat: add json schema to putworkflow proto
* feat: wire up writes of the json schema
* chore: gen python
* feat: send json schema from the python code
* feat: wiring
* feat: pass json schema into code editor
* feat: pass prop
* fix: clean up validation stuff
* feat: allow zod `input` as optional ts field
* fix: try except logic hack
* fix: rename input -> inputValidator for consistency
* chore: gen api
* fix: improve hack slightly
* chore: changelogs, versions
* feat: zod example
* chore: rework api a bit
* fix: tsc, allow schema to update
* fix: improve loading state
* fix: api cleanup, sqlc cleanup
* fix: initial mount
* chore: lint
* chore: lint
* chore: tsc
* fix: lint
* fix: unwind unneeded change
* [Python] Feat: Default additional metadata (#2876 )
* Add doc about autoscaling workers (#2864 )
* add doc for autoscaling workers
* oldest also in running stats
* chore(deps): bump google.golang.org/api from 0.262.0 to 0.263.0 (#2869 )
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.262.0 to 0.263.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases )
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.262.0...v0.263.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-version: 0.263.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump github.com/getsentry/sentry-go from 0.41.0 to 0.42.0 (#2870 )
Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go ) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/getsentry/sentry-go/releases )
- [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-go/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: github.com/getsentry/sentry-go
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump hatchet-sdk in /examples/python/quickstart (#2871 )
Bumps hatchet-sdk from 1.22.10 to 1.22.11.
---
updated-dependencies:
- dependency-name: hatchet-sdk
dependency-version: 1.22.11
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: default additional meta
* feat: wiring
* chore: changelog, version
* fix: copy
* feat: add default meta to stubs
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Mohammed Nafees <hello@mnafees.me >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migration ver
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Mohammed Nafees <hello@mnafees.me >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-29 11:38:25 -05:00
Gabe Ruttner
a8afa07dcf
fix: validate json at edges and dont retry on invalid ( #2882 )
...
* drop and validate at edges
* rm submod
* use enum
* lint
2026-01-29 08:04:55 -08:00
Gabe Ruttner
da6dcf049a
fix: typo ( #2875 )
2026-01-29 05:20:50 -08:00
matt
3c416ee949
Feat: OTel Collector ( #2863 )
...
* feat: initial otel collector work
* chore: vendor otel protos
* feat: add rate limiter for otelcol
* fix: clean up naming
* feat: shell implementation
* feat: add buf + generate protos
* fix: naming
* fix: naming
* chore: simplify a bit
* fix: rename logger
* fix: naming cleanup
* fix: rm unused var
* fix: rm unused struct
* chore: rm vendored stuff, don't need it apparently
2026-01-28 14:10:15 -05:00
matt
1a5ea825bc
Fix: Make metrics in graph align with badge metrics ( #2858 )
...
* Revert "Revert "fix: make point metrics line up with badges (#2739 )" (#2857 )"
This reverts commit bc37fc7750 .
* fix: naming
2026-01-27 10:36:19 -05:00
matt
bc37fc7750
Revert "fix: make point metrics line up with badges ( #2739 )" ( #2857 )
...
This reverts commit 26689a1b0f .
2026-01-26 15:53:09 -05:00
Mohammed Nafees
b48f4bc307
fix with coalesce ( #2856 )
2026-01-26 21:40:54 +01:00
matt
26689a1b0f
fix: make point metrics line up with badges ( #2739 )
2026-01-26 14:54:20 -05:00
matt
dcf1d377ca
Feat: Add order by direction param to v1LogLineList ( #2849 )
...
* feat: add order by direction param
* fix: order ascending on existing fe
* chore: gen openapi
2026-01-26 14:01:03 -05:00
Mohammed Nafees
0a2b8944b3
more tenant related repo methods ( #2854 )
2026-01-26 19:54:01 +01:00