)]}'
{
  "log": [
    {
      "commit": "ffad7372df1ad6ffe4e806ae45fb2982e5f43942",
      "tree": "9d9e67c742cf7f5692a8980b9512488cafee7c38",
      "parents": [
        "b155ae276929b458d3cab4cf0a708e09144a8720"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jun 19 20:36:34 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jun 19 20:36:34 2026 +0200"
      },
      "message": "Fix worker-pool crash on tokens with whitespace surface forms\n\nA token whose FORM is whitespace (e.g. a lone space) collapsed the\ntab-separated CoNLL-U line under str.split(), leaving 9 fields instead\nof 10 and raising IndexError on the score column in CoNLLUP_Token. The\nexception was uncaught and killed the whole streaming process, so\nkorapxmltool\u0027s worker pool saw a broken pipe, re-queued the in-flight\ndocuments, and re-crashed on the same poisoned input until every worker\ndied -- observed as running threads dropping off one-by-one after tens\nof thousands of texts.\n\nCoNLLUP_Token now parses on the tab delimiter (preserving whitespace\nFORM columns), falls back to whitespace splitting for space-delimited\ninput, and pads short lines to the 10 CoNLL-U columns. As\ndefense-in-depth, a parse/annotation failure for a single document is\nnow logged and skipped while still echoing its # eot/# eof marker, so\none bad document can no longer take down the run.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I99b96a1ce21e23c1ebb3775afec4c3014d4e9253\n"
    },
    {
      "commit": "b155ae276929b458d3cab4cf0a708e09144a8720",
      "tree": "8b726d76eb5e7b06c747290640df51972817bcbd",
      "parents": [
        "2d421910c2bebe7239c0bd011631ba3a55d62008"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 10 07:32:21 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 10 07:32:21 2026 +0200"
      },
      "message": "Release 3.8.11-2\n\nBump local version 3.8.11-1 -\u003e 3.8.11-2 for the worker-pool streaming\ndeadlock fix. Update the -V version string (docker-entrypoint.sh), the\nexample output in README.md, and promote the CHANGELOG [Unreleased]\nsection to [3.8.11-2].\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I0fd41619760fecb224a7ee4bdeaeb51f9d93ff1f\n"
    },
    {
      "commit": "2d421910c2bebe7239c0bd011631ba3a55d62008",
      "tree": "b8cced9b969285d1db4dc91cbdd6e7ce594132fd",
      "parents": [
        "800d9b7b9cc945dd7d4083bf775be1bbf0cbe49c"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 10 07:25:33 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 10 07:25:33 2026 +0200"
      },
      "message": "Fix worker-pool streaming deadlock on large corpora\n\nAnnotate and flush per document instead of buffering 20000 sentences with\nno flush. parse_spacy_pipe.py now treats korapxmltool\u0027s \u0027# eot\u0027/\u0027# eof\u0027\nlines as document delimiters (rather than swallowing them as CoNLL-U\ncomments), emits the matching marker after each document, and flushes\nstdout. This lets korapxmltool\u0027s AnnotationWorkerPool deliver each result\nand release its bounded in-flight buffer slot.\n\nPreviously nothing was emitted until the process exited at stdin EOF, so\nthe in-flight buffer filled and the producer blocked in\nbufferedTaskPermits.acquire while the parser blocked reading stdin for a\nfull chunk - a deadlock with idle CPU and zero progress that only appeared\non corpora with many small documents (small ones fit inside the buffer).\n\nInputs without protocol markers (a CoNLL-U file piped in directly) are\nstill read in SPACY_CHUNK_SIZE-bounded blocks and now stream their output.\n\nVerified end-to-end with \u0027korapxmltool -P spacy\u0027 on zca24.zip: progress\nstreams 0-\u003e95 to completion, morpho/dependency output is correct, and no\nmarkers leak into the annotations.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I07d18c54e6e3238758b2c4a885ceabd428ec3f82\n"
    },
    {
      "commit": "800d9b7b9cc945dd7d4083bf775be1bbf0cbe49c",
      "tree": "40552e3a01d25b60991b96cf1aedcd95c86d18db",
      "parents": [
        "27fb1dce707ecd1f9775fa12629711c38f0f5def"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 10 07:02:48 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 10 07:02:48 2026 +0200"
      },
      "message": "Pin direct dependency versions for reproducible builds\n\nPin pip, wheel, thinc, spacy and germalemma to the versions present\nin the validated korap/conllu-spacy image (spaCy 3.8.11), so rebuilds\nreproduce the shipped image instead of silently drifting to newer\nreleases.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I3cb9048357838f367b86fb12c3ba8658de16731f\n"
    },
    {
      "commit": "27fb1dce707ecd1f9775fa12629711c38f0f5def",
      "tree": "faedd80c3dd20e7a22084b011239c99e6881b547",
      "parents": [
        "e0ca9d21dc69076a0a858668dde849663306834f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Nov 30 13:27:24 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Nov 30 13:27:24 2025 +0100"
      },
      "message": "Fix release data and author link\n\nChange-Id: Ief46402f1eac7237b20d1d9f5f97da30f9d1bd46\n"
    },
    {
      "commit": "e0ca9d21dc69076a0a858668dde849663306834f",
      "tree": "012cca6e7340e1a5a9a0eb398325d93c34ec5c96",
      "parents": [
        "a137c07d44d1ab28d88b15d24a958f131535ee13"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Nov 30 07:49:28 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Nov 30 13:20:41 2025 +0100"
      },
      "message": "Prepare release\n\nChange-Id: Ie41a3ba57103ca99d00a512c1699077ad5633135\n"
    },
    {
      "commit": "a137c07d44d1ab28d88b15d24a958f131535ee13",
      "tree": "0fe797a388a03d7f824e2fa9cbcc87cef07be473",
      "parents": [
        "9baa27a69f78d35f55b51fd41f84458147213ae3"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 15:37:37 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 15:37:37 2025 +0100"
      },
      "message": "Add -V option to print spaCy version information\n\nChange-Id: I1b196833c2100f1fcf3ce65db17536c1891894c7\n"
    },
    {
      "commit": "9baa27a69f78d35f55b51fd41f84458147213ae3",
      "tree": "70769b1dc8fa1e791a9e8b24cd9d466d1d04a93d",
      "parents": [
        "68a1813d2c4472d9e9372b16e9e10d5be85f2c60"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 15:32:16 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 15:32:16 2025 +0100"
      },
      "message": "Shrink docker size by avoiding chown\n\nChange-Id: I778c3993a37deef1d2eaa3d2b401d796ce8662f7\n"
    },
    {
      "commit": "68a1813d2c4472d9e9372b16e9e10d5be85f2c60",
      "tree": "0a7f765484a6475bb0b3e83521c76f919ee88c92",
      "parents": [
        "624b9c52f01ee7d35460b4597f79ad00a12a17c7"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 11:17:06 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 13:31:41 2025 +0100"
      },
      "message": "Actually list available models with -L\n\nChange-Id: I25c1d38b86dd8f208c749327f80575309b3b0d7d\n"
    },
    {
      "commit": "624b9c52f01ee7d35460b4597f79ad00a12a17c7",
      "tree": "eeda253d5aa791df2567961b1d835b86d176172d",
      "parents": [
        "c75ae7c402d8e7ee65fb5211660d876ef323b35c"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 11:09:08 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 11:09:08 2025 +0100"
      },
      "message": "Announce multi-language support more explicitly\n\nChange-Id: I6ddb3c7465183cbcaaeb73ef5e57a2b645840b59\n"
    },
    {
      "commit": "c75ae7c402d8e7ee65fb5211660d876ef323b35c",
      "tree": "a497853ee75cccf40ef201149c9c1d4c12dab8dd",
      "parents": [
        "8604485f28d54fef4e34fde53f0bd08161901722"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 10:41:26 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 10:59:40 2025 +0100"
      },
      "message": "Do not be root in docker and fix model caching\n\nChange-Id: I3ad60ef259b35579902d68a0f949184d87d0067b\n"
    },
    {
      "commit": "8604485f28d54fef4e34fde53f0bd08161901722",
      "tree": "47796f9dd1e45a9b88a2dc493fa16a1c6b8b273e",
      "parents": [],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 10:19:03 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 10:21:33 2025 +0100"
      },
      "message": "Initial import\n\nChange-Id: I6315233ee1bfbdf7cc985cb336d0df7a10274189\n"
    }
  ]
}
