# What changed in @effect/tsgo

> 238 changes in @effect/tsgo 0.0 to 0.55 from its official release notes, upgrade guides and advisories: 6 breaking, 5 deprecations, 32 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/npm/@effect/tsgo/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @effect/tsgo 0.55

### Tooling

- Adds an opt-in effectNative diagnostic suggesting effect/String counterparts for native String method invocations. It defaults to off; the effect-native preset enables it as a warning. (0.55.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.55.0)

## @effect/tsgo 0.54

### Tooling

- Adds a diagnostic warning when an object literal is checked as a Schema class instance, since it lacks the class prototype needed for runtime behavior. (0.54.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.54.0)

## @effect/tsgo 0.53

### New APIs and options

- Adds the `identifier` pattern, which makes the expected deterministic key the class name alone. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)
- Can now be set in per-file overrides; import tooling and diagnostics use the value resolved for the current file, with a scoped value replacing the base value. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)
- Can now be set in per-file overrides; import tooling and diagnostics use the value resolved for the current file, with a scoped value replacing the base value. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)
- Can now be set in per-file overrides; import tooling and diagnostics use the value resolved for the current file, with a scoped value replacing the base value. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)
- Adds an off-by-default diagnostic for imports of individual modules from packages configured in `barrelImportPackages`; it has no quick fix. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)
- Adds an off-by-default diagnostic for named imports from packages configured in `namespaceImportPackages`; it has no quick fix. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)

### Performance

- The rule allocates less memory by creating findings maps only when needed and reusing stored maps when a re-check adds nothing. (0.53.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.2)
- Namespace export checks re-check only unresolved results reached by that member, reducing repeated work for namespaces with many members. (0.53.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.2)
- Diagnostics require less work by checking node shapes before querying types, symbols, or signatures and computing types only when a step can still report; reported diagnostics are unchanged. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)

### Behavior and default changes

- Barrels are now discovered from package files rather than a built-in Effect path list; auto-import no longer rewrites modules without a forwarding barrel or imports already from a barrel. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)
- The rule now computes keys for files without a package.json or whose nearest package.json has no name, using the available project directory to determine the sub-directory segment. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)
- Can now be set in per-file overrides; import tooling and diagnostics use the value resolved for the current file, with a scoped value replacing the base value. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)

### Tooling

- Now reports Effect.runSyncExit and Effect.runPromiseExit calls inside an Effect and offers quick fixes for Effect v3 and v4. (0.53.5) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.5)
- With --format json, diagnostics that have related locations now include a relatedInformation array; --format pretty prints those locations beneath the diagnostic with code snippets. (0.53.3) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.3)
- Adds a diagnostic for inline `name` payload fields on Effect error classes that can hide the error type in logs. (0.53.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.0)

### Fixes and other changes

- With --format pretty, the ~ markers are now aligned correctly on lines 10 and above. (0.53.3) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.3)
- The rule keeps only an innermost warning when it reports every channel of the outer warning with the same any or unknown; outer unknown warnings remain when inner expressions only have any. (0.53.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.2)
- The rule reports a problem once when a declaration and its name share a type, reporting the initializer rather than both the variable name and initializer. (0.53.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.2)
- The rule checks one node when pairs of nodes share a type, so problems are reported once rather than on both a declaration and its name. (0.53.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.2)
- Avoids TS2589 and follow-on type errors in generic calls while correctly reporting experimental API usage in inferred constraints, array and rest-parameter constraints, and nested generic-call arguments. The same fix applies to unstableApiUsage. (0.53.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.53.1)

## @effect/tsgo 0.52

### Breaking changes

- Removes the debug plugin option and the debug-only Flows group from the document outline. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Go collection views replace direct collection access; flow.Transformations[i] becomes flow.Transformations().At(i), with iteration and explicit owned copies supported. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Go parser results expose fields through getters, so result.A becomes result.A(). (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)

### New APIs and options

- Adds an opt-in effectNative diagnostic suggesting corresponding Effect Array APIs for native Array calls and references; it is off by default and enabled as a warning by the effect-native preset. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Adds an opt-in effectNative diagnostic suggesting Effect Record APIs for native Object calls and references; it is off by default and enabled as a warning by the effect-native preset. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Effect v4 schema class completions now include a readonly unique-symbol brand type argument; Effect v3 and Model.Class completions retain their existing type arguments. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Adds a correctness suggestion enabled by default for Effect v4 schema classes, errors, and opaque classes when the second brand type argument is omitted; explicit {} suppresses it. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)

