Mohammed Nafees
45c291c192
Go SDK gRPC client reconnection improvements ( #2934 )
...
* go sdk fixes to concurrency listen chans
* use generation
2026-02-04 18:53:18 +01: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
2ddcbd2672
refactor: use typed maps ( #2928 )
...
* refactor: use typed maps
* self-review comments
2026-02-03 19:35:09 -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
abelanger5
029d434e6b
fix: add back SendTemplateEmail methods, fix postmark emails ( #2910 )
2026-02-02 13:41:18 -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
Greg Furman
fa0dbde84e
add: email alert support via SMTP ( #2868 )
...
* add: email alert support via SMTP
* add: subject lines
* add: go build tags
* add: SMTP server guide
* feat: include rendering in tests, fix race with mock server, and register subject templates to tmpl registry
* split up SMTP and postmark config
* refactor: Remove generic methods from EmailService
* fix: make postmark the default email provider
* fix: frontend lint
2026-01-31 20:05:52 -05: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
matt
2837573b6c
[Go] Feat: Webhooks feature client for the Go SDK ( #2792 )
...
* feat: webhooks feature client
* feat: add webhook client
* feat: add v1 webhook client
* feat: example
* fix: webhook client impl
* fix: example + error handling + other client
* fix: missing webhook resources
* chore: gen
2026-01-23 11:04:34 -05:00
Gabe Ruttner
ffd0941dc3
fix: list concurrency strategies queries ( #2838 )
...
* fixes
* lint
2026-01-21 13:56:01 -08:00
matt
b093cc4878
Feat: Add search and levels to logs API ( #2835 )
...
* feat: add log levels and search query to log query
* feat: pass levels, search through
* feat: add log level to query
* feat: wire up levels and search query
2026-01-21 14:27:47 -05:00
Gabe Ruttner
81eb3f43b9
fix: flaky integration test ( #2834 )
...
* disable cache
* simpler fix
2026-01-21 09:10:35 -08:00
abelanger5
a6e88074de
refactor: have log line lookups use external id ( #2822 )
...
* fix: modify log line query to use external id
* pass in task external id
2026-01-20 11:17:06 -05:00
Mohammed Nafees
6eba6fa91f
Billing changes ( #2643 )
...
* make changes for billing
* progress around redesign
* meter callback
* modify limits
* upcoming subscription
* fix lint
* fix payment methods
* fix build
* PR comments
* address PR comments
* update cloud contracts
* fix migration name
* fix json serialization error
* loader and fixed for managed compute
* PR comments
* upgrade Go version
* fix migration name
* fix CI
* fix lint CI
* golangci-lint fix
* dedicated subscription
2026-01-19 12:15:11 +01:00
Mohammed Nafees
a0233964db
New onboarding flow ( #2757 )
...
Updates the onboarding flow to make it CLI-based.
2026-01-16 10:09:44 -05:00
abelanger5
584ba47044
feat: hatchet cli ( #2701 )
...
Creates a new CLI for Hatchet!
- `hatchet profile [add|remove|list|show|update]` - allows managing multiple profiles, like `local` and `cloud`
- `hatchet server [start|stop]` - manages a Hatchet instance locally via docker
- `hatchet quickstart` - generates quickstart directory, similar to `create-react-app`
- `hatchet worker dev` - creates a filewatcher for a Hatchet instance and automatically injects profile token from a selected profile. Uses a `hatchet.yaml` file in the current directory
- `hatchet worker run` - runs a script for triggering a workflow using `hatchet.yaml`
- `hatchet tui` - creates the TUI interface
2026-01-13 13:35:43 -05:00
matt
3981626804
Fix: Concurrency display on workflow page ( #2780 )
...
* chore: add task concurrency
* feat: wire up new concurrency field
* feat: clean up table
* feat: some page cleanup
* chore: cleanup
* chore: revert python changes
* feat: code highlighter
* chore: lint
2026-01-12 15:44:44 -05:00
matt
ebe2f9acfd
Feat: Add additional meta to the run detail getter ( #2770 )
...
* feat: add additional meta to proto
* feat: propagate metadata
* feat: expand test
* fix: wiring
* chore: version
* chore: lint
2026-01-12 13:46:16 -05:00
matt
6fcd064414
fix: statement timeout ( #2774 )
2026-01-11 11:43:40 -05:00
Michał Kostrzewa
a19a5b8ed5
fix: actually reconnect to postgres if conn fails. ( #2772 )
...
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
2026-01-10 17:28:37 -05:00
matt
09dd9dfbf7
fix: worker id ( #2773 )
2026-01-10 16:59:44 -05:00
matt
73229b0e21
Feat: Run detail getter on the engine ( #2725 )
...
* feat: initial rpc
* chore: gen python
* feat: add more fields
* chore: gen again
* fix: finish cleaning up python
* feat: start wiring up api
* fix: panic
* feat: start implementing getters
* fix: improve api
* feat: expand return type a bit
* feat: more wiring
* feat: more wiring
* fix: finish wiring up input reads
* fix: admin client cleanup
* fix: ordering
* fix: add all_finished param
* feat: wire up all finished
* fix: propagate allfinished
* fix: propagate external ids
* chore: gen protos again
* fix: one more thing
* chore: rename
* chore: rename
* chore: fix typing
* fix: cleanup
* feat: add queued default
* fix: wiring
* feat: running check
* fix: query
* chore: rm print
* fix: edge case handling
* feat: python test
* feat: add `done` field
* feat: pass `done` through
* fix: test done flag
* fix: cleanup
* fix: handle cancelled
* refactor: clean up implementations of status handling
* fix: feedback
* fix: done logic
* fix: export run status
* fix: couple small bugs
* fix: handle done
* fix: properly extract input
* fix: bug with sequential dags
* refactor: improve performance of lookup query slightly
* refactor: add helpers on V1StepRunData for getting input + parsing bytes
* refactor: create listutils internal package
* refactor: status derivation
* fix: rm unused method
* fix: sqlcv1 import
* fix: error log
* fix: 404 on not found
* feat: changelog, async method
2026-01-08 12:44:01 -05:00
abelanger5
32188b5a85
fix: better error on deprecated endpoints ( #2763 )
2026-01-08 11:32:14 -05:00
matt
479aaa9d2f
fix: un-hard-code location ( #2760 )
2026-01-07 18:01:40 -05:00
matt
b3f92ef597
fix: payload location issue ( #2759 )
2026-01-07 17:17:40 -05:00
matt
cce3ab5e7c
Fix: Child runs counts missing filter ( #2744 )
...
* fix: propagate parent external id through to count query
* chore: remove duplicate olap overwrite sql
2026-01-07 14:19:29 -05:00
abelanger5
6920ec1b61
revert: UI version removal ( #2756 )
...
* revert: UI version removal
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-06 14:16:42 -05:00
Andrei Gaspar
4dda2b2884
Send create:user Event from OAuth Flow ( #2683 )
...
* feat: Send create:user event from OAuth flow
* feat: Implement user and tenant creation events in callbacks
* move callback into cb.Do
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2026-01-06 14:06:38 -05:00
Mohammed Nafees
7d662d42a4
use try advisory for replat tasks ( #2755 )
2026-01-06 17:16:06 +01:00
abelanger5
1f2dd277e7
refactor: set a connection-level statement timeout ( #2750 )
...
* refactor: set a connection-level statement timeout
* reset to 30 seconds instead of 0
* remove comment
* use connections with larger statement timeouts for certain queries
2026-01-05 20:20:09 -05:00
abelanger5
9f463e92d6
refactor: move v1 packages, remove webhook worker references ( #2749 )
...
* chore: move v1 packages, remove webhook worker references
* chore: move msgqueue
* fix: relative paths in sqlc.yaml
2026-01-02 11:42:40 -05:00
abelanger5
f24c34ccfb
chore: clean up buffer config and remove package ( #2748 )
...
* chore: clean up config options
* update docs
2026-01-02 11:42:29 -05:00
abelanger5
f82d3bd071
refactor: consolidate repository methods ( #2730 )
...
* refactor: remove v0 paths from codebase
* remove uiVersion references
* refactor: remove v0-exclusive database queries
* remove webhook test
* chore: move api token repository
* chore: move dispatcher repository to v1
* chore: move health repository to v1
* chore: remove event repository
* remove some unused repositories
* chore: move mq implementation to v1
* chore: consolidate rate limit implementations
* chore: move security check to v1 repository
* chore: move slack to v1 repository
* chore: move sns implementation to v1 repository
* clean up step repository
* chore: move tenant invite to v1 repository
* chore: move limits, workers, tenant alerts to v1 repository
* chore: move user, tenant, userSession to v1 repository
* chore: move ticker to v1 repository
* chore: move scheduled workflows to v1 repository
* chore: remove workflows
* fix: remove pointer for limits config file
* propagate cache value to api token
* propagate cache durations
2025-12-31 16:35:46 -05:00
abelanger5
f57ebf7546
refactor: remove v0-exclusive database queries ( #2729 )
...
* refactor: remove v0 paths from codebase
* remove uiVersion references
* refactor: remove v0-exclusive database queries
* remove webhook test
2025-12-31 09:36:12 -05:00
abelanger5
dd9c36c315
refactor: remove v0 paths from codebase ( #2728 )
...
* refactor: remove v0 paths from codebase
* remove uiVersion references
2025-12-30 09:57:00 -05:00