Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
12 KiB
@workflow/swc-plugin
4.1.1
Patch Changes
-
#1944
a9cc1d5Thanks @TooTallNate! - Fix three bugs affecting nested step functions that get hoisted out of an enclosing function (workflows in any declaration form, plus regular factory-style functions returning objects with step methods):- Module-level imports referenced only by hoisted step bodies were stripped by dead-code elimination, causing a
ReferenceErrorat runtime. - The step ID generated for nested anonymous steps inside a non-exported workflow declared as
const foo = async () => {}orconst foo = async function() {}was not namespaced under the workflow name in step mode, so it did not match the ID looked up by the workflow-mode proxy and caused a runtime "step not found" failure. Steps insideasync function foo()workflows were already namespaced correctly; this brings the const-arrow and const-fn-expression forms into agreement. - The
__internal_workflowsmanifest comment reported nested anonymous step IDs without the workflow-name prefix even though the runtime registration and proxy lookup used the prefixed form, so downstream tooling (e.g. builders consuming the manifest) saw the wrong step ID.
- Module-level imports referenced only by hoisted step bodies were stripped by dead-code elimination, causing a
-
#1935
6aabd6fThanks @TooTallNate! - Fixargumentsbeing incorrectly captured as a closure variable in nestedfunction-form step bodies, which previously produced invalid output. -
#1935
6aabd6fThanks @TooTallNate! - Supportthisreferences inside nested arrow"use step"functions. Requires the enclosing class to have custom serialization.
4.1.0
Patch Changes
- #1640
8890b33Thanks @VaguelySerious! - Stable release
4.1.0-beta.22
Patch Changes
-
#1599
5d22e61Thanks @TooTallNate! - Fix class expression method registrations to use binding name instead of internal class name, preventingReferenceErrorat runtime for pre-bundled packages -
#1601
7c996a7Thanks @TooTallNate! - Rewrite anonymousexport default classto aconstdeclaration so the class has an accessible binding name for serde/step registration code
4.1.0-beta.21
Patch Changes
-
#1503
77fd9adThanks @TooTallNate! - Inline class serialization registration instead of importing fromworkflow/internal/class-serialization. This eliminates the dependency on theworkflowpackage in SWC-generated code, enabling 3rd-party packages (like@vercel/sandbox) to define serializable classes without needingworkflowas a dependency. -
#1144
992d768Thanks @TooTallNate! - Add class registration detection for CommonJS syntax
4.1.0-beta.20
Patch Changes
- #1368
5d95abfThanks @TooTallNate! - Fix closure variable detection fornewexpressions, exclude module-level declarations from being over-captured, preserve original step function bodies in enclosing functions for direct calls, and walk into nested function/method bodies to detect deeply nested closure variable usage
4.1.0-beta.19
Patch Changes
- #1312
d72c822Thanks @NathanColosimo! - Fix bug where the SWC compiler bug prunes step-only imports in the client-mode transformation
4.1.0-beta.18
Patch Changes
- #991
054e40cThanks @TooTallNate! - Fix anonymous class expression names for serialization classes
4.1.0-beta.17
Patch Changes
-
#923
ef23b0bThanks @TooTallNate! - Fix step functions nested multiple levels deep in an object -
#924
fcfaf8bThanks @TooTallNate! - SetstepIdproperty on step functions in "client" mode for serialization support
4.1.0-beta.16
Patch Changes
-
#901
35a9f0cThanks @TooTallNate! - Fix module specifier cache bug and add subpath export resolution for package IDs -
#872
b9c782dThanks @TooTallNate! - Fix class ID generation when class is bound to a variable -
#874
b5296a7Thanks @TooTallNate! - Add discovered serializable classes in all context modes -
#777
c1d7c8dThanks @TooTallNate! - Add support for "use step" functions in class instance methods -
#899
73bf7beThanks @TooTallNate! - Change compiler ID generation logic to use Node.js import specifiersIDs for workflows, steps, and classes now use module specifiers:
- Local files use
./path/to/fileformat instead ofpath/to/file.ext - Package files use
packageName@versionformat (e.g.,workflow@4.0.1)
This enables stable IDs across different package.json export conditions.
- Local files use
-
#859
8114792Thanks @TooTallNate! - Add discovery for custom classes with workflow serialization
4.1.0-beta.15
Minor Changes
- #621
4966b72Thanks @pranaygp! - BREAKING: Storage interface is now read-only; all mutations go throughevents.create()- Remove
cancel,pause,resumefromruns - Remove
create,updatefromruns,steps,hooks - Add run lifecycle events:
run_created,run_started,run_completed,run_failed,run_cancelled - Add
step_createdevent type - Remove
fatalfield fromstep_failed(terminal failure is now implicit) - Add
step_retryingevent with error info for retriable failures
- Remove
Patch Changes
-
#866
244b94aThanks @TooTallNate! - Add support for top-levelusingdeclarations inside of step / workflow functions -
#864
81c5a83Thanks @TooTallNate! - Add "classes" object tomanifest.jsonfile -
#860
b4113daThanks @TooTallNate! - Enable custom class serialization transformations for "client" mode
4.0.1-beta.14
Patch Changes
- #762
1843704Thanks @TooTallNate! - Add support for custom class instance serialization
4.0.1-beta.13
Patch Changes
-
#754
7906429Thanks @TooTallNate! - Add support for class reference serialization -
#753
a2fc53aThanks @TooTallNate! - Support class static methods with "use step" / "use workflow"
4.0.1-beta.12
Patch Changes
fa37d26: SetworkflowIdproperty directly after function declarationsf46c51e: Apply workflow transformation withexport { fnName }syntaxaf5b005: SetworkflowIdproperty in workflow mode for non-exported workflow functions43f2dec: Improved workflow registration in workflow mode- SWC plugin now emits
globalThis.__private_workflows.set(workflowId, fn)directly after settingworkflowId - Non-exported workflow functions are now properly registered and can be invoked
- Removed runtime iteration over exports in the workflow bundle - registration happens at transform time
- Simplified virtual entry generation in base-builder
- SWC plugin now emits
4.0.1-beta.11
Patch Changes
ac7997b: Update to latest swc/core and preserve JSX
4.0.1-beta.10
Patch Changes
555d7a6: Normalize anonymous default export workflow IDs to "default"
4.0.1-beta.9
Patch Changes
5b91861: Apply workflow function transformation in "step" mode0cacb99: Support nested "use step" declarations in non-workflow functions
4.0.1-beta.8
Patch Changes
fb9fd0f: Add support for closure scope vars in step functions8b470f0: Apply SWC transformation on step functions returned from factory function
4.0.1-beta.7
Patch Changes
e5c5236: Fix default export workflow function transformation in workflow mode
4.0.1-beta.6
Patch Changes
5eb588a: Remove step function identifier transform out of swc-plugin and intouseStep()runtime function0b848cd: Fix compiler warnings45b7b41: Support nested anonymous step functionsf8e5d10: Support serializing step function references8002e0f: Add support for step functions defined as object propertiesf07b2da: Transform step functions to singleuseStep()callsaecdcdf: Add support for step functions nested inside of workflow functions
4.0.1-beta.5
Patch Changes
4f9ae4e: Remove step transformation in client mode
4.0.1-beta.4
Patch Changes
e0c6618: Specify import path ofstartfunction on error in SWC plugin
4.0.1-beta.3
Patch Changes
4a821fc: Fix Windows path handling by normalizing backslashes to forward slashes in workflow IDs4a821fc: Fix building SWC plugin on Windows
4.0.1-beta.2
Patch Changes
f973954: Update license to Apache 2.0
4.0.1-beta.1
Patch Changes
- 1408293: Add "description" field to
package.jsonfile - e46294f: Add "license" and "repository" fields to
package.jsonfile
4.0.1-beta.0
Patch Changes
- fcf63d0: Initial publish