Skip to content

Cut release v1.3.8 #12656

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/30421681077

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 @Irev-Dev

  • 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 @Irev-Dev

  • 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 (Yes but I had the app running from the terminal with appimage-run, and the update replaced the appImage, but did not relaunch, relaunching maunally had the correct old version, not sure if this is expected on linux or with using appimage-run)

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
* Ability to manage different project "libraries" in settings
* KCL: Add helix support in `translate()`
* KCL: Allow negative `bidirectionalLength` for `extrude`

## Changed
* Project directory names now sync to project titles, in a Unix-friendly format
* Rename and Delete for project cards moved into a right-click menu

## Fixed
* Workflows for editing some past operations through the feature tree
* Improve dimension label position updates during drag

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

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/30411070199

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: #12655

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#1762

Homebrew KittyCAD PR: KittyCAD/homebrew-kittycad#101

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/4248

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 We created: https://github.com/KittyCAD/text-to-cad/pull/3912
The dependabot one: https://github.com/KittyCAD/text-to-cad/pull/3918

Shouldn't matter which.

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/4439

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