# Open3D release process

## Release checklist

Collect all release artifacts in the [Github draft release page](https://github.com/isl-org/Open3D/releases)

  • [ ] Create release notes draft (auto-generate?)

  • [ ] Create release videos

  • [ ] Open3D-ML dev_to_master PR and merge

  • [ ] Version bump PR, merge to main

  • [ ] Build all Python version wheels (Linux, macOS, Windows x86_64) (CI)

  • [ ] Build Open3D C++ libraries (Linux, macOS, Windows x86_64) (CI)

  • [ ] Build docs (CI) and push to [Open3d_website repo](https://github.com/isl-org/Open3D_website)

  • [ ] Build arm64 wheels (with ML Ops): - [ ] macOS 12. Python 3.8+ (desktop):

    Configure: `cmake -DCMAKE_BUILD_TYPE=Release -DDEVELOPER_BUILD=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

    -DBUILD_TENSORFLOW_OPS=ON -DBUILD_PYTORCH_OPS=ON -DBUNDLE_OPEN3D_ML=ON ..`

    • [ ] Ubuntu 18.04 Python (all versions) (follow docs/arm.rst) (desktop)

      Build command: cd docker; ./docker_build.sh openblas-arm64-py311; …

  • [ ] Build Open3D app - [ ] Ubuntu 18.04, Windows 10, macOS 10.15 x86_64: (CI) - [ ] macOS 12 arm64 (desktop) - [ ] macOS (x86_64, arm64) sign (desktop):

    From build/bin directory: `../../cpp/apps/sign_open3d_app.sh Open3D.app ../../cpp/apps/Open3DViewer/Open3dViewer.entitlements <apple-id>

    <cert-name> <team-id> <app-password>`

    • [ ] (TBD) Windows app sign

  • [ ] Testing: Run all (especially visualization) examples and Open3D viewer with

    (Suzanne, Khronos helmet, large point cloud - apartment), on Linux x86-64, macOS (x86-64, arm64), Windows x86-64.

  • [ ] PyPI: Upload wheels

  • [ ] Github: Publish release with auto tag version

  • [ ] Github: Create Open3D-ML release (auto tag version, auto-generate release notes)

  • [ ] git pull docs to website (Google cloud server open3d:instance1)

  • [ ] open3d.org (wordpress) : Update downloads table and post release notes

  • [ ] Upload release video to YouTube

  • [ ] Announce on Twitter, Discord, etc.