From 2a7051c51d1fe986ee4a6a8529023bf51ac245da Mon Sep 17 00:00:00 2001 From: Stephen Waits Date: Mon, 31 Aug 2026 17:58:32 -0600 Subject: [PATCH] chore: repoint URLs at git.swaits.com and bump for release Rewrites remaining github.com / git.sr.ht references to git.swaits.com, translating GitHub URL shapes to Gitea's (/blob// -> /src/branch//, /tree/ -> /src/tag/, /actions/workflows/X -> /actions?workflow=X, /edit/ -> /_edit/). Left pointing at GitHub on purpose: pull-request links (PRs were not migrated) and GitHub-only surfaces Gitea lacks (security advisories, discussions). --- CHANGELOG.md | 24 ++++++++++++------------ Cargo.toml | 4 ++-- README.md | 2 +- docs/book/book.toml | 4 ++-- docs/book/src/comparison.md | 4 ++-- docs/book/src/cookbook/permutation.md | 2 +- docs/book/src/introduction.md | 2 +- docs/book/src/stability.md | 2 +- 8 files changed, 22 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a0f6dc..25620e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -91,7 +91,7 @@ unchanged, verified by the per-algorithm snapshot tests. catch rate from ~74% to ~85%. See `.cargo/mutants.toml` for the campaign notes and the residual equivalent-mutant categories. -[0.11.0]: https://github.com/swaits/heuropt/releases/tag/v0.11.0 +[0.11.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.11.0 ## [0.10.0] — 2026-05-06 @@ -151,7 +151,7 @@ strings (e.g. `if name == "Nsga3"`) needs updating to the new canonical strings. The names are stable now (they match the literature), so this is a one-time fix. -[0.10.0]: https://github.com/swaits/heuropt/releases/tag/v0.10.0 +[0.10.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.10.0 ## [0.9.0] — 2026-05-06 @@ -236,7 +236,7 @@ compile untouched. count went from 229 to 242 (10 new explorer tests + 3 from the new `Objective` / `DecisionVariable` builders). -[0.9.0]: https://github.com/swaits/heuropt/releases/tag/v0.9.0 +[0.9.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.9.0 ## [0.8.0] — 2026-05-06 @@ -319,7 +319,7 @@ gated behind a new `async` feature flag. flag ULP-level slop in the simplex projection's `max(x_i − τ, 0)` clamp boundary. -[0.8.0]: https://github.com/swaits/heuropt/releases/tag/v0.8.0 +[0.8.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.8.0 ## [0.5.0] — 2026-05-05 @@ -405,7 +405,7 @@ Three new polished examples covering distinct domains: - `lib.rs` crate-level docs polished — better intro, points readers at the user guide and the design spec. -[0.5.0]: https://github.com/swaits/heuropt/releases/tag/v0.5.0 +[0.5.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.5.0 ## [0.4.0] — 2026-05-05 @@ -543,7 +543,7 @@ last decimal in every benchmark. ratio, and is robust to floating-point precision loss in the algorithm's inner loop. -[0.4.0]: https://github.com/swaits/heuropt/releases/tag/v0.4.0 +[0.4.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.4.0 ## [0.3.0] — 2026-05-05 @@ -622,7 +622,7 @@ constraint-handling gaps. No breaking changes to the v0.2.0 public API. preserves the existing midpoint-of-bounds default; `IpopCmaEs` sets it to inject restart diversity without shrinking the search box. -[0.3.0]: https://github.com/swaits/heuropt/releases/tag/v0.3.0 +[0.3.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.3.0 ## [0.2.0] — 2026-05-05 @@ -688,7 +688,7 @@ benchmark problems. No breaking changes to the v0.1.0 public API. - `benchmarks` — canonical reference runs of NSGA-II on ZDT1 and DE on Rastrigin. - `jiggly_tuning` — real-world 4-objective NSGA-III firmware tuning - for the [`jiggly`](https://github.com/swaits/jiggly) USB-mouse-jiggler, + for the [`jiggly`](https://git.swaits.com/swaits/jiggly) USB-mouse-jiggler, with an a-posteriori weighted-decision step that picks one recommendation off the Pareto front. @@ -714,7 +714,7 @@ benchmark problems. No breaking changes to the v0.1.0 public API. `Problem` / decision type without exotic interior mutability already satisfies these. -[0.2.0]: https://github.com/swaits/heuropt/releases/tag/v0.2.0 +[0.2.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.2.0 ## [0.1.0] — 2026-05-04 @@ -772,7 +772,7 @@ Initial release. algorithm on ZDT1 (2-obj), DTLZ2 (3-obj), and Rastrigin (single-obj), reporting hypervolume, spacing, mean L2, front size, and wall time. - `jiggly_tuning` — 4-objective NSGA-III tuning of the - [`jiggly`](https://github.com/swaits/jiggly) USB-mouse-jiggler firmware + [`jiggly`](https://git.swaits.com/swaits/jiggly) USB-mouse-jiggler firmware with an a-posteriori weighted-decision step that picks one recommendation off the Pareto front. @@ -783,5 +783,5 @@ Initial release. `RandomSearch`, `Nsga2`, and `DifferentialEvolution`. Seeded runs stay bit-identical to serial mode. -[Unreleased]: https://github.com/swaits/heuropt/compare/v0.10.0...HEAD -[0.1.0]: https://github.com/swaits/heuropt/releases/tag/v0.1.0 +[Unreleased]: https://git.swaits.com/swaits/heuropt/compare/v0.10.0...main +[0.1.0]: https://git.swaits.com/swaits/heuropt/releases/tag/v0.1.0 diff --git a/Cargo.toml b/Cargo.toml index 8f83a73..30c9603 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "heuropt" -version = "0.11.0" +version = "0.11.1" edition = "2024" rust-version = "1.85" authors = ["Stephen Waits "] @@ -8,7 +8,7 @@ description = "A practical Rust toolkit for heuristic single-, multi-, and many- license = "MIT" readme = "README.md" repository = "https://git.swaits.com/swaits/heuropt" -homepage = "https://github.com/swaits/heuropt" +homepage = "https://git.swaits.com/swaits/heuropt" documentation = "https://docs.rs/heuropt" keywords = ["optimization", "evolutionary", "nsga", "pareto", "moead"] categories = ["algorithms", "science", "mathematics", "simulation"] diff --git a/README.md b/README.md index 9f96d96..16286f2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Documentation](https://docs.rs/heuropt/badge.svg)](https://docs.rs/heuropt) [![Book](https://img.shields.io/badge/book-online-blue.svg)](https://swaits.github.io/heuropt/) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) -[![CI](https://github.com/swaits/heuropt/actions/workflows/ci.yml/badge.svg)](https://github.com/swaits/heuropt/actions/workflows/ci.yml) +[![CI](https://git.swaits.com/swaits/heuropt/actions/workflows/ci.yml/badge.svg)](https://git.swaits.com/swaits/heuropt/actions?workflow=ci.yml) **A practical Rust toolkit for heuristic optimization.** Single-objective. Multi-objective. Many-objective. 33 algorithms — every one of them with a diff --git a/docs/book/book.toml b/docs/book/book.toml index f087e48..8f2b660 100644 --- a/docs/book/book.toml +++ b/docs/book/book.toml @@ -12,8 +12,8 @@ create-missing = false [output.html] default-theme = "rust" preferred-dark-theme = "navy" -git-repository-url = "https://github.com/swaits/heuropt" -edit-url-template = "https://github.com/swaits/heuropt/edit/main/docs/book/{path}" +git-repository-url = "https://git.swaits.com/swaits/heuropt" +edit-url-template = "https://git.swaits.com/swaits/heuropt/_edit/main/docs/book/{path}" site-url = "/heuropt/" no-section-label = true diff --git a/docs/book/src/comparison.md b/docs/book/src/comparison.md index 7c299a3..0e87f8c 100644 --- a/docs/book/src/comparison.md +++ b/docs/book/src/comparison.md @@ -89,7 +89,7 @@ are heavily optimized — see the perf entry in the v0.4.0 CHANGELOG. On the comparison harness in `examples/compare.rs` (10-seed mean, 30 000 evaluations on DTLZ2), the total wall-clock time across 12 algorithms is ~5 seconds. Per-algorithm timings are in -[`examples/compare-results.md`](https://github.com/swaits/heuropt/blob/main/examples/compare-results.md). +[`examples/compare-results.md`](https://git.swaits.com/swaits/heuropt/src/branch/main/examples/compare-results.md). For comparison-shopping speed against Python libraries, the gap is typically 10×–100× in heuropt's favor for compute-bound @@ -106,4 +106,4 @@ Hyperband+BO hybrids, distributed runners). heuropt is younger; the core is solid but the ecosystem is small. If you adopt heuropt and miss a thing, the project is small enough -that contributions land fast. See [CONTRIBUTING.md](https://github.com/swaits/heuropt/blob/main/CONTRIBUTING.md). +that contributions land fast. See [CONTRIBUTING.md](https://git.swaits.com/swaits/heuropt/src/branch/main/CONTRIBUTING.md). diff --git a/docs/book/src/cookbook/permutation.md b/docs/book/src/cookbook/permutation.md index a314c5c..8824270 100644 --- a/docs/book/src/cookbook/permutation.md +++ b/docs/book/src/cookbook/permutation.md @@ -444,4 +444,4 @@ let neighbors = |x: &Vec, _rng: &mut Rng| -> Vec> { [`InsertionMutation`]: https://docs.rs/heuropt/latest/heuropt/operators/struct.InsertionMutation.html [`ScrambleMutation`]: https://docs.rs/heuropt/latest/heuropt/operators/struct.ScrambleMutation.html [`CompositeVariation`]: https://docs.rs/heuropt/latest/heuropt/operators/struct.CompositeVariation.html -[CompareExample]: https://github.com/swaits/heuropt/blob/main/examples/tsp_operators_compare.rs +[CompareExample]: https://git.swaits.com/swaits/heuropt/src/branch/main/examples/tsp_operators_compare.rs diff --git a/docs/book/src/introduction.md b/docs/book/src/introduction.md index 43f0d6f..4b39984 100644 --- a/docs/book/src/introduction.md +++ b/docs/book/src/introduction.md @@ -35,7 +35,7 @@ hyperopt, optuna, DEAP). heuropt's design priorities: outputs. 3. **Algorithms that work.** Every algorithm is benchmarked against the canonical test problems (ZDT, DTLZ, Rastrigin, Rosenbrock, - Ackley) and the results are checked into [examples/compare-results.md](https://github.com/swaits/heuropt/blob/main/examples/compare-results.md) + Ackley) and the results are checked into [examples/compare-results.md](https://git.swaits.com/swaits/heuropt/src/branch/main/examples/compare-results.md) so you can see what each algorithm's strengths actually are. 4. **Testing as a first-class concern.** 316+ unit / integration / property tests, eight cargo-fuzz targets in CI, gungraun diff --git a/docs/book/src/stability.md b/docs/book/src/stability.md index e3472d7..c135ede 100644 --- a/docs/book/src/stability.md +++ b/docs/book/src/stability.md @@ -89,7 +89,7 @@ breaking API change. - **Migration guides** — per-release, in this book at [migration](./migration.md). - **GitHub releases** — each tag has release notes. -- **Watch the repo** — https://github.com/swaits/heuropt — to be +- **Watch the repo** — https://git.swaits.com/swaits/heuropt — to be notified of new releases. [`heuropt::prelude`]: https://docs.rs/heuropt/latest/heuropt/prelude/index.html