Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
c0fb25a
refactor(docs): refactor all doc, and make everything robust (#331)
mroczect Aug 20, 2026
0252a43
chore(fmt): format all code
mroczect Aug 20, 2026
071b15f
chore(sha512): update Cargo.lock for zeroize
mroczect Aug 20, 2026
036bfa9
feat(sha512): add zeroize dependency
mroczect Aug 20, 2026
36d1d91
feat(sha512): enable no_std support and clean up
mroczect Aug 20, 2026
d79ac8b
refactor(sha512): use Zeroize and conditional no_std
mroczect Aug 20, 2026
80bb6c4
feat(sha512): implement Zeroize for sha384
mroczect Aug 20, 2026
6cc3f92
feat(sha512): implement Zeroize and Drop for sha512
mroczect Aug 20, 2026
b6cd7c1
fix(sha512): improve safety in utility functions
mroczect Aug 20, 2026
5e9e17c
chore: update clippy lint priorities and package metadata
mroczect Aug 20, 2026
6e0404b
ci: improve Makefile targets and add strict clippy
mroczect Aug 20, 2026
2d9ec87
fix(sha512): correct authors field and downgrade zeroize
mroczect Aug 20, 2026
1e558c9
test(sha512): fix benchmark unused results and add zeroize
mroczect Aug 20, 2026
02b23ad
test(sha512): fix benchmark unused results
mroczect Aug 20, 2026
b993fde
feat(sha512): allow indexing slicing and improve safety
mroczect Aug 20, 2026
434ec28
feat(sha512): allow indexing slicing and improve safety
mroczect Aug 20, 2026
e04eaaf
refactor(sha512): add Debug impls, improve safety, and clean up
mroczect Aug 20, 2026
3ee4ba6
refactor(sha512): add Debug impl and improve safety
mroczect Aug 20, 2026
aa2d742
refactor(sha512): add Debug impl and improve safety
mroczect Aug 20, 2026
21ef2cf
refactor(sha512): improve safety and use let-else
mroczect Aug 20, 2026
f99fff3
test(sha512): cover HKDF edge cases (#332)
mroczect Aug 20, 2026
d768512
chore(workspace): update sha512 lock version (#333)
mroczect Aug 20, 2026
d8cf57d
test(workspace): add benchmarks and tests, improve validation and saf…
mroczect Aug 20, 2026
e7d608d
test(handler): fix test assertions and helper visibility (#335)
mroczect Aug 20, 2026
1dd2fd3
test(core): add tests, refactor codec, and improve coverage (#336)
mroczect Aug 20, 2026
e7b14d3
test(core): remove inline tests and obsolete integration tests (#338)
mroczect Aug 21, 2026
daf10c6
test(core): add comprehensive unit and integration tests (#339)
mroczect Aug 21, 2026
bbb4a11
fix(plumbing): improve cat_file safety and error handling (#340)
mroczect Aug 21, 2026
c075edf
ci(workflow): pin rust 1.96 and disable autocrlf (#343)
mroczect Aug 21, 2026
4ed4066
Delete a
mroczect Aug 21, 2026
2bcf59e
test(root): add public API integration tests (#344)
mroczect Aug 21, 2026
f1620a9
chore: bump workspace crate versions (#345)
mroczect Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Disable autocrlf
run: git config --global core.autocrlf false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.96.0
components: rustfmt
- run: cargo fmt --all -- --check

Expand All @@ -25,8 +28,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Disable autocrlf
run: git config --global core.autocrlf false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.96.0
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Run clippy with warnings denied
Expand All @@ -37,7 +43,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Disable autocrlf
run: git config --global core.autocrlf false
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.96.0
- uses: Swatinem/rust-cache@v2
- run: cargo test --workspace --all-targets --all-features

Expand All @@ -47,6 +57,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.96.0
- uses: Swatinem/rust-cache@v2
- name: Install cargo-audit
run: cargo install cargo-audit --locked
Expand All @@ -59,6 +71,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.96.0
- uses: Swatinem/rust-cache@v2
- name: Install cargo-deny
run: cargo install cargo-deny --locked
Expand Down
20 changes: 15 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

166 changes: 111 additions & 55 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,62 +1,118 @@
[workspace]
members = [
"libvctrl",
"libvctrl_core",
"libvctrl_handler",
"libvctrl_plumbing",
"libvctrl_porcelain",
"libvctrl_sha512"
]
resolver = "2"
members = ["libvctrl", "libvctrl_core", "libvctrl_handler", "libvctrl_plumbing", "libvctrl_porcelain", "libvctrl_sha512"]

[workspace.package]
edition = "2024"
rust-version = "1.96"
license = "MIT"
authors = ["mroczect"]
repository = "https://github.com/mroczect/libvctrl"
homepage = "https://github.com/mroczect/libvctrl"
documentation = "https://docs.rs/libvctrl"
keywords = ["git", "vcs", "cryptography", "sha512", "no-std"]
categories = ["development-tools", "cryptography", "algorithms", "no-std"]

[workspace.lints.rust]
unsafe_code = "forbid"
macro_use_extern_crate = "forbid"
missing_docs = "warn"
dead_code = "warn"
unused_imports = "warn"
unused_variables = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_crate_dependencies = "warn"
unreachable_pub = "warn"
rust_2018_idioms = { level = "warn", priority = -1 }
elided_lifetimes_in_paths = "warn"
explicit_outlives_requirements = "warn"
non_ascii_idents = "warn"
trivial_bounds = "warn"
unit_bindings = "warn"
single_use_lifetimes = "warn"
redundant_lifetimes = "warn"
rust_2021_compatibility = { level = "warn", priority = -1 }
rust_2024_compatibility = { level = "warn", priority = -1 }
unused_qualifications = "warn"
noop_method_call = "warn"
unnameable_types = "warn"

[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "allow", priority = -1 }
nursery = { level = "allow", priority = -1 }
cargo = { level = "allow", priority = -1 }
todo = "warn"
unimplemented = "warn"
unreachable = "warn"
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
indexing_slicing = "warn"
map_err_ignore = "warn"
wildcard_enum_match_arm = "warn"
std_instead_of_core = "allow"
std_instead_of_alloc = "allow"
alloc_instead_of_core = "allow"
doc_markdown = "allow"
all = { level = "deny", priority = -1 }
alloc_instead_of_core = "deny"
allow_attributes = "allow"
allow_attributes_without_reason = "allow"
arithmetic_side_effects = "deny"
cargo = { level = "deny", priority = -1 }
complexity = { level = "deny", priority = -1 }
correctness = { level = "deny", priority = -1 }
doc_lazy_continuation = "allow"
needless_return = "allow"
doc_markdown = "allow"
empty_docs = "allow"
expect_used = "deny"
implicit_hasher = "allow"
indexing_slicing = "deny"
map_err_ignore = "deny"
match_same_arms = "allow"
missing_docs_in_private_items = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
missing_safety_doc = "allow"
module_name_repetitions = "allow"
needless_doctest_main = "allow"
needless_return = "allow"
nursery = { level = "deny", priority = -1 }
panic = "deny"
pedantic = { level = "deny", priority = -1 }
perf = { level = "deny", priority = -1 }
std_instead_of_alloc = "deny"
std_instead_of_core = "deny"
style = { level = "deny", priority = -1 }
suspicious = { level = "deny", priority = -1 }
uninlined_format_args = "allow"
unwrap_used = "deny"
wildcard_enum_match_arm = "deny"

[workspace.lints.rust]
deprecated = "deny"
elided_lifetimes_in_paths = "deny"
explicit_outlives_requirements = "deny"
future_incompatible = { level = "deny", priority = -1 }
invalid_reference_casting = "deny"
macro_use_extern_crate = "deny"
missing_copy_implementations = "deny"
missing_debug_implementations = "deny"
missing_docs = "allow"
no_mangle_generic_items = "deny"
non_ascii_idents = "deny"
non_camel_case_types = "deny"
non_snake_case = "deny"
non_upper_case_globals = "deny"
noop_method_call = "deny"
overlapping_range_endpoints = "deny"
private_bounds = "deny"
private_interfaces = "deny"
redundant_lifetimes = "deny"
renamed_and_removed_lints = "deny"
rust_2018_idioms = { level = "deny", priority = -1 }
rust_2021_compatibility = { level = "deny", priority = -1 }
rust_2024_compatibility = { level = "deny", priority = -1 }
single_use_lifetimes = "deny"
trivial_bounds = "deny"
trivial_casts = "deny"
trivial_numeric_casts = "deny"
unexpected_cfgs = "deny"
uninhabited_static = "deny"
unit_bindings = "deny"
unknown_lints = "deny"
unnameable_types = "deny"
unreachable_code = "deny"
unreachable_patterns = "deny"
unreachable_pub = "deny"
unsafe_code = "forbid"
unsafe_op_in_unsafe_fn = "deny"
unused = { level = "deny", priority = -1 }
unused_allocation = "deny"
unused_assignments = "deny"
unused_braces = "deny"
unused_comparisons = "deny"
unused_crate_dependencies = "deny"
unused_doc_comments = "allow"
unused_extern_crates = "deny"
unused_features = "deny"
unused_imports = "deny"
unused_labels = "deny"
unused_lifetimes = "deny"
unused_macro_rules = "deny"
unused_macros = "deny"
unused_must_use = "deny"
unused_mut = "deny"
unused_parens = "deny"
unused_qualifications = "deny"
unused_results = "deny"
unused_unsafe = "deny"
unused_variables = "deny"
warnings = "deny"

[workspace.package]
authors = [ "mroczect" ]
categories = [ "development-tools", "cryptography", "algorithms", "no-std" ]
documentation = "https://docs.rs/libvctrl"
edition = "2024"
homepage = "https://github.com/mroczect/libvctrl"
keywords = [ "git", "vcs", "cryptography", "sha512", "no-std" ]
license = "MIT"
repository = "https://github.com/mroczect/libvctrl"
rust-version = "1.96"
Loading
Loading