Skip to content

RCM 1.0.0

Choose a tag to compare

@drQedwards drQedwards released this 10 Aug 03:07
· 43 commits to main since this release
9504662

RCM 1.0.0 — Release Notes

Date: 2025-08-10

TL;DR

RCM (Rust Cargo Manager) graduates to v1.0.0 as a polyglot package manager with first‑class support for Cargo, NPM/Yarn/PNPM, Composer, and system package managers — unified by a powerful LET imperative system. It’s built for production: async execution, rich TTY UX, auditing, SBOM/provenance, and CI/CD‑ready workflows across Linux, macOS, and Windows.


🚀 Highlights

  • Polyglot package management
    • 🦀 Rust (Cargo) — native integration with enhanced workflows
    • 📦 Node.js (NPM/Yarn/PNPM) — complete package.json lifecycle
    • 🐘 PHP (Composer) — full composer.json flows with optimization
    • 🔧 System packages — cross‑platform adapters: apt, yum, dnf, brew, chocolatey, winget
  • LET imperative system — declarative+imperative macros to orchestrate builds, tests, deploys, and tooling
  • Production‑ready architecture — async/await pipelines, progress bars, config w/ env overrides, security audits, SBOM & provenance
  • Enterprise features — workspace health metrics, snapshots/rollback, audit trails, compliance reporting
  • Professional build system — 30+ make targets covering multi‑stage builds, tests, docs, CI/CD, Docker, perf benchmarks

✨ New in 1.0.0

1) Multi‑Language Package Managers

  • Cargo: resolve/build/test/deploy workflows; workspace‑aware ops.
  • Node.js: NPM/Yarn/PNPM adapters; install/update/lock; script orchestration.
  • Composer: install/update/optimize; autoloader validation; platform check.
  • System: normalized interface over apt | yum | dnf | brew | choco | winget for dev/runtime deps.

2) LET Imperative System

Compose complex, cross‑tool flows with one command:

# Deploy FFmpeg with custom args
rcm let ffmpeg --deploy --arg input="video.mp4" --arg codec="h264"

# Build and test across languages
rcm let cargo --build --test --parallel 4
rcm let npm --deploy --env production
rcm let php --build --arg optimize=true

Key capabilities:

  • Conditional execution (platform/files/env)
  • Parallelism with configurable job counts
  • Environment‑specific configs & overrides
  • Chained dependencies across managers

3) Production Architecture

  • Async/await end‑to‑end for high throughput
  • Rich terminal UX (progress bars, sections, summaries)
  • Config: layered (file → env → CLI) with overrides
  • Security auditing across all managers
  • SBOM & provenance emission for compliance (SLSA/SPDX‑style)
  • Workspace health monitoring + metrics
  • Cross‑platform support (Linux, macOS, Windows)

4) Build & CI System

  • Makefile with 30+ targets for multi‑stage builds (Rust → C wrapper → integrations)
  • Unit/integration/security testing
  • Documentation generation
  • CI/CD pipelines
  • Docker images & performance benchmarks

🎯 Real‑World Usage Examples

# Initialize a polyglot workspace
rcm init --managers cargo,npm,composer,system --template polyglot

# Auto‑detect and add packages
rcm add serde              # Rust crate
rcm add express            # NPM package
rcm add symfony/console    # Composer package
rcm add ffmpeg             # System package

# Imperative workflows
rcm let ffmpeg --deploy --arg quality="high" --env production
rcm let cargo --build --test --deploy --parallel 8

# Workspace management
rcm workspace sync         # Sync all managers
rcm workspace health       # Check project health
rcm ensure                 # Install any missing dependencies

🧠 Architecture Notes

  • Smart package detection: name heuristics + workspace context (e.g., Cargo.toml, package.json, composer.json); interactive selection when ambiguous.
  • LET flexibility: conditions, parallel graph execution, env‑aware configs, complex dependency chains.
  • Enterprise‑grade: configuration inheritance/overrides, audit trails, compliance reporting, workspace snapshots & rollback, health scoring with recommendations.

🔐 Security & Compliance

  • Multi‑manager audit commands with consolidated reporting
  • SBOM generation and provenance attestations suitable for CI/CD gates
  • Opinionated defaults for safer builds; clear escalation messages when elevation is required (e.g., system package installs)

📦 Packaging & Tooling

  • Rust binary plus optional C wrapper (FFI) for embedding
  • Docker image targets for hermetic builds/test runners
  • Makefile targets for release, docs, and artifact publishing

🧭 Compatibility

  • OS: Linux, macOS, Windows
  • Managers: Cargo, NPM/Yarn/PNPM, Composer, apt/yum/dnf/brew/choco/winget
  • Shells: bash/zsh/pwsh (where applicable)

⚠️ Breaking Changes

  • Initial stable major: 1.0.0 codifies CLI surfaces and config semantics. If you used pre‑1.0 previews, verify scripts against the stabilized flags/options.

📝 Known Limitations

  • Some system package operations may require admin/root privileges.
  • Network/proxy environments may need explicit configuration per manager.
  • Full offline/air‑gapped workflows depend on local mirrors/vendors.

🛣️ Roadmap (selected)

  • Real FFmpeg/native tool adapters with richer option schemas
  • Deeper hermetic workflows (vendor/mirror management across ecosystems)
  • Policy engine (org‑level enforcement for audits, provenance, and allowed sources)
  • Built‑in dashboards for health metrics and recommendations

🙏 Acknowledgements

Thanks to early adopters and the 0.x users who helped shape the polyglot vision and the LET imperative model.

Happy shipping. 💫

Full Changelog: 0.1.0...1.0.0