Skip to content

neuron v0.3.0

Choose a tag to compare

@secbear secbear released this 24 Feb 02:24
· 252 commits to main since this release
30097c1

What's New in v0.3.0

This release adds four Pydantic AI-inspired features, a new OpenTelemetry crate, and comprehensive CI improvements.

New Features

  • Usage Limits (UsageLimits) — enforce token, request, and tool-call budgets with configurable limits checked at three points per loop iteration, including streaming
  • Tool Timeout Middleware (TimeoutMiddleware) — per-tool timeout enforcement via the ToolMiddleware pipeline using tokio::time::timeout
  • Structured Output Validation (StructuredOutputValidator, RetryLimitedValidator) — JSON Schema validation of model output with ToolError::ModelRetry self-correction loop
  • OpenTelemetry Instrumentation (neuron-otel crate) — OtelHook implementing ObservabilityHook with tracing spans following GenAI semantic conventions (gen_ai.chat, gen_ai.execute_tool, etc.)

Bug Fixes

  • Fixed run_stream() missing usage limit enforcement entirely (3 checkpoints added)
  • Fixed workspace dependency versions for correct crates.io resolution

New Crate

  • neuron-otel — OpenTelemetry instrumentation with opt-in content capture, span hierarchy, and privacy-safe defaults

CI/CD

  • Automated cargo publish via release-please workflow
  • Manual publish workflow (workflow_dispatch) for bootstrap and fallback
  • Combined release PRs (no more 12 separate PRs per release)

All Published Crates

Crate Version crates.io
neuron-types 0.3.0 crates.io
neuron-tool-macros 0.2.1 crates.io
neuron-tool 0.3.0 crates.io
neuron-context 0.3.0 crates.io
neuron-loop 0.3.0 crates.io
neuron-provider-anthropic 0.3.0 crates.io
neuron-provider-openai 0.3.0 crates.io
neuron-provider-ollama 0.3.0 crates.io
neuron-mcp 0.3.0 crates.io
neuron-runtime 0.3.0 crates.io
neuron-otel 0.3.0 crates.io
neuron 0.3.0 crates.io