### Behavior and default changes

- The latest TypeScript version now resolves to lib/tsc, while other versions resolve to their versioned artifacts path; tools running lib/tsc directly keep working. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)

### Tooling

- Adds a style suggestion and quick fix that replaces safe zero-duration Effect.sleep calls with Effect.yieldNow for Effect v3 or Effect.yieldNow() for Effect v4. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Adds a style suggestion and quick fix to use Effect.tap when callbacks run an effect and restore their unchanged parameter with terminal Effect.as or Effect.map. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Adds an opt-in diagnostic suggesting Schema.TaggedError for Effect v3 and v4 class declarations extending Data.TaggedError, including anonymous default exports. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Effect v4 completions for Schema.Opaque now include a branded completion. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)

### Fixes and other changes

- The refactor no longer crashes when gen is a named import or local alias; it rewrites to Effect.fn using an existing Effect import name and does not add a missing import. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Experimental or unstable API checks skip inference-blocked contextual queries inside inferred generator expressions, preventing false iterator and object-spread diagnostics but potentially omitting constraint-based property warnings there. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Effect.fn and async-to-Effect refactors now replace nested functions in place rather than overwriting their containing value, and catch-binding defaults no longer crash code actions. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Diagnostics now report experimental and unstable properties supplied in contextually typed object literals, including shorthand properties, even when the function and interface are stable. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Data.TaggedError and Schema.TaggedError completions now use configured keyPatterns so inserted tags match the key expected by deterministicKeys. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Effect diagnostics now run after TypeScript checks unused identifiers, preventing plugin symbol queries from suppressing TS6133. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Dispatch analysis recognizes both Predicate.isTagged call forms as tag comparisons, so existing catch-tag diagnostics and quick fixes handle them in Effect v3 and v4. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)
- Avoids false delete diagnostics for valid index-signature properties, including parenthesized and optional targets, while invalid required-property and readonly deletes still report compiler errors. (0.52.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.52.0)

## @effect/tsgo 0.51

### Tooling

- Diagnostics on stable exports that expose experimental types now include a child pointing to the type's declaration, including when it is in another file. (0.51.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.51.0)

### Fixes and other changes

- Inherited bases whose public members are all optional and explicitly stability-tagged are ignored, including through augmentations and superclass factories; direct properties and parameters typed as those bases remain checked. (0.51.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.51.0)
- Properties and methods marked `@internal` are excluded from the public surface during leak checks. (0.51.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.51.0)

## @effect/tsgo 0.50

### New APIs and options

- Adds a preset that enables apiStabilityLeak as a warning. (0.50.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.50.0)

### Tooling

- Adds an opt-in diagnostic that reports public exports exposing APIs with less stable stability tags. It is off by default and can be configured directly. (0.50.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.50.0)

## @effect/tsgo 0.49

### Behavior and default changes

- Plugin option and diagnostic severity resolution now accept rooted source and config file paths directly. (0.49.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.49.0)

### Tooling

- TypeScript 7.0.2 remains supported through adapters for the legacy typescript-go provider. (0.49.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.49.0)

### Fixes and other changes

- Effect options are preserved through upstream option cloning and comparison. (0.49.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.49.0)
- Include patterns now work for files in filesystem roots. (0.49.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.49.0)

## @effect/tsgo 0.48

### New APIs and options

- Selectively allow experimental declaration modules or exported APIs, with per-file overrides and declaration-based diagnostic names. (0.48.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.48.0)
- Selectively allow unstable declaration modules or exported APIs, with per-file overrides and declaration-based diagnostic names. (0.48.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.48.0)

### Tooling

- Packaged TypeScript compilers omit embedded standard libraries and ship matching `lib.*.d.ts` files so editor go-to-definition opens real library files; direct executable use keeps `diagnostics` and `get-exe-path` working. (0.48.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.48.0)

### Fixes and other changes

- Allow-list entries using package/module#exportName now match overloaded dual exports with their own @stability tag; unlisted exports warn under that name. (0.48.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.48.1)
- Allow-list entries using package/module#exportName now match overloaded dual exports with their own @stability tag; unlisted exports warn under that name. (0.48.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.48.1)

## @effect/tsgo 0.47

### Behavior and default changes

- Namespace auto-imports for nested Effect modules now resolve to public module paths such as effect/cli/Prompt. (0.47.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.47.0)

### Tooling

