The development team has made substantial progress in adding new features, refactoring code, and updating documentation, while addressing critical bugs and improving system stability.
dependabot[bot]
Luca Steeb (steebchen)
Alexander Belanger (abelanger5)
Gabe Ruttner (grutt)
google.golang.org/api
from 0.185.0 to 0.186.0.github.com/go-co-op/gocron/v2
from 2.6.0 to 2.7.0.github.com/go-co-op/gocron/v2
from 2.5.0 to 2.6.0.On
in favor of RegisterWorkflow
.random.Generate
.Severity: High
Severity: Medium
Severity: Medium
Severity: Medium
Severity: Low
Serverless Support via Webhook Workers:
Billing Features Implementation:
Dynamic Limits Feature:
Overall, the development team has made substantial progress in enhancing the platform's capabilities while maintaining a strong focus on code quality and user experience. However, attention must be given to resolving critical bugs, clarifying specifications, and managing team dynamics effectively.
dependabot[bot]
Luca Steeb (steebchen)
Alexander Belanger (abelanger5)
Gabe Ruttner (grutt)
google.golang.org/api
from 0.185.0 to 0.186.0.github.com/go-co-op/gocron/v2
from 2.6.0 to 2.7.0.github.com/go-co-op/gocron/v2
from 2.5.0 to 2.6.0.On
in favor of RegisterWorkflow
.random.Generate
.Since the last report, there has been significant activity across various aspects of the project:
Overall, the development team has made substantial progress in enhancing the platform's capabilities while maintaining a strong focus on code quality and user experience.
Since the previous analysis 7 days ago, there has been notable activity in the hatchet-dev/hatchet repository. Here is a detailed breakdown of the changes and their implications:
Issue #642 - Improve step error message on workflow scheduling timeout
Issue #640 - Refactor: make engine runnable with config instead of loader
Issue #639 - feat: check security service
Issue #637 - Go SDK: prefix action ids with workflow name
Issue #636 - Go SDK: SetTimeout should accept time.Duration
time.Duration
will provide more flexibility and precision in setting timeouts, enhancing the SDK's usability.Issue #629 - User guide documentation updates
Issue #641 - chore(deps): bump google.golang.org/api from 0.185.0 to 0.186.0
Issue #638 - fix: correct lengths on random.Generate
Issue #635 - fix: make rabbitmq connection optional and disable for token generation
Issue #634, #633, #632, #631, #630, and others closed within the last few days.
The recent activity in the hatchet-dev/hatchet repository includes critical updates that enhance functionality, security, and user experience. The development team remains proactive in addressing issues promptly, which is a positive indicator for the project's health.
The hatchet-dev/hatchet repository has seen significant progress over the past 7 days with numerous bug fixes, feature enhancements, and dependency updates. The development team remains responsive and proactive in addressing issues, which bodes well for the project's future stability and usability.
This report captures only activity since the last analysis 7 days ago, focusing on new developments while providing context from previously closed issues where relevant.
This pull request refactors the hatchet-engine
to be runnable with a configuration object (server.ServerConfig
) instead of a loader object (loader.ConfigLoader
). The changes include:
RunWithConfig
Function: A new function RunWithConfig
is introduced to handle the engine's execution using the server.ServerConfig
object.Teardown
struct fields are made public (Name
and Fn
) to facilitate their use outside the package.RunWithConfig
function, which returns a list of teardown functions.RunWithConfig
.Run
function is simplified to call RunWithConfig
and handle the returned teardown functions.cmd/hatchet-engine/engine/run.go
Imports:
server.ServerConfig
.Teardown Struct:
name
and fn
are renamed to Name
and Fn
, respectively, making them public.Function Run
:
RunWithConfig
, and handle teardown.New Function RunWithConfig
:
Clarity and Readability:
Run
) is now more concise, focusing on high-level logic.RunWithConfig
encapsulates detailed initialization logic, making it easier to understand and maintain.Error Handling:
Modularity:
Teardown
struct allow for better integration with other parts of the codebase.Maintainability:
RunWithConfig
), future modifications can be localized, reducing the risk of introducing bugs.Performance Considerations:
Testing and Validation:
RunWithConfig
.The refactor in PR #640 is well-executed, improving code clarity, modularity, and maintainability without altering core functionality or performance characteristics. It adheres to good coding practices by encapsulating complex logic into a dedicated function and maintaining consistent error handling throughout. Further testing should be conducted to ensure comprehensive coverage of the new implementation.
Since the previous analysis conducted 7 days ago, there has been significant activity in the repository with various pull requests being opened and closed. Here's a detailed report on the changes:
PR #640: refactor: make engine runnable with config instead of loader
cmd/hatchet-engine/engine/run.go
(+87, -71)PR #639: feat: check security service
cmd/hatchet-admin/cli/token.go
, cmd/hatchet-api/api/run.go
, and others.PR #629: User guide documentation updates
frontend/docs/pages/home/features/cancellation.mdx
, frontend/docs/pages/home/features/child-workflows.mdx
, and others.PR #541: Feat retry delay
api-contracts/workflows/workflows.proto
, internal/repository/prisma/dbsqlc/models.go
, and others.PR #501: docs: format go snippet
frontend/docs/pages/home/features/on-failure-step.mdx
(+22, -22)PR #493: docs: Docker compose update
frontend/docs/pages/self-hosting/docker-compose.mdx
(+3, -3)PR #641: chore(deps): bump google.golang.org/api from 0.185.0 to 0.186.0 -State Closed -Created/Closed0 days ago -Description Updates Golang API dependency to version 0.186.0.
PR#638fixcorrectlengthsonrandomGenerate -Stateclosed -Created/Closed1dayago -Description**Fixeslengthofrandomgeneratorsforgeneratingacookiehashandblockkey
3.PR#635fixmakerabbitmqconnectionoptionalanddisablefortokengeneration
-Stateclosed
-Created/Closed1dayago
-Description**Addsoptiontooverrideconfigvaluesintheconfigloaderanddisablestherabbitmqconnectionfromtheapi-token
command
4.PR#634feat(encryption)addStringvariantsusingbase64 -Stateclosed -Created/Closed2daysagoedited1dayagoclosed1dayagoMergedbyLucaSteebsteebchen1dayagoAddsstringmethodswhichusebase64internallytoeasilyreadandwritestringsfrom/tothedatabase
5.PR#633refactor(random)refactorrandomstringgeneration -Stateclosed -Created/Closed2daysagoedited1dayagoclosed1dayagoMergedbyLucaSteebsteebchen1dayagoRefactorrandomstringgenerationincludingmovingmethodtonewrandompackageandaddingtests
6.PR#632Featdynamiclimits -Stateclosed -Created/Closed2daysagoclosed2daysagoMergedbyGabeRuttnergrutt2daysagoExposesmapforcustomlimits
7.PR#631feat(frontend)cloudapiintegration -Stateclosed -Created/Closed2daysagoedited1dayagoclosed1dayagoDraftNotmergedAddsadditionalAPIclienttothefrontendfortheHatchetCloudAPI
8.PR#630chore(deps)bumpgithubcomgo-co-opgocronv2from260to270 -Stateclosed -Created/Closed2daysagoclosed2daysagoMergedbyNonegithub-actionsbot2daysagoUpdatesGoCrondependencytoversion270
9.PR#628chore(deps)bumpgithubcomgo-co-opgocronv2from250to260 -Stateclosed -Created/Closed5daysagoclosed5daysagoMergedbyNonegithub-actionsbot5daysagoUpdatesGoCrondependencytoversion260
10.PR#627fix(worker)deprecateOninfavorofRegisterWorkflow
-Stateclosed
-Created/Closed6daysagoedited0daysagoclosed0daysagoMergedbyLucaSteebsteebchen0daysagoDeprecatesOn
methodinfavorofRegisterWorkflow
11.PR#626docs(typescript)fiximports -Stateclosed -Created/Closed6daysagoclosed6daysagoMergedbyLucaSteebsteebchen6daysagoFixesinvalidimportsinTypescriptSDKdocumentation
12.PR#625docs(ts)adaptsomeinvalidimports -Stateclosed -Created/Closed6daysagoclosed6daysagonotmergedFixesinvalidimportsinTypescriptSDKdocumentation
13.PR#624featbilling -Stateclosed -Created/Closed6daysagoedited1dayagoclosed1dayagoMergedbyNoneabelanger51dayagoAddsnewbillingfeaturewithvariousimprovementsandfixes
14.PR#623style(navbar)usecursorpointerfornavbarlinks -Stateclosed -Created/Closed7daysagoedited1dayagoclosed1dayagoMergedbyNoneabelanger51dayagoUsesapointercursorfornavitemsinthenavigationbar
15.PR#622fixclosecreateeventdialogonsuccessCreateeventdialogshouldclosewheneventissuccessfullycreated
16.PR#621docstypescriptsdkdocsoverhaulOverhaulstheTypescriptSDKdocssothey'resimilartothePythonSDKdocsTake note of current TODOs
17.PR#620chore(migrate)improvemigratetaskImprovementsinmigratetaskincludingusingthealreadyprovidedmigrationnameintheprismamigrationandnotattemptingtocreateanewmigrationingenerate-sqlc
18.PR#619docsremoverequestaccesslinksRemovesrequestaccesslinksinvariousdocumentationpages
19.PR#618wwmergeMergesmainintowebhook-workersbranchwithvariousfixesandimprovements
20.PR#617featadduri-basedfilteringStoresfiltersinthesearchparamsso reloads/backbuttons will maintain filtered state
github.com/hatchet-dev/hatchet
.github.com/Masterminds/semver
, github.com/fatih/color
, github.com/google/go-github
, etc. These are well-known and widely used packages in the Go ecosystem.worker
.fmt
and github.com/hatchet-dev/hatchet/pkg/client/types
.Service
struct with fields for Name
, middlewares
, and Worker
.On
method as deprecated in favor of RegisterWorkflow
.On
within RegisterWorkflow
.WebhookWorker
, WebhookWorkerCreated
, WebhookWorkerCreateRequest
, etc.$ref
to reference common components like metadata, promoting reusability.required
keyword.minLength
for the secret key.webhookworker
.echo
, gen
, transformers
, etc.WebhookCreate
function to handle webhook creation requests.useState
, useQuery
, useMutation
) for state management and API interactions.encryption
.random
.Severity: High (3/3)
Rationale
This bug can lead to significant workflow reliability issues, causing unexpected behavior and potentially duplicating actions that should only occur once.
Next Steps
Severity: Medium (2/3)
Rationale
Disagreements can indicate deeper issues within the team that may affect productivity and project direction.
Next Steps
Severity: Medium (2/3)
Rationale
Frequent changes to the same files can indicate instability or unclear requirements, which may introduce bugs or inconsistencies.
Next Steps
Severity: Medium (2/3)
Rationale
Ambiguity in specifications can lead to misaligned implementations and wasted effort.
Next Steps
Severity: Low (1/3)
Rationale
While not urgent, leaving PRs open without updates can indicate potential bottlenecks in the review process.
Next Steps