)]}'
{
  "log": [
    {
      "commit": "0413530655ec966e235cd862daa09bca166e4514",
      "tree": "b01deedb0f2892ef42cf55eaabb17549ba662d34",
      "parents": [
        "0ab973950366ba7853a894e21676b86fd6b53453"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 30 14:40:02 2026 +0900"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 30 14:40:02 2026 +0900"
      },
      "message": "Fix memory leaks in the request path\n\nEvery request leaked the target sum array (cutoff * sizeof(float), i.e. 2 MB\nat the default cutoff of 500000), the thread handle array, the target word\nlist and the collocator results of all window threads. getWordNumber() leaked\na word list on every word lookup, too.\n\nOn top of that every string and array returned from C to perl leaked: for a\nchar* return value Inline::C generates sv_setpv(), which copies the buffer but\nnever frees it, and for an AV* return value it generates newRV(), which leaves\nthe array behind with a reference count of one. All functions returning data\nto perl therefore return an SV* now and release their buffers.\n\ngetClassicCollocators() and getCollocationScores() leaked twice, because\nlibcollocatordb hands out strdup()ed strings that were strdup()ed again.\n\nAlso fixes crashes in the same code paths:\n- get_neighbours() divided by zero when called with nosp\u003d1\n- getPosWiseW2VCollocators() wrote before the start of its result buffer for\n  empty results, called malloc(0) for models without a syn layer and\n  dereferenced a NULL collocator result for multi word input starting with an\n  out of dictionary word\n- getBiggestMergedDifferences() sized its buffer for 50 bytes per record,\n  which is not enough for long words\n- getSimilarProfiles() wrote to buffer[-1] for empty profiles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: Iff4215745f26156408a056de6d867753993082c2\n"
    },
    {
      "commit": "0ab973950366ba7853a894e21676b86fd6b53453",
      "tree": "a4db99b5517139b60aa57cdab20754690f814cd7",
      "parents": [
        "57cc90271fcfcb0a7938dc5379e524aca71c359f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 10 16:16:32 2024 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 10 16:18:46 2024 +0100"
      },
      "message": "Add getPosWiseW2VCollocators -\u003e json to API\n\nResolves #8\n\nChange-Id: Id1eca2896fadc59bebb2786e45fd8a6b3efdca6c\n"
    },
    {
      "commit": "e288d8e5bb61cf6d223a90761d05baf4f73acc0c",
      "tree": "21920fb9a7d763a1524b9d01bca6caff61a371dc",
      "parents": [
        "46b352816a6db0c6d521c350b63e9ebd3a664c1e"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Nov 15 16:18:50 2024 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Nov 15 16:18:50 2024 +0100"
      },
      "message": "add some C includes\n\nChange-Id: I692d26e909240538685c10c1b347270db7359174\n"
    },
    {
      "commit": "41d61c0bc831d007d420fad15ca72bd0d36e3939",
      "tree": "444033fba4b990399f75701a67cc0572a15f82fa",
      "parents": [
        "bdd779ad9348daef91be2eaaf1eb5af7b97a42ea"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 05 22:11:30 2024 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 05 22:11:30 2024 +0200"
      },
      "message": "Fix build on MacOS\n\nChange-Id: I5fa3c9675aab518f3b4c691c83b7d9defe8228ac\n"
    },
    {
      "commit": "bdd779ad9348daef91be2eaaf1eb5af7b97a42ea",
      "tree": "6e3801fbd16b871517563e832d91538dec16024c",
      "parents": [
        "06578a1c822abcb8dbae9df9267fe1725fd4c795"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 05 10:02:29 2024 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 05 10:03:00 2024 +0200"
      },
      "message": "Fix build with gcc 14.1\n\nChange-Id: I29278eb7743458c8f6266f96bc0ba6cdf3dd8d6a\n"
    },
    {
      "commit": "043db1500f3e2677770e2701cb96cd996482062d",
      "tree": "725b1e98f5d845c50c7b9f7d69a6e72502186037",
      "parents": [
        "b36bc7439838d1a0102e85d117b066b9583094eb"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Nov 05 17:47:53 2023 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Nov 05 17:47:53 2023 +0100"
      },
      "message": "Add getVocabSize\n\nChange-Id: I642b39b1186752387da2b555b6e6cb20a0952be5\n"
    },
    {
      "commit": "bf9bac048b1cd4ce56945b4c00a5065e270f9190",
      "tree": "e7f3dba31d93120f23be6d69ea00d292eb9cffb7",
      "parents": [
        "09a493bb2ae6c7395b531641e2b8f64868647f26"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Apr 11 21:16:47 2022 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Apr 11 23:23:51 2022 +0200"
      },
      "message": "Make project a Perl package\n\nChange-Id: I9cf3c99a1b849d939ace9c9a3b265267e45ab21c\n"
    },
    {
      "commit": "f6080016cb2223f7cb0bea5908bed237340db7ab",
      "tree": "3c44037ba96425a69a4dac97a50b48734788928a",
      "parents": [
        "59865a9b51de395170d9c52204142d3fff2dc8d6"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Mar 12 09:14:42 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Mar 12 09:14:42 2021 +0100"
      },
      "message": "Provide API to get association scores for specific node collocate pairs\n\nexample:\n\n$GET \u0027http://localhost:5673/getCollocationAssociation?w\u003dtriftigen\u0026c\u003dGrund\u0027\n { \"f1\": 29164,\"w1\":\"triftigen\", \"N\": 53225832863, \"collocates\": [{\"word\":\"Grund\",\"f2\":9868871,\"f\":5425,\"npmi\":0.286138,\"pmi\":7.3855,\"llr\":44929.5,\"lfmd\":32.1963,\"md\":19.7909,\"dice\":0.00108026,\"ld\":4.1456,\"lncount\":0,\"rncount\":5377,\"lnpmi\":-1,\"rnpmi\":9.95764,\"af\":4.16006,\"win\":286,\"afwin\":24}]}\n"
    },
    {
      "commit": "59865a9b51de395170d9c52204142d3fff2dc8d6",
      "tree": "a5d19bb3735fc20b350c36c79a63c66742c97cd3",
      "parents": [
        "58ad586e957c4bc33aa1b4b0d17327899db0cb42"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Mar 11 17:16:51 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Mar 11 17:18:35 2021 +0100"
      },
      "message": "Fix some compiler warnings\n"
    },
    {
      "commit": "20476c79273fd590c9eb3025a7e776380cdf9927",
      "tree": "b437cffea8196474faa6f1ed0a627f34d3334aad",
      "parents": [
        "61f22bfc942a02f41fb1bd2accb4e4ddfbe80df0"
      ],
      "author": {
        "name": "Marc K",
        "email": "morckx@gmail.com",
        "time": "Thu Mar 11 12:18:01 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Mar 11 17:18:28 2021 +0100"
      },
      "message": "Rename w2v -\u003e derekovecs\n"
    },
    {
      "commit": "c0d4187d19a615d4ee9933ac3f119d2a9c38b096",
      "tree": "374d15dae7d8afbb68223141789c49c14b30771b",
      "parents": [
        "e900375211a03ed6ec42823015923db52ee8d393"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Feb 25 16:33:22 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Feb 25 16:36:00 2021 +0100"
      },
      "message": "w2v-server: simplify configuration via MOJO_CONFIG\n"
    },
    {
      "commit": "0efe49bc1ecfe5534c78dfa7a69623333aea0add",
      "tree": "4cb9f552ece25c69b74b5b5e42c93f50d3b47461",
      "parents": [
        "9f301579bbd30cb54f41abd3b2c15ef3fb5f0fb9"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Apr 06 18:30:22 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Apr 06 18:30:22 2020 +0200"
      },
      "message": "w2v-server: add getOutputWeight function to C library\n"
    },
    {
      "commit": "cb43e49cac12f2afd50855483ee4346392975fad",
      "tree": "487f09898234ccf2ea8738006a24d9514dda5cd8",
      "parents": [
        "969cab9c3172a771fdbed7b8e6af26e04a14b453"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 03 10:07:53 2019 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 03 10:07:53 2019 +0100"
      },
      "message": "derecovecs: allow word string and index number in API calls\n"
    },
    {
      "commit": "969cab9c3172a771fdbed7b8e6af26e04a14b453",
      "tree": "054e4dfef638ddc63d25cdb036e6e21780309c4a",
      "parents": [
        "f11d20c548381398019575ce81a2fd3229699de5"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 05 11:13:42 2019 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 05 11:13:42 2019 +0200"
      },
      "message": "w2v-server.c: format code\n"
    },
    {
      "commit": "f11d20c548381398019575ce81a2fd3229699de5",
      "tree": "34de63028c7d7c80278cefd257f6892bc82d606b",
      "parents": [
        "78230879b687af0f0a11adc420924a6510215b17"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Aug 02 15:42:04 2019 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Aug 02 17:16:51 2019 +0200"
      },
      "message": "w2v-server: split off C part into separate file\n"
    }
  ]
}
