Skip to content

Commit 7d8d6d0

Browse files
mivertowskiclaude
andcommitted
chore: bump version to 0.2.0 and update documentation
Version Bump: - Updated workspace version from 0.1.1 to 0.2.0 - Updated all crate dependencies to 0.2.0 Changelog: - Added comprehensive 0.2.0 release notes - Documented all enterprise features - Added 0.1.1 release notes - Updated version history table README: - Added enterprise features section with code examples - Updated architecture diagram with new modules - Updated installation instructions for 0.2.0 - Added rustkernels crate name (renamed from rustkernel) Documentation: - Created docs/src/enterprise/ directory - Added security.md - Auth, RBAC, multi-tenancy, secrets - Added observability.md - Metrics, tracing, logging, alerting - Added resilience.md - Circuit breaker, retry, timeout, health - Added runtime.md - Lifecycle, configuration, memory - Added ecosystem.md - Axum, Tower, gRPC, Actix deployment - Updated SUMMARY.md with enterprise section - Updated docs README with 0.2.0 features Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 1b764b4 commit 7d8d6d0

11 files changed

Lines changed: 1459 additions & 64 deletions

File tree

Cargo.lock

Lines changed: 19 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ members = [
2323
]
2424

2525
[workspace.package]
26-
version = "0.1.1"
26+
version = "0.2.0"
2727
edition = "2024"
2828
rust-version = "1.85"
2929
authors = ["Michael Ivertowski"]
@@ -34,23 +34,23 @@ categories = ["science", "mathematics", "finance"]
3434

3535
[workspace.dependencies]
3636
# Internal crates (version required for crates.io publishing)
37-
rustkernels = { version = "0.1.1", path = "crates/rustkernels" }
38-
rustkernel-core = { version = "0.1.1", path = "crates/rustkernel-core" }
39-
rustkernel-derive = { version = "0.1.1", path = "crates/rustkernel-derive" }
40-
rustkernel-graph = { version = "0.1.1", path = "crates/rustkernel-graph" }
41-
rustkernel-ml = { version = "0.1.1", path = "crates/rustkernel-ml" }
42-
rustkernel-compliance = { version = "0.1.1", path = "crates/rustkernel-compliance" }
43-
rustkernel-temporal = { version = "0.1.1", path = "crates/rustkernel-temporal" }
44-
rustkernel-risk = { version = "0.1.1", path = "crates/rustkernel-risk" }
45-
rustkernel-banking = { version = "0.1.1", path = "crates/rustkernel-banking" }
46-
rustkernel-behavioral = { version = "0.1.1", path = "crates/rustkernel-behavioral" }
47-
rustkernel-orderbook = { version = "0.1.1", path = "crates/rustkernel-orderbook" }
48-
rustkernel-procint = { version = "0.1.1", path = "crates/rustkernel-procint" }
49-
rustkernel-clearing = { version = "0.1.1", path = "crates/rustkernel-clearing" }
50-
rustkernel-treasury = { version = "0.1.1", path = "crates/rustkernel-treasury" }
51-
rustkernel-accounting = { version = "0.1.1", path = "crates/rustkernel-accounting" }
52-
rustkernel-payments = { version = "0.1.1", path = "crates/rustkernel-payments" }
53-
rustkernel-audit = { version = "0.1.1", path = "crates/rustkernel-audit" }
37+
rustkernels = { version = "0.2.0", path = "crates/rustkernels" }
38+
rustkernel-core = { version = "0.2.0", path = "crates/rustkernel-core" }
39+
rustkernel-derive = { version = "0.2.0", path = "crates/rustkernel-derive" }
40+
rustkernel-graph = { version = "0.2.0", path = "crates/rustkernel-graph" }
41+
rustkernel-ml = { version = "0.2.0", path = "crates/rustkernel-ml" }
42+
rustkernel-compliance = { version = "0.2.0", path = "crates/rustkernel-compliance" }
43+
rustkernel-temporal = { version = "0.2.0", path = "crates/rustkernel-temporal" }
44+
rustkernel-risk = { version = "0.2.0", path = "crates/rustkernel-risk" }
45+
rustkernel-banking = { version = "0.2.0", path = "crates/rustkernel-banking" }
46+
rustkernel-behavioral = { version = "0.2.0", path = "crates/rustkernel-behavioral" }
47+
rustkernel-orderbook = { version = "0.2.0", path = "crates/rustkernel-orderbook" }
48+
rustkernel-procint = { version = "0.2.0", path = "crates/rustkernel-procint" }
49+
rustkernel-clearing = { version = "0.2.0", path = "crates/rustkernel-clearing" }
50+
rustkernel-treasury = { version = "0.2.0", path = "crates/rustkernel-treasury" }
51+
rustkernel-accounting = { version = "0.2.0", path = "crates/rustkernel-accounting" }
52+
rustkernel-payments = { version = "0.2.0", path = "crates/rustkernel-payments" }
53+
rustkernel-audit = { version = "0.2.0", path = "crates/rustkernel-audit" }
5454

