Skip to content

Release v0.3.3

Choose a tag to compare

@github-actions github-actions released this 15 Apr 21:18

PyMOL-RS v0.3.3

A Windows-first release — after setting up dedicated Windows virtual machines (x86_64 and ARM64) for hands-on testing, the entire Windows experience has been reworked: proper app bundling, native icon, no console flash, correct DLL resolution, and ARM64 builds. From this release forward, every release ships bundles for macOS (Apple Silicon), Windows x86_64, and Windows ARM64.

This is also the first release published to PyPIpip install pymol-rs now works out of the box.


Highlights

Windows Bundles

PyMOL-RS now ships self-contained Windows bundles for both x86_64 and ARM64. Each bundle includes the executable, plugins, an embedded Python environment, and a VBScript launcher that sets up paths and launches the app cleanly — no console window flash, no manual PATH configuration. Just unzip and double-click.

Windows ARM64 Support

ARM64 Windows joins the release matrix as a first-class target. Executables, plugins, and Python wheels are now built natively on windows-11-arm runners — no emulation layer, no x86_64 fallback.

PyPI Publishing

Python wheels are now automatically published to PyPI as part of the release pipeline. Install the Python bindings and Jupyter widget with a single command:

pip install pymol-rs

Application Icon

The PyMOL-RS icon is now embedded directly in the Windows executable via winresource (visible in Explorer, taskbar, and Alt+Tab) and set at runtime via winit on Windows and Linux. The app finally looks like an app, not a generic executable.

Transitive DLL Resolution

A new .deps file convention solves the "DLL not found" problem that plagued plugin loading on Windows. Any plugin can ship a companion .deps file with commands whose stdout resolves directories containing transitive DLL dependencies (e.g. python3XX.dll). The plugin manager prepends these to PATH before loading. The mechanism is generic — future plugins with native dependencies (Lua, R, etc.) just add their own .deps file without core changes.


New Features

  • Console-free Windows builds — Release builds use windows_subsystem = "windows" so pymol-rs.exe no longer spawns a console window
  • Auto-derived plugin versionspymol_plugin! macro now defaults version: to env!("CARGO_PKG_VERSION"), keeping plugin versions in sync with Cargo.toml without manual duplication
  • Build tooling auto-installwasm-pack is now an npm devDependency (no manual install), and maturin runs via uvx — contributors can build immediately after clone

Bug Fixes

  • Windows site-packages path — Fixed the Python plugin probing the wrong site-packages directory on Windows (site.getsitepackages()[0] returns the bare prefix on Windows, not the actual packages path)
  • IPC plugin excluded on Windows — Unix domain sockets are not available on Windows; the IPC plugin is now conditionally excluded from Windows builds
  • TLS provider simplified — Switched from aws-lc-rs to ring as the rustls crypto provider, removing the cmake + C compiler build dependency
  • WASM build fixedring/rustls gated behind fetch features so they don't leak into wasm32-unknown-unknown builds where they cannot compile
  • Raytracer plugin in releases — The raytracer plugin was missing from release builds; now included in the plugin build matrix
  • wgpu/naga log noise — Suppressed shader dump spam that filled INFO-level logs

Under the Hood

  • CI caching — APT packages, npm dependencies, wasm-pack, and Cargo all cached across CI workflows for faster builds
  • web/package-lock.json tracked — Committed lockfile ensures reproducible web builds across machines and CI
  • Makefile cross-platform — Build targets for plugins, widget assets, and bundling use PowerShell on Windows and shell on Unix
  • GitHub Actions updatedupload-artifact v7, download-artifact v8, checkout v6, setup-python v6

Downloads

Bundles (recommended)

Self-contained packages with the app, plugins, and an embedded Python environment. Unzip/mount and run — no setup required.

Platform Architecture Download
macOS Apple Silicon PyMOL-RS.dmg
Windows x86_64 pymol-rs-bundle-windows-x86_64.zip
Windows ARM64 pymol-rs-bundle-windows-arm64.zip

Standalone executables

Bare binaries for advanced users. Plugins must be installed separately.

Platform Architecture Executable Plugins
macOS Apple Silicon pymol-rs-macos-arm64.tar.gz plugins-macos-arm64.tar.gz
Windows x86_64 pymol-rs-windows-x86_64.zip plugins-windows-x86_64.zip
Windows ARM64 pymol-rs-windows-arm64.zip plugins-windows-arm64.zip
Linux x86_64 pymol-rs-linux-x86_64.tar.gz plugins-linux-x86_64.tar.gz
Linux ARM64 pymol-rs-linux-arm64.tar.gz plugins-linux-arm64.tar.gz

Python & Web

Package Download
Python wheels pip install pymol-rs or see assets below
Web viewer (WASM + JS) pymol-rs-web.tar.gz

Full Changelog: v0.3.2...v0.3.3