Releases: MarcelRoozekrans/Thalos.NET
Releases · MarcelRoozekrans/Thalos.NET
Release list
v0.10.0
v0.9.0
0.9.0 (2026-09-23)
⚠ BREAKING CHANGES
- workflow: IWorkflowStore.StartAsync takes an IReadOnlyDictionary<string, object?>? initialVariables parameter before its CancellationToken. Every implementer and every call site must pass it; pass null to keep the old behaviour. It throws ArgumentException for a bag over the run key cap.
Features
v0.8.0
0.8.0 (2026-09-23)
⚠ BREAKING CHANGES
- memory: IMemoryService.RecallAsync returns Result<MemoryRecallResult, AgentError> instead of Result<IReadOnlyList, AgentError>. Callers read result.Value.Memories and result.Value.Tier. Every implementer and test fake is updated.
Features
v0.7.0
v0.6.0
v0.5.1
v0.5.0
v0.4.0
0.4.0 (2026-08-21)
⚠ BREAKING CHANGES
- abstractions:
IChannelAdapter.DeliverAsyncis re-keyed fromSessionIdtoConversationId. An adapter addresses a conversation — a chat, a socket, a terminal — and most of what a channel must say (/help, an unknown command, the busy notice, "that session had already ended") belongs to a conversation with no session, or none by the time the notice is sent. The session-keyed seam could only carry those by inventing aSessionIdbound to nothing, which an adapter then failed to resolve and dropped silently — every operator notice lost. AConversationIdcomes from theInboundMessagethe channel produced, or from the binding.IConversationMap.GetBySessionAsync, which existed only to serve the old key, is removed. 0.3.0 shippedIChannelAdapteras a declared seam with zero implementations, so nothing was running against the old signature.
Features
Bug Fixes
- ci: read release-please config so 0.x breaking changes bump minor (03ad60a)
v0.3.0
v0.2.0
0.2.0 (2026-08-17)
Features
- abstractions: MemoryId, memory error codes/events, AgentMemorySettings, content scanner port (69673cd)
- core: AgentFactory attaches IAgentContextProviderSource providers; memory settings in identity (a3aadef)
- core: TurnScope carries the agent id and accepts events from extensions (aea1290)
- memory-ragnet: probe with dimension check; Postgres/transport error mapping, no raw messages (97d5e9b)
- memory-ragnet: RagNetMemoryIndex — upsert/search/remove over PgVectorStore, owner partitions (ace072e)
- memory-ragnet: UseRagNetMemory with keyed PgVectorStore and fail-fast schema initializer (7dfa66f)
- memory: dedupe on remember — same owner, threshold 0.95, refresh instead of insert (629f511)
- memory: forget (soft/hard, owner check), list, reindex with batched upsert (9ceb9e5)
- memory: IMemoryIndex, InMemoryMemoryIndex (cosine), UnavailableMemoryIndex, contract tests (ad47a76)
- memory: IMemoryService and MemoryService.RememberAsync with index-pending fallback and events (a631390)
- memory: IMemoryStore port, InMemoryMemoryStore and reusable MemoryStoreContractTests (e6ecb27)
- memory: memory model — kinds, validated record, scope, queries, requests, options, rules (a7fb623)
- memory: memory tool source with remember/recall scoped to the turn caller (b5afebe)
- memory: memory__forget and memory__list; anonymous refusal; authorization through the catalog (02915d7)
- memory: MemoryContextProvider injects a delimited, budgeted memories block per turn (c6f290b)
- memory: recall failure isolation, quarantine drop, per-agent MemoryContextProviderSource (3f2e905)
- memory: RecallAsync — scoped search, hydration, ordering, TopK/MaxChars budget, MarkRecalled (9022d16)
- memory: Thalos.NET.Memory and Thalos.NET.Memory.RagNet (phase 1.2) (b639b34)
- memory: UseMemory/UseMemoryStore/UseMemoryIndex builder extensions with generated registration (c3a6e2f)
- sentinel: IUntrustedContentScanner over the detection pipeline for recalled memories (f111406)
- testing: deterministic HashedBagOfWordsEmbeddingGenerator for memory tests (55338ac)
Bug Fixes
- memory-ragnet: last-wins re-registration, accurate init errors, batch dedupe, lifecycle init (979a70d)
- memory-ragnet: order equal-score hits by id like InMemoryMemoryIndex (bfce3b3)
- memory: log clear-pending failures, guard dedupe threshold and MaxChars, deterministic ties (f5397a9)
- memory: normalise tags to lower-case, cap Source, harden model tests (review follow-ups) (3fbb61e)
- memory: reindex maps a store that throws mid-stream to MemoryStoreFailed instead of throwing (1412b78)
- memory: soft forget marks IndexPending, TopK <= 0 means 1, StreamAsync and text-copy contracts (7a54d6f)
- memory: store contract hardening — query-tag normalisation, delete race, tie-break docs (0fa994d)
- memory: tool list honours scope visibility, recall/list scanned and delimited, sanitiser fixes (52c3cf8)
Miscellaneous Chores
- set the release version (4f06277)