- Adds a diagnostic that warns by default when APIs marked with @stability experimental are used. (0.47.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.47.0)
- Adds a diagnostic that warns by default when APIs marked with @stability unstable are used. (0.47.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.47.0)

### Fixes and other changes

- Fixes a panic on the default of a dynamically imported export = or JSON module. (0.47.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.47.2)
- Fixes a panic on the default of a dynamically imported export = or JSON module. (0.47.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.47.2)
- The command can now run without the deprecated --force flag. (0.47.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.47.1)
- Discovers installed Oxlint musl bindings without rejecting them before component selection, so TypeScript-only commands work on Alpine Linux; unsupported replacements are reported during patch preparation, allowing --skip-missing and restoring original binaries with unpatch. (0.47.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.47.0)

## @effect/tsgo 0.46

### New APIs and options

- Adds a matching count of files whose tsconfig does not enable the language-service plugin to the JSON summary. (0.46.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.1)
- Unknown Effect rule names now produce an effect(unknownRuleName) diagnostic, including in overrides and inherited configurations; set unknownRuleName to off to disable it or error to raise its severity. (0.46.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.0)
- Adds a diagnostic preset that promotes every default-enabled diagnostic to an error, with the complete preset catalog exposed consistently through TypeScript setup and generated Oxlint presets. (0.46.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.0)

### Tooling

- Reports files skipped because their tsconfig does not enable the language-service plugin, rather than only reporting that zero files were checked. (0.46.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.1)
- Adds a diagnostic and quick fix to replace direct _tag equality predicates in Effect.catchIf with Effect.catchTag. (0.46.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.0)
- Adds a v4-only diagnostic suggesting Effect.tapError for handlers that sequence an effect and then fail with the original, unmodified error; generator handlers and selective catches are excluded. (0.46.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.0)
- Existing diagnostics now recognize Effect APIs referenced through constant aliases, and quick fixes rebuild the replacement API from the source file's imported module name without modifying the shared alias. (0.46.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.0)
- Adds a diagnostic and quick fix to replace zero-parameter Effect.flatMap callbacks that return an existing constant Effect value with Effect.andThen. (0.46.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.0)

### Fixes and other changes

- Preserves Effect plugin options in the Oxlint integration when tsconfig.json uses extends, whether options are inherited or declared locally. (0.46.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.1)
- Conversions preserve enclosing expressions, sibling declarations, comments, literal spelling, and formatting; avoid unsafe suggestions and correctly wrap non-call pipe arguments while retaining factory calls. (0.46.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.1)
- Deduplicates diagnostics when multiple union members display the same type name. (0.46.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.1)
- Restores compatibility with TypeScript 7.1.0-dev.20260924.1. (0.46.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.46.0)

## @effect/tsgo 0.45

### Tooling

- Adds an opt-in diagnostic that recommends Effect-based Schema decoding and encoding over synchronous methods; enabled by the effect-native preset. (0.45.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.45.0)

## @effect/tsgo 0.44

### Deprecations

- Adds a diagnostic warning about importing @effect/match in projects targeting Effect v4, where pattern matching is built into effect. (0.44.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.44.0)
- Adds a diagnostic warning about importing @effect/schema in projects targeting Effect v4, where Schema is built into effect. (0.44.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.44.0)

### Tooling

- Adds a diagnostic and quick fixes suggesting Effect.timeoutOrElse or Effect.timeoutOption for matching timeout and TimeoutError-catching patterns, with safety conditions on the error channel and handler. (0.44.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.44.0)

### Fixes and other changes

- Fixes the Effect v4 diagnostic message and rule description to recommend the Effect Crypto module instead of Random for cryptographic UUID generation. (0.44.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.44.0)
- Fixes the Effect v4 diagnostic message and rule description to recommend the Effect Crypto module instead of Random for cryptographic UUID generation. (0.44.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.44.0)

## @effect/tsgo 0.43

### Tooling

- The rule now recommends Effect-native alternatives for console, timers, stream, and their listed submodules, including node: imports. (0.43.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.43.0)
- For Effect v4, the rule now diagnoses crypto and node:crypto imports and recommends the Crypto service; Effect v3 crypto imports remain allowed. (0.43.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.43.0)

### Fixes and other changes

- The Effect v4 recommendation for child_process now points to effect/unstable/process. (0.43.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.43.0)

## @effect/tsgo 0.42

### Breaking changes

- Parsing is synchronous and non-generator by default; callers can use flags to explicitly accept thunks, async functions, or generators. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)

