From 121c4395af7a0325f790132dde6eeb250cd80878 Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Mon, 26 Oct 2026 14:19:11 +0000
Subject: [PATCH 1/2] chore: add CLI v2.49.0 changelog entry
---
changelog/index.mdx | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/changelog/index.mdx b/changelog/index.mdx
index a6eadc4..0e4313a 100644
--- a/changelog/index.mdx
+++ b/changelog/index.mdx
@@ -4,6 +4,21 @@ description: "Release notes for Kosli products."
rss: true
---
+
+
+## Updates
+
+- **Decisions need a published policy** — `kosli evaluate policy --control` now requires `--identifier`. Combining `--control` with `--path` or `--policy` is refused before any request is sent, because only a published policy can have a decision recorded against it. **Breaking**
+
+## Bug fixes
+
+- **Null fields in pull request replies** — `kosli attest pullrequest` and `kosli assert pullrequest` no longer crash when GitHub, GitLab, Bitbucket, or Azure DevOps returns a null or missing field, such as an unmerged merge request or a reviewer with no state. On GitHub, one unresolvable field no longer drops the whole pull request evidence. See the [`kosli attest pullrequest github` reference](/client_reference/kosli_attest_pullrequest_github).
+- **GitLab commits with no author** — a commit with no author name or email is now recorded as empty instead of `" <>"`.
+
+[View on GitHub](https://github.com/kosli-dev/cli/releases/tag/v2.49.0)
+
+
+
## Updates
From 5295228f3ddff85b90f5182a3ea9fa2288c19d5a Mon Sep 17 00:00:00 2001
From: Marko Bevc
Date: Mon, 26 Oct 2026 14:21:07 +0000
Subject: [PATCH 2/2] chore: update changelog/index.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
---
changelog/index.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/changelog/index.mdx b/changelog/index.mdx
index 0e4313a..8e61f7f 100644
--- a/changelog/index.mdx
+++ b/changelog/index.mdx
@@ -6,9 +6,9 @@ rss: true
-## Updates
+## Breaking changes
-- **Decisions need a published policy** — `kosli evaluate policy --control` now requires `--identifier`. Combining `--control` with `--path` or `--policy` is refused before any request is sent, because only a published policy can have a decision recorded against it. **Breaking**
+- **Decisions need a published policy** — `kosli evaluate policy --control` now requires `--identifier`. Combining `--control` with `--path` or `--policy` is refused before any request is sent, because only a published policy can have a decision recorded against it.
## Bug fixes