Skip to content

inngest@3.0.0

Compare
Choose a tag to compare
@inngest-release-bot inngest-release-bot released this 04 Oct 22:35
· 540 commits to main since this release
1239e5a

Major Changes

  • #294 f2f4856 Thanks @jpwilliams! - Clients and functions now require IDs

    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.

    See the v3 migration guide.

  • #294 f2f4856 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.

    See the v3 migration guide.

  • #294 f2f4856 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.

    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 removed

    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.

    See the v3 migration guide.

  • #294 f2f4856 Thanks @jpwilliams! - All steps require IDs

    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.

    See the v3 migration guide.

Patch Changes

  • #333 67bda66 Thanks @goodoldneon! - (Internal) Fix missing name on NonRetriableError, ensuring it's correctly (de)serialized