This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
When instantiating a client using new Inngest() or creating a function via inngest.createFunction(), it's now required to pass an id instead of a name.
Previously only name was required, but this implied that the value was safe to change. Internally, we used this name to produce an ID which was used during deployments and executions.
#294f2f4856 Thanks @jpwilliams! - Refactored available environment variables and configuration
The arrangement of environment variables available has shifted a lot over the course of v2, so in v3 we've streamlined what's available and how they're used.
#294f2f4856 Thanks @jpwilliams! - In v2, providing a fns option when creating a function -- an object of functions -- would wrap those passed functions in step.run(), meaning you can run code inside your function without the step.run() boilerplate.
This wasn't a very well advertised feature and had some drawbacks, so we're instead replacing it with some optional middleware.
#294f2f4856 Thanks @jpwilliams! - Serving functions could become a bit unwieldy with the format we had, so we've slightly altered how you serve your functions to ensure proper discoverability of options and aid in readability when revisiting the code.
inngest.createFunction() can no longer take a string as the first or second arguments; an object is now required to aid in the discoverability of options and configuration.
When using any step.* tool, an ID is now required to ensure that determinism across changes to a function is easier to reason about for the user and the underlying engine.
The addition of these IDs allows you to deploy hotfixes and logic changes to long-running functions without fear of errors, failures, or panics. Beforehand, any changes to a function resulted in an irrecoverable error if step definitions changed. With this, changes to a function are smartly applied by default.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
inngest@3.0.0
Major Changes
#294
f2f4856
Thanks @jpwilliams! - Clients and functions now require IDsWhen instantiating a client using
new Inngest()
or creating a function viainngest.createFunction()
, it's now required to pass anid
instead of aname
.Previously only
name
was required, but this implied that the value was safe to change. Internally, we used this name to produce an ID which was used during deployments and executions.See the v3 migration guide.
#294
f2f4856
Thanks @jpwilliams! - Refactored available environment variables and configurationThe arrangement of environment variables available has shifted a lot over the course of v2, so in v3 we've streamlined what's available and how they're used.
See the v3 migration guide.
#294
f2f4856
Thanks @jpwilliams! - In v2, providing afns
option when creating a function -- an object of functions -- would wrap those passed functions instep.run()
, meaning you can run code inside your function without thestep.run()
boilerplate.This wasn't a very well advertised feature and had some drawbacks, so we're instead replacing it with some optional middleware.
See the v3 migration guide.
#294
f2f4856
Thanks @jpwilliams! - Serving functions could become a bit unwieldy with the format we had, so we've slightly altered how you serve your functions to ensure proper discoverability of options and aid in readability when revisiting the code.See the v3 migration guide.
#294
f2f4856
Thanks @jpwilliams! - Shorthand function creation removedinngest.createFunction()
can no longer take a string as the first or second arguments; an object is now required to aid in the discoverability of options and configuration.See the v3 migration guide.
#294
f2f4856
Thanks @jpwilliams! - All steps require IDsWhen using any step.* tool, an ID is now required to ensure that determinism across changes to a function is easier to reason about for the user and the underlying engine.
The addition of these IDs allows you to deploy hotfixes and logic changes to long-running functions without fear of errors, failures, or panics. Beforehand, any changes to a function resulted in an irrecoverable error if step definitions changed. With this, changes to a function are smartly applied by default.
See the v3 migration guide.
Patch Changes
67bda66
Thanks @goodoldneon! - (Internal) Fix missing name onNonRetriableError
, ensuring it's correctly (de)serialized