)]}'
{
  "log": [
    {
      "commit": "f2e89bf9495516532faddec23fdea0379332952c",
      "tree": "fbfa75fdeb70512c77292713fe4fbf3ea2c918ec",
      "parents": [
        "437d7af6a7bc88d79e8edd6e584a729bac947d5d"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Sep 09 15:41:35 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Sep 09 15:41:35 2026 +0200"
      },
      "message": "Say what the imputed flag is about, and how labels become column names\n\nTwo things a reader of a multi-VC comparison stumbled over, both matters\nof documentation rather than of behaviour.\n\n`imputed` describes the node/collocate pair across all labels, not the\nrow it stands in, so a row whose own scores are perfectly attested still\ncarries `imputed \u003d TRUE` when the pair is missing from some other virtual\ncorpus. That is what makes `filter(!imputed)` drop the pair as a whole,\nand it reads as a mistake until said out loud. In a two-corpus analysis\nof \"Reform\" every single flagged row was of that kind. `imputed_\u003clabel\u003e`\nis the one that speaks about the row.\n\nAnd the label in `\u003cmeasure\u003e_\u003clabel\u003e` goes through make.names(), so a\ncorpus called 1976-1980 turns up as logDice_X1976.1980, while the `label`\ncolumn and the winner/loser columns keep the name as given. Mapping\nbetween them means applying the same transformation, which the\ndocumentation now shows.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I9b3814107767cebf5c0f6656e71a59b5633c7eb9\n"
    },
    {
      "commit": "7cf697fced41a741884d68d3635e7673e594db91",
      "tree": "581403242462af815fc44f1b2cb2cc3fe21ebc23",
      "parents": [
        "cff7522c7bee65defbc3f44efe5d7cd5d90548fc"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Sep 05 10:47:53 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Sep 09 11:17:32 2026 +0200"
      },
      "message": "Parse KWIC snippets of any shape in collocation analysis\n\nAffects only servers that do not deliver tokenized matches, where the\nanalysis falls back to parsing KWIC markup. Against a current KorAP\nmatches2FreqTable() is used instead.\n\nThe reported crash comes from findExample(), not from the regular\nexpression: after a failed request collectedMatches has no snippet\ncolumn, so the example was character(0) and assigning it aborted.\n\nThe expression was wrong as well, in three ways: it required the match\nto be followed directly by the closing span, which a \u003cspan\nclass\u003d\"cutted\"\u003e breaks, it required a non-empty left context, and it did\nnot expect a \u003cspan class\u003d\"more\"\u003e in the right context. Counts stayed\ncorrect - a guard skipped those snippets - but about 15 in every 100\nhits of the query from the report were dropped silently. The two context\nspans are now read one by one and stripped of whatever markup they\ncontain.\n\nAlso fixes both frequency table functions for their own default of an\nempty stopword list, which used to leave the table without the column\nthe stopwords are joined on.\n\nResolves #14\n\nChange-Id: I1cec847480ddb44fbf688042661019b9c5702a24\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "c902c23dda52cf9b15e3c9bd37ed752e23af6989",
      "tree": "7873da65ecf85ce1c165a6192b7f78b18853423d",
      "parents": [
        "245813a01a48cefcaf18a10d4f9fe516d21dd73b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 08 07:58:01 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 08 16:02:26 2026 +0200"
      },
      "message": "Refuse cacheAs files written before the scores were corrected\n\nA cacheAs file holds a finished analysis, association scores included,\nand 1.4.0 computes those differently. A file written by 1.3.0 would\ntherefore be handed back with numbers that would not be arrived at again,\nand the comparison of parameters added during this cycle cannot notice\nit: the parameters did not change, the formula did. The version that\nwrote a file is now recorded in it, and one from before 1.4.0 is\nrecomputed and overwritten, with a warning saying why.\n\nThe machinery moves to a file of its own on the way, since it is no\nlonger about collocation analysis alone, and verbose drops out of what a\nfile records: how loud a query is does not change what it returns.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I8af9eac21ae53fe5d583578c3689b37d140a4af4\n"
    },
    {
      "commit": "1d400f6a1c37ae095eb9ed3613236c766f191c93",
      "tree": "4c104f08038e061e3ff876691b6ca536be6d50b2",
      "parents": [
        "b6416be4b6192a6f498acca1e4fc3b05127c7dd6"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Sep 03 14:46:16 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Sep 03 14:46:16 2026 +0200"
      },
      "message": "CA: drop collocates occurring less often than expected by default\n\ncollocationAnalysis() ranks and thresholds by logDice, which expresses\nhow salient a pair is rather than how surprising it is. A frequent word\ncan therefore appear among the top collocates although the node does not\nattract it at all: among the collocates of Grund in a 5+5 window,\n\"Berlin\" reaches a logDice of 3.84, close to \"triftiger\" at 3.96, while\nco-occurring 1.74 bits less often than expected.\n\nFiltering these out was documented as a recipe, dplyr::filter(O \u003e E),\nbut a default that quietly rewards frequent, unattracted collocates is a\ntrap for exactly those users who do not know the measure well enough to\napply the recipe. The new minObservedExpectedRatio parameter therefore\ndefaults to 1, keeping only collocates that occur at least as often as\nexpected, which corresponds to a non-negative pmi. It can be raised to\ndemand a stronger contrast, or set to 0 for the unfiltered result of\nearlier versions, e.g. in order to study repulsion.\n\nThe filter is applied wherever minOccur is, so it also governs which\ncollocates are recursed into, and it is passed on to the per virtual\ncorpus analyses. Rows without an expected frequency are kept rather than\nsilently dropped. collocationScoreQuery() is deliberately left alone:\nthere the pairs to score are given explicitly, so filtering them would\nthrow away the answer that was asked for.\n\nBeing collected from the call frame rather than from a list, the cacheAs\nparameter check picked the new parameter up by itself, so a cache file\nwritten with a different ratio is recomputed.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I98328a8766847b4c95363211a939403b1912e9b7\n"
    },
    {
      "commit": "b6416be4b6192a6f498acca1e4fc3b05127c7dd6",
      "tree": "38ea04c1560562af4a4a75ad8754dd9ecd36dcf6",
      "parents": [
        "bccdf70f626be8d0efb3b63701caf2e789fe8dbf"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Sep 03 14:37:37 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Sep 03 14:37:37 2026 +0200"
      },
      "message": "Document that logDice measures salience, not surprise\n\nA collocate that co-occurs less often than expected can still reach a\nlogDice close to that of a strongly attracted one, which is puzzling\nuntil one sees that logDice never compares against an expected\nfrequency. Since it only puts O into the numerator of the Dice\ncoefficient, the difference between the score of a pair and the score it\nwould get if it co-occurred exactly as often as expected is precisely\nthe pointwise mutual information:\n\n  logDice(O) - logDice(E) \u003d log2(O / E) \u003d pmi\n\nThe level a pair starts from thus depends on the marginal frequencies\nalone. Among the collocates of Grund in a 5+5 window, the rare\n\"triftiger\" starts at -4.60 and reaches 3.96, exceeding what is expected\nby a pmi of 8.57, while the frequent \"Berlin\" starts at 5.58 and still\nreaches 3.84 while co-occurring 1.74 bits less often than expected.\n\nThis is a property of the measure rather than a defect: logDice was\ndesigned to be corpus size independent and comparable across corpora,\nnot to express surprise. But since collocationAnalysis() ranks and\nthresholds by it, users should know to drop pairs that are not attested\nmore often than expected, with dplyr::filter(O \u003e E) or a minimum pmi or\nll. This is now explained in a section of the association score\ndocumentation, referred to from the thresholdScore parameter where the\ndefault takes effect, and summarized in the Readme.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I9059cd064e2a612d9327cc009da0b4856612e41d\n"
    },
    {
      "commit": "37f96075e1fdcab348c358be3ce2820eb5ac0a50",
      "tree": "d46205219fa10a6373ca793dbdbefbc8ccf96fc1",
      "parents": [
        "ef5b7c1b03f9e83b0d6ef9a4f10d56d4e1a44c5d"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Sep 03 07:18:11 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Sep 03 07:18:11 2026 +0200"
      },
      "message": "CA: check the parameters a cacheAs file was created with\n\nUntil now, a cacheAs file was used whenever it existed. Changing a\nparameter and forgetting to delete the file therefore silently returned\nan analysis computed with the old parameters. Inferring the parameters\nfrom the cached data frame would not help much: of the 23 parameters\nthat affect the result, only node, vc, leftContextSize and\nrightContextSize are recoverable from it, which leaves out exactly the\nones that are typically tuned between runs, such as minOccur,\ntopCollocatesLimit, searchHitsSampleLimit, exactFrequencies, stopwords\nand threshold.\n\nThe parameters are therefore recorded when the file is written, and\ncompared on the next call. They are collected from the call frame rather\nthan listed explicitly, so that parameters added later are covered\nwithout having to remember to register them. Also recorded is the API\nURL, since reusing one cache file for two KorAP instances is a mistake\nworth catching, and, for reference only, the index revision: corpus\nupdates should not invalidate an analysis that was deliberately kept.\n\nIf parameters differ, the analysis is recomputed and the file\noverwritten, with a warning naming the differing parameters. That is\npreferred over an error: it never returns results that disagree with the\nrequested parameters, and never breaks a long pipeline. Users who want\nto keep an old analysis can pass a different cacheAs file name.\n\nThe parameters are stored in an attribute, so the file stays a plain\ndata frame for anyone reading it with readRDS(), and the attribute is\nstripped when loading, so the returned value is the same whether it came\nfrom the cache or not. Cache files written by 1.3.0 carry no attribute\nand are used as they are.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: Ib21aa93fa3c2bf1cd42dd07dbfcbd2970841a412\n"
    },
    {
      "commit": "7b7a73b665502e82133329d873d1d9800884a0f6",
      "tree": "100bf8e6c281f489376fd4bf2f0d489441101e56",
      "parents": [
        "bceeb05254bec96f54236e92c7da40a65a09927e"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:31:27 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:31:27 2026 +0200"
      },
      "message": "CA: warn when duplicate rows are dropped from multi-VC comparisons\n\nThe pivots in add_multi_vc_comparisons() use values_fn \u003d dplyr::first, so\nrepeated node/collocate/label rows -- as produced when the same collocate is\nfound at several context positions -- were silently reduced to their first\noccurrence. Warn instead, naming mergeDuplicateCollocates() as the way to\ncombine those rows before comparing.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I832ea9a2bc0d28256bba5a37e8b94721809f3a68\n"
    },
    {
      "commit": "ba15cffd49405e1ecf9b56ea6832a670f372b3a3",
      "tree": "c74eeaa69334bff5b8011599750ed172596d6ef4",
      "parents": [
        "424cb78ed98fa885704bba4cdddf52e7d6f7962c"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:19:56 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:19:56 2026 +0200"
      },
      "message": "CA: mark multi-VC comparison columns as experimental\n\nThe comparison column layout is still settling. Badge the section\nexperimental and say plainly that names and semantics may change without a\ndeprecation cycle, so that shipping it does not lock the current column\nnames in place.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I75c0042607cc9ae61ce9b1a904982509276e00eb\n"
    },
    {
      "commit": "424cb78ed98fa885704bba4cdddf52e7d6f7962c",
      "tree": "abaaa79316bdbd2e1a20fdfe966f02349f13902f",
      "parents": [
        "9525334f18cff3af96782cdf92c3f8dc0b84d2ad"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:19:29 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:19:29 2026 +0200"
      },
      "message": "CA: report imputation in multi-VC comparisons when verbose\n\nImputation was silent, so a result whose top max_delta rows are entirely\npresence/absence artifacts looked no different from one built on observed\nscores throughout. Pass the connection\u0027s verbosity into\nadd_multi_vc_comparisons() and report how many node/collocate combinations\nand label cells were imputed, pointing at the `imputed` column and\nqueryMissingScores.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I5159483452595f38d09f06411b64a7327814977f\n"
    },
    {
      "commit": "9525334f18cff3af96782cdf92c3f8dc0b84d2ad",
      "tree": "d4c5a45efa5e0bdabfb3d5b48d93c2e12a6ffe4c",
      "parents": [
        "d7bb5cb7154a01e7493369ccb929aa2a3f237748"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:18:43 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:18:43 2026 +0200"
      },
      "message": "CA: document how to read multi-VC comparison columns\n\nAdd a \"Interpreting multi-VC comparisons\" section spelling out the three\nproperties that are easy to misread: deltas involving imputed cells describe\npresence/absence rather than contrast, imputed values are relative to the\nresult set they were computed from and so are not comparable across calls,\nand winner/loser columns order point estimates without any notion of\nuncertainty (unlike ci()). Also note that ranks and percentile ranks are\ncomputed within each label over candidate sets of differing size.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I4744d4d9742c7a46dcdb5b4bca9138190f6b73d2\n"
    },
    {
      "commit": "d7bb5cb7154a01e7493369ccb929aa2a3f237748",
      "tree": "9736188bd65f1107c2223bccc02da677f2bbc516",
      "parents": [
        "3b091c002f69701cfa4b40434dc3a9408d155493"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:18:02 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 31 10:18:02 2026 +0200"
      },
      "message": "CA: flag imputed cells in multi-VC comparisons\n\nWhen a collocate is attested in one virtual corpus but not in another,\nadd_multi_vc_comparisons() imputes the missing scores from a pooled floor.\nThe resulting delta/winner/loser columns then describe presence vs. absence\nrather than a measured contrast, and nothing in the output said so.\n\nRecord the missingness pattern before imputation and expose it as\n`imputed_\u003clabel\u003e` (per label), `n_imputed` (count) and `imputed` (any), so\nthat `filter(!imputed)` keeps only collocates attested in every compared\nvirtual corpus.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I25fb0196f1b75519c126130fc19bc62d40675e17\n"
    },
    {
      "commit": "9c53e4171317c646bacdfe8d73b1ab128635700a",
      "tree": "90b09d08c51d63a81248703053fe3c313459c24b",
      "parents": [
        "9db18916673b89e148edd7090480ece1a304c0fa"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Jun 21 12:13:44 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Jun 21 12:15:17 2026 +0200"
      },
      "message": "Make collocationScoreQuery() accept a vector of collocates\n\nChange-Id: I719c7577393f352fcfebe740a13fbf0daf790d3c\n"
    },
    {
      "commit": "09b1c086fba9f2b0dc7b41caec65b7c2c3010403",
      "tree": "e2a4a13c01e092a7a24dfded5da35b09992f754e",
      "parents": [
        "325a3ab7a5889d700bf002714ae27c28c6339147"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri May 01 14:45:47 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri May 01 15:48:45 2026 +0200"
      },
      "message": "Add winner and loser URLs to multi-VC collocation comparisons\n\nChange-Id: Ia3bea5f400713c6b513e1cc1033c9c5c869d957f\n"
    },
    {
      "commit": "db2fabd236f9a6cd9f8e5c835939e4fb9dc1275f",
      "tree": "00851274b27bbd69a55e33dcbf456b76940053b2",
      "parents": [
        "9ab905857faf08727edad6940ce27fca663f46ad"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Apr 27 15:01:37 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri May 01 13:34:36 2026 +0200"
      },
      "message": "feat(collocationAnalysis): add cacheAs parameter for result caching\n\nAdd a `cacheAs` parameter that accepts a file path (with automatic\n`.rds` extension if omitted). If the file exists, the cached result\nis returned immediately without contacting the server. Otherwise the\nanalysis runs normally and the result is saved to the file.\n\nCo-authored-by: Copilot \u003ccopilot@github.com\u003e\nChange-Id: I60f73a5a824e637d572a7b21b6ea80868a31b4d4\n"
    },
    {
      "commit": "2b0b0a18a6539813e9ff807c31c72171539fe0bf",
      "tree": "01f09118f6165ad7579edb9f88a01c391d93ad97",
      "parents": [
        "0a29263ffc80e12affaa0de9ef87b5af37d66d0b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 14:49:14 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 15:02:21 2025 +0200"
      },
      "message": "CA: fix score threshold in recursive CA\n\nChange-Id: I439a29559fab741bbb80c23591d1c64e99d1b0b6\n"
    },
    {
      "commit": "0a29263ffc80e12affaa0de9ef87b5af37d66d0b",
      "tree": "7aafb8e96897645d9789ceafb65f1a46f8a7a13f",
      "parents": [
        "c79155bca7cd0732c0bcb2557c288626f0ca4539"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 14:04:36 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 15:02:21 2025 +0200"
      },
      "message": "CA: Inject focus into to result webUIRequestUrls\n\nif appropriate to improve the immediate visibility of the actual\ncollocations.\n\nChange-Id: I728e61701bf4fc620b40077da54a11506e6e941c\n"
    },
    {
      "commit": "c79155bca7cd0732c0bcb2557c288626f0ca4539",
      "tree": "3383d26d0a0b07b543a64076862a697f76abb84c",
      "parents": [
        "de679ea56c5092bd984d091afb62c2c630f473b5"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 13:42:55 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 15:02:21 2025 +0200"
      },
      "message": "Ignore first letter case in stopwords\n\nChange-Id: Ibe0301e89c2602bd59b4a6d91de3437e413e9c3f\n"
    },
    {
      "commit": "de679ea56c5092bd984d091afb62c2c630f473b5",
      "tree": "b50df090b7365662e2e246851a845835d6c190f8",
      "parents": [
        "4cbb547fd9e924a2c566f166924590189e75f7ed"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 13:14:51 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 15:02:21 2025 +0200"
      },
      "message": "CA: add queryMissingScores parameter\n\nIf TRUE, attempt to retrieve corpus-based association scores for\nvc/collocate combinations that would otherwise be imputed, by\nre-querying the KorAP backend without applying the collocate frequency\nthreshold.\n\nChange-Id: I7d2707e16d6efab3515e4cebef4985e8b780a116\n"
    },
    {
      "commit": "4cbb547fd9e924a2c566f166924590189e75f7ed",
      "tree": "e563439ab3c6b979e1e5b571bc30e45bedd0319a",
      "parents": [
        "91f35179c7604d541f3a9907eeb553b9f37043b5"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 12:15:25 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 15:02:21 2025 +0200"
      },
      "message": "CA: add some more info on how missing values are imputed\n\nChange-Id: I0268e5ad26d91300e425588c9f07eb32d45171d1\n"
    },
    {
      "commit": "77852b2af68bdb578421aea4efb97ef2fa51320d",
      "tree": "63a2852821497543071202e6e4a65431b0809934",
      "parents": [
        "130a2a29eb3b593878dc2ac410e8a2b716d64e01"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 11:35:34 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 15:02:21 2025 +0200"
      },
      "message": "Remove redundant thresholdScore parameter from add_multi_vc_comparisons function\n\nChange-Id: I3a0077497f52d94e0b63d90bca0812c7e3d0c9d6\n"
    },
    {
      "commit": "130a2a29eb3b593878dc2ac410e8a2b716d64e01",
      "tree": "3a50e5d226336ac30a7011ceec44a0e74e543919",
      "parents": [
        "9894a37ab8a660bca79e94c5480da5428e357e4f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Oct 18 16:09:23 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 15:02:21 2025 +0200"
      },
      "message": "CA: add percentile ranks and documentation\n\nChange-Id: I3a0c6aab970db5f4685b03164b20e0489e03799f\n"
    },
    {
      "commit": "9894a37ab8a660bca79e94c5480da5428e357e4f",
      "tree": "6ce7350d737c086589cbf2c37d97645896180cec",
      "parents": [
        "28a29845b877fb28ee76196b67f585fd89344877"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Oct 18 14:51:29 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Oct 19 15:01:19 2025 +0200"
      },
      "message": "CA: replace NA dampening factor with missingScoreQuantile\n\nBetter use distributional priors instead of raw minima.\n\nChange-Id: I85d77a63c1bc06c8f6398ddac75deec52f1ca96a\n"
    },
    {
      "commit": "28a29845b877fb28ee76196b67f585fd89344877",
      "tree": "3e0b032275070a5fe2cfccc40a6ee04da49fa0f2",
      "parents": [
        "b2862d4cd478b6ec38f89cb38472dd4b416b3224"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Oct 18 12:25:09 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Oct 18 14:07:27 2025 +0200"
      },
      "message": "CA: add measure based ranks\n\nChange-Id: I84dacfe9f61e9b65268b241bc8adf82c4cc4adc3\n"
    },
    {
      "commit": "b2862d4cd478b6ec38f89cb38472dd4b416b3224",
      "tree": "b89753066c8baaa626421fc1097a19a9e60374b9",
      "parents": [
        "5e35d7a5e7713a91fe8672cf9d30402298a20a72"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Oct 18 10:17:49 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Oct 18 10:17:49 2025 +0200"
      },
      "message": "CA: introduce max_delta_\u003cscore\u003e\n\nChange-Id: I4c3ccf374017c46051bec11cf2a836df511ea586\n"
    },
    {
      "commit": "5e35d7a5e7713a91fe8672cf9d30402298a20a72",
      "tree": "c7a905d394c324cc5f7a61c4206e6e0b5ac6e319",
      "parents": [
        "e34a8be915170d1cc1bc61b63369d3e562ab3694"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Oct 17 21:21:22 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Oct 18 09:39:38 2025 +0200"
      },
      "message": "CA: add winner columns\n\nChange-Id: Ia6ec4821d08352f2044e8a7101880d75419d995d\n"
    },
    {
      "commit": "e34a8be915170d1cc1bc61b63369d3e562ab3694",
      "tree": "f17d8a4185aba582c01b0f0b58c9e857707b3e4e",
      "parents": [
        "e31322eb3446a24a30fb091b92ffe8ffd0c06d09"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Oct 17 20:13:42 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Oct 17 20:51:30 2025 +0200"
      },
      "message": "CA: support named vc list and vcLabel parameter to specify labels\n\nChange-Id: I983e589e9231f678141e8798effcfcc652ca63f5\n"
    },
    {
      "commit": "e31322eb3446a24a30fb091b92ffe8ffd0c06d09",
      "tree": "6f4b68ece27f7aebdeeb937deddf917ffc6acd8e",
      "parents": [
        "c4540a2d80f127afc94ec61c3a336fa7f79cb35e"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Oct 17 18:55:36 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Oct 17 18:55:36 2025 +0200"
      },
      "message": "Fix label issue in multi-vc CA\n\nChange-Id: I9df9c648851cd65812aec509a4ed9abe5c1691ba\n"
    },
    {
      "commit": "c4540a2d80f127afc94ec61c3a336fa7f79cb35e",
      "tree": "11308627deb705b1b68a098f4527dabbe73c93bb",
      "parents": [
        "a25fbd999afde4045580182feeca23ad719c1378"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Oct 14 17:39:53 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Oct 14 17:39:53 2025 +0200"
      },
      "message": "Add delta columns for CA with multiple VCs\n\nChange-Id: Ie7d7bbfec226277f07e0f089e8ed6e847ca048f2\n"
    },
    {
      "commit": "a25fbd999afde4045580182feeca23ad719c1378",
      "tree": "b8d933890c957563b387996c8368f71530d985aa",
      "parents": [
        "4a2fee0fc96d8913cb02026b37cc671f526a2f6d"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Oct 14 17:38:09 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Oct 14 17:38:09 2025 +0200"
      },
      "message": "Get rid of empty sequence warning in CA\n\nChange-Id: I39d239f1a49871e975b9f60db434c68703cd84fd\n"
    },
    {
      "commit": "4a2fee0fc96d8913cb02026b37cc671f526a2f6d",
      "tree": "f39f1275c6dd331632569ce6b6310d9bfeb83cd9",
      "parents": [
        "d9aa0637236840fc6220b5a47c2a643172ba435c"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 13 13:27:09 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 13 13:27:09 2025 +0200"
      },
      "message": "Add labels in collocationAnalysis when called with vectors\n\nChange-Id: I78f4e6a1eeb59302416d38d160b29267666d50b1\n"
    },
    {
      "commit": "a8c40f4b619f055cf5862f320612f0994434f6ef",
      "tree": "d4dbbb452adfd5e94b5635d22d64bda3620b1da8",
      "parents": [
        "ecc8670b4a21250cc53e21b87c7885783471c6bc"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jun 24 15:49:52 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jun 24 15:49:52 2025 +0200"
      },
      "message": "Make documentation less class centric\n\nand more beginner user friendly\n\nChange-Id: Icaca61c3d6f71bc8bd76c0507499b662df39be7a\n"
    },
    {
      "commit": "e9e18bd9d801298b94773367f1f199fb237be325",
      "tree": "67a7f33d690546975802a5418fbe3438c0646cdb",
      "parents": [
        "319e74659c66d809cf6081c549a8290b6562c8f4"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 04 17:15:02 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 04 17:15:02 2025 +0200"
      },
      "message": "Fix minOccur filter with base pipe in collocation analysis\n\nChange-Id: I6a74525de4fa08e0770966e3a8dba1a6de263b21\n"
    },
    {
      "commit": "6dfeed9bd68d0b36be2c47718c1b29a17c8c2d1a",
      "tree": "ede04b9396f6b33babf58668d041c96b81957b22",
      "parents": [
        "71c30d80c6334c8c7a4b772485ca281e4664a5f3"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jun 03 11:58:06 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jun 03 11:58:06 2025 +0200"
      },
      "message": "Factor out ETA logging\n\nChange-Id: Ic8b1600395018aa79701e29a38c4ec22d598337a\n"
    },
    {
      "commit": "dad343d2cdb9fd63bf5ee24e423728849b7988d4",
      "tree": "027312a4d898f34f22dee870f0e771633344e089",
      "parents": [
        "5057f50fb67cdca38c23a04e7fc91f6e0ce2d637"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Apr 06 18:22:45 2025 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Apr 06 18:22:45 2025 +0200"
      },
      "message": "Fix no visible binding ...\n\nChange-Id: Iee3007045391d91f3240caed2e141d5922cc159f\n"
    },
    {
      "commit": "f5a3701756846fb01b1c9627515cd3636ca20bec",
      "tree": "18f8de668d71eaf6783d9c9fc0c74560e79b6dc5",
      "parents": [
        "4cd066d7370f3e708169e8229d96258823e4202d"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Feb 28 15:48:23 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Apr 06 17:58:49 2025 +0200"
      },
      "message": "💄 Start switching to base R pipe\n\nChange-Id: I9a7cadb089e150deb1e58f33b8944ea789cd612f\n"
    },
    {
      "commit": "4cd066d7370f3e708169e8229d96258823e4202d",
      "tree": "6d4cd1e56d011f4850b73006458ab04927464518",
      "parents": [
        "617266df8d100c6d6d79701291c4565e7e8ef333"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Feb 28 15:48:23 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Mar 01 15:31:29 2025 +0100"
      },
      "message": "💄 Start switching to base R pipe\n\nChange-Id: I9a7cadb089e150deb1e58f33b8944ea789cd612f\n"
    },
    {
      "commit": "617266df8d100c6d6d79701291c4565e7e8ef333",
      "tree": "3c91f968c7ca163f924635d4dafb3969e82ca17f",
      "parents": [
        "d5823b00016fd04e6d5f64d850c532f51b3e5c0b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Feb 27 10:43:07 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Feb 27 11:45:23 2025 +0100"
      },
      "message": "♻️💄 simplify KorAPConnection class instantiations to modern syntax\n\nUpdate all class instantiations from `new(\"KorAPConnection\")` to `KorAPConnection()`.\nThis is possible with R \u003e\u003d 4.0.\n\nChange-Id: I01131fb32045e084cafbb9e05cd8ba99f8f20f1b\n"
    },
    {
      "commit": "e7f0d689918f4ef2c35b8ed228ffcbd107467d31",
      "tree": "5b793e6b1da7269121b6222207aa4ae4fd87a69e",
      "parents": [
        "dbdbb1fb9d0e93412521b8d64db496ae530483c3"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Feb 19 10:50:59 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Feb 19 10:50:59 2025 +0100"
      },
      "message": "Update tokenization note in collocationAnalysis function\n\nChange-Id: If375acab2e022eb9e4e54b784154bb6b4195217b\n"
    },
    {
      "commit": "f83d59a98311bdf3f976d6b0223bcf0b8dadc779",
      "tree": "a528deddc74fd2f8620d852b980e12a5be4e0baa",
      "parents": [
        "37e07e8cc83ca2d6cd0ae0449a026b19a66f5f4f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Feb 01 14:48:30 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Feb 02 11:18:20 2025 +0100"
      },
      "message": "Let httr2 take care of token refreshing\n\nChange-Id: I68f35fa8debb9603e937c4a12328560ac31f61a1\n"
    },
    {
      "commit": "8a6df6033e72ccc97a0e462dcb8f50fb939e14b5",
      "tree": "0cb024fceaba28a08a25fdd705caeb377478e694",
      "parents": [
        "d23cb4e044b24668f31304334c6f267971bd8ec3"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Jan 25 16:21:42 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Jan 26 22:38:40 2025 +0100"
      },
      "message": "Remove experimental badge from collocationAnalysis function\n\nChange-Id: I7a77d89c7e34a4f44da983445fd69967b8934cd2\n"
    },
    {
      "commit": "6bd9cad83da319a51bdbb05c6a5055b1a8508f4f",
      "tree": "c957fc1caaee9de7f1c1e112d7adc0a16fe3d931",
      "parents": [
        "a7a8f1b0e9c20a7e79194001126822e696f1efad"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 18 15:57:26 2024 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 18 15:57:26 2024 +0100"
      },
      "message": "Improve documentation of span parameter in ca\n\nChange-Id: I35cf877fb04701c989fe5ef81a7cd262b9bc30e3\n"
    },
    {
      "commit": "1fe9410b6fe86550c6ec7afce68b6e692c4cd46e",
      "tree": "0218113d9cc2903c97d899bf1fe1451f6008ff14",
      "parents": [
        "38e4e0201557f2af7b5502ffd467f1f03a044bc1"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Apr 29 17:23:45 2024 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Apr 29 17:23:45 2024 +0200"
      },
      "message": "Fix comparison type check in R-devel\n\nmaking sure the bang bang operator is applied.\n\nRunning the tests in ‘tests/testthat.R’ failed.\nLast 13 lines of output:\nError in `as.name(thresholdScore) \u003e\u003d threshold`: comparison (\u003e\u003d) is\nnot possible for language types\n  Backtrace:\n      ▆\n   1. ├─testthat::expect_warning(...) at test-collocations.R:19:5\n2. │ └─testthat:::quasi_capture(...) at\ntestthat/R/expect-condition.R:170:5\n3. │   ├─testthat (local) .capture(...) at\ntestthat/R/quasi-label.R:54:3\n4. │   │ └─base::withCallingHandlers(...) at\ntestthat/R/deprec-condition.R:102:3\n5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) at\ntestthat/R/quasi-label.R:54:3\n   6. ├─RKorAPClient::collocationAnalysis(...) at rlang/R/eval.R:96:3\n7. └─RKorAPClient::collocationAnalysis(...) at\nRKorAPClient/R/collocationAnalysis.R:1:35\n   8.   └─RKorAPClient (local) .local(kco, ...)\n\nChange-Id: I5f3984376e4a6b01ba9ae03d8ef3e684284be4ef\n"
    },
    {
      "commit": "2b17b21d4222b1017818680d28d0dfc6af1ed6db",
      "tree": "8ac29b24d2bb2dd89c70f91b6ac9bb6b21d7fe0a",
      "parents": [
        "2078bde2a43000211637e45b1a37fb7ea2e2c7ac"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 27 17:47:26 2023 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Aug 28 16:31:04 2023 +0200"
      },
      "message": "CA: use server side tokenized matches if supported\n\nChange-Id: I0a7f1ce798a8e6ed1c8c68e50698c3ea2486ecbc\n"
    },
    {
      "commit": "211344081f403a7f762a63b18bd774c3f4632e51",
      "tree": "8562ebde46f93d873fd999f625c4e46c5441cd65",
      "parents": [
        "34dc997ef8ea15a92bb0b41e5cf6d14708e73bbc"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue May 09 17:57:23 2023 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue May 09 17:59:29 2023 +0200"
      },
      "message": "Fix bool vector length and R 4.3 compatibility of collocation analysis\n\nResolves #12\n\nChange-Id: Ifc551e63f77cf9b024e7fd06976d5c5dd9bfac8c\n"
    },
    {
      "commit": "a47d1503038a86d5104e14d7b493e3d19ca904d8",
      "tree": "6f71aca0d6133693f3cb49dfcf6248247a1034be",
      "parents": [
        "ed70a54cd0f8f7a9a50be03ef4b6d316a98370ec"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Apr 18 15:26:47 2023 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Apr 18 15:57:19 2023 +0200"
      },
      "message": "Replace our log.info with log_info to avoid name clashes\n\nChange-Id: Ib2d9b4a22d4d4e761b7b22fc8ad2b377658742d4\n"
    },
    {
      "commit": "9018965cc3fbc29d90561cc86fe437b25eb99242",
      "tree": "8b879cc76b8a845d8efae2908c783938664b7fc4",
      "parents": [
        "f650629fa69ab10979f2ffe2652da77599caaf70"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Apr 18 08:01:37 2023 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Apr 18 08:02:38 2023 +0200"
      },
      "message": "Respect given withinSpan parameter also in queries for examples\n\nChange-Id: I4451f173553559c76a868aca5aa65f020827f101\n"
    },
    {
      "commit": "23004c6d9c1c3dae1aa94beea3da554bdbc25bc2",
      "tree": "6e41e42c109753250a0a6fa7fddf28758b0a277e",
      "parents": [
        "163a6fae8f0dfee194fe636941e531f0b39b5293"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 06 10:55:28 2022 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 06 11:40:10 2022 +0200"
      },
      "message": "use slice_head instead of head for potential tibbles\n\nChange-Id: I1ce68ed52209ebaf22e0e29df9ac7281d83e4bc8\n"
    },
    {
      "commit": "3eea3a608dc087dae48a42c8875c03aa6f899f03",
      "tree": "a9de330ba0f52f094e8c050a1fc8e56c3e0e912f",
      "parents": [
        "bdb95274826169e9316e76c767dd4a2249496a04",
        "6505ccf486e1d4448007042d26cfcafaa9ff2069"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jan 04 11:08:59 2022 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit2@korap.ids-mannheim.de",
        "time": "Tue Jan 04 11:08:59 2022 +0100"
      },
      "message": "Merge \"Do not allow repeated nodes in collocation analysis\""
    },
    {
      "commit": "bdb95274826169e9316e76c767dd4a2249496a04",
      "tree": "02fdd0899ae621d5242ce40858bfb1219e57ad95",
      "parents": [
        "cc8c538c434ae4f2c5a95dcbe167ff57a037561e"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 22 17:42:21 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 22 17:42:21 2021 +0100"
      },
      "message": "At least touch recursive CA in tests\n\nChange-Id: I8d112d6df4bbde7cfa1f25da3dabd0094273eff5\n"
    },
    {
      "commit": "dadfd919ae90ff4b13284059dcd6bcd3bce1a20c",
      "tree": "ed0e6f835c99947037f56fe1c384eba786c743aa",
      "parents": [
        "30b3e00423a90d714720ce9d68270b9d9b987e7d"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 22 12:48:20 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 22 12:48:43 2021 +0100"
      },
      "message": "CA: do not add examples by default\n\nChange-Id: I0eefd444daa78448498b9c7bbfa2519bed64fa2b\n"
    },
    {
      "commit": "7d400e0f89b5cc50712a0600a44cf372aa73143b",
      "tree": "e61ca1ebb20499676e68d5939d4ed3be9c90522a",
      "parents": [
        "47d0d2bedbee86f79ba18fdd5e044d9851cc65a4"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Dec 19 16:39:36 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 21 18:12:38 2021 +0100"
      },
      "message": "Add missing parameter descriptions\n\nChange-Id: Icc1a0db1553db50d844af6cf01b6a339d456a9da\n"
    },
    {
      "commit": "47d0d2bedbee86f79ba18fdd5e044d9851cc65a4",
      "tree": "b15f3ebd58cc16ec9d13d35a849266736d040620",
      "parents": [
        "2456abd5c495e337e3ecb7562bc09005db545c7b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Dec 19 16:38:52 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Dec 19 16:38:52 2021 +0100"
      },
      "message": "Parametrize regex filter for collocates as collocateFilterRegex\n\nChange-Id: I58009cf7b786eab322bf64492965f9f1f664dc04\n"
    },
    {
      "commit": "76b0559976e3dae8ab65f8d0f2dc1bafc3008f70",
      "tree": "281b7e7f517bd2b1ba8050743381aeb280a42c3c",
      "parents": [
        "d83bc91270cd7b5a091433a42c1181e5beb0bbed"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Dec 19 16:26:15 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Dec 19 16:26:15 2021 +0100"
      },
      "message": "Do not export currently internal functions\n\nChange-Id: I1c188886420e4cae853c69becbe1a116acbba97c\n"
    },
    {
      "commit": "b811ffb7afaf90ed174f54e7cd75fcf1619c700a",
      "tree": "77edbd8e39a668b32d5137b67c956ebb68864718",
      "parents": [
        "77093383f7deb10f655a15050af93d1e6557b52b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:34:10 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:44:29 2021 +0100"
      },
      "message": "CA: catch case when no examples are found\n\nChange-Id: Icd241709d2701a37771b4f2dbf9f3dff754e1a30\n"
    },
    {
      "commit": "d2c08cb2aa4baa5db700df10644706acce23e42e",
      "tree": "e59787cc87e4c0fdf2bc4124886ccc4815db848e",
      "parents": [
        "419f21f1d26c4fa6efd6d8a4adf27498eb26699f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:28:21 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:44:29 2021 +0100"
      },
      "message": "CA: Add Ein and Eine to German stopword list\n\nChange-Id: I52378f3e54a61b85b22838f53f3de15ea72741c9\n"
    },
    {
      "commit": "419f21f1d26c4fa6efd6d8a4adf27498eb26699f",
      "tree": "0cfe2d7983224b7ee9840fcec3b8456f3ab700d2",
      "parents": [
        "8fe0beeae57bed9d638aad4a74969bf69368e586"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:27:30 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:44:20 2021 +0100"
      },
      "message": "CA: Make recurive CA association score threshold a parameter\n\nCurrently logDice \u003e\u003d 2.0\n\nChange-Id: I6173ce3acb5d2e5a3f1aa1cbc41367cce59eee44\n"
    },
    {
      "commit": "8fe0beeae57bed9d638aad4a74969bf69368e586",
      "tree": "db6d7fca8c96ba410cb0bea653a8fa74d95b90ef",
      "parents": [
        "1678c3ad7dfe1fa424a74b1faa29b4a61167f33b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:25:45 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:43:43 2021 +0100"
      },
      "message": "Fix typo (joining)\n\nChange-Id: I782d9189a67dc12b06a86027cf699a417fcd0ef2\n"
    },
    {
      "commit": "1678c3ad7dfe1fa424a74b1faa29b4a61167f33b",
      "tree": "4616963b6aa8a3a6826db420384f8385650ba125",
      "parents": [
        "6a3185b351a7f7ed48639d547ec6403d38cbc44d"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:24:49 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Dec 07 10:43:43 2021 +0100"
      },
      "message": "CA: Keep query for examples in result data frame\n\nChange-Id: I241d9a3fbd92550a3085cc554cef4645302c4df8\n"
    },
    {
      "commit": "5a336b6558b06e0458f325947d245006737cb814",
      "tree": "7739a72800065c08a9ecbbf4e05156be322c7dad",
      "parents": [
        "47f944664592c7abbb1cfd833e03c2e6f949390f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 27 17:51:35 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Nov 30 11:01:16 2021 +0100"
      },
      "message": "Add recursion to collocationAnalysis\n\nChange-Id: Ied5ab55f31f34048552ec0f0789b0b0175b2e4e0\n"
    },
    {
      "commit": "6505ccf486e1d4448007042d26cfcafaa9ff2069",
      "tree": "3038ee9dc3143c671fc2b9194763d9485f595d48",
      "parents": [
        "841abd77c4c18b4e69defdf8c9b91d55dc344428"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 27 17:46:25 2021 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 27 17:48:22 2021 +0100"
      },
      "message": "Do not allow repeated nodes in collocation analysis\n\nChange-Id: I19e5db6dc40ae7a25f9eddff4325a71846dcaf6f\n"
    },
    {
      "commit": "6ae760520de0f9faec60e3a27104e4af8e1de848",
      "tree": "7b34be62796c6894952b2982ed3605d94d5d7e78",
      "parents": [
        "8b8aa52c6e1c84193807d127e0388ac4b9d7af84"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 21 10:34:00 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 21 12:47:22 2021 +0200"
      },
      "message": "Use \\dontrun instead of \\donttest for non-essential examples\n\nThis is not so nice for the user experience because of the\nwrappers arround examples:\n\n ## Not run\n ...\n ## End(Not run)\n\nbut it is necessary to some extent to pass automatic CRAN\nchecks under all circumstances, which actually do run\nthe donttest examples since R 4.0 with a time limit of apparently\n20min in total.\n\nChange-Id: If09b1aa381e26179ec1a36edd9d8b07116e3c33e\n"
    },
    {
      "commit": "8b8aa52c6e1c84193807d127e0388ac4b9d7af84",
      "tree": "bd3dbad75af66ab065945ee8f6b17fad9557d087",
      "parents": [
        "bf00493df16640fdc5ae8f269591ed506013c986"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 21 10:02:39 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 21 10:37:16 2021 +0200"
      },
      "message": "Do not import but only suggest lifecycle\n\nChange-Id: Id228b29322cc65b86e24be81d14332ed563129fb\n"
    },
    {
      "commit": "67edcb547e8d76dd78bf3e0b35723f977087bba4",
      "tree": "be74fab5ccf2b78cb661c1118255364b725c4efc",
      "parents": [
        "9e469483927a89771ac95248d1bc24dc8a6fd6cc"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Sep 20 21:54:24 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 21 06:59:15 2021 +0200"
      },
      "message": "Migrate documentation to roxygen2md\n\nChange-Id: If5370cd207770f3e05c6f5cd063bd2a414b92bcb\n"
    },
    {
      "commit": "427d9ed069f2153b9a4f81b8a4e58919bc87b0c1",
      "tree": "8552baa17c63f19ae0f2724c17613676f7f7b98c",
      "parents": [
        "581a29bff65254a76be746256a0b756ced6d9dc1"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Sep 04 21:17:53 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Sep 04 21:17:53 2021 +0200"
      },
      "message": "Add importFrom lifecycle badge\n\nChange-Id: Ie65160474c6d14ab8bc4088434b504b28da53e3a\n"
    },
    {
      "commit": "581a29bff65254a76be746256a0b756ced6d9dc1",
      "tree": "28ea67e46488d48e2396acce1c1ee99545e9482e",
      "parents": [
        "d07bf197d23200ba05e99ef56dec8e90fc1905e3"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Sep 04 20:51:04 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Sep 04 20:51:04 2021 +0200"
      },
      "message": "CA: warn if no access token present\n\nChange-Id: Iec2e57edc7bb62bfed23672ada549252ba03518e\n"
    },
    {
      "commit": "d07bf197d23200ba05e99ef56dec8e90fc1905e3",
      "tree": "2dfd922ed620850a76d5768e6b1fdd684c929949",
      "parents": [
        "a3fedbeb2068cdeb5181035163b9213ba87ede28"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Sep 04 20:24:44 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Sep 04 20:30:26 2021 +0200"
      },
      "message": "Add newline to CA log messages\n\nChange-Id: I5b830b6e96e556d386ec4174f57c85b770ae28f2\n"
    },
    {
      "commit": "dbd431a9f00425d5514582b069abd5178fd5ed81",
      "tree": "2e1fab70b1f313d282cc39fb6c566a5e7ea97c10",
      "parents": [
        "6dc6146b060857f02a662b31d490e81dd1a16689"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 29 12:17:45 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Sep 04 18:09:20 2021 +0200"
      },
      "message": "Add full collocation analysis (client side only implementation)\n\nResolves #2\n\nChange-Id: Ib01d89a72b44ff06816b21532b7ea709a4e837b0\n"
    }
  ]
}
