Bump version to v4.1.0

Adds the I5 xenoData passthrough to Krill (#54) and the creatDate ISO
normalisation from this cycle, plus the dependency updates imported from
Dependabot: opennlp-tools 2.5.8 -> 2.5.9, kotlinx-coroutines-core
1.10.2 -> 1.11.0 and Kotlin 2.3.21 -> 2.4.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Change-Id: I2917a2740c5ad3680a0b7cae6aab666c9acd761b
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 70aa5f9..d455059 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [v4.1.0] - 2026-06-19
+
+### Added
+
+- I5 `<xenoData>` metadata blocks are now passed through to Krill output ([#54](https://github.com/KorAP/korapxmltool/issues/54)). Each `<meta name=… type=… [project=…]>` becomes a typed Krill field (`string` → `type:string`, `keyword` → `type:keywords`, `text` → `type:text`, `date` → `type:date`, `attachment`/`uri` → `type:attachement`), keyed `<project>.<name>`. Fields are collected from text, document and corpus headers and inherited corpus → doc → text, with level-prefixed keys (e.g. `docRcpnt`, `corpusRcpnt`) so the levels stay distinct; repeated keywords accumulate, repeated scalars keep the last value. Mirrors the predecessor tool's `KorAP::XML::Meta::I5` handling. New `ked_sample.zip` regression fixture.
+
+### Fixed
+
+- `creatDate` is now normalised to an ISO date (`YYYY[-MM[-DD]]`) for Krill `type:date` fields. The previous `.` → `-` replacement only handled the canonical year-first form (`1932.03.03`) and mangled day-first values, optionally preceded by a weekday name, found e.g. in RPK (`Donnerstag, 04.10.2018` → `2018-10-04`). Month-only (`2020.05` → `2020-05`) and year-only values keep their reduced precision, and for a date period the first endpoint is kept. The same normalisation applies to the plain `<date>` pubDate fallback.
+
+### Changed
+
+- Dependency updates: `org.apache.opennlp:opennlp-tools` 2.5.8 → 2.5.9, `org.jetbrains.kotlinx:kotlinx-coroutines-core` 1.10.2 → 1.11.0, and Kotlin (`org.jetbrains.kotlin.jvm` plugin and `org.jetbrains.kotlin:kotlin-test`) 2.3.21 → 2.4.0.
+
 ## [v4.0.0] - 2026-06-12
 
 ### Added
diff --git a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
index afab174..bfdd882 100644
--- a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
+++ b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
@@ -61,7 +61,7 @@
 @Command(
     name = "korapxmltool",
     mixinStandardHelpOptions = true,
-    version = ["korapxmltool v4.0.0"],
+    version = ["korapxmltool v4.1.0"],
     usageHelpAutoWidth = false,
     usageHelpWidth = 200,
     description = ["Converts between KorAP-XML ZIP format and formats like CoNLL-U, Krill, word2vec, NOW\n"+
diff --git a/build.gradle b/build.gradle
index 3b3c750..4fe88c8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,4 +5,4 @@
 }
 
 // Zentrale Projektversion für korapxmltool
-version = '4.0.0'
+version = '4.1.0'