Skip to content

Releases: true-myth/true-myth

Release 7.3.0

26 May 03:37
8ae5cde
Compare
Choose a tag to compare

🚀 Enhancement

  • #756 Forbid null and undefined as arguments to Maybe.just (@chriskrycho)

    Note: This is not a breaking change, but a feature: it is what we always wanted, and aligns the types with the runtime behavior. However, it may in some cases require additional type annotations when working directly with a Result and using toolbelt functions. Specifically, there were some cases where the old implementation unsafely allowed unknown, which necessarily includes null | undefined, and could therefore end up with a Maybe<unknown>, and indeed via the unconstrained generic could move from Result<null, string> to Maybe<null> using e.g. the transposeResult method. This is no longer possible! 🎉

Committers: 1

Release 7.2.1

26 May 03:35
57def2b
Compare
Choose a tag to compare

🐛 Bug Fix

  • #755 Correctly handle null and undefined in function return types (@chriskrycho)

🏠 Internal

Committers: 1

Release 7.2.0

16 May 02:00
6c947c6
Compare
Choose a tag to compare

🚀 Enhancement

🏠 Internal

Committers: 2

Release 7.1.0

05 Sep 00:00
7a2ba6e
Compare
Choose a tag to compare

🚀 Enhancement

📝 Documentation

🏠 Internal

Committers: 2

Release 7.0.1

16 Jul 02:07
b188cf8
Compare
Choose a tag to compare

🐛 Bug Fix

🏠 Internal

Committers: 1

Release 7.0.0

15 Jul 03:33
14a856e
Compare
Choose a tag to compare

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!)

💥 Breaking Change

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

🚀 Enhancement

📝 Documentation

🏠 Internal

Committers: 3

Release 6.2.0

08 Sep 18:14
c151344
Compare
Choose a tag to compare

🚀 Enhancement

🐛 Bug Fix

📝 Documentation

🏠 Internal

Committers: 2

Release 6.1.0

08 Jul 16:27
90e1ded
Compare
Choose a tag to compare

🚀 Enhancement

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

🏠 Internal

Committers: 1

v6.0.0

25 May 15:00
cf5a5d0
Compare
Choose a tag to compare

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. 🎉

💥 Breaking Change

🚀 Enhancement

🐛 Bug Fix

📝 Documentation

🏠 Internal

Committers: 2

v5.4.0

25 May 14:25
6097062
Compare
Choose a tag to compare

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.

🚀 Enhancement

🏠 Internal

Committers: 1