Release history
Upsonic releases
Agent Framework For Fintech and Banks
All releases
31 shown
- AppliedScientist accepts any research_source — local file, URL, git/Kaggle/arXiv/Hugging Face link, or plain text idea
- scientist.new_experiment() auto-derives inputs from research_source, current_notebook, or current_data by detecting local paths
- experiments_directory is now optional with default value ./experiments
Full changelog
Improvements:
- AppliedScientist now accepts any research_source — local file, URL, git / Kaggle / arXiv / Hugging Face link, or a plain-text idea. No hardcoded scheme detection on the Python side; the agent skill handles fetching with whichever tool fits (cp / git clone / curl / kaggle CLI / huggingface-cli / …). For text ideas, the description is saved verbatim and Phase 2 turns it into a concrete method plan.
scientist.new_experiment(...)auto-derivesinputsfromresearch_source/current_notebook/current_data— any value that points at an existing local path is copied into the workspace.experiments_directoryis now optional and defaults to./experiments.
Full Changelog: https://github.com/Upsonic/Upsonic/compare/v0.76.1...v0.76.2
Pull Requests:
-
feat: AppliedScientist accepts any research_source + auto inputs: onuratakan in #571
-
chore: New Version 0.76.2: onuratakan in #572
- AppliedScientist: research_paper parameter renamed to research_source
- research_source parameter accepts PDF, Markdown, HTML, .ipynb, text files, web URLs, git repositories, and Kaggle pages
- Docs repository added as git submodule
Full changelog
Improvements:
- AppliedScientist
research_paper→research_source: The prebuilt Applied Scientist agent now accepts any reference describing a new method — local file (PDF, Markdown, HTML,.ipynb, text), web URL (blog post, arXiv, documentation), git repository URL, or Kaggle notebook / dataset page — not just a PDF. The agent detects the source kind at Phase 0 and materializes it into the experiment folder before reading it in Phase 2. - Upsonic/Docs submodule: Added the public docs repository as a git submodule at
Docs/so the docs site can be kept in lockstep with code changes.
Full Changelog: https://github.com/Upsonic/Upsonic/compare/v0.76.0...v0.76.1
Pull Requests:
-
feat: rename AppliedScientist research_paper to research_source: onuratakan in #570
-
chore: New Version 0.76.1: onuratakan in #571
- Prebuilt Applied Scientist agent for automating testing of new papers on current ML models
Full changelog
New Features:
- New Prebuilt Applied Scientist: Added a new prebuilt Autonomous Agent for automating the testing of new papers on current ML models.
Full Changelog: https://github.com/Upsonic/Upsonic/compare/v0.75.0...v0.76.0
Pull Requests:
-
feat: added prebuilt agent, AppliedScientist: onuratakan in #568
-
chore: New Version 0.76.0: onuratakan in #569
- KnowledgeBase State Machine with KBState enum and guarded transitions
- Content Management APIs for sync/async document operations
- Isolated Search parameter for multi-KnowledgeBase collection sharing
- CWE-78 command injection in check_command_exists: replaced unsafe subprocess.run with shutil.which()
- Mail interface with SMTP/IMAP for sending, receiving, processing emails with attachments
- Granular memory and VectorDB flag controls (separate save/load and setup/query)
- Knowledge base queries enabled by default
- Exa toolkit for neural/keyword web search, URL content retrieval, similar-page discovery
- E2B sandbox for Python, JavaScript, Java, R, Bash execution with file transfer
- Daytona sandbox for code execution and Git workflow management in cloud
- Optional safety policies for skills detecting prompt injection, secret leak, code injection
- Improved execution timing metrics with clearer duration reporting
Skill integration smoke tests updated to match current behavior.
- Discord interface with WebSocket gateway, per-user CHAT, HITL via buttons, streaming edits
- Apify tools parameter support for structured inputs to actors
- Skills integration from multiple sources as first-class context
- Clanker type alias as alternative name for Agent
- IDE integration documentation for Cursor, Windsurf, VS Code using Mintlify llms-full.txt
- Langfuse and PromptLayer integration for agent run tracing, scoring, observability
- HITL integrations for user input, confirmation, dynamic input, Telegram support
- Apify integration for using Apify actors and tools within agents
Fixed 'unknown tokenizer type' errors in Qdrant Cloud text index creation.
- Agent metrics with token usage, cost, and tool execution tracking
- SuperMemoryProvider vector database for RAG and knowledge bases
- Increased Anthropic default max_tokens from 4096 to 16384
Full changelog
New Features:
- Agent metrics: Agent runs now expose accumulated usage (tokens, cost) and tool execution tracking for observability and cost monitoring.
- SuperMemory integration: New vector database provider
SuperMemoryProviderfor RAG and knowledge base, with async SuperMemory API support, configurable viaSuperMemoryConfigorupsonic[supermemory].
Improvements:
- Tool managers (Task vs Agent): Task-level tools use a dedicated
ToolManageron the task; agent and task tool definitions are combined and resolved correctly for validation and execution. - Anthropic default max tokens: Default
max_tokensfor Anthropic API increased from 4096 to 16384 for longer responses. - Pydantic response format in streaming: When using a Pydantic
response_formaton a task, streaming tool calls for the output tool are validated withmodel_validateand handled correctly in streaming mode.
Bug Fixes:
- finish_reason "length": When the model hits
max_tokensand returnsfinish_reason == "length", tool calls are no longer executed with possibly truncated arguments; the agent is informed via a tool-return message and can retry with shorter content or smaller steps.
Full Changelog: https://github.com/Upsonic/Upsonic/compare/v0.72.4...v0.72.5
Pull Requests:
Fixed Firecrawl and Anthropic API compatibility to work with current API versions.
- Agent execution timeout with ExecutionTimeoutError exception
- Partial result support with partial_on_timeout parameter
- Firecrawl integration tool with sync/async support
Full changelog
New Features:
- Agent execution timeout: Optional
timeout(seconds) ondo,do_async,print_do, andprint_do_async; execution is cancelled after the limit andExecutionTimeoutErroris raised unless partial results are requested. - Partial result on timeout: When
partial_on_timeout=Trueand a timeout is set, the agent returns whatever text was generated so far instead of raising; uses streaming internally to accumulate output progressively. - Firecrawl custom tool: New Firecrawl integration in
src/upsonic/tools/custom_tools/firecrawl.pywith sync/async support; added as optional dependencyfirecrawl-py>=4.14.1inpyproject.toml. - ExecutionTimeoutError: New exception in
upsonic.exceptionsfor timeout scenarios, carrying the timeout value for programmatic handling.
Improvements:
- Persistent background event loop: Sync entry points (
do,print_do, workspace greeting, tool policy validation,recommend_model_for_task) use a single daemon-thread event loop instead ofasyncio.run()per call, avoiding "Event loop is closed" and connection-pool issues with SDK clients. - Token usage on partial/timeout: When execution ends due to timeout with partial results,
CallManagementStepis run sotask.total_input_tokenandtask.total_output_tokenremain accurate. - Pipeline cancellation handling: Pipeline manager wraps final
yieldin try/except forGeneratorExitso cancellation byasyncio.wait_fordoes not propagate;RunCompletedEventonly emitted whenstep_resultsis non-empty. - Mem0 storage: Implementation and tests updated for mem0 sync/async storage (comprehensive smoke tests and fixes).
- Retry and usage utilities: Retry logic and usage tracking adjusted for timeout and partial-result flows where applicable.
- Firecrawl and custom tools: Gmail, Slack, and financial tools aligned with shared patterns; Firecrawl tool tests added (unit and smoke).
Bug Fixes:
- Sync execution event loop: Fixed sync agent/team methods failing or leaving closed event loops when called repeatedly by using a persistent background loop instead of per-call
asyncio.run(). - Firecrawl tool attributes: Corrected tool attribute definitions and usage in Firecrawl custom tool and tests.
- Unit test usage: Fixed unit test usage and expectations for new timeout and partial-result behavior.
Full Changelog: https://github.com/Upsonic/Upsonic/compare/v0.72.2...v0.72.3
Pull Requests:
- feat: add timeout and partial result handling in Agent execution @onuratakan in #532
- Agent/Team as MCP tools via as_mcp() for cross-agent integration
- Nested Teams with optional leader and router agents for coordination/routing
- Team async support (do_async, ado, astream, stream) for pipeline integration
- Asynchronous OCR with get_text_async and process_file_async entry points
- Document conversion layer using PyMuPDF for PDF rendering and EXIF rotation
- OCR engine API with timeout support (EasyOCR, RapidOCR, Tesseract, DeepSeek, Paddle)
- AutonomousAgent with built-in filesystem and shell toolkits, workspace sandboxing
- Context management middleware for automatic context window pruning and message summarization
- Telegram interface support and Chat/Task modes for all interfaces
- Benchmark module for analyzing framework speed
- Bocha web search tool
- Improved test run commands
Full changelog
New Features:
- Benchmark Module: Added a benchmark module for analyzing framework speed
- New Tool: Added Bocha Web Search Tool
Improvements:
- Anonymization: Resolved an issue with the anonymization action in the safety policies
- Test Run Commands: Updated the test run commands for a better test run experience
New Contributors
- @weijintaocode made their first contribution in https://github.com/Upsonic/Upsonic/pull/518
Full Changelog: https://github.com/Upsonic/Upsonic/compare/v0.71.4...v0.71.5
Pull Requests:
- feat: add comprehensive benchmark system for performance analysis by @IremOztimur in https://github.com/Upsonic/Upsonic/pull/511
- add bocha web search tool by @weijintaocode in https://github.com/Upsonic/Upsonic/pull/518
- fix: Resolved anonymization action logic by @onuratakan in https://github.com/Upsonic/Upsonic/pull/519
- docs: fix test command in CONTRIBUTING.md to use uv run by @IremOztimur in https://github.com/Upsonic/Upsonic/pull/520
- Event streaming chat via stream(events=True) for tool calls, text deltas, execution events
- Culture and CultureManager for agent behavior/communication guidelines via LLM extraction
- Simulation feature for testing agent cases with built-in scenarios
- AgentRunContext class removed; use AgentRunOutput instead
- Agent Run Implementation with AgentRunInput/AgentRunOutput for type-safe contracts
- Parallel tool call support for multi-tool operations
- Storage system refactored with multiple backends (In-Memory, JSON, SQLite, Redis, PostgreSQL, MongoDB, Mem0)