### Behavior and default changes

- Keeps type arguments on parenthesized pipe arguments and normalizes verified curried pipeable applications, while leaving unrelated curried APIs unchanged. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)
- An explicit promise-success annotation anywhere in the surrounding pipe now suppresses this diagnostic, not only when it appears in the last argument. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)

### Tooling

- Now detects data-last Effect.all forms expressed through piping flows; the existing quick fix remains limited to standalone Effect.all calls it can safely rewrite. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)
- Adds a style diagnostic and quick fix for replacing manual tagged-error dispatch with Effect.catchTag or Effect.catchTags. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)
- Adds a style diagnostic and quick fix for replacing Effect.matchEffect handlers that return Effect.fail and Effect.succeed with Effect.mapBoth. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)
- Adds a style diagnostic and quick fix for replacing Effect.matchEffect or Effect.matchCauseEffect handlers that only return Effect.succeed with non-effectful counterparts. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)
- Adds a style diagnostic and quick fix for replacing inline Layer.succeed and Layer.effect provision with direct service provision. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)
- Adds a diagnostic that replaces Effect.runPromise applied to Effect.exit with the dedicated Effect.runPromiseExit runner. (0.42.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.42.0)

## @effect/tsgo 0.41

### Breaking changes

- Type-only TypeParser operations no longer take an AST location parameter; they derive instantiated property types from the supplied checker type. (0.41.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.41.0)

## @effect/tsgo 0.40

### Tooling

- Reclassifies this diagnostic as style. (0.40.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.40.0)
- Adds a style diagnostic suggesting Effect.timeoutOrElse when a first-completion race has exactly one Effect.sleep- or Effect.delay-based timer arm. (0.40.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.40.0)
- Reclassifies this diagnostic as correctness. (0.40.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.40.0)

### Fixes and other changes

- Stops reporting this diagnostic when Schema.Number is refined with the built-in isFinite or isInt checks, including pipe-style refinements. (0.40.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.40.0)

## @effect/tsgo 0.39

### New APIs and options

- Exposes piping-flow extraction through etsgoapi.TypeParser so external Go integrations can consume the analysis without importing internal packages. (0.39.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.39.0)

### Tooling

- Adds a rule that replaces manual disposal finalizers passed to Effect.acquireRelease with Effect.acquireDisposable. (0.39.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.39.0)
- Adds a diagnostic and quick fix that replaces identity-succeed Effect.flatMap conditionals with Effect.filterOrFail or Effect.filterOrElse. (0.39.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.39.0)
- Adds a diagnostic and quick fix for Option-to-Effect conversions that can use Effect.fromOption, preserving custom failures in a lazy callback. (0.39.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.39.0)
- Adds a diagnostic and autofix that replaces Effect.succeed(Option.none()) and Effect.succeed(Option.some(value)), including equivalent pipe forms, with Effect.succeedNone and Effect.succeedSome(value). (0.39.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.39.0)

### Fixes and other changes

- The Effect language-service plugin now supports SchemaStore's draft-07 nullable schema representation when injecting its schema. (0.39.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.39.1)

## @effect/tsgo 0.38

### Behavior and default changes

- Data-first calls now normalize to the same piping-flow representation as pipeable calls, including when overloads reorder generic parameters or return a generic union. (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)

### Tooling

- Adds a style diagnostic suggesting Effect.forEach(values, callback, options) instead of Effect.all(values.map(callback), options). (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)
- Adds a style diagnostic suggesting Effect.orDie when a catch-all handler forwards its typed failure unchanged to Effect.die. (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)
- Adds a diagnostic for conditional catch handlers that re-fail their untouched input, suggesting catchIf, catchCauseIf, or catchTag. (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)
- Adds a diagnostic and quick fix replacing Effect.map(Option.some) and its exact eta-expanded form with Effect.asSome in pipeable and data-first flows. (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)
- The diagnostic and quick fix now also recognize identity-forwarding function expressions; annotated or optional mapper parameters and explicit inner Option.some type arguments remain excluded. (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)

### Fixes and other changes

- The diagnostic now detects and correctly fixes data-first Effect.map(self, () => {}) calls as well as the existing data-last form. (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)
- Corrects supportedEffect metadata to v3 only, so Effect v4 users no longer enable a rule that cannot run for them. (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)
- Corrects supportedEffect metadata to include v3 and v4, reflecting the rule's support for Effect v4. (0.38.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.38.0)

