True Myth Versions Save

A library for safer and smarter error- and "nothing"-handling in TypeScript.

v7.1.0

8 months ago

:rocket: Enhancement

:memo: Documentation

:house: Internal

Committers: 2

v7.0.1

9 months ago

:bug: Bug Fix

:house: Internal

Committers: 1

v7.0.0

10 months ago

There is only one actual breaking change since 6.x: dropping support for Node versions earlier than Node 18 LTS. (While that is a small breaking change, around here we like taking care of technical details and SemVer.)

The main benefit here is adding back support for CJS consumption—though it still requires using a recent TS version with support for exports maps and using an appropriate module resolution mode. (We may be able to add support for more "classic" module resolution modes later, as a non-breaking change, with this in place—but make no guarantees!)

:boom: Breaking Change

  • #562 [Breaking] Require Node 18, adopt pnpm, use latest release-it (@chriskrycho)

:rocket: Enhancement

:memo: Documentation

:house: Internal

Committers: 3

v6.2.0

1 year ago

:rocket: Enhancement

:bug: Bug Fix

:memo: Documentation

:house: Internal

Committers: 2

v6.1.0

1 year ago

:rocket: Enhancement

  • Re-export Toolbelt from root for consumers not using TS 4.7’s exports support (@chriskrycho)

:house: Internal

Committers: 1

v6.0.0

1 year ago

There are two significant breaking changes in v6.0:

  1. It now requires TypeScript 4.7+ and Node 14+. This allows us to use Node's exports syntax without hacks.
  2. It removes items deprecated in the 4.x and 5.x cycles. This allows us to provide better tree-shaking. Previously, using either the Result or Maybe classes meant you also pulled in the other, since they had code to interoperate with each other. These now live only in the toolbelt module, along with the Array helpers.

To upgrade:

  1. Update your project to at least Node 14 and TypeScript 4.7.

  2. Switch from using any deprecated code to the supported replacements (as described in the docs for each deprecated function).

  3. Set compilerOptions.module to Node16 or nodenext in your tsconfig.json. Note: this is the most significant breaking change here: it requires that every other TS package you consume also be compatible with the new mode, and if you are using True Myth in a library, cascades that requirement to your consumers as well.

  4. Update to True Myth v6. :tada:

:boom: Breaking Change

:rocket: Enhancement

:bug: Bug Fix

:memo: Documentation

:house: Internal

Committers: 2

v5.4.0

1 year ago

This is the final release for v5.x, and only exists to make sure there are fully overlapping supported TypeScript versions for True Myth v5 and v6. See the release notes for the upcoming v6.0 release for upgrade notes.

:rocket: Enhancement

:house: Internal

Committers: 1

v5.3.1

2 years ago

:bug: Bug Fix

Committers: 1

v5.3.0

2 years ago

:rocket: Enhancement

:bug: Bug Fix

Committers: 2

v5.2.0

2 years ago

:rocket: Enhancement

Committers: 1