Skip to content

v0.1.0 - Initial Release

Choose a tag to compare

@seuros seuros released this 27 Oct 10:33

PubGrub-Go v0.1.0

Initial Release

A comprehensive Go implementation of the PubGrub version solving algorithm.

Features

  • CDCL Solver: Full Conflict-Driven Clause Learning implementation with unit propagation
  • Semantic Versioning: Complete semver support with prerelease/build metadata
  • Version Ranges: Complex constraints (>=, >, <=, <, ==, !=, AND/OR logic)
  • Enhanced Error Messages: Human-readable derivation trees explaining resolution failures
  • CachedSource: Optional caching wrapper for expensive I/O sources
  • Production Ready: Microsecond-level performance for complex dependency graphs

Requirements

  • Go 1.25 or later

Installation

go get github.com/contriboss/pubgrub-go@v0.1.0

Credits

Derived from tinyrange/pubgrub v0.2.6 with significant enhancements.

Based on the PubGrub algorithm by Natalie Weizenbaum.