Skip to content

Cut release v1.3.9 #12726

Description

@franknoirot

ZDS

1. Push a new tag

Instructions

Tag the repo on the latest main:

git tag $VERSION --message=""
git push origin $VERSION

This will trigger the build-apps workflow to set the version, build & sign the apps, and generate release files.

The workflow should be listed right away in this list.
Paste that link to that GitHub Actions run below.


Workflow run: https://github.com/KittyCAD/modeling-app/actions/runs/30667797537

2. Manually test artifacts

Instructions

The release builds can be found under the out-{arch}-{platform} zip files, at the very bottom of the build-apps summary page for the workflow (triggered by the tag in step 1).

Assign someone to each section of the manual checklist.

Windows via @franknoirot

  • Download the release build for this platform
  • Install and run it (ignore the status bar update)
  • Create a new project
  • Send and queue two basic Zookeeper prompts
  • Confirm the result is viewable in an engine stream
  • Click Restart to update in the status bar
  • Confirm the app can update to the previous release

macOS via @franknoirot

  • Download the release build for this platform
  • Install and run it (ignore the status bar update)
  • Create a new project
  • Send and queue two basic Zookeeper prompts
  • Confirm the result is viewable in an engine stream
  • Click Restart to update in the status bar
  • Confirm the app can update to the previous release

Linux via @camerondix

  • Download the release build for this platform
  • Install and run it (ignore the status bar update)
  • Create a new project
  • Send and queue two basic Zookeeper prompts
  • Confirm the result is viewable in an engine stream
  • Click Restart to update in the status bar
  • Confirm the app can update to the previous release

3. Draft release notes

Instructions

Head over to https://github.com/KittyCAD/modeling-app/releases/new, pick the newly created tag and type it in the Release title field as well.

Click Generate release notes as a starting point to for the changelog. Paste and reword user-facing changes below, collaborating with the original PR authors.


## Added
* Add retry limits, status text and recovery UI for stalled Zookeeper conversations
* Diff preview to allow users to inspect why a modeling operation failed at a KCL code level
* Translate point-and-click support for helices
* "Duplicate Project" right-click menu action and commands

## Changed
* No idle mode while waiting on Zookeeper
* Ask user to pick a directory on local library creation
* Clear sketch selection after sketch tool completion

## Fixed
* Zookeeper selection references while prompting were badly mapped
* Improvements to sketch on face behavior

**Full Changelog**: https://github.com/KittyCAD/modeling-app/compare/v1.3.8...v1.3.9

4. Publish the release

Instructions

Paste the finalized release notes back to GitHub. Make sure Set as the latest release is checked, and click Publish release.

A new publish-apps-release workflow will start and you should be able to find it here. Paste that link below.

On success, the files will be uploaded to the public bucket as well as to the GitHub release, and the announcement on Discord will be sent.


Workflow run: https://github.com/KittyCAD/modeling-app/actions/runs/30671844399

Rollback instructions

If anything goes wrong during the deployment of the new release and it needs to be yanked (or rolled back),
the quickest way is to locate the previous release publish job and simply re-run it.

  1. Head to https://github.com/KittyCAD/modeling-app/actions/workflows/publish-apps.yml
  2. Click the previous publish-apps job, eg. https://github.com/KittyCAD/modeling-app/actions/runs/22152987561
  3. Click Re-run all jobs and wait for success
  4. Confirm https://zoo.dev/design-studio/download shows the previous release
  5. Post a message in Discord #release announcing the release got yanked
  6. Mark the yanked release as Pre-release, eg. https://github.com/KittyCAD/modeling-app/releases/tag/v1.1.13
  7. If needed, create an announcement to communicate the urgency of the rollback to users.

KCL

Instructions

Follow the instructions here to publish new crates.
This ensures that the KCL accepted by the app is also accepted by the CLI.

Paste a link to the PR below.


Release PR: #12727

CLI

Instructions

Clone https://github.com/KittyCAD/cli and update its dependencies on kittycad-modeling-cmds, kcl-lib, kcl-derive-docs and kcl-test-server to the latest versions. Also bump the CLI's version under [package]. Open a PR and merge it to main.

After merging, run make tag and follow its instructions. This should publish a CLI release. Then open https://github.com/KittyCAD/homebrew-kittycad/pulls and merge the automatic PR to bump the release in Homebrew.

Paste a link to the PR below.

The above should generate a PR in https://github.com/KittyCAD/homebrew-kittycad/pulls. Merge it.


Release PR: KittyCAD/cli#1768

Homebrew KittyCAD PR: KittyCAD/homebrew-kittycad#102

API

Instructions

Clone https://github.com/KittyCAD/api and update its dependencies on kittycad-modeling-cmds and kcl-lib to the latest versions. Next, run just redo-openapi to make sure the OpenAPI spec gets generated from any types we might be exposing from these libs. Open a PR and merge it to main.

Paste a link to the PR below.


Release PR: https://github.com/KittyCAD/api/pull/4313

Zookeeper

Instructions

Merge the corresponding zoo-kcl Dependabot PR here. If none are present, click Check for updates here.

Paste a link to the PR below.


Release PR: https://github.com/KittyCAD/text-to-cad/pull/3949

Website

Instructions

Merge the latest documentation Dependabot PR here. If none are present, click Check for updates here.

Paste a link to the PR below or replace ??? with N/A.


Release PR: https://github.com/KittyCAD/website/pull/4453

Metadata

Metadata

Assignees

No one assigned

    Labels

    meta/releaseIssue tracking the process of releasing a stable version

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions