Skip to content

Release Surge 2.0#17

Merged
steinbeck merged 11 commits intomainfrom
release/v2.0
Feb 26, 2026
Merged

Release Surge 2.0#17
steinbeck merged 11 commits intomainfrom
release/v2.0

Conversation

@steinbeck
Copy link
Collaborator

Summary

  • Updated source code to Surge 2.0 from Brendan McKay's latest release
    • WORDSIZE changed from 32 to 64 (nautyL1.a instead of nautyW1.a)
    • New -R switch for aromaticity detection (filters duplicate Kekule structures)
    • New -h# / -h#:# for 6-membered cycle restrictions
    • New -C# / -C#:# for chord-free carbon 6-ring restrictions
    • Updated canonsdf utility
  • Added GitHub Actions CI building and testing on Linux, macOS (ARM64), and Windows (MSYS2)
  • Added release workflow triggered on v* tags — builds platform binaries and creates a draft GitHub release
  • Updated Dockerfile from Ubuntu 21.04 (EOL) to 24.04, nauty 2.7r3 to 2.9.3
  • Updated README with v2.0 features, corrected build instructions, new manual link
  • Updated Makefile for portability (removed hardcoded paths)

Test Plan

  • Local build verified on macOS ARM64 (Apple Silicon)
  • surge -u C6H6 → 217 structures (correct)
  • surge -u C4H10 → 2 structures (correct)
  • surge -S C3H8CCC (correct SMILES)
  • New v2.0 flags tested: -R C10H8, -h2 C10H8
  • CI passes on all platforms (Linux, macOS 14, macOS 15, Windows)
  • Docker build (manual verification recommended)

🤖 Generated with Claude Code

steinbeck and others added 11 commits February 26, 2026 12:27
- WORDSIZE changed from 32 to 64 (nautyL1.a)
- New -R switch for aromaticity detection filtering
- New -h and -C switches for ring restrictions
- Updated canonsdf utility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
macOS clang creates .dSYM directories when compiling with -g.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix nauty download URL: nauty29r3.tar.gz -> nauty2_9_3.tar.gz (404 fix)
- README: use dynamic brew --prefix path for Homebrew symlink example
- README: add -I /path/to/nauty to gcc compilation examples
- CI: add C4H10 test to Windows build for parity with other platforms

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitHub has deprecated macos-13 (x86_64) runners. Use macos-14 and
macos-15 (both arm64 Apple Silicon) for CI builds. Release workflow
now produces a single macOS ARM64 binary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Inspired by PR #3 (ferchault). Switch from Ubuntu 24.04 to Alpine 3.21
for both build and runtime stages. Static linking eliminates runtime
dependencies, producing a ~9MB image instead of ~80MB.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced Feb 26, 2026
@steinbeck steinbeck merged commit 33954bf into main Feb 26, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant