diff --git a/CHANGELOG.md b/CHANGELOG.md index 225e20991..03f617dd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,38 @@ All notable changes to this project will be documented in this file. Breaking changes marked with a :boom: +## [0.18.0] - 2022-02-10 + +### Bug Fixes + +- :boom: Improve failure details ([#467](https://github.com/temporalio/sdk-typescript/pull/467)) + + BREAKING CHANGE: Most `failure.message` fields are no longer prefixed with `'Error: '`, so places in which you're checking `failure.message === 'Error: a message'` likely need to be changed to `failure.message === 'a message'`. + +- [`workflow`] Fix startChild options type ([#447](https://github.com/temporalio/sdk-typescript/pull/447)) +- [`workflow`] Fix error when timer is cancelled and immediately fired in the same activation ([#466](https://github.com/temporalio/sdk-typescript/pull/466)) + +### Features + +- Replay history from files ([#449](https://github.com/temporalio/sdk-typescript/pull/449)) + - Provides a way to exercise existing histories against local workflow code. See [video tutorial](https://www.youtube.com/watch?v=fN5bIL7wc5M) and [sample code](https://github.com/temporalio/samples-typescript/pull/99). +- [`core`] Make Core portable ([#458](https://github.com/temporalio/sdk-typescript/pull/458)) + - Installing the SDK on one OS / architecture now works if used on different OS / arch. +- Accept IHistory for history replay ([#460](https://github.com/temporalio/sdk-typescript/pull/460)) +- [`client`] Use `runId` only in handles created with `getHandle` ([#468](https://github.com/temporalio/sdk-typescript/pull/468)) + - In addition: + - Adds safety to `terminate` and `cancel` so handles created with `start` can't accidentally affect workflows that are not part of the same execution chain + - Adds optional `firstExecutionRunId` param to `getHandle` for added safety + - Closes [#464](https://github.com/temporalio/sdk-typescript/pull/464) + - Closes [#377](https://github.com/temporalio/sdk-typescript/pull/377) + - Closes [#365](https://github.com/temporalio/sdk-typescript/pull/365) + +### Miscellaneous Tasks + +- Handle proto renaming / repackaging updates from core ([#446](https://github.com/temporalio/sdk-typescript/pull/446)) +- Add MakeOptional and Replace type helpers ([#401](https://github.com/temporalio/sdk-typescript/pull/401)) +- Fix core-bridge main entry in package.json ([#463](https://github.com/temporalio/sdk-typescript/pull/463)) + ## [0.17.2] - 2021-12-28 ### Bug Fixes diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 242770fbb..a929918b3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -105,3 +105,52 @@ chore(samples): upgrade commander module ``` The `scope` options are listed in [commitlint.config.js](https://github.com/temporalio/sdk-typescript/blob/main/commitlint.config.js). + +### Publishing + +```sh +cargo install git-cliff +``` + +```sh +# git-cliff --tag ..HEAD | pbcopy +git-cliff --tag 0.18.0 v0.17.2..HEAD | pbcopy +``` + +- Paste into [CHANGELOG.md](CHANGELOG.md) +- Clean up formatting +- Add any important missing details +- Replace PR numbers with links: + +``` +#(\d{3}) +[#$1](https://github.com/temporalio/sdk-typescript/pull/$1) +``` + +We're [working on automating](https://github.com/temporalio/sdk-typescript/pull/395) the rest of the process: + +- Download the artifacts from [GitHub Actions](https://github.com/temporalio/sdk-typescript/actions) +- Decompress and copy: + +```sh +for f in ~/Downloads/packages-*.zip; do mkdir "$HOME/Downloads/$(basename -s .zip $f)"; (cd "$HOME/Downloads/$(basename -s .zip $f)" && unzip $f && tar -xvzf @temporalio/core-bridge/core-bridge-*.tgz package/releases/ && cp -r package/releases/* ~/temporal/sdk-typescript/packages/core-bridge/releases/); done +``` + +- Log in to npm as `temporal-sdk-team` +- Publish: + +```sh +#!/bin/bash +set -euo pipefail + +git clean -fdx +npm ci +npm run build +# we don't build for aarch64-linux in CI, so we build for it now +export CC_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-gcc +export CC_x86_64_unknown_linux_gnu=x86_64-unknown-linux-gnu-gcc +export TEMPORAL_WORKER_BUILD_TARGETS=aarch64-unknown-linux-gnu +npx lerna run --stream build-rust -- -- --target ${TEMPORAL_WORKER_BUILD_TARGETS} +npx lerna version patch # or major|minor +npx lerna publish from-git +``` diff --git a/cliff.toml b/cliff.toml index faeb41d97..0fea2c913 100644 --- a/cliff.toml +++ b/cliff.toml @@ -11,12 +11,12 @@ [changelog] # changelog header -header = """ -# Changelog -All notable changes to this project will be documented in this file.\n +# header = """ +# # Changelog +# All notable changes to this project will be documented in this file.\n -Breaking changes marked with a :boom: -""" +# Breaking changes marked with a :boom: +# """ # template for the changelog body # https://tera.netlify.app/docs/#introduction body = """