Skip to content

Version Packages#715

Merged
mattiamanzati merged 1 commit intomainfrom
changeset-release/main
Apr 9, 2026
Merged

Version Packages#715
mattiamanzati merged 1 commit intomainfrom
changeset-release/main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Apr 2, 2026

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

@effect/language-service@0.85.0

Minor Changes

  • #720 4229bb9 Thanks @mattiamanzati! - Add the nestedEffectGenYield diagnostic to detect yield* Effect.gen(...) inside an existing Effect generator context.

    Example:

    Effect.gen(function* () {
      yield* Effect.gen(function* () {
        yield* Effect.succeed(1);
      });
    });
  • #723 da9cc4b Thanks @mattiamanzati! - Add the effectMapFlatten style diagnostic for Effect.map(...) immediately followed by Effect.flatten in pipe flows.

    Example:

    import { Effect } from "effect";
    
    const program = Effect.succeed(1).pipe(
      Effect.map((n) => Effect.succeed(n + 1)),
      Effect.flatten
    );
  • #718 0af7c0f Thanks @mattiamanzati! - Add the lazyPromiseInEffectSync diagnostic to catch Effect.sync(() => Promise...) patterns and suggest using Effect.promise or Effect.tryPromise for async work.

    Example:

    Effect.sync(() => Promise.resolve(1));
  • #714 32985b2 Thanks @mattiamanzati! - Add processEnv and processEnvInEffect diagnostics to guide process.env.* reads toward Effect Config APIs.

    Examples:

    • process.env.PORT
    • process.env["API_KEY"]
  • #721 f05ae89 Thanks @mattiamanzati! - Add the unnecessaryArrowBlock style diagnostic for arrow functions whose block body only returns an expression.

    Example:

    const trim = (value: string) => {
      return value.trim();
    };
  • #717 b77848a Thanks @mattiamanzati! - Add newPromise and asyncFunction effect-native diagnostics to report manual Promise construction and async function declarations, with guidance toward Effect-based async control flow.

  • #722 6f19858 Thanks @mattiamanzati! - Add the effectDoNotation style diagnostic for Effect.Do usage and suggest migrating to Effect.gen or Effect.fn.

    Example:

    import { pipe } from "effect/Function";
    import { Effect } from "effect";
    
    const program = pipe(
      Effect.Do,
      Effect.bind("a", () => Effect.succeed(1)),
      Effect.let("b", ({ a }) => a + 1)
    );
  • #716 c3f67b0 Thanks @mattiamanzati! - Add cryptoRandomUUID and cryptoRandomUUIDInEffect diagnostics for Effect v4 to discourage crypto.randomUUID() in favor of the Effect Random module, which uses Effect-injected randomness instead of the global crypto implementation.

Patch Changes

  • #719 d23980a Thanks @mattiamanzati! - Update the Effect v4 beta dependencies to 4.0.0-beta.43 for the language service and v4 harness packages.

@github-actions github-actions Bot force-pushed the changeset-release/main branch 7 times, most recently from 93ae3ed to cfa14eb Compare April 8, 2026 21:20
@github-actions github-actions Bot force-pushed the changeset-release/main branch from cfa14eb to 77b3666 Compare April 9, 2026 09:34
@mattiamanzati mattiamanzati merged commit 6943d59 into main Apr 9, 2026
@mattiamanzati mattiamanzati deleted the changeset-release/main branch April 9, 2026 10:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant