)]}'
{
  "log": [
    {
      "commit": "8e6c3b44aa3fe26ce227fb2db57a3b1a90f1688b",
      "tree": "29d75e7e69957499e7faa2312d294ce163db8138",
      "parents": [
        "8bc903dcedf4ddb47d9b4bc1eb22678494185be0"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 09 17:13:52 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 09 17:13:52 2026 +0200"
      },
      "message": "Bump version to 0.9.2\n\nChange-Id: I23f254eaa58fdf8f49c54fd1e00452c5bce943dd\n"
    },
    {
      "commit": "8bc903dcedf4ddb47d9b4bc1eb22678494185be0",
      "tree": "1618965be95b0df209a719ab4ab382a445c11057",
      "parents": [
        "11df7859ee1162526c5ba25a1787076b0f972854"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 09 15:59:12 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 09 15:59:12 2026 +0200"
      },
      "message": "Fix the heap overflow that crashed the indexing on MacOS\n\nThe monitor thread\u0027s pthread_t went one past the end of the array,\nwhich has room for the training threads only. glibc hides that in the\nslack of the rounded up chunk, the xzone malloc of MacOS stores the\nnext allocation right behind it and traps on the corrupted heap when\nthe collocation database is closed.\n\nChange-Id: I1443cc3e5880d7741add7dc2fc6366e4478c7978\n"
    },
    {
      "commit": "42cda0b2cd5d70ba2c6644e9965134badf29a015",
      "tree": "aa082cc8129bc1e5aeb82c1bb951f46c2ae8ffd3",
      "parents": [
        "592fc79fbfb7cef97b831b96d54a696229a16927"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 02 14:06:03 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 02 14:06:03 2026 +0200"
      },
      "message": "Close the collocation database when indexing is done\n\nThe collocation database runs without a write ahead log and nothing closed it,\nso everything that was still in a write buffer was lost when dereko2vec ended.\nMeasured with collocatordb: of 2 million increments in a process that just\nexited, none were readable afterwards.\n\nNeeds collocatordb 1.6.0, which added close_collocatordb() for this.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: Id6a7d70050e149aa81d4216b9bdc293c618a3b79\n"
    },
    {
      "commit": "50de14a4ee0d1ca15fee6aaf1e3a8f8a872014d9",
      "tree": "d59698eebe5848b9fd9635ecb01d5354a6786977",
      "parents": [
        "f47b8cb9dc7009090022e4ba7d4831ce60e8b8fc"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 31 14:48:02 2026 +0900"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 31 14:48:02 2026 +0900"
      },
      "message": "Write the memory mappable model form after training\n\nderekovecs memory maps \u003cmodel\u003e.vecs and \u003cmodel\u003e.words next to the model. When\nthey are missing it builds them on its first start, which takes a while and\nneeds write access to the directory the models live in. A server in a\ncontainer usually has that directory mounted read only and then does not start\nat all:\n\n  Converting /models/dereko-2026-i.vecs to memory mappable structures\n  Cannot open /models/dereko-2026-i.vecs.words or .../dereko-2026-i.vecs.vecs\n\ndereko2vec writes both files right after saving the vectors now, and\nvecs2mmap does it for models that were trained earlier.\n\nThe conversion mirrors init_net() of derekovecs including the order of the\nfloating point operations. Verified against the model of the derekovecs test\ndata: the vectors come out byte identical, and derekovecs serves the same\nneighbours and collocators from the generated files, with the model directory\nmounted read only and without converting anything itself.\n\nWords are cut off at 49 characters plus the terminator instead of filling all\n50 bytes, so that every entry is terminated within its own record.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I297e2db98bd425aa388e441aca6d2b0b14f0c66c\n"
    },
    {
      "commit": "ac23b98ffcb7edfdf74fbe0dc5e0eab00dd5ca46",
      "tree": "4a96d8350ddbf2c6a674391064d5d5734ff9f81f",
      "parents": [
        "c4f874e44836bc0da5eed67c36eb77e9b827804b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Aug 05 19:56:00 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Aug 05 19:56:00 2025 +0200"
      },
      "message": "fully fix potential bug with count based collocation window\n\nChange-Id: Ie9e19c3cd2afaf9e48f7ce0dc69decbc1850e84b\n"
    },
    {
      "commit": "c4f874e44836bc0da5eed67c36eb77e9b827804b",
      "tree": "96b4cd1a9085e3d027ac8bb11a3ec9baa42e2f90",
      "parents": [
        "b1032200256cb3e15461548b5deb16b670611a7b"
      ],
      "author": {
        "name": "feldmueller",
        "email": "feldmueller@posteo.de",
        "time": "Tue Aug 05 17:03:37 2025 +0200"
      },
      "committer": {
        "name": "feldmueller",
        "email": "feldmueller@posteo.de",
        "time": "Tue Aug 05 17:03:37 2025 +0200"
      },
      "message": "fix potential bug with count based collocation window\n\nChange-Id: Icb1dbc29c0c287c71f7b295e3b397d6d10bc5a85\n"
    },
    {
      "commit": "e3c7e64ed480c12def993110322ed444ff3f551d",
      "tree": "16a94041ff1f2b689ecd6cdcd97f62dbfbbf3d10",
      "parents": [
        "b86fee04916ba37b5f1e82eda58404b82fe03ee6"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 21 18:51:21 2024 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 21 18:51:21 2024 +0200"
      },
      "message": "Bump version also in source code\n\nChange-Id: I3c60e888216bc8cb0264fe3c7c68a0cc670e43f1\n"
    },
    {
      "commit": "7f1fc3399340b6c017bad9a8a107616ea8ed0705",
      "tree": "2de7b997211de50a4ffb0727e76737353bfd9ba4",
      "parents": [
        "61485ad6c593da9675b0fa4302d478281609ed7e"
      ],
      "author": {
        "name": "„feldmueller“",
        "email": "„feldmueller@posteo.de“",
        "time": "Mon Oct 21 18:05:57 2024 +0200"
      },
      "committer": {
        "name": "„feldmueller“",
        "email": "„feldmueller@posteo.de“",
        "time": "Mon Oct 21 18:05:57 2024 +0200"
      },
      "message": "Fix VocabCompare to prevent integer overflow during vocabulary sorting\n\nChange-Id: I3796e5aef14b3de1200907e135952258a004d049\n"
    },
    {
      "commit": "61485ad6c593da9675b0fa4302d478281609ed7e",
      "tree": "5b42e5acabd6a45a1a1b7bad55dd2151e81f1edd",
      "parents": [
        "f00e7b098d72638601a6d6848375359a3e770c37"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Dec 22 16:16:59 2023 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Dec 22 16:17:31 2023 +0100"
      },
      "message": "Add Debug profile to CMake\n\nChange-Id: Ie544d6f37a62f0a9b226c71ba76d13a18bf5d228\n"
    },
    {
      "commit": "f00e7b098d72638601a6d6848375359a3e770c37",
      "tree": "f3ae5cc22d1f271d483e298c77c36194a7c9e2f6",
      "parents": [
        "f3b1db0a886cbb5a3ab21f1013bea44a9b671835"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Dec 22 11:11:56 2023 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Dec 22 11:13:27 2023 +0100"
      },
      "message": "Fix compile warning with posix_memalign\n\nChange-Id: I2e63c401e530525989a6aaa42115bc2d803ef821\n"
    },
    {
      "commit": "83a67d4583c1ff8a5ad098fc7e14b4f883db6578",
      "tree": "efac90b543165e70d0367a667d08ddf21b262881",
      "parents": [
        "66789b89d32b828298b97b7fc7ca27481403c3a8"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Mar 22 17:29:36 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Mar 22 17:29:36 2021 +0100"
      },
      "message": "Update version and executable name in source\n\nChange-Id: I848caf260d5da8c2f65ae88b7feddfe185e22f08\n"
    },
    {
      "commit": "6afb352dd98bf1b72f34537c925b4f6aabcd900f",
      "tree": "b1ac7c07b8036f5ae14c296ea49915b6960a5d3f",
      "parents": [
        "4c972938524f7884ced84da8a094d3b08b90671f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Mar 22 17:22:55 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Mar 22 17:22:55 2021 +0100"
      },
      "message": "Switch to cmake\n\nChange-Id: I6543259b210b1a87c0b4f627927245407bac3f06\n"
    }
  ]
}