## @effect/tsgo 0.37

### Tooling

- The canonical TypeScript shim namespace supports both the legacy microsoft/typescript-go compiler and the migrated microsoft/TypeScript/tsc compiler. (0.37.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.37.0)

### Fixes and other changes

- The diagnostic is suppressed when merging chained pipe calls would exceed the available overload arity. (0.37.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.37.0)

## @effect/tsgo 0.36

### New APIs and options

- Recommended and category-specific shared configurations are now available for Oxlint. (0.36.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.0)

### Performance

- The walker-rule prefilter now uses cached signatures and return types for call expressions to skip expensive flow-analysis re-checks when a return type cannot be a strict Effect. (0.36.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.2)
- In tsc CLI mode without includeSuggestionsInTsc, rules below the minimum visible severity are skipped before execution unless a file directive references them. (0.36.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.2)
- The effectInFailure and promiseInEffectSuccess rules check declared types first and skip flow-type queries for references that cannot be strict Effect types. (0.36.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.2)

### Fixes and other changes

- Type-only heritage nodes are excluded from execution flow graphs across supported TypeScript versions. (0.36.5) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.5)
- Reports unsupported target package versions together with the current @effect/tsgo version and supported alternatives. (0.36.5) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.5)
- Declaration emit is allowed when all diagnostics are ignored Effect diagnostics, even with noEmitOnError enabled. (0.36.4) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.4)
- Refreshes patched binaries when an updated package provides a different replacement artifact. (0.36.3) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.3)
- Setup updates preserve existing indentation and newline styles in JSON configuration files. (0.36.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.36.1)

## @effect/tsgo 0.35

### Fixes and other changes

- Effect plugin options are persisted in TypeScript build information so incremental builds recheck semantic diagnostics when extended tsconfig plugin settings change. (0.35.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.35.0)
- Prevents the rule from panicking when a decoder input is produced by a preceding call or pipe transformation. (0.35.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.35.0)
- Avoids false positive TS2731 diagnostics for symbol-valued interpolations in tagged template literals traversed by Effect diagnostic rules. (0.35.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.35.0)

## @effect/tsgo 0.34

### Tooling

- Adds a non-interactive setup workflow with project, integration, diagnostic, editor, preview, and apply options. It recommends running the package manager install command whenever it changes package.json. (0.34.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.34.0)

## @effect/tsgo 0.33

### Tooling

- Adds a style suggestion recommending typed Schema decoder APIs when an input is assignable to the schema's encoded type. (0.33.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.33.0)
- Updates Schema class completions for the Error and TaggedError renames. (0.33.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.33.0)

### Fixes and other changes

- Suppresses auto-imports from blocked Effect internal modules. (0.33.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.33.0)

## @effect/tsgo 0.32

### Tooling

- Redundant Oxlint dependencies are no longer installed when Vite+ is present. (0.32.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.32.1)
- Oxlint's TypeScript declarations now include the effecttsgo plugin and its rule names. (0.32.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.32.0)

### Fixes and other changes

- Skip messages now identify components that have already been patched. (0.32.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.32.1)

## @effect/tsgo 0.31

### Tooling

- Adds a quick fix for floating Effects in yieldable Effect contexts. (0.31.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.31.0)

### Fixes and other changes

- Converting hand-rolled reason dispatch to Effect.catchReason or Effect.catchReasons now preserves narrowed wrapper error references. (0.31.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.31.0)

## @effect/tsgo 0.30

### Tooling

- When enabling the Oxlint integration, existing .oxlintrc.json files are configured to use the new Effect-aware Oxlint configuration schema. (0.30.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.30.0)

## @effect/tsgo 0.29

### Tooling

- Setup now lets developers select TypeScript and Oxlint integrations, pins supported Oxlint dependencies, and creates integration-aware prepare scripts. (0.29.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.29.0)

## @effect/tsgo 0.28

### Tooling

- The renamed etsoxlintrunner integration exposes Effect code actions as lazy Oxlint suggestions. (0.28.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.28.0)

## @effect/tsgo 0.24

### Tooling

- Hovering the asterisk or trailing space in a yield* expression now returns enhanced Effect quickinfo. (0.24.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.24.2)
- Adds an off-by-default diagnostic and quick fix to replace Schema.Schema.Type<typeof X> with typeof X.Type. (0.24.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.24.0)

### Fixes and other changes

