Back to changelog index

3.11.17

May 26, 2026 · 1 packages · 4 unique changes · 1 release entry

bundlesBreaking changes

This release affects the solutions family.

Run contractspec connect adoption resolve --family solutions to see how it impacts your project.

Release summaries

  • remove-lib-error

    Remove the dead @lssm-tech/lib.error package; the canonical error model is @lssm-tech/lib.contracts-spec/results.

    maintainer

    @lssm-tech/lib.error (AppError, ErrorCode, isKnownErrorCode, httpStatus) is removed. It had zero package dependents and is superseded by @lssm-tech/lib.contracts-spec/results: ContractSpecError (throwable), ContractProblem (RFC 7807 shape with status), and the contractOk/contractFail factories. The only consumer (a bundles/library docs example) was migrated.

    integrator

    Replace `import { AppError } from '@lssm-tech/lib.error'` and `throw new AppError(message, code)` with `import { ContractSpecError, contractFail } from '@lssm-tech/lib.contracts-spec/results'` and `throw new ContractSpecError(contractFail(code, undefined, { detail: message }).problem)`. HTTP status comes from `problem.status` instead of `httpStatus(code)`.

Deprecations

  • - @lssm-tech/lib.error — removed; superseded by @lssm-tech/lib.contracts-spec/results (ContractSpecError / ContractProblem / contractFail). AppError, ErrorCode, isKnownErrorCode, and httpStatus have canonical equivalents.

Migration guide

  • Replace AppError/ErrorCode with the canonical results error model

    Required

    Move throwable errors and error codes onto @lssm-tech/lib.contracts-spec/results.

    When: When a package imported @lssm-tech/lib.error (AppError, ErrorCode, isKnownErrorCode, or httpStatus).

    1. Replace `import { AppError } from '@lssm-tech/lib.error'` with `import { ContractSpecError, contractFail } from '@lssm-tech/lib.contracts-spec/results'`.
    2. Replace `throw new AppError(message, code)` with `throw new ContractSpecError(contractFail(code, undefined, { detail: message }).problem)`.
    3. Use `StandardFailureCode` for the code union and read HTTP status from `problem.status` instead of `httpStatus(code)`.

Upgrade steps

  • Adopt @lssm-tech/lib.contracts-spec/results for standardized errors

    assisted

    Build ContractProblem via contractFail and throw ContractSpecError; drop the @lssm-tech/lib.error dependency.

    Packages: @lssm-tech/bundle.library

    1. Remove @lssm-tech/lib.error from package.json dependencies.
    2. Swap AppError usages for ContractSpecError + contractFail as above.
    3. Run `bun install` to drop @lssm-tech/lib.error from the lockfile.

Unique release changes

  • - @lssm-tech/lib.error — removed; superseded by @lssm-tech/lib.contracts-spec/results (ContractSpecError / ContractProblem / contractFail). AppError, ErrorCode, isKnownErrorCode, and httpStatus have canonical equivalents.

    1 packages · 1 occurrences

  • - Build ContractProblem via contractFail and throw ContractSpecError; drop the @lssm-tech/lib.error dependency.

    1 packages · 1 occurrences

  • - Move throwable errors and error codes onto @lssm-tech/lib.contracts-spec/results.

    1 packages · 1 occurrences

  • - Remove the dead @lssm-tech/lib.error package; the canonical error model is @lssm-tech/lib.contracts-spec/results.

    1 packages · 1 occurrences

Impacted packages

  • @lssm-tech/bundle.library

    Layer: bundles · 4 changes