5555
# RustCompute / RingKernel dependencies (from crates.io) - 0.3.1 with enterprise features
5656
ringkernel = "0.3.1"

README.md

Lines changed: 83 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
66
[![Rust](https://img.shields.io/badge/rust-1.85%2B-orange.svg)](https://www.rust-lang.org)
77
[![Documentation](https://img.shields.io/badge/docs-online-green.svg)](https://mivertowski.github.io/RustKernels/)
8+
[![Version](https://img.shields.io/badge/version-0.2.0-blue.svg)](CHANGELOG.md)
89

910
---
1011

@@ -41,6 +42,10 @@ RustKernels provides **106 GPU-accelerated algorithms** across **14 domain-speci
4142
| Production reliability concerns | Ported from battle-tested C# implementations |
4243
| GPU availability uncertainty | Automatic CPU fallback when CUDA unavailable |
4344
| Regulatory explainability | SHAP values and feature importance kernels |
45+
| Enterprise security requirements | Auth, RBAC, multi-tenancy, secrets management |
46+
| Production observability | Metrics, tracing, logging, alerting |
47+
| Fault tolerance | Circuit breakers, retry, health checks |
48+
| Service deployment | REST, gRPC, Actix actor integrations |
4449

4550
---
4651

@@ -194,13 +199,71 @@ The latest release introduces innovative kernel categories:
194199

195200
---
196201

202+
## Enterprise Features (0.2.0)
203+
204+
RustKernels 0.2.0 introduces production-ready enterprise capabilities:
205+
206+
### Security
207+
```rust
208+
use rustkernel_core::security::{SecurityContext, Role, KernelPermission};
209+
210+
let ctx = SecurityContext::new(user_id, tenant_id)
211+
.with_roles(vec![Role::KernelExecutor])
212+
.with_permissions(vec![KernelPermission::Execute]);
213+
214+
// Execute with security context
215+
kernel.execute_with_context(&ctx, input).await?;
216+
```
217+
218+
### Resilience
219+
```rust
220+
use rustkernel_core::resilience::{CircuitBreaker, CircuitBreakerConfig};
221+
222+
let cb = CircuitBreaker::new(CircuitBreakerConfig {
223+
failure_threshold: 5,
224+
success_threshold: 2,
225+
timeout: Duration::from_secs(30),
226+
..Default::default()
227+
});
228+
229+
// Execute with circuit breaker protection
230+
cb.call(|| kernel.execute(input)).await?;
231+
```
232+
233+
### Production Configuration
234+
```rust
235+
use rustkernel_core::config::ProductionConfig;
236+
237+
// Load from environment
238+
let config = ProductionConfig::from_env()?;
239+
240+
// Or use presets
241+
let config = ProductionConfig::production();
242+
243+
// Validate before use
244+
config.validate()?;
245+
```
246+
247+
### Service Deployment
248+
```rust
249+
use rustkernel_ecosystem::axum::{KernelRouter, RouterConfig};
250+
251+
let router = KernelRouter::new(registry, RouterConfig::default());
252+
let app = router.into_router();
253+
254+
// Endpoints: /kernels, /execute, /health, /metrics
255+
axum::serve(listener, app).await?;
256+
```
257+
258+
---
259+
197260
## Installation
198261

199262
Add RustKernels to your `Cargo.toml`:
200263

201264
```toml
202265
[dependencies]
203-
rustkernel = "0.1.0"
266+
rustkernels = "0.2.0"
204267
```
205268

206269
### Feature Flags
@@ -209,13 +272,16 @@ Control which domains are compiled to optimize binary size:
209272

210273
```toml
211274
# Default features (graph, ml, compliance, temporal, risk)
212-
rustkernel = "0.1.0"
275+
rustkernels = "0.2.0"
213276

214277
# Selective domain inclusion
215-
rustkernel = { version = "0.1.0", features = ["graph", "compliance", "procint"] }
278+
rustkernels = { version = "0.2.0", features = ["graph", "compliance", "procint"] }
216279

217280
# All domains
218-
rustkernel = { version = "0.1.0", features = ["full"] }
281+
rustkernels = { version = "0.2.0", features = ["full"] }
282+
283+
# Enterprise ecosystem (REST/gRPC service)
284+
rustkernel-ecosystem = { version = "0.2.0", features = ["axum", "grpc"] }
219285
```
220286

221287
---
@@ -262,15 +328,18 @@ async fn main() -> Result<()> {
262328

263329
```
264330
┌─────────────────────────────────────────────────────────────────┐
265-
rustkernel
331+
rustkernels
266332
│ (facade crate, re-exports) │
267333
├─────────────────────────────────────────────────────────────────┤
268-
│ rustkernel-core │ rustkernel-derive │
269-
│ - GpuKernel trait │ - #[gpu_kernel] macro │
270-
│ - BatchKernel trait │ - #[derive(RingMessage)] │
271-
│ - RingKernelHandler │ │
272-
│ - K2K coordination │ │
273-
│ - License validation │ │
334+
│ rustkernel-core (0.2.0) │ rustkernel-ecosystem (0.2.0) │
335+
│ ├── traits (Gpu/Batch/Ring) │ ├── axum (REST API) │
336+
│ ├── security (auth, RBAC) │ ├── tower (middleware) │
337+
│ ├── observability (metrics) │ ├── grpc (Tonic server) │
338+
│ ├── resilience (circuit) │ └── actix (actors) │
339+
│ ├── runtime (lifecycle) ├──────────────────────────────────┤
340+
│ ├── memory (pooling) │ rustkernel-derive │
341+
│ ├── config (production) │ - #[gpu_kernel] macro │
342+
│ └── k2k (coordination) │ - #[derive(RingMessage)] │
274343
├─────────────────────────────────────────────────────────────────┤
275344
│ Domain Crates (14) │
276345
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
@@ -286,7 +355,7 @@ async fn main() -> Result<()> {
286355
│ │ (1) │ │ (1) │ │ (2) │ │ (2) │ │
287356
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
288357
├─────────────────────────────────────────────────────────────────┤
289-
│ RustCompute / RingKernel
358+
│ RustCompute / RingKernel 0.3.1
290359
│ (GPU execution framework) │
291360
└─────────────────────────────────────────────────────────────────┘
292361
```
@@ -349,5 +418,6 @@ Licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for detai
349418
---
350419

351420
**Author**: Michael Ivertowski
352-
**Version**: 0.1.0
421+
**Version**: 0.2.0
353422
**Kernels**: 106 across 14 domains
423+
**Crates**: 19 (including rustkernel-ecosystem)

0 commit comments

Comments
 (0)