- Packaged Unix binaries preserve executable permissions, allowing the diagnostics command to launch them after installation. (0.24.3) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.24.3)
- Avoids introducing TS2589 for assignments with recursive expected types and non-Effect values. (0.24.3) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.24.3)
- Ignores Effect v4 local `Effect.provide(..., { local: true })` calls when reporting chained provides. (0.24.3) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.24.3)
- Avoids excessive type-depth diagnostics when matching data-first and pipeable overloads with complex return types. (0.24.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.24.1)

## @effect/tsgo 0.23

### Tooling

- Adds a diagnostic and quick fix that replaces Effect.sync thunks returning stable constant values with Effect.succeed. (0.23.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.23.0)

### Fixes and other changes

- Avoids excessive type-depth diagnostics when checking complex non-Effect types, such as the return type of Remeda's chunk function. (0.23.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.23.0)

## @effect/tsgo 0.22

### Tooling

- Adds a diagnostic to prevent instance members in classes extending Schema.Opaque. (0.22.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.22.0)

## @effect/tsgo 0.21

### Tooling

- Adds an off-by-default diagnostic to audit exported fixed-arity functions without corresponding pipeable overloads. (0.21.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.21.0)

## @effect/tsgo 0.20

### Tooling

- Adds a command to report Effect diagnostics from a file or TypeScript project, with multiple output formats, severity filtering, progress reporting, strict warning handling, and inline language-service configuration. (0.20.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.20.0)
- Configures current TypeScript Go VS Code settings, including the workspace TypeScript SDK path and additional SDK locations. (0.20.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.20.0)

### Fixes and other changes

- Compositions now start from `Layer.empty` when the first layer does not provide a requested output service. (0.20.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.20.0)
- Configures TypeScript to use the installed local copy of the generated schema during setup. (0.20.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.20.0)

## @effect/tsgo 0.19

### Tooling

- Adds a diagnostic and quick fix that replaces Effect.flatMap callbacks which only wrap their result with Effect.succeed with Effect.map; supports pipe, pipeable, data-first, and data-last forms. (0.19.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.19.0)

## @effect/tsgo 0.18

### New APIs and options

- Adds --typescript-package <name> to select the TypeScript package to patch. (0.18.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.18.0)

### Behavior and default changes

- When resolving the native TypeScript package to patch, resolution automatically falls back from typescript to @typescript/native. (0.18.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.18.0)

### Fixes and other changes

- The command can skip TypeScript package aliases that lack package metadata needed for native binary matching. (0.18.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.18.1)

## @effect/tsgo 0.16

### New APIs and options

- Adds a public package with a narrow wrapper around the internal type parser for inspecting Effect, Layer, Stream, service, Context.Tag, Schema, union member, and YieldableError types. (0.16.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.16.0)
- Adds an ETS API helper to extract layer magic from caller-provided layer nodes. (0.16.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.16.0)

### Behavior and default changes

- Layer graph extraction can start from multiple nodes without exploding expressions. (0.16.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.16.0)

### Tooling

- Adds a diagnostic suggesting Effect.ignore or Effect.ignoreCause when Effect.catch or Effect.catchCause returns Effect.void on a void success channel. (0.16.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.16.0)

### Fixes and other changes

- Type lookup now guards against import clauses without a default binding, preventing a nil-symbol panic. (0.16.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.16.2)
- Checker, rule, refactor, and LSP symbol and type resolution now guard against meta properties, preventing panics on import.defer calls. (0.16.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.16.2)
- The checker no longer suggests unnecessaryEffectGen when a single-return generator contains nested yield* expressions. (0.16.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.16.1)

## @effect/tsgo 0.15

### Breaking changes

- The unused native API hook was removed from the patched TypeScript-Go API. (0.15.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.15.0)

### New APIs and options

- The `typescript` package at version 7 or later is supported as a native backend alongside `@typescript/native-preview`; versions below 7 are not treated as native. (0.15.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.15.0)

### Behavior and default changes

- These commands resolve the native TypeScript binary from either installed backend, trying `@typescript/native-preview` first and then `typescript` >= 7. (0.15.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.15.0)

### Tooling

- Setup points this VS Code setting at `node_modules/typescript` for the `typescript` backend and at `node_modules/@typescript/native-preview` otherwise. (0.15.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.15.0)

### Fixes and other changes

- Recognizes an existing `typescript` >= 7 install, avoids redundantly adding `@typescript/native-preview`, and writes the correct backend package to `package.json`. (0.15.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.15.0)

## @effect/tsgo 0.14

