Skip to content
This repository was archived by the owner on Mar 11, 2024. It is now read-only.
This repository was archived by the owner on Mar 11, 2024. It is now read-only.

New Roadmap for Ursa #223

@appetrosyan

Description

@appetrosyan

After several meetings and deliberation with @hartm et al, we settled on the following interim plan for the version 1.0

  • Update all dependencies, handling semver incompatibilities. ([feature] #224: Ursa bump to edition 2021 and trivial dependencies #225, TBD)
  • Replace fail with anyhow and std::error::Error-based workflows.
  • (Optional) only if easy, provisions for no_std.
  • (Optional) Provisions for plugging into miette and more informative error handling projects
  • Removal of feature gates for optional components. LTO is much better at eliminating unused code. The shared object produced must always include every algorithm.
  • Plugin system, such that algorithms are fully self-contained crates. This allows depending on these crates directly for faster compile times, simplifies feature testing, and ensures that algorithms are sufficiently decoupled.
  • Refactoring + linting + CI improvements.
  • CD for multiple packages and architectures. Consider using Aries runners for Apple silicon (aarch64 with x86 extensions, without SVE).
  • extern C, WASM, node, Python (PYO3) and Java interop.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions