dynpatch-core 0.1.0

Runtime engine for dynpatch - dynamic library loading, ABI validation, and transactional patching
Documentation
# dynpatch-core

Runtime engine for safe live code reloading in Rust.

This crate provides the core functionality for dynamically loading, validating, and activating patches at runtime, with strong safety guarantees and transactional semantics.

## Features

- **Dynamic library loading**: Safe loading of `.so`/`.dylib`/`.dll` files
- **ABI validation**: Strong type and layout compatibility checking
- **Transactional activation**: All-or-nothing patch application with automatic rollback
- **Rollback stack**: Maintain history and revert to previous versions
- **Lock-free swapping**: RCU-like publication using `arc-swap`
- **Metrics**: Optional performance and operation metrics

## Optional Features

- `abi_stable`: Enhanced ABI compatibility checks using the `abi_stable` crate
- `metrics`: Enable detailed metrics collection
- `signing`: Cryptographic signature verification for patches
- `sandbox`: Process isolation for untrusted patches

## Usage

```rust
use dynpatch_core::{init, reload, rollback, active_patch_info};

// Initialize the runtime
init();

// Load a patch
reload("path/to/patch.so")?;

// Check active patch
if let Some(info) = active_patch_info() {
    println!("Active patch: {} v{}", info.name, info.version);
}

// Rollback if needed
rollback()?;
```

## License

MIT - See LICENSE file for details