### Tooling

- Platform packages now publish the tsc binary built from generated/stable alongside tsgo built from main. (0.14.6) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.14.6)
- Adds a suggestion diagnostic for Effect v4 that recommends Schema.Finite and Schema.FiniteFromString over number schemas that also accept NaN and infinities. (0.14.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.14.0)

## @effect/tsgo 0.13

### New APIs and options

- Additional TypeScript-Go shims are exposed for module resolution. (0.13.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.13.1)

### Tooling

- Additional TypeScript-Go shims are exposed for language service quick info documentation. (0.13.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.13.1)
- Adds a diagnostic suggesting you hoist repeated trailing Effect.orDie calls from every yielded effect to the generator result. (0.13.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.13.0)

## @effect/tsgo 0.12

### Tooling

- Adds a diagnostic suggesting Effect.orElseSucceed in Effect v4 or Effect.catchAll in Effect v3 for Effect.catch(() => Effect.succeed(value)). (0.12.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.12.0)

## @effect/tsgo 0.11

### Deprecations

- Adds a diagnostic discouraging constructing Effect v4 Schema classes with new and suggesting SchemaClass.make(...) instead. (0.11.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.11.0)

### Fixes and other changes

- The diagnostic now allows generic zero-argument functions returning Effect values. (0.11.3) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.11.3)
- Fixes shim generation for mirrored struct fields that reference unexported named types. (0.11.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.11.2)

## @effect/tsgo 0.10

### Tooling

- The diagnostic now also detects lazy Layer returns and mentions the concrete lazy type in its message. (0.10.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.10.0)
- Adds a diagnostic suggesting consecutive uninterrupted catchTag transformations be collapsed into catchTags when semantics remain equivalent. (0.10.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.10.0)

## @effect/tsgo 0.9

### Behavior and default changes

- Turns preferSchemaOverJson off by default; the effect-native preset remains at warning, with improved diagnostic guidance for Effect v3 and v4 projects. (0.9.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.9.0)

### Tooling

- Adds a diagnostic for exported zero-argument functions, exported interface members, and Context.Service members that lazily return Effect or Stream values. (0.9.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.9.0)

## @effect/tsgo 0.8

### Tooling

- Adds a style diagnostic and quick fix that suggests replacing schema-style typeof annotations with an equivalent named type when available. (0.8.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.8.0)

## @effect/tsgo 0.7

### New APIs and options

- Runs Effect diagnostics for a specific source file with explicit rule selection and Effect options. (0.7.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.7.0)

### Tooling

- Adds a diagnostic for hoistable repeated Effect.mapError(...) usage in Effect.gen and generator-form Effect.fn. (0.7.5) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.7.5)

### Fixes and other changes

- Avoids stray TypeScript diagnostics when detecting data-first and data-last Effect APIs during piping-flow analysis. (0.7.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.7.2)

## @effect/tsgo 0.6

### Tooling

- Diagnostics for unsafe effect type assertions now also cover Stream and Layer assertions. (0.6.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.6.1)
- Adds a diagnostic and quick-fix to detect assertions that unsafely narrow Effect error or requirements channels. (0.6.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.6.0)

### Fixes and other changes

- The TypeScript-Go submodule now includes upstream fixes for declaration emit. (0.6.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.6.1)
- The restored Effect v4 API is included in the updated metadata. (0.6.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.6.1)

## @effect/tsgo 0.5

### Fixes and other changes

- Effect diagnostics are skipped for source files resolved from external libraries. (0.5.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.5.2)
- Plugin activation now works when inherited through multiple tsconfig extends hops, without duplicating the plugin stanza in intermediate configs. (0.5.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.5.2)
- Fixes a false-positive TS2683 and preserves contextual this typing in directly yielded expressions during data-first call analysis. (0.5.2) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.5.2)

## @effect/tsgo 0.4

### New APIs and options

- The checker shim now exports the TypeScript-Go helper for reuse. (0.4.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.4.0)

### Fixes and other changes

- Execution-flow graphing models yield* operands as yieldable links and preserves the generator result type through piped calls, including for generator-based Effect.fn calls. (0.4.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.4.0)

## @effect/tsgo 0.3

### Deprecations

- Adds an Effect v4 diagnostic warning on crypto.randomUUID() usage and recommending the Effect Random module. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)
- Adds an Effect v4 diagnostic warning on crypto.randomUUID() usage and recommending the Effect Random module. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)

### New APIs and options

