Julius Park
86b25fe4e8
Remove dispatch backlog, replace with timeout lock acquisition ( #3290 )
2026-03-17 16:09:58 -04:00
Gabe Ruttner
8d4217425e
fix: cleanup orphaned metrics ( #3300 )
2026-03-17 11:24:17 -07: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
Julius Park
aebad9ed01
Add cleanup module to handle graceful shutdown, improve logging experience ( #3260 )
...
* initial commit
* fix logs
* make warn, fix
* add buffering
* make logger part of cleanup struct
* change it so deadline collection starts in goroutine
* use channels, reduce timelimit by 1 second
* make chan unbuffered, defer close
2026-03-16 13:55:43 -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
Gabe Ruttner
a9b5c634b3
feat(authz): Add support for additional RBAC configruation via YAML configuration ( #3285 )
...
* feat(authz): Add support for additional RBAC permissions via YAML configuration
* feat: allowed operations
2026-03-15 12:04:30 -07: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
Greg Furman
588be514f3
fix(sdk): Configure logger for Hatchet client ( #3046 )
2026-03-14 15:24:26 +02:00
matt
a07cc9aec7
fix: delete missing workers ( #3273 )
2026-03-13 15:41:52 -04: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
4cdd468100
fix: error on max aggregate keys ( #3267 )
...
* fix: error on max aggregate keys
* fix: other err
2026-03-13 07:55:32 -07:00
Gabe Ruttner
8b442db32b
fix: otel config loader and trunc query name ( #3266 )
...
* fix: otel config loader and trunc query name
* fix: cleanup the span name
2026-03-13 06:20:28 -07:00
Gabe Ruttner
e8c7cfdf19
fix: analytics no set ( #3264 )
...
* fix: analytics no set
* fix: add server url to group and identify
2026-03-13 04:25:29 -07:00
Gabe Ruttner
69951ac811
fix: add user id to context on login ( #3256 )
...
* fix: add user id to context on login
* feat: expose extra group
* fix: add source ui to context
2026-03-12 14:01:42 -07:00
Gabe Ruttner
732d1a87a6
fix: dont burry analytics properties ( #3254 )
...
* fix: dont burry analytics properties
* chore: lint
2026-03-12 13:00:35 -07:00
Gabe Ruttner
6419ad33dc
Feat--consistent-analytics-events ( #3239 )
...
* chore: log when enqueue errors
* feat: standardize and improve actor model
* feat: track entire surface
* chore: remove heartbeats
* cleanup
* fix: merge
* chore: cleanup and AI
* fix: getter
* chore: feedback
* flush mu
* feat: source attribute
* feat: cli source
* fix: webhook
* feat: add server url
2026-03-12 12:02:36 -07: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
matt
b942092ba5
Feat: env var for stream event buffer timeout ( #3223 )
...
* feat: env var for stream event buffer timeout
* chore: gen
2026-03-11 11:41:18 -04: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
46b3041eb1
Fix: Go unexported type ( #3160 )
...
* fix: internal types
* fix: rm unused helper
2026-03-04 17:40:13 -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
Mohammed Nafees
e72051877e
Enable loadtest with PgBouncer ( #3143 )
...
* enable loadtest with pgbouncer
* use default_query_exec_mode=cache_describe for pgbouncer
* increase threshold
* make sure no regression
2026-03-03 15:24:30 +01:00
Julius Park
5e4bb9d151
Add seconds granularity to cron jobs ( #3136 )
2026-03-02 18:07:15 -05: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
ef2c01a499
Add ctx.WasSkipped helper to the Go SDK ( #3094 )
...
* introduce ctx.WasSkipped just like Py SDK
* fix lint and example
2026-02-26 17:56:45 +01:00
Mohammed Nafees
fa695fc8ca
non blocking ctx.Log with meaningful retries ( #3106 )
2026-02-25 18:55:17 +01:00
matt
5e672d0514
[Go] Feat: Details Getter ( #3105 )
...
* feat: add details getter
* fix: naming
* fix: structs
2026-02-25 12:11:19 -05:00
Mohammed Nafees
f3ec9597a6
Add env vars for max conn lifetime and idle time for pgx ( #3096 )
...
* add env vars for max conn lifetime and idele time for pgx
* add doc
2026-02-24 21:54:09 +01: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
abelanger5
73ef4747e7
feat: new search bar component ( #2909 )
...
* fix: compute payload size correctly for pg_notify
* refactor: pull search bar into its own component
* just use tab for autocomplete
* fix: log line typing
* Refactor Search Bar (#2964 )
* Add empty search state
* V1 table layout logviewer
* Add temp hatchet-worker for testing
* Fix log css grid when expanded
* undo search notfound logic, needs API logic
* Rework workflow example
* use correct info color
* better table headers
* Add back ansi formatting
* Allow enter along with tab to traverse chips
* remove tutorial
* Add syntax color to search chips
* styling progress
* styling progress
* constrain width
* Add rel time
* Readd flag conditional
* remove hatchet-worker, feature flag, and cypress test
* remove tenant hook
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
* fix: remove ansi-to-html, review feedback
---------
Co-authored-by: Sebastian Graz <graz@live.se >
2026-02-17 20:47:20 -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
Mohammed Nafees
eefbcdc532
Return event ID after successful webhook trigger ( #3039 )
...
* return webhook event ID on successful receive
* fix pytest
* err handling for json unmarshal
* if clause
2026-02-16 18:36:51 +01: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
Jishnu
9e0182ec77
feat: add python and typescript webhook client ( #2959 )
...
* feat: add python webhook client
* refactor: python webhook client, webhook tests
* add: ts webhook client, example
* remove unwanted assert
* refactor: webhook update eventkey optional
* fix lint
* bump version
* fix: webhooks.create args, webhook example
* fix: infer auth_type from auth payload python
* fix: infer auth type from payload ts
* remove auth type magic strings
2026-02-13 14:04:08 -05: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
Mohammed Nafees
22fd98e828
More deprecation messages for older Go SDKs ( #3006 )
...
* add more deprecation messages to older Go SDKs
* more comments
2026-02-12 15:40:47 +01:00
Mohammed Nafees
64a85498f5
Truncate to first 10k characters of log line in Go SDK ( #2998 )
...
* truncate to 10k chars for Go SDK log
* use runes for character length comparison
2026-02-11 23:32:45 +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
Gabe Ruttner
6aff6b6f1f
feat: log on delayed heartbeat ( #2994 )
...
* feat: log on delayed heartbeat
* don't log on first heartbeat
* fix: 1s
2026-02-11 06:33:51 -08:00