570 lines
25 KiB
Markdown
570 lines
25 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to Parlant will be documented here.
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
|
|
- Add `HealthReporter` (`parlant.core.health_reporter`) — a generic, per-process health-reporting service registered in the container. Subsystems call `report(kind, attributes)`; registered `HealthView` objects interpret reports per kind and contribute to the `/healthz` snapshot. Each kind has a configurable retention policy (`window` + `max_count`). Views declare `Criticality.CRITICAL` or `INFORMATIONAL`; only critical views feed the worst-of overall status rollup
|
|
- Add `NLPHealthView` reporting NLP request health sliced by schema (success rate, p50/p95 latency, recent error breakdown) with configurable thresholds for `degraded`/`unhealthy` classification
|
|
- Instrument `BaseSchematicGenerator.generate()` and `BaseEmbedder.embed()` to emit `nlp.request` / `nlp.embed` health reports on success and failure, providing dashboard visibility into LLM and embedding behavior across all adapters
|
|
- Wrap the existing event-loop check as `EventLoopHealthView` so `/healthz` rollup is uniform across all health views
|
|
- Add per-decision debug logs to journey node selection (`Journey '<title>': advanced/stayed/exited/completed/backtracked/auto-advanced/...`) so journey progression is visible at debug level alongside guideline matching
|
|
- Add a warning log for invalid condition ids returned during journey next-step selection
|
|
|
|
### Changed
|
|
|
|
- Rename journey `conditions` to `triggers` throughout the codebase, REST API, CLI, and SDKs to better reflect their role as activation signals. The REST API field, query parameter, and request bodies use `triggers` (no aliases). The Python SDK `Server.create_journey(...)` keeps `conditions=` as a deprecated keyword that emits a `DeprecationWarning`; passing both `triggers=` and `conditions=` raises an error. Existing journey records are migrated automatically by `parlant-prepare-migration` from the `journey_conditions` collection (with a `condition` field) to a new `journey_triggers` collection (with a `trigger` field). LLM prompt strings that include "Journey activation condition" are intentionally preserved
|
|
- Rename SDK callback `on_match` to `on_selected` on guidelines and journey state transitions to reflect that it fires post-resolution, when the entity is selected for message generation; `EngineHooks.on_guideline_match_handlers` and `on_journey_match_handlers` are renamed to `on_guideline_selected_handlers` and `on_journey_selected_handlers` accordingly
|
|
- Standardize guideline matcher log vocabulary: `"Activated"` → `"Matched"`, `"Skipped"` → `"Not matched"`, and `"Not applied"` → `"Unapplied"`
|
|
- Standardize relational resolver log vocabulary: `"Skipped: ... deactivated due to ..."` → `"Dropped (<reason>): ..."` with reasons `lower priority`, `unmet dependency`, `dependency on dropped entity`, `deprioritized by guideline`, and `deprioritized by journey`
|
|
- Disambiguation batch now uses the standard matcher vocabulary (`"Matched (disambiguation)"` / `"Not matched (disambiguation)"`) and emits a log on the negative branch (previously silent)
|
|
- Normalize observational batch rationale to plain `match.rationale` (no longer wrapped with `Condition Application Rationale: "..."`) for consistency with other batches
|
|
- Normalize low-criticality batch warning string to `"No checks generated"` to match other batches
|
|
|
|
### Removed
|
|
|
|
- Remove redundant `glm_service.py` NLP adapter and `NLPServices.glm()` factory method — the GLM/bigmodel.cn API is already covered by the existing Zhipu adapter (`zhipu_service.py`), which uses the official `zhipuai` SDK and supports GLM-4 model variants. Use `NLPServices.zhipu()` instead.
|
|
|
|
### Fixed
|
|
|
|
- Fix low-criticality matcher logging the entire inference blob once per guideline in a batch (N copies of the same payload at debug level); now logs a single per-item entry
|
|
- Fix WebSocketLogger event loop starvation — when no WebSocket clients are subscribed, the drain loop processed queued messages without yielding, progressively blocking the async event loop and causing increasing latency over time
|
|
- Fix journey reachable-follow-ups evaluation being order-dependent at fan-in nodes — `JourneyReachableNodesEvaluator` captured a child's path list by reference and then prepended to it in place, so a node with multiple parents had its stored routes mutated by whichever parent was visited first; the second parent then lost routes (or double-counted a hop) depending purely on graph/DFS order. The child's routes are now snapshotted per parent, making the result depend only on journey structure. This intentionally changes the computed follow-ups for existing fan-in journeys: a shared child's later parent now retains the routes it previously lost
|
|
|
|
### Security
|
|
|
|
- Upgrade dependencies to address known CVEs: authlib (>=1.6.11), requests (>=2.33.0), fastmcp (>=3.2.0), litellm (>=1.83.0), pytest (>=9.0.3), pyjwt (>=2.11.1), and constrain transitive deps — aiohttp, cryptography, pillow, pyopenssl, werkzeug, Mako, pyasn1, python-multipart, orjson, Pygments, diskcache
|
|
- Upgrade chat frontend: vite (>=7.3.2) and override transitive deps — picomatch, lodash, flatted, brace-expansion, immutable, yaml
|
|
|
|
## [3.3.1] - 2026-04-14
|
|
|
|
### Added
|
|
|
|
- Allow passing ToolId when attaching tools throughout the SDK
|
|
- Add `AnyOf(tag)` and `AllOf(tag)` modifiers for explicit control over tag dependency semantics in `depend_on()` — `AnyOf` requires at least one tagged member to be active, `AllOf` requires all of them (bare `Tag` defaults to `AllOf`)
|
|
- Add `depend_on_any()` to `Guideline`, `Tag`, and `Journey` for OR dependency relationships — at least one target must be active. Multiple `depend_on_any()` calls create independent OR groups that are AND'd together
|
|
- Add event loop health monitoring to `/healthz` endpoint — measures callback latency and reports `healthy`, `degraded`, or `unhealthy` status with peak latency over a configurable window
|
|
- Add resolution tracking to the relational resolver — every entity that enters resolution gets a `Resolution` with a `ResolutionKind` (`NONE`, `DEPRIORITIZED`, `UNMET_DEPENDENCY_ALL`, `UNMET_DEPENDENCY_ANY`, `ENTAILED`) and structured `ResolutionDetails` (relationship ID, target IDs) explaining why
|
|
|
|
### Changed
|
|
|
|
- Split `RelationshipEntityKind.TAG` into `TAG_ALL` and `TAG_ANY` to support explicit tag dependency semantics at the core level (existing `TAG` entries treated as `TAG_ALL` for backwards compatibility)
|
|
|
|
### Fixed
|
|
|
|
- Fix priority and dependency relationships propagating through inactive intermediaries — only direct relationships now affect resolution, consistent with the reinstatement principle from argumentation theory
|
|
- Fix entailment recording only the highest-scoring source when multiple guidelines entail the same target — all entailing relationships are now recorded in resolution details
|
|
- Fix dep-failed guidelines not recovering when entailment satisfies their dependency target in a later iteration
|
|
- Fix SDK startup appearing stuck at 100% after evaluations — add "Applying evaluations" progress bar for the metadata-writing phase
|
|
- Fix `Variable.get_value()` returning `None` when called from a retriever, caused by retrievers starting before context variables were loaded
|
|
- Fix journey tool-state auto-advancing even when the tool did not run
|
|
|
|
## [3.3.0] - 2026-03-15
|
|
|
|
### Added
|
|
|
|
- Add per-agent planners via `Server.create_agent(planner=...)`, allowing each agent to use a custom `Planner` implementation
|
|
- Accept `Tag` as a target in `depend_on()`, `exclude()`, and `prioritize_over()` on both `Guideline` and `Tag`, enabling relationships that target all guidelines sharing a custom tag
|
|
- Add `Tag.depend_on()`, `Tag.exclude()`, and `Tag.prioritize_over()` methods to the SDK, enabling tag-based dependency and priority relationships with guidelines and journeys
|
|
- Support custom TAG as source for DEPENDENCY relationships in the relational resolver
|
|
- Add `tags` parameter to `create_guideline`, `create_observation`, and `create_journey` on both `Agent` and `Journey`, allowing custom tags to be attached to entities at creation time
|
|
- Add `Tag.reevaluate_after()` method to the SDK, enabling tag-based reevaluation relationships with tools
|
|
- Add tag-based reevaluation support in the engine: when a tool fires, all guidelines carrying a tag that has a reevaluation relationship with that tool are now re-evaluated
|
|
- Add staged_events to GuidelineMatchingContext in SDK
|
|
- Add `priority` property to guidelines and journeys for priority-based filtering in the relational resolver
|
|
- Add transient guidelines (renamed from tool-provided guidelines), allowing tools to dynamically inject behavioral guidelines into the agent's context
|
|
- Add `Agent.utter()` to the SDK, enabling programmatic agent message generation with transient guidelines
|
|
- Add `Customer.update()` and `CustomerMetadata` to the SDK, allowing tools to update customer name and metadata
|
|
- Add `Session.update()`, `SessionMetadata`, and `SessionLabels` to the SDK, allowing tools to update session properties, metadata, and labels
|
|
- Add `customer`, `agent`, `mode`, and `title` properties to SDK `Session` class
|
|
- Add `Server.get_tag()` to the SDK, supporting lookup by either `id` or `name`
|
|
- Add name-based filtering to `TagStore.list_tags()` and the `GET /tags` API endpoint via an optional `name` query parameter
|
|
- Enforce tag name uniqueness in `TagStore`, raising an error when creating a tag with a duplicate name
|
|
|
|
### Changed
|
|
|
|
- Made extended thinking indicator optional in perceived performance policy
|
|
- Change `reevaluate_after()` on `Tag` and `Guideline` to accept multiple tools (`*tools`) and return `Sequence[Relationship]`
|
|
- Change `tags` field type from `Sequence[TagId]` to `Sequence[Tag]` on `Guideline`, `Journey`, `Capability`, `Term`, `Variable`, `Customer`, and `Agent` in the SDK
|
|
- Change `Tag.preamble()` to return a full `Tag` object instead of a `TagId`
|
|
- Upgrade MCP service and bump dependency versions to resolve security vulnerabilities
|
|
|
|
### Deprecated
|
|
|
|
- OpenAPI tool services are now deprecated; please migrate to SDK tool services
|
|
|
|
### Fixed
|
|
|
|
- Fix deadlock when sending a new message right after a preamble
|
|
- Fix transitive filtering in relational resolver for custom tag dependency targets (guidelines depending on a custom tag are now correctly deactivated when a tagged member is deprioritized)
|
|
- Fix SSE `read_event` endpoint stalling after first streaming chunk until full completion
|
|
- Fix response analysis logs not always reaching the integrated UI
|
|
- Fix guideline formatting in canned response and streaming modes when condition is absent
|
|
- Fix AzureService small text embedding dimension size
|
|
- Fix onnxruntime compatibility with Python 3.10 and transformers 5.x type changes
|
|
- Fix agent intention proposer prompt clarification
|
|
- Fix embedding LRU cache eviction corrupting the length index when entries share the same text length
|
|
- Fix LiteLLMEmbedder failing to resolve via lagom container when LITELLM_EMBEDDING_MODEL_NAME is set
|
|
- Fix non-consequential tool calls being rejected when optional parameters are missing
|
|
|
|
### Removed
|
|
|
|
- Remove stale `parlant-test` entry point and testing framework documentation from README
|
|
|
|
## [3.2.2] - 2026-02-18
|
|
|
|
### Added
|
|
|
|
- Added p.MATCH_ALWAYS, now the preferred alias to p.Guideline.MATCH_ALWAYS
|
|
- Added `logger` property to p.Server
|
|
|
|
### Changed
|
|
|
|
- Adjusted log levels of relational resolver to trace instead of debug
|
|
- Allow tool context parameter names to be all of 'context', 'ctx', and 'c'
|
|
|
|
### Fixed
|
|
|
|
- Fix completed streamed messages re-animating on page refresh
|
|
- Propagate `Server.current` context to tool functions in hosted plugin server
|
|
|
|
## [3.2.1] - 2026-02-17
|
|
|
|
### Added
|
|
|
|
- Add optional `dependencies` parameter to guideline, observation, and journey creation methods
|
|
- Add `exclude()` as an alias for `prioritize_over()` on guidelines and journeys
|
|
- Add `tools` parameter to `create_observation` methods
|
|
|
|
### Changed
|
|
|
|
- Deprecate `attach_tool()` in favor of `create_guideline()`/`create_observation()` with `tools` parameter
|
|
|
|
### Fixed
|
|
|
|
- Preserve draft message language during canned response recomposition
|
|
- Fix server hang when an exception occurs during setup
|
|
- Fix canned response field extraction to handle falsy values
|
|
|
|
## [3.2.0] - 2026-02-08
|
|
|
|
### Added
|
|
|
|
- Add labels to Guidelines, Journeys, JourneyNodes, and Sessions for categorization and filtering
|
|
- Add automatic session label propagation from matched entities (guidelines, observations, journeys)
|
|
- Add `track` parameter to guidelines to control "previously applied" tracking
|
|
- Support multiple targets in `prioritize_over()` and `depend_on()` methods
|
|
- Add `field_dependencies` to canned responses for explicit field availability requirements
|
|
- Add `attach_retriever()` to Guideline, Journey, and JourneyState for conditional data retrieval
|
|
- Add `on_match` and `on_message` hooks to journeys for lifecycle callbacks
|
|
- Add per-agent preamble configuration (custom examples and instructions)
|
|
- Add separate default greeting responses for first agent message in fluid mode
|
|
- Add streaming message output mode
|
|
- Allow specifying custom journey node ID
|
|
- Add matched guidelines/journey states to completion ready event
|
|
|
|
### Changed
|
|
|
|
- Make condition optional for SDK guidelines
|
|
- Tweak default preamble examples
|
|
- Soften log levels for relational guideline resolver
|
|
- Add activated/skipped logs to custom guideline matcher batches
|
|
|
|
### Fixed
|
|
|
|
- Fix websocket warning upon startup
|
|
- Fix agent intention proposer (guidelines were getting rewritten incorrectly)
|
|
- Fix multiple customer guideline matchers not working
|
|
- Fix bug with context variable access in SDK
|
|
|
|
## [3.1.0] - 2026-01-05
|
|
|
|
### Added
|
|
|
|
- Add .current property for Server, Agent, and Customer in SDK
|
|
- Add /healthz endpoint
|
|
- Add API for CRUD operations on session metadata
|
|
- Add EmcieService
|
|
- Add GLM service
|
|
- Add Mistral service
|
|
- Add OpenRouter service
|
|
- Add OpenTelemetry integration for Meter, Logger and Tracer
|
|
- Add Qdrant VectorDatabase adapter
|
|
- Add Snowflake Cortex service
|
|
- Add ability to configure and extend the FastAPI app object
|
|
- Add deferred retrievers
|
|
- Add dynamic composition mode
|
|
- Add follow-up canned responses
|
|
- Add guideline criticality level
|
|
- Add guideline on_match() hooks
|
|
- Add persistence option for context variable values (variable store)
|
|
- Added guideline descriptions
|
|
- Allow bailing out of canned response selection and utilize the draft directly, using a hook
|
|
- Allow controlling max tool result payload via environment variable
|
|
- Allow controlling perceived performance policy per agent
|
|
- Allow journey transitions from one tool state to another
|
|
- Allow specifying custom IDs when creating agents via SDK and API
|
|
- Allow specifying custom IDs when creating customers via SDK and API
|
|
- Allow specifying custom IDs when creating guidelines, journeys, and glossary terms via SDK and API
|
|
- Expose IoC container in server object
|
|
- Support adding custom canrep fields to matched guidelines and journey states
|
|
- Support code-based, custom guideline matchers
|
|
|
|
### Changed
|
|
|
|
- Changed default NLPService to EmcieService
|
|
- Improved efficiency of journey state matching when first state is a tool state
|
|
- Rename ContextualCorrelator to Tracer
|
|
- Rename LoadedContext to EngineContext
|
|
- Support proxy URL for LiteLLM
|
|
|
|
### Fixed
|
|
|
|
- Fix critical bug with cancellation during response analysis
|
|
- Fix critical similarity calculation error in TransientVectorDatabase
|
|
- Fix unnecessary extra evaluation of journeys and tools in some edge cases
|
|
- Improved Gemini Flash 2.5 output consistency by using function call trick instead of structured outputs
|
|
|
|
## [3.0.4] - 2025-11-18
|
|
|
|
### Fixed
|
|
|
|
- Fix bug where NanoDB query failed when no filters matched
|
|
- Extend tool insights across iterations
|
|
- Fix deprecated status.HTTP_422_UNPROCESSABLE_ENTITY to status.HTTP_422_UNPROCESSABLE_CONTENT
|
|
- Fix broken CLI by adding missing websocket-client dependency
|
|
- Added specific classes for embedder initialisation
|
|
- Make base url once in OllamaEmbedder
|
|
- Update dependencies for security, upgrade FastAPI, fix mypy in hugging_face.py
|
|
- Bump torch for fixing vulnerability
|
|
|
|
## [3.0.3] - 2025-10-23
|
|
|
|
### Fixed
|
|
|
|
- Fix installation issue in some environments, failing due to an older FastMCP version
|
|
- Bump versions of OpenTelemetry
|
|
- Made ChromaDB an extra package parlant[chroma]
|
|
- Update NPM dependencies for integrated UI
|
|
|
|
## [3.0.2] - 2025-08-27
|
|
|
|
### Added
|
|
|
|
- Added docs/\* and llms.txt
|
|
- Added Vertex NLP service
|
|
- Added Ollama NLP service
|
|
- Added LiteLLM support to the SDK
|
|
- Added Gemini support to the SDK
|
|
- Added Journey.create_observation() helper
|
|
- Added auth permission READ_AGENT_DESCRIPTION
|
|
- Added optional AWS_SESSION_TOKEN to BedrockService
|
|
- Support creating status events via the API
|
|
|
|
### Changed
|
|
|
|
- Moved tool call success log to DEBUG level
|
|
- Optimized canrep to not generate a draft in strict mode if no canrep candidates found
|
|
- Removed `acknowledged_event_offset` from status events
|
|
- Removed `last_known_event_offset` from `LoadedContext.interaction`
|
|
|
|
### Fixed
|
|
|
|
- Fixed presentation of missing API keys for built-in NLP services
|
|
- Improvements to canned response generation
|
|
- Fixed bug with null journey paths in some cases
|
|
- Fixed tiny bug with terminal nodes in journey node selection
|
|
- Fixed evaluations not showing properly after version upgrade
|
|
|
|
## [3.0.1] - 2025-08-16
|
|
|
|
### Changed
|
|
|
|
- Move tool call success log to DEBUG level
|
|
|
|
### Fixed
|
|
|
|
- Fix tool-based variable not enabling the associated tool on the server
|
|
- Fix authorization errors throwing 500 instead of 403
|
|
- Changed OpenAI LLM request operation level to TRACE to fix evaluation progress bars
|
|
|
|
## [3.0.0] - 2025-08-15
|
|
|
|
- Please see the announcement at https://parlant.io/blog/parlant-3-0-release
|
|
|
|
## [2.2.0] - 2025-05-20
|
|
|
|
### Added
|
|
|
|
- Add journeys
|
|
- Add of guideline properties evaluation
|
|
- Add automatic guideline action deduction when adding direct tool guidelines
|
|
- Added choices of invalid and missing tool parameters to tool insights
|
|
|
|
### Changed
|
|
|
|
- Make guideline action optional
|
|
|
|
## [2.1.2] - 2025-05-07
|
|
|
|
### Changed
|
|
|
|
- Remove interaction history from utterance recomposition prompt
|
|
- Use tool calls from the entire interaction for utterance field substitution
|
|
- Improve error handling and reporting with utterance rendering failures
|
|
|
|
### Fixed
|
|
|
|
- Always reason about utterance selection to improve performance
|
|
|
|
## [2.1.1] - 2025-04-30
|
|
|
|
### Fixed
|
|
|
|
- Fixed rendering relationships in CLI
|
|
- Fixed parlant client using old imports from python client SDK
|
|
|
|
## [2.1.0] - 2025-04-29
|
|
|
|
### Added
|
|
|
|
- ToolParameterOptions.choice_provider can now access ToolContext
|
|
- Added utterance/draft toggle in the integrated UI
|
|
- Added new guideline relationship: Dependency
|
|
- Added tool relationships and the OVERLAP relationship
|
|
- Added the 'overlap' property to tools. By default, tools will be assumed not to overlap with each other, simplifying their evaluation at runtime.
|
|
- Introduce ToolBatchers
|
|
- Introduce Journey
|
|
|
|
### Changed
|
|
|
|
- Improved tool calling efficiency by adjusting the prompt to the tool at hand
|
|
- Revised completion schema (ARQs) for tool calling
|
|
- Utterances now follow a 2-stage process: draft + select
|
|
- Changed guest customer name to Guest
|
|
|
|
### Fixed
|
|
|
|
- Fixed deprioritized guidelines always being skipped
|
|
- Fixed agent creation with tags
|
|
- Fixed client CLI exit status when encountering an error
|
|
- Fixed agent update
|
|
|
|
### Known Issues
|
|
|
|
- OpenAPI tool services sometimes run into issues due to a version update in aiopenapi3
|
|
|
|
## [2.0.0] - 2025-04-09
|
|
|
|
### Added
|
|
|
|
- Improved tool parameter flexibility: custom types, Pydantic models, and annotated ToolParameterOptions
|
|
- Allow returning a new (modified) container in modules using configure_module()
|
|
- Added Tool Insights with tool parameter options
|
|
- Added support for default values for tool parameters in tool calling
|
|
- Added WebSocket logger feature for streaming logs in real time
|
|
- Added a log viewer to the sandbox UI
|
|
- Added API and CLI for Utterances
|
|
- Added support for the --migrate CLI flag to enable seamless store version upgrades during server startup
|
|
- Added clear rate limit error logs for NLP adapters
|
|
- Added enabled/disabled flag for guidelines to facilitate experimentation without deletion
|
|
- Allow different schematic generators to adjust incoming prompts in a structured manner
|
|
- Added tags to context variables, guidelines, glossary and agents
|
|
- Added guideline matching strategies
|
|
- Added guideline relationships
|
|
- Added support for tool parameters choice provider using the tool context as argument
|
|
|
|
### Changed
|
|
|
|
- Made the message generator slightly more polite by default, following user feedback
|
|
- Allow only specifying guideline condition or action when updating guideline from CLI
|
|
- Renamed guideline proposer with guideline matcher
|
|
|
|
### Fixed
|
|
|
|
- Lowered likelihood of the agent hallucinating facts in fluid mode
|
|
- Lowered likelihood of the agent offering services that were not specifically mentioned by the business
|
|
|
|
## [1.6.2] - 2025-01-29
|
|
|
|
### Fixed
|
|
|
|
- Fix loading DeepSeek service during server boot
|
|
|
|
## [1.6.1] - 2025-01-20
|
|
|
|
### Fixed
|
|
|
|
- Fix ToolCaller not getting clear information on a parameter being optional
|
|
- Ensure ToolCaller only calls a tool if all required args were given
|
|
- Improve valid JSON generation likelihood in MessageEventGenerator
|
|
- Improve ToolCaller's ability to correctly run multiple tools at once
|
|
|
|
## [1.6.0] - 2025-01-19
|
|
|
|
### Added
|
|
|
|
- Add shot creation helper functions under Shot
|
|
- Add ContextEvaluation in MessageEventGenerator
|
|
- Add a log command under client CLI for streaming logs
|
|
- Add engine lifecycle hooks
|
|
|
|
### Changed
|
|
|
|
- Split vendor dependencies to extra packages to avoid reduce installation time
|
|
- Modified ToolCaller shot schema
|
|
- Disable coherence and connection checking by default in the CLI for now
|
|
|
|
### Fixed
|
|
|
|
- Improved GuidelineProposer's ability to handle compound actions
|
|
- Improved GuidelineProposer's ability to distinguish between a fulfilled and unfulfilled action
|
|
- Improved GuidelineProposer's ability to detect a previously applied guideline's application to new information
|
|
- Reduced likelihood of agent offering hallucinated services
|
|
- Fix ToolCaller false-negative argument validation from int to float
|
|
- Fix ToolCaller accuracy
|
|
- Fix ToolCaller making up argument values when it doesn't have them
|
|
- Fix some cases where the ToolCaller also calls a less-fitting tool
|
|
- Fix mistake in coherence checker few shots
|
|
- Fix markdown tables in sandbox UI
|
|
- Fix wrong import of RateLimitError
|
|
- Fix PluginServer validation for optional tool arguments when they're passed None
|
|
- Fix utterances sometimes not producing a message
|
|
|
|
## [1.5.1] - 2025-01-05
|
|
|
|
### Fixed
|
|
|
|
- Fix server CLI boot
|
|
|
|
## [1.5.1] - 2025-01-05
|
|
|
|
### Fixed
|
|
|
|
- Fix server CLI boot
|
|
|
|
## [1.5.0] - 2025-01-04
|
|
|
|
### Added
|
|
|
|
- Add DeepSeek provider support (via DeepSeekService)
|
|
|
|
### Changed
|
|
|
|
- Change default home dir from runtime-data to parlant-data
|
|
|
|
### Fixed
|
|
|
|
- Fix tool-calling test
|
|
- Fix HuggingFace model loading issues
|
|
|
|
## [1.4.3] - 2025-01-02
|
|
|
|
### Fixed
|
|
|
|
- Upgraded dependency "tiktoken" to 0.8.0 to fix installation errors on some environments
|
|
|
|
## [1.4.2] - 2024-12-31
|
|
|
|
### Fixed
|
|
|
|
- Fix race condition in JSONFileDocumentDatabase when deleting or updating documents
|
|
|
|
## [1.4.1] - 2024-12-31
|
|
|
|
### Changed
|
|
|
|
- Remove tool metadata from prompts - agents are now only aware of the data itself
|
|
|
|
### Fixed
|
|
|
|
- Fix tool calling in scenarios where a guideline has multiple tools where more than one should run
|
|
|
|
## [1.4.0] - 2024-12-31
|
|
|
|
### Added
|
|
|
|
- Support custom plugin data for PluginServer
|
|
- Allow specifying custom logger ID when creating loggers
|
|
- Add 'hosted' parameter to PluginServer, for running inside modules
|
|
|
|
### Fixed
|
|
|
|
- Fix the tool caller's few shots to include better rationales and arguments.
|
|
|
|
## [1.3.1] - 2024-12-27
|
|
|
|
### Changed
|
|
|
|
- Return event ID instead of trace ID from utterance API
|
|
- Improve and normalize entity update messages in client CLI
|
|
|
|
## [1.3.0] - 2024-12-26
|
|
|
|
### Added
|
|
|
|
- Add manual utterance requests
|
|
- Refactor few-shot examples and allow adding more examples from a module
|
|
- Allow tapping into the PluginServer FastAPI app to provide additional custom endpoints
|
|
- Support for union parameters ("T | None") in tool functions
|
|
|
|
### Changed
|
|
|
|
- Made all stores thread-safe with reader/writer locks
|
|
- Reverted GPT version for guideline connection proposer to 2024-08-06
|
|
- Changed definition of causal connection to take the source's when statement into account. The connection proposer now assumes the source's condition is true when examining if it entails other guideline.
|
|
|
|
### Fixed
|
|
|
|
- Fix 404 not being returned if a tool service isn't found
|
|
- Fix having direct calls to asyncio.gather() instead of safe_gather()
|
|
|
|
### Removed
|
|
|
|
- Removed connection kind (entails / suggests) from the guideline connection proposer and all places downstream. the connection_kind argument is no longer needed or supported for all guideline connections.
|
|
|
|
## [1.2.0] - 2024-12-19
|
|
|
|
### Added
|
|
|
|
- Expose deletion flag for events in Session API
|
|
|
|
### Changed
|
|
|
|
- Print traceback when reporting server boot errors
|
|
- Make cancelled operations issue a warning rather than an error
|
|
|
|
### Fixed
|
|
|
|
- Fixed tool calling with optional parameters
|
|
- Fixed sandbox UI issues with message regeneration and status icon
|
|
- Fixed case where guideline is applied due to condition being partially applied
|
|
|
|
### Removed
|
|
|
|
None
|
|
|
|
## [1.1.0] - 2024-12-18
|
|
|
|
### Added
|
|
|
|
- Customer selection in sandbox Chat UI
|
|
- Support tool calls with freshness rules for context variables
|
|
- Add support for loading external modules for changing engine behavior programmatically
|
|
- CachedSchematicGenerator to run the test suite more quickly
|
|
- TransientVectorDatabase to run the test suite more quickly
|
|
|
|
### Changed
|
|
|
|
- Changed model path for Chroma documents. You may need to delete your `runtime-data` dir.
|
|
|
|
### Fixed
|
|
|
|
- Improve handling of partially fulfilled guidelines
|
|
|
|
### Removed
|
|
|
|
None
|