- Ports the effectMapFlatten diagnostic from the reference language service. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)
- Adds a diagnostic warning on manual new Promise construction in favor of Effect-native async patterns. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)
- Adds a diagnostic warning on process.env reads and recommending Effect Config. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)
- Adds a diagnostic warning on process.env reads and recommending Effect Config. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)

### Tooling

- Diagnostics now recognize Effect.promise constructor thunks. (0.3.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.1)
- Diagnostics now recognize Effect.sync constructor thunks. (0.3.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.1)
- Diagnostics now recognize Effect.try constructor thunks. (0.3.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.1)
- Diagnostics now recognize Effect.tryPromise constructor thunks. (0.3.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.1)
- Adds a diagnostic warning on async functions in favor of Effect-native async patterns. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)
- Ports the effectDoNotation diagnostic from the reference language service. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)
- Adds a diagnostic for Effect.sync thunks that return the global Promise<T> type. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)
- Adds a diagnostic for nested bare yield* Effect.gen(...) calls inside existing Effect generator contexts. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)
- Adds a diagnostic and quick fix for arrow functions whose block body only returns an expression. (0.3.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.3.0)

## @effect/tsgo 0.2

### New APIs and options

- Effect plugin option handling now supports per-file overrides. (0.2.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.2.0)

### Behavior and default changes

- Effect diagnostic text now uses a neutral, factual tone; severity remains controlled by configuration. (0.2.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.2.0)

### Fixes and other changes

- The Effect v4 floatingEffect diagnostic now reports floating Stream expressions. (0.2.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.2.0)

## @effect/tsgo 0.1

### Tooling

- When enabling the language service, the setup flow adds this dependency if missing and preserves whether an existing installation is in dependencies or devDependencies. (0.1.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.1.1)
- Adds Effect v4 support for the diagnostic and quick fix; nested Effect.run* calls inside generators now suggest and apply Effect.run*With fixes using extracted services. (0.1.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.1.0)

### Fixes and other changes

- Checks only the primary Effect.fn callback body, avoiding false positives for helper callback parameters contextually typed by the Effect.fn result. (0.1.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.1.1)
- Contextual union types now suppress the diagnostic when any union member provides a callable contextual type, aligning nested Effect.fnUntraced callbacks with TypeScript's noImplicitAny behavior. (0.1.0) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.1.0)

## @effect/tsgo 0.0

### New APIs and options

- Boolean flags for Effect diagnostics, refactors, quickinfo, and completions are now honored by the Go language-service hooks. (0.0.20) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.20)
- Adds back the includeSuggestionsInTsc setting. (0.0.17) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.17)

### Performance

- Caching and performance allocation changes were made. (0.0.9) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.9)
- Caching was added inside Checker, potentially affecting checker performance. (0.0.8) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.8)

### Behavior and default changes

- Graphs and locations now prefer the property name. (0.0.15) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.15)

### Tooling

- Upstream TypeScript-Go changes add linked editing support. (0.0.16) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.16)
- Upstream TypeScript-Go changes include signature help trigger characters. (0.0.16) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.16)
- Adds document symbols, making symbols available for documents in supporting tools. (0.0.12) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.12)
- Completions were added. (0.0.6) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.6)

### Fixes and other changes

- The tsgo CLI now respects includeSuggestionsInTsc: false during command-line runs, filtering suggestions as configured. (0.0.19) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.19)
- Only skip-file disables an entire file, so later rule-specific preview directives can re-enable diagnostics. (0.0.18) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.18)
- Upstream TypeScript-Go changes include auto-import fixes. (0.0.16) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.16)
- Upstream TypeScript-Go changes include formatting rule fixes. (0.0.16) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.16)
- Upstream TypeScript-Go changes include JSON syntax validation. (0.0.16) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.16)
- Handles an existing prepare script. (0.0.15) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.15)
- Fixes the range that triggers a refactor. (0.0.14) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.14)
- The missingEffectContext message includes more information. (0.0.13) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.13)
- Severity selection was ported. (0.0.13) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.13)
- Fixes an issue caused by nested expressions with type arguments in tsgo. (0.0.5) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.5)
- Aligns floatingEffect effect subtype behaviour. (0.0.4) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.4)
- Setup-generated tsconfig plugin entries are kept aligned with the Effect plugin name parsed by tsgo. (0.0.1) — [release notes](https://github.com/Effect-TS/tsgo/releases/tag/%40effect/tsgo%400.0.1)
