Releases: evilsocket/nerve
v1.1.0
Changelog
New Features 🚀
- 💲 Reporting USD cost with token usage
- 💰 Introduced a
--max-cost
argument - 🔍
nerve agents
command to show a list of installed agents and workflows - 🛡️ Bettercap agent
- 📝 Agents can now define default values for variables if not set via command line
- 🧠 Context length exceeding is now handled dynamically by retrying with an increasingly smaller sliding window
- 🎛️ Added prompt selection from user prompts if available
- 📊 Changelog agent example
- 🌈 Added colors and improved logging
- 💻 Computer-use example
- 📊 Better tool call logging
- ⏱️ Added default 30s timeout to execute_shell_command
- 🔍 Boolean log field determining whether to log the tool output
- 🔇 Implemented --quiet logging
- 🖥️ Computer-use namespace
- 📂 System prompts in
~/.nerve/prompts
can now be referenced via @ prefix - 🐳 Added linux/arm64 to docker image GitHub action
Fixes 🔧
- Fixed issue to not set cwd to agent folder
- Fixed fs.read_file to handle binary data
- Fixed to not report error from stderr if exit code is 0
- Fixed tests
- Fixed to not nest reason twice
- Fixed issue to not serialize entire actor object for task completion
- Fixed to not fail if an (extra) namespace fails to load
- Various test fixes
- Tools with complete_task=true will only set the task as complete if the exit code is 0
- Several fixes and improvements to shell.execute_shell_command
- Changed load path to ~/.nerve/agents to allow other paths in ~/.nerve
- Renamed task.yml to agent.yml in examples for consistency
- Dropped Python 3.9 compatibility
- Various lint fixes
- Removed old GitHub action
- Updated GitHub actions for Python rewrite
- Return None instead of empty string if yml tool didn't generate any output
Documentation 📚
- Updated documentation
- Added session record & replay to docs
- Added SSH-agent README
- Added get-weather README
- Added code-auditor readme
- Updated load path documentation
- Fixed generator command line
Miscellaneous 🔄
- Renamed code-auditor to code-audit
- Using shell.shell for timeout in dynamically built tool
- Renamed shell tool
- Refactored keyboard_press_hotkeys
- Renamed bash namespace to shell for consistency with /bin/zsh
- Various small fixes and general refactoring
- Added classifiers to pyproject.toml
- Updated funding.yml
- Moved release.py to docs/assets folder
Full Changelog: v1.0.0...v1.1.0
v1.0.0
🚀 The Agent Development Kit -
Please refer to the documentation and the examples.
v0.6.0
🚀 New Features
Documentation
https://github.com/dreadnode/nerve/blob/main/docs/index.md
Vision
– Implemented multimodal / vision capabilities, expanding input possibilities (see screenshot example. (2dbc2e9)
Workflows
See the workflows documentation.
- Implemented workflow logic. (3830605)
- Output state persistency now supported in workflows. (efea051)
- Added an example showcasing a software development workflow. (2daec59)
Evaluation and CoT
See the documentation and the examples.
- Introduced evaluation logic. (9a43df5)
- Added reasoning (Chain-of-Thought) as a distinct event for agents. (46514d9)
Session & Events
- Session Recording Overhaul – Replaced
--save-to
and--output
with--record-to
for complete session tracking. (506aae0) - Improved Event Tracking – Events now include timestamps for better debugging and tracking. (043c432)
- Refined Documentation:
🔧 Fixes
- Namespaces are now correctly set to non-default. (42bbb03)
- Improved test stability. (c205381)
- Removed arm64 from Buildx process. (57f3e3b)
- Updated Buildx action to v6. (6f1a0f4)
- Clarified error message when generator fails to build. (327562f)
- Cleaned up incorrect README example. (c323525)
🏗️ Chores & Refactoring
- Refactored agent configuration and task specs into dedicated structures. (37ec55c)
- Improved arguments parsing and initialization (
setup::setup_arguments
). (0435559) - Updated Docker Hub references. (b4c071a)
- Various small fixes, refactorings, and documentation updates.
Full Changelog: v0.5.2...v0.6.0
v0.5.2
CHANGELOG:
64ec3cb chore: added debug log
6fbe6b5 fix: do not consider empty message.tool_calls as valid
c8ed591 new: automatically detect model supported features such as system prompt support and function calling
a5c0c84 fix: fixed broken trait
5ebae31 new: implemented new --user-only argument for openai/o1 models
15a99b3 chore: more tests, never enough
v0.5.1
CHANGELOG:
6262a43 chore: added test
a88f53c fix: fixed rev mistake for lastn window, added log for #28
1a5fd9e fix: do not remove empty messages for anthropic generator
59a4f2a misc: small fix or general refactoring i did not bother commenting
cf060ba chore: some lint oriented refactoring
515d04b merge
1d38e4b new: implemented conversation window strategy
ffa12f3 docs: added mistral.ai to README
950d5db Merge pull request #26 from Nyamort/main
066605c new: mistral integration
e023ac4 misc: small fix or general refactoring i did not bother commenting
c4c6208 docs: README update
fc7ae52 chore: reduced http namespace log verbosity
bd1190a new: xAI integration
21e166b chore: reduced log verbosity when model supports tools calling natively
9d9024f fix: fixced huggingface check_native_tools_support
v0.5.0
v0.4.1
v0.4.0
v0.3.0
New Features
Tooling and Model Support
- Added support for Anthropic integration (closes #23).
- Introduced
judge
system for enhanced analysis capabilities. - Added support for HuggingFace message API (closes #21).
- Implemented new LLM provider: Novita AI.
- Added example payload support for OpenAI, Ollama, and Groq models.
- Introduced custom OpenAI-compatible HTTP endpoints.
- Added
filesystem.append_to_file
tool for extended file system operations. - Decoupled serialization format to support multi-format handling.
- Migrated prompts to a template language for improved flexibility.
Namespace and Functionality Enhancements
- Enhanced
filesystem
namespace functionality. - Improved shell namespace output and added shell actions with user confirmation.
- Introduced alias keyword for functions to reference built-in tools.
- Improved handling of variables and structured payload recovery.
- Updated
code_auditor
example and guidance rules.
Fixes
- Improved error condition and payload decoding for Groq, Ollama, and OpenAI models.
- Fixed issues with build and merge conflicts (Anthropic merge, JSON decoding).
- Centralized AI actions logging and reduced verbosity for OpenAI and crates logs.
- Ensured consistent logging for file operations and better error message clarity.
- Refined namespace and function reporting for better tool aliasing.
- Addressed various issues with unused imports, code structure, and UTM parameters.
Documentation
- Updated README with Anthropic and OpenAI generator string.
- Added Docker agent and other example use cases.
Refactoring & Miscellaneous
- Separated
code_auditor
logic and made guidance rules more modular. - Refactored code into a Cargo workspace for better project organization.
- Performed lint-driven refactoring and removed unused code imports.
- Minor general fixes and improvements throughout the codebase.
This release brings significant enhancements in tooling support, model integrations, and user experience while addressing critical issues and improving code maintainability.
Full Changelog:
2e8ce40 misc: small fix or general refactoring i did not bother commenting
608736f fix: best effort tool calling parsing
7c34a16 fix: fixed build after anthropic merge
426dbce docs: added Anthropic to README
15fa750 Merge pull request #25 from evilsocket/feature/anthropic_issue_23
0dae821 new: finished implementing anthropic support (closes #23)
1606bef fix: only attempt xml deserialization if native tools format is not supported or disabled
f6e8884 chore: separated code_auditor and code_auditor_with_judge
9aa905b new: working on issue #23
5756535 misc: small fix or general refactoring i did not bother commenting
04f5e3e new: judge system
cedb7ee chore: improved code_auditor guidance rules a bit
61bbd75 new: started migrating prompt to template language
64ed167 fix: fixed groq json decoding of payload
bcedafc fix: fixed ollama json decoding of payload
653fb9c fix: better payload escaping
aa7909e misc: small fix or general refactoring i did not bother commenting
382333b fix: centralized AI actions logging
449009e misc: small fix or general refactoring i did not bother commenting
6987163 fix: better error condition logging
18bc9c3 misc: small fix or general refactoring i did not bother commenting
f72f72b new: updated code_auditor example
6b1d8b9 fix: made the append_to_file log consistent with other fs operations logs
ace238a misc: dimmed iteration count message
22690ac new: general fixes and improvements for variables handling
b8fa372 new: try to recover structured payload when the model returns it as distinct arguments
42a5282 new: example payload provided to groq models that support tool calling
1c8ed1e new: example payload provided to ollama models that support tool calling
91d3e91 new: example payload provided to openai models that support tool calling
082911d fix: reduced default log verbosity of crates
9fc11c9 fix: reduced openai requests log verbosity
86d4749 new: filesystem.append_to_file tool
ddecfb9 fix: do not serialize openai.message.tool_calls if none
865e003 new: added docker-agent example
bb77e9b fix: reporting namespace.function for aliases
25fd004 fix: increased log level for shell.shell
bf81041 new: added support for custom openai compatible http endpoints
f0364e5 merge
f5343be new: alias keyword for functions to reference builtin tools
d408f14 docs: fixed README generator string for openai
c899777 chore: removed unused imports
0638651 merge
cc78cf9 Merge pull request #22 from jasonhp/main
ad52234 fix: restore ollama-rs code
1b46d5a fix: removed utm params in the url; removed launch.json
c56ac41 fix: reduced openai crate verbosity
d90b6ba new: implemented robopages support
2ae21c2 feat: add new llm provider: Novita AI
bf48414 new: improvements on the filesystem namespace
8658f4c new: decoupled serialization format, preparing for multi format
6f6eed7 new: refactored into a cargo workspace
e75927b chore: refactored unused code
cff8ae3 chore: lint driven refactoring
6edf82c fix: decoupled generator options from CLI
381d2d2 new: improved shell namespace output
d40e018 new: added shell action with user confirmation
d269352 fix: renamed action names to a more tool calling friendly format
a95e546 new: implemented huggingface message api support (closes #21)
v0.2.0
CHANGELOG:
c1640b7 from this version on, Nerve won't be published on crates.io anymore.
8427e50 releasing version 0.2.0
1ce20b7 new: implemented native + wrapped functions calling
bb1f2ef misc: small fix or general refactoring i did not bother commenting
596b479 merge
d8fcb45 new: added cookies persistency for http namespace
b8aa79e Update README.md
35c63c7 new: added unit tests for http namespace