Update bun minor+patch updates - abandoned #77

Open
renovate-bot wants to merge 56 commits from renovate/bun-minor-patch into master
Collaborator

This PR contains the following updates:

Package Change Age Confidence
@effect/language-service ^0.60.0^0.86.0 age confidence
@effect/opentelemetry (source) ^0.59.0^0.63.0 age confidence
@effect/platform (source) ^0.93.0^0.96.0 age confidence
@effect/platform-browser (source) ^0.73.0^0.76.0 age confidence
@effect/platform-bun (source) ^0.86.0^0.89.0 age confidence
@effect/platform-node (source) ^0.103.0^0.106.0 age confidence
@effect/rpc (source) ^0.72.0^0.75.0 age confidence
@opentelemetry/exporter-trace-otlp-http (source) ^0.208.0^0.218.0 age confidence
esbuild ^0.27.0^0.28.0 age confidence
lucide-react (source) ^0.556.0^0.577.0 age confidence

Release Notes

Effect-TS/language-service (@​effect/language-service)

v0.86.1

Compare Source

Patch Changes
  • #​732 0674371 Thanks @​mattiamanzati! - Update the Effect v4 test harness and language service development dependencies to Effect 4.0.0 beta 66, including fixture updates for the latest Context service API.

v0.86.0

Compare Source

Minor Changes
  • #​728 a5b0e47 Thanks @​mattiamanzati! - Add the unsafeEffectTypeAssertion diagnostic to catch as Effect<...>, as Stream<...>, and as Layer<...> assertions that unsafely narrow the error or requirements channels.

    The rule skips channels whose original type is any and offers a quick fix that removes the assertion while preserving the original expression.

v0.85.1

Compare Source

Patch Changes
  • #​726 fd4a8da Thanks @​mattiamanzati! - Update the Effect v4 beta examples and type parsing to match the renamed Context APIs in the latest 4.0.0-beta releases.

  • #​724 14d5798 Thanks @​mattiamanzati! - Refactor Effect context tracking to use cached node context flags and direct generator lookups.

    This aligns the TypeScript implementation more closely with the TSGo version and simplifies diagnostics that need to detect whether code is inside an Effect generator.

v0.85.0

Compare Source

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

v0.84.3

Compare Source

Patch Changes
  • #​711 892984f Thanks @​mattiamanzati! - Report floating Stream values in Effect projects by parsing Stream types in the diagnostic type parser and checking them in floatingEffect for both v3 and v4 harnesses.

  • #​709 0372f58 Thanks @​mattiamanzati! - Fix the Effect v4 completion harness to cover ServiceMap self-in-classes examples instead of the v3-only Context.Tag variants.

  • #​712 b7554df Thanks @​mattiamanzati! - Align Effect diagnostic messages with the reviewed neutral wording, preserving the existing version-specific API references while updating both v3 and v4 snapshot fixtures.

v0.84.2

Compare Source

Patch Changes
  • #​706 3c0bea6 Thanks @​mattiamanzati! - Fix getTypeAtLocation to ignore type-only heritage expressions like interface X extends Effect.Effect<...> so the language service no longer triggers bogus TS2689 diagnostics.

v0.84.1

Compare Source

Patch Changes
  • #​703 dea43b8 Thanks @​mattiamanzati! - Fix effectFnImplicitAny so it does not report false positives when an Effect.fn or Effect.fnUntraced callback gets its contextual function type from a union member.

    For example, nested HttpRouter.add(...) handlers now correctly recognize the inferred request type and produce no diagnostics when the parameter is not actually implicit any.

  • #​702 0af9b98 Thanks @​mattiamanzati! - Add Effect v4 support for the runEffectInsideEffect diagnostic so it suggests and fixes Effect.run*With usage based on Effect.services.

    Update the generated metadata, schema, README entry, and v4 harness examples/snapshots to document and verify the new behavior.

v0.84.0

Compare Source

Minor Changes
  • #​696 78e78d5 Thanks @​cevr! - Add paired globalDate/globalDateInEffect, globalConsole/globalConsoleInEffect, globalFetch/globalFetchInEffect, globalRandom/globalRandomInEffect, and globalTimers/globalTimersInEffect diagnostics

    Ten new opt-in diagnostics that flag global/DOM APIs both outside and inside Effect generators:

    • globalFetch / globalFetchInEffectfetch() → HttpClient
    • globalDate / globalDateInEffectDate.now(), new Date() → Clock/DateTime
    • globalConsole / globalConsoleInEffectconsole.log/warn/error/info/debug/trace → Effect.log/Logger
    • globalRandom / globalRandomInEffectMath.random() → Random service
    • globalTimers / globalTimersInEffectsetTimeout/setInterval → Effect.sleep/Schedule

    All default to off. Enable both variants for full coverage inside and outside Effect generators. Shadow-safe (e.g. const console = yield* Console won't false-positive).

v0.83.1

Compare Source

Patch Changes

v0.83.0

Compare Source

Minor Changes
  • #​695 f057090 Thanks @​mattiamanzati! - Add a config CLI command for updating diagnostic rule severities without rerunning the full setup flow.

  • #​693 b5054e3 Thanks @​mattiamanzati! - Add setup CLI preset management for diagnostic severities, including preset metadata, preset-aware customization, and a dedicated config command for adjusting rule severities without rerunning full setup.

v0.82.0

Compare Source

Minor Changes
  • #​689 aed2074 Thanks @​f15u! - Adds ability to reference $schema from local installation

  • #​692 57fcf35 Thanks @​mattiamanzati! - Add the effectFnImplicitAny diagnostic to mirror noImplicitAny for unannotated Effect.fn and Effect.fnUntraced callback parameters, and support // @&#8203;strict in diagnostic example files so test fixtures can enable strict compiler options.

Patch Changes

v0.81.0

Compare Source

Minor Changes
  • #​684 d8d472e Thanks @​mattiamanzati! - Improve setup diagnostic configuration with grouped preview-driven metadata, richer interactive prompt rendering, and support for tsconfig files without compilerOptions.

  • #​685 d94f4ad Thanks @​mattiamanzati! - Add a diagnostic for global fetch usage that recommends the Effect HTTP client and include preview fixtures covering both direct and shadowed fetch calls.

Patch Changes

v0.80.0

Compare Source

Minor Changes
  • #​681 1017a54 Thanks @​mattiamanzati! - Generate a root schema.json for tsconfig.json plugin configuration, add typed Effect Language Service plugin options to that schema, and have effect-language-service setup add or remove the matching $schema entry automatically.

  • #​679 3664197 Thanks @​mattiamanzati! - Add inline --lspconfig support to the effect-language-service diagnostics CLI command so diagnostics runs can override the project plugin configuration without editing tsconfig.json.

v0.79.0

Compare Source

Minor Changes
  • #​671 6b9c378 Thanks @​mattiamanzati! - Add the extendsNativeError diagnostic to warn when classes directly extend the native Error constructor, including common local aliases such as const E = Error.

    This helps steer users toward tagged errors that preserve stronger typing in the Effect failure channel.

  • #​678 0e9c11b Thanks @​mattiamanzati! - Generate the README diagnostics table from the diagnostic registry.

    Each diagnostic now declares:

    • whether it is fixable
    • which Effect versions it supports

    The generated table is checked in CI, and diagnostics tests verify that fixable matches the presence of non-suppression quick fixes.

  • #​676 2f982d6 Thanks @​mattiamanzati! - Add the nodeBuiltinImport diagnostic to warn when importing Node.js built-in modules (fs, path, child_process) that have Effect-native counterparts in @effect/platform.

    This diagnostic covers ES module imports and top-level require() calls, matching both bare and node:-prefixed specifiers as well as subpath variants like fs/promises, path/posix, and path/win32. It defaults to severity off and provides no code fixes.

  • #​673 f9e24df Thanks @​mattiamanzati! - Add plugin options to better control patched tsc behavior.

    ignoreEffectErrorsInTscExitCode allows Effect diagnostics reported as errors to be ignored for exit-code purposes, and skipDisabledOptimiziation keeps disabled diagnostics eligible for comment-based overrides when patch mode is active.

  • #​674 54e8c16 Thanks @​mattiamanzati! - Add the serviceNotAsClass diagnostic to warn when ServiceMap.Service is used as a variable assignment instead of in a class declaration.

    Includes an auto-fix that converts const Config = ServiceMap.Service<Shape>("Config") to class Config extends ServiceMap.Service<Config, Shape>()("Config") {}.

Patch Changes
  • #​675 d1f09c3 Thanks @​mattiamanzati! - Rename the skipDisabledOptimiziation plugin option to skipDisabledOptimization.

    Example:

    {
      "compilerOptions": {
        "plugins": [
          {
            "name": "@&#8203;effect/language-service",
            "skipDisabledOptimization": true
          }
        ]
      }
    }
    

v0.78.0

Compare Source

Minor Changes
  • #​663 0e82d43 Thanks @​mattiamanzati! - Improve effectFnOpportunity inferred span naming for service-layer methods and align examples for Effect v4.

    The inferred span can now include service + method names (for example MyService.log) when the convertible function is a method inside a layer service object for strict supported patterns like:

    • Layer.succeed(Service)(...)
    • Layer.sync(Service)(...)
    • Layer.effect(Service)(Effect.gen(...))
    • Layer.effect(Service, Effect.gen(...))

    Also add Effect v4 diagnostics fixtures for:

    • effectFnOpportunity_inferred.ts
    • effectFnOpportunity_inferredLayer.ts
  • #​669 a010a29 Thanks @​mattiamanzati! - Add a new effectInFailure diagnostic that warns when an Effect computation appears in the failure channel (E) of another Effect.

    The rule traverses Effect-typed expressions, unrolls union members of E, and reports when any member is itself a strict Effect type.

    It prefers innermost matches for nested cases (for example nested Effect.try in catch) to avoid noisy parent reports.

Patch Changes
  • #​666 06b3a6c Thanks @​mattiamanzati! - Fix effectFnOpportunity inferred span naming for Layer.*(this, ...) patterns in class static members.

    When the inferred layer target is this, the diagnostic now uses the nearest enclosing class name (for example MyService) instead of the literal this token.

  • #​665 a95a679 Thanks @​mattiamanzati! - Improve yield-based diagnostics and hover behavior by introducing effectYieldableType in TypeParser and using it in missingReturnYieldStar.

    • In Effect v4, yieldable values are recognized through asEffect() and mapped to Effect A/E/R.
    • In Effect v3, effectYieldableType falls back to standard effectType behavior.
    • missingReturnYieldStar now correctly handles yieldable values such as Option.none().
    • Hover support for yield* was updated to use yieldable parsing paths.
  • #​664 934ef7e Thanks @​mattiamanzati! - Improve missingReturnYieldStar safety by targeting only expression statements with top-level yield* expressions and validating the enclosing Effect.gen scope via findEnclosingScopes.

    This avoids edge cases where nested or wrapped yield* expressions could be matched incorrectly.

  • #​661 0f92686 Thanks @​mattiamanzati! - Update effect dependency to v4.0.0-beta.19 and fix compatibility issues:

    • Fix layerMagic refactor producing any types in Layer channels by replacing Array.partition (which now uses the v4 Filter.Filter API) with a native loop for boolean partition logic
    • Add v4 Layer type detection shortcut using "~effect/Layer" TypeId property, matching the pattern already used for Effect type detection
    • Mark Effect.filterMap as unchanged in the outdated API migration database since it was re-added in v4

v0.77.0

Compare Source

Minor Changes
  • #​655 c875de2 Thanks @​mattiamanzati! - Add outdatedApi diagnostic that warns when using outdated Effect APIs in a project targeting a newer version of Effect.
Patch Changes
  • #​660 99a97a6 Thanks @​mattiamanzati! - Dispose TypeScript language services in tests to prevent resource leaks

    Added languageService.dispose() calls via try/finally patterns to all test files that create language services through createServicesWithMockedVFS(). This ensures proper cleanup of TypeScript compiler resources after each test completes, preventing memory leaks during test runs.

  • #​658 0154667 Thanks @​mattiamanzati! - Fix outdated API diagnostic for Effect v4 compatibility

    • Fixed TaggedError completion to use TaggedErrorClass matching the v4 API
    • Removed Schema.RequestClass examples that no longer exist in v4
    • Updated Effect v4 harness to latest version
  • #​659 2699a80 Thanks @​mattiamanzati! - Add support for Model.Class from effect/unstable/schema in completions and diagnostics.

    The classSelfMismatch diagnostic now detects mismatched Self type parameters in Model.Class declarations, and the autocomplete for Self type in classes now suggests Model.Class when typing after Model..

    import { Model } from "effect/unstable/schema";
    
    // autocomplete triggers after `Model.`
    export class MyDataModel extends Model.Class<MyDataModel>("MyDataModel")({
      id: Schema.String,
    }) {}
    

v0.76.0

Compare Source

Minor Changes
  • #​651 aeab349 Thanks @​mattiamanzati! - Add refactor to convert Effect.Service to Context.Tag with a static Layer property.

    Supports all combinator kinds (effect, scoped, sync, succeed) and dependencies. The refactor replaces the Effect.Service class declaration with a Context.Tag class that has a static layer property using the corresponding Layer combinator.

    Before:

    export class MyService extends Effect.Service<MyService>()("MyService", {
      effect: Effect.gen(function* () {
        return { value: "hello" };
      }),
    }) {}
    

    After:

    export class MyService extends Context.Tag("MyService")<
      MyService,
      { value: string }
    >() {
      static layer = Layer.effect(
        this,
        Effect.gen(function* () {
          return { value: "hello" };
        })
      );
    }
    
  • #​654 2c93eab Thanks @​mattiamanzati! - Migrate internal Effect dependency from v3 to v4. This updates all CLI and core modules to use the Effect v4 API while maintaining full backward compatibility with existing functionality.

v0.75.1

Compare Source

Patch Changes
  • #​647 489e3f0 Thanks @​mattiamanzati! - Expose diagnostic quick fixes as refactoring actions to work around TypeScript's limited quick fix handling in some contexts

  • #​650 6f568cf Thanks @​mattiamanzati! - Fix TypeParser to skip types with generic call signatures. When parsing covariant, contravariant, or invariant types, signatures with type parameters are now correctly rejected instead of being treated as concrete types.

  • #​649 5858fd1 Thanks @​mattiamanzati! - Performance improvements: replace Nano.gen with Nano.fn named functions across diagnostics, refactors, and code generation modules for better performance tracking and reduced runtime overhead. Add conditional debugPerformance flag to avoid unnecessary timing collection when not debugging.

v0.75.0

Compare Source

Minor Changes
  • #​645 a8a7d33 Thanks @​mattiamanzati! - Add ServiceMap.Service class completion for Effect v4, and fix Schema class completions for v4 (TaggedErrorClass, TaggedClass now available, ErrorClass fully-qualified form fixed, RequestClass removed)

v0.74.0

Compare Source

Minor Changes
  • #​641 693e5a5 Thanks @​mattiamanzati! - Added Effect v4 support for diagnostics, refactors, and piping features.

    Diagnostics:

    • multipleEffectProvide: Warns when multiple Effect.provide calls are chained, suggesting consolidation
    • strictEffectProvide: Warns when using Effect.provide with Layer outside of application entry points
    • missingLayerContext: Detects missing Layer context requirements
    • deterministicKeys: Extended to support ServiceMap.Service patterns
    • leakingRequirements: Extended to detect leaking requirements in ServiceMap services
    • schemaSyncInEffect: Updated with v4-specific method mappings (e.g., decodeSync -> decodeEffect)

    Refactors:

    • layerMagic: Automatically compose and build layers based on service dependencies
    • structuralTypeToSchema: Convert TypeScript interfaces and type aliases to Effect Schema classes
    • makeSchemaOpaque: Enhanced for v4 with support for Codec, DecodingServices, and EncodingServices types
    • typeToEffectSchema: Enhanced to support Effect v4 schema patterns

    Piping:

    • Added pipe transformation support for Effect v4 including Effect.fn, nested pipes, and function call conversions
Patch Changes
  • #​643 68f6d12 Thanks @​mattiamanzati! - Disable schemaUnionOfLiterals diagnostic for Effect v4, as Schema.Union of multiple Schema.Literal calls is no longer applicable in v4.

v0.73.1

Compare Source

Patch Changes
  • #​639 ff72045 Thanks @​mattiamanzati! - Add wildcard (*) support for @effect-diagnostics comment directives. You can now use * as a rule name to apply a severity override to all diagnostics at once, e.g. @effect-diagnostics *:off disables all Effect diagnostics from that point on. Rule-specific overrides still take precedence over wildcard overrides.

v0.73.0

Compare Source

Minor Changes
  • #​637 616c2cc Thanks @​mattiamanzati! - Add Effect v4 completions support

    • Detect installed Effect version (v3 or v4) and conditionally enable version-specific completions
    • Add Schema.ErrorClass and Schema.RequestClass completions for Effect v4
    • Disable v3-only completions (Effect.Service, Effect.Tag, Schema.TaggedError, Schema.TaggedClass, Schema.TaggedRequest, Context.Tag self, Rpc.make classes, Schema.brand, Model.Class) when Effect v4 is detected
    • Support lowercase taggedEnum in addition to TaggedEnum for v4 API compatibility

v0.72.1

Compare Source

Patch Changes
  • #​635 b16fd37 Thanks @​mattiamanzati! - Fix effectGenToFn refactor to convert Effect<A, E, R> return types to Effect.fn.Return<A, E, R>

    Before this fix, the "Convert to fn" refactor would keep the original Effect.Effect<A, E, R> return type, producing code that doesn't compile. Now it correctly transforms the return type:

    // Before refactor
    const someFunction = (value: string): Effect.Effect<number, boolean> =>
      Effect.gen(function* () {
        /* ... */
      });
    
    // After refactor (fixed)
    const someFunction = Effect.fn("someFunction")(function* (
      value: string
    ): Effect.fn.Return<number, boolean, never> {
      /* ... */
    });
    
  • #​630 689a012 Thanks @​mattiamanzati! - Restructure test harness setup by moving shared test utilities and updating package dependencies

v0.72.0

Compare Source

Minor Changes

v0.71.2

Compare Source

Patch Changes
  • #​625 422087d Thanks @​mattiamanzati! - Fix CLI patching to target emitFilesAndReportErrors function instead of emitFilesAndReportErrorsAndGetExitStatus, updating the injection approach to replace the diagnostics property in the return statement's object literal.

v0.71.1

Compare Source

Patch Changes
  • #​624 d279457 Thanks @​mattiamanzati! - Add ignoreEffectSuggestionsInTscExitCode option (default: true) to control whether Effect-related suggestions affect the TSC exit code. When enabled, suggestions won't cause tsc to return a non-zero exit code.

  • #​622 5eab20a Thanks @​mattiamanzati! - Add ignoreEffectWarningsInTscExitCode option to allow Effect-related warnings to not affect the TSC exit code. When enabled, tsc will compile successfully even if Effect warnings are emitted. This is useful for CI/CD pipelines where Effect diagnostics should be informational rather than blocking.

v0.71.0

Compare Source

Minor Changes
  • #​619 f171350 Thanks @​mattiamanzati! - Add effectSucceedWithVoid diagnostic to suggest using Effect.void instead of Effect.succeed(undefined) or Effect.succeed(void 0).

    The diagnostic detects calls to Effect.succeed where the argument is exactly undefined or void 0 (including parenthesized variants) and suggests replacing them with the more idiomatic Effect.void. A quick fix is provided to automatically apply the replacement.

    Before:

    Effect.succeed(undefined);
    Effect.succeed(void 0);
    

    After:

    Effect.void;
    
Patch Changes
  • #​621 74ef937 Thanks @​mattiamanzati! - Improve diagnostic messages for globalErrorInEffectFailure and globalErrorInEffectCatch to be more concise and actionable.

    Before:

    The global Error type is used in an Effect failure channel. It's not recommended to use the global Error type in Effect failures as they can get merged together. Instead, use tagged errors or custom errors with a discriminator property to get properly type-checked errors.
    

    After:

    Global 'Error' loses type safety as untagged errors merge together in the Effect failure channel. Consider using a tagged error and optionally wrapping the original in a 'cause' property.
    

v0.70.0

Compare Source

Minor Changes
  • #​618 ed689f8 Thanks @​mattiamanzati! - Improve globalErrorInEffectFailure diagnostic to detect global Error type in any Effect failure channel.

    The diagnostic now works by finding new Error() expressions and checking if they end up in an Effect's failure channel, rather than only checking Effect.fail calls. This means it will now detect global Error usage in:

    • Effect.fail(new Error(...))
    • Effect.gen functions that fail with global Error
    • Effect.mapError converting to global Error
    • Effect.flatMap chains that include global Error

    The diagnostic now reports at the new Error() location for better precision.

Patch Changes
  • #​616 b32da44 Thanks @​mattiamanzati! - Improve missedPipeableOpportunity diagnostic message to show the suggested subject for .pipe(...).

    Before:

    Nested function calls can be converted to pipeable style for better readability.
    

    After:

    Nested function calls can be converted to pipeable style for better readability; consider using addOne(5).pipe(...) instead.
    

v0.69.2

Compare Source

Patch Changes
  • #​612 2b49181 Thanks @​mattiamanzati! - Improve effectFnIife diagnostic message to suggest Effect.withSpan with the trace name when available

    When Effect.fn("traceName") is used as an IIFE, the diagnostic now suggests using Effect.gen with Effect.withSpan("traceName") piped at the end to maintain tracing spans. For Effect.fnUntraced, it simply suggests using Effect.gen without the span suggestion.

  • #​615 ae4f054 Thanks @​mattiamanzati! - Improve effectFnOpportunity diagnostic with more specific messages and configurable fixes

    • Add new effectFn configuration option to control which code fix variants are offered: "untraced", "span", "inferred-span", "no-span" (defaults to ["span"])
    • Diagnostic message now shows the exact expected signature for the rewrite
    • Distinguish between explicit trace from Effect.withSpan vs inferred trace from function name
    • Skip functions with return type annotations to avoid issues with recursive functions

    Before:

    This function could benefit from Effect.fn's automatic tracing...
    

    After:

    Can be rewritten as a reusable function: Effect.fn("myFunction")(function*() { ... })
    

v0.69.1

Compare Source

Patch Changes
  • #​610 990ccbc Thanks @​mattiamanzati! - Improve effectFnOpportunity diagnostic message to mention that quickfixes are available in the editor or via the CLI quickfixes command.

v0.69.0

Compare Source

Minor Changes
  • #​608 bc7da1e Thanks @​mattiamanzati! - Add effectFnIife diagnostic to warn when Effect.fn or Effect.fnUntraced is used as an IIFE (Immediately Invoked Function Expression).

    Effect.fn is designed to create reusable functions that can take arguments and provide tracing. When used as an IIFE, Effect.gen is more appropriate.

    Example:

    // Before (triggers warning)
    const result = Effect.fn("test")(function* () {
      yield* Effect.succeed(1);
    })();
    
    // After (using Effect.gen)
    const result = Effect.gen(function* () {
      yield* Effect.succeed(1);
    });
    

    A quick fix is provided to automatically convert Effect.fn IIFEs to Effect.gen.

v0.68.0

Compare Source

Minor Changes
  • #​603 d747210 Thanks @​mattiamanzati! - Added instanceOfSchema diagnostic that suggests using Schema.is instead of instanceof for Effect Schema types.

    Example:

    import { Schema } from "effect"
    
    const MySchema = Schema.Struct({ name: Schema.String })
    
    // Before - triggers diagnostic
    if (value instanceof MySchema) { ... }
    
    // After - using Schema.is
    if (Schema.is(MySchema)(value)) { ... }
    

    The diagnostic is disabled by default and can be enabled with instanceOfSchema:suggestion or instanceOfSchema:warning.

Patch Changes

v0.67.0

Compare Source

Minor Changes
  • #​599 4c9f5c7 Thanks @​mattiamanzati! - Add quickfixes CLI command that shows diagnostics with available quick fixes and their proposed code changes.

    Example usage:

    # Check a specific file
    effect-language-service quickfixes --file ./src/index.ts
    
    # Check an entire project
    effect-language-service quickfixes --project ./tsconfig.json
    

    The command displays each diagnostic along with the available code fixes and a diff preview of the proposed changes, making it easy to see what automatic fixes are available before applying them.

Patch Changes
  • #​601 c0a6da3 Thanks @​mattiamanzati! - Reduce over-suggestion of effectFnOpportunity diagnostic for regular functions.

    The diagnostic now only suggests Effect.fn for regular functions (not using Effect.gen) when:

    • The function has a block body (not a concise arrow expression)
    • The function body has more than 5 statements

    Functions using Effect.gen are still always suggested regardless of body size.

v0.66.1

Compare Source

Patch Changes
  • #​597 3833a10 Thanks @​mattiamanzati! - Improved effectFnOpportunity diagnostic message to mention that Effect.fn accepts piped transformations as additional arguments when pipe transformations are detected.

    When a function has .pipe() calls that would be absorbed by Effect.fn, the message now includes: "Effect.fn also accepts the piped transformations as additional arguments."

v0.65.0

Compare Source

Minor Changes
  • #​581 4569328 Thanks @​mattiamanzati! - Add effectFnOpportunity diagnostic that suggests converting functions returning Effect.gen to Effect.fn for better tracing and concise syntax.

    The diagnostic triggers on:

    • Arrow functions returning Effect.gen(...)
    • Function expressions returning Effect.gen(...)
    • Function declarations returning Effect.gen(...)
    • Functions with Effect.gen(...).pipe(...) patterns

    It provides two code fixes:

    • Convert to Effect.fn (traced) - includes the function name as the span name
    • Convert to Effect.fnUntraced - without tracing

    The diagnostic skips:

    • Generator functions (can't be converted)
    • Named function expressions (typically used for recursion)
    • Functions with multiple call signatures (overloads)

    When the original function has a return type annotation, the converted function will use Effect.fn.Return<A, E, R> as the return type.

    Example:

    // Before
    export const myFunction = (a: number) =>
      Effect.gen(function* () {
        yield* Effect.succeed(1);
        return a;
      });
    
    // After (with Effect.fn)
    export const myFunction = Effect.fn("myFunction")(function* (a: number) {
      yield* Effect.succeed(1);
      return a;
    });
    
    // Before (with pipe)
    export const withPipe = () =>
      Effect.gen(function* () {
        return yield* Effect.succeed(1);
      }).pipe(Effect.withSpan("withPipe"));
    
    // After (with Effect.fn)
    export const withPipe = Effect.fn("withPipe")(function* () {
      return yield* Effect.succeed(1);
    }, Effect.withSpan("withPipe"));
    
  • #​575 00aeed0 Thanks @​mattiamanzati! - Add effectMapVoid diagnostic that suggests using Effect.asVoid instead of Effect.map(() => void 0), Effect.map(() => undefined), or Effect.map(() => {}).

    Also adds two new TypeParser utilities:

    • lazyExpression: matches zero-argument arrow functions or function expressions that return a single expression
    • emptyFunction: matches arrow functions or function expressions with an empty block body

    And adds isVoidExpression utility to TypeScriptUtils for detecting void 0 or undefined expressions.

    Example:

    // Before
    Effect.succeed(1).pipe(Effect.map(() => void 0));
    Effect.succeed(1).pipe(Effect.map(() => undefined));
    Effect.succeed(1).pipe(Effect.map(() => {}));
    
    // After (suggested fix)
    Effect.succeed(1).pipe(Effect.asVoid);
    
  • #​582 94d4a6b Thanks @​mattiamanzati! - Added layerinfo CLI command that provides detailed information about a specific exported layer.

    Features:

    • Shows layer type, location, and description
    • Lists services the layer provides and requires
    • Suggests optimal layer composition order using Layer.provide, Layer.provideMerge, and Layer.merge

    Example usage:

    effect-language-service layerinfo --file ./src/layers/app.ts --name AppLive
    

    Also added a tip to both overview and layerinfo commands about using Layer.mergeAll(...) to get suggested composition order.

  • #​583 b0aa78f Thanks @​mattiamanzati! - Add redundantSchemaTagIdentifier diagnostic that suggests removing redundant identifier arguments when they equal the tag value in Schema.TaggedClass, Schema.TaggedError, or Schema.TaggedRequest.

    Before:

    class MyError extends Schema.TaggedError<MyError>("MyError")("MyError", {
      message: Schema.String,
    }) {}
    

    After applying the fix:

    class MyError extends Schema.TaggedError<MyError>()("MyError", {
      message: Schema.String,
    }) {}
    

    Also updates the completions to not include the redundant identifier when autocompleting Schema.TaggedClass, Schema.TaggedError, and Schema.TaggedRequest.

  • #​573 6715f91 Thanks @​mattiamanzati! - Rename reportSuggestionsAsWarningsInTsc option to includeSuggestionsInTsc and change default to true.

    This option controls whether diagnostics with "suggestion" severity are included in TSC output when using the effect-language-service patch feature. When enabled, suggestions are reported as messages in TSC output, which is useful for LLM-based development tools to see all suggestions.

    Breaking change: The option has been renamed and the default behavior has changed:

    • Old: reportSuggestionsAsWarningsInTsc: false (suggestions not included by default)
    • New: includeSuggestionsInTsc: true (suggestions included by default)

    To restore the previous behavior, set "includeSuggestionsInTsc": false in your tsconfig.json plugin configuration.

  • #​586 e225b5f Thanks @​mattiamanzati! - Add markdown documentation support to setup command

    The setup command now automatically manages Effect Language Service documentation in AGENTS.md and CLAUDE.md files:

    • When installing: Adds or updates the Effect Language Service section with markers
    • When uninstalling: Removes the section if present
    • Case-insensitive file detection (supports both lowercase and uppercase filenames)
    • Skips symlinked files to avoid modifying linked content
    • Shows proper diff view for markdown file changes

    Example section added to markdown files:

    <!-- effect-language-service:start -->
    
    ## Effect Language Service
    
    The Effect Language Service comes in with a useful CLI that can help you with commands to get a better understanding your Effect Layers and Services, and to help you compose them correctly.
    
    <!-- effect-language-service:end -->
    
Patch Changes
  • #​580 a45606b Thanks @​mattiamanzati! - Add Effect.fn and Effect.fnUntraced support to the piping flows parser.

    The piping flows parser now recognizes pipe transformations passed as additional arguments to Effect.fn, Effect.fn("traced"), and Effect.fnUntraced. This enables diagnostics like catchAllToMapError, catchUnfailableEffect, and multipleEffectProvide to work with these patterns.

    Example:

    // This will now trigger the catchAllToMapError diagnostic
    const example = Effect.fn(
      function* () {
        return yield* Effect.fail("error");
      },
      Effect.catchAll((cause) => Effect.fail(new MyError(cause)))
    );
    
  • #​587 7316859 Thanks @​mattiamanzati! - Mark deprecated TypeScript Signature methods and migrate to property accessors

    Added @deprecated annotations to TypeScript Signature interface methods (getParameters, getTypeParameters, getDeclaration, getReturnType, getTypeParameterAtPosition) with guidance to use their modern property alternatives. Updated codebase usage of getParameters() to use .parameters property instead.

  • #​584 ed12861 Thanks @​mattiamanzati! - Fix TypeError in setup command when updating existing diagnosticSeverity configuration

    The setup command was throwing TypeError: Cannot read properties of undefined (reading 'text') when trying to update the diagnosticSeverity option of an existing @effect/language-service plugin configuration in tsconfig.json.

    This occurred because TypeScript's ChangeTracker formatter needed to compute indentation by traversing the AST tree, which failed when replacing a PropertyAssignment node inside a nested list context.

    The fix replaces just the initializer value (ObjectLiteralExpression) instead of the entire PropertyAssignment, avoiding the problematic list indentation calculation.

  • #​585 7ebe5db Thanks @​mattiamanzati! - Enhanced layerinfo CLI command with output type selection for layer composition.

    New Features:

    • Added --outputs option to select which output types to include in the suggested composition (e.g., --outputs 1,2,3)
    • Shows all available output types from the layer graph with indexed checkboxes
    • By default, only types that are in the layer's declared ROut are selected
    • Composition code now includes export const <name> = ... prefix for easy copy-paste

    Example output:

    Suggested Composition:
      Not sure you got your composition right? Just write all layers inside a Layer.mergeAll(...)
      then run this command again and use --outputs to select which outputs to include in composition.
      Example: --outputs 1,2,3
    
      [ ] 1. Cache
      [x] 2. UserRepository
    
      export const simplePipeIn = UserRepository.Default.pipe(
        Layer.provide(Cache.Default)
      )
    

    This allows users to see all available outputs from a layer composition and choose which ones to include in the suggested composition order.

  • #​577 0ed50c3 Thanks @​mattiamanzati! - Refactor catchAllToMapError diagnostic to use the piping flows parser for detecting Effect.catchAll calls.

    This change also:

    • Makes outType optional in ParsedPipingFlowSubject to handle cases where type information is unavailable
    • Sorts piping flows by position for consistent ordering
  • #​578 cab6ce8 Thanks @​mattiamanzati! - refactor: use piping flows parser in catchUnfailableEffect diagnostic

  • #​579 2a82522 Thanks @​mattiamanzati! - refactor: use piping flows parser in multipleEffectProvide diagnostic

  • #​570 0db6e28 Thanks @​mattiamanzati! - Refactor CLI overview command to extract symbol collection logic into reusable utility

    • Extract collectSourceFileExportedSymbols into src/cli/utils/ExportedSymbols.ts for reuse across CLI commands
    • Add --max-symbol-depth option to overview command (default: 3) to control how deep to traverse nested symbol properties
    • Add tests for the overview command with snapshot testing
  • #​574 9d0695e Thanks @​mattiamanzati! - Remove deprecated ts-patch documentation from README. The Effect LSP CLI Patch is now the only recommended approach for getting diagnostics at compile time.

  • #​576 5017d75 Thanks @​mattiamanzati! - Add piping flows parser for caching piping flow analysis per source file.

    This internal improvement introduces a pipingFlows function in TypeParser that analyzes and caches all piping flows (both pipe() calls and .pipe() method chains) in a source file. The parser:

    • Identifies piping flows including nested pipes and mixed call styles (e.g., Effect.map(effect, fn).pipe(...))
    • Tracks the subject, transformations, and intermediate types for each flow
    • Enables more efficient diagnostic implementations by reusing cached analysis

    The missedPipeableOpportunity diagnostic has been refactored to use this new parser, improving performance when analyzing files with multiple piping patterns.

v0.64.1

Compare Source

Patch Changes
  • #​568 477271d Thanks @​mattiamanzati! - Fix auto-import with namespace import packages generating malformed code when the identifier is at the beginning of the file.

    When using namespaceImportPackages configuration and auto-completing an export like isAnyKeyword from effect/SchemaAST, the code was incorrectly generated as:

    SchemaAST.import * as SchemaAST from "effect/SchemaAST";
    

    Instead of the expected:

    import * as SchemaAST from "effect/SchemaAST";
    
    SchemaAST.isAnyKeyword;
    

    The fix ensures the import statement is added before the namespace prefix when both changes target position 0.

v0.64.0

Compare Source

Minor Changes
  • #​567 dcb3fe5 Thanks @​mattiamanzati! - Added new diagnostic catchAllToMapError that suggests using Effect.mapError instead of Effect.catchAll + Effect.fail when the callback only wraps the error.

    Before:

    Effect.catchAll((cause) => Effect.fail(new MyError(cause)));
    

    After:

    Effect.mapError((cause) => new MyError(cause));
    

    The diagnostic includes a quick fix that automatically transforms the code.

  • #​555 0424000 Thanks @​mattiamanzati! - Add globalErrorInEffectCatch diagnostic to detect global Error types in catch callbacks

    This new diagnostic warns when catch callbacks in Effect.tryPromise, Effect.try, Effect.tryMap, or Effect.tryMapPromise return the global Error type instead of typed errors.

    Using the global Error type in Effect failures is not recommended as they can get merged together, making it harder to distinguish between different error cases. Instead, it's better to use tagged errors (like Data.TaggedError) or custom errors with discriminator properties to enable proper type checking and error handling.

    Example of code that triggers the diagnostic:

    Effect.tryPromise({
      try: () => fetch("http://example.com"),
      catch: () => new Error("Request failed"), // ⚠️ Warning: returns global Error type
    });
    

    Recommended approach:

    class FetchError extends Data.TaggedError("FetchError")<{
      cause: unknown;
    }> {}
    
    Effect.tryPromise({
      try: () => fetch("http://example.com"),
      catch: (e) => new FetchError({ cause: e }), // ✅ Uses typed error
    });
    

    This diagnostic also improves the clarity message for the leakingRequirements diagnostic by adding additional guidance on how services should be collected in the layer creation body.

  • #​558 cc5feb1 Thanks @​mattiamanzati! - Add layerMergeAllWithDependencies diagnostic to detect interdependencies in Layer.mergeAll calls

    This new diagnostic warns when Layer.mergeAll is called with layers that have interdependencies, where one layer provides a service that another layer in the same call requires.

    Layer.mergeAll creates layers in parallel, so dependencies between layers will not be satisfied. This can lead to runtime errors when trying to use the merged layer.

    Example of code that triggers the diagnostic:

    export class DbConnection extends Effect.Service<DbConnection>()(
      "DbConnection",
      {
        succeed: {},
      }
    ) {}
    export class FileSystem extends Effect.Service<FileSystem>()("FileSystem", {
      succeed: {},
    }) {}
    export class Cache extends Effect.Service<Cache>()("Cache", {
      effect: Effect.as(FileSystem, {}), // Cache requires FileSystem
    }) {}
    
    // ⚠️ Warning on FileSystem.Default
    const layers = Layer.mergeAll(
      DbConnection.Default,
      FileSystem.Default, // This provides FileSystem
      Cache.Default // This requires FileSystem
    );
    

    Recommended approach:

    // Provide FileSystem separately before merging
    const layers = Layer.mergeAll(DbConnection.Default, Cache.Default).pipe(
      Layer.provideMerge(FileSystem.Default)
    );
    

    The diagnostic correctly handles pass-through layers (layers that both provide and require the same type) and only reports on layers that actually provide dependencies needed by other layers in the same mergeAll call.

  • #​557 83ce411 Thanks @​mattiamanzati! - Add missingLayerContext diagnostic to detect missing service requirements in Layer definitions

    This new diagnostic provides better error readability when you're missing service requirements in your Layer type definitions. It works similarly to the existing missingEffectContext diagnostic but specifically checks the RIn (requirements input) parameter of Layer types.

    Example of code that triggers the diagnostic:

    import * as Effect from "effect/Effect";
    import * as Layer from "effect/Layer";
    
    class ServiceA extends Effect.Service<ServiceA>()("ServiceA", {
      succeed: { a: 1 },
    }) {}
    
    class ServiceB extends Effect.Service<ServiceB>()("ServiceB", {
      succeed: { a: 2 },
    }) {}
    
    declare const layerWithServices: Layer.Layer<ServiceA, never, ServiceB>;
    
    function testFn(layer: Layer.Layer<ServiceA>) {
      return layer;
    }
    
    // ⚠️ Error: Missing 'ServiceB' in the expected Layer context.
    testFn(layerWithServices);
    

    The diagnostic helps catch type mismatches early by clearly indicating which service requirements are missing when passing layers between functions or composing layers together.

  • #​562 57d5af2 Thanks @​mattiamanzati! - Add overview CLI command that provides an overview of Effect-related exports in a project.

    The command analyzes TypeScript files and reports all exported yieldable errors, services (Context.Tag, Effect.Tag, Effect.Service), and layers with their types, file locations, and JSDoc descriptions. A progress spinner shows real-time file processing status.

    Usage:

    effect-language-service overview --file path/to/file.ts
    effect-language-service overview --project tsconfig.json
    

    Example output:

    ✔ Processed 3 file(s)
    Overview for 3 file(s).
    
    Yieldable Errors (1)
      NotFoundError
        ./src/errors.ts:5:1
        NotFoundError
    
    Services (2)
      DbConnection
        ./src/services/db.ts:6:1
        Manages database connections
    
    Layers (1)
      AppLive
        ./src/layers/app.ts:39:14
        Layer<Cache | UserRepository, never, never>
    
Patch Changes
  • #​561 c3b3bd3 Thanks @​mattiamanzati! - Add descriptions to CLI commands using Command.withDescription for improved help output when using --help flag.

  • #​565 2274aef Thanks @​mattiamanzati! - Fix unnecessaryPipe diagnostic and refactor not working with namespace imports from effect/Function (e.g., Function.pipe() or Fn.pipe())

  • #​560 75a480e Thanks @​mattiamanzati! - Improve diagnostic message for unsupportedServiceAccessors when used with Effect.Tag

    When the unsupportedServiceAccessors diagnostic is triggered on an Effect.Tag class (which doesn't allow disabling accessors), the message now includes a helpful suggestion to use Context.Tag instead:

    export class MyService extends Effect.Tag("MyService")<
      MyService,
      {
        method: <A>(value: A) => Effect.Effect<A>;
      }
    >() {}
    // Diagnostic: Even if accessors are enabled, accessors for 'method' won't be available
    // because the signature have generic type parameters or multiple call signatures.
    // Effect.Tag does not allow to disable accessors, so you may want to use Context.Tag instead.
    
  • #​559 4c1f809 Thanks @​mattiamanzati! - Improve Layer Magic refactor ordering by considering both provided and required service counts

    The Layer Magic refactor now uses a combined ordering heuristic that considers both:

    1. The number of services a layer provides
    2. The number of services a layer requires

    This results in more optimal layer composition order, especially in complex dependency graphs where layers have varying numbers of dependencies.

  • #​566 036c491 Thanks @​mattiamanzati! - Simplify diagnostic messages for global Error type usage

    The diagnostic messages for globalErrorInEffectCatch and globalErrorInEffectFailure now use the more generic term "tagged errors" instead of "tagged errors (Data.TaggedError)" to provide cleaner, more concise guidance.

v0.63.2

Compare Source

Patch Changes
  • #​553 e64e3df Thanks @​mattiamanzati! - fix: ensure correct path resolution in CLI setup

    • Use process.cwd() explicitly in path.resolve() for consistent behavior
    • Resolve the selected tsconfig path to an absolute path before validation
    • Simplify error handling by using direct yield* for TsConfigNotFoundError

v0.63.1

Compare Source

Patch Changes
  • #​551 9b3d807 Thanks @​mattiamanzati! - fix: resolve TypeScript from project's working directory

    The CLI now attempts to resolve TypeScript from the current working directory first before falling back to the package's bundled version. This ensures the CLI uses the same TypeScript version as the project being analyzed.

v0.63.0

Compare Source

Minor Changes
  • #​548 ef8c2de Thanks @​mattiamanzati! - Add globalErrorInEffectFailure diagnostic

    This diagnostic warns when Effect.fail is called with the global Error type. Using the global Error type in Effect failures is not recommended as they can get merged together, making it harder to distinguish between different error types.

    Instead, the diagnostic recommends using:

    • Tagged errors with Data.TaggedError
    • Custom error classes with a discriminator property (like _tag)

    Example:

    // This will trigger a warning
    Effect.fail(new Error("global error"));
    
    // These are recommended alternatives
    Effect.fail(new CustomError()); // where CustomError extends Data.TaggedError
    Effect.fail(new MyError()); // where MyError has a _tag property
    
  • #​545 c590b5a Thanks @​mattiamanzati! - Add effect-language-service setup CLI command

    This new command provides an interactive wizard to guide users through the complete installation and configuration of the Effect Language Service. The setup command:

    • Analyzes your repository structure (package.json, tsconfig files)
    • Guides you through adding the package to devDependencies
    • Configures the TypeScript plugin in your tsconfig.json
    • Allows customizing diagnostic severity levels
    • Optionally adds prepare script for automatic patching
    • Optionally configures VS Code settings for workspace TypeScript usage
    • Shows a review of all changes before applying them

    Example usage:

    effect-language-service setup
    

    The wizard will walk you through each step and show you exactly what changes will be made before applying them.

  • #​550 4912ee4 Thanks @​mattiamanzati! - Add support for @effect/sql's Model.Class in completions and diagnostics

    • Added effectSqlModelSelfInClasses completion: Auto-completes the Self type parameter when extending Model.Class from @effect/sql
    • Extended classSelfMismatch diagnostic: Now detects when the Self type parameter in Model.Class<Self> doesn't match the actual class name

    Example:

    import { Model } from "@&#8203;effect/sql";
    import * as Schema from "effect/Schema";
    
    // Completion triggers after "Model." to generate the full class boilerplate
    export class User extends Model.Class<User>("User")({
      id: Schema.String,
    }) {}
    
    // Diagnostic warns when Self type parameter doesn't match class name
    export class User extends Model.Class<WrongName>("User")({
      //                                    ^^^^^^^^^ Self type should be "User"
      id: Schema.String,
    }) {}
    
Patch Changes
  • #​547 9058a37 Thanks @​mattiamanzati! - refactor: simplify unnecessaryFailYieldableError diagnostic implementation

    Changed the implementation to check if a type extends Cause.YieldableError on-demand rather than fetching all yieldable error types upfront.

  • #​549 039f4b2 Thanks @​mattiamanzati! - Add getTypeAtLocation utility to TypeCheckerUtils

    This refactoring adds a new getTypeAtLocation function to TypeCheckerUtils that safely retrieves types while filtering out JSX-specific nodes (JSX elements, opening/closing tags, and JSX attributes) that could cause issues when calling typeChecker.getTypeAtLocation.

    The utility is now used across multiple diagnostics and features, reducing code duplication and ensuring consistent handling of edge cases:

    • anyUnknownInErrorContext
    • catchUnfailableEffect
    • floatingEffect
    • globalErrorInEffectFailure
    • leakingRequirements
    • missedPipeableOpportunity
    • missingEffectServiceDependency
    • missingReturnYieldStar
    • multipleEffectProvide
    • nonObjectEffectServiceType
    • overriddenSchemaConstructor
    • returnEffectInGen
    • scopeInLayerEffect
    • strictBooleanExpressions
    • strictEffectProvide
    • unnecessaryFailYieldableError
    • And other features like quick info, goto definition, and refactors

v0.62.5

Compare Source

Patch Changes
  • #​543 0b13f3c Thanks @​mattiamanzati! - Fix unwanted autocompletions inside import declarations

    Previously, Effect., Option., and Either.__ completions were incorrectly suggested inside import statements. This has been fixed by detecting when the completion is requested inside an import declaration and preventing these completions from appearing.

    Closes #​541

v0.62.4

Compare Source

Patch Changes
  • #​539 4cc88d2 Thanks @​mattiamanzati! - Improve layerMagic refactor to prioritize layers with more provided services

    The layerMagic refactor now uses a heuristic that prioritizes nodes with more provided services when generating layer composition code. This ensures that telemetry and tracing layers (which typically provide fewer services) are positioned as late as possible in the dependency graph, resulting in more intuitive and correct layer ordering.

    Example: When composing layers for services that depend on HttpClient with telemetry, the refactor now correctly places the telemetry layer (which provides fewer services) later in the composition chain.

v0.62.3

Compare Source

Patch Changes
  • #​537 e31c03b Thanks @​mattiamanzati! - Fix counter increment timing in structural type to schema refactor to ensure proper naming of conflicting schemas (e.g., User_1 instead of User_0 for the first conflict)

v0.62.2

Compare Source

Patch Changes
  • #​535 361fc1e Thanks @​mattiamanzati! - Fix duplicate schema names in "Refactor to Schema (Recursive Structural)" code generation.

    When the refactor encountered types with conflicting names, it was generating a unique suffix but not properly tracking the usage count, causing duplicate schema identifiers with different contents to be generated.

    This fix ensures that when a name conflict is detected and a unique suffix is added (e.g., Tax, Tax_1, Tax_2), the usage counter is properly incremented to prevent duplicate identifiers in the generated code.

    Fixes #​534

v0.62.1

Compare Source

Patch Changes
  • #​532 8f189aa Thanks @​mattiamanzati! - Fix handling of read-only arrays in "Refactor to Schema (Recursive Structural)" code generation.

    The refactor now correctly distinguishes between mutable arrays (Array<T>) and read-only arrays (ReadonlyArray<T> or readonly T[]):

    • Array<T> is now converted to Schema.mutable(Schema.Array(...)) to preserve mutability
    • ReadonlyArray<T> and readonly T[] are converted to Schema.Array(...) (read-only by default)

    This fixes compatibility issues with external libraries (like Stripe, BetterAuth) that expect mutable arrays in their API parameters.

    Fixes #​531

v0.62.0

Compare Source

Minor Changes
  • #​528 7dc14cf Thanks @​mattiamanzati! - Add typeToSchema codegen

    This adds a new // @&#8203;effect-codegens typeToSchema codegen that automatically generates Effect Schema classes from TypeScript types. Given a type alias with object members representing schemas to generate (e.g., type ToGenerate = { UserSchema: User, TodoSchema: Todo }), the codegen will create the corresponding Schema class definitions.

    The generated schemas:

    • Automatically detect and reuse existing schema definitions in the file
    • Support both type aliases and interfaces
    • Include outdated detection to warn when the source type changes
    • Work with the outdatedEffectCodegen diagnostic to provide automatic fix actions

    Example usage:

    type User = {
      id: number;
      name: string;
    };
    
    // @&#8203;effect-codegens typeToSchema
    export type ToGenerate = {
      UserSchema: User;
    };
    
    // Generated by the codegen:
    export class UserSchema extends Schema.Class<UserSchema>("UserSchema")({
      id: Schema.Number,
      name: Schema.String,
    }) {}
    
Patch Changes
  • #​530 5ecdc62 Thanks @​mattiamanzati! - Fix Refactor to Schema (Recursive Structural) to support exactOptionalPropertyTypes

    When exactOptionalPropertyTypes is enabled in tsconfig, optional properties with types like string | undefined are not assignable to types defined as prop?: string. This fix generates Schema.optionalWith(Schema.String, { exact: true }) instead of Schema.optional(Schema.Union(Schema.Undefined, Schema.String)) to maintain type compatibility with external libraries that don't always include undefined in their optional property types.

    Example:

    // With exactOptionalPropertyTypes enabled
    type User = {
      name?: string; // External library type (e.g., Stripe API)
    };
    
    // Generated schema now uses:
    Schema.optionalWith(Schema.String, { exact: true });
    
    // Instead of:
    Schema.optional(Schema.Union(Schema.Undefined, Schema.String));
    

    This ensures the generated schema maintains proper type compatibility with external libraries when using strict TypeScript configurations.

v0.61.0

Compare Source

Minor Changes
  • #​525 e2dbbad Thanks @​mattiamanzati! - Add Structural Type to Schema refactor

    Adds a new "Structural Type to Schema" refactor that converts TypeScript interfaces and type aliases to Effect Schema classes. This refactor analyzes the structure of types and generates appropriate Schema definitions, with intelligent detection and reuse of existing schemas.

    Example:

    // Before
    export interface User {
      id: number;
      name: string;
    }
    
    // After (using the refactor)
    export class User extends Schema.Class<User>("User")({
      id: Schema.Number,
      name: Schema.String,
    }) {}
    

    The refactor supports:

    • All primitive types and common TypeScript constructs
    • Automatic reuse of existing Schema definitions for referenced types
    • Optional properties, unions, intersections, and nested structures
    • Both interface and type alias declarations
Effect-TS/effect (@​effect/opentelemetry)

v0.63.0

Compare Source

Patch Changes
  • #​5780 0d32048 Thanks @​mikearnaldi! - Add logs to first propagated span, in the following case before this fix the log would not be added to the p span because Effect.fn adds a fake span for the purpose of adding a stack frame.

    import { Effect } from "effect"
    
    const f = Effect.fn(function* () {
      yield* Effect.logWarning("FooBar")
      return yield* Effect.fail("Oops")
    })
    
    const p = f().pipe(Effect.withSpan("p"))
    
  • Updated dependencies [f7bb09b, bd7552a, ad1a7eb, 0d32048, 0d32048]:

v0.62.0

Compare Source

Patch Changes

v0.61.0

Compare Source

Minor Changes
  • #​5927 f4972ed Thanks @​davidgoli! - Add protobuf protocol support for OTLP exporters

    This introduces an OtlpSerialization service for choosing between JSON and Protobuf encoding.

    Breaking changes:

    • Otlp.layer now requires an OtlpSerialization layer to be provided for
      the desired encoding format.

    JSON encoding:

    import { Layer } from "effect"
    import { Otlp, OtlpSerialization } from "@&#8203;effect/opentelemetry"
    
    // Option 1: Explicit JSON layer
    const layer = Otlp.layerJson({
      baseUrl: "http://localhost:4318",
      resource: { serviceName: "my-service" }
    })
    
    // Option 2: Use `layer` and provide OtlpSerialization JSON layer
    const layer = Otlp.layer({
      baseUrl: "http://localhost:4318",
      resource: { serviceName: "my-service" }
    }).pipe(Layer.provide(OtlpSerialization.layerJson))
    

    Protobuf encoding:

    import { Otlp } from "@&#8203;effect/opentelemetry"
    
    // Simply use layerProtobuf for protobuf encoding
    const layer = Otlp.layerProtobuf({
      baseUrl: "http://localhost:4318",
      resource: { serviceName: "my-service" }
    })
    
  • #​5952 4725a7e Thanks @​clayroach! - Make @​opentelemetry/sdk-trace-node and @​opentelemetry/sdk-trace-web required peer dependencies instead of optional. This fixes module resolution errors when importing from the main entry point.

Patch Changes
  • #​5929 abdab5c Thanks @​schickling! - Fix Span.addEvent to correctly handle the 2-argument overload with attributes.

    Previously, calling span.addEvent("name", { foo: "bar" }) would throw TypeError: {} is not iterable because the implementation incorrectly treated the attributes object as a TimeInput. The fix adds proper runtime type discrimination to distinguish between TimeInput (number, Date, or HrTime tuple) and Attributes (plain object).

  • Updated dependencies [7e925ea, 118e7a4, d7e75d6, 4860d1e]:

v0.60.0

Compare Source

Patch Changes
Effect-TS/effect (@​effect/platform)

v0.96.1

Compare Source

Patch Changes
  • #​6147 518d0e3 Thanks @​syhstanley! - Fix HttpLayerRouter.addHttpApi silently skipping API-level middleware.

  • #​6191 c016642 Thanks @​IGassmann! - Update msgpackr to 1.11.10 to fix silent decode failures in environments that block new Function() at runtime (e.g. Cloudflare Workers). The new version wraps the JIT new Function() call in a try/catch, falling back to the interpreted path when dynamic code evaluation is blocked.

  • Updated dependencies [74f3267]:

    • effect@​3.21.2

v0.96.0

Compare Source

Patch Changes

v0.95.0

Compare Source

Patch Changes

v0.94.5

Compare Source

Patch Changes
  • #​6050 d67c708 Thanks @​tim-smart! - Backport Effect 4 contentType support for HttpBody JSON / URL-encoded constructors and HttpServerResponse JSON / URL-encoded helpers.

  • Updated dependencies [a8c436f]:

    • effect@​3.19.17

v0.94.4

Compare Source

Patch Changes

v0.94.3

Compare Source

Patch Changes
  • #​6021 0023c19 Thanks @​codewithkenzo! - Fix HttpClientRequest.appendUrl to properly join URL paths.

    Previously, appendUrl used simple string concatenation which could produce invalid URLs:

    // Before (broken):
    appendUrl("https://api.example.com/v1", "users")
    // Result: "https://api.example.com/v1users" (missing slash!)
    

    Now it ensures proper path joining:

    // After (fixed):
    appendUrl("https://api.example.com/v1", "users")
    // Result: "https://api.example.com/v1/users"
    
  • #​6019 9a96b87 Thanks @​codewithkenzo! - Fix retryTransient to use correct transient status codes

    Changed isTransientResponse from status >= 429 to an explicit allowlist (408, 429, 500, 502, 503, 504). This correctly excludes 501 (Not Implemented) and 505+ permanent errors, while including 408 (Request Timeout) which was previously missed.

    Also aligned response retry behavior with v4: the while predicate now only applies to error retries, not response retries. Response retries are determined solely by isTransientResponse. This matches the semantic intent since while is typed for errors, not responses.

    Fixes #​5995

  • Updated dependencies [e71889f]:

    • effect@​3.19.16

v0.94.2

Compare Source

Patch Changes

v0.94.1

Compare Source

Patch Changes
  • #​5936 65e9e35 Thanks @​schickling! - Document subtle CORS middleware allowedHeaders behavior: when empty array (default), it reflects back the client's Access-Control-Request-Headers (permissive), and when non-empty array, it only allows specified headers (restrictive). Added comprehensive JSDoc with examples.

  • #​5940 ee69cd7 Thanks @​kitlangton! - HttpServerResponse: fix fromWeb to preserve Content-Type header when response has a body

    Previously, when converting a web Response to an HttpServerResponse via fromWeb, the Content-Type header was not passed to Body.stream(), causing it to default to application/octet-stream. This affected any code using HttpApp.fromWebHandler to wrap web handlers, as JSON responses would incorrectly have their Content-Type set to application/octet-stream instead of application/json.

  • Updated dependencies [488d6e8]:

    • effect@​3.19.14

v0.94.0

Compare Source

Minor Changes
Patch Changes
Effect-TS/effect (@​effect/platform-browser)

v0.76.0

Compare Source

Patch Changes

v0.75.0

Compare Source

Patch Changes

v0.74.0

Compare Source

Patch Changes
Effect-TS/effect (@​effect/platform-bun)

v0.89.0

Compare Source

Patch Changes

v0.88.0

Compare Source

Patch Changes

v0.87.1

Compare Source

Patch Changes

v0.87.0

Compare Source

Patch Changes
Effect-TS/effect (@​effect/platform-node)

v0.106.0

Compare Source

Patch Changes

v0.105.0

Compare Source

Patch Changes

v0.104.1

Compare Source

Patch Changes

v0.104.0

Compare Source

Patch Changes
Effect-TS/effect (@​effect/rpc)

v0.75.1

Compare Source

Patch Changes

v0.75.0

Compare Source

Patch Changes

v0.74.0

Compare Source

Patch Changes

v0.73.2

Compare Source

Patch Changes
  • #​6065 94b00c8 Thanks @​marbemac! - Add optional defect parameter to Rpc.make for customizing defect serialization per-RPC. Defaults to Schema.Defect, preserving existing behavior.

  • Updated dependencies [12b1f1e]:

    • effect@​3.19.18

v0.73.1

Compare Source

Patch Changes

v0.73.0

Compare Source

Patch Changes
open-telemetry/opentelemetry-js (@​opentelemetry/exporter-trace-otlp-http)

v0.218.0

Compare Source

v0.217.0

Compare Source

v0.216.0

Compare Source

v0.215.0

Compare Source

v0.214.0

Compare Source

v0.213.0

Compare Source

v0.212.0

Compare Source

v0.211.0

Compare Source

v0.210.0

Compare Source

v0.209.0

Compare Source

evanw/esbuild (esbuild)

v0.28.0

Compare Source

  • Add support for with { type: 'text' } imports (#​4435)

    The import text proposal has reached stage 3 in the TC39 process, which means that it's recommended for implementation. It has also already been implemented by Deno and Bun. So with this release, esbuild also adds support for it. This behaves exactly the same as esbuild's existing text loader. Here's an example:

    import string from './example.txt' with { type: 'text' }
    console.log(string)
    
  • Add integrity checks to fallback download path (#​4343)

    Installing esbuild via npm is somewhat complicated with several different edge cases (see esbuild's documentation for details). If the regular installation of esbuild's platform-specific package fails, esbuild's install script attempts to download the platform-specific package itself (first with the npm command, and then with a HTTP request to registry.npmjs.org as a last resort).

    This last resort path previously didn't have any integrity checks. With this release, esbuild will now verify that the hash of the downloaded binary matches the expected hash for the current release. This means the hashes for all of esbuild's platform-specific binary packages will now be embedded in the top-level esbuild package. Hopefully this should work without any problems. But just in case, this change is being done as a breaking change release.

  • Update the Go compiler from 1.25.7 to 1.26.1

    This upgrade should not affect anything. However, there have been some significant internal changes to the Go compiler, so esbuild could potentially behave differently in certain edge cases:

    • It now uses the new garbage collector that comes with Go 1.26.
    • The Go compiler is now more aggressive with allocating memory on the stack.
    • The executable format that the Go linker uses has undergone several changes.
    • The WebAssembly build now unconditionally makes use of the sign extension and non-trapping floating-point to integer conversion instructions.

    You can read the Go 1.26 release notes for more information.

lucide-icons/lucide (lucide-react)

v0.577.0: Version 0.577.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.576.0...0.577.0

v0.576.0: Version 0.576.0

Compare Source

What's Changed

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.575.0...0.576.0

v0.575.0: Version 0.575.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.573.0...0.575.0

v0.574.0: Version 0.574.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.572.0...0.574.0

v0.573.0: Version 0.573.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.572.0...0.573.0

v0.572.0: Version 0.572.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.571.0...0.572.0

v0.571.0: Version 0.571.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.570.0...0.571.0

v0.570.0: Version 0.570.0

Compare Source

What's Changed

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.569.0...0.570.0

v0.569.0: Version 0.569.0

Compare Source

What's Changed

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.568.0...0.569.0

v0.568.0: Version 0.568.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.567.0...0.568.0

v0.567.0: Version 0.567.0

Compare Source

What's Changed

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.566.0...0.567.0

v0.566.0: Version 0.566.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.565.0...0.566.0

v0.565.0: Version 0.565.0

Compare Source

What's Changed

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.564.0...0.565.0

v0.564.0: Version 0.564.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.563.1...0.564.0

v0.563.0: Version 0.563.0

Compare Source

What's Changed

aria-hidden is by default added to icons components in all packages. This was already added to lucide-react before.
Making icons accessible, you can add an aria-label or a title. See docs about accessibility.

All changes

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.562.0...0.563.0

v0.562.0: Version 0.562.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.561.0...0.562.0

v0.561.0: Version 0.561.0

Compare Source

What's Changed

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.560.0...0.561.0

v0.560.0: Version 0.560.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.559.0...0.560.0

v0.559.0: Version 0.559.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.558.0...0.559.0

v0.558.0: Version 0.558.0

Compare Source

What's Changed

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.557.0...0.558.0

v0.557.0: Version 0.557.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/0.556.0...0.557.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.60.0` → `^0.86.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.60.0/0.86.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.86.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.60.0/0.86.1?slim=true) | | [@effect/opentelemetry](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/opentelemetry)) | [`^0.59.0` → `^0.63.0`](https://renovatebot.com/diffs/npm/@effect%2fopentelemetry/0.59.3/0.63.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fopentelemetry/0.63.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fopentelemetry/0.59.3/0.63.0?slim=true) | | [@effect/platform](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform)) | [`^0.93.0` → `^0.96.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform/0.93.8/0.96.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform/0.96.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform/0.93.8/0.96.1?slim=true) | | [@effect/platform-browser](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-browser)) | [`^0.73.0` → `^0.76.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-browser/0.73.0/0.76.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform-browser/0.76.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform-browser/0.73.0/0.76.0?slim=true) | | [@effect/platform-bun](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-bun)) | [`^0.86.0` → `^0.89.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-bun/0.86.0/0.89.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform-bun/0.89.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform-bun/0.86.0/0.89.0?slim=true) | | [@effect/platform-node](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-node)) | [`^0.103.0` → `^0.106.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-node/0.103.0/0.106.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform-node/0.106.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform-node/0.103.0/0.106.0?slim=true) | | [@effect/rpc](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/rpc)) | [`^0.72.0` → `^0.75.0`](https://renovatebot.com/diffs/npm/@effect%2frpc/0.72.2/0.75.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2frpc/0.75.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2frpc/0.72.2/0.75.1?slim=true) | | [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http) ([source](https://github.com/open-telemetry/opentelemetry-js)) | [`^0.208.0` → `^0.218.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-trace-otlp-http/0.208.0/0.218.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-trace-otlp-http/0.218.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-trace-otlp-http/0.208.0/0.218.0?slim=true) | | [esbuild](https://github.com/evanw/esbuild) | [`^0.27.0` → `^0.28.0`](https://renovatebot.com/diffs/npm/esbuild/0.27.7/0.28.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.28.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.27.7/0.28.0?slim=true) | | [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.556.0` → `^0.577.0`](https://renovatebot.com/diffs/npm/lucide-react/0.556.0/0.577.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.577.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.556.0/0.577.0?slim=true) | --- ### Release Notes <details> <summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary> ### [`v0.86.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.86.1) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.86.0...@effect/language-service@0.86.1) ##### Patch Changes - [#&#8203;732](https://github.com/Effect-TS/language-service/pull/732) [`0674371`](https://github.com/Effect-TS/language-service/commit/06743719d0dbcddf070884f2e64beba4e0eb3388) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 test harness and language service development dependencies to Effect 4.0.0 beta 66, including fixture updates for the latest Context service API. ### [`v0.86.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.86.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.85.1...@effect/language-service@0.86.0) ##### Minor Changes - [#&#8203;728](https://github.com/Effect-TS/language-service/pull/728) [`a5b0e47`](https://github.com/Effect-TS/language-service/commit/a5b0e4775a33f23150a0695d54cc81f784120f3e) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `unsafeEffectTypeAssertion` diagnostic to catch `as Effect<...>`, `as Stream<...>`, and `as Layer<...>` assertions that unsafely narrow the error or requirements channels. The rule skips channels whose original type is `any` and offers a quick fix that removes the assertion while preserving the original expression. ### [`v0.85.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.85.1) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.85.0...@effect/language-service@0.85.1) ##### Patch Changes - [#&#8203;726](https://github.com/Effect-TS/language-service/pull/726) [`fd4a8da`](https://github.com/Effect-TS/language-service/commit/fd4a8da7f400457fa33ac7f8c133de9697913133) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 beta examples and type parsing to match the renamed Context APIs in the latest 4.0.0-beta releases. - [#&#8203;724](https://github.com/Effect-TS/language-service/pull/724) [`14d5798`](https://github.com/Effect-TS/language-service/commit/14d57985e22545c49f6b8fba954096f3cb670372) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Refactor Effect context tracking to use cached node context flags and direct generator lookups. This aligns the TypeScript implementation more closely with the TSGo version and simplifies diagnostics that need to detect whether code is inside an Effect generator. ### [`v0.85.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.85.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.3...@effect/language-service@0.85.0) ##### Minor Changes - [#&#8203;720](https://github.com/Effect-TS/language-service/pull/720) [`4229bb9`](https://github.com/Effect-TS/language-service/commit/4229bb9ec89cfbcd7635c06fa75bf4b922c9bef6) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `nestedEffectGenYield` diagnostic to detect `yield* Effect.gen(...)` inside an existing Effect generator context. Example: ```ts Effect.gen(function* () { yield* Effect.gen(function* () { yield* Effect.succeed(1); }); }); ``` - [#&#8203;723](https://github.com/Effect-TS/language-service/pull/723) [`da9cc4b`](https://github.com/Effect-TS/language-service/commit/da9cc4bed785486280cf537e88667502638ed3a5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectMapFlatten` style diagnostic for `Effect.map(...)` immediately followed by `Effect.flatten` in pipe flows. Example: ```ts import { Effect } from "effect"; const program = Effect.succeed(1).pipe( Effect.map((n) => Effect.succeed(n + 1)), Effect.flatten ); ``` - [#&#8203;718](https://github.com/Effect-TS/language-service/pull/718) [`0af7c0f`](https://github.com/Effect-TS/language-service/commit/0af7c0f48ffb698c6e6ed37022cb16ecd659f554) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `lazyPromiseInEffectSync` diagnostic to catch `Effect.sync(() => Promise...)` patterns and suggest using `Effect.promise` or `Effect.tryPromise` for async work. Example: ```ts Effect.sync(() => Promise.resolve(1)); ``` - [#&#8203;714](https://github.com/Effect-TS/language-service/pull/714) [`32985b2`](https://github.com/Effect-TS/language-service/commit/32985b2cf6dce571c7771501c66f2df9afb6d4e2) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `processEnv` and `processEnvInEffect` diagnostics to guide `process.env.*` reads toward Effect `Config` APIs. Examples: - `process.env.PORT` - `process.env["API_KEY"]` - [#&#8203;721](https://github.com/Effect-TS/language-service/pull/721) [`f05ae89`](https://github.com/Effect-TS/language-service/commit/f05ae898bb276d547b347e393ff907f546c568d8) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `unnecessaryArrowBlock` style diagnostic for arrow functions whose block body only returns an expression. Example: ```ts const trim = (value: string) => { return value.trim(); }; ``` - [#&#8203;717](https://github.com/Effect-TS/language-service/pull/717) [`b77848a`](https://github.com/Effect-TS/language-service/commit/b77848a6ed27773de1ddfc2f37970360490cfc2e) Thanks [@&#8203;mattiamanzati](https://github.com/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. - [#&#8203;722](https://github.com/Effect-TS/language-service/pull/722) [`6f19858`](https://github.com/Effect-TS/language-service/commit/6f198588081761b9dc4f43315f4f9cb90fbafa8f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectDoNotation` style diagnostic for `Effect.Do` usage and suggest migrating to `Effect.gen` or `Effect.fn`. Example: ```ts 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) ); ``` - [#&#8203;716](https://github.com/Effect-TS/language-service/pull/716) [`c3f67b0`](https://github.com/Effect-TS/language-service/commit/c3f67b0411c0fdb75695f253ba130deca9d20190) Thanks [@&#8203;mattiamanzati](https://github.com/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 - [#&#8203;719](https://github.com/Effect-TS/language-service/pull/719) [`d23980a`](https://github.com/Effect-TS/language-service/commit/d23980a785508e53c83ffa49e1947f5ed1f66467) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 beta dependencies to `4.0.0-beta.43` for the language service and v4 harness packages. ### [`v0.84.3`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.3) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.2...@effect/language-service@0.84.3) ##### Patch Changes - [#&#8203;711](https://github.com/Effect-TS/language-service/pull/711) [`892984f`](https://github.com/Effect-TS/language-service/commit/892984f7d73fbe2f1dc3e84ceea77416517ad2ec) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Report floating `Stream` values in Effect projects by parsing `Stream` types in the diagnostic type parser and checking them in `floatingEffect` for both v3 and v4 harnesses. - [#&#8203;709](https://github.com/Effect-TS/language-service/pull/709) [`0372f58`](https://github.com/Effect-TS/language-service/commit/0372f588d403086b7e8c42603560d72c0f3c92fc) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix the Effect v4 completion harness to cover `ServiceMap` self-in-classes examples instead of the v3-only `Context.Tag` variants. - [#&#8203;712](https://github.com/Effect-TS/language-service/pull/712) [`b7554df`](https://github.com/Effect-TS/language-service/commit/b7554dfdcc04e8273901a5be44cbc823274b65d0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Align Effect diagnostic messages with the reviewed neutral wording, preserving the existing version-specific API references while updating both v3 and v4 snapshot fixtures. ### [`v0.84.2`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.2) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.1...@effect/language-service@0.84.2) ##### Patch Changes - [#&#8203;706](https://github.com/Effect-TS/language-service/pull/706) [`3c0bea6`](https://github.com/Effect-TS/language-service/commit/3c0bea6fbde0938bbe2ef745dfb6794373f7f8ef) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `getTypeAtLocation` to ignore type-only heritage expressions like `interface X extends Effect.Effect<...>` so the language service no longer triggers bogus TS2689 diagnostics. ### [`v0.84.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.1) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.0...@effect/language-service@0.84.1) ##### Patch Changes - [#&#8203;703](https://github.com/Effect-TS/language-service/pull/703) [`dea43b8`](https://github.com/Effect-TS/language-service/commit/dea43b88d4817daa51b9af1d87c33a37e34d01e4) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `effectFnImplicitAny` so it does not report false positives when an `Effect.fn` or `Effect.fnUntraced` callback gets its contextual function type from a union member. For example, nested `HttpRouter.add(...)` handlers now correctly recognize the inferred `request` type and produce no diagnostics when the parameter is not actually implicit `any`. - [#&#8203;702](https://github.com/Effect-TS/language-service/pull/702) [`0af9b98`](https://github.com/Effect-TS/language-service/commit/0af9b98369516dfa5bd654236bd73a218f32232c) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add Effect v4 support for the `runEffectInsideEffect` diagnostic so it suggests and fixes `Effect.run*With` usage based on `Effect.services`. Update the generated metadata, schema, README entry, and v4 harness examples/snapshots to document and verify the new behavior. ### [`v0.84.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.83.1...@effect/language-service@0.84.0) ##### Minor Changes - [#&#8203;696](https://github.com/Effect-TS/language-service/pull/696) [`78e78d5`](https://github.com/Effect-TS/language-service/commit/78e78d51e7931bbc9b5a032376c377b411bf71dc) Thanks [@&#8203;cevr](https://github.com/cevr)! - Add paired globalDate/globalDateInEffect, globalConsole/globalConsoleInEffect, globalFetch/globalFetchInEffect, globalRandom/globalRandomInEffect, and globalTimers/globalTimersInEffect diagnostics Ten new opt-in diagnostics that flag global/DOM APIs both outside and inside Effect generators: - `globalFetch` / `globalFetchInEffect` — `fetch()` → HttpClient - `globalDate` / `globalDateInEffect` — `Date.now()`, `new Date()` → Clock/DateTime - `globalConsole` / `globalConsoleInEffect` — `console.log/warn/error/info/debug/trace` → Effect.log/Logger - `globalRandom` / `globalRandomInEffect` — `Math.random()` → Random service - `globalTimers` / `globalTimersInEffect` — `setTimeout/setInterval` → Effect.sleep/Schedule All default to `off`. Enable both variants for full coverage inside and outside Effect generators. Shadow-safe (e.g. `const console = yield* Console` won't false-positive). ### [`v0.83.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.83.1) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.83.0...@effect/language-service@0.83.1) ##### Patch Changes - [#&#8203;698](https://github.com/Effect-TS/language-service/pull/698) [`b11c184`](https://github.com/Effect-TS/language-service/commit/b11c18417b170fb448c9a444178b0325b16c67b8) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 workspace dependencies to `4.0.0-beta.38`. ### [`v0.83.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.83.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.82.0...@effect/language-service@0.83.0) ##### Minor Changes - [#&#8203;695](https://github.com/Effect-TS/language-service/pull/695) [`f057090`](https://github.com/Effect-TS/language-service/commit/f057090da99b083fbda8f0507c09b6e198917d0d) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add a `config` CLI command for updating diagnostic rule severities without rerunning the full setup flow. - [#&#8203;693](https://github.com/Effect-TS/language-service/pull/693) [`b5054e3`](https://github.com/Effect-TS/language-service/commit/b5054e3e220b5a062f565ce1843db8150be2f07d) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add setup CLI preset management for diagnostic severities, including preset metadata, preset-aware customization, and a dedicated `config` command for adjusting rule severities without rerunning full setup. ### [`v0.82.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.82.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.81.0...@effect/language-service@0.82.0) ##### Minor Changes - [#&#8203;689](https://github.com/Effect-TS/language-service/pull/689) [`aed2074`](https://github.com/Effect-TS/language-service/commit/aed2074e250aa74a40f85219a3b9af08f61936df) Thanks [@&#8203;f15u](https://github.com/f15u)! - Adds ability to reference `$schema` from local installation - [#&#8203;692](https://github.com/Effect-TS/language-service/pull/692) [`57fcf35`](https://github.com/Effect-TS/language-service/commit/57fcf35cb93c045943f8b7b5431fdce4fa0ba6e1) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectFnImplicitAny` diagnostic to mirror `noImplicitAny` for unannotated `Effect.fn` and `Effect.fnUntraced` callback parameters, and support `// @&#8203;strict` in diagnostic example files so test fixtures can enable strict compiler options. ##### Patch Changes - [#&#8203;687](https://github.com/Effect-TS/language-service/pull/687) [`72827c0`](https://github.com/Effect-TS/language-service/commit/72827c0dcacf0fbeb24a066e4f98c08585a39341) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Allow the leaking requirements diagnostic to suppress specific leaked services with `@effect-expect-leaking` comments on the enclosing declaration. - [#&#8203;690](https://github.com/Effect-TS/language-service/pull/690) [`77906a9`](https://github.com/Effect-TS/language-service/commit/77906a97d9b51f10923e1efba2132227bcdcc660) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix the class self mismatch diagnostic so it also reports invalid `ServiceMap.Service` self type parameters. - [#&#8203;691](https://github.com/Effect-TS/language-service/pull/691) [`0e16db0`](https://github.com/Effect-TS/language-service/commit/0e16db0d0e233d58495cce3647c919ba45fb4d56) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Include start and end in json diagnostics command ### [`v0.81.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.81.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.80.0...@effect/language-service@0.81.0) ##### Minor Changes - [#&#8203;684](https://github.com/Effect-TS/language-service/pull/684) [`d8d472e`](https://github.com/Effect-TS/language-service/commit/d8d472e640bf737bd7bc2e8b698771dbe6daf940) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve setup diagnostic configuration with grouped preview-driven metadata, richer interactive prompt rendering, and support for tsconfig files without compilerOptions. - [#&#8203;685](https://github.com/Effect-TS/language-service/pull/685) [`d94f4ad`](https://github.com/Effect-TS/language-service/commit/d94f4ad6dbe8282726b523e086308cc9957b3667) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add a diagnostic for global `fetch` usage that recommends the Effect HTTP client and include preview fixtures covering both direct and shadowed fetch calls. ##### Patch Changes - [#&#8203;686](https://github.com/Effect-TS/language-service/pull/686) [`5f76175`](https://github.com/Effect-TS/language-service/commit/5f7617515cc412236318e6cf7c4a57ca06e553cf) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Extend the node built-in import diagnostic to also recommend the Effect HTTP client for `http` and `https` imports. - [#&#8203;682](https://github.com/Effect-TS/language-service/pull/682) [`75e1cbe`](https://github.com/Effect-TS/language-service/commit/75e1cbef8e56e66667edd7f2ce0a3f20208e26bd) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add diagnostic groups to rule metadata and render the README diagnostics table grouped by those sections. ### [`v0.80.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.80.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.79.0...@effect/language-service@0.80.0) ##### Minor Changes - [#&#8203;681](https://github.com/Effect-TS/language-service/pull/681) [`1017a54`](https://github.com/Effect-TS/language-service/commit/1017a5443b2e6919f18e57afb86373ba825037c9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Generate a root `schema.json` for `tsconfig.json` plugin configuration, add typed Effect Language Service plugin options to that schema, and have `effect-language-service setup` add or remove the matching `$schema` entry automatically. - [#&#8203;679](https://github.com/Effect-TS/language-service/pull/679) [`3664197`](https://github.com/Effect-TS/language-service/commit/3664197f271012d001f6074d40c5303826d632ce) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add inline `--lspconfig` support to the `effect-language-service diagnostics` CLI command so diagnostics runs can override the project plugin configuration without editing `tsconfig.json`. ### [`v0.79.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.79.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.78.0...@effect/language-service@0.79.0) ##### Minor Changes - [#&#8203;671](https://github.com/Effect-TS/language-service/pull/671) [`6b9c378`](https://github.com/Effect-TS/language-service/commit/6b9c378c4e1d0c83e4afe322cf44ccacd75d1cb4) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `extendsNativeError` diagnostic to warn when classes directly extend the native `Error` constructor, including common local aliases such as `const E = Error`. This helps steer users toward tagged errors that preserve stronger typing in the Effect failure channel. - [#&#8203;678](https://github.com/Effect-TS/language-service/pull/678) [`0e9c11b`](https://github.com/Effect-TS/language-service/commit/0e9c11b4b3c076adef62e31722855ebc0071aaf6) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Generate the README diagnostics table from the diagnostic registry. Each diagnostic now declares: - whether it is fixable - which Effect versions it supports The generated table is checked in CI, and diagnostics tests verify that `fixable` matches the presence of non-suppression quick fixes. - [#&#8203;676](https://github.com/Effect-TS/language-service/pull/676) [`2f982d6`](https://github.com/Effect-TS/language-service/commit/2f982d69541633aca2cd3bcdc89bdae7d17cb97b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `nodeBuiltinImport` diagnostic to warn when importing Node.js built-in modules (`fs`, `path`, `child_process`) that have Effect-native counterparts in `@effect/platform`. This diagnostic covers ES module imports and top-level `require()` calls, matching both bare and `node:`-prefixed specifiers as well as subpath variants like `fs/promises`, `path/posix`, and `path/win32`. It defaults to severity `off` and provides no code fixes. - [#&#8203;673](https://github.com/Effect-TS/language-service/pull/673) [`f9e24df`](https://github.com/Effect-TS/language-service/commit/f9e24df5db70110d5e84da45810bd82cf12fadc7) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add plugin options to better control patched `tsc` behavior. `ignoreEffectErrorsInTscExitCode` allows Effect diagnostics reported as errors to be ignored for exit-code purposes, and `skipDisabledOptimiziation` keeps disabled diagnostics eligible for comment-based overrides when patch mode is active. - [#&#8203;674](https://github.com/Effect-TS/language-service/pull/674) [`54e8c16`](https://github.com/Effect-TS/language-service/commit/54e8c16865e99be9b6faec3e50c17d1e501242f9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `serviceNotAsClass` diagnostic to warn when `ServiceMap.Service` is used as a variable assignment instead of in a class declaration. Includes an auto-fix that converts `const Config = ServiceMap.Service<Shape>("Config")` to `class Config extends ServiceMap.Service<Config, Shape>()("Config") {}`. ##### Patch Changes - [#&#8203;675](https://github.com/Effect-TS/language-service/pull/675) [`d1f09c3`](https://github.com/Effect-TS/language-service/commit/d1f09c364bde5a14905b4a9d030830309b6aab43) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Rename the `skipDisabledOptimiziation` plugin option to `skipDisabledOptimization`. Example: ```json { "compilerOptions": { "plugins": [ { "name": "@&#8203;effect/language-service", "skipDisabledOptimization": true } ] } } ``` ### [`v0.78.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.78.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.77.0...@effect/language-service@0.78.0) ##### Minor Changes - [#&#8203;663](https://github.com/Effect-TS/language-service/pull/663) [`0e82d43`](https://github.com/Effect-TS/language-service/commit/0e82d437e91fe0b98c51b4b53c8d06f29aa41b8e) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve `effectFnOpportunity` inferred span naming for service-layer methods and align examples for Effect v4. The inferred span can now include service + method names (for example `MyService.log`) when the convertible function is a method inside a layer service object for strict supported patterns like: - `Layer.succeed(Service)(...)` - `Layer.sync(Service)(...)` - `Layer.effect(Service)(Effect.gen(...))` - `Layer.effect(Service, Effect.gen(...))` Also add Effect v4 diagnostics fixtures for: - `effectFnOpportunity_inferred.ts` - `effectFnOpportunity_inferredLayer.ts` - [#&#8203;669](https://github.com/Effect-TS/language-service/pull/669) [`a010a29`](https://github.com/Effect-TS/language-service/commit/a010a29d219a22da2553d82da3bbabc3312106f5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add a new `effectInFailure` diagnostic that warns when an `Effect` computation appears in the failure channel (`E`) of another `Effect`. The rule traverses Effect-typed expressions, unrolls union members of `E`, and reports when any member is itself a strict Effect type. It prefers innermost matches for nested cases (for example nested `Effect.try` in `catch`) to avoid noisy parent reports. ##### Patch Changes - [#&#8203;666](https://github.com/Effect-TS/language-service/pull/666) [`06b3a6c`](https://github.com/Effect-TS/language-service/commit/06b3a6ce41c24459120c6a396804dadaf420786a) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `effectFnOpportunity` inferred span naming for `Layer.*(this, ...)` patterns in class static members. When the inferred layer target is `this`, the diagnostic now uses the nearest enclosing class name (for example `MyService`) instead of the literal `this` token. - [#&#8203;665](https://github.com/Effect-TS/language-service/pull/665) [`a95a679`](https://github.com/Effect-TS/language-service/commit/a95a6792e313ac920f6621858439b18d52c9c0d9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve yield-based diagnostics and hover behavior by introducing `effectYieldableType` in `TypeParser` and using it in `missingReturnYieldStar`. - In Effect v4, yieldable values are recognized through `asEffect()` and mapped to Effect `A/E/R`. - In Effect v3, `effectYieldableType` falls back to standard `effectType` behavior. - `missingReturnYieldStar` now correctly handles yieldable values such as `Option.none()`. - Hover support for `yield*` was updated to use yieldable parsing paths. - [#&#8203;664](https://github.com/Effect-TS/language-service/pull/664) [`934ef7e`](https://github.com/Effect-TS/language-service/commit/934ef7e0b58bc5260425b47a9efe1f4d0ccc26f0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve `missingReturnYieldStar` safety by targeting only expression statements with top-level `yield*` expressions and validating the enclosing `Effect.gen` scope via `findEnclosingScopes`. This avoids edge cases where nested or wrapped `yield*` expressions could be matched incorrectly. - [#&#8203;661](https://github.com/Effect-TS/language-service/pull/661) [`0f92686`](https://github.com/Effect-TS/language-service/commit/0f92686ac86b4f90eea436c542914ce59c39afb6) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update effect dependency to v4.0.0-beta.19 and fix compatibility issues: - Fix `layerMagic` refactor producing `any` types in Layer channels by replacing `Array.partition` (which now uses the v4 `Filter.Filter` API) with a native loop for boolean partition logic - Add v4 Layer type detection shortcut using `"~effect/Layer"` TypeId property, matching the pattern already used for Effect type detection - Mark `Effect.filterMap` as unchanged in the outdated API migration database since it was re-added in v4 ### [`v0.77.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.77.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.76.0...@effect/language-service@0.77.0) ##### Minor Changes - [#&#8203;655](https://github.com/Effect-TS/language-service/pull/655) [`c875de2`](https://github.com/Effect-TS/language-service/commit/c875de2c2334f740155f5a1e8a1a44636506d157) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `outdatedApi` diagnostic that warns when using outdated Effect APIs in a project targeting a newer version of Effect. ##### Patch Changes - [#&#8203;660](https://github.com/Effect-TS/language-service/pull/660) [`99a97a6`](https://github.com/Effect-TS/language-service/commit/99a97a6a4e275d03562de7ede2a2510f1c06f230) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Dispose TypeScript language services in tests to prevent resource leaks Added `languageService.dispose()` calls via `try/finally` patterns to all test files that create language services through `createServicesWithMockedVFS()`. This ensures proper cleanup of TypeScript compiler resources after each test completes, preventing memory leaks during test runs. - [#&#8203;658](https://github.com/Effect-TS/language-service/pull/658) [`0154667`](https://github.com/Effect-TS/language-service/commit/0154667a23c95a8133751b3454b9233ddc39d8e3) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix outdated API diagnostic for Effect v4 compatibility - Fixed `TaggedError` completion to use `TaggedErrorClass` matching the v4 API - Removed `Schema.RequestClass` examples that no longer exist in v4 - Updated Effect v4 harness to latest version - [#&#8203;659](https://github.com/Effect-TS/language-service/pull/659) [`2699a80`](https://github.com/Effect-TS/language-service/commit/2699a80e3ecbce91db269cd34689752950d8d278) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add support for `Model.Class` from `effect/unstable/schema` in completions and diagnostics. The `classSelfMismatch` diagnostic now detects mismatched Self type parameters in `Model.Class` declarations, and the autocomplete for Self type in classes now suggests `Model.Class` when typing after `Model.`. ```ts import { Model } from "effect/unstable/schema"; // autocomplete triggers after `Model.` export class MyDataModel extends Model.Class<MyDataModel>("MyDataModel")({ id: Schema.String, }) {} ``` ### [`v0.76.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.76.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.75.1...@effect/language-service@0.76.0) ##### Minor Changes - [#&#8203;651](https://github.com/Effect-TS/language-service/pull/651) [`aeab349`](https://github.com/Effect-TS/language-service/commit/aeab349b498c5bea4d050409a57f8f1900190c39) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add refactor to convert `Effect.Service` to `Context.Tag` with a static `Layer` property. Supports all combinator kinds (`effect`, `scoped`, `sync`, `succeed`) and `dependencies`. The refactor replaces the `Effect.Service` class declaration with a `Context.Tag` class that has a `static layer` property using the corresponding `Layer` combinator. Before: ```ts export class MyService extends Effect.Service<MyService>()("MyService", { effect: Effect.gen(function* () { return { value: "hello" }; }), }) {} ``` After: ```ts export class MyService extends Context.Tag("MyService")< MyService, { value: string } >() { static layer = Layer.effect( this, Effect.gen(function* () { return { value: "hello" }; }) ); } ``` - [#&#8203;654](https://github.com/Effect-TS/language-service/pull/654) [`2c93eab`](https://github.com/Effect-TS/language-service/commit/2c93eabfd7b799543832dc84304f20c90382c7eb) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Migrate internal Effect dependency from v3 to v4. This updates all CLI and core modules to use the Effect v4 API while maintaining full backward compatibility with existing functionality. ### [`v0.75.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.75.1) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.75.0...@effect/language-service@0.75.1) ##### Patch Changes - [#&#8203;647](https://github.com/Effect-TS/language-service/pull/647) [`489e3f0`](https://github.com/Effect-TS/language-service/commit/489e3f05727ded4bf62585042135a0b5cec1068b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Expose diagnostic quick fixes as refactoring actions to work around TypeScript's limited quick fix handling in some contexts - [#&#8203;650](https://github.com/Effect-TS/language-service/pull/650) [`6f568cf`](https://github.com/Effect-TS/language-service/commit/6f568cf37a76b23a1a864c4852250f62083379ad) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix TypeParser to skip types with generic call signatures. When parsing covariant, contravariant, or invariant types, signatures with type parameters are now correctly rejected instead of being treated as concrete types. - [#&#8203;649](https://github.com/Effect-TS/language-service/pull/649) [`5858fd1`](https://github.com/Effect-TS/language-service/commit/5858fd1d87a4cc1e16f0f1bdb69532b2a1fefac0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Performance improvements: replace `Nano.gen` with `Nano.fn` named functions across diagnostics, refactors, and code generation modules for better performance tracking and reduced runtime overhead. Add conditional `debugPerformance` flag to avoid unnecessary timing collection when not debugging. ### [`v0.75.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.75.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.74.0...@effect/language-service@0.75.0) ##### Minor Changes - [#&#8203;645](https://github.com/Effect-TS/language-service/pull/645) [`a8a7d33`](https://github.com/Effect-TS/language-service/commit/a8a7d33f3a4ff0762c18c0858084f61e149da33f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `ServiceMap.Service` class completion for Effect v4, and fix Schema class completions for v4 (`TaggedErrorClass`, `TaggedClass` now available, `ErrorClass` fully-qualified form fixed, `RequestClass` removed) ### [`v0.74.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.74.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.73.1...@effect/language-service@0.74.0) ##### Minor Changes - [#&#8203;641](https://github.com/Effect-TS/language-service/pull/641) [`693e5a5`](https://github.com/Effect-TS/language-service/commit/693e5a5ef2ee184e0a7d72cb3abc8485c2c0f855) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Added Effect v4 support for diagnostics, refactors, and piping features. **Diagnostics:** - `multipleEffectProvide`: Warns when multiple `Effect.provide` calls are chained, suggesting consolidation - `strictEffectProvide`: Warns when using `Effect.provide` with Layer outside of application entry points - `missingLayerContext`: Detects missing Layer context requirements - `deterministicKeys`: Extended to support `ServiceMap.Service` patterns - `leakingRequirements`: Extended to detect leaking requirements in ServiceMap services - `schemaSyncInEffect`: Updated with v4-specific method mappings (e.g., `decodeSync` -> `decodeEffect`) **Refactors:** - `layerMagic`: Automatically compose and build layers based on service dependencies - `structuralTypeToSchema`: Convert TypeScript interfaces and type aliases to Effect Schema classes - `makeSchemaOpaque`: Enhanced for v4 with support for `Codec`, `DecodingServices`, and `EncodingServices` types - `typeToEffectSchema`: Enhanced to support Effect v4 schema patterns **Piping:** - Added pipe transformation support for Effect v4 including `Effect.fn`, nested pipes, and function call conversions ##### Patch Changes - [#&#8203;643](https://github.com/Effect-TS/language-service/pull/643) [`68f6d12`](https://github.com/Effect-TS/language-service/commit/68f6d120adb3dbf46593ca125e10a070e41fbc46) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Disable `schemaUnionOfLiterals` diagnostic for Effect v4, as `Schema.Union` of multiple `Schema.Literal` calls is no longer applicable in v4. ### [`v0.73.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.73.1) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.73.0...@effect/language-service@0.73.1) ##### Patch Changes - [#&#8203;639](https://github.com/Effect-TS/language-service/pull/639) [`ff72045`](https://github.com/Effect-TS/language-service/commit/ff72045531c2b04318b89bb131f131b114b22818) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add wildcard (`*`) support for `@effect-diagnostics` comment directives. You can now use `*` as a rule name to apply a severity override to all diagnostics at once, e.g. `@effect-diagnostics *:off` disables all Effect diagnostics from that point on. Rule-specific overrides still take precedence over wildcard overrides. ### [`v0.73.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.73.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.72.1...@effect/language-service@0.73.0) ##### Minor Changes - [#&#8203;637](https://github.com/Effect-TS/language-service/pull/637) [`616c2cc`](https://github.com/Effect-TS/language-service/commit/616c2cc21c9526da9b97f5c122ef0e2789f9bdff) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add Effect v4 completions support - Detect installed Effect version (v3 or v4) and conditionally enable version-specific completions - Add `Schema.ErrorClass` and `Schema.RequestClass` completions for Effect v4 - Disable v3-only completions (`Effect.Service`, `Effect.Tag`, `Schema.TaggedError`, `Schema.TaggedClass`, `Schema.TaggedRequest`, `Context.Tag` self, `Rpc.make` classes, `Schema.brand`, `Model.Class`) when Effect v4 is detected - Support lowercase `taggedEnum` in addition to `TaggedEnum` for v4 API compatibility ### [`v0.72.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.72.1) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.72.0...@effect/language-service@0.72.1) ##### Patch Changes - [#&#8203;635](https://github.com/Effect-TS/language-service/pull/635) [`b16fd37`](https://github.com/Effect-TS/language-service/commit/b16fd378797be05462ff7a9537a799613abd7be5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix effectGenToFn refactor to convert `Effect<A, E, R>` return types to `Effect.fn.Return<A, E, R>` Before this fix, the "Convert to fn" refactor would keep the original `Effect.Effect<A, E, R>` return type, producing code that doesn't compile. Now it correctly transforms the return type: ```ts // Before refactor const someFunction = (value: string): Effect.Effect<number, boolean> => Effect.gen(function* () { /* ... */ }); // After refactor (fixed) const someFunction = Effect.fn("someFunction")(function* ( value: string ): Effect.fn.Return<number, boolean, never> { /* ... */ }); ``` - [#&#8203;630](https://github.com/Effect-TS/language-service/pull/630) [`689a012`](https://github.com/Effect-TS/language-service/commit/689a01258a62bda671408045572649936c09ea39) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Restructure test harness setup by moving shared test utilities and updating package dependencies ### [`v0.72.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.72.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.71.2...@effect/language-service@0.72.0) ##### Minor Changes - [#&#8203;627](https://github.com/Effect-TS/language-service/pull/627) [`a34f997`](https://github.com/Effect-TS/language-service/commit/a34f997af3b97f0d97ac755ee044f9653724b7d2) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Refactor internal structure and harness ### [`v0.71.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0712) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.71.1...v0.71.2) ##### Patch Changes - [#&#8203;625](https://github.com/Effect-TS/language-service/pull/625) [`422087d`](https://github.com/Effect-TS/language-service/commit/422087d01211da6e917da0a5f67cf1d8b08924e5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix CLI patching to target `emitFilesAndReportErrors` function instead of `emitFilesAndReportErrorsAndGetExitStatus`, updating the injection approach to replace the diagnostics property in the return statement's object literal. ### [`v0.71.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0711) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.71.0...v0.71.1) ##### Patch Changes - [#&#8203;624](https://github.com/Effect-TS/language-service/pull/624) [`d279457`](https://github.com/Effect-TS/language-service/commit/d279457ed54c389e6725b4ed8a19edf53f4e7094) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `ignoreEffectSuggestionsInTscExitCode` option (default: `true`) to control whether Effect-related suggestions affect the TSC exit code. When enabled, suggestions won't cause `tsc` to return a non-zero exit code. - [#&#8203;622](https://github.com/Effect-TS/language-service/pull/622) [`5eab20a`](https://github.com/Effect-TS/language-service/commit/5eab20a1a8fd86f19360a573f074f1dec0dcf308) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `ignoreEffectWarningsInTscExitCode` option to allow Effect-related warnings to not affect the TSC exit code. When enabled, `tsc` will compile successfully even if Effect warnings are emitted. This is useful for CI/CD pipelines where Effect diagnostics should be informational rather than blocking. ### [`v0.71.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0710) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.70.0...v0.71.0) ##### Minor Changes - [#&#8203;619](https://github.com/Effect-TS/language-service/pull/619) [`f171350`](https://github.com/Effect-TS/language-service/commit/f171350ffc34d9dfe0989027ec3d39eed42eaabe) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `effectSucceedWithVoid` diagnostic to suggest using `Effect.void` instead of `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. The diagnostic detects calls to `Effect.succeed` where the argument is exactly `undefined` or `void 0` (including parenthesized variants) and suggests replacing them with the more idiomatic `Effect.void`. A quick fix is provided to automatically apply the replacement. Before: ```typescript Effect.succeed(undefined); Effect.succeed(void 0); ``` After: ```typescript Effect.void; ``` ##### Patch Changes - [#&#8203;621](https://github.com/Effect-TS/language-service/pull/621) [`74ef937`](https://github.com/Effect-TS/language-service/commit/74ef937ae072e051b113d75429b48338fcc57bc4) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve diagnostic messages for `globalErrorInEffectFailure` and `globalErrorInEffectCatch` to be more concise and actionable. Before: ``` The global Error type is used in an Effect failure channel. It's not recommended to use the global Error type in Effect failures as they can get merged together. Instead, use tagged errors or custom errors with a discriminator property to get properly type-checked errors. ``` After: ``` Global 'Error' loses type safety as untagged errors merge together in the Effect failure channel. Consider using a tagged error and optionally wrapping the original in a 'cause' property. ``` ### [`v0.70.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0700) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.69.2...v0.70.0) ##### Minor Changes - [#&#8203;618](https://github.com/Effect-TS/language-service/pull/618) [`ed689f8`](https://github.com/Effect-TS/language-service/commit/ed689f8e557481eddee3ed4bdd56d8e1320f164d) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve `globalErrorInEffectFailure` diagnostic to detect global Error type in any Effect failure channel. The diagnostic now works by finding `new Error()` expressions and checking if they end up in an Effect's failure channel, rather than only checking `Effect.fail` calls. This means it will now detect global Error usage in: - `Effect.fail(new Error(...))` - `Effect.gen` functions that fail with global Error - `Effect.mapError` converting to global Error - `Effect.flatMap` chains that include global Error The diagnostic now reports at the `new Error()` location for better precision. ##### Patch Changes - [#&#8203;616](https://github.com/Effect-TS/language-service/pull/616) [`b32da44`](https://github.com/Effect-TS/language-service/commit/b32da446de65bcc1dad802a9b6c82c43ae4dd6fd) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve `missedPipeableOpportunity` diagnostic message to show the suggested subject for `.pipe(...)`. Before: ``` Nested function calls can be converted to pipeable style for better readability. ``` After: ``` Nested function calls can be converted to pipeable style for better readability; consider using addOne(5).pipe(...) instead. ``` ### [`v0.69.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0692) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.69.1...v0.69.2) ##### Patch Changes - [#&#8203;612](https://github.com/Effect-TS/language-service/pull/612) [`2b49181`](https://github.com/Effect-TS/language-service/commit/2b49181323b5d969897749412af896a0a7d2325f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve effectFnIife diagnostic message to suggest Effect.withSpan with the trace name when available When `Effect.fn("traceName")` is used as an IIFE, the diagnostic now suggests using `Effect.gen` with `Effect.withSpan("traceName")` piped at the end to maintain tracing spans. For `Effect.fnUntraced`, it simply suggests using `Effect.gen` without the span suggestion. - [#&#8203;615](https://github.com/Effect-TS/language-service/pull/615) [`ae4f054`](https://github.com/Effect-TS/language-service/commit/ae4f054cdd6d1c6c2c5f906d7c6dd25ab2b35526) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve effectFnOpportunity diagnostic with more specific messages and configurable fixes - Add new `effectFn` configuration option to control which code fix variants are offered: `"untraced"`, `"span"`, `"inferred-span"`, `"no-span"` (defaults to `["span"]`) - Diagnostic message now shows the exact expected signature for the rewrite - Distinguish between explicit trace from `Effect.withSpan` vs inferred trace from function name - Skip functions with return type annotations to avoid issues with recursive functions **Before:** ``` This function could benefit from Effect.fn's automatic tracing... ``` **After:** ``` Can be rewritten as a reusable function: Effect.fn("myFunction")(function*() { ... }) ``` ### [`v0.69.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0691) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.69.0...v0.69.1) ##### Patch Changes - [#&#8203;610](https://github.com/Effect-TS/language-service/pull/610) [`990ccbc`](https://github.com/Effect-TS/language-service/commit/990ccbc98f784fe2aea8f12be4fa8c138de2feca) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve effectFnOpportunity diagnostic message to mention that quickfixes are available in the editor or via the CLI quickfixes command. ### [`v0.69.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0690) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.68.0...v0.69.0) ##### Minor Changes - [#&#8203;608](https://github.com/Effect-TS/language-service/pull/608) [`bc7da1e`](https://github.com/Effect-TS/language-service/commit/bc7da1ef6f0f3d4aa0e88ef28de49e6845c764df) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `effectFnIife` diagnostic to warn when `Effect.fn` or `Effect.fnUntraced` is used as an IIFE (Immediately Invoked Function Expression). `Effect.fn` is designed to create reusable functions that can take arguments and provide tracing. When used as an IIFE, `Effect.gen` is more appropriate. **Example:** ```ts // Before (triggers warning) const result = Effect.fn("test")(function* () { yield* Effect.succeed(1); })(); // After (using Effect.gen) const result = Effect.gen(function* () { yield* Effect.succeed(1); }); ``` A quick fix is provided to automatically convert `Effect.fn` IIFEs to `Effect.gen`. ### [`v0.68.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0680) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.67.0...v0.68.0) ##### Minor Changes - [#&#8203;603](https://github.com/Effect-TS/language-service/pull/603) [`d747210`](https://github.com/Effect-TS/language-service/commit/d747210f173d87e068ad2370f6b7667be7cde07d) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Added `instanceOfSchema` diagnostic that suggests using `Schema.is` instead of `instanceof` for Effect Schema types. Example: ```typescript import { Schema } from "effect" const MySchema = Schema.Struct({ name: Schema.String }) // Before - triggers diagnostic if (value instanceof MySchema) { ... } // After - using Schema.is if (Schema.is(MySchema)(value)) { ... } ``` The diagnostic is disabled by default and can be enabled with `instanceOfSchema:suggestion` or `instanceOfSchema:warning`. ##### Patch Changes - [#&#8203;605](https://github.com/Effect-TS/language-service/pull/605) [`d63d5df`](https://github.com/Effect-TS/language-service/commit/d63d5df97858c8fd5a5af325141b08414f3d6eca) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve `leakingRequirements` diagnostic message for clarity ### [`v0.67.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0670) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.66.1...v0.67.0) ##### Minor Changes - [#&#8203;599](https://github.com/Effect-TS/language-service/pull/599) [`4c9f5c7`](https://github.com/Effect-TS/language-service/commit/4c9f5c7c27e551e23c12ba31e07a955c5e15f5c9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `quickfixes` CLI command that shows diagnostics with available quick fixes and their proposed code changes. Example usage: ```bash # Check a specific file effect-language-service quickfixes --file ./src/index.ts # Check an entire project effect-language-service quickfixes --project ./tsconfig.json ``` The command displays each diagnostic along with the available code fixes and a diff preview of the proposed changes, making it easy to see what automatic fixes are available before applying them. ##### Patch Changes - [#&#8203;601](https://github.com/Effect-TS/language-service/pull/601) [`c0a6da3`](https://github.com/Effect-TS/language-service/commit/c0a6da3811915b53e04cc1a237c4fa93d6fc91b0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Reduce over-suggestion of effectFnOpportunity diagnostic for regular functions. The diagnostic now only suggests `Effect.fn` for regular functions (not using `Effect.gen`) when: - The function has a block body (not a concise arrow expression) - The function body has more than 5 statements Functions using `Effect.gen` are still always suggested regardless of body size. ### [`v0.66.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0661) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.65.0...v0.66.1) ##### Patch Changes - [#&#8203;597](https://github.com/Effect-TS/language-service/pull/597) [`3833a10`](https://github.com/Effect-TS/language-service/commit/3833a10e3188c4ebf113625c00f60e17b8bf6b80) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improved `effectFnOpportunity` diagnostic message to mention that Effect.fn accepts piped transformations as additional arguments when pipe transformations are detected. When a function has `.pipe()` calls that would be absorbed by Effect.fn, the message now includes: "Effect.fn also accepts the piped transformations as additional arguments." ### [`v0.65.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0650) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.64.1...v0.65.0) ##### Minor Changes - [#&#8203;581](https://github.com/Effect-TS/language-service/pull/581) [`4569328`](https://github.com/Effect-TS/language-service/commit/456932800d7abe81e14d910b25d91399277a23f5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `effectFnOpportunity` diagnostic that suggests converting functions returning `Effect.gen` to `Effect.fn` for better tracing and concise syntax. The diagnostic triggers on: - Arrow functions returning `Effect.gen(...)` - Function expressions returning `Effect.gen(...)` - Function declarations returning `Effect.gen(...)` - Functions with `Effect.gen(...).pipe(...)` patterns It provides two code fixes: - Convert to `Effect.fn` (traced) - includes the function name as the span name - Convert to `Effect.fnUntraced` - without tracing The diagnostic skips: - Generator functions (can't be converted) - Named function expressions (typically used for recursion) - Functions with multiple call signatures (overloads) When the original function has a return type annotation, the converted function will use `Effect.fn.Return<A, E, R>` as the return type. Example: ```ts // Before export const myFunction = (a: number) => Effect.gen(function* () { yield* Effect.succeed(1); return a; }); // After (with Effect.fn) export const myFunction = Effect.fn("myFunction")(function* (a: number) { yield* Effect.succeed(1); return a; }); // Before (with pipe) export const withPipe = () => Effect.gen(function* () { return yield* Effect.succeed(1); }).pipe(Effect.withSpan("withPipe")); // After (with Effect.fn) export const withPipe = Effect.fn("withPipe")(function* () { return yield* Effect.succeed(1); }, Effect.withSpan("withPipe")); ``` - [#&#8203;575](https://github.com/Effect-TS/language-service/pull/575) [`00aeed0`](https://github.com/Effect-TS/language-service/commit/00aeed0c8aadcd0b0c521e4339aa6a1a18eae772) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `effectMapVoid` diagnostic that suggests using `Effect.asVoid` instead of `Effect.map(() => void 0)`, `Effect.map(() => undefined)`, or `Effect.map(() => {})`. Also adds two new TypeParser utilities: - `lazyExpression`: matches zero-argument arrow functions or function expressions that return a single expression - `emptyFunction`: matches arrow functions or function expressions with an empty block body And adds `isVoidExpression` utility to TypeScriptUtils for detecting `void 0` or `undefined` expressions. Example: ```ts // Before Effect.succeed(1).pipe(Effect.map(() => void 0)); Effect.succeed(1).pipe(Effect.map(() => undefined)); Effect.succeed(1).pipe(Effect.map(() => {})); // After (suggested fix) Effect.succeed(1).pipe(Effect.asVoid); ``` - [#&#8203;582](https://github.com/Effect-TS/language-service/pull/582) [`94d4a6b`](https://github.com/Effect-TS/language-service/commit/94d4a6bcaa39d8b33e66390d1ead5b1da1a8f16f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Added `layerinfo` CLI command that provides detailed information about a specific exported layer. Features: - Shows layer type, location, and description - Lists services the layer provides and requires - Suggests optimal layer composition order using `Layer.provide`, `Layer.provideMerge`, and `Layer.merge` Example usage: ```bash effect-language-service layerinfo --file ./src/layers/app.ts --name AppLive ``` Also added a tip to both `overview` and `layerinfo` commands about using `Layer.mergeAll(...)` to get suggested composition order. - [#&#8203;583](https://github.com/Effect-TS/language-service/pull/583) [`b0aa78f`](https://github.com/Effect-TS/language-service/commit/b0aa78fb75f2afed944fb062e8e74ec6eb1492c1) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `redundantSchemaTagIdentifier` diagnostic that suggests removing redundant identifier arguments when they equal the tag value in `Schema.TaggedClass`, `Schema.TaggedError`, or `Schema.TaggedRequest`. **Before:** ```typescript class MyError extends Schema.TaggedError<MyError>("MyError")("MyError", { message: Schema.String, }) {} ``` **After applying the fix:** ```typescript class MyError extends Schema.TaggedError<MyError>()("MyError", { message: Schema.String, }) {} ``` Also updates the completions to not include the redundant identifier when autocompleting `Schema.TaggedClass`, `Schema.TaggedError`, and `Schema.TaggedRequest`. - [#&#8203;573](https://github.com/Effect-TS/language-service/pull/573) [`6715f91`](https://github.com/Effect-TS/language-service/commit/6715f9131059737cf4b2d2988d7981971943ac0e) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Rename `reportSuggestionsAsWarningsInTsc` option to `includeSuggestionsInTsc` and change default to `true`. This option controls whether diagnostics with "suggestion" severity are included in TSC output when using the `effect-language-service patch` feature. When enabled, suggestions are reported as messages in TSC output, which is useful for LLM-based development tools to see all suggestions. **Breaking change**: The option has been renamed and the default behavior has changed: - Old: `reportSuggestionsAsWarningsInTsc: false` (suggestions not included by default) - New: `includeSuggestionsInTsc: true` (suggestions included by default) To restore the previous behavior, set `"includeSuggestionsInTsc": false` in your tsconfig.json plugin configuration. - [#&#8203;586](https://github.com/Effect-TS/language-service/pull/586) [`e225b5f`](https://github.com/Effect-TS/language-service/commit/e225b5fb242d269b75eb6a04c89ae6372e53c8ec) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add markdown documentation support to setup command The setup command now automatically manages Effect Language Service documentation in AGENTS.md and CLAUDE.md files: - When installing: Adds or updates the Effect Language Service section with markers - When uninstalling: Removes the section if present - Case-insensitive file detection (supports both lowercase and uppercase filenames) - Skips symlinked files to avoid modifying linked content - Shows proper diff view for markdown file changes Example section added to markdown files: ```markdown <!-- effect-language-service:start --> ## Effect Language Service The Effect Language Service comes in with a useful CLI that can help you with commands to get a better understanding your Effect Layers and Services, and to help you compose them correctly. <!-- effect-language-service:end --> ``` ##### Patch Changes - [#&#8203;580](https://github.com/Effect-TS/language-service/pull/580) [`a45606b`](https://github.com/Effect-TS/language-service/commit/a45606b2b0d64bd06436c1e6c3a1c5410dcda6a9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `Effect.fn` and `Effect.fnUntraced` support to the piping flows parser. The piping flows parser now recognizes pipe transformations passed as additional arguments to `Effect.fn`, `Effect.fn("traced")`, and `Effect.fnUntraced`. This enables diagnostics like `catchAllToMapError`, `catchUnfailableEffect`, and `multipleEffectProvide` to work with these patterns. Example: ```ts // This will now trigger the catchAllToMapError diagnostic const example = Effect.fn( function* () { return yield* Effect.fail("error"); }, Effect.catchAll((cause) => Effect.fail(new MyError(cause))) ); ``` - [#&#8203;587](https://github.com/Effect-TS/language-service/pull/587) [`7316859`](https://github.com/Effect-TS/language-service/commit/7316859ba221a212d3e8adcf458032e5c5d1b354) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Mark deprecated TypeScript Signature methods and migrate to property accessors Added `@deprecated` annotations to TypeScript Signature interface methods (`getParameters`, `getTypeParameters`, `getDeclaration`, `getReturnType`, `getTypeParameterAtPosition`) with guidance to use their modern property alternatives. Updated codebase usage of `getParameters()` to use `.parameters` property instead. - [#&#8203;584](https://github.com/Effect-TS/language-service/pull/584) [`ed12861`](https://github.com/Effect-TS/language-service/commit/ed12861c12a1fa1298fd53c97a5e01a2d02b96ac) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix TypeError in setup command when updating existing diagnosticSeverity configuration The setup command was throwing `TypeError: Cannot read properties of undefined (reading 'text')` when trying to update the `diagnosticSeverity` option of an existing `@effect/language-service` plugin configuration in tsconfig.json. This occurred because TypeScript's ChangeTracker formatter needed to compute indentation by traversing the AST tree, which failed when replacing a PropertyAssignment node inside a nested list context. The fix replaces just the initializer value (ObjectLiteralExpression) instead of the entire PropertyAssignment, avoiding the problematic list indentation calculation. - [#&#8203;585](https://github.com/Effect-TS/language-service/pull/585) [`7ebe5db`](https://github.com/Effect-TS/language-service/commit/7ebe5db2d60f36510e666e7c816623c0f9be88ab) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Enhanced `layerinfo` CLI command with output type selection for layer composition. **New Features:** - Added `--outputs` option to select which output types to include in the suggested composition (e.g., `--outputs 1,2,3`) - Shows all available output types from the layer graph with indexed checkboxes - By default, only types that are in the layer's declared `ROut` are selected - Composition code now includes `export const <name> = ...` prefix for easy copy-paste **Example output:** ``` Suggested Composition: Not sure you got your composition right? Just write all layers inside a Layer.mergeAll(...) then run this command again and use --outputs to select which outputs to include in composition. Example: --outputs 1,2,3 [ ] 1. Cache [x] 2. UserRepository export const simplePipeIn = UserRepository.Default.pipe( Layer.provide(Cache.Default) ) ``` This allows users to see all available outputs from a layer composition and choose which ones to include in the suggested composition order. - [#&#8203;577](https://github.com/Effect-TS/language-service/pull/577) [`0ed50c3`](https://github.com/Effect-TS/language-service/commit/0ed50c33c08ae6ae81fbd4af49ac4d75fd2b7f74) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Refactor `catchAllToMapError` diagnostic to use the piping flows parser for detecting Effect.catchAll calls. This change also: - Makes `outType` optional in `ParsedPipingFlowSubject` to handle cases where type information is unavailable - Sorts piping flows by position for consistent ordering - [#&#8203;578](https://github.com/Effect-TS/language-service/pull/578) [`cab6ce8`](https://github.com/Effect-TS/language-service/commit/cab6ce85ff2720c0d09cdb0b708d77d1917a50c5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - refactor: use piping flows parser in catchUnfailableEffect diagnostic - [#&#8203;579](https://github.com/Effect-TS/language-service/pull/579) [`2a82522`](https://github.com/Effect-TS/language-service/commit/2a82522cdbcb59465ccb93dcb797f55d9408752c) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - refactor: use piping flows parser in multipleEffectProvide diagnostic - [#&#8203;570](https://github.com/Effect-TS/language-service/pull/570) [`0db6e28`](https://github.com/Effect-TS/language-service/commit/0db6e28df1caba1bb5bc42faf82f8ffab276a184) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Refactor CLI overview command to extract symbol collection logic into reusable utility - Extract `collectSourceFileExportedSymbols` into `src/cli/utils/ExportedSymbols.ts` for reuse across CLI commands - Add `--max-symbol-depth` option to overview command (default: 3) to control how deep to traverse nested symbol properties - Add tests for the overview command with snapshot testing - [#&#8203;574](https://github.com/Effect-TS/language-service/pull/574) [`9d0695e`](https://github.com/Effect-TS/language-service/commit/9d0695e3c82333400575a9d266cad4ac6af45ccc) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Remove deprecated ts-patch documentation from README. The Effect LSP CLI Patch is now the only recommended approach for getting diagnostics at compile time. - [#&#8203;576](https://github.com/Effect-TS/language-service/pull/576) [`5017d75`](https://github.com/Effect-TS/language-service/commit/5017d75f1db93f6e5d8c1fc0d8ea26c2b2db613a) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add piping flows parser for caching piping flow analysis per source file. This internal improvement introduces a `pipingFlows` function in `TypeParser` that analyzes and caches all piping flows (both `pipe()` calls and `.pipe()` method chains) in a source file. The parser: - Identifies piping flows including nested pipes and mixed call styles (e.g., `Effect.map(effect, fn).pipe(...)`) - Tracks the subject, transformations, and intermediate types for each flow - Enables more efficient diagnostic implementations by reusing cached analysis The `missedPipeableOpportunity` diagnostic has been refactored to use this new parser, improving performance when analyzing files with multiple piping patterns. ### [`v0.64.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0641) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.64.0...v0.64.1) ##### Patch Changes - [#&#8203;568](https://github.com/Effect-TS/language-service/pull/568) [`477271d`](https://github.com/Effect-TS/language-service/commit/477271d4df19391dca4131a13c8962b134156272) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix auto-import with namespace import packages generating malformed code when the identifier is at the beginning of the file. When using `namespaceImportPackages` configuration and auto-completing an export like `isAnyKeyword` from `effect/SchemaAST`, the code was incorrectly generated as: ```ts SchemaAST.import * as SchemaAST from "effect/SchemaAST"; ``` Instead of the expected: ```ts import * as SchemaAST from "effect/SchemaAST"; SchemaAST.isAnyKeyword; ``` The fix ensures the import statement is added before the namespace prefix when both changes target position 0. ### [`v0.64.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0640) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.63.2...v0.64.0) ##### Minor Changes - [#&#8203;567](https://github.com/Effect-TS/language-service/pull/567) [`dcb3fe5`](https://github.com/Effect-TS/language-service/commit/dcb3fe5f36f5c2727870e1fbc148e2a935a1a77e) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Added new diagnostic `catchAllToMapError` that suggests using `Effect.mapError` instead of `Effect.catchAll` + `Effect.fail` when the callback only wraps the error. Before: ```ts Effect.catchAll((cause) => Effect.fail(new MyError(cause))); ``` After: ```ts Effect.mapError((cause) => new MyError(cause)); ``` The diagnostic includes a quick fix that automatically transforms the code. - [#&#8203;555](https://github.com/Effect-TS/language-service/pull/555) [`0424000`](https://github.com/Effect-TS/language-service/commit/04240003bbcb04db1eda967153d185fd53a3f669) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `globalErrorInEffectCatch` diagnostic to detect global Error types in catch callbacks This new diagnostic warns when catch callbacks in `Effect.tryPromise`, `Effect.try`, `Effect.tryMap`, or `Effect.tryMapPromise` return the global `Error` type instead of typed errors. Using the global `Error` type in Effect failures is not recommended as they can get merged together, making it harder to distinguish between different error cases. Instead, it's better to use tagged errors (like `Data.TaggedError`) or custom errors with discriminator properties to enable proper type checking and error handling. Example of code that triggers the diagnostic: ```typescript Effect.tryPromise({ try: () => fetch("http://example.com"), catch: () => new Error("Request failed"), // ⚠️ Warning: returns global Error type }); ``` Recommended approach: ```typescript class FetchError extends Data.TaggedError("FetchError")<{ cause: unknown; }> {} Effect.tryPromise({ try: () => fetch("http://example.com"), catch: (e) => new FetchError({ cause: e }), // ✅ Uses typed error }); ``` This diagnostic also improves the clarity message for the `leakingRequirements` diagnostic by adding additional guidance on how services should be collected in the layer creation body. - [#&#8203;558](https://github.com/Effect-TS/language-service/pull/558) [`cc5feb1`](https://github.com/Effect-TS/language-service/commit/cc5feb146de351a5466e8f8476e5b9d9020c797e) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `layerMergeAllWithDependencies` diagnostic to detect interdependencies in `Layer.mergeAll` calls This new diagnostic warns when `Layer.mergeAll` is called with layers that have interdependencies, where one layer provides a service that another layer in the same call requires. `Layer.mergeAll` creates layers in parallel, so dependencies between layers will not be satisfied. This can lead to runtime errors when trying to use the merged layer. Example of code that triggers the diagnostic: ```typescript export class DbConnection extends Effect.Service<DbConnection>()( "DbConnection", { succeed: {}, } ) {} export class FileSystem extends Effect.Service<FileSystem>()("FileSystem", { succeed: {}, }) {} export class Cache extends Effect.Service<Cache>()("Cache", { effect: Effect.as(FileSystem, {}), // Cache requires FileSystem }) {} // ⚠️ Warning on FileSystem.Default const layers = Layer.mergeAll( DbConnection.Default, FileSystem.Default, // This provides FileSystem Cache.Default // This requires FileSystem ); ``` Recommended approach: ```typescript // Provide FileSystem separately before merging const layers = Layer.mergeAll(DbConnection.Default, Cache.Default).pipe( Layer.provideMerge(FileSystem.Default) ); ``` The diagnostic correctly handles pass-through layers (layers that both provide and require the same type) and only reports on layers that actually provide dependencies needed by other layers in the same `mergeAll` call. - [#&#8203;557](https://github.com/Effect-TS/language-service/pull/557) [`83ce411`](https://github.com/Effect-TS/language-service/commit/83ce411288977606f8390641dc7127e36c6f3c5b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `missingLayerContext` diagnostic to detect missing service requirements in Layer definitions This new diagnostic provides better error readability when you're missing service requirements in your Layer type definitions. It works similarly to the existing `missingEffectContext` diagnostic but specifically checks the `RIn` (requirements input) parameter of Layer types. Example of code that triggers the diagnostic: ```typescript import * as Effect from "effect/Effect"; import * as Layer from "effect/Layer"; class ServiceA extends Effect.Service<ServiceA>()("ServiceA", { succeed: { a: 1 }, }) {} class ServiceB extends Effect.Service<ServiceB>()("ServiceB", { succeed: { a: 2 }, }) {} declare const layerWithServices: Layer.Layer<ServiceA, never, ServiceB>; function testFn(layer: Layer.Layer<ServiceA>) { return layer; } // ⚠️ Error: Missing 'ServiceB' in the expected Layer context. testFn(layerWithServices); ``` The diagnostic helps catch type mismatches early by clearly indicating which service requirements are missing when passing layers between functions or composing layers together. - [#&#8203;562](https://github.com/Effect-TS/language-service/pull/562) [`57d5af2`](https://github.com/Effect-TS/language-service/commit/57d5af251d3e477a8cf4c41dfae4593cede4c960) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `overview` CLI command that provides an overview of Effect-related exports in a project. The command analyzes TypeScript files and reports all exported yieldable errors, services (Context.Tag, Effect.Tag, Effect.Service), and layers with their types, file locations, and JSDoc descriptions. A progress spinner shows real-time file processing status. Usage: ```bash effect-language-service overview --file path/to/file.ts effect-language-service overview --project tsconfig.json ``` Example output: ``` ✔ Processed 3 file(s) Overview for 3 file(s). Yieldable Errors (1) NotFoundError ./src/errors.ts:5:1 NotFoundError Services (2) DbConnection ./src/services/db.ts:6:1 Manages database connections Layers (1) AppLive ./src/layers/app.ts:39:14 Layer<Cache | UserRepository, never, never> ``` ##### Patch Changes - [#&#8203;561](https://github.com/Effect-TS/language-service/pull/561) [`c3b3bd3`](https://github.com/Effect-TS/language-service/commit/c3b3bd364ff3c0567995b3c12e579459b69448e7) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add descriptions to CLI commands using `Command.withDescription` for improved help output when using `--help` flag. - [#&#8203;565](https://github.com/Effect-TS/language-service/pull/565) [`2274aef`](https://github.com/Effect-TS/language-service/commit/2274aef53902f2c31443b7e504d2add0bf24d6e4) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `unnecessaryPipe` diagnostic and refactor not working with namespace imports from `effect/Function` (e.g., `Function.pipe()` or `Fn.pipe()`) - [#&#8203;560](https://github.com/Effect-TS/language-service/pull/560) [`75a480e`](https://github.com/Effect-TS/language-service/commit/75a480ebce3c5dfe29f22ee9d556ba1a043ba91b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve diagnostic message for `unsupportedServiceAccessors` when used with `Effect.Tag` When the `unsupportedServiceAccessors` diagnostic is triggered on an `Effect.Tag` class (which doesn't allow disabling accessors), the message now includes a helpful suggestion to use `Context.Tag` instead: ```typescript export class MyService extends Effect.Tag("MyService")< MyService, { method: <A>(value: A) => Effect.Effect<A>; } >() {} // Diagnostic: Even if accessors are enabled, accessors for 'method' won't be available // because the signature have generic type parameters or multiple call signatures. // Effect.Tag does not allow to disable accessors, so you may want to use Context.Tag instead. ``` - [#&#8203;559](https://github.com/Effect-TS/language-service/pull/559) [`4c1f809`](https://github.com/Effect-TS/language-service/commit/4c1f809d2f88102652ceea67b93df8909b408d14) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve Layer Magic refactor ordering by considering both provided and required service counts The Layer Magic refactor now uses a combined ordering heuristic that considers both: 1. The number of services a layer provides 2. The number of services a layer requires This results in more optimal layer composition order, especially in complex dependency graphs where layers have varying numbers of dependencies. - [#&#8203;566](https://github.com/Effect-TS/language-service/pull/566) [`036c491`](https://github.com/Effect-TS/language-service/commit/036c49142581a1ea428205e3d3d1647963c556f9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Simplify diagnostic messages for global Error type usage The diagnostic messages for `globalErrorInEffectCatch` and `globalErrorInEffectFailure` now use the more generic term "tagged errors" instead of "tagged errors (Data.TaggedError)" to provide cleaner, more concise guidance. ### [`v0.63.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0632) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.63.1...v0.63.2) ##### Patch Changes - [#&#8203;553](https://github.com/Effect-TS/language-service/pull/553) [`e64e3df`](https://github.com/Effect-TS/language-service/commit/e64e3dfe235398af388e7d3ffdd36dbd02422730) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - fix: ensure correct path resolution in CLI setup - Use `process.cwd()` explicitly in `path.resolve()` for consistent behavior - Resolve the selected tsconfig path to an absolute path before validation - Simplify error handling by using direct `yield*` for `TsConfigNotFoundError` ### [`v0.63.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0631) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.63.0...v0.63.1) ##### Patch Changes - [#&#8203;551](https://github.com/Effect-TS/language-service/pull/551) [`9b3d807`](https://github.com/Effect-TS/language-service/commit/9b3d8071ec3af88ce219cc5a6a96e792bbdca2a2) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - fix: resolve TypeScript from project's working directory The CLI now attempts to resolve TypeScript from the current working directory first before falling back to the package's bundled version. This ensures the CLI uses the same TypeScript version as the project being analyzed. ### [`v0.63.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0630) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.62.5...v0.63.0) ##### Minor Changes - [#&#8203;548](https://github.com/Effect-TS/language-service/pull/548) [`ef8c2de`](https://github.com/Effect-TS/language-service/commit/ef8c2de288a8450344157f726986a4f35736dd78) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `globalErrorInEffectFailure` diagnostic This diagnostic warns when `Effect.fail` is called with the global `Error` type. Using the global `Error` type in Effect failures is not recommended as they can get merged together, making it harder to distinguish between different error types. Instead, the diagnostic recommends using: - Tagged errors with `Data.TaggedError` - Custom error classes with a discriminator property (like `_tag`) Example: ```ts // This will trigger a warning Effect.fail(new Error("global error")); // These are recommended alternatives Effect.fail(new CustomError()); // where CustomError extends Data.TaggedError Effect.fail(new MyError()); // where MyError has a _tag property ``` - [#&#8203;545](https://github.com/Effect-TS/language-service/pull/545) [`c590b5a`](https://github.com/Effect-TS/language-service/commit/c590b5af59cc5b656c02ea6e03ba63d110ea65d3) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `effect-language-service setup` CLI command This new command provides an interactive wizard to guide users through the complete installation and configuration of the Effect Language Service. The setup command: - Analyzes your repository structure (package.json, tsconfig files) - Guides you through adding the package to devDependencies - Configures the TypeScript plugin in your tsconfig.json - Allows customizing diagnostic severity levels - Optionally adds prepare script for automatic patching - Optionally configures VS Code settings for workspace TypeScript usage - Shows a review of all changes before applying them Example usage: ```bash effect-language-service setup ``` The wizard will walk you through each step and show you exactly what changes will be made before applying them. - [#&#8203;550](https://github.com/Effect-TS/language-service/pull/550) [`4912ee4`](https://github.com/Effect-TS/language-service/commit/4912ee41531dc91ad0ba2828ea555cb79f2c6d9e) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add support for `@effect/sql`'s `Model.Class` in completions and diagnostics - Added `effectSqlModelSelfInClasses` completion: Auto-completes the `Self` type parameter when extending `Model.Class` from `@effect/sql` - Extended `classSelfMismatch` diagnostic: Now detects when the `Self` type parameter in `Model.Class<Self>` doesn't match the actual class name Example: ```ts import { Model } from "@&#8203;effect/sql"; import * as Schema from "effect/Schema"; // Completion triggers after "Model." to generate the full class boilerplate export class User extends Model.Class<User>("User")({ id: Schema.String, }) {} // Diagnostic warns when Self type parameter doesn't match class name export class User extends Model.Class<WrongName>("User")({ // ^^^^^^^^^ Self type should be "User" id: Schema.String, }) {} ``` ##### Patch Changes - [#&#8203;547](https://github.com/Effect-TS/language-service/pull/547) [`9058a37`](https://github.com/Effect-TS/language-service/commit/9058a373ba1567a9336d0c3b36de981337757219) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - refactor: simplify `unnecessaryFailYieldableError` diagnostic implementation Changed the implementation to check if a type extends `Cause.YieldableError` on-demand rather than fetching all yieldable error types upfront. - [#&#8203;549](https://github.com/Effect-TS/language-service/pull/549) [`039f4b2`](https://github.com/Effect-TS/language-service/commit/039f4b21da6e1d6ae695ba26cce0516d09f86643) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `getTypeAtLocation` utility to `TypeCheckerUtils` This refactoring adds a new `getTypeAtLocation` function to `TypeCheckerUtils` that safely retrieves types while filtering out JSX-specific nodes (JSX elements, opening/closing tags, and JSX attributes) that could cause issues when calling `typeChecker.getTypeAtLocation`. The utility is now used across multiple diagnostics and features, reducing code duplication and ensuring consistent handling of edge cases: - `anyUnknownInErrorContext` - `catchUnfailableEffect` - `floatingEffect` - `globalErrorInEffectFailure` - `leakingRequirements` - `missedPipeableOpportunity` - `missingEffectServiceDependency` - `missingReturnYieldStar` - `multipleEffectProvide` - `nonObjectEffectServiceType` - `overriddenSchemaConstructor` - `returnEffectInGen` - `scopeInLayerEffect` - `strictBooleanExpressions` - `strictEffectProvide` - `unnecessaryFailYieldableError` - And other features like quick info, goto definition, and refactors ### [`v0.62.5`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0625) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.62.4...v0.62.5) ##### Patch Changes - [#&#8203;543](https://github.com/Effect-TS/language-service/pull/543) [`0b13f3c`](https://github.com/Effect-TS/language-service/commit/0b13f3c862b69a84e2b3368ab301a35af8a8bf63) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix unwanted autocompletions inside import declarations Previously, Effect.**, Option.**, and Either.\_\_ completions were incorrectly suggested inside import statements. This has been fixed by detecting when the completion is requested inside an import declaration and preventing these completions from appearing. Closes [#&#8203;541](https://github.com/Effect-TS/language-service/issues/541) ### [`v0.62.4`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0624) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.62.3...v0.62.4) ##### Patch Changes - [#&#8203;539](https://github.com/Effect-TS/language-service/pull/539) [`4cc88d2`](https://github.com/Effect-TS/language-service/commit/4cc88d2c72535ef7608c4c0b0ecdd8b676699874) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve layerMagic refactor to prioritize layers with more provided services The layerMagic refactor now uses a heuristic that prioritizes nodes with more provided services when generating layer composition code. This ensures that telemetry and tracing layers (which typically provide fewer services) are positioned as late as possible in the dependency graph, resulting in more intuitive and correct layer ordering. Example: When composing layers for services that depend on HttpClient with telemetry, the refactor now correctly places the telemetry layer (which provides fewer services) later in the composition chain. ### [`v0.62.3`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0623) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.62.2...v0.62.3) ##### Patch Changes - [#&#8203;537](https://github.com/Effect-TS/language-service/pull/537) [`e31c03b`](https://github.com/Effect-TS/language-service/commit/e31c03b086eebb2bb55f23cfb9eb4c26344785d7) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix counter increment timing in structural type to schema refactor to ensure proper naming of conflicting schemas (e.g., `User_1` instead of `User_0` for the first conflict) ### [`v0.62.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0622) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.62.1...v0.62.2) ##### Patch Changes - [#&#8203;535](https://github.com/Effect-TS/language-service/pull/535) [`361fc1e`](https://github.com/Effect-TS/language-service/commit/361fc1ee5b6cf7684e0cf1ff8806ef267936b9cd) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix duplicate schema names in "Refactor to Schema (Recursive Structural)" code generation. When the refactor encountered types with conflicting names, it was generating a unique suffix but not properly tracking the usage count, causing duplicate schema identifiers with different contents to be generated. This fix ensures that when a name conflict is detected and a unique suffix is added (e.g., `Tax`, `Tax_1`, `Tax_2`), the usage counter is properly incremented to prevent duplicate identifiers in the generated code. Fixes [#&#8203;534](https://github.com/Effect-TS/language-service/issues/534) ### [`v0.62.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0621) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.62.0...v0.62.1) ##### Patch Changes - [#&#8203;532](https://github.com/Effect-TS/language-service/pull/532) [`8f189aa`](https://github.com/Effect-TS/language-service/commit/8f189aa7d21b8a638e3bc9cf4fc834c684f1b70f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix handling of read-only arrays in "Refactor to Schema (Recursive Structural)" code generation. The refactor now correctly distinguishes between mutable arrays (`Array<T>`) and read-only arrays (`ReadonlyArray<T>` or `readonly T[]`): - `Array<T>` is now converted to `Schema.mutable(Schema.Array(...))` to preserve mutability - `ReadonlyArray<T>` and `readonly T[]` are converted to `Schema.Array(...)` (read-only by default) This fixes compatibility issues with external libraries (like Stripe, BetterAuth) that expect mutable arrays in their API parameters. Fixes [#&#8203;531](https://github.com/Effect-TS/language-service/issues/531) ### [`v0.62.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0620) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.61.0...v0.62.0) ##### Minor Changes - [#&#8203;528](https://github.com/Effect-TS/language-service/pull/528) [`7dc14cf`](https://github.com/Effect-TS/language-service/commit/7dc14cfaebe737f4c13ebd55f30e39207a5029bb) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add typeToSchema codegen This adds a new `// @&#8203;effect-codegens typeToSchema` codegen that automatically generates Effect Schema classes from TypeScript types. Given a type alias with object members representing schemas to generate (e.g., `type ToGenerate = { UserSchema: User, TodoSchema: Todo }`), the codegen will create the corresponding Schema class definitions. The generated schemas: - Automatically detect and reuse existing schema definitions in the file - Support both type aliases and interfaces - Include outdated detection to warn when the source type changes - Work with the `outdatedEffectCodegen` diagnostic to provide automatic fix actions Example usage: ```typescript type User = { id: number; name: string; }; // @&#8203;effect-codegens typeToSchema export type ToGenerate = { UserSchema: User; }; // Generated by the codegen: export class UserSchema extends Schema.Class<UserSchema>("UserSchema")({ id: Schema.Number, name: Schema.String, }) {} ``` ##### Patch Changes - [#&#8203;530](https://github.com/Effect-TS/language-service/pull/530) [`5ecdc62`](https://github.com/Effect-TS/language-service/commit/5ecdc626dd6dcaad3e866b7e89decb10b99fca2d) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `Refactor to Schema (Recursive Structural)` to support `exactOptionalPropertyTypes` When `exactOptionalPropertyTypes` is enabled in tsconfig, optional properties with types like `string | undefined` are not assignable to types defined as `prop?: string`. This fix generates `Schema.optionalWith(Schema.String, { exact: true })` instead of `Schema.optional(Schema.Union(Schema.Undefined, Schema.String))` to maintain type compatibility with external libraries that don't always include `undefined` in their optional property types. Example: ```typescript // With exactOptionalPropertyTypes enabled type User = { name?: string; // External library type (e.g., Stripe API) }; // Generated schema now uses: Schema.optionalWith(Schema.String, { exact: true }); // Instead of: Schema.optional(Schema.Union(Schema.Undefined, Schema.String)); ``` This ensures the generated schema maintains proper type compatibility with external libraries when using strict TypeScript configurations. ### [`v0.61.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0610) [Compare Source](https://github.com/Effect-TS/language-service/compare/v0.60.0...v0.61.0) ##### Minor Changes - [#&#8203;525](https://github.com/Effect-TS/language-service/pull/525) [`e2dbbad`](https://github.com/Effect-TS/language-service/commit/e2dbbad00b06fb576767a5330e1cca048480264a) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add Structural Type to Schema refactor Adds a new "Structural Type to Schema" refactor that converts TypeScript interfaces and type aliases to Effect Schema classes. This refactor analyzes the structure of types and generates appropriate Schema definitions, with intelligent detection and reuse of existing schemas. Example: ```typescript // Before export interface User { id: number; name: string; } // After (using the refactor) export class User extends Schema.Class<User>("User")({ id: Schema.Number, name: Schema.String, }) {} ``` The refactor supports: - All primitive types and common TypeScript constructs - Automatic reuse of existing Schema definitions for referenced types - Optional properties, unions, intersections, and nested structures - Both interface and type alias declarations </details> <details> <summary>Effect-TS/effect (@&#8203;effect/opentelemetry)</summary> ### [`v0.63.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/opentelemetry/CHANGELOG.md#0630) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/opentelemetry@0.62.0...@effect/opentelemetry@0.63.0) ##### Patch Changes - [#&#8203;5780](https://github.com/Effect-TS/effect/pull/5780) [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb) Thanks [@&#8203;mikearnaldi](https://github.com/mikearnaldi)! - Add logs to first propagated span, in the following case before this fix the log would not be added to the `p` span because `Effect.fn` adds a fake span for the purpose of adding a stack frame. ```ts import { Effect } from "effect" const f = Effect.fn(function* () { yield* Effect.logWarning("FooBar") return yield* Effect.fail("Oops") }) const p = f().pipe(Effect.withSpan("p")) ``` - Updated dependencies \[[`f7bb09b`](https://github.com/Effect-TS/effect/commit/f7bb09b022f195d1f2b3c23d49e74b011ec5d109), [`bd7552a`](https://github.com/Effect-TS/effect/commit/bd7552a19cc0ed575507ac6cc0879a57e24ebd31), [`ad1a7eb`](https://github.com/Effect-TS/effect/commit/ad1a7eb7f6bebaf91c80be2443ac0439226d0098), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb)]: - effect\@&#8203;3.21.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.96.0 ### [`v0.62.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/opentelemetry/CHANGELOG.md#0620) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/opentelemetry@0.61.0...@effect/opentelemetry@0.62.0) ##### Patch Changes - Updated dependencies \[[`fc82e81`](https://github.com/Effect-TS/effect/commit/fc82e81448bd9136a37580139ce46a2c61b11b54), [`82996bc`](https://github.com/Effect-TS/effect/commit/82996bce8debffcb44feb98bb862cf2662bd56b7), [`4d97a61`](https://github.com/Effect-TS/effect/commit/4d97a61a15b9dd6a0eece65b8f0c035e16d42ada), [`f6b0960`](https://github.com/Effect-TS/effect/commit/f6b0960bf3184109920dfed16ee7dfd7d67bc0f2), [`8798a84`](https://github.com/Effect-TS/effect/commit/8798a843218e6c0c0d3a8eee83360880e370b4da)]: - effect\@&#8203;3.20.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.95.0 ### [`v0.61.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/opentelemetry/CHANGELOG.md#0610) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/opentelemetry@0.60.0...@effect/opentelemetry@0.61.0) ##### Minor Changes - [#&#8203;5927](https://github.com/Effect-TS/effect/pull/5927) [`f4972ed`](https://github.com/Effect-TS/effect/commit/f4972eda6c3179070d0167a30985b760afa0a9f9) Thanks [@&#8203;davidgoli](https://github.com/davidgoli)! - Add protobuf protocol support for OTLP exporters This introduces an `OtlpSerialization` service for choosing between JSON and Protobuf encoding. **Breaking changes:** - `Otlp.layer` now requires an `OtlpSerialization` layer to be provided for the desired encoding format. **JSON encoding:** ```typescript import { Layer } from "effect" import { Otlp, OtlpSerialization } from "@&#8203;effect/opentelemetry" // Option 1: Explicit JSON layer const layer = Otlp.layerJson({ baseUrl: "http://localhost:4318", resource: { serviceName: "my-service" } }) // Option 2: Use `layer` and provide OtlpSerialization JSON layer const layer = Otlp.layer({ baseUrl: "http://localhost:4318", resource: { serviceName: "my-service" } }).pipe(Layer.provide(OtlpSerialization.layerJson)) ``` **Protobuf encoding:** ```typescript import { Otlp } from "@&#8203;effect/opentelemetry" // Simply use layerProtobuf for protobuf encoding const layer = Otlp.layerProtobuf({ baseUrl: "http://localhost:4318", resource: { serviceName: "my-service" } }) ``` - [#&#8203;5952](https://github.com/Effect-TS/effect/pull/5952) [`4725a7e`](https://github.com/Effect-TS/effect/commit/4725a7eceac8b8b66ee55bbd975e1adab67df271) Thanks [@&#8203;clayroach](https://github.com/clayroach)! - Make [@&#8203;opentelemetry/sdk-trace-node](https://github.com/opentelemetry/sdk-trace-node) and [@&#8203;opentelemetry/sdk-trace-web](https://github.com/opentelemetry/sdk-trace-web) required peer dependencies instead of optional. This fixes module resolution errors when importing from the main entry point. ##### Patch Changes - [#&#8203;5929](https://github.com/Effect-TS/effect/pull/5929) [`abdab5c`](https://github.com/Effect-TS/effect/commit/abdab5cc4ede8272799f86caa6557a8a9674ab37) Thanks [@&#8203;schickling](https://github.com/schickling)! - Fix `Span.addEvent` to correctly handle the 2-argument overload with attributes. Previously, calling `span.addEvent("name", { foo: "bar" })` would throw `TypeError: {} is not iterable` because the implementation incorrectly treated the attributes object as a `TimeInput`. The fix adds proper runtime type discrimination to distinguish between `TimeInput` (number, Date, or HrTime tuple) and `Attributes` (plain object). - Updated dependencies \[[`7e925ea`](https://github.com/Effect-TS/effect/commit/7e925eae4a9db556bcbf7e8b6a762ccf8588aa3b), [`118e7a4`](https://github.com/Effect-TS/effect/commit/118e7a4af5b86f6d707a40d3b03157b6bf5827e7), [`d7e75d6`](https://github.com/Effect-TS/effect/commit/d7e75d6d15294bbcd7ac49a0e9005848379ea86f), [`4860d1e`](https://github.com/Effect-TS/effect/commit/4860d1e09b436061ea4aeca07605a669793560fc)]: - effect\@&#8203;3.19.15 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.2 ### [`v0.60.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/opentelemetry/CHANGELOG.md#0600) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/opentelemetry@0.59.3...@effect/opentelemetry@0.60.0) ##### Patch Changes - Updated dependencies \[[`77eeb86`](https://github.com/Effect-TS/effect/commit/77eeb86ddf208e51ec25932af83d52d3b4700371), [`ff7053f`](https://github.com/Effect-TS/effect/commit/ff7053f6d8508567b6145239f97aacc5773b0c53), [`287c32c`](https://github.com/Effect-TS/effect/commit/287c32c9f10da8e96f2b9ef8424316189d9ad4b3)]: - effect\@&#8203;3.19.13 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.0 </details> <details> <summary>Effect-TS/effect (@&#8203;effect/platform)</summary> ### [`v0.96.1`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0961) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.96.0...@effect/platform@0.96.1) ##### Patch Changes - [#&#8203;6147](https://github.com/Effect-TS/effect/pull/6147) [`518d0e3`](https://github.com/Effect-TS/effect/commit/518d0e3f4879be6d9d9a7fa137a1820604bb3ea7) Thanks [@&#8203;syhstanley](https://github.com/syhstanley)! - Fix `HttpLayerRouter.addHttpApi` silently skipping API-level middleware. - [#&#8203;6191](https://github.com/Effect-TS/effect/pull/6191) [`c016642`](https://github.com/Effect-TS/effect/commit/c0166426f80b7eb8e7f7d3aecc95dcd4fdb5cb55) Thanks [@&#8203;IGassmann](https://github.com/IGassmann)! - Update `msgpackr` to 1.11.10 to fix silent decode failures in environments that block `new Function()` at runtime (e.g. Cloudflare Workers). The new version wraps the JIT `new Function()` call in a try/catch, falling back to the interpreted path when dynamic code evaluation is blocked. - Updated dependencies \[[`74f3267`](https://github.com/Effect-TS/effect/commit/74f3267a6cc7ed7818c4c34cc1232f7cfc7d3339)]: - effect\@&#8203;3.21.2 ### [`v0.96.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0960) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.95.0...@effect/platform@0.96.0) ##### Patch Changes - Updated dependencies \[[`f7bb09b`](https://github.com/Effect-TS/effect/commit/f7bb09b022f195d1f2b3c23d49e74b011ec5d109), [`bd7552a`](https://github.com/Effect-TS/effect/commit/bd7552a19cc0ed575507ac6cc0879a57e24ebd31), [`ad1a7eb`](https://github.com/Effect-TS/effect/commit/ad1a7eb7f6bebaf91c80be2443ac0439226d0098), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb)]: - effect\@&#8203;3.21.0 ### [`v0.95.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0950) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.94.5...@effect/platform@0.95.0) ##### Patch Changes - Updated dependencies \[[`fc82e81`](https://github.com/Effect-TS/effect/commit/fc82e81448bd9136a37580139ce46a2c61b11b54), [`82996bc`](https://github.com/Effect-TS/effect/commit/82996bce8debffcb44feb98bb862cf2662bd56b7), [`4d97a61`](https://github.com/Effect-TS/effect/commit/4d97a61a15b9dd6a0eece65b8f0c035e16d42ada), [`f6b0960`](https://github.com/Effect-TS/effect/commit/f6b0960bf3184109920dfed16ee7dfd7d67bc0f2), [`8798a84`](https://github.com/Effect-TS/effect/commit/8798a843218e6c0c0d3a8eee83360880e370b4da)]: - effect\@&#8203;3.20.0 ### [`v0.94.5`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0945) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.94.4...@effect/platform@0.94.5) ##### Patch Changes - [#&#8203;6050](https://github.com/Effect-TS/effect/pull/6050) [`d67c708`](https://github.com/Effect-TS/effect/commit/d67c7089ba8616b2d48ef7324312267a2a6f310a) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - Backport Effect 4 `contentType` support for `HttpBody` JSON / URL-encoded constructors and `HttpServerResponse` JSON / URL-encoded helpers. - Updated dependencies \[[`a8c436f`](https://github.com/Effect-TS/effect/commit/a8c436f7004cc2a8ce2daec589ea7256b91c324f)]: - effect\@&#8203;3.19.17 ### [`v0.94.4`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0944) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.94.3...@effect/platform@0.94.4) ##### Patch Changes - [#&#8203;6035](https://github.com/Effect-TS/effect/pull/6035) [`22d9d27`](https://github.com/Effect-TS/effect/commit/22d9d27bc007db86d9e4748c17324fab5f950c7d) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - Fix `HttpServerError.causeResponse` to prefer 499 when a client abort interrupt is present. ### [`v0.94.3`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0943) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.94.2...@effect/platform@0.94.3) ##### Patch Changes - [#&#8203;6021](https://github.com/Effect-TS/effect/pull/6021) [`0023c19`](https://github.com/Effect-TS/effect/commit/0023c19c63c402c050d496817ba92aceea7f25b7) Thanks [@&#8203;codewithkenzo](https://github.com/codewithkenzo)! - Fix `HttpClientRequest.appendUrl` to properly join URL paths. Previously, `appendUrl` used simple string concatenation which could produce invalid URLs: ```typescript // Before (broken): appendUrl("https://api.example.com/v1", "users") // Result: "https://api.example.com/v1users" (missing slash!) ``` Now it ensures proper path joining: ```typescript // After (fixed): appendUrl("https://api.example.com/v1", "users") // Result: "https://api.example.com/v1/users" ``` - [#&#8203;6019](https://github.com/Effect-TS/effect/pull/6019) [`9a96b87`](https://github.com/Effect-TS/effect/commit/9a96b87a33a75ebc277c585e60758ab4409c0d9e) Thanks [@&#8203;codewithkenzo](https://github.com/codewithkenzo)! - Fix `retryTransient` to use correct transient status codes Changed `isTransientResponse` from `status >= 429` to an explicit allowlist (408, 429, 500, 502, 503, 504). This correctly excludes 501 (Not Implemented) and 505+ permanent errors, while including 408 (Request Timeout) which was previously missed. Also aligned response retry behavior with v4: the `while` predicate now only applies to error retries, not response retries. Response retries are determined solely by `isTransientResponse`. This matches the semantic intent since `while` is typed for errors, not responses. Fixes [#&#8203;5995](https://github.com/Effect-TS/effect/issues/5995) - Updated dependencies \[[`e71889f`](https://github.com/Effect-TS/effect/commit/e71889f35b081d13b7da2c04d2f81d6933056b49)]: - effect\@&#8203;3.19.16 ### [`v0.94.2`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0942) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.94.1...@effect/platform@0.94.2) ##### Patch Changes - [#&#8203;5977](https://github.com/Effect-TS/effect/pull/5977) [`118e7a4`](https://github.com/Effect-TS/effect/commit/118e7a4af5b86f6d707a40d3b03157b6bf5827e7) Thanks [@&#8203;scotttrinh](https://github.com/scotttrinh)! - Added `rows` and `isTTY` properties to `Terminal` - Updated dependencies \[[`7e925ea`](https://github.com/Effect-TS/effect/commit/7e925eae4a9db556bcbf7e8b6a762ccf8588aa3b), [`d7e75d6`](https://github.com/Effect-TS/effect/commit/d7e75d6d15294bbcd7ac49a0e9005848379ea86f), [`4860d1e`](https://github.com/Effect-TS/effect/commit/4860d1e09b436061ea4aeca07605a669793560fc)]: - effect\@&#8203;3.19.15 ### [`v0.94.1`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0941) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.94.0...@effect/platform@0.94.1) ##### Patch Changes - [#&#8203;5936](https://github.com/Effect-TS/effect/pull/5936) [`65e9e35`](https://github.com/Effect-TS/effect/commit/65e9e35157cbdfb40826ddad34555c4ebcf7c0b0) Thanks [@&#8203;schickling](https://github.com/schickling)! - Document subtle CORS middleware `allowedHeaders` behavior: when empty array (default), it reflects back the client's `Access-Control-Request-Headers` (permissive), and when non-empty array, it only allows specified headers (restrictive). Added comprehensive JSDoc with examples. - [#&#8203;5940](https://github.com/Effect-TS/effect/pull/5940) [`ee69cd7`](https://github.com/Effect-TS/effect/commit/ee69cd796feb3d8d1046f52edd8950404cd4ed0e) Thanks [@&#8203;kitlangton](https://github.com/kitlangton)! - HttpServerResponse: fix `fromWeb` to preserve Content-Type header when response has a body Previously, when converting a web `Response` to an `HttpServerResponse` via `fromWeb`, the `Content-Type` header was not passed to `Body.stream()`, causing it to default to `application/octet-stream`. This affected any code using `HttpApp.fromWebHandler` to wrap web handlers, as JSON responses would incorrectly have their Content-Type set to `application/octet-stream` instead of `application/json`. - Updated dependencies \[[`488d6e8`](https://github.com/Effect-TS/effect/commit/488d6e870eda3dfc137f4940bb69416f61ed8fe3)]: - effect\@&#8203;3.19.14 ### [`v0.94.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0940) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.93.8...@effect/platform@0.94.0) ##### Minor Changes - [#&#8203;5917](https://github.com/Effect-TS/effect/pull/5917) [`ff7053f`](https://github.com/Effect-TS/effect/commit/ff7053f6d8508567b6145239f97aacc5773b0c53) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - support non-errors in HttpClient.retryTransient ##### Patch Changes - Updated dependencies \[[`77eeb86`](https://github.com/Effect-TS/effect/commit/77eeb86ddf208e51ec25932af83d52d3b4700371), [`287c32c`](https://github.com/Effect-TS/effect/commit/287c32c9f10da8e96f2b9ef8424316189d9ad4b3)]: - effect\@&#8203;3.19.13 </details> <details> <summary>Effect-TS/effect (@&#8203;effect/platform-browser)</summary> ### [`v0.76.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-browser/CHANGELOG.md#0760) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-browser@0.75.0...@effect/platform-browser@0.76.0) ##### Patch Changes - Updated dependencies \[[`f7bb09b`](https://github.com/Effect-TS/effect/commit/f7bb09b022f195d1f2b3c23d49e74b011ec5d109), [`bd7552a`](https://github.com/Effect-TS/effect/commit/bd7552a19cc0ed575507ac6cc0879a57e24ebd31), [`ad1a7eb`](https://github.com/Effect-TS/effect/commit/ad1a7eb7f6bebaf91c80be2443ac0439226d0098), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb)]: - effect\@&#8203;3.21.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.96.0 ### [`v0.75.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-browser/CHANGELOG.md#0750) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-browser@0.74.0...@effect/platform-browser@0.75.0) ##### Patch Changes - Updated dependencies \[[`fc82e81`](https://github.com/Effect-TS/effect/commit/fc82e81448bd9136a37580139ce46a2c61b11b54), [`82996bc`](https://github.com/Effect-TS/effect/commit/82996bce8debffcb44feb98bb862cf2662bd56b7), [`4d97a61`](https://github.com/Effect-TS/effect/commit/4d97a61a15b9dd6a0eece65b8f0c035e16d42ada), [`f6b0960`](https://github.com/Effect-TS/effect/commit/f6b0960bf3184109920dfed16ee7dfd7d67bc0f2), [`8798a84`](https://github.com/Effect-TS/effect/commit/8798a843218e6c0c0d3a8eee83360880e370b4da)]: - effect\@&#8203;3.20.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.95.0 ### [`v0.74.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-browser/CHANGELOG.md#0740) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-browser@0.73.0...@effect/platform-browser@0.74.0) ##### Patch Changes - Updated dependencies \[[`77eeb86`](https://github.com/Effect-TS/effect/commit/77eeb86ddf208e51ec25932af83d52d3b4700371), [`ff7053f`](https://github.com/Effect-TS/effect/commit/ff7053f6d8508567b6145239f97aacc5773b0c53), [`287c32c`](https://github.com/Effect-TS/effect/commit/287c32c9f10da8e96f2b9ef8424316189d9ad4b3)]: - effect\@&#8203;3.19.13 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.0 </details> <details> <summary>Effect-TS/effect (@&#8203;effect/platform-bun)</summary> ### [`v0.89.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0890) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.88.0...@effect/platform-bun@0.89.0) ##### Patch Changes - Updated dependencies \[[`f7bb09b`](https://github.com/Effect-TS/effect/commit/f7bb09b022f195d1f2b3c23d49e74b011ec5d109), [`bd7552a`](https://github.com/Effect-TS/effect/commit/bd7552a19cc0ed575507ac6cc0879a57e24ebd31), [`ad1a7eb`](https://github.com/Effect-TS/effect/commit/ad1a7eb7f6bebaf91c80be2443ac0439226d0098), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb)]: - effect\@&#8203;3.21.0 - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.58.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.96.0 - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.59.0 - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.75.0 - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.51.0 ### [`v0.88.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0880) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.87.1...@effect/platform-bun@0.88.0) ##### Patch Changes - Updated dependencies \[[`fc82e81`](https://github.com/Effect-TS/effect/commit/fc82e81448bd9136a37580139ce46a2c61b11b54), [`82996bc`](https://github.com/Effect-TS/effect/commit/82996bce8debffcb44feb98bb862cf2662bd56b7), [`4d97a61`](https://github.com/Effect-TS/effect/commit/4d97a61a15b9dd6a0eece65b8f0c035e16d42ada), [`f6b0960`](https://github.com/Effect-TS/effect/commit/f6b0960bf3184109920dfed16ee7dfd7d67bc0f2), [`8798a84`](https://github.com/Effect-TS/effect/commit/8798a843218e6c0c0d3a8eee83360880e370b4da)]: - effect\@&#8203;3.20.0 - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.57.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.95.0 - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.58.0 - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.74.0 - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.50.0 ### [`v0.87.1`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0871) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.87.0...@effect/platform-bun@0.87.1) ##### Patch Changes - [#&#8203;5977](https://github.com/Effect-TS/effect/pull/5977) [`118e7a4`](https://github.com/Effect-TS/effect/commit/118e7a4af5b86f6d707a40d3b03157b6bf5827e7) Thanks [@&#8203;scotttrinh](https://github.com/scotttrinh)! - Added `rows` and `isTTY` properties to `Terminal` - Updated dependencies \[[`7e925ea`](https://github.com/Effect-TS/effect/commit/7e925eae4a9db556bcbf7e8b6a762ccf8588aa3b), [`118e7a4`](https://github.com/Effect-TS/effect/commit/118e7a4af5b86f6d707a40d3b03157b6bf5827e7), [`d7e75d6`](https://github.com/Effect-TS/effect/commit/d7e75d6d15294bbcd7ac49a0e9005848379ea86f), [`4860d1e`](https://github.com/Effect-TS/effect/commit/4860d1e09b436061ea4aeca07605a669793560fc)]: - effect\@&#8203;3.19.15 - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.57.1 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.2 ### [`v0.87.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0870) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.86.0...@effect/platform-bun@0.87.0) ##### Patch Changes - Updated dependencies \[[`77eeb86`](https://github.com/Effect-TS/effect/commit/77eeb86ddf208e51ec25932af83d52d3b4700371), [`ff7053f`](https://github.com/Effect-TS/effect/commit/ff7053f6d8508567b6145239f97aacc5773b0c53), [`287c32c`](https://github.com/Effect-TS/effect/commit/287c32c9f10da8e96f2b9ef8424316189d9ad4b3)]: - effect\@&#8203;3.19.13 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.0 - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.56.0 - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.57.0 - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.73.0 - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.49.0 </details> <details> <summary>Effect-TS/effect (@&#8203;effect/platform-node)</summary> ### [`v0.106.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01060) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.105.0...@effect/platform-node@0.106.0) ##### Patch Changes - Updated dependencies \[[`f7bb09b`](https://github.com/Effect-TS/effect/commit/f7bb09b022f195d1f2b3c23d49e74b011ec5d109), [`bd7552a`](https://github.com/Effect-TS/effect/commit/bd7552a19cc0ed575507ac6cc0879a57e24ebd31), [`ad1a7eb`](https://github.com/Effect-TS/effect/commit/ad1a7eb7f6bebaf91c80be2443ac0439226d0098), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb)]: - effect\@&#8203;3.21.0 - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.58.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.96.0 - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.59.0 - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.75.0 - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.51.0 ### [`v0.105.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01050) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.104.1...@effect/platform-node@0.105.0) ##### Patch Changes - Updated dependencies \[[`fc82e81`](https://github.com/Effect-TS/effect/commit/fc82e81448bd9136a37580139ce46a2c61b11b54), [`82996bc`](https://github.com/Effect-TS/effect/commit/82996bce8debffcb44feb98bb862cf2662bd56b7), [`4d97a61`](https://github.com/Effect-TS/effect/commit/4d97a61a15b9dd6a0eece65b8f0c035e16d42ada), [`f6b0960`](https://github.com/Effect-TS/effect/commit/f6b0960bf3184109920dfed16ee7dfd7d67bc0f2), [`8798a84`](https://github.com/Effect-TS/effect/commit/8798a843218e6c0c0d3a8eee83360880e370b4da)]: - effect\@&#8203;3.20.0 - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.57.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.95.0 - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.58.0 - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.74.0 - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.50.0 ### [`v0.104.1`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01041) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.104.0...@effect/platform-node@0.104.1) ##### Patch Changes - [#&#8203;5977](https://github.com/Effect-TS/effect/pull/5977) [`118e7a4`](https://github.com/Effect-TS/effect/commit/118e7a4af5b86f6d707a40d3b03157b6bf5827e7) Thanks [@&#8203;scotttrinh](https://github.com/scotttrinh)! - Added `rows` and `isTTY` properties to `Terminal` - Updated dependencies \[[`7e925ea`](https://github.com/Effect-TS/effect/commit/7e925eae4a9db556bcbf7e8b6a762ccf8588aa3b), [`118e7a4`](https://github.com/Effect-TS/effect/commit/118e7a4af5b86f6d707a40d3b03157b6bf5827e7), [`d7e75d6`](https://github.com/Effect-TS/effect/commit/d7e75d6d15294bbcd7ac49a0e9005848379ea86f), [`4860d1e`](https://github.com/Effect-TS/effect/commit/4860d1e09b436061ea4aeca07605a669793560fc)]: - effect\@&#8203;3.19.15 - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.57.1 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.2 ### [`v0.104.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01040) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.103.0...@effect/platform-node@0.104.0) ##### Patch Changes - Updated dependencies \[[`77eeb86`](https://github.com/Effect-TS/effect/commit/77eeb86ddf208e51ec25932af83d52d3b4700371), [`ff7053f`](https://github.com/Effect-TS/effect/commit/ff7053f6d8508567b6145239f97aacc5773b0c53), [`287c32c`](https://github.com/Effect-TS/effect/commit/287c32c9f10da8e96f2b9ef8424316189d9ad4b3)]: - effect\@&#8203;3.19.13 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.0 - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.56.0 - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.57.0 - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.73.0 - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.49.0 </details> <details> <summary>Effect-TS/effect (@&#8203;effect/rpc)</summary> ### [`v0.75.1`](https://github.com/Effect-TS/effect/blob/HEAD/packages/rpc/CHANGELOG.md#0751) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/rpc@0.75.0...@effect/rpc@0.75.1) ##### Patch Changes - [#&#8203;6191](https://github.com/Effect-TS/effect/pull/6191) [`c016642`](https://github.com/Effect-TS/effect/commit/c0166426f80b7eb8e7f7d3aecc95dcd4fdb5cb55) Thanks [@&#8203;IGassmann](https://github.com/IGassmann)! - Update `msgpackr` to 1.11.10 to fix silent decode failures in environments that block `new Function()` at runtime (e.g. Cloudflare Workers). The new version wraps the JIT `new Function()` call in a try/catch, falling back to the interpreted path when dynamic code evaluation is blocked. - [#&#8203;6110](https://github.com/Effect-TS/effect/pull/6110) [`0fac630`](https://github.com/Effect-TS/effect/commit/0fac630b27095ffbfa6c48851087950ddc29cda0) Thanks [@&#8203;mitre88](https://github.com/mitre88)! - fix: correct typos in source code (receive, separate) - [#&#8203;6161](https://github.com/Effect-TS/effect/pull/6161) [`e2374c2`](https://github.com/Effect-TS/effect/commit/e2374c20ce699d9f5340baf744cf1bd67bb220a0) Thanks [@&#8203;bohdanbirdie](https://github.com/bohdanbirdie)! - add RpcSerialization.makeMsgPack - Updated dependencies \[[`74f3267`](https://github.com/Effect-TS/effect/commit/74f3267a6cc7ed7818c4c34cc1232f7cfc7d3339), [`518d0e3`](https://github.com/Effect-TS/effect/commit/518d0e3f4879be6d9d9a7fa137a1820604bb3ea7), [`c016642`](https://github.com/Effect-TS/effect/commit/c0166426f80b7eb8e7f7d3aecc95dcd4fdb5cb55)]: - effect\@&#8203;3.21.2 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.96.1 ### [`v0.75.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/rpc/CHANGELOG.md#0750) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/rpc@0.74.0...@effect/rpc@0.75.0) ##### Patch Changes - Updated dependencies \[[`f7bb09b`](https://github.com/Effect-TS/effect/commit/f7bb09b022f195d1f2b3c23d49e74b011ec5d109), [`bd7552a`](https://github.com/Effect-TS/effect/commit/bd7552a19cc0ed575507ac6cc0879a57e24ebd31), [`ad1a7eb`](https://github.com/Effect-TS/effect/commit/ad1a7eb7f6bebaf91c80be2443ac0439226d0098), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb), [`0d32048`](https://github.com/Effect-TS/effect/commit/0d32048f9836e2b23a6ba3ec5f43f0a000bb92fb)]: - effect\@&#8203;3.21.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.96.0 ### [`v0.74.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/rpc/CHANGELOG.md#0740) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/rpc@0.73.2...@effect/rpc@0.74.0) ##### Patch Changes - Updated dependencies \[[`fc82e81`](https://github.com/Effect-TS/effect/commit/fc82e81448bd9136a37580139ce46a2c61b11b54), [`82996bc`](https://github.com/Effect-TS/effect/commit/82996bce8debffcb44feb98bb862cf2662bd56b7), [`4d97a61`](https://github.com/Effect-TS/effect/commit/4d97a61a15b9dd6a0eece65b8f0c035e16d42ada), [`f6b0960`](https://github.com/Effect-TS/effect/commit/f6b0960bf3184109920dfed16ee7dfd7d67bc0f2), [`8798a84`](https://github.com/Effect-TS/effect/commit/8798a843218e6c0c0d3a8eee83360880e370b4da)]: - effect\@&#8203;3.20.0 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.95.0 ### [`v0.73.2`](https://github.com/Effect-TS/effect/blob/HEAD/packages/rpc/CHANGELOG.md#0732) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/rpc@0.73.1...@effect/rpc@0.73.2) ##### Patch Changes - [#&#8203;6065](https://github.com/Effect-TS/effect/pull/6065) [`94b00c8`](https://github.com/Effect-TS/effect/commit/94b00c8e4c5c150f858c95262d0ff1433276ede5) Thanks [@&#8203;marbemac](https://github.com/marbemac)! - Add optional `defect` parameter to `Rpc.make` for customizing defect serialization per-RPC. Defaults to `Schema.Defect`, preserving existing behavior. - Updated dependencies \[[`12b1f1e`](https://github.com/Effect-TS/effect/commit/12b1f1eadf649e30dec581b7351ba3abb12f8004)]: - effect\@&#8203;3.19.18 ### [`v0.73.1`](https://github.com/Effect-TS/effect/blob/HEAD/packages/rpc/CHANGELOG.md#0731) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/rpc@0.73.0...@effect/rpc@0.73.1) ##### Patch Changes - [#&#8203;6055](https://github.com/Effect-TS/effect/pull/6055) [`598ff76`](https://github.com/Effect-TS/effect/commit/598ff7642fdee7f3379bca49e378a0e9647bbe75) Thanks [@&#8203;marbemac](https://github.com/marbemac)! - Fix `sendRequestDefect` and `sendDefect` to encode defects with `Schema.Defect`, preventing `Error` objects from being serialized as `{}` due to non-enumerable properties. - Updated dependencies \[[`d67c708`](https://github.com/Effect-TS/effect/commit/d67c7089ba8616b2d48ef7324312267a2a6f310a), [`a8c436f`](https://github.com/Effect-TS/effect/commit/a8c436f7004cc2a8ce2daec589ea7256b91c324f)]: - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.5 - effect\@&#8203;3.19.17 ### [`v0.73.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/rpc/CHANGELOG.md#0730) [Compare Source](https://github.com/Effect-TS/effect/compare/@effect/rpc@0.72.2...@effect/rpc@0.73.0) ##### Patch Changes - Updated dependencies \[[`77eeb86`](https://github.com/Effect-TS/effect/commit/77eeb86ddf208e51ec25932af83d52d3b4700371), [`ff7053f`](https://github.com/Effect-TS/effect/commit/ff7053f6d8508567b6145239f97aacc5773b0c53), [`287c32c`](https://github.com/Effect-TS/effect/commit/287c32c9f10da8e96f2b9ef8424316189d9ad4b3)]: - effect\@&#8203;3.19.13 - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.94.0 </details> <details> <summary>open-telemetry/opentelemetry-js (@&#8203;opentelemetry/exporter-trace-otlp-http)</summary> ### [`v0.218.0`](https://github.com/open-telemetry/opentelemetry-js/compare/74cde1b674508ccc0ed2601ac43a80ff2d35114c...06ad0eaaecbd49f5ead871325f852cc2a3454079) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/74cde1b674508ccc0ed2601ac43a80ff2d35114c...06ad0eaaecbd49f5ead871325f852cc2a3454079) ### [`v0.217.0`](https://github.com/open-telemetry/opentelemetry-js/compare/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7...74cde1b674508ccc0ed2601ac43a80ff2d35114c) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7...74cde1b674508ccc0ed2601ac43a80ff2d35114c) ### [`v0.216.0`](https://github.com/open-telemetry/opentelemetry-js/compare/a0476eef3cb973bfcc0c2e41f868dd7b484c2ed8...2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/a0476eef3cb973bfcc0c2e41f868dd7b484c2ed8...2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7) ### [`v0.215.0`](https://github.com/open-telemetry/opentelemetry-js/compare/7e74509a4d848e94b2970bb5262dd3e8efeed0a2...a0476eef3cb973bfcc0c2e41f868dd7b484c2ed8) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/7e74509a4d848e94b2970bb5262dd3e8efeed0a2...a0476eef3cb973bfcc0c2e41f868dd7b484c2ed8) ### [`v0.214.0`](https://github.com/open-telemetry/opentelemetry-js/compare/541e1b4ad83ad2093459794a18283228fe58d199...7e74509a4d848e94b2970bb5262dd3e8efeed0a2) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/541e1b4ad83ad2093459794a18283228fe58d199...7e74509a4d848e94b2970bb5262dd3e8efeed0a2) ### [`v0.213.0`](https://github.com/open-telemetry/opentelemetry-js/compare/ad92be4c2c1094745a85b0b7eeff1444a11b1b4a...541e1b4ad83ad2093459794a18283228fe58d199) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/ad92be4c2c1094745a85b0b7eeff1444a11b1b4a...541e1b4ad83ad2093459794a18283228fe58d199) ### [`v0.212.0`](https://github.com/open-telemetry/opentelemetry-js/compare/38924cbff2a6e924ce8a2a227d3a72de52fbcd35...ad92be4c2c1094745a85b0b7eeff1444a11b1b4a) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/38924cbff2a6e924ce8a2a227d3a72de52fbcd35...ad92be4c2c1094745a85b0b7eeff1444a11b1b4a) ### [`v0.211.0`](https://github.com/open-telemetry/opentelemetry-js/compare/5e6504d2a3a7ce3aaa211d9e2a5b002a0e4d7da1...38924cbff2a6e924ce8a2a227d3a72de52fbcd35) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/5e6504d2a3a7ce3aaa211d9e2a5b002a0e4d7da1...38924cbff2a6e924ce8a2a227d3a72de52fbcd35) ### [`v0.210.0`](https://github.com/open-telemetry/opentelemetry-js/compare/228cb920bbededf4f3fd6355e88409e84bfd87b6...5e6504d2a3a7ce3aaa211d9e2a5b002a0e4d7da1) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/228cb920bbededf4f3fd6355e88409e84bfd87b6...5e6504d2a3a7ce3aaa211d9e2a5b002a0e4d7da1) ### [`v0.209.0`](https://github.com/open-telemetry/opentelemetry-js/compare/5eaa869bf08e6a16eec37eac44084257e8e21209...228cb920bbededf4f3fd6355e88409e84bfd87b6) [Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/5eaa869bf08e6a16eec37eac44084257e8e21209...228cb920bbededf4f3fd6355e88409e84bfd87b6) </details> <details> <summary>evanw/esbuild (esbuild)</summary> ### [`v0.28.0`](https://github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0280) [Compare Source](https://github.com/evanw/esbuild/compare/v0.27.7...v0.28.0) - Add support for `with { type: 'text' }` imports ([#&#8203;4435](https://github.com/evanw/esbuild/issues/4435)) The [import text](https://github.com/tc39/proposal-import-text) proposal has reached stage 3 in the TC39 process, which means that it's recommended for implementation. It has also already been implemented by [Deno](https://docs.deno.com/examples/importing_text/) and [Bun](https://bun.com/docs/guides/runtime/import-html). So with this release, esbuild also adds support for it. This behaves exactly the same as esbuild's existing [`text` loader](https://esbuild.github.io/content-types/#text). Here's an example: ```js import string from './example.txt' with { type: 'text' } console.log(string) ``` - Add integrity checks to fallback download path ([#&#8203;4343](https://github.com/evanw/esbuild/issues/4343)) Installing esbuild via npm is somewhat complicated with several different edge cases (see [esbuild's documentation](https://esbuild.github.io/getting-started/#additional-npm-flags) for details). If the regular installation of esbuild's platform-specific package fails, esbuild's install script attempts to download the platform-specific package itself (first with the `npm` command, and then with a HTTP request to `registry.npmjs.org` as a last resort). This last resort path previously didn't have any integrity checks. With this release, esbuild will now verify that the hash of the downloaded binary matches the expected hash for the current release. This means the hashes for all of esbuild's platform-specific binary packages will now be embedded in the top-level `esbuild` package. Hopefully this should work without any problems. But just in case, this change is being done as a breaking change release. - Update the Go compiler from 1.25.7 to 1.26.1 This upgrade should not affect anything. However, there have been some significant internal changes to the Go compiler, so esbuild could potentially behave differently in certain edge cases: - It now uses the [new garbage collector](https://go.dev/doc/go1.26#new-garbage-collector) that comes with Go 1.26. - The Go compiler is now more aggressive with allocating memory on the stack. - The executable format that the Go linker uses has undergone several changes. - The WebAssembly build now unconditionally makes use of the sign extension and non-trapping floating-point to integer conversion instructions. You can read the [Go 1.26 release notes](https://go.dev/doc/go1.26) for more information. </details> <details> <summary>lucide-icons/lucide (lucide-react)</summary> ### [`v0.577.0`](https://github.com/lucide-icons/lucide/releases/tag/0.577.0): Version 0.577.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.576.0...0.577.0) #### What's Changed - chore(deps): bump rollup from 4.53.3 to 4.59.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;4106](https://github.com/lucide-icons/lucide/pull/4106) - fix(repo): correctly ignore docs/releaseMetadata via .gitignore by [@&#8203;bhavberi](https://github.com/bhavberi) in [#&#8203;4100](https://github.com/lucide-icons/lucide/pull/4100) - feat(icons): added `ellipse` icon by [@&#8203;KISHORE-KUMAR-S](https://github.com/KISHORE-KUMAR-S) in [#&#8203;3749](https://github.com/lucide-icons/lucide/pull/3749) #### New Contributors - [@&#8203;bhavberi](https://github.com/bhavberi) made their first contribution in [#&#8203;4100](https://github.com/lucide-icons/lucide/pull/4100) - [@&#8203;KISHORE-KUMAR-S](https://github.com/KISHORE-KUMAR-S) made their first contribution in [#&#8203;3749](https://github.com/lucide-icons/lucide/pull/3749) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.576.0...0.577.0> ### [`v0.576.0`](https://github.com/lucide-icons/lucide/releases/tag/0.576.0): Version 0.576.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.575.0...0.576.0) #### What's Changed - Added zodiac signs by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;712](https://github.com/lucide-icons/lucide/pull/712) - fix(icons): fixes guideline violations in `package-*` icons. by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;4074](https://github.com/lucide-icons/lucide/pull/4074) - fix(icons): changed `receipt` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;4075](https://github.com/lucide-icons/lucide/pull/4075) - fix(icons): updated `cuboid` icon tags and categories by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;4095](https://github.com/lucide-icons/lucide/pull/4095) - fix(icons): changed `cuboid` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;4098](https://github.com/lucide-icons/lucide/pull/4098) - fix(lucide-font, lucide-static): Fixing stable code points by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3894](https://github.com/lucide-icons/lucide/pull/3894) - feat(icons): added `fishing-rod` icon by [@&#8203;7ender](https://github.com/7ender) in [#&#8203;3839](https://github.com/lucide-icons/lucide/pull/3839) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.575.0...0.576.0> ### [`v0.575.0`](https://github.com/lucide-icons/lucide/releases/tag/0.575.0): Version 0.575.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.574.0...0.575.0) #### What's Changed - feat(icons): added `message-square-check` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;4076](https://github.com/lucide-icons/lucide/pull/4076) - fix(lucide): Fix ESM Module output path in build by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4084](https://github.com/lucide-icons/lucide/pull/4084) - feat(icons): added `metronome` icon by [@&#8203;edwloef](https://github.com/edwloef) in [#&#8203;4063](https://github.com/lucide-icons/lucide/pull/4063) - fix(icons): remove execution permission of SVG files by [@&#8203;duckafire](https://github.com/duckafire) in [#&#8203;4053](https://github.com/lucide-icons/lucide/pull/4053) - fix(icons): changed `file-pen-line` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3970](https://github.com/lucide-icons/lucide/pull/3970) - feat(icons): added `square-arrow-right-exit` and `square-arrow-right-enter` icons by [@&#8203;EthanHazel](https://github.com/EthanHazel) in [#&#8203;3958](https://github.com/lucide-icons/lucide/pull/3958) - fix(icons): renamed `flip-*` to `square-centerline-dashed-*` by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3945](https://github.com/lucide-icons/lucide/pull/3945) #### New Contributors - [@&#8203;edwloef](https://github.com/edwloef) made their first contribution in [#&#8203;4063](https://github.com/lucide-icons/lucide/pull/4063) - [@&#8203;duckafire](https://github.com/duckafire) made their first contribution in [#&#8203;4053](https://github.com/lucide-icons/lucide/pull/4053) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.573.0...0.575.0> ### [`v0.574.0`](https://github.com/lucide-icons/lucide/releases/tag/0.574.0): Version 0.574.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.573.0...0.574.0) #### What's Changed - fix(icons): changed `rocking-chair` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3445](https://github.com/lucide-icons/lucide/pull/3445) - fix(icons): flipped `coins` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3158](https://github.com/lucide-icons/lucide/pull/3158) - feat(icons): added `x-line-top` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;2838](https://github.com/lucide-icons/lucide/pull/2838) - feat(icons): added `mouse-left` icon by [@&#8203;marvfash](https://github.com/marvfash) in [#&#8203;2788](https://github.com/lucide-icons/lucide/pull/2788) - feat(icons): added `mouse-right` icon by [@&#8203;marvfash](https://github.com/marvfash) in [#&#8203;2787](https://github.com/lucide-icons/lucide/pull/2787) #### New Contributors - [@&#8203;marvfash](https://github.com/marvfash) made their first contribution in [#&#8203;2788](https://github.com/lucide-icons/lucide/pull/2788) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.572.0...0.574.0> ### [`v0.573.0`](https://github.com/lucide-icons/lucide/releases/tag/0.573.0): Version 0.573.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.572.0...0.573.0) #### What's Changed - fix(icons): changed `rocking-chair` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3445](https://github.com/lucide-icons/lucide/pull/3445) - fix(icons): flipped `coins` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3158](https://github.com/lucide-icons/lucide/pull/3158) - feat(icons): added `x-line-top` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;2838](https://github.com/lucide-icons/lucide/pull/2838) - feat(icons): added `mouse-left` icon by [@&#8203;marvfash](https://github.com/marvfash) in [#&#8203;2788](https://github.com/lucide-icons/lucide/pull/2788) - feat(icons): added `mouse-right` icon by [@&#8203;marvfash](https://github.com/marvfash) in [#&#8203;2787](https://github.com/lucide-icons/lucide/pull/2787) #### New Contributors - [@&#8203;marvfash](https://github.com/marvfash) made their first contribution in [#&#8203;2788](https://github.com/lucide-icons/lucide/pull/2788) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.572.0...0.573.0> ### [`v0.572.0`](https://github.com/lucide-icons/lucide/releases/tag/0.572.0): Version 0.572.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.571.0...0.572.0) #### What's Changed - feat(icons): added `message-circle-check` icon by [@&#8203;Shrinks99](https://github.com/Shrinks99) in [#&#8203;3770](https://github.com/lucide-icons/lucide/pull/3770) #### New Contributors - [@&#8203;Shrinks99](https://github.com/Shrinks99) made their first contribution in [#&#8203;3770](https://github.com/lucide-icons/lucide/pull/3770) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.571.0...0.572.0> ### [`v0.571.0`](https://github.com/lucide-icons/lucide/releases/tag/0.571.0): Version 0.571.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.570.0...0.571.0) #### What's Changed - fix(icons): rearange `circle`-icons path and circle order by [@&#8203;adamlindqvist](https://github.com/adamlindqvist) in [#&#8203;3746](https://github.com/lucide-icons/lucide/pull/3746) - feat(icons): added `shelving-unit` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3041](https://github.com/lucide-icons/lucide/pull/3041) #### New Contributors - [@&#8203;adamlindqvist](https://github.com/adamlindqvist) made their first contribution in [#&#8203;3746](https://github.com/lucide-icons/lucide/pull/3746) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.570.0...0.571.0> ### [`v0.570.0`](https://github.com/lucide-icons/lucide/releases/tag/0.570.0): Version 0.570.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.569.0...0.570.0) #### What's Changed - feat(icons): added `towel-rack` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3350](https://github.com/lucide-icons/lucide/pull/3350) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.569.0...0.570.0> ### [`v0.569.0`](https://github.com/lucide-icons/lucide/releases/tag/0.569.0): Version 0.569.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.568.0...0.569.0) #### What's Changed - fix(icons): changed `clipboard-pen` icon by [@&#8203;Spleefies](https://github.com/Spleefies) in [#&#8203;4006](https://github.com/lucide-icons/lucide/pull/4006) - feat(icons): add `mirror-round` and `mirror-rectangular` by [@&#8203;Muhammad-Aqib-Bashir](https://github.com/Muhammad-Aqib-Bashir) in [#&#8203;3832](https://github.com/lucide-icons/lucide/pull/3832) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.568.0...0.569.0> ### [`v0.568.0`](https://github.com/lucide-icons/lucide/releases/tag/0.568.0): Version 0.568.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.567.0...0.568.0) #### What's Changed - fix(icons): adjusted `clapperboard` so slash is no longer protruding by [@&#8203;torfmuer](https://github.com/torfmuer) in [#&#8203;3764](https://github.com/lucide-icons/lucide/pull/3764) - feat(icons): Add `git-merge-conflict` icon by [@&#8203;timmy471](https://github.com/timmy471) in [#&#8203;3008](https://github.com/lucide-icons/lucide/pull/3008) #### New Contributors - [@&#8203;torfmuer](https://github.com/torfmuer) made their first contribution in [#&#8203;3764](https://github.com/lucide-icons/lucide/pull/3764) - [@&#8203;timmy471](https://github.com/timmy471) made their first contribution in [#&#8203;3008](https://github.com/lucide-icons/lucide/pull/3008) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.567.0...0.568.0> ### [`v0.567.0`](https://github.com/lucide-icons/lucide/releases/tag/0.567.0): Version 0.567.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.566.0...0.567.0) #### What's Changed - chore(tags): added tags to `info` by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;4047](https://github.com/lucide-icons/lucide/pull/4047) - fix(icons): changed `gift` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3977](https://github.com/lucide-icons/lucide/pull/3977) - feat(icons): added `line-dot-right-horizontal` icon by [@&#8203;nathan-de-pachtere](https://github.com/nathan-de-pachtere) in [#&#8203;3742](https://github.com/lucide-icons/lucide/pull/3742) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.566.0...0.567.0> ### [`v0.566.0`](https://github.com/lucide-icons/lucide/releases/tag/0.566.0): Version 0.566.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.565.0...0.566.0) #### What's Changed - fix(icons): changed `forklift` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;4069](https://github.com/lucide-icons/lucide/pull/4069) - fix(icons): changed `rocket` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;4067](https://github.com/lucide-icons/lucide/pull/4067) - feat(icons): added `globe-off` icon by [@&#8203;TimNekk](https://github.com/TimNekk) in [#&#8203;4051](https://github.com/lucide-icons/lucide/pull/4051) #### New Contributors - [@&#8203;TimNekk](https://github.com/TimNekk) made their first contribution in [#&#8203;4051](https://github.com/lucide-icons/lucide/pull/4051) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.565.0...0.566.0> ### [`v0.565.0`](https://github.com/lucide-icons/lucide/releases/tag/0.565.0): Version 0.565.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.564.0...0.565.0) #### What's Changed - feat(icons): add `lens-concave` and `lens-convex` by [@&#8203;Muhammad-Aqib-Bashir](https://github.com/Muhammad-Aqib-Bashir) in [#&#8203;3831](https://github.com/lucide-icons/lucide/pull/3831) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.564.0...0.565.0> ### [`v0.564.0`](https://github.com/lucide-icons/lucide/releases/tag/0.564.0): Version 0.564.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.563.0...0.564.0) #### What's Changed - chore(docs): Improve SEO icon detail pages by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4040](https://github.com/lucide-icons/lucide/pull/4040) - feat(icons): added `database-search` icon by [@&#8203;Spleefies](https://github.com/Spleefies) in [#&#8203;4003](https://github.com/lucide-icons/lucide/pull/4003) - fix(icons): changed `user-lock` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3971](https://github.com/lucide-icons/lucide/pull/3971) - fix(icons): changed `bug-off` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3972](https://github.com/lucide-icons/lucide/pull/3972) - fix(icons): changed `bell-dot` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3973](https://github.com/lucide-icons/lucide/pull/3973) - fix(icons): changed `bandage` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3967](https://github.com/lucide-icons/lucide/pull/3967) - fix(icons): changed `hard-drive` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3622](https://github.com/lucide-icons/lucide/pull/3622) - fix(icons): changed `git-branch` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3938](https://github.com/lucide-icons/lucide/pull/3938) - fix(icons): changed `file-cog` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3965](https://github.com/lucide-icons/lucide/pull/3965) - fix(icons): changed `cloud-alert` and `cloud-check` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3976](https://github.com/lucide-icons/lucide/pull/3976) - feat(icons): adds `user-key` and `user-round-key`, updates other `-key` icons to match by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;4044](https://github.com/lucide-icons/lucide/pull/4044) #### New Contributors - [@&#8203;Spleefies](https://github.com/Spleefies) made their first contribution in [#&#8203;4003](https://github.com/lucide-icons/lucide/pull/4003) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.563.1...0.564.0> ### [`v0.563.0`](https://github.com/lucide-icons/lucide/releases/tag/0.563.0): Version 0.563.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.562.0...0.563.0) #### What's Changed `aria-hidden` is by default added to icons components in all packages. This was already added to `lucide-react` before. Making icons accessible, you can add an `aria-label` or a `title`. See docs about [accessibility](https://lucide.dev/guide/advanced/accessibility). #### All changes - chore(dev): Enable ligatures in font build configuration by [@&#8203;dcxo](https://github.com/dcxo) in [#&#8203;3876](https://github.com/lucide-icons/lucide/pull/3876) - chore(repo): add Android to brand stopwords by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3895](https://github.com/lucide-icons/lucide/pull/3895) - fix(site): add missing titles and a title template by [@&#8203;taimar](https://github.com/taimar) in [#&#8203;3920](https://github.com/lucide-icons/lucide/pull/3920) - fix(site): unify and improve the styling of input fields by [@&#8203;taimar](https://github.com/taimar) in [#&#8203;3919](https://github.com/lucide-icons/lucide/pull/3919) - fix(icons): changed `star-off` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3952](https://github.com/lucide-icons/lucide/pull/3952) - fix(icons): changed `tickets-plane` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3928](https://github.com/lucide-icons/lucide/pull/3928) - fix(icons): changed `monitor-off` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3962](https://github.com/lucide-icons/lucide/pull/3962) - fix(icons): changed `lasso` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3961](https://github.com/lucide-icons/lucide/pull/3961) - fix(icons): changed `cloud-off` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3942](https://github.com/lucide-icons/lucide/pull/3942) - docs(site): added lucide-web-components third-party package by [@&#8203;midesweb](https://github.com/midesweb) in [#&#8203;3948](https://github.com/lucide-icons/lucide/pull/3948) - chore(deps-dev): bump preact from 10.27.2 to 10.27.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3955](https://github.com/lucide-icons/lucide/pull/3955) - feat(icon): add globe-x icon with metadata by [@&#8203;Muhammad-Aqib-Bashir](https://github.com/Muhammad-Aqib-Bashir) in [#&#8203;3827](https://github.com/lucide-icons/lucide/pull/3827) - fix(icons): changed `waypoints` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3990](https://github.com/lucide-icons/lucide/pull/3990) - fix(icons): changed `bookmark` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;2906](https://github.com/lucide-icons/lucide/pull/2906) - fix(icons): changed `message-square-dashed` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3959](https://github.com/lucide-icons/lucide/pull/3959) - fix(icons): changed `cloudy` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3966](https://github.com/lucide-icons/lucide/pull/3966) - fix(github-actions): resolved spelling mistake in gh issue close command by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;4000](https://github.com/lucide-icons/lucide/pull/4000) - Update LICENSE by [@&#8203;alxgraphy](https://github.com/alxgraphy) in [#&#8203;4009](https://github.com/lucide-icons/lucide/pull/4009) - feat(packages): Added aria-hidden fallback for decorative icons to all packages by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3604](https://github.com/lucide-icons/lucide/pull/3604) - chore(deps): bump lodash from 4.17.21 to 4.17.23 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;4020](https://github.com/lucide-icons/lucide/pull/4020) - chore(deps): bump lodash-es from 4.17.21 to 4.17.23 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;4019](https://github.com/lucide-icons/lucide/pull/4019) - Suggest anchoring to a specific lucide version when using a cdn by [@&#8203;drago1520](https://github.com/drago1520) in [#&#8203;3727](https://github.com/lucide-icons/lucide/pull/3727) - feat(docs): upgraded backers block by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;4014](https://github.com/lucide-icons/lucide/pull/4014) - fix(site): hide native search input clear "X" icon by [@&#8203;epifaniofrancisco](https://github.com/epifaniofrancisco) in [#&#8203;3933](https://github.com/lucide-icons/lucide/pull/3933) - feat(icons): added `printer-x` icon by [@&#8203;lt25106](https://github.com/lt25106) in [#&#8203;3941](https://github.com/lucide-icons/lucide/pull/3941) #### New Contributors - [@&#8203;dcxo](https://github.com/dcxo) made their first contribution in [#&#8203;3876](https://github.com/lucide-icons/lucide/pull/3876) - [@&#8203;midesweb](https://github.com/midesweb) made their first contribution in [#&#8203;3948](https://github.com/lucide-icons/lucide/pull/3948) - [@&#8203;alxgraphy](https://github.com/alxgraphy) made their first contribution in [#&#8203;4009](https://github.com/lucide-icons/lucide/pull/4009) - [@&#8203;drago1520](https://github.com/drago1520) made their first contribution in [#&#8203;3727](https://github.com/lucide-icons/lucide/pull/3727) - [@&#8203;lt25106](https://github.com/lt25106) made their first contribution in [#&#8203;3941](https://github.com/lucide-icons/lucide/pull/3941) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.562.0...0.563.0> ### [`v0.562.0`](https://github.com/lucide-icons/lucide/releases/tag/0.562.0): Version 0.562.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.561.0...0.562.0) #### What's Changed - fix(icons): changed `paint-bucket` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3880](https://github.com/lucide-icons/lucide/pull/3880) - fix(site): Fix and unify color-picker font-size by [@&#8203;taimar](https://github.com/taimar) in [#&#8203;3889](https://github.com/lucide-icons/lucide/pull/3889) - fix(react-native-web): only add className prop to parent Icon component by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3892](https://github.com/lucide-icons/lucide/pull/3892) - fix(lucide-react-native): remove icons namespace export to enable tree-shaking by [@&#8203;jtomaszewski](https://github.com/jtomaszewski) in [#&#8203;3868](https://github.com/lucide-icons/lucide/pull/3868) - feat(icons): added `toolbox` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3871](https://github.com/lucide-icons/lucide/pull/3871) #### New Contributors - [@&#8203;taimar](https://github.com/taimar) made their first contribution in [#&#8203;3889](https://github.com/lucide-icons/lucide/pull/3889) - [@&#8203;jtomaszewski](https://github.com/jtomaszewski) made their first contribution in [#&#8203;3868](https://github.com/lucide-icons/lucide/pull/3868) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.561.0...0.562.0> ### [`v0.561.0`](https://github.com/lucide-icons/lucide/releases/tag/0.561.0): Version 0.561.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.560.0...0.561.0) #### What's Changed - fix(site): Small adjustments color picker and add clear button search bar by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3851](https://github.com/lucide-icons/lucide/pull/3851) - feat(icons): added `stone` icon by [@&#8203;Alportan](https://github.com/Alportan) in [#&#8203;3850](https://github.com/lucide-icons/lucide/pull/3850) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.560.0...0.561.0> ### [`v0.560.0`](https://github.com/lucide-icons/lucide/releases/tag/0.560.0): Version 0.560.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.559.0...0.560.0) #### What's Changed - feat(icons): added `cannabis-off` icon by [@&#8203;NickVeles](https://github.com/NickVeles) in [#&#8203;3748](https://github.com/lucide-icons/lucide/pull/3748) #### New Contributors - [@&#8203;NickVeles](https://github.com/NickVeles) made their first contribution in [#&#8203;3748](https://github.com/lucide-icons/lucide/pull/3748) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.559.0...0.560.0> ### [`v0.559.0`](https://github.com/lucide-icons/lucide/releases/tag/0.559.0): Version 0.559.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.558.0...0.559.0) #### What's Changed - feat(icons): added `fishing-hook` icon by [@&#8203;7ender](https://github.com/7ender) in [#&#8203;3837](https://github.com/lucide-icons/lucide/pull/3837) #### New Contributors - [@&#8203;7ender](https://github.com/7ender) made their first contribution in [#&#8203;3837](https://github.com/lucide-icons/lucide/pull/3837) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.558.0...0.559.0> ### [`v0.558.0`](https://github.com/lucide-icons/lucide/releases/tag/0.558.0): Version 0.558.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.557.0...0.558.0) #### What's Changed - feat(icons): added `hd` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;2958](https://github.com/lucide-icons/lucide/pull/2958) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.557.0...0.558.0> ### [`v0.557.0`](https://github.com/lucide-icons/lucide/releases/tag/0.557.0): Version 0.557.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/0.556.0...0.557.0) #### What's Changed - fix(github/workflows/ci): fixes linting issues by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3858](https://github.com/lucide-icons/lucide/pull/3858) - fix(icons): changed `memory-stick` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3017](https://github.com/lucide-icons/lucide/pull/3017) - fix(icons): changed `microchip` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3018](https://github.com/lucide-icons/lucide/pull/3018) - chore(repo): Update Node version and overal cleanup by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3861](https://github.com/lucide-icons/lucide/pull/3861) - fix(icons): changed `paint-bucket` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3865](https://github.com/lucide-icons/lucide/pull/3865) - fix(icons): changed `brush-cleaning` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3863](https://github.com/lucide-icons/lucide/pull/3863) - fix(icons): Swap `thumbs-up` `thumbs-down` paths to fix fill issue by [@&#8203;theianjones](https://github.com/theianjones) in [#&#8203;3873](https://github.com/lucide-icons/lucide/pull/3873) - fix(icons): changed `tickets` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3859](https://github.com/lucide-icons/lucide/pull/3859) - feat(icons): added `layers-plus` icon by [@&#8203;juanisidoro](https://github.com/juanisidoro) in [#&#8203;3367](https://github.com/lucide-icons/lucide/pull/3367) - docs(dev): Fix code sample for vanilla JS by [@&#8203;wavebeem](https://github.com/wavebeem) in [#&#8203;3836](https://github.com/lucide-icons/lucide/pull/3836) - feat(icons): add `search-error` icon by [@&#8203;Veatec22](https://github.com/Veatec22) in [#&#8203;3292](https://github.com/lucide-icons/lucide/pull/3292) - feat(icons): Add `cloud-sync` and `cloud-backup` by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3466](https://github.com/lucide-icons/lucide/pull/3466) - feat(icons): added `circle-pile` icon by [@&#8203;nathan-de-pachtere](https://github.com/nathan-de-pachtere) in [#&#8203;3681](https://github.com/lucide-icons/lucide/pull/3681) - feat(icons): added `balloon` icon by [@&#8203;peteruithoven](https://github.com/peteruithoven) in [#&#8203;2519](https://github.com/lucide-icons/lucide/pull/2519) #### New Contributors - [@&#8203;theianjones](https://github.com/theianjones) made their first contribution in [#&#8203;3873](https://github.com/lucide-icons/lucide/pull/3873) - [@&#8203;juanisidoro](https://github.com/juanisidoro) made their first contribution in [#&#8203;3367](https://github.com/lucide-icons/lucide/pull/3367) - [@&#8203;wavebeem](https://github.com/wavebeem) made their first contribution in [#&#8203;3836](https://github.com/lucide-icons/lucide/pull/3836) - [@&#8203;Veatec22](https://github.com/Veatec22) made their first contribution in [#&#8203;3292](https://github.com/lucide-icons/lucide/pull/3292) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.556.0...0.557.0> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi40Mi4zIiwidXBkYXRlZEluVmVyIjoiNDMuMTc5LjIiLCJ0YXJnZXRCcmFuY2giOiJuZXh0IiwibGFiZWxzIjpbXX0=-->
renovate-bot changed title from Update dependency @effect/language-service to ^0.62.0 to Update bun minor+patch updates 2025-12-11 13:03:02 +01:00
Thilawyn changed target branch from next to master 2026-05-19 19:20:41 +02:00
Thilawyn added 56 commits 2026-05-19 19:20:41 +02:00
Fix
Lint / lint (push) Successful in 12s
3416c5a90c
Fix dependency
Lint / lint (push) Failing after 8s
619f6a78b2
Fix VSCode settings
Lint / lint (push) Successful in 13s
cc3db52f02
Merge branch 'master' into next
Lint / lint (push) Successful in 12s
411aea0a29
Switch to watch mode
Lint / lint (push) Successful in 13s
6c9dcaafc6
Merge branch 'master' into next
Lint / lint (push) Successful in 13s
569874a7af
Update bun minor+patch updates (#31)
Lint / lint (push) Failing after 6s
9f9e62858d
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.42.0` -> `^0.44.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.42.0/0.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.42.0/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http) ([source](https://github.com/open-telemetry/opentelemetry-js)) | [`^0.205.0` -> `^0.206.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-trace-otlp-http/0.205.0/0.206.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-trace-otlp-http/0.206.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-trace-otlp-http/0.205.0/0.206.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.544.0` -> `^0.545.0`](https://renovatebot.com/diffs/npm/lucide-react/0.544.0/0.545.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.545.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.544.0/0.545.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.44.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0440)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.2...v0.44.0)

##### Minor Changes

- [#&#8203;415](https://github.com/Effect-TS/language-service/pull/415) [`42c66a1`](https://github.com/Effect-TS/language-service/commit/42c66a12658d712671b482fdcce0c5b608171d4f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `diagnosticsName` option to include rule names in diagnostic messages. When enabled (default: true), diagnostic messages will display the rule name at the end, e.g., "Effect must be yielded or assigned to a variable. effect(floatingEffect)"

### [`v0.43.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0432)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.1...v0.43.2)

##### Patch Changes

- [#&#8203;410](https://github.com/Effect-TS/language-service/pull/410) [`0b40c04`](https://github.com/Effect-TS/language-service/commit/0b40c04625cadc0a8dfc3b194daafea1f751a3b9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Defer typescript loading in CLI

### [`v0.43.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0431)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.0...v0.43.1)

##### Patch Changes

- [#&#8203;408](https://github.com/Effect-TS/language-service/pull/408) [`9ccd800`](https://github.com/Effect-TS/language-service/commit/9ccd8007b338e0524e17d3061acb722ad5c0e87b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix handling of leading/trailing slashes

### [`v0.43.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0430)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.42.0...v0.43.0)

##### Minor Changes

- [#&#8203;407](https://github.com/Effect-TS/language-service/pull/407) [`6590590`](https://github.com/Effect-TS/language-service/commit/6590590c0decd83f0baa4fd47655f0f67b6c5db9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add deterministicKeys diagnostic to enforce consistent key patterns for Services and Errors

  This new diagnostic helps maintain consistent and unique keys for Effect Services and Tagged Errors by validating them against configurable patterns. The diagnostic is disabled by default and can be enabled via the `deterministicKeys` diagnosticSeverity setting.

  Two patterns are supported:

  - `default`: Constructs keys from package name + file path + class identifier (e.g., `@effect/package/FileName/ClassIdentifier`)
  - `package-identifier`: Uses package name + identifier for flat project structures

  Example configuration:

  ```jsonc
  {
    "diagnosticSeverity": {
      "deterministicKeys": "error"
    },
    "keyPatterns": [
      {
        "target": "service",
        "pattern": "default",
        "skipLeadingPath": ["src/"]
      }
    ]
  }
  ```

  The diagnostic also provides auto-fix code actions to update keys to match the configured patterns.

##### Patch Changes

- [#&#8203;405](https://github.com/Effect-TS/language-service/pull/405) [`f43b3ab`](https://github.com/Effect-TS/language-service/commit/f43b3ab32cad347fb2eb0af740771e35a6c7ff66) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix wrapWithEffectGen refactor not working on class heritage clauses

  The wrapWithEffectGen refactor now correctly skips expressions in heritage clauses (e.g., `extends` clauses in class declarations) to avoid wrapping them inappropriately.

</details>

<details>
<summary>open-telemetry/opentelemetry-js (@&#8203;opentelemetry/exporter-trace-otlp-http)</summary>

### [`v0.206.0`](https://github.com/open-telemetry/opentelemetry-js/compare/2d3760898cdc4f0e68f9f956603cc5df279eb3a8...8e9b8bb2a7a2d81ae0b5171efdf1644210697fa2)

[Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/2d3760898cdc4f0e68f9f956603cc5df279eb3a8...8e9b8bb2a7a2d81ae0b5171efdf1644210697fa2)

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.545.0`](https://github.com/lucide-icons/lucide/releases/tag/0.545.0): Version 0.545.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.544.0...0.545.0)

#### What's Changed

- fix(icons): changed `flame` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3600](https://github.com/lucide-icons/lucide/pull/3600)
- fix(icons): arcified `square-m` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3549](https://github.com/lucide-icons/lucide/pull/3549)
- chore(deps-dev): bump vite from 6.3.5 to 6.3.6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3611](https://github.com/lucide-icons/lucide/pull/3611)
- fix(icons): changed `combine` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3200](https://github.com/lucide-icons/lucide/pull/3200)
- fix(icons): changed `building-2` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3509](https://github.com/lucide-icons/lucide/pull/3509)
- chore(deps): bump devalue from 5.1.1 to 5.3.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3638](https://github.com/lucide-icons/lucide/pull/3638)
- feat(icons): Add `motorbike` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3371](https://github.com/lucide-icons/lucide/pull/3371)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.544.0...0.545.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzguNCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #31
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update docker minor+patch+digest updates (#34)
Lint / lint (push) Failing after 6s
d6ec4e9e46
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| grafana/tempo |  | digest | `6928536` -> `850b64c` |
| [oven/bun](https://github.com/oven-sh/bun) | stage | minor | `1.2.23` -> `1.3.0` |
| [oven/bun](https://github.com/oven-sh/bun) |  | minor | `1.2.23` -> `1.3.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDYuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #34
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Regenerate lockfile
Lint / lint (push) Successful in 12s
26bc15c15b
Work
Lint / lint (push) Successful in 42s
eefb4481ec
Work
Lint / lint (push) Successful in 42s
999fff8ddc
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `850b64c` -> `06ebe79` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDYuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni40IiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #35
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Work
Lint / lint (push) Failing after 12s
afabfc957b
Fix i18n
Lint / lint (push) Has been cancelled
b0408a8929
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `06ebe79` -> `ae81713` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDguMyIsInVwZGF0ZWRJblZlciI6IjQxLjE0OC4zIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #36
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Root work
Lint / lint (push) Successful in 42s
4d22f8e46a
Update docker minor+patch+digest updates (#37)
Lint / lint (push) Successful in 15s
4ad043db82
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `ae81713` -> `4b9b945` |
| [prom/prometheus](https://github.com/prometheus/prometheus) | minor | `v3.6.0` -> `v3.7.0` |

---

### Release Notes

<details>
<summary>prometheus/prometheus (prom/prometheus)</summary>

### [`v3.7.0`](https://github.com/prometheus/prometheus/releases/tag/v3.7.0): 3.7.0 / 2025-10-15

[Compare Source](https://github.com/prometheus/prometheus/compare/v3.6.0...v3.7.0)

- \[CHANGE] Remote-write: the following metrics are deprecated:
  - `prometheus_remote_storage_samples_in_total`, use `prometheus_wal_watcher_records_read_total{type="samples"}` and `prometheus_remote_storage_samples_dropped_total` instead,
  - `prometheus_remote_storage_histograms_in_total`, use `prometheus_wal_watcher_records_read_total{type=~".*histogram_samples"}` and `prometheus_remote_storage_histograms_dropped_total` instead,
  - `prometheus_remote_storage_exemplars_in_total`, use `prometheus_wal_watcher_records_read_total{type="exemplars"}` and `prometheus_remote_storage_exemplars_dropped_total` instead,
  - `prometheus_remote_storage_highest_timestamp_in_seconds`, use the more accurate `prometheus_remote_storage_queue_highest_timestamp_seconds` instead in dashboards and alerts to properly account for relabeling and for more accuracy. [#&#8203;17065](https://github.com/prometheus/prometheus/issues/17065)
- \[FEATURE] PromQL: Add support for experimental anchored and smoothed rate behind feature flag `promql-extended-range-selectors`. [#&#8203;16457](https://github.com/prometheus/prometheus/issues/16457)
- \[FEATURE] Federation: Add support for native histograms with custom buckets (NHCB). [#&#8203;17215](https://github.com/prometheus/prometheus/issues/17215)
- \[FEATURE] PromQL: Add `first_over_time(...)` and `ts_of_first_over_time(...)` behind feature flag `experimental-promql-functions`. [#&#8203;16963](https://github.com/prometheus/prometheus/issues/16963) [#&#8203;17021](https://github.com/prometheus/prometheus/issues/17021)
- \[FEATURE] Remote-write: Add support for Azure Workload Identity as an authentication method for the receiver. [#&#8203;16788](https://github.com/prometheus/prometheus/issues/16788)
- \[FEATURE] Remote-write: Add type and unit labels to outgoing time series in remote-write 2.0 when the `type-and-unit-labels` feature flag is enabled. [#&#8203;17033](https://github.com/prometheus/prometheus/issues/17033)
- \[FEATURE] OTLP: Write start time of metrics as created time zero samples into TSDB when `created-timestamp-zero-ingestion` feature flag is enabled. [#&#8203;16951](https://github.com/prometheus/prometheus/issues/16951)
- \[ENHANCEMENT] PromQL: Add warn-level annotations for counter reset conflicts in certain histogram operations. [#&#8203;17051](https://github.com/prometheus/prometheus/issues/17051) [#&#8203;17094](https://github.com/prometheus/prometheus/issues/17094)
- \[ENHANCEMENT] UI: Add scrape interval and scrape timeout to targets page. [#&#8203;17158](https://github.com/prometheus/prometheus/issues/17158)
- \[ENHANCEMENT] TSDB: Reduce the resolution of native histograms read from chunks or remote read if the schema is exponential. [#&#8203;17213](https://github.com/prometheus/prometheus/issues/17213)
- \[ENHANCEMENT] Remote write: Add logging for unexpected metadata in sample batches, when metadata entries are found in samples-only batches. [#&#8203;17034](https://github.com/prometheus/prometheus/issues/17034) [#&#8203;17082](https://github.com/prometheus/prometheus/issues/17082)
- \[ENHANCEMENT] Rules: Support concurrent evaluation for rules querying `ALERTS` and `ALERTS_FOR_STATE`. [#&#8203;17064](https://github.com/prometheus/prometheus/issues/17064)
- \[ENHANCEMENT] TSDB: Add logs to improve visibility into internal operations. [#&#8203;17074](https://github.com/prometheus/prometheus/issues/17074)
- \[PERF] OTLP: Write directly to TSDB instead of passing through a Remote-Write adapter when receiving OTLP metrics. [#&#8203;16951](https://github.com/prometheus/prometheus/issues/16951)
- \[PERF] OTLP: Reduce number of logs emitted from OTLP endpoint. No need to log duplicate sample errors. [#&#8203;17201](https://github.com/prometheus/prometheus/issues/17201)
- \[PERF] PromQL: Move more work to preprocessing step. [#&#8203;16896](https://github.com/prometheus/prometheus/issues/16896)
- \[PERF] PromQL: Reduce allocations when walking the syntax tree. [#&#8203;16593](https://github.com/prometheus/prometheus/issues/16593)
- \[PERF] TSDB: Optimize appender creation, slightly speeding up startup. [#&#8203;16922](https://github.com/prometheus/prometheus/issues/16922)
- \[PERF] TSDB: Improve speed of querying a series with multiple matchers. [#&#8203;13971](https://github.com/prometheus/prometheus/issues/13971)
- \[BUGFIX] Alerting: Mutating alerts relabeling (using `replace` actions, etc.) within a `alertmanager_config.alert_relabel_configs` block is now scoped correctly and no longer yields altered alerts to subsequent blocks. [#&#8203;17063](https://github.com/prometheus/prometheus/issues/17063)
- \[BUGFIX] Config: Infer valid escaping scheme when scrape config validation scheme is set. [#&#8203;16923](https://github.com/prometheus/prometheus/issues/16923)
- \[BUGFIX] TSDB: Correctly handle appending mixed-typed samples to the same series. [#&#8203;17071](https://github.com/prometheus/prometheus/issues/17071) [#&#8203;17241](https://github.com/prometheus/prometheus/issues/17241) [#&#8203;17290](https://github.com/prometheus/prometheus/issues/17290) [#&#8203;17295](https://github.com/prometheus/prometheus/issues/17295) [#&#8203;17296](https://github.com/prometheus/prometheus/issues/17296)
- \[BUGFIX] Remote-write: Prevent sending unsupported native histograms with custom buckets (NHCB) over Remote-write 1.0, log warning. [#&#8203;17146](https://github.com/prometheus/prometheus/issues/17146)
- \[BUGFIX] TSDB: Fix metadata entries handling on `metadata-wal-records` experimental feature for native histograms with custom buckets (NHCB) in protobuf scraping. [#&#8203;17156](https://github.com/prometheus/prometheus/issues/17156)
- \[BUGFIX] TSDB: Ignore Native Histograms with invalid schemas during WAL/WBL replay. [#&#8203;17214](https://github.com/prometheus/prometheus/issues/17214)
- \[BUGFIX] PromQL: Avoid empty metric names in annotations for `histogram_quantile()`. [#&#8203;16794](https://github.com/prometheus/prometheus/issues/16794)
- \[BUGFIX] PromQL: Correct inaccurate character positions in errors for some aggregate expressions. [#&#8203;16996](https://github.com/prometheus/prometheus/issues/16996) [#&#8203;17031](https://github.com/prometheus/prometheus/issues/17031)
- \[BUGFIX] PromQL: Fix `info()` function on churning series. [#&#8203;17135](https://github.com/prometheus/prometheus/issues/17135)
- \[BUGFIX] PromQL: Set native histogram to gauge type when subtracting or multiplying/dividing with negative factors. [#&#8203;17004](https://github.com/prometheus/prometheus/issues/17004)
- \[BUGFIX] TSDB: Reject unsupported native histogram schemas when attempting to append to TSDB. For scrape and remote-write implement reducing the resolution to fit the maximum if the schema is within the -9 to 52. [#&#8203;17189](https://github.com/prometheus/prometheus/issues/17189)
- \[BUGFIX] Remote-write: Fix HTTP handler to return after writing error response for invalid compression. [#&#8203;17050](https://github.com/prometheus/prometheus/issues/17050)
- \[BUGFIX] Remote-write: Return HTTP error `400` instead of `5xx` for wrongly formatted Native Histograms. [#&#8203;17210](https://github.com/prometheus/prometheus/issues/17210)
- \[BUGFIX] Scrape: Prevent staleness markers from generating unnecessary series. [#&#8203;16429](https://github.com/prometheus/prometheus/issues/16429)
- \[BUGFIX] TSDB: Avoid misleading `Failed to calculate size of \"wal\" dir` error logs during WAL clean-up. [#&#8203;17006](https://github.com/prometheus/prometheus/issues/17006)
- \[BUGFIX] TSDB: Prevent erroneously dropping series records during WAL checkpoints. [#&#8203;17029](https://github.com/prometheus/prometheus/issues/17029)
- \[BUGFIX] UI: Fix redirect to path of `-web.external-url` if `-web.route-prefix` is configured. [#&#8203;17240](https://github.com/prometheus/prometheus/issues/17240)
- \[BUGIFX] Remote-write: Do not panic on invalid symbol table in remote-write 2.0. [#&#8203;17160](https://github.com/prometheus/prometheus/issues/17160)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDkuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0OS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/37
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update color scheme
Lint / lint (push) Successful in 13s
64a564b6cc
Add 98.css
Lint / lint (push) Failing after 14s
1b1f88cf76
Cleanup
Lint / lint (push) Failing after 12s
76ac4317f3
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `4b9b945` -> `9d90999` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTAuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1MC4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #38
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update bun minor+patch updates (#39)
Lint / lint (push) Failing after 6s
1da0fbfce1
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.44.0` -> `^0.45.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.44.1/0.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.44.1/0.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.545.0` -> `^0.546.0`](https://renovatebot.com/diffs/npm/lucide-react/0.545.0/0.546.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.546.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.545.0/0.546.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [postcss-css-variables](https://github.com/MadLittleMods/postcss-css-variables) | [`^0.14.0` -> `^0.19.0`](https://renovatebot.com/diffs/npm/postcss-css-variables/0.14.0/0.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss-css-variables/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss-css-variables/0.14.0/0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.45.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0451)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.45.0...v0.45.1)

##### Patch Changes

- [#&#8203;423](https://github.com/Effect-TS/language-service/pull/423) [`70d8734`](https://github.com/Effect-TS/language-service/commit/70d8734558c4ba3abfd69fafce785b7f58a70a52) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add code fix to rewrite Schema class constructor overrides as static 'new' methods

  When detecting constructor overrides in Schema classes, the diagnostic now provides a new code fix option that automatically rewrites the constructor as a static 'new' method. This preserves the custom initialization logic while maintaining Schema's decoding behavior.

  Example:

  ```typescript
  // Before (with constructor override)
  class MyClass extends Schema.Class<MyClass>("MyClass")({ a: Schema.Number }) {
    b: number;
    constructor() {
      super({ a: 42 });
      this.b = 56;
    }
  }

  // After (using static 'new' method)
  class MyClass extends Schema.Class<MyClass>("MyClass")({ a: Schema.Number }) {
    b: number;
    public static new() {
      const _this = new this({ a: 42 });
      _this.b = 56;
      return _this;
    }
  }
  ```

- [#&#8203;421](https://github.com/Effect-TS/language-service/pull/421) [`8c455ed`](https://github.com/Effect-TS/language-service/commit/8c455ed7a459665d26c30f1e5d90338e48794815) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update dependencies to their latest versions including Effect 3.18.4, TypeScript 5.9.3, and various ESLint and build tooling packages

### [`v0.45.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0450)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.44.1...v0.45.0)

##### Minor Changes

- [#&#8203;419](https://github.com/Effect-TS/language-service/pull/419) [`7cd7216`](https://github.com/Effect-TS/language-service/commit/7cd7216abc8e3057098acf1889c7494d17a869d6) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add support for custom APIs in deterministicKeys diagnostic using the `@effect-identifier` JSDoc tag.

  You can now enforce deterministic keys in custom APIs that follow an `extends MyApi("identifier")` pattern by:

  - Adding `extendedKeyDetection: true` to plugin options to enable detection
  - Marking the identifier parameter with `/** @&#8203;effect-identifier */` JSDoc tag

  Example:

  ```ts
  export function Repository(/** @&#8203;effect-identifier */ identifier: string) {
    return Context.Tag("Repository/" + identifier);
  }

  export class UserRepo extends Repository("user-repo")<
    UserRepo,
    {
      /** ... */
    }
  >() {}
  ```

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.546.0`](https://github.com/lucide-icons/lucide/releases/tag/0.546.0): Version 0.546.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.545.0...0.546.0)

#### What's Changed

- fix(icons): changed `receipt-text` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3553](https://github.com/lucide-icons/lucide/pull/3553)
- fix(docs): removed duplicate text in intro text by [@&#8203;nielsswinkels](https://github.com/nielsswinkels) in [#&#8203;3673](https://github.com/lucide-icons/lucide/pull/3673)
- feat(icons): add VS Code `squircle` base shape snippet by [@&#8203;danielbayley](https://github.com/danielbayley) in [#&#8203;3674](https://github.com/lucide-icons/lucide/pull/3674)
- fix(icons): changed `sword` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3421](https://github.com/lucide-icons/lucide/pull/3421)
- feat(icons): added `monitor-cloud` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3037](https://github.com/lucide-icons/lucide/pull/3037)

#### New Contributors

- [@&#8203;nielsswinkels](https://github.com/nielsswinkels) made their first contribution in [#&#8203;3673](https://github.com/lucide-icons/lucide/pull/3673)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.545.0...0.546.0>

</details>

<details>
<summary>MadLittleMods/postcss-css-variables (postcss-css-variables)</summary>

### [`v0.19.0`](https://github.com/MadLittleMods/postcss-css-variables/blob/HEAD/CHANGELOG.md#v0190---2023-04-12)

[Compare Source](https://github.com/MadLittleMods/postcss-css-variables/compare/v0.18.0...v0.19.0)

- Fix nesting edge case with comma separated selectors
  - Thank you to [@&#8203;marapper](https://github.com/marapper) for the [contribution](https://github.com/MadLittleMods/postcss-css-variables/pull/131)

### [`v0.18.0`](https://github.com/MadLittleMods/postcss-css-variables/blob/HEAD/CHANGELOG.md#v0180---2021-05-11)

[Compare Source](https://github.com/MadLittleMods/postcss-css-variables/compare/v0.17.0...v0.18.0)

- \[breaking] Add basic postcss 8 support (older versions of PostCSS no longer compatible)
  - Thank you to [@&#8203;delucis](https://github.com/delucis) for the [contribution](https://github.com/MadLittleMods/postcss-css-variables/pull/129)

### [`v0.17.0`](https://github.com/MadLittleMods/postcss-css-variables/blob/HEAD/CHANGELOG.md#v0170---2020-04-24)

[Compare Source](https://github.com/MadLittleMods/postcss-css-variables/compare/v0.16.0...v0.17.0)

- Expand variables in AtRule properties
  - Thank you to [@&#8203;pvande](https://github.com/pvande) for the [contribution](https://github.com/MadLittleMods/postcss-css-variables/pull/104)
  - Merged via [#&#8203;121](https://github.com/MadLittleMods/postcss-css-variables/pull/121)

### [`v0.16.0`](https://github.com/MadLittleMods/postcss-css-variables/blob/HEAD/CHANGELOG.md#v0160---2020-04-24)

[Compare Source](https://github.com/MadLittleMods/postcss-css-variables/compare/v0.14.0...v0.16.0)

- Add ability to pass callback function to `options.preserve` to determine whether to preserve declaration
  - Thank you to [@&#8203;ekatioz](https://github.com/ekatioz) for the [contribution](https://github.com/MadLittleMods/postcss-css-variables/pull/116)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTAuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1MC4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #39
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Regenerate lockfile
Lint / lint (push) Failing after 13s
35d4bf7d7f
Work
Lint / lint (push) Failing after 42s
3f45c7ae3e
Update docker minor+patch+digest updates (#40)
Lint / lint (push) Failing after 13s
2ae49eeda8
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `9d90999` -> `35b5ca6` |
| [prom/prometheus](https://github.com/prometheus/prometheus) | patch | `v3.7.0` -> `v3.7.1` |

---

### Release Notes

<details>
<summary>prometheus/prometheus (prom/prometheus)</summary>

### [`v3.7.1`](https://github.com/prometheus/prometheus/releases/tag/v3.7.1): 3.7.1 / 2025-10-16

[Compare Source](https://github.com/prometheus/prometheus/compare/v3.7.0...v3.7.1)

- \[BUGFIX] OTLP: Prefix `key_` to label name when translating an OTel attribute name starting with a single underscore, and keep multiple consecutive underscores in label name when translating an OTel attribute name. This reverts the breaking changes introduced in 3.7.0. [#&#8203;17344](https://github.com/prometheus/prometheus/issues/17344)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTEuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1MS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/40
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update actions/checkout action to v5 (#41)
Lint / lint (push) Failing after 12s
f71b2a99d6
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | major | `v3` -> `v5` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v5`](https://github.com/actions/checkout/compare/v4...v5)

[Compare Source](https://github.com/actions/checkout/compare/v4...v5)

### [`v4`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v422)

[Compare Source](https://github.com/actions/checkout/compare/v3...v4)

- `url-helper.ts` now leverages well-known environment variables by [@&#8203;jww3](https://github.com/jww3) in [#&#8203;1941](https://github.com/actions/checkout/pull/1941)
- Expand unit test coverage for `isGhes` by [@&#8203;jww3](https://github.com/jww3) in [#&#8203;1946](https://github.com/actions/checkout/pull/1946)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTEuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1MS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #41
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update actions/setup-node action to v6 (#43)
Lint / lint (push) Has been cancelled
3f21f0ae8a
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://github.com/actions/setup-node) | action | major | `v3` -> `v6` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

### [`v6`](https://github.com/actions/setup-node/compare/v5...v6)

[Compare Source](https://github.com/actions/setup-node/compare/v5...v6)

### [`v5`](https://github.com/actions/setup-node/compare/v4...v5)

[Compare Source](https://github.com/actions/setup-node/compare/v4...v5)

### [`v4`](https://github.com/actions/setup-node/compare/v3...v4)

[Compare Source](https://github.com/actions/setup-node/compare/v3...v4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTIuMiIsInVwZGF0ZWRJblZlciI6IjQxLjE1Mi4yIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #43
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `35b5ca6` -> `8b14474` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTIuMiIsInVwZGF0ZWRJblZlciI6IjQxLjE1Mi4yIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #42
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `8b14474` -> `9ce9a55` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTQuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1NC4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #46
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update docker minor+patch+digest updates (#48)
Lint / lint (push) Failing after 13s
b4a8a79a6f
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [node](https://github.com/nodejs/node) | final | digest | `535ba2e` -> `b64d83b` |
| [node](https://github.com/nodejs/node) |  | digest | `2bb201f` -> `6b66300` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #48
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.45.0` -> `^0.46.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.45.1/0.46.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.45.1/0.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.46.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0460)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.45.1...v0.46.0)

##### Minor Changes

- [#&#8203;424](https://github.com/Effect-TS/language-service/pull/424) [`4bbfdb0`](https://github.com/Effect-TS/language-service/commit/4bbfdb0a4894ee442e93b0a6cfa845447a2a045f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add support to mark a service as "leakable" via JSDoc tag. Services marked with `@effect-leakable-service` will be excluded from the leaking requirements diagnostic, allowing requirements that are expected to be provided per method invocation (e.g. HttpServerRequest).

  Example:

  ```ts
  /**
   * @&#8203;effect-leakable-service
   */
  export class FileSystem extends Context.Tag("FileSystem")<
    FileSystem,
    {
      writeFile: (content: string) => Effect.Effect<void>;
    }
  >() {}
  ```

- [#&#8203;428](https://github.com/Effect-TS/language-service/pull/428) [`ebaa8e8`](https://github.com/Effect-TS/language-service/commit/ebaa8e85d1c372fb3f584a49b6ea3600c467ac33) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add diagnostic to warn when `@effect-diagnostics-next-line` comments have no effect. This helps identify unused suppression comments that don't actually suppress any diagnostics, improving code cleanliness.

  The new `missingDiagnosticNextLine` option controls the severity of this diagnostic (default: "warning"). Set to "off" to disable.

  Example:

  ```ts
  // This comment will trigger a warning because it doesn't suppress any diagnostic
  // @&#8203;effect-diagnostics-next-line effect/floatingEffect:off
  const x = 1;

  // This comment is correctly suppressing a diagnostic
  // @&#8203;effect-diagnostics-next-line effect/floatingEffect:off
  Effect.succeed(1);
  ```

##### Patch Changes

- [#&#8203;426](https://github.com/Effect-TS/language-service/pull/426) [`22717bd`](https://github.com/Effect-TS/language-service/commit/22717bda12a889f00bc4b78719a487e62da74bef) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve Layer Magic refactor with enhanced dependency sorting and cycle detection

  The Layer Magic refactor now includes:

  - Better handling of complex layer composition scenarios
  - Support for detecting missing layer implementations with helpful error messages

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTYuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ni4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #49
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update bun minor+patch updates (#51)
Lint / lint (push) Failing after 7s
31621d43d6
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.46.0` -> `^0.47.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.46.0/0.47.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.46.0/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http) ([source](https://github.com/open-telemetry/opentelemetry-js)) | [`^0.206.0` -> `^0.207.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-trace-otlp-http/0.206.0/0.207.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-trace-otlp-http/0.207.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-trace-otlp-http/0.206.0/0.207.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.47.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0471)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.47.0...v0.47.1)

##### Patch Changes

- [#&#8203;431](https://github.com/Effect-TS/language-service/pull/431) [`acbbc55`](https://github.com/Effect-TS/language-service/commit/acbbc55f30a4223a14623d69b2b3097c74644647) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix nested project references relative paths in CLI diagnostics command

  The CLI diagnostics command now correctly resolves paths for nested project references by:

  - Using absolute paths when parsing tsconfig files
  - Correctly resolving the base directory for relative paths in project references
  - Processing files in batches to improve memory usage and prevent leaks

### [`v0.47.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0470)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.46.0...v0.47.0)

##### Minor Changes

- [#&#8203;429](https://github.com/Effect-TS/language-service/pull/429) [`351d7fb`](https://github.com/Effect-TS/language-service/commit/351d7fbec1158294f6cf309eafdb99f5260de8d5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add new `diagnostics` CLI command to check Effect-specific diagnostics for files or projects

  The new `effect-language-service diagnostics` command provides a way to get Effect-specific diagnostics through the CLI without patching your TypeScript installation. It supports:

  - `--file` option to get diagnostics for a specific file
  - `--project` option with a tsconfig file to check an entire project

  The command outputs diagnostics in the same format as the TypeScript compiler, showing errors, warnings, and messages with their locations and descriptions.

</details>

<details>
<summary>open-telemetry/opentelemetry-js (@&#8203;opentelemetry/exporter-trace-otlp-http)</summary>

### [`v0.207.0`](https://github.com/open-telemetry/opentelemetry-js/compare/8e9b8bb2a7a2d81ae0b5171efdf1644210697fa2...fb6476d8243ac8dcaaea74130b9c50c43938275c)

[Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/8e9b8bb2a7a2d81ae0b5171efdf1644210697fa2...fb6476d8243ac8dcaaea74130b9c50c43938275c)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTcuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ny4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #51
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update docker minor+patch+digest updates (#50)
Lint / lint (push) Failing after 6s
6546ca8837
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| grafana/grafana |  | digest | `60794dc` -> `aa42cb1` |
| grafana/tempo |  | digest | `9ce9a55` -> `f3e3b4f` |
| [node](https://github.com/nodejs/node) | final | minor | `22.20.0-trixie-slim` -> `22.21.0-trixie-slim` |
| [node](https://github.com/nodejs/node) |  | minor | `22.20.0` -> `22.21.0` |
| [oven/bun](https://github.com/oven-sh/bun) | stage | patch | `1.3.0` -> `1.3.1` |
| [oven/bun](https://github.com/oven-sh/bun) |  | patch | `1.3.0` -> `1.3.1` |

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v22.21.0`](https://github.com/nodejs/node/releases/tag/v22.21.0): 2025-10-20, Version 22.21.0 &#x27;Jod&#x27; (LTS), @&#8203;aduh95

[Compare Source](https://github.com/nodejs/node/compare/v22.20.0...v22.21.0)

##### Notable Changes

- \[[`1486fedea1`](https://github.com/nodejs/node/commit/1486fedea1)] - **(SEMVER-MINOR)** **cli**: add `--use-env-proxy` (Joyee Cheung) [#&#8203;59151](https://github.com/nodejs/node/pull/59151)
- \[[`bedaaa11fc`](https://github.com/nodejs/node/commit/bedaaa11fc)] - **(SEMVER-MINOR)** **http**: support http proxy for fetch under `NODE_USE_ENV_PROXY` (Joyee Cheung) [#&#8203;57165](https://github.com/nodejs/node/pull/57165)
- \[[`af8b5fa29d`](https://github.com/nodejs/node/commit/af8b5fa29d)] - **(SEMVER-MINOR)** **http**: add `shouldUpgradeCallback` to let servers control HTTP upgrades (Tim Perry) [#&#8203;59824](https://github.com/nodejs/node/pull/59824)
- \[[`42102594b1`](https://github.com/nodejs/node/commit/42102594b1)] - **(SEMVER-MINOR)** **http,https**: add built-in proxy support in `http`/`https.request` and `Agent` (Joyee Cheung) [#&#8203;58980](https://github.com/nodejs/node/pull/58980)
- \[[`686ac49b82`](https://github.com/nodejs/node/commit/686ac49b82)] - **(SEMVER-MINOR)** **src**: add percentage support to `--max-old-space-size` (Asaf Federman) [#&#8203;59082](https://github.com/nodejs/node/pull/59082)

##### Commits

- \[[`a71dd592e3`](https://github.com/nodejs/node/commit/a71dd592e3)] - **benchmark**: calibrate config dgram multi-buffer (Bruno Rodrigues) [#&#8203;59696](https://github.com/nodejs/node/pull/59696)
- \[[`16c4b466f4`](https://github.com/nodejs/node/commit/16c4b466f4)] - **benchmark**: calibrate config cluster/echo.js (Nam Yooseong) [#&#8203;59836](https://github.com/nodejs/node/pull/59836)
- \[[`53cb9f3b6c`](https://github.com/nodejs/node/commit/53cb9f3b6c)] - **build**: add the missing macro definitions for OpenHarmony (hqzing) [#&#8203;59804](https://github.com/nodejs/node/pull/59804)
- \[[`ec5290fe01`](https://github.com/nodejs/node/commit/ec5290fe01)] - **build**: do not include custom ESLint rules testing in tarball (Antoine du Hamel) [#&#8203;59809](https://github.com/nodejs/node/pull/59809)
- \[[`1486fedea1`](https://github.com/nodejs/node/commit/1486fedea1)] - **(SEMVER-MINOR)** **cli**: add --use-env-proxy (Joyee Cheung) [#&#8203;59151](https://github.com/nodejs/node/pull/59151)
- \[[`1f93913446`](https://github.com/nodejs/node/commit/1f93913446)] - **crypto**: use `return await` when returning Promises from async functions (Renegade334) [#&#8203;59841](https://github.com/nodejs/node/pull/59841)
- \[[`f488b2ff73`](https://github.com/nodejs/node/commit/f488b2ff73)] - **crypto**: use async functions for non-stub Promise-returning functions (Renegade334) [#&#8203;59841](https://github.com/nodejs/node/pull/59841)
- \[[`aed9fd5ac4`](https://github.com/nodejs/node/commit/aed9fd5ac4)] - **crypto**: avoid calls to `promise.catch()` (Renegade334) [#&#8203;59841](https://github.com/nodejs/node/pull/59841)
- \[[`37c2d186f0`](https://github.com/nodejs/node/commit/37c2d186f0)] - **deps**: update amaro to 1.1.4 (pmarchini) [#&#8203;60044](https://github.com/nodejs/node/pull/60044)
- \[[`28aea13419`](https://github.com/nodejs/node/commit/28aea13419)] - **deps**: update archs files for openssl-3.5.4 (Node.js GitHub Bot) [#&#8203;60101](https://github.com/nodejs/node/pull/60101)
- \[[`ddbc1aa0bb`](https://github.com/nodejs/node/commit/ddbc1aa0bb)] - **deps**: upgrade openssl sources to openssl-3.5.4 (Node.js GitHub Bot) [#&#8203;60101](https://github.com/nodejs/node/pull/60101)
- \[[`badbba2da9`](https://github.com/nodejs/node/commit/badbba2da9)] - **deps**: update googletest to [`50b8600`](https://github.com/nodejs/node/commit/50b8600) (Node.js GitHub Bot) [#&#8203;59955](https://github.com/nodejs/node/pull/59955)
- \[[`48aaf98a08`](https://github.com/nodejs/node/commit/48aaf98a08)] - **deps**: update archs files for openssl-3.5.3 (Node.js GitHub Bot) [#&#8203;59901](https://github.com/nodejs/node/pull/59901)
- \[[`e02a562ea6`](https://github.com/nodejs/node/commit/e02a562ea6)] - **deps**: upgrade openssl sources to openssl-3.5.3 (Node.js GitHub Bot) [#&#8203;59901](https://github.com/nodejs/node/pull/59901)
- \[[`7e0e86cb92`](https://github.com/nodejs/node/commit/7e0e86cb92)] - **deps**: upgrade npm to 10.9.4 (npm team) [#&#8203;60074](https://github.com/nodejs/node/pull/60074)
- \[[`91dda5facf`](https://github.com/nodejs/node/commit/91dda5facf)] - **deps**: update undici to 6.22.0 (Matteo Collina) [#&#8203;60112](https://github.com/nodejs/node/pull/60112)
- \[[`3a3220a2f0`](https://github.com/nodejs/node/commit/3a3220a2f0)] - **dgram**: restore buffer optimization in fixBufferList (Yoo) [#&#8203;59934](https://github.com/nodejs/node/pull/59934)
- \[[`09bdcce6b8`](https://github.com/nodejs/node/commit/09bdcce6b8)] - **diagnostics\_channel**: fix race condition with diagnostics\_channel and GC (Ugaitz Urien) [#&#8203;59910](https://github.com/nodejs/node/pull/59910)
- \[[`b3eeb3bd13`](https://github.com/nodejs/node/commit/b3eeb3bd13)] - **doc**: provide alternative to `url.parse()` using WHATWG URL (Steven) [#&#8203;59736](https://github.com/nodejs/node/pull/59736)
- \[[`1ddaab1904`](https://github.com/nodejs/node/commit/1ddaab1904)] - **doc**: mention reverse proxy and include simple example (Steven) [#&#8203;59736](https://github.com/nodejs/node/pull/59736)
- \[[`3b3b71e99c`](https://github.com/nodejs/node/commit/3b3b71e99c)] - **doc**: mark `.env` files support as stable (Santeri Hiltunen) [#&#8203;59925](https://github.com/nodejs/node/pull/59925)
- \[[`d37f67d1bd`](https://github.com/nodejs/node/commit/d37f67d1bd)] - **doc**: remove optional title prefixes (Aviv Keller) [#&#8203;60087](https://github.com/nodejs/node/pull/60087)
- \[[`ca2dff63f9`](https://github.com/nodejs/node/commit/ca2dff63f9)] - **doc**: fix typo on child\_process.md (Angelo Gazzola) [#&#8203;60114](https://github.com/nodejs/node/pull/60114)
- \[[`3fca564a05`](https://github.com/nodejs/node/commit/3fca564a05)] - **doc**: add automated migration info to deprecations (Augustin Mauroy) [#&#8203;60022](https://github.com/nodejs/node/pull/60022)
- \[[`4bc366fc16`](https://github.com/nodejs/node/commit/4bc366fc16)] - **doc**: use "WebAssembly" instead of "Web Assembly" (Tobias Nießen) [#&#8203;59954](https://github.com/nodejs/node/pull/59954)
- \[[`4808dbdd9a`](https://github.com/nodejs/node/commit/4808dbdd9a)] - **doc**: fix typo in section on microtask order (Tobias Nießen) [#&#8203;59932](https://github.com/nodejs/node/pull/59932)
- \[[`d6e303d645`](https://github.com/nodejs/node/commit/d6e303d645)] - **doc**: update V8 fast API guidance (René) [#&#8203;58999](https://github.com/nodejs/node/pull/58999)
- \[[`0a3a3f729e`](https://github.com/nodejs/node/commit/0a3a3f729e)] - **doc**: add security escalation policy (Ulises Gascón) [#&#8203;59806](https://github.com/nodejs/node/pull/59806)
- \[[`8fd669c70d`](https://github.com/nodejs/node/commit/8fd669c70d)] - **doc**: type improvement of file `http.md` (yusheng chen) [#&#8203;58189](https://github.com/nodejs/node/pull/58189)
- \[[`9833dc6060`](https://github.com/nodejs/node/commit/9833dc6060)] - **doc**: rephrase dynamic import() description (Nam Yooseong) [#&#8203;59224](https://github.com/nodejs/node/pull/59224)
- \[[`2870a73681`](https://github.com/nodejs/node/commit/2870a73681)] - **doc,crypto**: update subtle.generateKey and subtle.importKey (Filip Skokan) [#&#8203;59851](https://github.com/nodejs/node/pull/59851)
- \[[`85818db93c`](https://github.com/nodejs/node/commit/85818db93c)] - **fs,win**: do not add a second trailing slash in readdir (Gerhard Stöbich) [#&#8203;59847](https://github.com/nodejs/node/pull/59847)
- \[[`bedaaa11fc`](https://github.com/nodejs/node/commit/bedaaa11fc)] - **(SEMVER-MINOR)** **http**: support http proxy for fetch under NODE\_USE\_ENV\_PROXY (Joyee Cheung) [#&#8203;57165](https://github.com/nodejs/node/pull/57165)
- \[[`af8b5fa29d`](https://github.com/nodejs/node/commit/af8b5fa29d)] - **(SEMVER-MINOR)** **http**: add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) [#&#8203;59824](https://github.com/nodejs/node/pull/59824)
- \[[`758271ae66`](https://github.com/nodejs/node/commit/758271ae66)] - **http**: optimize checkIsHttpToken for short strings (방진혁) [#&#8203;59832](https://github.com/nodejs/node/pull/59832)
- \[[`42102594b1`](https://github.com/nodejs/node/commit/42102594b1)] - **(SEMVER-MINOR)** **http,https**: add built-in proxy support in http/https.request and Agent (Joyee Cheung) [#&#8203;58980](https://github.com/nodejs/node/pull/58980)
- \[[`a33ed9bf96`](https://github.com/nodejs/node/commit/a33ed9bf96)] - **inspector**: ensure adequate memory allocation for `Binary::toBase64` (René) [#&#8203;59870](https://github.com/nodejs/node/pull/59870)
- \[[`34c686be2b`](https://github.com/nodejs/node/commit/34c686be2b)] - **lib**: update inspect output format for subclasses (Miguel Marcondes Filho) [#&#8203;59687](https://github.com/nodejs/node/pull/59687)
- \[[`12e553529c`](https://github.com/nodejs/node/commit/12e553529c)] - **lib**: add source map support for assert messages (Chengzhong Wu) [#&#8203;59751](https://github.com/nodejs/node/pull/59751)
- \[[`d2a70571f8`](https://github.com/nodejs/node/commit/d2a70571f8)] - **lib,src**: refactor assert to load error source from memory (Chengzhong Wu) [#&#8203;59751](https://github.com/nodejs/node/pull/59751)
- \[[`20a9e86b5d`](https://github.com/nodejs/node/commit/20a9e86b5d)] - **meta**: move Michael to emeritus (Michael Dawson) [#&#8203;60070](https://github.com/nodejs/node/pull/60070)
- \[[`c591cca15c`](https://github.com/nodejs/node/commit/c591cca15c)] - **meta**: bump github/codeql-action from 3.30.0 to 3.30.5 (dependabot\[bot]) [#&#8203;60089](https://github.com/nodejs/node/pull/60089)
- \[[`090ba141b1`](https://github.com/nodejs/node/commit/090ba141b1)] - **meta**: bump codecov/codecov-action from 5.5.0 to 5.5.1 (dependabot\[bot]) [#&#8203;60091](https://github.com/nodejs/node/pull/60091)
- \[[`a0ba6884a5`](https://github.com/nodejs/node/commit/a0ba6884a5)] - **meta**: bump actions/stale from 9.1.0 to 10.0.0 (dependabot\[bot]) [#&#8203;60092](https://github.com/nodejs/node/pull/60092)
- \[[`0feca0c541`](https://github.com/nodejs/node/commit/0feca0c541)] - **meta**: bump actions/setup-node from 4.4.0 to 5.0.0 (dependabot\[bot]) [#&#8203;60093](https://github.com/nodejs/node/pull/60093)
- \[[`7cd2b42d18`](https://github.com/nodejs/node/commit/7cd2b42d18)] - **meta**: bump step-security/harden-runner from 2.12.2 to 2.13.1 (dependabot\[bot]) [#&#8203;60094](https://github.com/nodejs/node/pull/60094)
- \[[`1f3b9d66ac`](https://github.com/nodejs/node/commit/1f3b9d66ac)] - **meta**: bump actions/cache from 4.2.4 to 4.3.0 (dependabot\[bot]) [#&#8203;60095](https://github.com/nodejs/node/pull/60095)
- \[[`0fedbb3de7`](https://github.com/nodejs/node/commit/0fedbb3de7)] - **meta**: bump ossf/scorecard-action from 2.4.2 to 2.4.3 (dependabot\[bot]) [#&#8203;60096](https://github.com/nodejs/node/pull/60096)
- \[[`04590b8267`](https://github.com/nodejs/node/commit/04590b8267)] - **meta**: bump actions/setup-python from 5.6.0 to 6.0.0 (dependabot\[bot]) [#&#8203;60090](https://github.com/nodejs/node/pull/60090)
- \[[`2bf0a9318f`](https://github.com/nodejs/node/commit/2bf0a9318f)] - **meta**: add .npmrc with ignore-scripts=true (Joyee Cheung) [#&#8203;59914](https://github.com/nodejs/node/pull/59914)
- \[[`e10dc7b81c`](https://github.com/nodejs/node/commit/e10dc7b81c)] - **module**: allow overriding linked requests for a ModuleWrap (Chengzhong Wu) [#&#8203;59527](https://github.com/nodejs/node/pull/59527)
- \[[`2237142369`](https://github.com/nodejs/node/commit/2237142369)] - **module**: link module with a module request record (Chengzhong Wu) [#&#8203;58886](https://github.com/nodejs/node/pull/58886)
- \[[`6d24b88fbc`](https://github.com/nodejs/node/commit/6d24b88fbc)] - **node-api**: added SharedArrayBuffer api (Mert Can Altin) [#&#8203;59071](https://github.com/nodejs/node/pull/59071)
- \[[`4cc84c96f4`](https://github.com/nodejs/node/commit/4cc84c96f4)] - **node-api**: make napi\_delete\_reference use node\_api\_basic\_env (Jeetu Suthar) [#&#8203;59684](https://github.com/nodejs/node/pull/59684)
- \[[`e790eb6b50`](https://github.com/nodejs/node/commit/e790eb6b50)] - **repl**: fix cpu overhead pasting big strings to the REPL (Ruben Bridgewater) [#&#8203;59857](https://github.com/nodejs/node/pull/59857)
- \[[`99ea08dc43`](https://github.com/nodejs/node/commit/99ea08dc43)] - **repl**: add isValidParentheses check before wrap input (Xuguang Mei) [#&#8203;59607](https://github.com/nodejs/node/pull/59607)
- \[[`e4a4f63019`](https://github.com/nodejs/node/commit/e4a4f63019)] - **sqlite**: fix crash session extension callbacks with workers (Bart Louwers) [#&#8203;59848](https://github.com/nodejs/node/pull/59848)
- \[[`42c5544b97`](https://github.com/nodejs/node/commit/42c5544b97)] - **src**: assert memory calc for max-old-space-size-percentage (Asaf Federman) [#&#8203;59460](https://github.com/nodejs/node/pull/59460)
- \[[`686ac49b82`](https://github.com/nodejs/node/commit/686ac49b82)] - **(SEMVER-MINOR)** **src**: add percentage support to --max-old-space-size (Asaf Federman) [#&#8203;59082](https://github.com/nodejs/node/pull/59082)
- \[[`84701ff668`](https://github.com/nodejs/node/commit/84701ff668)] - **src**: clear all linked module caches once instantiated (Chengzhong Wu) [#&#8203;59117](https://github.com/nodejs/node/pull/59117)
- \[[`8e182e561f`](https://github.com/nodejs/node/commit/8e182e561f)] - **src**: remove unnecessary `Environment::GetCurrent()` calls (Moonki Choi) [#&#8203;59814](https://github.com/nodejs/node/pull/59814)
- \[[`c9cde35c4d`](https://github.com/nodejs/node/commit/c9cde35c4d)] - **src**: simplify is\_callable by making it a concept (Tobias Nießen) [#&#8203;58169](https://github.com/nodejs/node/pull/58169)
- \[[`892b425ee1`](https://github.com/nodejs/node/commit/892b425ee1)] - **src**: rename private fields to follow naming convention (Moonki Choi) [#&#8203;59923](https://github.com/nodejs/node/pull/59923)
- \[[`36b68db7f5`](https://github.com/nodejs/node/commit/36b68db7f5)] - **src**: reduce the nearest parent package JSON cache size (Michael Smith) [#&#8203;59888](https://github.com/nodejs/node/pull/59888)
- \[[`26b40bad02`](https://github.com/nodejs/node/commit/26b40bad02)] - **src**: replace FIXED\_ONE\_BYTE\_STRING with Environment-cached strings (Moonki Choi) [#&#8203;59891](https://github.com/nodejs/node/pull/59891)
- \[[`34dcb7dc32`](https://github.com/nodejs/node/commit/34dcb7dc32)] - **src**: create strings in `FIXED_ONE_BYTE_STRING` as internalized (Anna Henningsen) [#&#8203;59826](https://github.com/nodejs/node/pull/59826)
- \[[`4d748add05`](https://github.com/nodejs/node/commit/4d748add05)] - **src**: remove `std::array` overload of `FIXED_ONE_BYTE_STRING` (Anna Henningsen) [#&#8203;59826](https://github.com/nodejs/node/pull/59826)
- \[[`bb6fd7c2d1`](https://github.com/nodejs/node/commit/bb6fd7c2d1)] - **src**: ensure `v8::Eternal` is empty before setting it (Anna Henningsen) [#&#8203;59825](https://github.com/nodejs/node/pull/59825)
- \[[`7a91282bf9`](https://github.com/nodejs/node/commit/7a91282bf9)] - **src**: use simdjson::pad (0hm☘️) [#&#8203;59391](https://github.com/nodejs/node/pull/59391)
- \[[`ba00875f01`](https://github.com/nodejs/node/commit/ba00875f01)] - **stream**: use new AsyncResource instead of bind (Matteo Collina) [#&#8203;59867](https://github.com/nodejs/node/pull/59867)
- \[[`ebec3ef68b`](https://github.com/nodejs/node/commit/ebec3ef68b)] - **(SEMVER-MINOR)** **test**: move http proxy tests to test/client-proxy (Joyee Cheung) [#&#8203;58980](https://github.com/nodejs/node/pull/58980)
- \[[`7067d79fb3`](https://github.com/nodejs/node/commit/7067d79fb3)] - **test**: mark sea tests flaky on macOS x64 (Richard Lau) [#&#8203;60068](https://github.com/nodejs/node/pull/60068)
- \[[`ca1942c9d5`](https://github.com/nodejs/node/commit/ca1942c9d5)] - **test**: testcase demonstrating issue 59541 (Eric Rannaud) [#&#8203;59801](https://github.com/nodejs/node/pull/59801)
- \[[`660d57355e`](https://github.com/nodejs/node/commit/660d57355e)] - **test,doc**: skip --max-old-space-size-percentage on 32-bit platforms (Asaf Federman) [#&#8203;60144](https://github.com/nodejs/node/pull/60144)
- \[[`19a7b1ef26`](https://github.com/nodejs/node/commit/19a7b1ef26)] - **tls**: load bundled and extra certificates off-thread (Joyee Cheung) [#&#8203;59856](https://github.com/nodejs/node/pull/59856)
- \[[`095e7a81fc`](https://github.com/nodejs/node/commit/095e7a81fc)] - **tls**: only do off-thread certificate loading on loading tls (Joyee Cheung) [#&#8203;59856](https://github.com/nodejs/node/pull/59856)
- \[[`c42c1204c7`](https://github.com/nodejs/node/commit/c42c1204c7)] - **tools**: fix `tools/make-v8.sh` for clang (Richard Lau) [#&#8203;59893](https://github.com/nodejs/node/pull/59893)
- \[[`b632a1d98d`](https://github.com/nodejs/node/commit/b632a1d98d)] - **tools**: skip test-internet workflow for draft PRs (Michaël Zasso) [#&#8203;59817](https://github.com/nodejs/node/pull/59817)
- \[[`6021c3ac76`](https://github.com/nodejs/node/commit/6021c3ac76)] - **tools**: copyedit `build-tarball.yml` (Antoine du Hamel) [#&#8203;59808](https://github.com/nodejs/node/pull/59808)
- \[[`ef005d0c9b`](https://github.com/nodejs/node/commit/ef005d0c9b)] - **typings**: update 'types' binding (René) [#&#8203;59692](https://github.com/nodejs/node/pull/59692)
- \[[`28ef564ecd`](https://github.com/nodejs/node/commit/28ef564ecd)] - **typings**: remove unused imports (Nam Yooseong) [#&#8203;59880](https://github.com/nodejs/node/pull/59880)
- \[[`f88752ddb6`](https://github.com/nodejs/node/commit/f88752ddb6)] - **url**: replaced slice with at (Mikhail) [#&#8203;59181](https://github.com/nodejs/node/pull/59181)
- \[[`24c224960c`](https://github.com/nodejs/node/commit/24c224960c)] - **url**: add type checking to urlToHttpOptions() (simon-id) [#&#8203;59753](https://github.com/nodejs/node/pull/59753)
- \[[`f2fbcc576d`](https://github.com/nodejs/node/commit/f2fbcc576d)] - **util**: fix debuglog.enabled not being present with callback logger (Ruben Bridgewater) [#&#8203;59858](https://github.com/nodejs/node/pull/59858)
- \[[`6277058e43`](https://github.com/nodejs/node/commit/6277058e43)] - **vm**: sync-ify SourceTextModule linkage (Chengzhong Wu) [#&#8203;59000](https://github.com/nodejs/node/pull/59000)
- \[[`5bf21a4309`](https://github.com/nodejs/node/commit/5bf21a4309)] - **vm**: explain how to share promises between contexts w/ afterEvaluate (Eric Rannaud) [#&#8203;59801](https://github.com/nodejs/node/pull/59801)
- \[[`312b33a083`](https://github.com/nodejs/node/commit/312b33a083)] - **vm**: "afterEvaluate", evaluate() return a promise from the outer context (Eric Rannaud) [#&#8203;59801](https://github.com/nodejs/node/pull/59801)
- \[[`1eadab863c`](https://github.com/nodejs/node/commit/1eadab863c)] - **win,tools**: add description to signature (Martin Costello) [#&#8203;59877](https://github.com/nodejs/node/pull/59877)
- \[[`816e1befb1`](https://github.com/nodejs/node/commit/816e1befb1)] - **zlib**: reduce code duplication (jhofstee) [#&#8203;57810](https://github.com/nodejs/node/pull/57810)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTcuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1Ny4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #50
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update docker minor+patch+digest updates (#52)
Lint / lint (push) Failing after 7s
6150943347
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `f3e3b4f` -> `2235d05` |
| [node](https://github.com/nodejs/node) | digest | `91b08ad` -> `23c24e8` |
| [prom/prometheus](https://github.com/prometheus/prometheus) | patch | `v3.7.1` -> `v3.7.2` |

---

### Release Notes

<details>
<summary>prometheus/prometheus (prom/prometheus)</summary>

### [`v3.7.2`](https://github.com/prometheus/prometheus/releases/tag/v3.7.2): 3.7.2 / 2025-10-22

[Compare Source](https://github.com/prometheus/prometheus/compare/v3.7.1...v3.7.2)

- \[BUGFIX] AWS SD: Fix AWS SDK v2 credentials handling for EC2 and Lightsail discovery. [#&#8203;17355](https://github.com/prometheus/prometheus/issues/17355)
- \[BUGFIX] AWS SD: Load AWS region from IMDS when not set. [#&#8203;17376](https://github.com/prometheus/prometheus/issues/17376)
- \[BUGFIX] Relabeling: Fix `labelmap` action validation with the legacy metric name validation scheme. [#&#8203;17372](https://github.com/prometheus/prometheus/issues/17372)
- \[BUGFIX] PromQL: Fix parsing failure when `anchored` and `smoothed` are used as metric names and label names. [#&#8203;17353](https://github.com/prometheus/prometheus/issues/17353)
- \[BUGFIX] PromQL: Fix formatting of range vector selectors with `smoothed`/`anchored` modifier. [#&#8203;17354](https://github.com/prometheus/prometheus/issues/17354)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTguMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OC4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/52
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.47.0` -> `^0.48.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.47.3/0.48.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.47.3/0.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.48.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0480)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.47.3...v0.48.0)

##### Minor Changes

- [#&#8203;441](https://github.com/Effect-TS/language-service/pull/441) [`ed1db9e`](https://github.com/Effect-TS/language-service/commit/ed1db9ef2432d9d94df80e1835eb42491f0cfbf2) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `default-hashed` pattern for deterministic keys

  A new `default-hashed` pattern option is now available for service and error key patterns. This pattern works like the `default` pattern but hashes the resulting string, which is useful when you want deterministic keys but are concerned about potentially exposing service names in builds.

  Example configuration:

  ```json
  {
    "keyPatterns": [
      { "target": "service", "pattern": "default-hashed" },
      { "target": "error", "pattern": "default-hashed" }
    ]
  }
  ```

##### Patch Changes

- [#&#8203;442](https://github.com/Effect-TS/language-service/pull/442) [`44f4304`](https://github.com/Effect-TS/language-service/commit/44f43041ced08ef1e6e6242baccbc855e056dfa7) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Tone down try/catch message to ignore try/finally blocks

- [#&#8203;439](https://github.com/Effect-TS/language-service/pull/439) [`b73c231`](https://github.com/Effect-TS/language-service/commit/b73c231dc13fc2db31eaeb3475a129cdeeca21dc) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix regression in type unification for union types and prevent infinite recursion in layerMagic refactor

  - Fixed `toggleTypeAnnotation` refactor to properly unify boolean types instead of expanding them to `true | false`
  - Fixed infinite recursion issue in `layerMagic` refactor's `adjustedNode` function when processing variable and property declarations

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTguMCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OC4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #53
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `2235d05` -> `cb09d25` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #54
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update bun minor+patch updates (#55)
Lint / lint (push) Failing after 6s
4964a38613
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [effect-fc](https://github.com/Thiladev/effect-fc) | [`^0.1.3` -> `^0.2.0`](https://renovatebot.com/diffs/npm/effect-fc/0.1.5/0.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/effect-fc/0.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/effect-fc/0.1.5/0.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.546.0` -> `^0.547.0`](https://renovatebot.com/diffs/npm/lucide-react/0.546.0/0.547.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.547.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.546.0/0.547.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Thiladev/effect-fc (effect-fc)</summary>

### [`v0.2.0`](https://github.com/Thiladev/effect-fc/compare/6bf4e33c29f0bcd8b146f95ff36927ccf027019d...a432993ac313785185a42ebee4f170f2c205956d)

[Compare Source](https://github.com/Thiladev/effect-fc/compare/6bf4e33c29f0bcd8b146f95ff36927ccf027019d...a432993ac313785185a42ebee4f170f2c205956d)

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.547.0`](https://github.com/lucide-icons/lucide/releases/tag/0.547.0): Version 0.547.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.546.0...0.547.0)

#### What's Changed

- fix(docs): update brand logo statement link in github action by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3630](https://github.com/lucide-icons/lucide/pull/3630)
- chore(deps): bump astro from 5.5.2 to 5.14.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3683](https://github.com/lucide-icons/lucide/pull/3683)
- fix(packages/lucide): replace elements inside `<template>` ([#&#8203;2635](https://github.com/lucide-icons/lucide/issues/2635)) by [@&#8203;KhalidAlansary](https://github.com/KhalidAlansary) in [#&#8203;3576](https://github.com/lucide-icons/lucide/pull/3576)
- feat(icons): added `birdhouse` icon by [@&#8203;hieu-onefold](https://github.com/hieu-onefold) in [#&#8203;3378](https://github.com/lucide-icons/lucide/pull/3378)

#### New Contributors

- [@&#8203;KhalidAlansary](https://github.com/KhalidAlansary) made their first contribution in [#&#8203;3576](https://github.com/lucide-icons/lucide/pull/3576)
- [@&#8203;hieu-onefold](https://github.com/hieu-onefold) made their first contribution in [#&#8203;3378](https://github.com/lucide-icons/lucide/pull/3378)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.546.0...0.547.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/55
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `cb09d25` -> `bbb7c84` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuMyIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS4zIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #56
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.547.0` -> `^0.548.0`](https://renovatebot.com/diffs/npm/lucide-react/0.547.0/0.548.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.548.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.547.0/0.548.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.548.0`](https://github.com/lucide-icons/lucide/releases/tag/0.548.0): Version 0.548.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.547.0...0.548.0)

#### What's Changed

- feat(docs): add new package for Slint by [@&#8203;cnlancehu](https://github.com/cnlancehu) in [#&#8203;3698](https://github.com/lucide-icons/lucide/pull/3698)
- docs(site): add introductions for packages in documentation by [@&#8203;mattheskaiser](https://github.com/mattheskaiser) in [#&#8203;3643](https://github.com/lucide-icons/lucide/pull/3643)
- Fix default prop by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3730](https://github.com/lucide-icons/lucide/pull/3730)
- feat(icons): added `gamepad-directional` icon by [@&#8203;felipeajzanetti](https://github.com/felipeajzanetti) in [#&#8203;3693](https://github.com/lucide-icons/lucide/pull/3693)

#### New Contributors

- [@&#8203;cnlancehu](https://github.com/cnlancehu) made their first contribution in [#&#8203;3698](https://github.com/lucide-icons/lucide/pull/3698)
- [@&#8203;mattheskaiser](https://github.com/mattheskaiser) made their first contribution in [#&#8203;3643](https://github.com/lucide-icons/lucide/pull/3643)
- [@&#8203;felipeajzanetti](https://github.com/felipeajzanetti) made their first contribution in [#&#8203;3693](https://github.com/lucide-icons/lucide/pull/3693)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.547.0...0.548.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuMyIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS4zIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #57
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Merge branch 'master' into next
Lint / lint (push) Failing after 7s
4e9bdbc3c7
Fix Renovate config
Lint / lint (push) Failing after 8s
a277477fc5
Merge branch 'master' into next
Lint / lint (push) Failing after 7s
d8ecc1a142
Update docker minor+patch+digest updates (#60)
Lint / lint (push) Failing after 6s
2ee5157e8e
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| grafana/tempo |  | digest | `bbb7c84` -> `56528c8` |
| [node](https://github.com/nodejs/node) | final | patch | `22.21.0-trixie-slim` -> `22.21.1-trixie-slim` |
| [node](https://github.com/nodejs/node) |  | patch | `22.21.0` -> `22.21.1` |
| [prom/prometheus](https://github.com/prometheus/prometheus) |  | patch | `v3.7.2` -> `v3.7.3` |

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v22.21.1`](https://github.com/nodejs/node/releases/tag/v22.21.1): 2025-10-28, Version 22.21.1 &#x27;Jod&#x27; (LTS), @&#8203;aduh95

[Compare Source](https://github.com/nodejs/node/compare/v22.21.0...v22.21.1)

##### Commits

- \[[`af33e8e668`](https://github.com/nodejs/node/commit/af33e8e668)] - **benchmark**: remove unused variable from util/priority-queue (Bruno Rodrigues) [#&#8203;59872](https://github.com/nodejs/node/pull/59872)
- \[[`6764ce8756`](https://github.com/nodejs/node/commit/6764ce8756)] - **benchmark**: update count to n in permission startup (Bruno Rodrigues) [#&#8203;59872](https://github.com/nodejs/node/pull/59872)
- \[[`4e8d99f0dc`](https://github.com/nodejs/node/commit/4e8d99f0dc)] - **benchmark**: update num to n in dgram offset-length (Bruno Rodrigues) [#&#8203;59872](https://github.com/nodejs/node/pull/59872)
- \[[`af0a8ba7f8`](https://github.com/nodejs/node/commit/af0a8ba7f8)] - **benchmark**: adjust dgram offset-length len values (Bruno Rodrigues) [#&#8203;59708](https://github.com/nodejs/node/pull/59708)
- \[[`78efd1be4a`](https://github.com/nodejs/node/commit/78efd1be4a)] - **benchmark**: update num to n in dgram offset-length (Bruno Rodrigues) [#&#8203;59708](https://github.com/nodejs/node/pull/59708)
- \[[`df72dc96e9`](https://github.com/nodejs/node/commit/df72dc96e9)] - **console,util**: improve array inspection performance (Ruben Bridgewater) [#&#8203;60037](https://github.com/nodejs/node/pull/60037)
- \[[`ef67d09f50`](https://github.com/nodejs/node/commit/ef67d09f50)] - **http**: improve writeEarlyHints by avoiding for-of loop (Haram Jeong) [#&#8203;59958](https://github.com/nodejs/node/pull/59958)
- \[[`23468fd76b`](https://github.com/nodejs/node/commit/23468fd76b)] - **http2**: fix allowHttp1+Upgrade, broken by shouldUpgradeCallback (Tim Perry) [#&#8203;59924](https://github.com/nodejs/node/pull/59924)
- \[[`56abc4ac76`](https://github.com/nodejs/node/commit/56abc4ac76)] - **lib**: optimize priority queue (Gürgün Dayıoğlu) [#&#8203;60039](https://github.com/nodejs/node/pull/60039)
- \[[`ea5cfd98c5`](https://github.com/nodejs/node/commit/ea5cfd98c5)] - **lib**: implement passive listener behavior per spec (BCD1me) [#&#8203;59995](https://github.com/nodejs/node/pull/59995)
- \[[`c2dd6eed2f`](https://github.com/nodejs/node/commit/c2dd6eed2f)] - **process**: fix wrong asyncContext under unhandled-rejections=strict (Shima Ryuhei) [#&#8203;60103](https://github.com/nodejs/node/pull/60103)
- \[[`81a3055710`](https://github.com/nodejs/node/commit/81a3055710)] - **process**: fix default `env` for `process.execve` (Richard Lau) [#&#8203;60029](https://github.com/nodejs/node/pull/60029)
- \[[`fe492c7ace`](https://github.com/nodejs/node/commit/fe492c7ace)] - **process**: fix hrtime fast call signatures (Renegade334) [#&#8203;59600](https://github.com/nodejs/node/pull/59600)
- \[[`76b4cab8fc`](https://github.com/nodejs/node/commit/76b4cab8fc)] - **src**: bring permissions macros in line with general C/C++ standards (Anna Henningsen) [#&#8203;60053](https://github.com/nodejs/node/pull/60053)
- \[[`21970970c7`](https://github.com/nodejs/node/commit/21970970c7)] - **src**: remove `AnalyzeTemporaryDtors` option from .clang-tidy (iknoom) [#&#8203;60008](https://github.com/nodejs/node/pull/60008)
- \[[`609c063e81`](https://github.com/nodejs/node/commit/609c063e81)] - **src**: remove unused variables from report (Moonki Choi) [#&#8203;60047](https://github.com/nodejs/node/pull/60047)
- \[[`987841a773`](https://github.com/nodejs/node/commit/987841a773)] - **src**: avoid unnecessary string allocations in SPrintF impl (Anna Henningsen) [#&#8203;60052](https://github.com/nodejs/node/pull/60052)
- \[[`6e386c0632`](https://github.com/nodejs/node/commit/6e386c0632)] - **src**: make ToLower/ToUpper input args more flexible (Anna Henningsen) [#&#8203;60052](https://github.com/nodejs/node/pull/60052)
- \[[`c3be1226c7`](https://github.com/nodejs/node/commit/c3be1226c7)] - **src**: allow `std::string_view` arguments to `SPrintF()` and friends (Anna Henningsen) [#&#8203;60058](https://github.com/nodejs/node/pull/60058)
- \[[`764d35647d`](https://github.com/nodejs/node/commit/764d35647d)] - **src**: remove unnecessary `std::string` error messages (Anna Henningsen) [#&#8203;60057](https://github.com/nodejs/node/pull/60057)
- \[[`1289ef89ec`](https://github.com/nodejs/node/commit/1289ef89ec)] - **src**: remove unnecessary shadowed functions on Utf8Value & BufferValue (Anna Henningsen) [#&#8203;60056](https://github.com/nodejs/node/pull/60056)
- \[[`d1fb8a538d`](https://github.com/nodejs/node/commit/d1fb8a538d)] - **src**: avoid unnecessary string -> `char*` -> string round trips (Anna Henningsen) [#&#8203;60055](https://github.com/nodejs/node/pull/60055)
- \[[`54b439fb5a`](https://github.com/nodejs/node/commit/54b439fb5a)] - **src**: fill `options_args`, `options_env` after vectors are finalized (iknoom) [#&#8203;59945](https://github.com/nodejs/node/pull/59945)
- \[[`c7c597e2ca`](https://github.com/nodejs/node/commit/c7c597e2ca)] - **src**: use RAII for uv\_process\_options\_t (iknoom) [#&#8203;59945](https://github.com/nodejs/node/pull/59945)
- \[[`b928ea9716`](https://github.com/nodejs/node/commit/b928ea9716)] - **test**: ensure that the message event is fired (Luigi Pinca) [#&#8203;59952](https://github.com/nodejs/node/pull/59952)
- \[[`e4b95a5158`](https://github.com/nodejs/node/commit/e4b95a5158)] - **test**: replace diagnostics\_channel stackframe in output snapshots (Chengzhong Wu) [#&#8203;60024](https://github.com/nodejs/node/pull/60024)
- \[[`4206406694`](https://github.com/nodejs/node/commit/4206406694)] - **test**: mark test-web-locks skip on IBM i (SRAVANI GUNDEPALLI) [#&#8203;59996](https://github.com/nodejs/node/pull/59996)
- \[[`26394cd5bf`](https://github.com/nodejs/node/commit/26394cd5bf)] - **test**: expand tls-check-server-identity coverage (Diango Gavidia) [#&#8203;60002](https://github.com/nodejs/node/pull/60002)
- \[[`b58df47995`](https://github.com/nodejs/node/commit/b58df47995)] - **test**: fix typo of test-benchmark-readline.js (Deokjin Kim) [#&#8203;59993](https://github.com/nodejs/node/pull/59993)
- \[[`af3a59dba8`](https://github.com/nodejs/node/commit/af3a59dba8)] - **test**: verify tracing channel doesn't swallow unhandledRejection (Gerhard Stöbich) [#&#8203;59974](https://github.com/nodejs/node/pull/59974)
- \[[`cee362242b`](https://github.com/nodejs/node/commit/cee362242b)] - **timers**: fix binding fast call signatures (Renegade334) [#&#8203;59600](https://github.com/nodejs/node/pull/59600)
- \[[`40fea57fdd`](https://github.com/nodejs/node/commit/40fea57fdd)] - **tools**: add message on auto-fixing js lint issues in gh workflow (Dario Piotrowicz) [#&#8203;59128](https://github.com/nodejs/node/pull/59128)
- \[[`aac90d351b`](https://github.com/nodejs/node/commit/aac90d351b)] - **tools**: verify signatures when updating nghttp\* (Antoine du Hamel) [#&#8203;60113](https://github.com/nodejs/node/pull/60113)
- \[[`9fae03c7d9`](https://github.com/nodejs/node/commit/9fae03c7d9)] - **tools**: use dependabot cooldown and move tools/doc (Rafael Gonzaga) [#&#8203;59978](https://github.com/nodejs/node/pull/59978)
- \[[`81548abdf6`](https://github.com/nodejs/node/commit/81548abdf6)] - **wasi**: fix WasiFunction fast call signature (Renegade334) [#&#8203;59600](https://github.com/nodejs/node/pull/59600)

</details>

<details>
<summary>prometheus/prometheus (prom/prometheus)</summary>

### [`v3.7.3`](https://github.com/prometheus/prometheus/releases/tag/v3.7.3): 3.7.3 / 2025-10-29

[Compare Source](https://github.com/prometheus/prometheus/compare/v3.7.2...v3.7.3)

- \[BUGFIX] UI: Revert changed (and breaking) redirect behavior for `-web.external-url` if `-web.route-prefix` is configured, which was introduced in [#&#8203;17240](https://github.com/prometheus/prometheus/issues/17240). [#&#8203;17389](https://github.com/prometheus/prometheus/issues/17389)
- \[BUGFIX] Fix federation of some native histograms. [#&#8203;17299](https://github.com/prometheus/prometheus/issues/17299) [#&#8203;17409](https://github.com/prometheus/prometheus/issues/17409)
- \[BUGFIX] promtool: `check config` would fail when `--lint=none` flag was set. [#&#8203;17399](https://github.com/prometheus/prometheus/issues/17399) [#&#8203;17414](https://github.com/prometheus/prometheus/issues/17414)
- \[BUGFIX] Remote-write: fix a deadlock in the queue resharding logic that can lead to suboptimal queue behavior. [#&#8203;17412](https://github.com/prometheus/prometheus/issues/17412)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjAuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE2OS4zIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/60
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update bun minor+patch updates (#64)
Lint / lint (push) Failing after 6s
67a53e351f
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.48.0` -> `^0.54.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.48.0/0.54.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.48.0/0.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.548.0` -> `^0.552.0`](https://renovatebot.com/diffs/npm/lucide-react/0.548.0/0.552.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.552.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.548.0/0.552.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.54.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0540)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.53.3...v0.54.0)

##### Minor Changes

- [#&#8203;476](https://github.com/Effect-TS/language-service/pull/476) [`9d5028c`](https://github.com/Effect-TS/language-service/commit/9d5028c92cdde20a881a30f5e3d25cc2c18741bc) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `unknownInEffectCatch` diagnostic to warn when catch callbacks in `Effect.tryPromise`, `Effect.tryMap`, or `Effect.tryMapPromise` return `unknown` or `any` types. This helps ensure proper error typing by encouraging developers to wrap unknown errors into Effect's `Data.TaggedError` or narrow down the type to the specific error being raised.

  Example:

  ```typescript
  //  Will trigger diagnostic
  const program = Effect.tryPromise({
    try: () => fetch("http://something"),
    catch: (e) => e, // returns unknown
  });

  //  Proper typed error
  class MyError extends Data.TaggedError("MyError")<{ cause: unknown }> {}

  const program = Effect.tryPromise({
    try: () => fetch("http://something"),
    catch: (e) => new MyError({ cause: e }),
  });
  ```

##### Patch Changes

- [#&#8203;475](https://github.com/Effect-TS/language-service/pull/475) [`9f2425e`](https://github.com/Effect-TS/language-service/commit/9f2425e65e72099fba1e78948578a5e0b8598873) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix TSC patching mode to properly filter diagnostics by module name. The `reportSuggestionsAsWarningsInTsc` option now only affects the TSC module and not the TypeScript module, preventing suggestions from being incorrectly reported in non-TSC contexts.

### [`v0.53.3`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0533)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.53.2...v0.53.3)

##### Patch Changes

- [#&#8203;473](https://github.com/Effect-TS/language-service/pull/473) [`b29eca5`](https://github.com/Effect-TS/language-service/commit/b29eca54ae90283887e0f8c586c62e49a3b13737) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix memory leak in CLI diagnostics by properly disposing language services when they change between batches.

  The CLI diagnostics command now tracks the language service instance and disposes of it when a new instance is created, preventing memory accumulation during batch processing of large codebases.

- [#&#8203;474](https://github.com/Effect-TS/language-service/pull/474) [`06b9ac1`](https://github.com/Effect-TS/language-service/commit/06b9ac143919cabd0f8a4836487f583c09772081) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix TSC patching mode to properly enable diagnosticsName option and simplify suggestion handling.

  When using the language service in TSC patching mode, the `diagnosticsName` option is now automatically enabled to ensure diagnostic rule names are included in the output. Additionally, the handling of suggestion-level diagnostics has been simplified - when `reportSuggestionsAsWarningsInTsc` is enabled, suggestions are now converted to Message category instead of Warning category with a prefix.

  This change ensures consistent diagnostic formatting across both IDE and CLI usage modes.

- [#&#8203;471](https://github.com/Effect-TS/language-service/pull/471) [`be70748`](https://github.com/Effect-TS/language-service/commit/be70748806682d9914512d363df05a0366fa1c56) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Improve CLI diagnostics output formatting by displaying rule names in a more readable format.

  The CLI now displays diagnostic rule names using the format `effect(ruleName):` instead of `TS<code>:`, making it easier to identify which Effect diagnostic rule triggered the error. Additionally, the CLI now disables the `diagnosticsName` option internally to prevent duplicate rule name display in the message text.

  Example output:

  ```
  Before: TS90001: Floating Effect detected...
  After:  effect(floatingEffect): Floating Effect detected...
  ```

### [`v0.53.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0532)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.53.1...v0.53.2)

##### Patch Changes

- [#&#8203;469](https://github.com/Effect-TS/language-service/pull/469) [`f27be56`](https://github.com/Effect-TS/language-service/commit/f27be56a61413f7b79d8778af59b54399381ba8d) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `reportSuggestionsAsWarningsInTsc` configuration option to allow suggestions and messages to be reported as warnings in TypeScript compiler.

  When enabled, diagnostics with "suggestion" or "message" severity will be upgraded to "warning" severity with a "\[suggestion]" prefix in the message text. This is useful for CI/CD pipelines where you want to enforce suggestion-level diagnostics as warnings in the TypeScript compiler output.

  Example configuration:

  ```json
  {
    "compilerOptions": {
      "plugins": [
        {
          "name": "@&#8203;effect/language-service",
          "reportSuggestionsAsWarningsInTsc": true
        }
      ]
    }
  }
  ```

### [`v0.53.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0531)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.53.0...v0.53.1)

##### Patch Changes

- [#&#8203;467](https://github.com/Effect-TS/language-service/pull/467) [`c2f6e50`](https://github.com/Effect-TS/language-service/commit/c2f6e5036b3b248201d855c61e2b206c3b8ed20d) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix layer graph display improvements: properly render newlines in mermaid diagrams using `<br/>` tags, and improve readability by displaying variable declaration names instead of full expressions when available.

  Example: Instead of showing the entire `pipe(Database.Default, Layer.provideMerge(UserRepository.Default))` expression in the graph node, it now displays the cleaner variable name `AppLive` when the layer is assigned to a variable.

### [`v0.53.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0530)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.52.1...v0.53.0)

##### Minor Changes

- [#&#8203;466](https://github.com/Effect-TS/language-service/pull/466) [`e76e9b9`](https://github.com/Effect-TS/language-service/commit/e76e9b90454de68cbf6e025ab63ecce5464168f3) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add support for following symbols in Layer Graph visualization

  The layer graph feature now supports following symbol references to provide deeper visualization of layer dependencies. This is controlled by the new `layerGraphFollowDepth` configuration option (default: 0).

  Example:

  ```typescript
  // With layerGraphFollowDepth: 1
  export const myLayer = otherLayer.pipe(Layer.provide(DbConnection.Default));
  // Now visualizes the full dependency tree by following the 'otherLayer' reference
  ```

##### Patch Changes

- [#&#8203;464](https://github.com/Effect-TS/language-service/pull/464) [`4cbd549`](https://github.com/Effect-TS/language-service/commit/4cbd5499a5edd93cc70e77695163cbb50ad9e63e) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix layer graph for expression nodes not returning layers directly

### [`v0.52.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0521)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.52.0...v0.52.1)

##### Patch Changes

- [#&#8203;462](https://github.com/Effect-TS/language-service/pull/462) [`4931bbd`](https://github.com/Effect-TS/language-service/commit/4931bbd5d421b2b80bd0bc9eff71bd401b24f291) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Skip patching again by default, unless --force option is provided

### [`v0.52.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0520)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.51.1...v0.52.0)

##### Minor Changes

- [#&#8203;460](https://github.com/Effect-TS/language-service/pull/460) [`1ac81a0`](https://github.com/Effect-TS/language-service/commit/1ac81a0edb3fa98ffe90f5e8044d5d65de1f0027) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add new diagnostic `catchUnfailableEffect` to warn when using catch functions on effects that never fail

  This diagnostic detects when catch error handling functions are applied to effects that have a `never` error type (meaning they cannot fail). It supports all Effect catch variants:

  - `Effect.catchAll`
  - `Effect.catch`
  - `Effect.catchIf`
  - `Effect.catchSome`
  - `Effect.catchTag`
  - `Effect.catchTags`

  Example:

  ```typescript
  // Will trigger diagnostic
  const example = Effect.succeed(42).pipe(
    Effect.catchAll(() => Effect.void) // <- Warns here
  );

  // Will not trigger diagnostic
  const example2 = Effect.fail("error").pipe(
    Effect.catchAll(() => Effect.succeed(42))
  );
  ```

  The diagnostic works in both pipeable style (`Effect.succeed(x).pipe(Effect.catchAll(...))`) and data-first style (`pipe(Effect.succeed(x), Effect.catchAll(...))`), analyzing the error type at each position in the pipe chain.

- [#&#8203;458](https://github.com/Effect-TS/language-service/pull/458) [`372a9a7`](https://github.com/Effect-TS/language-service/commit/372a9a767bf69f733d54ab93e47eb4792e87b289) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Refactor TypeParser internals to use symbol-based navigation instead of type-based navigation

  This change improves the reliability and performance of the TypeParser by switching from type-based navigation to symbol-based navigation when identifying Effect, Schema, and other Effect ecosystem APIs. The new implementation:

  - Uses TypeScript's symbol resolution APIs to accurately identify imports and references
  - Supports package name resolution to verify that identifiers actually reference the correct packages
  - Implements proper alias resolution for imported symbols
  - Adds caching for source file package information lookups
  - Provides new helper methods like `isNodeReferenceToEffectModuleApi` and `isNodeReferenceToEffectSchemaModuleApi`

  This is an internal refactoring that doesn't change the public API or functionality, but provides a more robust foundation for the language service features.

### [`v0.51.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0511)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.51.0...v0.51.1)

##### Patch Changes

- [#&#8203;456](https://github.com/Effect-TS/language-service/pull/456) [`ddc3da8`](https://github.com/Effect-TS/language-service/commit/ddc3da8771f614aa2391f8753b44c6dad787bbd4) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Bug fix for layer graph: properly display dependencies when they reference themselves

  The layer graph now correctly identifies and displays dependencies even when using type assignment compatibility (e.g., when a layer provides a base type and another layer requires a subtype).

### [`v0.51.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0510)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.50.0...v0.51.0)

##### Minor Changes

- [#&#8203;452](https://github.com/Effect-TS/language-service/pull/452) [`fb0ae8b`](https://github.com/Effect-TS/language-service/commit/fb0ae8bf7b8635c791a085022b51bf1a914c0b46) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `strictEffectProvide` diagnostic to warn when using Effect.provide with Layer outside of application entry points

  This new diagnostic helps developers identify potential scope lifetime issues by detecting when `Effect.provide` is called with a Layer argument in locations that are not application entry points.

  **Example:**

  ```typescript
  // Will trigger diagnostic
  export const program = Effect.void.pipe(Effect.provide(MyService.Default));
  ```

  **Message:**

  > Effect.provide with a Layer should only be used at application entry points. If this is an entry point, you can safely disable this diagnostic. Otherwise, using Effect.provide may break scope lifetimes. Compose all layers at your entry point and provide them at once.

  **Configuration:**

  - **Default severity**: `"off"` (opt-in)
  - **Diagnostic name**: `strictEffectProvide`

  This diagnostic is disabled by default and can be enabled via tsconfig.json:

  ```json
  {
    "compilerOptions": {
      "plugins": [
        {
          "name": "@&#8203;effect/language-service",
          "diagnosticSeverity": {
            "strictEffectProvide": "warning"
          }
        }
      ]
    }
  }
  ```

##### Patch Changes

- [#&#8203;455](https://github.com/Effect-TS/language-service/pull/455) [`11743b5`](https://github.com/Effect-TS/language-service/commit/11743b5144cf5189ae2fce554113688c56ce6b9c) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Bug fix for `missedPipeableOpportunity` diagnostic

### [`v0.50.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0500)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.49.0...v0.50.0)

##### Minor Changes

- [#&#8203;450](https://github.com/Effect-TS/language-service/pull/450) [`3994aaf`](https://github.com/Effect-TS/language-service/commit/3994aafb7dbf5499e5d1d7177eca7135c5a02a51) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add new diagnostic to detect nested function calls that can be converted to pipeable style

  The new `missedPipeableOpportunity` diagnostic identifies nested function calls that would be more readable when converted to Effect's pipeable style. For example:

  ```ts
  // Detected pattern:
  toString(double(addOne(5)));

  // Can be converted to:
  addOne(5).pipe(double, toString);
  ```

  This diagnostic helps maintain consistent code style and improves readability by suggesting the more idiomatic pipeable approach when multiple functions are chained together.

### [`v0.49.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0490)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.48.0...v0.49.0)

##### Minor Changes

- [#&#8203;445](https://github.com/Effect-TS/language-service/pull/445) [`fe0e390`](https://github.com/Effect-TS/language-service/commit/fe0e390f02d12f959966d651bfec256c4f313ffb) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Use the Graph module for outline line graph and layer magic

##### Patch Changes

- [#&#8203;449](https://github.com/Effect-TS/language-service/pull/449) [`ff11b7d`](https://github.com/Effect-TS/language-service/commit/ff11b7da9b55a3da91131c4b5932c93c6af71fc8) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update effect package version to [`97ff1dc`](https://github.com/Effect-TS/language-service/commit/97ff1dc). This version improves handling of special characters in layer graph mermaid diagrams by properly escaping HTML entities (parentheses, braces, quotes) to ensure correct rendering.

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.552.0`](https://github.com/lucide-icons/lucide/releases/tag/0.552.0): Version 0.552.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.551.0...0.552.0)

#### What's Changed

- fix(icons/file): arcified folds by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3587](https://github.com/lucide-icons/lucide/pull/3587)
- feat(icons): added `solar-panel` icon by [@&#8203;UsamaKhan](https://github.com/UsamaKhan) in [#&#8203;2780](https://github.com/lucide-icons/lucide/pull/2780)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.551.0...0.552.0>

### [`v0.551.0`](https://github.com/lucide-icons/lucide/releases/tag/0.551.0): Version 0.551.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.550.0...0.551.0)

#### What's Changed

- feat(icons): added `clock-check` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;2402](https://github.com/lucide-icons/lucide/pull/2402)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.550.0...0.551.0>

### [`v0.550.0`](https://github.com/lucide-icons/lucide/releases/tag/0.550.0): Version 0.550.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.549.0...0.550.0)

#### What's Changed

- feat(icons): added `helicopter` icon by [@&#8203;liloudreams](https://github.com/liloudreams) in [#&#8203;2760](https://github.com/lucide-icons/lucide/pull/2760)

#### New Contributors

- [@&#8203;liloudreams](https://github.com/liloudreams) made their first contribution in [#&#8203;2760](https://github.com/lucide-icons/lucide/pull/2760)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.549.0...0.550.0>

### [`v0.549.0`](https://github.com/lucide-icons/lucide/releases/tag/0.549.0): Version 0.549.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.548.0...0.549.0)

#### What's Changed

- fix(docs): Replace `pnpm install` with `pnpm add` across documentation. by [@&#8203;josch87](https://github.com/josch87) in [#&#8203;3735](https://github.com/lucide-icons/lucide/pull/3735)
- feat(docs): add new package for Go by [@&#8203;kaugesaar](https://github.com/kaugesaar) in [#&#8203;3736](https://github.com/lucide-icons/lucide/pull/3736)
- feat(icons): added `git-branch-minus` icon by [@&#8203;joris-gallot](https://github.com/joris-gallot) in [#&#8203;3586](https://github.com/lucide-icons/lucide/pull/3586)

#### New Contributors

- [@&#8203;josch87](https://github.com/josch87) made their first contribution in [#&#8203;3735](https://github.com/lucide-icons/lucide/pull/3735)
- [@&#8203;kaugesaar](https://github.com/kaugesaar) made their first contribution in [#&#8203;3736](https://github.com/lucide-icons/lucide/pull/3736)
- [@&#8203;joris-gallot](https://github.com/joris-gallot) made their first contribution in [#&#8203;3586](https://github.com/lucide-icons/lucide/pull/3586)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.548.0...0.549.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjUuMiIsInVwZGF0ZWRJblZlciI6IjQxLjE2OS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #64
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update docker minor+patch+digest updates (#65)
Lint / lint (push) Failing after 7s
fff8555775
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| grafana/tempo |  | digest | `56528c8` -> `99b1bdc` |
| [node](https://github.com/nodejs/node) | final | digest | `201589f` -> `fbc210e` |
| [node](https://github.com/nodejs/node) |  | digest | `22ab967` -> `dcf0610` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjkuMyIsInVwZGF0ZWRJblZlciI6IjQyLjAuMCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #65
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update bun minor+patch updates (#66)
Lint / lint (push) Failing after 6s
a5c3d4c3ba
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.54.0` -> `^0.55.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.54.0/0.55.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.55.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.54.0/0.55.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@effect/opentelemetry](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/opentelemetry)) | [`^0.58.0` -> `^0.59.0`](https://renovatebot.com/diffs/npm/@effect%2fopentelemetry/0.58.0/0.59.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fopentelemetry/0.59.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fopentelemetry/0.58.0/0.59.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@effect/platform](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform)) | [`^0.92.0` -> `^0.93.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform/0.92.1/0.93.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform/0.93.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform/0.92.1/0.93.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@effect/platform-browser](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-browser)) | [`^0.72.0` -> `^0.73.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-browser/0.72.0/0.73.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform-browser/0.73.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform-browser/0.72.0/0.73.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@effect/platform-bun](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-bun)) | [`^0.81.0` -> `^0.83.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-bun/0.81.1/0.83.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform-bun/0.83.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform-bun/0.81.1/0.83.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@effect/platform-node](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-node)) | [`^0.98.0` -> `^0.100.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-node/0.98.4/0.100.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform-node/0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform-node/0.98.4/0.100.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@effect/rpc](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/rpc)) | [`^0.71.0` -> `^0.72.0`](https://renovatebot.com/diffs/npm/@effect%2frpc/0.71.2/0.72.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2frpc/0.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2frpc/0.71.2/0.72.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.55.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0552)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.55.1...v0.55.2)

##### Patch Changes

- [#&#8203;484](https://github.com/Effect-TS/language-service/pull/484) [`7c18fa8`](https://github.com/Effect-TS/language-service/commit/7c18fa8b08c6e6cf0914a3ac140c8e9710868eb5) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix edge cases in missedPipeableOpportunity diagnostic where it incorrectly flagged valid code patterns. The diagnostic now properly:
  - Excludes `pipe` function calls from chain detection
  - Ignores chains where the function returns a callable type (avoiding false positives for higher-order functions like `Schedule.whileOutput`)

### [`v0.55.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0551)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.55.0...v0.55.1)

##### Patch Changes

- [#&#8203;482](https://github.com/Effect-TS/language-service/pull/482) [`9695bdf`](https://github.com/Effect-TS/language-service/commit/9695bdfec4412569150a5332405a1ec16b4fa085) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `missedPipeableOpportunity` diagnostic to correctly detect nested function call chains

  The diagnostic now properly identifies when nested function calls can be converted to pipeable style. Previously, the chain detection logic incorrectly tracked parent-child relationships, causing false positives. This fix ensures that only valid pipeable chains are reported, such as `toString(double(addOne(5)))` which can be refactored to `addOne(5).pipe(double, toString)`.

  Example:

  ```typescript
  // Before: incorrectly flagged or missed
  identity(Schema.decodeUnknown(MyStruct)({ x: 42, y: 42 }));

  // After: correctly handles complex nested calls
  toString(double(addOne(5))); // ✓ Now correctly detected as pipeable
  ```

### [`v0.55.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0550)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.54.0...v0.55.0)

##### Minor Changes

- [#&#8203;478](https://github.com/Effect-TS/language-service/pull/478) [`9a9d5f9`](https://github.com/Effect-TS/language-service/commit/9a9d5f9486df177dd2e9d9cf63e97569b0436de0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `runEffectInsideEffect` diagnostic to warn when using `Effect.runSync`, `Effect.runPromise`, `Effect.runFork`, or `Effect.runCallback` inside an Effect context (such as `Effect.gen`, `Effect.fn`, or `Effect.fnUntraced`).

  Running effects inside effects is generally not recommended as it breaks the composability of the Effect system. Instead, developers should extract the Runtime and use `Runtime.runSync`, `Runtime.runPromise`, etc., or restructure their code to avoid running effects inside effects.

  Example:

  ```typescript
  //  Will trigger diagnostic
  export const program = Effect.gen(function* () {
    const data = yield* Effect.succeed(42);
    const result = Effect.runSync(Effect.sync(() => data * 2)); // Not recommended
    return result;
  });

  //  Proper approach - extract runtime
  export const program = Effect.gen(function* () {
    const data = yield* Effect.succeed(42);
    const runtime = yield* Effect.runtime();
    const result = Runtime.runSync(runtime)(Effect.sync(() => data * 2));
    return result;
  });

  //  Better approach - compose effects
  export const program = Effect.gen(function* () {
    const data = yield* Effect.succeed(42);
    const result = yield* Effect.sync(() => data * 2);
    return result;
  });
  ```

- [#&#8203;480](https://github.com/Effect-TS/language-service/pull/480) [`f1a0ece`](https://github.com/Effect-TS/language-service/commit/f1a0ece931826bd40c35118833b3be2ae6c90ab7) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `schemaUnionOfLiterals` diagnostic to warn when using `Schema.Union` with multiple `Schema.Literal` calls that can be simplified to a single `Schema.Literal` call.

  This diagnostic helps improve code readability and maintainability by suggesting a more concise syntax for union of literals.

  Example:

  ```typescript
  //  Will trigger diagnostic
  export const Status = Schema.Union(Schema.Literal("A"), Schema.Literal("B"));

  //  Simplified approach
  export const Status = Schema.Literal("A", "B");
  ```

##### Patch Changes

- [#&#8203;481](https://github.com/Effect-TS/language-service/pull/481) [`160e018`](https://github.com/Effect-TS/language-service/commit/160e018c6f2eef21d537cc5e4f2666a43beb4724) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update Effect ecosystem dependencies to latest versions:

  - `@effect/cli`: 0.71.0 → 0.72.0
  - `@effect/platform`: 0.92.1 → 0.93.0
  - `@effect/platform-node`: 0.98.3 → 0.99.0
  - `@effect/printer-ansi`: 0.46.0 → 0.47.0
  - `@effect/rpc`: 0.71.0 → 0.72.0
  - `effect`: Updated to stable version 3.19.0

  Also updated development tooling dependencies:

  - `vitest`: 3.2.4 → 4.0.6
  - `@vitest/coverage-v8`: 3.2.4 → 4.0.6
  - TypeScript ESLint packages: 8.46.1 → 8.46.3
  - Various other minor dependency updates

</details>

<details>
<summary>Effect-TS/effect (@&#8203;effect/opentelemetry)</summary>

### [`v0.59.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/opentelemetry/CHANGELOG.md#0590)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/opentelemetry@0.58.0...@effect/opentelemetry@0.59.0)

##### Patch Changes

- Updated dependencies \[[`3c15d5f`](https://github.com/Effect-TS/effect/commit/3c15d5f99fb8d8470a00c5a33d9ba3cac89dfe4c), [`3863fa8`](https://github.com/Effect-TS/effect/commit/3863fa89f61e63e5529fd961e37333bddf7db64a), [`2a03c76`](https://github.com/Effect-TS/effect/commit/2a03c76c2781ca7e9e228e838eab2eb0d0795b1d), [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433)]:
  - effect\@&#8203;3.19.0
  - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.93.0

</details>

<details>
<summary>Effect-TS/effect (@&#8203;effect/platform)</summary>

### [`v0.93.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform/CHANGELOG.md#0930)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform@0.92.1...@effect/platform@0.93.0)

##### Patch Changes

- [#&#8203;5606](https://github.com/Effect-TS/effect/pull/5606) [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - expose Layer output in HttpLayerRouter.serve

- Updated dependencies \[[`3c15d5f`](https://github.com/Effect-TS/effect/commit/3c15d5f99fb8d8470a00c5a33d9ba3cac89dfe4c), [`3863fa8`](https://github.com/Effect-TS/effect/commit/3863fa89f61e63e5529fd961e37333bddf7db64a), [`2a03c76`](https://github.com/Effect-TS/effect/commit/2a03c76c2781ca7e9e228e838eab2eb0d0795b1d), [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433)]:
  - effect\@&#8203;3.19.0

</details>

<details>
<summary>Effect-TS/effect (@&#8203;effect/platform-browser)</summary>

### [`v0.73.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-browser/CHANGELOG.md#0730)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-browser@0.72.0...@effect/platform-browser@0.73.0)

##### Patch Changes

- Updated dependencies \[[`3c15d5f`](https://github.com/Effect-TS/effect/commit/3c15d5f99fb8d8470a00c5a33d9ba3cac89dfe4c), [`3863fa8`](https://github.com/Effect-TS/effect/commit/3863fa89f61e63e5529fd961e37333bddf7db64a), [`2a03c76`](https://github.com/Effect-TS/effect/commit/2a03c76c2781ca7e9e228e838eab2eb0d0795b1d), [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433)]:
  - effect\@&#8203;3.19.0
  - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.93.0

</details>

<details>
<summary>Effect-TS/effect (@&#8203;effect/platform-bun)</summary>

### [`v0.83.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0830)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.82.0...@effect/platform-bun@0.83.0)

##### Patch Changes

- Updated dependencies \[[`571025c`](https://github.com/Effect-TS/effect/commit/571025ceaff6ef432a61bf65735a5a0f45118313), [`d43577b`](https://github.com/Effect-TS/effect/commit/d43577be59ae510812287b1cbffe6da15c040452)]:
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.52.0
  - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.48.0
  - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.72.1
  - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.53.0

### [`v0.82.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0820)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.81.1...@effect/platform-bun@0.82.0)

##### Minor Changes

- [#&#8203;5606](https://github.com/Effect-TS/effect/pull/5606) [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - backport [@&#8203;effect/cluster](https://github.com/effect/cluster) from effect v4

  [@&#8203;effect/cluster](https://github.com/effect/cluster) no longer requires a Shard Manager, and instead relies on the
  `RunnerStorage` service to track runner state.

  To migrate, remove any Shard Manager deployments and use the updated layers in
  `@effect/platform-node` or `@effect/platform-bun`.

</details>

<details>
<summary>Effect-TS/effect (@&#8203;effect/platform-node)</summary>

### [`v0.100.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01000)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.99.0...@effect/platform-node@0.100.0)

##### Patch Changes

- Updated dependencies \[[`571025c`](https://github.com/Effect-TS/effect/commit/571025ceaff6ef432a61bf65735a5a0f45118313), [`d43577b`](https://github.com/Effect-TS/effect/commit/d43577be59ae510812287b1cbffe6da15c040452)]:
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.52.0
  - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.48.0
  - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.72.1
  - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.53.0

### [`v0.99.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#0990)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.98.4...@effect/platform-node@0.99.0)

##### Minor Changes

- [#&#8203;5606](https://github.com/Effect-TS/effect/pull/5606) [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - backport [@&#8203;effect/cluster](https://github.com/effect/cluster) from effect v4

  [@&#8203;effect/cluster](https://github.com/effect/cluster) no longer requires a Shard Manager, and instead relies on the
  `RunnerStorage` service to track runner state.

  To migrate, remove any Shard Manager deployments and use the updated layers in
  `@effect/platform-node` or `@effect/platform-bun`.

</details>

<details>
<summary>Effect-TS/effect (@&#8203;effect/rpc)</summary>

### [`v0.72.1`](https://github.com/Effect-TS/effect/blob/HEAD/packages/rpc/CHANGELOG.md#0721)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/rpc@0.72.0...@effect/rpc@0.72.1)

##### Patch Changes

- [#&#8203;5682](https://github.com/Effect-TS/effect/pull/5682) [`d43577b`](https://github.com/Effect-TS/effect/commit/d43577be59ae510812287b1cbffe6da15c040452) Thanks [@&#8203;jrmdayn](https://github.com/jrmdayn)! - Fix some typings around RpcServer context argument

### [`v0.72.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/rpc/CHANGELOG.md#0720)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/rpc@0.71.2...@effect/rpc@0.72.0)

##### Patch Changes

- [#&#8203;5606](https://github.com/Effect-TS/effect/pull/5606) [`24a1685`](https://github.com/Effect-TS/effect/commit/24a1685c70a9ed157468650f95a5c3da3f2c2433) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - backport [@&#8203;effect/cluster](https://github.com/effect/cluster) from effect v4

  [@&#8203;effect/cluster](https://github.com/effect/cluster) no longer requires a Shard Manager, and instead relies on the
  `RunnerStorage` service to track runner state.

  To migrate, remove any Shard Manager deployments and use the updated layers in
  `@effect/platform-node` or `@effect/platform-bun`.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjkuMyIsInVwZGF0ZWRJblZlciI6IjQxLjE3MS40IiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #66
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update docker minor+patch+digest updates (#67)
Lint / lint (push) Failing after 8s
78d69d24bb
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| grafana/grafana |  | digest | `aa42cb1` -> `793c871` |
| grafana/tempo |  | digest | `99b1bdc` -> `184dc20` |
| [node](https://github.com/nodejs/node) | final | digest | `fbc210e` -> `98e1429` |
| [node](https://github.com/nodejs/node) |  | digest | `dcf0610` -> `4ad2c2b` |
| [oven/bun](https://github.com/oven-sh/bun) | stage | patch | `1.3.1` -> `1.3.3` |
| [oven/bun](https://github.com/oven-sh/bun) |  | patch | `1.3.1` -> `1.3.3` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4wLjIiLCJ1cGRhdGVkSW5WZXIiOiI0Mi4yNy41IiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #67
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update bun minor+patch updates (#68)
Lint / lint (push) Has been cancelled
b700812ff0
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.55.0` -> `^0.58.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.55.5/0.58.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.58.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.55.5/0.58.0?slim=true) |
| [@effect/platform-bun](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-bun)) | [`^0.83.0` -> `^0.86.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-bun/0.83.0/0.86.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform-bun/0.86.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform-bun/0.83.0/0.86.0?slim=true) |
| [@effect/platform-node](https://effect.website) ([source](https://github.com/Effect-TS/effect/tree/HEAD/packages/platform-node)) | [`^0.100.0` -> `^0.103.0`](https://renovatebot.com/diffs/npm/@effect%2fplatform-node/0.100.0/0.103.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2fplatform-node/0.103.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2fplatform-node/0.100.0/0.103.0?slim=true) |
| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http) ([source](https://github.com/open-telemetry/opentelemetry-js)) | [`^0.207.0` -> `^0.208.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-trace-otlp-http/0.207.0/0.208.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-trace-otlp-http/0.208.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-trace-otlp-http/0.207.0/0.208.0?slim=true) |
| [esbuild](https://github.com/evanw/esbuild) | [`^0.25.9` -> `^0.27.0`](https://renovatebot.com/diffs/npm/esbuild/0.25.12/0.27.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.27.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.25.12/0.27.0?slim=true) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.552.0` -> `^0.555.0`](https://renovatebot.com/diffs/npm/lucide-react/0.552.0/0.555.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.555.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.552.0/0.555.0?slim=true) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.58.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0580)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.57.1...v0.58.0)

##### Minor Changes

- [#&#8203;505](https://github.com/Effect-TS/language-service/pull/505) [`31cff49`](https://github.com/Effect-TS/language-service/commit/31cff498b6a3207eabe5609f677b202245f53967) Thanks [@&#8203;clayroach](https://github.com/clayroach)! - Enhance `diagnostics` CLI command with new options for CI/CD integration and tooling:

  - **`--format`**: Output format selection (`json`, `pretty`, `text`, `github-actions`)

    - `json`: Machine-readable JSON output with structured diagnostics and summary
    - `pretty`: Colored output with context (default, original behavior)
    - `text`: Plain text output without colors
    - `github-actions`: GitHub Actions workflow commands for inline PR annotations

  - **`--strict`**: Treat warnings as errors (affects exit code)

  - **`--severity`**: Filter diagnostics by severity level (comma-separated: `error`, `warning`, `message`)

  - **Exit codes**: Returns exit code 1 when errors are found (or warnings in strict mode)

  Example usage:

  ```bash
  # JSON output for CI/CD pipelines
  effect-language-service diagnostics --project tsconfig.json --format json

  # GitHub Actions with inline annotations
  effect-language-service diagnostics --project tsconfig.json --format github-actions

  # Strict mode for CI (fail on warnings)
  effect-language-service diagnostics --project tsconfig.json --strict

  # Only show errors
  effect-language-service diagnostics --project tsconfig.json --severity error
  ```

  Closes Effect-TS/effect [#&#8203;5180](https://github.com/Effect-TS/language-service/issues/5180).

### [`v0.57.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0571)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.57.0...v0.57.1)

##### Patch Changes

- [#&#8203;503](https://github.com/Effect-TS/language-service/pull/503) [`857e43e`](https://github.com/Effect-TS/language-service/commit/857e43e2580312963681d867e4f5daa409e1da78) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add codefix to `runEffectInsideEffect` diagnostic that automatically transforms `Effect.run*` calls to use `Runtime.run*` when inside nested Effect contexts. The codefix will extract or reuse an existing Effect runtime and replace the direct Effect run call with the appropriate Runtime method.

  Example:

  ```typescript
  // Before
  Effect.gen(function* () {
    websocket.onmessage = (event) => {
      Effect.runPromise(check);
    };
  });

  // After applying codefix
  Effect.gen(function* () {
    const effectRuntime = yield* Effect.runtime<never>();

    websocket.onmessage = (event) => {
      Runtime.runPromise(effectRuntime, check);
    };
  });
  ```

### [`v0.57.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0570)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.56.0...v0.57.0)

##### Minor Changes

- [#&#8203;500](https://github.com/Effect-TS/language-service/pull/500) [`acc2d43`](https://github.com/Effect-TS/language-service/commit/acc2d43d62df686a3cef13112ddd3653cf0181d0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add new `annotate` codegen that automatically adds type annotations to exported constants based on their initializer types. This codegen can be used by adding `// @&#8203;effect-codegens annotate` comments above variable declarations.

  Example:

  ```typescript
  // @&#8203;effect-codegens annotate
  export const test = Effect.gen(function* () {
    if (Math.random() < 0.5) {
      return yield* Effect.fail("error");
    }
    return 1 as const;
  });
  // Becomes:
  // @&#8203;effect-codegens annotate:5fce15f7af06d924
  export const test: Effect.Effect<1, string, never> = Effect.gen(function* () {
    if (Math.random() < 0.5) {
      return yield* Effect.fail("error");
    }
    return 1 as const;
  });
  ```

  The codegen automatically detects the type from the initializer and adds the appropriate type annotation, making code more explicit and type-safe.

- [#&#8203;497](https://github.com/Effect-TS/language-service/pull/497) [`b188b74`](https://github.com/Effect-TS/language-service/commit/b188b74204bfd81b64b2266dd59465a2c7d2d34f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add new diagnostic `unnecessaryFailYieldableError` that warns when using `yield* Effect.fail()` with yieldable error types. The diagnostic suggests yielding the error directly instead of wrapping it with `Effect.fail()`, as yieldable errors (like `Data.TaggedError` and `Schema.TaggedError`) can be yielded directly in Effect generators.

  Example:

  ```typescript
  //  Unnecessary Effect.fail wrapper
  yield * Effect.fail(new DataTaggedError());

  //  Direct yield of yieldable error
  yield * new DataTaggedError();
  ```

### [`v0.56.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0560)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.55.5...v0.56.0)

##### Minor Changes

- [#&#8203;494](https://github.com/Effect-TS/language-service/pull/494) [`9b3edf0`](https://github.com/Effect-TS/language-service/commit/9b3edf0ddc18f5a1fc697aa1d5a6bf4cc9431d19) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `codegen` CLI command to automatically update Effect codegens

  This release introduces a new CLI command `effect-language-service codegen` that allows you to automatically update Effect codegens in your TypeScript files from the command line. The command scans files containing `@effect-codegens` directives and applies the necessary code transformations.

  **Usage:**

  - `effect-language-service codegen --file <path>` - Update a specific file
  - `effect-language-service codegen --project <tsconfig.json>` - Update all files in a project
  - `effect-language-service codegen --verbose` - Show detailed output during processing

  **Example:**

  ```bash
  # Update a single file
  effect-language-service codegen --file src/MyService.ts

  # Update entire project
  effect-language-service codegen --project tsconfig.json --verbose
  ```

  This is particularly useful for CI/CD pipelines or batch processing scenarios where you want to ensure all codegens are up-to-date without manual editor intervention.

</details>

<details>
<summary>Effect-TS/effect (@&#8203;effect/platform-bun)</summary>

### [`v0.86.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0860)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.85.0...@effect/platform-bun@0.86.0)

##### Patch Changes

- Updated dependencies \[[`811852a`](https://github.com/Effect-TS/effect/commit/811852a61868136bb7b3367450f02e5a8fb8a3f9)]:
  - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.48.6
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.55.0
  - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.56.0

### [`v0.85.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0850)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.84.0...@effect/platform-bun@0.85.0)

##### Patch Changes

- Updated dependencies \[]:
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.54.0
  - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.55.0

### [`v0.84.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-bun/CHANGELOG.md#0840)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-bun@0.83.0...@effect/platform-bun@0.84.0)

##### Patch Changes

- Updated dependencies \[[`794c790`](https://github.com/Effect-TS/effect/commit/794c790d736f62784bff800fda5a656026d93749), [`079975c`](https://github.com/Effect-TS/effect/commit/079975c69d80c62461da5c51fe89e02c44dfa2ea), [`62f7636`](https://github.com/Effect-TS/effect/commit/62f76361ee01ed816687774c5302e7f8c5ff6a42)]:
  - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.72.2
  - effect\@&#8203;3.19.5
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.53.0
  - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.54.0

</details>

<details>
<summary>Effect-TS/effect (@&#8203;effect/platform-node)</summary>

### [`v0.103.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01030)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.102.0...@effect/platform-node@0.103.0)

##### Patch Changes

- Updated dependencies \[[`811852a`](https://github.com/Effect-TS/effect/commit/811852a61868136bb7b3367450f02e5a8fb8a3f9)]:
  - [@&#8203;effect/sql](https://github.com/effect/sql)@&#8203;0.48.6
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.55.0
  - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.56.0

### [`v0.102.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01020)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.101.2...@effect/platform-node@0.102.0)

##### Patch Changes

- Updated dependencies \[]:
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.54.0
  - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.55.0

### [`v0.101.2`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01012)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.101.1...@effect/platform-node@0.101.2)

##### Patch Changes

- [#&#8203;5797](https://github.com/Effect-TS/effect/pull/5797) [`8ebd29e`](https://github.com/Effect-TS/effect/commit/8ebd29ec10976222c200901d9b72779af743e6d5) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - use original status code if headers have already been sent

- Updated dependencies \[[`a2d965d`](https://github.com/Effect-TS/effect/commit/a2d965d2a22dcc018f81dbbcd55bfe33088d9411), [`8ebd29e`](https://github.com/Effect-TS/effect/commit/8ebd29ec10976222c200901d9b72779af743e6d5)]:
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.53.6
  - [@&#8203;effect/platform](https://github.com/effect/platform)@&#8203;0.93.4

### [`v0.101.1`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01011)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.101.0...@effect/platform-node@0.101.1)

##### Patch Changes

- [#&#8203;5783](https://github.com/Effect-TS/effect/pull/5783) [`8b879fb`](https://github.com/Effect-TS/effect/commit/8b879fb3b886a7262c9c8d9b2050cc128c5eb6f8) Thanks [@&#8203;tim-smart](https://github.com/tim-smart)! - add EntityResource.makeK8sPod

- Updated dependencies \[[`8b879fb`](https://github.com/Effect-TS/effect/commit/8b879fb3b886a7262c9c8d9b2050cc128c5eb6f8)]:
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.53.4

### [`v0.101.0`](https://github.com/Effect-TS/effect/blob/HEAD/packages/platform-node/CHANGELOG.md#01010)

[Compare Source](https://github.com/Effect-TS/effect/compare/@effect/platform-node@0.100.0...@effect/platform-node@0.101.0)

##### Patch Changes

- Updated dependencies \[[`794c790`](https://github.com/Effect-TS/effect/commit/794c790d736f62784bff800fda5a656026d93749), [`079975c`](https://github.com/Effect-TS/effect/commit/079975c69d80c62461da5c51fe89e02c44dfa2ea), [`62f7636`](https://github.com/Effect-TS/effect/commit/62f76361ee01ed816687774c5302e7f8c5ff6a42)]:
  - [@&#8203;effect/rpc](https://github.com/effect/rpc)@&#8203;0.72.2
  - effect\@&#8203;3.19.5
  - [@&#8203;effect/cluster](https://github.com/effect/cluster)@&#8203;0.53.0
  - [@&#8203;effect/platform-node-shared](https://github.com/effect/platform-node-shared)@&#8203;0.54.0

</details>

<details>
<summary>open-telemetry/opentelemetry-js (@&#8203;opentelemetry/exporter-trace-otlp-http)</summary>

### [`v0.208.0`](https://github.com/open-telemetry/opentelemetry-js/compare/fb6476d8243ac8dcaaea74130b9c50c43938275c...5eaa869bf08e6a16eec37eac44084257e8e21209)

[Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/fb6476d8243ac8dcaaea74130b9c50c43938275c...5eaa869bf08e6a16eec37eac44084257e8e21209)

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.27.0`](https://github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0270)

[Compare Source](https://github.com/evanw/esbuild/compare/v0.26.0...v0.27.0)

**This release deliberately contains backwards-incompatible changes.** To avoid automatically picking up releases like this, you should either be pinning the exact version of `esbuild` in your `package.json` file (recommended) or be using a version range syntax that only accepts patch upgrades such as `^0.26.0` or `~0.26.0`. See npm's documentation about [semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more information.

- Use `Uint8Array.fromBase64` if available ([#&#8203;4286](https://github.com/evanw/esbuild/issues/4286))

  With this release, esbuild's `binary` loader will now use the new [`Uint8Array.fromBase64`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/fromBase64) function unless it's unavailable in the configured target environment. If it's unavailable, esbuild's previous code for this will be used as a fallback. Note that this means you may now need to specify `target` when using this feature with Node (for example `--target=node22`) unless you're using Node v25+.

- Update the Go compiler from v1.23.12 to v1.25.4 ([#&#8203;4208](https://github.com/evanw/esbuild/issues/4208), [#&#8203;4311](https://github.com/evanw/esbuild/pull/4311))

  This raises the operating system requirements for running esbuild:

  - Linux: now requires a kernel version of 3.2 or later
  - macOS: now requires macOS 12 (Monterey) or later

### [`v0.26.0`](https://github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0260)

[Compare Source](https://github.com/evanw/esbuild/compare/v0.25.12...v0.26.0)

- Enable trusted publishing ([#&#8203;4281](https://github.com/evanw/esbuild/issues/4281))

  GitHub and npm are recommending that maintainers for packages such as esbuild switch to [trusted publishing](https://docs.npmjs.com/trusted-publishers). With this release, a VM on GitHub will now build and publish all of esbuild's packages to npm instead of me. In theory.

  Unfortunately there isn't really a way to test that this works other than to do it live. So this release is that live test. Hopefully this release is uneventful and is exactly the same as the previous one (well, except for the green provenance attestation checkmark on npm that happens with trusted publishing).

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.555.0`](https://github.com/lucide-icons/lucide/releases/tag/0.555.0): Version 0.555.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.554.0...0.555.0)

#### What's Changed

- fix(icons): changed `calendars` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3795](https://github.com/lucide-icons/lucide/pull/3795)
- fix(docs): correct package name and description for Flutter and Lustre package ([#&#8203;3701](https://github.com/lucide-icons/lucide/issues/3701)) by [@&#8203;epifaniofrancisco](https://github.com/epifaniofrancisco) in [#&#8203;3703](https://github.com/lucide-icons/lucide/pull/3703)
- feat(angular): Angular V21 Support by [@&#8203;JeevanMahesha](https://github.com/JeevanMahesha) in [#&#8203;3807](https://github.com/lucide-icons/lucide/pull/3807)
- chore(metadata): Adjust navigation category by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3461](https://github.com/lucide-icons/lucide/pull/3461)
- feat(icons): Add `waves-arrow-up` and `waves-arrow-down` by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3463](https://github.com/lucide-icons/lucide/pull/3463)
- fix(icons): changed `scale` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3800](https://github.com/lucide-icons/lucide/pull/3800)
- feat(icons): added `form` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3558](https://github.com/lucide-icons/lucide/pull/3558)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.554.0...0.555.0>

### [`v0.554.0`](https://github.com/lucide-icons/lucide/releases/tag/0.554.0): Version 0.554.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.553.0...0.554.0)

#### What's Changed

- fix(icons): Rename fingerprint icon to fingerprint-pattern by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3767](https://github.com/lucide-icons/lucide/pull/3767)
- feat(docs): added lucide-rails third-party package by [@&#8203;theiereman](https://github.com/theiereman) in [#&#8203;3769](https://github.com/lucide-icons/lucide/pull/3769)
- fix(icons): changed `ampersand` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3771](https://github.com/lucide-icons/lucide/pull/3771)
- fix(icons): changed `folder-git-2` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3790](https://github.com/lucide-icons/lucide/pull/3790)
- fix(icons): update `anchor` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;2523](https://github.com/lucide-icons/lucide/pull/2523)
- feat(icons): added `calendars` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3788](https://github.com/lucide-icons/lucide/pull/3788)

#### Breaking change

For `lucide-react` and `lucide-solid`, imports for `Fingerprint` icon are changed to `FingerprintPattern`.

##### Lucide React

```diff
- import { Fingerprint } from "lucide-react";
+ import { FingerprintPattern } from "lucide-react";
```

##### Lucide Solid

```diff
- import { Fingerprint } from "lucide/solid";
+ import { FingerprintPattern } from "lucide/solid";

// Or

- import Fingerprint from "lucide/solid/icons/fingerprint";
+ import FingerprintPattern from "lucide/solid/icons/fingerprint-pattern";
```

#### New Contributors

- [@&#8203;theiereman](https://github.com/theiereman) made their first contribution in [#&#8203;3769](https://github.com/lucide-icons/lucide/pull/3769)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.553.0...0.554.0>

### [`v0.553.0`](https://github.com/lucide-icons/lucide/releases/tag/0.553.0): Version 0.553.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.552.0...0.553.0)

#### What's Changed

- feat(icons): added `mouse-pointer-2-off` icon by [@&#8203;domingasp](https://github.com/domingasp) in [#&#8203;3570](https://github.com/lucide-icons/lucide/pull/3570)
- fix(icons): changed `ruler-dimension-line` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3433](https://github.com/lucide-icons/lucide/pull/3433)
- feat(docs): add keyboard shortcut for search by [@&#8203;dzonatan](https://github.com/dzonatan) in [#&#8203;3718](https://github.com/lucide-icons/lucide/pull/3718)
- fix(lucide-preact): handle `className` prop by [@&#8203;ocavue](https://github.com/ocavue) in [#&#8203;3751](https://github.com/lucide-icons/lucide/pull/3751)
- feat(icons): added chess pieces by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;1945](https://github.com/lucide-icons/lucide/pull/1945)

#### New Contributors

- [@&#8203;domingasp](https://github.com/domingasp) made their first contribution in [#&#8203;3570](https://github.com/lucide-icons/lucide/pull/3570)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.552.0...0.553.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4wLjIiLCJ1cGRhdGVkSW5WZXIiOiI0Mi4yNy41IiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/68
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update actions/checkout action to v6 (#69)
Lint / lint (push) Failing after 6s
1441224bed
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | major | `v5` -> `v6` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v6`](https://github.com/actions/checkout/compare/v5...v6)

[Compare Source](https://github.com/actions/checkout/compare/v5...v6)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS4wIiwidXBkYXRlZEluVmVyIjoiNDIuMTkuMCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #69
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `184dc20` -> `d909206` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yOS40IiwidXBkYXRlZEluVmVyIjoiNDIuMjkuNCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #70
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update docker minor+patch+digest updates (#71)
Lint / lint (push) Failing after 10s
5de6c2952f
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `d909206` -> `e346967` |
| [prom/prometheus](https://github.com/prometheus/prometheus) | minor | `v3.7.3` -> `v3.8.0` |

---

### Release Notes

<details>
<summary>prometheus/prometheus (prom/prometheus)</summary>

### [`v3.8.0`](https://github.com/prometheus/prometheus/releases/tag/v3.8.0): 3.8.0 / 2025-11-28

[Compare Source](https://github.com/prometheus/prometheus/compare/v3.7.3...v3.8.0)

#### Note for users of Native Histograms

This is the first release with Native Histograms as a stable feature. However, scraping Native Histograms has to be activated explicitly via the `scrape_native_histogram` config setting (newly introduced in this release). To ease the transition, the `--enable-feature=native-histograms` flag is not a complete no-op in this release, but changes the default value of `scrape_native_histogram` to `true`. In the next release (v3.9), the feature flag *will* be a complete no-op, and the default value of `scrape_native_histogram` will always be `false`. If you have been using the feature flag so far, the recommended course of action is the following:

1. Upgrade to v3.8 and keep the feature flag. Everything should work as before.
2. At your own pace, set `scrape_native_histogram` to `true` in all relevant scrape configs. (There is a global and a per-scrape-config version of  `scrape_native_histogram`, allowing granular control if needed. It is a good idea to also set `scrape_native_histogram` explicitly to `false` where you do not want to scrape Native Histograms. In this way, you do not depend on the default value of the setting anymore.)
3. Remove the feature flag and make sure that everything still works as intended.
4. Now you are ready for an upgrade to the next release (v3.9).

#### Changelog

- \[CHANGE] Remote-write 2 (receiving): Update to [2.0-rc.4 spec](https://github.com/prometheus/docs/blob/60c24e450010df38cfcb4f65df874f6f9b26dbcb/docs/specs/prw/remote_write_spec_2_0.md). "created timestamp" (CT) is now called "start timestamp" (ST). [#&#8203;17411](https://github.com/prometheus/prometheus/issues/17411)
- \[CHANGE] TSDB: Native Histogram Custom Bounds with a NaN threshold are now rejected. [#&#8203;17287](https://github.com/prometheus/prometheus/issues/17287)
- \[FEATURE] OAuth2: support jwt-bearer grant-type (RFC7523 3.1). [#&#8203;17592](https://github.com/prometheus/prometheus/issues/17592)
- \[FEATURE] Dockerfile: Add OpenContainers spec labels to Dockerfile. [#&#8203;16483](https://github.com/prometheus/prometheus/issues/16483)
- \[FEATURE] SD: Add unified AWS service discovery for ec2, lightsail and ecs services. [#&#8203;17046](https://github.com/prometheus/prometheus/issues/17046)
- \[FEATURE] Native histograms are now a stable, but optional feature, use the `scrape_native_histogram` config setting. [#&#8203;17232](https://github.com/prometheus/prometheus/issues/17232) [#&#8203;17315](https://github.com/prometheus/prometheus/issues/17315)
- \[FEATURE] UI: Support anchored and smoothed keyword in promql editor. [#&#8203;17239](https://github.com/prometheus/prometheus/issues/17239)
- \[FEATURE] UI: Show detailed relabeling steps for each discovered target. [#&#8203;17337](https://github.com/prometheus/prometheus/issues/17337)
- \[FEATURE] Alerting: Add urlQueryEscape to template functions. [#&#8203;17403](https://github.com/prometheus/prometheus/issues/17403)
- \[FEATURE] Promtool: Add  Remote-Write 2.0 support to `promtool push metrics` via the `--protobuf_message` flag. [#&#8203;17417](https://github.com/prometheus/prometheus/issues/17417)
- \[ENHANCEMENT] Clarify the docs about handling negative native histograms.  [#&#8203;17249](https://github.com/prometheus/prometheus/issues/17249)
- \[ENHANCEMENT] Mixin: Add static UID to the remote-write dashboard. [#&#8203;17256](https://github.com/prometheus/prometheus/issues/17256)
- \[ENHANCEMENT] PromQL: Reconcile mismatched NHCB bounds in `Add` and `Sub`. [#&#8203;17278](https://github.com/prometheus/prometheus/issues/17278)
- \[ENHANCEMENT] Alerting: Add "unknown" state for alerting rules that haven't been evaluated yet. [#&#8203;17282](https://github.com/prometheus/prometheus/issues/17282)
- \[ENHANCEMENT] Scrape: Allow simultaneous use of classic histogram → NHCB conversion and zero-timestamp ingestion. [#&#8203;17305](https://github.com/prometheus/prometheus/issues/17305)
- \[ENHANCEMENT] UI: Add smoothed/anchored in explain. [#&#8203;17334](https://github.com/prometheus/prometheus/issues/17334)
- \[ENHANCEMENT] OTLP: De-duplicate any `target_info` samples with the same timestamp for the same series. [#&#8203;17400](https://github.com/prometheus/prometheus/issues/17400)
- \[ENHANCEMENT] Document `use_fips_sts_endpoint` in `sigv4` config sections. [#&#8203;17304](https://github.com/prometheus/prometheus/issues/17304)
- \[ENHANCEMENT] Document Prometheus Agent. [#&#8203;14519](https://github.com/prometheus/prometheus/issues/14519)
- \[PERF] PromQL: Speed up parsing of variadic functions. [#&#8203;17316](https://github.com/prometheus/prometheus/issues/17316)
- \[PERF] UI: Speed up alerts/rules/... pages by not rendering collapsed content. [#&#8203;17485](https://github.com/prometheus/prometheus/issues/17485)
- \[PERF] UI: Performance improvement when getting label name and values in promql editor. [#&#8203;17194](https://github.com/prometheus/prometheus/issues/17194)
- \[PERF] UI: Speed up /alerts for many firing alerts via virtual scrolling.  [#&#8203;17254](https://github.com/prometheus/prometheus/issues/17254)
- \[BUGFIX] PromQL: Fix slice indexing bug in info function on churning series. [#&#8203;17199](https://github.com/prometheus/prometheus/issues/17199)
- \[BUGFIX] API: Reduce lock contention on `/api/v1/targets`. [#&#8203;17306](https://github.com/prometheus/prometheus/issues/17306)
- \[BUGFIX] PromQL: Consistent handling of gauge vs. counter histograms in aggregations. [#&#8203;17312](https://github.com/prometheus/prometheus/issues/17312)
- \[BUGFIX] TSDB: Allow NHCB with -Inf as the first custom value. [#&#8203;17320](https://github.com/prometheus/prometheus/issues/17320)
- \[BUGFIX] UI: Fix duplicate loading of data from the API speed up rendering of some pages. [#&#8203;17357](https://github.com/prometheus/prometheus/issues/17357)
- \[BUGFIX] Old UI: Fix createExpressionLink to correctly build /graph URLs so links from Alerts/Rules work again. [#&#8203;17365](https://github.com/prometheus/prometheus/issues/17365)
- \[BUGFIX] PromQL: Avoid panic when parsing malformed `info` call. [#&#8203;17379](https://github.com/prometheus/prometheus/issues/17379)
- \[BUGFIX] PromQL: Include histograms when enforcing sample\_limit. [#&#8203;17390](https://github.com/prometheus/prometheus/issues/17390)
- \[BUGFIX] Config: Fix panic if TLS CA file is absent. [#&#8203;17418](https://github.com/prometheus/prometheus/issues/17418)
- \[BUGFIX] PromQL: Fix `histogram_fraction` for classic histograms and NHCB if lower bound is in the first bucket. [#&#8203;17424](https://github.com/prometheus/prometheus/issues/17424)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yOS41IiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMSIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/71
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.58.0` -> `^0.59.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.58.4/0.59.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.59.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.58.4/0.59.0?slim=true) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.59.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0590)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.58.4...v0.59.0)

##### Minor Changes

- [#&#8203;518](https://github.com/Effect-TS/language-service/pull/518) [`660549d`](https://github.com/Effect-TS/language-service/commit/660549d2c07ecf9ccd59d9f022f5c97467f6fc17) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add new `schemaStructWithTag` diagnostic that suggests using `Schema.TaggedStruct` instead of `Schema.Struct` when a `_tag` field with `Schema.Literal` is present. This makes the tag optional in the constructor, improving the developer experience.

  Example:

  ```typescript
  // Before (triggers diagnostic)
  export const User = Schema.Struct({
    _tag: Schema.Literal("User"),
    name: Schema.String,
    age: Schema.Number,
  });

  // After (applying quick fix)
  export const User = Schema.TaggedStruct("User", {
    name: Schema.String,
    age: Schema.Number,
  });
  ```

  The diagnostic includes a quick fix that automatically converts the `Schema.Struct` call to `Schema.TaggedStruct`, extracting the tag value and removing the `_tag` property from the fields.

##### Patch Changes

- [#&#8203;521](https://github.com/Effect-TS/language-service/pull/521) [`61f28ba`](https://github.com/Effect-TS/language-service/commit/61f28babbd909ef08be25fdcd684c81af683cd62) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix auto-completion for directly imported Effect APIs. Completions now work when using direct imports like `import { Service } from "effect/Effect"` instead of only working with fully qualified names like `Effect.Service`.

  This fix applies to:

  - `Effect.Service` and `Effect.Tag` from `effect/Effect`
  - `Schema.Class`, `Schema.TaggedError`, `Schema.TaggedClass`, and `Schema.TaggedRequest` from `effect/Schema`
  - `Data.TaggedError` and `Data.TaggedClass` from `effect/Data`
  - `Context.Tag` from `effect/Context`

  Example:

  ```typescript
  // Now works with direct imports
  import { Service } from "effect/Effect"
  export class MyService extends Service // ✓ Completion available

  // Still works with fully qualified names
  import * as Effect from "effect/Effect"
  export class MyService extends Effect.Service // ✓ Completion available
  ```

  Fixes [#&#8203;394](https://github.com/Effect-TS/language-service/issues/394)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMSIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/72
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `e346967` -> `512af54` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zNC4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzQuMSIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #73
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update bun minor+patch updates (#75)
Lint / lint (push) Has been cancelled
2a69f4f407
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.59.0` -> `^0.60.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.59.0/0.60.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.60.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.59.0/0.60.0?slim=true) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.555.0` -> `^0.556.0`](https://renovatebot.com/diffs/npm/lucide-react/0.555.0/0.556.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.556.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.555.0/0.556.0?slim=true) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.60.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0600)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.59.0...v0.60.0)

##### Minor Changes

- [#&#8203;523](https://github.com/Effect-TS/language-service/pull/523) [`46ec3e1`](https://github.com/Effect-TS/language-service/commit/46ec3e14550edbf855f506a84c89c5096848ef85) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add configurable mermaid provider option

  Adds a new `mermaidProvider` configuration option that allows users to choose between different Mermaid diagram providers:

  - `"mermaid.com"` - Uses mermaidchart.com
  - `"mermaid.live"` - Uses mermaid.live (default)
  - Custom URL - Allows specifying a custom provider URL (e.g., `"http://localhost:8080"` for local mermaid-live-editor)

  This enhances flexibility for users who prefer different Mermaid visualization services or need to use self-hosted instances.

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.556.0`](https://github.com/lucide-icons/lucide/releases/tag/0.556.0): Version 0.556.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.555.0...0.556.0)

#### What's Changed

- feat(icon): add `book-search` icon ([#&#8203;3573](https://github.com/lucide-icons/lucide/issues/3573)) by [@&#8203;Muhammad-Aqib-Bashir](https://github.com/Muhammad-Aqib-Bashir) in [#&#8203;3580](https://github.com/lucide-icons/lucide/pull/3580)
- chore(dependencies): Update dependencies by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3809](https://github.com/lucide-icons/lucide/pull/3809)
- ci(workflows): Enable trusted publishing in release by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;3808](https://github.com/lucide-icons/lucide/pull/3808)
- feat(icons): added `scooter` icon by [@&#8203;Ahmed-Dghaies](https://github.com/Ahmed-Dghaies) in [#&#8203;3818](https://github.com/lucide-icons/lucide/pull/3818)
- fix(icons): changed `plug` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3841](https://github.com/lucide-icons/lucide/pull/3841)
- fix(icons): changed `thermometer-sun` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3773](https://github.com/lucide-icons/lucide/pull/3773)
- fix(icons): Shrink square-scissors icons to match optical volume by [@&#8203;eden881](https://github.com/eden881) in [#&#8203;3603](https://github.com/lucide-icons/lucide/pull/3603)
- feat(preview-comment): add symmetry preview by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3823](https://github.com/lucide-icons/lucide/pull/3823)
- feat(icons): added `estimated-weight` icon by [@&#8203;nathan-de-pachtere](https://github.com/nathan-de-pachtere) in [#&#8203;3822](https://github.com/lucide-icons/lucide/pull/3822)
- fix(icons): changed `flashlight` icons by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3843](https://github.com/lucide-icons/lucide/pull/3843)
- fix(icons): changed `bubbles` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3774](https://github.com/lucide-icons/lucide/pull/3774)
- feat(site): add brand stop words to icon search by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3824](https://github.com/lucide-icons/lucide/pull/3824)
- feat(icons): added `van` icon by [@&#8203;Ahmed-Dghaies](https://github.com/Ahmed-Dghaies) in [#&#8203;3821](https://github.com/lucide-icons/lucide/pull/3821)

#### New Contributors

- [@&#8203;Muhammad-Aqib-Bashir](https://github.com/Muhammad-Aqib-Bashir) made their first contribution in [#&#8203;3580](https://github.com/lucide-icons/lucide/pull/3580)
- [@&#8203;Ahmed-Dghaies](https://github.com/Ahmed-Dghaies) made their first contribution in [#&#8203;3818](https://github.com/lucide-icons/lucide/pull/3818)
- [@&#8203;eden881](https://github.com/eden881) made their first contribution in [#&#8203;3603](https://github.com/lucide-icons/lucide/pull/3603)
- [@&#8203;nathan-de-pachtere](https://github.com/nathan-de-pachtere) made their first contribution in [#&#8203;3822](https://github.com/lucide-icons/lucide/pull/3822)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.555.0...0.556.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4wIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/75
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update docker minor+patch+digest updates (#74)
Lint / lint (push) Failing after 6s
28ba9ae8e5
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| grafana/tempo |  | digest | `512af54` -> `cfe9b6a` |
| [oven/bun](https://github.com/oven-sh/bun) | stage | patch | `1.3.3` -> `1.3.4` |
| [oven/bun](https://github.com/oven-sh/bun) |  | patch | `1.3.3` -> `1.3.4` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zNy4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMiIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #74
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
Update bun minor+patch updates
Lint / lint (push) Failing after 6s
Build / build (pull_request) Failing after 19s
cae7b61db2
renovate-bot changed title from Update bun minor+patch updates to Update bun minor+patch updates - abandoned 2026-05-19 19:28:46 +02:00
Author
Collaborator

Autoclosing Skipped

This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.

### Autoclosing Skipped This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.
Author
Collaborator

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

### Edited/Blocked Notification Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. ⚠️ **Warning**: custom changes will be lost.
Some checks are pending
Lint / lint (push) Failing after 6s
Build / build (pull_request) Failing after 19s
This pull request has changes conflicting with the target branch.
  • bun.lock
  • package.json
  • packages/common/package.json
  • packages/server/package.json
  • packages/webapp/package.json
  • packages/webapp/src/routes/__root.tsx
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/bun-minor-patch:renovate/bun-minor-patch
git checkout renovate/bun-minor-patch
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Thilawyn/website#77