11# CHANGELOG
22
33
4- ## Unreleased
4+ ## v1.7.0 (2026-07-21)
5+
6+ ### Bug Fixes
7+
8+ - ** security** : Skip JWT audience check when audience is empty
9+ ([ ` 267978c ` ] ( https://github.com/UnicoLab/agentomatic/commit/267978c21b3b5bcc60792d457239341973c13107 ) )
10+
11+ Keycloak often issues aud=account unless a mapper is configured; empty JWTConfig.audience must not
12+ enable verify_aud.
13+
14+ Co-authored-by: Cursor < cursoragent@cursor.com >
15+
16+ - ** security** : Skip OPTIONS in JWT and API-key auth
17+ ([ ` 950358b ` ] ( https://github.com/UnicoLab/agentomatic/commit/950358bfe8c8017b64f9378efec5bc6f4456c3a8 ) )
18+
19+ CORS preflight has no Authorization header; blocking it with 401 broke browser calls from the Vite
20+ SPA to JWT-protected ai_platform APIs.
21+
22+ Co-authored-by: Cursor < cursoragent@cursor.com >
23+
24+ ### Code Style
25+
26+ - ** security** : Apply ruff format for CI
27+ ([ ` fbc4cfb ` ] ( https://github.com/UnicoLab/agentomatic/commit/fbc4cfb19bf7292ef404c898d3f3db63e46d29d3 ) )
28+
29+ Co-authored-by: Cursor < cursoragent@cursor.com >
530
631### Features
732
8- - ** security** : OIDC claim normalization (` extract_roles ` / ` extract_scopes ` )
9- for Keycloak-style ` realm_access ` , ` resource_access ` , ` scope ` , and ` scp ` .
10- - ** security** : Optional DPoP (RFC 9449) validation on ` JWTAuthMiddleware `
11- (` JWTConfig.require_dpop ` , ` DPoP ` header, ` cnf.jkt ` binding, ` jti ` replay
12- cache). In-memory replay cache — use a shared store for multi-replica HA.
13- - ** security** : ` ZeroTrustEnforcer ` uses normalized roles/scopes from request
14- state or claim extraction (not only flat ` roles ` / ` scopes ` arrays).
33+ - ** security** : Add OIDC claim normalization and optional DPoP
34+ ([ ` 11c8343 ` ] ( https://github.com/UnicoLab/agentomatic/commit/11c83433e3f64de77252210d9c04b40b9de01e2d ) )
1535
16- ## v1.6.0 (2026-07-20)
36+ Align JWT middleware with Keycloak/AXA-style tokens (realm_access, scope, resource_access) and
37+ validate DPoP proofs when required or when tokens are cnf.jkt-bound, so platforms can enforce full
38+ OIDC resource-server semantics.
39+
40+ Co-authored-by: Cursor < cursoragent@cursor.com >
41+
42+
43+ ## v1.6.0 (2026-07-21)
1744
1845### Bug Fixes
1946
2047- Clear mypy errors and ruff format drift
21- ([ ` 0e2c85d ` ] ( https://github.com/UnicoLab/agentomatic/commit/0e2c85d245d8438417461bfccf75d3d0050e1231 ) )
48+ ([ ` 799bb84 ` ] ( https://github.com/UnicoLab/agentomatic/commit/799bb840e5c2134a63b121be62f6aa01ebabb9ff ) )
2249
2350Narrow class-agent streaming to a typed BaseGraphAgent binding so mypy passes, and reformat drifted
2451 optimize/test files for CI format-check.
2552
2653Co-authored-by: Cursor < cursoragent@cursor.com >
2754
28- ### Features (prior)
55+ - ** optimize** : Make prompt fit/train mechanics work with oMLX
56+ ([ ` 80772a9 ` ] ( https://github.com/UnicoLab/agentomatic/commit/80772a99281b4842c6cc36561fc990a23e9d981a ) )
57+
58+ Ensure fitted prompts and overrides actually apply, keep LLM-as-judge failures honest, add
59+ oMLX-friendly caller routing, and cover the pipeline with extensive unit plus live oMLX tests.
60+
61+ Co-authored-by: Cursor < cursoragent@cursor.com >
62+
63+ ### Features
2964
3065- ** optimize** : Add gemini/ provider and live Gemini fit tests
31- ([ ` 955eb31 ` ] ( https://github.com/UnicoLab/agentomatic/commit/955eb3111228a3817b349f9e9a8bb9dc7c7421d5 ) )
66+ ([ ` abc1ab5 ` ] ( https://github.com/UnicoLab/agentomatic/commit/abc1ab50e5ede29518db27d786425e633f5a857a ) )
3267
3368Route gemini/* through the Generative Language API, keep cloud models out of SLM multipass
3469 heuristics, and cover rewrite/GEPA/judge with a live suite gated on GEMINI_API_KEY.
3570
3671Co-authored-by: Cursor < cursoragent@cursor.com >
3772
3873- ** optimize** : Harden openai/ cloud routing for reliable fit/rewrite
39- ([ ` a8302fc ` ] ( https://github.com/UnicoLab/agentomatic/commit/a8302fcd962bd8cee1e85983512abee77a39b61d ) )
74+ ([ ` 3b48d57 ` ] ( https://github.com/UnicoLab/agentomatic/commit/3b48d5704bf7e75e3c54d443492fe4bdb087df09 ) )
4075
4176Keep gpt-* /o1/o3 models on api.openai.com even when OPENAI_BASE_URL points at a local server,
4277 require a real API key for cloud calls, handle max_completion_tokens for reasoning models, and add
@@ -45,7 +80,7 @@ Keep gpt-*/o1/o3 models on api.openai.com even when OPENAI_BASE_URL points at a
4580Co-authored-by: Cursor < cursoragent@cursor.com >
4681
4782- ** optimize** : Multi-pass rewrite with full briefing for SLMs and LLMs
48- ([ ` a07adc0 ` ] ( https://github.com/UnicoLab/agentomatic/commit/a07adc0597a63e8fd02c185b52585cdfb396f03b ) )
83+ ([ ` 56b2c71 ` ] ( https://github.com/UnicoLab/agentomatic/commit/56b2c7192ebcf68c6b176f888ec3a400376fc809 ) )
4984
5085Give rewrite/GEPA/MIPRO the full fit context (prompt, params, dataset, eval I/O, metrics, history)
5186 and auto-run draft→revise for frontier LLMs plus draft→critique→revise for SLMs, with docs and
@@ -56,10 +91,10 @@ Co-authored-by: Cursor <cursoragent@cursor.com>
5691### Testing
5792
5893- Adding tests
59- ([ ` 1b9c4ae ` ] ( https://github.com/UnicoLab/agentomatic/commit/1b9c4ae53197fe9eb8420627e4f204fd70f668a7 ) )
94+ ([ ` 8a891c3 ` ] ( https://github.com/UnicoLab/agentomatic/commit/8a891c312a608c06e2622baf75978c493f464f77 ) )
6095
6196- ** endpoints** : 93 comprehensive API endpoint tests
62- ([ ` 38aac2d ` ] ( https://github.com/UnicoLab/agentomatic/commit/38aac2d50591f6ca217247db60d76052dabef01f ) )
97+ ([ ` 39d99a7 ` ] ( https://github.com/UnicoLab/agentomatic/commit/39d99a754ba7d0664c5757f01c101ab9ed67afc6 ) )
6398
6499tests/test_agent_endpoints.py — covers every auto-generated route:
65100
@@ -94,7 +129,7 @@ Studio: /studio/agents/{name}/runs/stream returns 200 + [DONE] class agent: no r
94129Full thread lifecycle: chat(persist=True) → get messages → clear → delete
95130
96131- ** optimize** : 54 regression tests for all 6 confirmed bugs
97- ([ ` 1660038 ` ] ( https://github.com/UnicoLab/agentomatic/commit/1660038404be3dffabe1a53a4bead47a158aaa74 ) )
132+ ([ ` 29d7cab ` ] ( https://github.com/UnicoLab/agentomatic/commit/29d7caba2611a27532ba14217684f0fe27bdff11 ) )
98133
99134Also fixes two source bugs uncovered by the new tests:
100135
@@ -140,12 +175,12 @@ TestEndToEndLocalTraining (3 tests) - full PromptFitter.fit() with local callabl
140175 MetricLoss end-to-end - CompositeMetric → MetricLoss with multiple sub-metrics
141176
142177
143- ## v1.5.1 (2026-07-17 )
178+ ## v1.5.1 (2026-07-21 )
144179
145180### Bug Fixes
146181
147182- ** lint+types+docs** : Ruff clean, mypy clean, docs improved
148- ([ ` 7d25480 ` ] ( https://github.com/UnicoLab/agentomatic/commit/7d254800946d503f5483b53cee7988e3aa3a88af ) )
183+ ([ ` 461b783 ` ] ( https://github.com/UnicoLab/agentomatic/commit/461b78332ebf2cdaab184373d39a215b243830d3 ) )
149184
150185lint: remove unused json import from runner.py (F401/F811) sort imports in test_fitter.py (I001)
151186 ruff format runner.py (1 file reformatted)
@@ -164,7 +199,7 @@ docs(optimization): add comprehensive 'Local-mode Training' guide section - full
164199 result.history documented with list[ float] example
165200
166201- ** optimize** : Local-mode training — 6 confirmed bugs fixed
167- ([ ` 1b07416 ` ] ( https://github.com/UnicoLab/agentomatic/commit/1b074164d132a199e8e338fd0f307053588a38e8 ) )
202+ ([ ` 4815d80 ` ] ( https://github.com/UnicoLab/agentomatic/commit/4815d80ee073fb8c63e0ce291b695560a100c1b9 ) )
168203
169204BUG-1: AgentRunner.agent_callable — local callable bypasses HTTP - Add agent_callable param to
170205 AgentRunner.__ init__ - Add _ run_local() dispatching async/sync callables via asyncio.to_thread -
@@ -204,54 +239,100 @@ feat(tests): 19 new tests for local-mode (AgentRunner, _wrap_local_agent, Prompt
204239docs: local-mode examples in optimization.md and class-agents.md
205240
206241
207- ## v1.5.0 (2026-07-16 )
242+ ## v1.5.0 (2026-07-21 )
208243
209244### Bug Fixes
210245
246+ - ** deploy** : Use absolute compose paths for out-of-tree --out
247+ ([ ` a7c890a ` ] ( https://github.com/UnicoLab/agentomatic/commit/a7c890a5bf24cce5ce95521143007a8e1387bfb6 ) )
248+
249+ When deploy artefacts are written outside the project, relative dockerfile paths escaped the Docker
250+ build context and broke compose builds. Fall back to absolute context/dockerfile/volume paths
251+ instead.
252+
253+ Co-authored-by: Cursor < cursoragent@cursor.com >
254+
211255- ** invoke** : Expose structured agent output on AgentInvokeResponse
212- ([ ` e8a6c33 ` ] ( https://github.com/UnicoLab/agentomatic/commit/e8a6c3333704f76900f324f9f57cc8813216e0c8 ) )
256+ ([ ` 3c67b0b ` ] ( https://github.com/UnicoLab/agentomatic/commit/3c67b0b542894bca996ddc5e563a3dcfe35741d5 ) )
213257
214258Class-agent state_to_output dicts were stringified into response via str(result), breaking frontend
215259 parsers. Add an output field and coerce payloads so sync/chat/A2A paths return JSON-friendly
216260 structured data.
217261
218262- ** pipelines** : Discover flat YAML when scanning pipelines/ itself
219- ([ ` 0ea8def ` ] ( https://github.com/UnicoLab/agentomatic/commit/0ea8defb92ecbd2e28a0432a4405297ff6735f49 ) )
263+ ([ ` 4767a3f ` ] ( https://github.com/UnicoLab/agentomatic/commit/4767a3f6feb54085cb6a2b594f4fbc8a13543e0d ) )
220264
221265AgentPlatform.build passes the pipelines/ directory into discover_pipelines, which previously only
222266 loaded pipelines/pipelines/* .yaml or pipeline.yaml.
223267
224268Co-authored-by: Cursor < cursoragent@cursor.com >
225269
270+ - ** platform** : Restore OpenAPI schema and class-agent async invoke path
271+ ([ ` 5be8f1c ` ] ( https://github.com/UnicoLab/agentomatic/commit/5be8f1cf5c8f33581157764a7857bcd945866939 ) )
272+
273+ Move StudioResumeRequest to module scope so /openapi.json stays complete; route async tasks through
274+ invoke_registered_agent; prefer main: app on run; flatten invoke context for input_to_state;
275+ document correct /api/v1 paths.
276+
277+ Co-authored-by: Cursor < cursoragent@cursor.com >
278+
226279### Continuous Integration
227280
228281- Fix lint, typing, and commit message display
229- ([ ` 718b031 ` ] ( https://github.com/UnicoLab/agentomatic/commit/718b03156b4cf1564b951ced58d0a1cc8a1dc1f9 ) )
282+ ([ ` 2e8a90a ` ] ( https://github.com/UnicoLab/agentomatic/commit/2e8a90a41a89cbc0dac63001aa766a408c241404 ) )
230283
231284Reformat files that failed ruff format check; narrow OptimizeInvokeResponse field types for mypy.
232285 Add a commit-msg hook that strips ANSI/bat line numbers when cat is aliased to bat, and document
233286 using /bin/cat in HEREDOCs.
234287
235288Co-authored-by: Cursor < cursoragent@cursor.com >
236289
290+ ### Documentation
291+
292+ - ** cursor** : Add Agentomatic agent primer skill
293+ ([ ` 96bde0d ` ] ( https://github.com/UnicoLab/agentomatic/commit/96bde0d66685d749e585b1c53b8eb4bd867660ba ) )
294+
295+ Ship the generated Cursor skill so agents working in this repo have install/dev/deploy guidance for
296+ the Agentomatic platform.
297+
298+ Co-authored-by: Cursor < cursoragent@cursor.com >
299+
237300### Features
238301
239302- ** plugins** : Add reload API and full invoke context passthrough
240- ([ ` a42a7bf ` ] ( https://github.com/UnicoLab/agentomatic/commit/a42a7bf3a55bf1ced2cadbf709c4b8ec1aaf17c1 ) )
303+ ([ ` 656c3d4 ` ] ( https://github.com/UnicoLab/agentomatic/commit/656c3d4df0ec7149cc611e2ef5d60f89d9a92a99 ) )
241304
242305Expose POST /api/v1/plugins[ /name] /reload so platforms can refresh in-memory weights after artifact
243306 promotion, and preserve the entire client payload (rich context + top-level extras) through to
244307 input_to_state.
245308
246309Co-authored-by: Cursor < cursoragent@cursor.com >
247310
311+ - ** providers** : Support thinking/reasoning on modern OpenAI-compatible LLMs
312+ ([ ` 13fe5ca ` ] ( https://github.com/UnicoLab/agentomatic/commit/13fe5ca467a71101f414e09a91ec477707f5e111 ) )
313+
314+ Normalize Qwen/Gemma-style thinking tags and reasoning fields so agents get answer-only content by
315+ default, while stack extra: knobs (enable_thinking, chat_template_kwargs, response_format) pass
316+ through to oMLX without breaking other providers.
317+
318+ Co-authored-by: Cursor < cursoragent@cursor.com >
319+
320+ - ** stack** : Make stacks drive fit/eval and async graph invoke
321+ ([ ` 6d33df4 ` ] ( https://github.com/UnicoLab/agentomatic/commit/6d33df41637be52aeb81d62ca82dcc06803b2e73 ) )
322+
323+ Load .env by default from stacks, resolve agent llm_config roles, forward metadata.invoke in
324+ AgentRunner, prefer data-level splits in PromptFitterBridge, and await async nodes in sync invoke
325+ so compile/fit/evaluate work with class agents.
326+
327+ Co-authored-by: Cursor < cursoragent@cursor.com >
328+
248329
249- ## v1.4.0 (2026-07-16 )
330+ ## v1.4.0 (2026-07-21 )
250331
251332### Features
252333
253334- ** connections** : Support arbitrary custom DB/vector clients + docs
254- ([ ` 1ec9d0a ` ] ( https://github.com/UnicoLab/agentomatic/commit/1ec9d0a21d36590a0d27c3151966585ea36b168c ) )
335+ ([ ` ede1460 ` ] ( https://github.com/UnicoLab/agentomatic/commit/ede1460977bf5efbca04d66e8b23fd57af49372a ) )
255336
256337Make the connection abstraction robustly accept ANY custom Python client (async or sync SDK,
257338 graph/time-series DB, in-house package) with correct lifecycle, and document the setup end-to-end.
@@ -287,12 +368,106 @@ Part of the unreleased 1.3.0 (no version bump). Provider-agnostic: no first-part
287368Co-authored-by: Cursor < cursoragent@cursor.com >
288369
289370
290- ## v1.3.0 (2026-07-15)
371+ ## v1.3.0 (2026-07-21)
372+
373+ ### Bug Fixes
374+
375+ - ** deploy** : Make scaffolded main.py app fully-featured for uvicorn parity with agentomatic run
376+ ([ ` 8eba7c0 ` ] ( https://github.com/UnicoLab/agentomatic/commit/8eba7c03c62a38d231bc92044dda20e2b442aa7a ) )
377+
378+ - main.py now builds an env-driven, fully-featured module-level ` app ` so a deployed container
379+ (` uvicorn main:app ` ) serves the same surface as ` agentomatic run ` : discovers all component dirs
380+ and enables Studio, docs, health, and metrics by default - feature flags read from AGENTOMATIC_ *
381+ env vars (ENABLE_STUDIO, ENABLE_METRICS, ENABLE_AUTH, ENABLE_JWT, REQUIRE_AUTH -> implies JWT +
382+ zero-trust, ENABLE_CONTROL_PLANE, ENABLE_RATE_LIMIT, TITLE, LOG_LEVEL) so the same file works in
383+ dev and in the container without code edits - .env.example documents the deploy feature flags -
384+ deployment guide + 1.2.1 changelog (docs/changelog.md + CHANGELOG.md) note the uvicorn main: app
385+ parity - new parity tests: build the scaffolded app and assert run-equivalent routes (/health,
386+ /readiness, /docs, /openapi.json, /, /studio); env flags drive features (studio toggle + title)
387+ ruff/format/mypy/pytest(1187)/mkdocs --strict/uv build all green.
388+
389+ Co-authored-by: Cursor < cursoragent@cursor.com >
390+
391+ - ** platform** : Wire class agents through input_to_state on REST + Studio; harden deploy, auth, and
392+ run --reload for 1.2.1
393+ ([ ` 8bdef79 ` ] ( https://github.com/UnicoLab/agentomatic/commit/8bdef79f8b81e2eb7a48a8f235df2c75877a328d ) )
394+
395+ - Class agents work on every server path (REST invoke/chat/invoke/stream/ optimize/A2A/approve +
396+ Studio streaming): route through invoke_registered_agent / input_to_state instead of
397+ graph.ainvoke(dict), so dataclass-state agents no longer 500 - agentomatic deploy builds in real
398+ projects: Dockerfile installs agentomatic[ all] ==1.2.1 from PyPI, copies project dirs, runs uvicorn
399+ main: app ; init --project emits a pinned requirements.txt - agentomatic run --reload / workers>1
400+ uses a factory import string instead of exiting with code 1 (programmatic platforms degrade
401+ gracefully) - --require-auth-globally refuses to start without JWKS/API-key auth instead of
402+ accepting forged/unsigned JWTs; expiry is always verified - AGENTOMATIC_AGENTS env var scopes
403+ agent discovery (deploy stubs isolate a single agent per replica) - honest plugin eval (real
404+ metric or clear failure); provider-agnostic deepagent model; endpoint health_check; optimize
405+ status observable via agent._ last_optimize_status - version 1.2.1 + changelog updates; new tests
406+ (class agent server paths, deploy CLI, run --reload factory, allow-list, scaffold, and more)
407+ mypy/ruff/pytest(1183)/mkdocs/build all green.
408+
409+ Co-authored-by: Cursor < cursoragent@cursor.com >
410+
411+ - ** security** : Disable CORS credentials with wildcard origins; correct deploy docstring
412+ ([ ` 8a3324f ` ] ( https://github.com/UnicoLab/agentomatic/commit/8a3324f8d4f216074f7183cd8e9d39cd113a73a7 ) )
413+
414+ - CORS: when cors_origins == [ "* "] , set allow_credentials=False (with a one-time warning) so the
415+ platform no longer reflects credentialed cross-origin requests from any site. Explicit
416+ cors_origins=[ ...] keeps allow_credentials=True (backward-compatible). - deploy: correct the
417+ module docstring to state the generated image launches the project via ` uvicorn main:app `
418+ (matching the rendered Dockerfile CMD), not the stale ` agentomatic run ` entrypoint. - docs: 1.2.1
419+ changelog bullet for the CORS hardening (docs/changelog.md + CHANGELOG.md); add tests asserting
420+ wildcard -> credentials disabled and explicit origins -> credentials enabled.
421+
422+ Co-authored-by: Cursor < cursoragent@cursor.com >
291423
292424### Features
293425
426+ - ** cli** : Add agents-guide command; agent knowledge + docs + 1.3.0 release prep
427+ ([ ` a37482c ` ] ( https://github.com/UnicoLab/agentomatic/commit/a37482cee2abacbb55222a3e9eb253b83c0c303c ) )
428+
429+ - add ` agentomatic agents-guide ` command: prints an Agentomatic primer or writes it into a project
430+ via ` --write AGENTS.md|CLAUDE.md|.cursor/skills/agentomatic/SKILL.md ` (refuses to overwrite
431+ without ` --force ` ). Content is a single source of truth in ` agentomatic.cli.agent_guide ` so
432+ CLI/docs/agent files stay in sync - refresh agent knowledge: regenerate repo-root CLAUDE.md from
433+ the primer; extend ` .agents/AGENTS.md ` with a 1.3.0 capabilities section (class-agent server
434+ wiring, deploy parity + profiles, env toggles, security defaults, provider-agnostic principle,
435+ optimization, agents-guide). (The user-level skill at ~ /.cursor/skills/agentomatic/SKILL.md was
436+ also refreshed in place — outside this repo, not committed here.) - docs: add deploy +
437+ agents-guide sections and profile table to docs/cli/commands.md; update command listing - release
438+ prep (1.3.0): bump pyproject + _ version + uv.lock to 1.3.0 (matches semantic-release's
439+ version_toml/version_variables source of truth); reorganize changelogs into a 1.3.0 feature
440+ section (deploy profiles, env-driven main.py parity, agents-guide) while keeping genuine patch
441+ fixes under 1.2.1 - tests: 10 new tests for the primer source + agents-guide CLI (print, --write,
442+ --force, refuse-without-force, all targets, unknown target/skill frontmatter)
443+ ruff/format/mypy/pytest(1210)/mkdocs --strict/uv build(1.3.0 wheel w/ py.typed + studio static +
444+ templates) all green.
445+
446+ Co-authored-by: Cursor < cursoragent@cursor.com >
447+
448+ - ** deploy** : Add full/minimal deploy profiles (swagger always on)
449+ ([ ` a4964a5 ` ] ( https://github.com/UnicoLab/agentomatic/commit/a4964a59235a00fcd5b6063910f441d5d4ac528f ) )
450+
451+ - ` agentomatic deploy --profile full|minimal ` (+ ` --minimal ` shorthand). full (default) runs
452+ everything; minimal is production-lean: disables the Studio debug UI and quiets logging while
453+ keeping the core REST API, health/readiness, metrics, and auth - Swagger/OpenAPI (` /docs ` ,
454+ ` /redoc ` , ` /openapi.json ` ) is NEVER gated by the profile — always available in both, per explicit
455+ requirement - profiles drive the SAME env-driven main.py via baked-in AGENTOMATIC_ * env vars
456+ (AGENTOMATIC_ENABLE_STUDIO=0, AGENTOMATIC_LOG_LEVEL=WARNING) in the rendered
457+ Dockerfile/distroless/compose — one code path, not two images - kept ` agentomatic[all] ` for
458+ minimal so no required functionality is dropped (Studio just isn't mounted); documented the choice
459+ - deployment guide gets a profile comparison table + "Swagger always on" warning; 1.2.1 changelog
460+ bullets (docs/changelog.md + CHANGELOG.md) - tests: profile_env helper + unknown-profile
461+ ValueError; minimal Dockerfile/distroless/compose disable Studio but keep docs; generate_deploy +
462+ CLI --minimal/--profile; scaffolded app under minimal env keeps
463+ /docs+/redoc+/openapi.json+/health+/api/v1/agents, drops /studio; a built platform with minimal
464+ settings exposes /api/v1/<agent >/invoke + Swagger, no /studio ruff/format/mypy/pytest(1200)/mkdocs
465+ --strict/uv build all green.
466+
467+ Co-authored-by: Cursor < cursoragent@cursor.com >
468+
294469- ** deploy** : Production deploy profiles, uvicorn parity, and agents-guide (1.3.0)
295- ([ ` bad9cea ` ] ( https://github.com/UnicoLab/agentomatic/commit/bad9cea7bb38fa5c050302ca9083caf45eb4bee2 ) )
470+ ([ ` 6f77046 ` ] ( https://github.com/UnicoLab/agentomatic/commit/6f77046a62d2ca9233dd3dfaf8c21cbaf138d62a ) )
296471
297472This is the 1.3.0 release-driving commit. It carries a Conventional Commit subject that Python
298473 Semantic Release can parse; the preceding commits in v1.2.0..HEAD were committed with
0 commit comments