From fd384c400766859f79c15daa37791ea5ba16a09b Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 2 Jan 2025 19:05:59 +0000 Subject: [PATCH] chore: prepare for publishing --- .releaserc.js | 26 ++- CHANGELOG.md | 460 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 483 insertions(+), 3 deletions(-) diff --git a/.releaserc.js b/.releaserc.js index 4ea1e0c9..7e184ddf 100644 --- a/.releaserc.js +++ b/.releaserc.js @@ -16,7 +16,6 @@ module.exports = { "preset": "angular", "writerOpts": { "headerPartial": "# {{#with context}}{{#if isServerUpdate}}⚙️ {{/if}}{{/with}}[{{currentTag}}]{{#if title}} {{title}}{{/if}}\n\n{{#if date}}_{{date}}_{{/if}}", - "commitPartial": "* {{#if scope}}**{{scope}}**: {{/if}}{{subject}} ([view commit]({{@root.repository}}/commit/{{hash}}))\n", "transform": function (commit, context) { if (!context.context) context.context = {}; @@ -25,8 +24,29 @@ module.exports = { } return {}; - } - } + }, + "commitsSort": ["scope", "message"], + "commitPartial": "* {{this.message}}\n" + }, + "preset": "conventionalcommits", + "presetConfig": { + "types": [ + { type: 'feat', section: 'Features' }, + { type: 'feature', section: 'Features' }, + { type: 'fix', section: 'Bug Fixes' }, + { type: 'perf', section: 'Performance Improvements' }, + { type: 'revert', section: 'Reverts' }, + { type: 'docs', section: 'Documentation', hidden: true }, + { type: 'style', section: 'Styles', hidden: false }, + { type: 'chore', section: 'Miscellaneous Chores', hidden: true }, + { type: 'refactor', section: 'Code Refactoring', hidden: false }, + { type: 'test', section: 'Tests', hidden: true }, + { type: 'build', section: 'Build System', hidden: true }, + { type: 'ci', section: 'Continuous Integration', hidden: true } + ] + }, + "linkCompare": false, + "linkReferences": false } ], "@semantic-release/changelog", diff --git a/CHANGELOG.md b/CHANGELOG.md index 52f4370a..d3992897 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,466 @@ _2025-01-02_ +* feat!: update semantic release's ci ([view commit](cord.nvim/commit/573814db641b62a37a9bea2c6f750c6a543f136f)) +* fix!: bugfixes related to opts handling, workspace detection callback, button validation as well as slight changes in configuration ([view commit](cord.nvim/commit/277b5b0517c9dfcb2a6887820005a8f3df068a14)) +* merge #147 ([view commit](cord.nvim/commit/9423cf34faca901874a0d3741f867bb0babf24dc)) +* merge #152 ([view commit](cord.nvim/commit/2b0fc960fa3927a49d89ef11c7087138ef6a311e)) +* merge #155 ([view commit](cord.nvim/commit/a490466e5cc72e3d645d19582f63fc0070050b7d)) +* Merge branch 'client-server' of https://github.com/vyfor/cord.nvim into client-server ([view commit](cord.nvim/commit/671f856f92d858f95e88f53eb9749880bf4e0188)) +* Merge branch 'client-server' of https://github.com/vyfor/cord.nvim into client-server ([view commit](cord.nvim/commit/f25329618b360e673219f3a36dee508352ea0a40)) +* Merge branch 'client-server' of https://github.com/vyfor/cord.nvim into client-server ([view commit](cord.nvim/commit/ccdd74992e14face4b727b57e6b56fc66da902fb)) +* refactor!: rename `git_url` -> `repo_url` ([view commit](cord.nvim/commit/5d8faf24962e1c2e4543e2f35881fc6cdebac5f0)) + + +### build + +* bump project version ([view commit](cord.nvim/commit/e4f9b715f716c7926c70543b3d0360863601a28a)) +* bump project version ([view commit](cord.nvim/commit/a6a33eba2e2487f9cfe8242173bc5130fd9601b2)) +* bump project version ([view commit](cord.nvim/commit/d56244a6eb59be4b8ecde0e1065e2afbe681235a)) +* bump project version ([view commit](cord.nvim/commit/d1853f4f5a65bb28c3073d61d003eea5d162445d)) +* bump project version ([view commit](cord.nvim/commit/6196014399171b5218cf42db0e3750cacd93f7c5)) +* bump project version ([view commit](cord.nvim/commit/f43c94da6fe7b160f26638fe212ab018523b85b3)) +* bump project version ([view commit](cord.nvim/commit/9898651c4f53e2011f4cc5f744789e153cad26f1)) +* enable incremental compilation ([view commit](cord.nvim/commit/7b6bb0034fba7ba14a6cc8d6b831651d5e5e1b8c)) +* prepare for publishing ([view commit](cord.nvim/commit/9bf0821d72d7f38cef4e39ade1979e694d431232)) +* set project version to `2.0.0-beta.1` ([view commit](cord.nvim/commit/52ae36fd1162c03dbc573f6393788db2d2bccb6a)) +* specify msrv ([view commit](cord.nvim/commit/abaa56eb2764c8046bf25834bb4360199c17bb6c)) + + +### chore + +* add `rustfmt.toml` ([view commit](cord.nvim/commit/c53d928d583a6c4b9a1eb465b7f5b888ff3db640)) +* add derives and reformat code ([view commit](cord.nvim/commit/3d5096c99882b266a4bb4341b9ab5f154f1e6a3c)) +* add relevant `mod`s ([view commit](cord.nvim/commit/c51352c31f9a8a0400c5e1407458bf9572c54652)) +* **assets**: delete the assets directory ([view commit](cord.nvim/commit/97ca959d9e5ccb65a1c7aa23667cd03c45193f81)) +* bump assets version ([view commit](cord.nvim/commit/14ff704001076bd00dfdbab2619cea58876b80b6)) +* bump assets version ([view commit](cord.nvim/commit/3e5016bc468b7593b8d9594aa804cfcc17f4f055)) +* bump assets version ([view commit](cord.nvim/commit/d573d6e0c7bf2cc44b9a18ce85e9bdfa829b9d83)) +* bump assets version ([view commit](cord.nvim/commit/155638df69fe2dcf2bea268fc7d3a011382abb2f)) +* bump assets version ([view commit](cord.nvim/commit/3092bbce6d7f828b78b12f57ed44287edf73329b)) +* change semantic release config ([view commit](cord.nvim/commit/705f0ac11985a03323daf56fceb096259665dd65)) +* code cleanup ([view commit](cord.nvim/commit/b139bfaf75a254fa75e6cef065d361658efdbc7c)) +* delete redundant file `status.rs` ([view commit](cord.nvim/commit/1b133d134c09ca173e7b5e1bd2fda0068d304e8c)) +* **event**: remove redundant implementations ([view commit](cord.nvim/commit/800991fd271ef536078f66242f7d340b08b95be8)) +* fix clippy warnings ([view commit](cord.nvim/commit/6ed0a5d7a055bf2a77fffe4ca938a1636e90ada5)) +* fix typo ([view commit](cord.nvim/commit/935dce3cce751a886c855d549be484285988b795)) +* fix warnings ([view commit](cord.nvim/commit/f7c9e208da73049754d0b240d147d7bdc63cb585)) +* fix warnings ([view commit](cord.nvim/commit/d27ab6a0fe526eb5db986f206955e72fb365a546)) +* ignore clippy warning ([view commit](cord.nvim/commit/16fa5b52ca090bb3428edc10af3eabbd2b3d4c40)) +* **lua**: fix warnings ([view commit](cord.nvim/commit/8ef3177695639a0223e2ce199dbbd1d4280606d2)) +* prepare for publishing ([view commit](cord.nvim/commit/bc4521941423e82a25045ac09f226698504660c5)) +* prepare for publishing ([view commit](cord.nvim/commit/164b4b1085cc6ce521ee8858dbbdd074ce37b144)) +* prepare for publishing ([view commit](cord.nvim/commit/f555b4bc412d313656ae1980bb05babc97e016ec)) +* **release**: 1.0.0-beta.1 [skip ci] ([view commit](cord.nvim/commit/f166cfc9bb51c4b912269aeca2c5bfa4c03047a3)) +* **release**: 2.0.0-beta.1 [skip ci] ([view commit](cord.nvim/commit/4792fd8d6dda376e7b950a569d257d0a834417eb)) +* **release**: 2.0.0-beta.1 [skip ci] ([view commit](cord.nvim/commit/f3f503f2e426d6cd32539d993f1e75be9bd46456)) +* **release**: 2.0.0-beta.1 [skip ci] ([view commit](cord.nvim/commit/fb719c6abe71dd8d5ef2e2ed524a487e5aff29ef)) +* **release**: 2.0.0-beta.1 [skip ci] ([view commit](cord.nvim/commit/1c39245537dd7e649cb342588cf44eef7feae2dc)) +* **release**: 2.0.0-beta.2 [skip ci] ([view commit](cord.nvim/commit/371b6ebe61bb31374dd5ba7bbfa08dfc377375a4)) +* remove changelog ([view commit](cord.nvim/commit/c05af76e9d992b6551bce815c0e5f81a7dad7a02)) +* remove changelog ([view commit](cord.nvim/commit/ca109e523157b674a94d272e86ef077f98b31af9)) +* remove debug statement ([view commit](cord.nvim/commit/67d97700fc833465050f651482ce21cec0fa6c08)) +* remove redundant code ([view commit](cord.nvim/commit/baa87039629f49f4a37fe5860073ecfb05710cab)) +* remove redundant file ([view commit](cord.nvim/commit/755ce4024683470fbfad800751f2178c4d56763e)) +* remove unnecessary explicit lifetimes ([view commit](cord.nvim/commit/10889765071d217b4431c8d274e747220fbbe5aa)) +* remove unnecessary statement ([view commit](cord.nvim/commit/c12ad54f3c0eb2c6fc1f752a26edbe6fbf30cb9f)) +* remove unused imports ([view commit](cord.nvim/commit/0b1d6b92a1e46756a9bec45b0f3ee179a038deeb)) +* remove unused variable ([view commit](cord.nvim/commit/fef472f96113c20e3e90d33ce673027585dadfe9)) +* resolve merge conflicts ([view commit](cord.nvim/commit/4cd628cce4a223173f05336692600140c7ac1f88)) +* set previous release in `.releaserc.json` ([view commit](cord.nvim/commit/f398c02d5b7ec0e551706448d6eee1fb9d4ec258)) +* temporarily comment out code ([view commit](cord.nvim/commit/e2e2fd3b9725b18be186992d39e1383ff26d1d66)) +* update `.gitignore` ([view commit](cord.nvim/commit/bb072143f32d44139470af409a94b724da2abe7e)) +* update `.luacheckrc` ([view commit](cord.nvim/commit/f59f170fe0bdb887685f94a9e7fa9935d2d59de8)) +* update `.luacheckrc` ([view commit](cord.nvim/commit/df2f2000e8a6ed0ff15903b133a7b5f30360afa2)) +* update `.luacheckrc` ([view commit](cord.nvim/commit/6ce30eef93d404fefd9c5d6765ae3a8e80f96aaf)) +* update `.releaserc.json` ([view commit](cord.nvim/commit/97444621a631d1cd80a6ea48d1f4b1120705dcc7)) +* update `util/mod.rs` ([view commit](cord.nvim/commit/5ba79f408c5baa92e20d0ea1b943aedb9bbadfa2)) +* update releaserc ([view commit](cord.nvim/commit/5fbdd5dcacea85be899d031ae148da773387672a)) +* update semantic release ([view commit](cord.nvim/commit/e475c5cb97c59d2309442a2100dac3df37813f15)) +* update semantic release ([view commit](cord.nvim/commit/7e9c5b014c0c91fa34264b3105b8d3f7e4ee72b6)) +* update semantic release ([view commit](cord.nvim/commit/8149653224aab7a69b21b79970381bbae071f135)) + + +### ci + +* add freebsd target ([view commit](cord.nvim/commit/20d27e1f1210ee0a2d91c6e2ef198e6b95809345)) +* create release.yml ([view commit](cord.nvim/commit/1d725d1423629ad8562990d79bd349970f35c22a)) +* integrate semantic release ([view commit](cord.nvim/commit/66ca7cdd59e35d07fe12ddbfbc059ba4348d161b)) +* prepare for publishing to luarocks ([view commit](cord.nvim/commit/ac35d97651a10d2609e3aef75af7a78dee799217)) +* update `release.yml` ([view commit](cord.nvim/commit/30c3177ed2145eb7a187299a6d0fcce1f814cec6)) +* update `release.yml` ([view commit](cord.nvim/commit/99848180eadd4d8b3f3bd3a4b35b75e786e9deca)) +* update release workflow ([view commit](cord.nvim/commit/53674918914377177f6c98514b3bf5195282e0c0)) +* update release workflow ([view commit](cord.nvim/commit/f9ddd9fa0e1ced1c9d1d353bd82880acc3c47beb)) +* update release workflow ([view commit](cord.nvim/commit/30e98f629e75728a195aa9e568aab77e4114a7ac)) +* update release.yml ([view commit](cord.nvim/commit/a60ac049bd48dfcf86cff19d0a44986b1b2787c9)) +* update semantic release ([view commit](cord.nvim/commit/638dadf8ba54619735196ab39eecb94b4c75aff1)) + + +### docs + +* add configuration examples ([view commit](cord.nvim/commit/a15b917663fdc4f1ae582b6a0cf27b53a31cadf9)) +* **configration**: add missing backticks ([view commit](cord.nvim/commit/7958f89ff6266294a419849054e03d70ed1f943e)) +* **configuration**: add default config values ([view commit](cord.nvim/commit/1aff02e676c4c48dfe99db9937918ff311a87cf2)) +* **configuration**: center activity options ([view commit](cord.nvim/commit/de33741fd6d872523085f57a433ebd4d762cc37c)) +* create a configuration guide ([view commit](cord.nvim/commit/e51af265f799826ec901f0b325d1088938b7c8e6)) +* create a migration guide ([view commit](cord.nvim/commit/debee75e1bb6348e5fbdd511b5d3cfa454fb5f75)) +* document string templating ([view commit](cord.nvim/commit/0bfc19d629cf1bb152cdbebd726fc5be311f2680)) +* **lua**: document exposed interfaces ([view commit](cord.nvim/commit/7c23fe2d2f6400b976c9527a9fe23f304a24a09c)) +* **migration**: fix text highlighting ([view commit](cord.nvim/commit/965ee867d04e6875a2b04891d9451ae060a0e598)) +* prefer `:Cord update` over `:Cord fetch` ([view commit](cord.nvim/commit/7774af4bfdb065fb777a0807023b8680f877c35d)) +* **readme**: add badge icons ([view commit](cord.nvim/commit/63c5b0877244ed221e47f748edf39562682af810)) +* **readme**: add cord's logo ([view commit](cord.nvim/commit/6bd56b5b1b78b7190e6acfab0865c926aed78537)) +* **readme**: add installation step for `rocks.nvim` ([view commit](cord.nvim/commit/3f1dba69d1e0fc73470b1ca8f23b17e5fe8c35b4)) +* **readme**: include a link for cord's brand new discord server ([view commit](cord.nvim/commit/ce8ce56f190768c039668349b1d84f9f2384ffa7)) +* **readme**: rewrite README ([view commit](cord.nvim/commit/24d75e0112f2cd150b97513729795fba2401b94c)) +* **readme**: update README ([view commit](cord.nvim/commit/89ccba3bde8c574728a3d42adcdb60912d744c8f)) +* **readme**: update README ([view commit](cord.nvim/commit/29f5f744d368f42a0779982a29189073f1b0fb68)) +* **readme**: update README ([view commit](cord.nvim/commit/12b71d1c7d7ba3a432dc5e514ae5f5902ead6587)) +* **readme**: update README ([view commit](cord.nvim/commit/95f8167d550254a3448ee03e4fbe6d6aec6ec67c)) +* **rust**: document crucial parts of the codebase ([view commit](cord.nvim/commit/7f217a7776ed5f7662bf3a5432493c73b49f2756)) +* **templates**: remove the icon request issue template ([view commit](cord.nvim/commit/257892093da816d76f781a68e62cb134f1bb7e23)) +* update configuration guide ([view commit](cord.nvim/commit/62b0764f2e9d2188691ad9762eb924fadf1550e1)) +* update configuration guide ([view commit](cord.nvim/commit/5eca57b6f7259a6d07a314b73f21bb1c75157689)) +* update configuration guide ([view commit](cord.nvim/commit/cf031ffcf41b657c291b419ecea86e8d3b077cea)) +* update documentation ([view commit](cord.nvim/commit/243898a90f0924dbe783e5b3307ce7fd43f8b1ba)) +* update examples ([view commit](cord.nvim/commit/a1699d1654a66d64dab79ba1b62369118c6e5ae2)) +* update examples ([view commit](cord.nvim/commit/8abe5299792a6cb11e0f7f6c45c7d38858d911eb)) +* update examples ([view commit](cord.nvim/commit/20e02e308a8e7bc67615e2353d562c15bdb90c8c)) +* update migration guide ([view commit](cord.nvim/commit/01d1d604c1be498f9ddba0152057b61f689e4d95)) +* update migration guide ([view commit](cord.nvim/commit/d527f71872a70e8550abfb2ab3be18307925ddfc)) +* update migration guide ([view commit](cord.nvim/commit/c4c66937c40ee489267ff2bc5fd0b7409d04673e)) +* update readme ([view commit](cord.nvim/commit/653c13db4a638e4e6a4527f698de746b43f1cdf8)) +* update readme ([view commit](cord.nvim/commit/e4c562143b8a49b155258e8e7f2005b3aae676ef)) +* update readme ([view commit](cord.nvim/commit/d13991bfacf173227f01cc7c9f0168f4d46b67eb)) +* update readme ([view commit](cord.nvim/commit/ccdc4dc6b5fb03a02b0289468f01bd039611b142)) +* update readme ([view commit](cord.nvim/commit/69d998b1dfbe5f90dbb8141b232ca3c1e474e066)) +* update the configuration guide ([view commit](cord.nvim/commit/cf2396183003cc1c23a53ee71c818ab33769e9a6)) +* update the configuration guide ([view commit](cord.nvim/commit/78b7ca686261fd4a6669b9e9ffe3043dbec6690c)) +* update the configuration guide ([view commit](cord.nvim/commit/9ef07b7cd5fab3a5f2789ee3b2069cf3f6a7aa5c)) +* update the configuration guide ([view commit](cord.nvim/commit/480d74c866815b554a903460cb3b6429f145b749)) +* update the configuration guide ([view commit](cord.nvim/commit/fb6326f0186e131fc2f8c41188ff689de653101c)) +* update the configuration guide ([view commit](cord.nvim/commit/40ec350c0194ea9af72e97a312decb0b0ef980cf)) +* update the configuration guide ([view commit](cord.nvim/commit/16b1ec31d889ed324b3957c597b64f75ef9e04e9)) +* update the configuration guide ([view commit](cord.nvim/commit/80386758639517cdbe37dd11edbecbaa54ae8801)) +* update the examples ([view commit](cord.nvim/commit/cf728c3dfb00f32fc001e2f3c748820618379bfd)) +* update the examples ([view commit](cord.nvim/commit/4e67d61656f8e136a4265fdedf635c31fdc5f7b6)) +* update the examples ([view commit](cord.nvim/commit/8209e2189491cf068eb4f8c40a838692c7a17a2c)) +* update the migration guide ([view commit](cord.nvim/commit/006f3a45f75f36831b405530459e1edbf6624d2e)) +* update the migration guide ([view commit](cord.nvim/commit/d9ccf2e4d0efc991580b61624ca7a4d4d142f917)) +* update the migration guide ([view commit](cord.nvim/commit/048f1d2b3fcc2463364ca9ab73d39030ef936e6e)) +* update the migration guide ([view commit](cord.nvim/commit/7ba64be4903a1b827791d52ffaa94b0a43861090)) +* update the migration guide ([view commit](cord.nvim/commit/c5353fe09dd983d3b05a250febf6c6145e5f115b)) +* update the migration guide ([view commit](cord.nvim/commit/7030badb7e6a48f0ac3a3cc9678157d18886b196)) +* update the migration guide ([view commit](cord.nvim/commit/8013f9b5ed055e337a28f69676930b5503611c86)) + + +### feat + +* **activity**: add additional fields ([view commit](cord.nvim/commit/ffec9cd47945200cbbd767bf101aae1c1f0bb9d4)) +* add `:Cord restart` ([view commit](cord.nvim/commit/ff7b7cf122f8826590ad242c43b714131e897c80)) +* add `json:Error` & `msgpack:Error` ([view commit](cord.nvim/commit/0f33af208828f04243190994015c29b669b0a3c9)) +* add `new` function to `Packet` struct ([view commit](cord.nvim/commit/fd4b2017987e22ca0df62989b6cb9489c13a3511)) +* add `notes` field ([view commit](cord.nvim/commit/304d17169eb83d47add2c3cdbb5355b77e13f73c)) +* add `TryFrom` impl to `AssetType` ([view commit](cord.nvim/commit/ca4d5d86a0f50f028926dce715145ad85b801c5c)) +* add `vim.g.cord_is_updating` to avoid multiple simultaneous updates ([view commit](cord.nvim/commit/166be045e0017cec72ec007e4c2d211b16f199e6)) +* add a logger struct ([view commit](cord.nvim/commit/d3f4fa071b36f67a0be4ddbd96f5407b654b5419)) +* add a macro that simplifies field deserialization ([view commit](cord.nvim/commit/ada22e60ee4e329cfd5f2e53aafcc3a1bfeb1692)) +* add cleanup logic ([view commit](cord.nvim/commit/df96059c49580480d21f60692416e2b067ea160b)) +* add explicit rich presence clearing; can be completely hidden with `force = true` ([view commit](cord.nvim/commit/8e99c030336225a983e38b3045024aa586e37842)) +* add message deserialization logic ([view commit](cord.nvim/commit/3f7fea213f120fd0a6efc00432e40d8612f0d404)) +* add message handler struct ([view commit](cord.nvim/commit/e93d9c8d625672834e8635a6d1bb40465b7e6136)) +* add program entry point ([view commit](cord.nvim/commit/f0e8727733422e0b23230bb8eac6f27efbc892bd)) +* add proper serialization for `LogEvent` ([view commit](cord.nvim/commit/340c504b1dbc4af239aed12f3deafb8a1adc6caf)) +* add server-scoped `InitializeEvent` ([view commit](cord.nvim/commit/5097cebed85511547d8afdd3c1deb1bfdccc745a)) +* add the `Cord` struct which is used as the entry point ([view commit](cord.nvim/commit/c2f67c02aa18c99a79ba8a2fe6422d6f7f858590)) +* add unix implementation of the IPC server ([view commit](cord.nvim/commit/cdc4245030ceb3872433b5186a06442a5320dc59)) +* add usercommands ([view commit](cord.nvim/commit/858209995306f9782d7d2d33dc2fdf6fb1db8386)) +* add utility functions for building and fetching the executable ([view commit](cord.nvim/commit/b77455ba4878fc6563fdd1fdcc82650fb143dba6)) +* add windows implementation of the IPC server ([view commit](cord.nvim/commit/04192c5a785dc08e6592007a8eee8a50e944e0b3)) +* allow parsing `client_id` from client name ([view commit](cord.nvim/commit/3e7f1b36005fdec1bf5768495fbec88aa7197cc6)) +* allow the user to skip updates ([view commit](cord.nvim/commit/381542d9d69badd9704285adc0349dcd69a42bb9)) +* allow users to set a custom activity ([view commit](cord.nvim/commit/e9d388c84908db1c8749746b66e8333b000b8565)) +* always fetch the executable if it's not present ([view commit](cord.nvim/commit/7a18740c8326b26571639d6f4712c6df88c5a982)) +* always perform the file exists check first ([view commit](cord.nvim/commit/d94b5b85ee8ceae2a2dffe2fc91fe31e1796360f)) +* **async**: implement Future wrappers for commonly used uv functions ([view commit](cord.nvim/commit/62b133caef3068694d24543869c80f9285782968)) +* **async**: implement the concept of futures and handle async operations via coroutines ([view commit](cord.nvim/commit/8638d304f5ec003cc08aea4dda14b85ae29a9ce1)) +* capture build errors ([view commit](cord.nvim/commit/64b1103ed59ce2ab145acc4e9e1a489753e861cf)) +* **cli**: add `--version` argument ([view commit](cord.nvim/commit/1799242aa27426a7cf95d6a95ab0aad817edc418)) +* **cli**: implement argument parsing ([view commit](cord.nvim/commit/b3051db2aad03a84494785bb6c244f0e8941302e)) +* **config**: add `advanced.server.build` ([view commit](cord.nvim/commit/bf27f76d01797c8afa25ca1df76809f45fa58584)) +* **config**: add `advanced.variables_in_functions` ([view commit](cord.nvim/commit/6aae1378c36d2c0c1a12e94d2a70af286709fb64)) +* **config**: add `idle.unidle_on_focus` ([view commit](cord.nvim/commit/f4e8c93ba79b540e8b8afa47e1d2e597789aa916)) +* **config**: add `on_activity` hook ([view commit](cord.nvim/commit/26952887fdb965ebc55cfdeebf7bcd15b2a8b629)) +* **config**: add `on_disconnect` hook ([view commit](cord.nvim/commit/299882de687a89a92d003b62700acea5809340d3)) +* **config**: add support for string templates using the new `variables` option ([view commit](cord.nvim/commit/d5ec225c14572f7f64fc60d40152ea0bcf83d944)) +* **config**: allow users to choose between different icon styles ([view commit](cord.nvim/commit/3fef850c9b74e184778ed3b8ff4862d0b3ee446b)) +* **config**: custom assets' options now support function types ([view commit](cord.nvim/commit/2a5122c6f8ecb41593e2b781e2203723ba1f05fc)) +* **config**: introduce `idle.smart_idle` option which lets general activities take precedence over the idle ones ([view commit](cord.nvim/commit/99e9e93ecc90b54d76b07909a00ab7a1360a60a9)) +* create `Config` struct to store internal configuration and refine timeout logic ([view commit](cord.nvim/commit/d5c179cd6afb853586d929c3f075c5377b5b3a48)) +* create a separate module for icon-related stuff ([view commit](cord.nvim/commit/8b8361004e1fc01dce3f0c16941da36b80cbf106)) +* display the most recent activity in case a client disconnects; clear the status if none are connected ([view commit](cord.nvim/commit/eedc94a3efd09724ec5b2581a063c87608a82020)) +* **events**: add client event implementations ([view commit](cord.nvim/commit/fcda10325960bf771ec074324fa08d084c96bda0)) +* **events**: add server events ([view commit](cord.nvim/commit/52061da15eda88b489786e5ff7e8681f487ba331)) +* **events**: handle client connection ([view commit](cord.nvim/commit/2e7d5d40a847c2caacc8129d06fbb1cd6e3b837e)) +* **events**: notify the client about errors on their side ([view commit](cord.nvim/commit/db9a2efc984f6b59a6cc763bfe965645697a19d0)) +* handle automatically moving the server executable to nvim's data directory ([view commit](cord.nvim/commit/ae0fb6fa6662d66d825cc3e33a05772f894cb3dc)) +* handle the activity type ([view commit](cord.nvim/commit/0bfa07ca972b0de1e2e1a8ea9d0c7fcf28394300)) +* **icon**: expose locals ([view commit](cord.nvim/commit/15e83b3c51a77ebcfb5491bc3bec61df9a4bbe3d)) +* implement `Default` for `Overlapped` struct ([view commit](cord.nvim/commit/83d9c4e82090c2ef188d0851e996dabffe46139d)) +* implement `OnEvent` trait for all events ([view commit](cord.nvim/commit/16753421aa85f755f6d613521d74594adfaf3dbb)) +* implement a wrapper around `curl` ([view commit](cord.nvim/commit/4bb65b4647922e5ac6bbd23ea6778bc98b271b2a)) +* implement caching for workspace and repository entries ([view commit](cord.nvim/commit/1dc2defbb9d1957617f26b0495fc2fce15aae345)) +* implement custom error type ([view commit](cord.nvim/commit/ff801571c357fe5598273a59ebb78bc84df79842)) +* implement iterations - a maximum amount of time the server can idle without active connections ([view commit](cord.nvim/commit/b6e8955d9c17684916a63e7a7520c3564efe7128)) +* implement reconnection mechanism for Discord ([view commit](cord.nvim/commit/90ba49a927bd206b85057bd85bdd05c3ab8667ad)) +* implement sessions and session manager ([view commit](cord.nvim/commit/312b924f83c51750a45ff964beb264774f02516a)) +* improve cleanup logic ([view commit](cord.nvim/commit/1b9be0c48931ab443d3a219ce7eb557b1134dcea)) +* introduce `PresenceContext` struct which will be used to build the rich presence ([view commit](cord.nvim/commit/59ec14566b5b47bc1eaa80d04f8887f84377174c)) +* introduce message communication system ([view commit](cord.nvim/commit/19ab5c6e67878e3d2ac75f89a5fa59e7b9678b67)) +* **ipc**: continuously read data from Discord pipe to detect sudden disconnects ([view commit](cord.nvim/commit/807291fa7e752ba159eb27cff15475156dc0834d)) +* **ipc**: use full pipe path ([view commit](cord.nvim/commit/55ca5aba72e4a8c892ce2aa5e460456331fce9f7)) +* **json**: add robust error handling ([view commit](cord.nvim/commit/a6697da80f2f8f30cf4d31fdf4374b94973f61bf)) +* **lockfile**: implement file locking mechanism ([view commit](cord.nvim/commit/dd8fe2c510eba26abe06eae2cad9aabb085ebfd5)) +* **logger**: handle cases in lua callbacks ([view commit](cord.nvim/commit/c3ccb35d51e741b6c48d1512d637c6f4c38780c4)) +* **lua**: automatically start the server ([view commit](cord.nvim/commit/0364cfb863f41154ae69ed90595f2d1e705b9a7c)) +* **lua**: call `on_workspace_change` hook if a workspace change is detected ([view commit](cord.nvim/commit/33abe5a0ba516fbd1963282587beb8f0b2b38ea9)) +* **lua**: initial implementation of the Lua codebase ([view commit](cord.nvim/commit/6f72e92fd737a5c210261ef44c8e6d490d2997bb)) +* **lua**: switch to event-driven architecture ([view commit](cord.nvim/commit/e65f0153ae17feab7bf8266707f99299b91e9fb9)) +* make server error messages clean ([view commit](cord.nvim/commit/c097bd898279379f0585ed9f7b56a04a2eb0ad0a)) +* **manager**: expose more functions for interacting with rich presence and its manager ([view commit](cord.nvim/commit/c34dea16106505febf05b68297951e9e3ff78c87)) +* **mappings**: add `cuda` filetype ([view commit](cord.nvim/commit/9fdd31efc4c2e665e43a397d0085410536e5b0c6)) +* **mappings**: add icon for odin ([view commit](cord.nvim/commit/0df0a4586249f9fdb8b3d53da7a73f1ee0bf0bbc)) +* **mappings**: add missing filetypes ([view commit](cord.nvim/commit/dbfb1adc6aa5394e072e2d97e964602ad1a7e5f2)) +* **mappings**: add support for dashboard plugins ([view commit](cord.nvim/commit/cd04a8c944bf702b1c3771845a1eb9cb0795caf1)) +* **mappings**: add support for docs ([view commit](cord.nvim/commit/cfe563fae5208e30481f676433268a9f4d62b7bb)) +* modularize the event system and add helper macros for creating messages ([view commit](cord.nvim/commit/f302fa165e81be81102ec573b9f45b5b318824fd)) +* **msgpack**: add msgpack deserialization ([view commit](cord.nvim/commit/eb2e10d54fba0b5da77741b3d3bbaf649341d8ef)) +* **msgpack**: add msgpack serialization ([view commit](cord.nvim/commit/1f7c2a61196ccdc55dc8136d84866546ea9803df)) +* **msgpack**: add support for STR8 header ([view commit](cord.nvim/commit/cd634ea1ef03ae126b59a9e58626d3bfc36d23ef)) +* **msgpack**: allow serialization of Map values ([view commit](cord.nvim/commit/9dc26b48e9bed0c313ea1596fa3efd63af6594ab)) +* **msgpack**: support owned strings ([view commit](cord.nvim/commit/0679c31e07a36e62de90831b43534aec498a7bcb)) +* notify client when the workspace is found in the blacklist ([view commit](cord.nvim/commit/ae660bdf271cd57fa7845cc4287976ee6f2c685b)) +* notify the client when server is ready to accept connections ([view commit](cord.nvim/commit/b27d7636b87d1eda512b3ad23f6b6a81fcc274a5)) +* notify the clients about the server shutdown ([view commit](cord.nvim/commit/e987ba045392e83dc7ef90bc1e7eb57ecbbe4556)) +* prepend the messages with a length header in case they get merged ([view commit](cord.nvim/commit/264fde3b37af50c6b7d90d6a92f3e2fb957ca4da)) +* prioritize general activities over the idle activity ([view commit](cord.nvim/commit/b4a837c72d32c025009d927990bd5d487cb62a21)) +* **producer**: allow sending a shutdown request ([view commit](cord.nvim/commit/354e2a697b50306d9e6fa850b51d26851f2c081b)) +* provide clear error message for when the connection to Discord IPC fails ([view commit](cord.nvim/commit/48288949314e7646841f589848b911f4739e191e)) +* provide clearer server error messages ([view commit](cord.nvim/commit/34bfe124cf437a4251361654ca03ea4a9757caf5)) +* provide more data when logging the error ([view commit](cord.nvim/commit/22e9ed8973cb22a627e728366a034a242afbce05)) +* **server**: add local `ShutdownEvent` ([view commit](cord.nvim/commit/3f55760fb8f7b557e4b44fbef2b57d59e580919b)) +* **server**: improve error handling & error messages ([view commit](cord.nvim/commit/9aea257233410f1107ac8b5cba6f7c3e00a86a45)) +* **server**: notify the client whether the provided client id is incorrect ([view commit](cord.nvim/commit/edc9f5aa81224a01a7436ca659cff7d4892133a3)) +* set style-specific default idle icons ([view commit](cord.nvim/commit/c17ad890de619724b1983b6029c23fcd91563877)) +* specify MSRV ([view commit](cord.nvim/commit/1b520cab90bf3ea3e9db69ed6ae9224ed93e5c11)) +* specify plugin version ([view commit](cord.nvim/commit/cd8142f72240fc3ef15aafa64a0b7e0b713948c5)) +* stop any updates when connection is lost ([view commit](cord.nvim/commit/dd1dd439e9a89bd3eb7ab5e28558437e38652bcb)) +* store os name and architecture ([view commit](cord.nvim/commit/3f663db719c070ccdaf0bd1deabd0f86c151d327)) +* switch to next available activity on `clear_activity` event ([view commit](cord.nvim/commit/f05f12673a962d13efe9fecaa3969c8a40f77fc6)) +* tie each client to a session ([view commit](cord.nvim/commit/edd2141f1f0c9ecd6d1c9b9dde4f70771cb1861a)) +* trim stderr messages ([view commit](cord.nvim/commit/4ec5de9c410819a4a8bdd97ee2f87e4808e57a4a)) +* update sessions' last updated time ([view commit](cord.nvim/commit/9968d94ba2a463fca466915b0715f95679707456)) +* use newly added mapping types ([view commit](cord.nvim/commit/015f7ed48729abf782eebfb25193b3438311bedf)) +* **usercmds**: add `:Cord status` ([view commit](cord.nvim/commit/47c3d6af8c0fc74edd2859036952c82da7870215)) +* **usercmds**: add `:Cord update` ([view commit](cord.nvim/commit/eba53d977e7439c8c8a3743e2496949b9c08320d)) +* **util**: add additional file-related utility functions ([view commit](cord.nvim/commit/36d5031c22ba459845e6b9e5978373680ee25172)) +* validate and set `editor_image` upon initialization ([view commit](cord.nvim/commit/d56416a13a448ed59be31726c3dc22bfc659e87b)) + + +### fix + +* `IPC:is_closing` should return true if the pipe does not exist ([view commit](cord.nvim/commit/29170fda16fa179ec2bf6e0eac4454e9c7ba49b1)) +* `should_skip_update` should be checked right before the update ([view commit](cord.nvim/commit/93636dd1c2a93d31782b6f7bb113ae250bbc5ad1)) +* actually update the editor image ([view commit](cord.nvim/commit/b1e5deb51ce26605bfbf7cbf3a28a42114e95d9e)) +* allow sending same activity updates ([view commit](cord.nvim/commit/1883ba4715f0104b8a918e20bff28dcd4bf27625)) +* an attempt to fix intermittent ui freezes ([view commit](cord.nvim/commit/e53bf20a754775dfc6ee12da56a3404fb98d3207)) +* **async**: avoid including debug info on regular errors and fix error propagation ([view commit](cord.nvim/commit/618ce39bce038e220542c49241a8dbacb26b61b8)) +* automatically retry connection on `ECONNREFUSED` & `ETIMEDOUT` ([view commit](cord.nvim/commit/55452b306bd3a765b90f54fcf89ab91f8473a261)) +* avoid joining the handles ([view commit](cord.nvim/commit/3d478f127ebb4c23d47d6d613a64485cc90bd7f9)) +* change `cfg-if` attribute ([view commit](cord.nvim/commit/76ecb5c8d6b0acc647302642a4d246f8c4fe27b7)) +* close uv handles before exiting ([view commit](cord.nvim/commit/1bd6bb9358d1b6387f48613f85995094845dbe05)) +* **config**: correctly handle custom client ids ([view commit](cord.nvim/commit/a4719a2dadcaf3952b80165d8bfad6cdf9a14fec)) +* **config**: correctly replace config values ([view commit](cord.nvim/commit/17dd6f36a11ed25068fcf5f1785ef23a7f7e6928)) +* **config**: do not override the given editor icon ([view commit](cord.nvim/commit/25d31ba64e44d02bbd84a130561b1e06638678b0)) +* correct the logic responsible for falling back to defaults ([view commit](cord.nvim/commit/b784a7450ca19153cc3cf444c84cab3ce8cc5dad)) +* correctly handle curl's stdout ([view commit](cord.nvim/commit/5b44dff6dee59be5c7cc9ff25891c476429571c5)) +* correctly serialize activity timestamps ([view commit](cord.nvim/commit/6362a2c35b3fabbe58a9211e3034ac4042052622)) +* correctly serialize rich presence packet ([view commit](cord.nvim/commit/3e894ee1e6f9c2e35f610134d7022ec536998e18)) +* correctly set `workspace_dir` & `workspace_name` ([view commit](cord.nvim/commit/a56a85630e7b382332fc3b3c0bd756973a5ec6b9)) +* do not queue activity updates upon losing focus ([view commit](cord.nvim/commit/0b8d6099ae14e1ba9fc984e6252c3477760a015c)) +* fallback to default activity type if not provided ([view commit](cord.nvim/commit/bebea1fa9b12f9ed00266b892fe9060450b9e8d5)) +* idle timeout check ([view commit](cord.nvim/commit/2e3e96150cdcbb7f20640caa9ab62e362f3c5448)) +* implement event queuing for handling events registered after the handler is run ([view commit](cord.nvim/commit/46b8de4512cbbc268dd0d6b4cff21483aec2f0a3)) +* imports ([view commit](cord.nvim/commit/9e8819e4595b2735b7471be55aaa17c55ecf7d5f)) +* include `vim.log.levels.OFF` when parsing the log level ([view commit](cord.nvim/commit/cc9ba644fa02f2646651724d6d154af444625565)) +* **ipc**: cleanup the stale pipe if the server process was forcefully terminated ([view commit](cord.nvim/commit/a77e86c8381da06f28715d0bebb9e6fce5f42dda)) +* **ipc**: handle client disconnection on `ErrorKind::BrokenPipe` ([view commit](cord.nvim/commit/a315118178b121a31fa37d4cbb977ea2626cefc1)) +* **ipc**: properly cleanup on exit ([view commit](cord.nvim/commit/0d5c61bf3da514f4188795b18b0633a9be560567)) +* let the updater alone handle executable spawning, or we might have two threads attempting to spawn it simultaneously ([view commit](cord.nvim/commit/44acc109b3daaee104300804b5df97b8ea3ed729)) +* **log**: correctly write to the client pipe ([view commit](cord.nvim/commit/710b83e2f80d05b6fc8c90ab17a0d696d9c02406)) +* **mappings**: ensure that the tooltips have a minimum length of 2 ([view commit](cord.nvim/commit/e9368fa5f5f51e279a5e506305cdec8368af7ce1)) +* **mappings**: set plugin managers' default icon to `plugin` ([view commit](cord.nvim/commit/a2be43130107eb1cc07faf1724d587bd659116d5)) +* normalize path before workspace lookup ([view commit](cord.nvim/commit/c919c945193a583b5b4269784e81012ec8fbf873)) +* perform a nil check for usercmds interacting with the activity manager ([view commit](cord.nvim/commit/8427bed4be7a2f1c481c320dfc256fa5691410e1)) +* properly handle chunked data ([view commit](cord.nvim/commit/0b8c655e23e747a4d987e290f54d684a3f53982b)) +* properly handle server shutdowns ([view commit](cord.nvim/commit/281a93bd2cfe71ec51620f673bfb6847a9ea30fa)) +* replace method definition with a function definition ([view commit](cord.nvim/commit/8d6bcf94904160ab1035b03517e010d75b15c491)) +* resolve autocmds errors ([view commit](cord.nvim/commit/02340b11391843e852182b74e8dcd085084e724f)) +* resolve event serialization issues ([view commit](cord.nvim/commit/7ec693ecb0b518d8b955510ae16c239486dbd0f1)) +* resolve idle timeout related issues ([view commit](cord.nvim/commit/21d9a500f2c7e0d1458388af2800ac427a582d02)) +* resolve workspace issues; handle missing hooks ([view commit](cord.nvim/commit/4cff95899d4af7cce572a3d24304d0f026bb1c48)) +* return if config validation fails ([view commit](cord.nvim/commit/503371da39d5bf2451a5b4a4035ccfd4b8f8eb90)) +* schedule cleanup logic if necessary ([view commit](cord.nvim/commit/9aa6578e76b616db3a897df485ea09a04093afea)) +* schedule the callbacks to maintain compatibility with Neovim 0.6.0 ([view commit](cord.nvim/commit/35428c0c34f8235dd3e0b1bf52e60304cd2fd078)) +* **server**: fix logging level comparison ([view commit](cord.nvim/commit/86f2a704526c846a18d3ff485ac1a39427bd7961)) +* **server**: use panic-free means to write to stdout ([view commit](cord.nvim/commit/23ba7546c124023f853f14bb18c7d0d06fd5a1d4)) +* **sessions**: retrieve the correct session based on id instead of always returning the first available ([view commit](cord.nvim/commit/6493da41d75c05e9ba8e02cd2322ce989b290e7e)) +* set executable permissions on unix systems ([view commit](cord.nvim/commit/541a563b02dad39a15481180f47e6d9f05c9ba70)) +* **spawn**: use an absolute path for server executable's fallback path ([view commit](cord.nvim/commit/0ac391a48c4b98e4b809ecb29c86986cb4ed46af)) +* stop the plugin on server errors ([view commit](cord.nvim/commit/20d0a48010342c709c1ec060e1cc3870ab8e6879)) +* update `last_activity` only if an actual update occurred ([view commit](cord.nvim/commit/1dd0e2053a6bd357e36ce7a4c8c9b687dde2392e)) +* update server's status to `ready` on receiving the ready event ([view commit](cord.nvim/commit/8e5712950566f5ccd7959483765ff2e3c9b75787)) +* use `cord --version` to determine the current version of the executable and whether an update is required ([view commit](cord.nvim/commit/5c313197e0516dc717af55a0d4187970329da4af)) +* **windows**: properly handle overlapped I/O ([view commit](cord.nvim/commit/296e4f4fe6c61abcbccae0cefbdf58854b45bc99)) +* **windows**: use overlapped io for named pipes to avoid deadlocks ([view commit](cord.nvim/commit/2f73ce8676a59aea21619542fcefe5298da8c0e7)) + + +### perf + +* avoid unnecessary lookups ([view commit](cord.nvim/commit/a4bccf465bac46801b5e55148ef7555a330d80f7)) +* avoid unnecessary lookups ([view commit](cord.nvim/commit/b586eec3e834a61e043f663b0a6a2ac8c814bcef)) +* **fs**: switch to async filesystem ops ([view commit](cord.nvim/commit/961ec2cbacc9b1ad2d9da5bcb6f5c2b607de382e)) +* handle logic responsible for broadcasting the ready event more efficiently ([view commit](cord.nvim/commit/a5c8ca3796b0d44ca277292d3309705cf6d1397a)) +* **json**: optimize deserialization logic ([view commit](cord.nvim/commit/02c233fcdba5b3813dd057fbc3189fbd2bdd9d96)) +* **json**: optimize serialization logic and generalize the serializer ([view commit](cord.nvim/commit/3e7ab98cf7b79a565746edf77f178cd366eb9970)) +* **lua**: lazy load some modules ([view commit](cord.nvim/commit/0f1ebaa90343a744b06945ee7192535f4f3b60f7)) +* **lua**: lazily load other modules ([view commit](cord.nvim/commit/6313f45ed0dcb282da54ac508ca3d7d9a710a128)) +* **mappings**: significant performance improvements ([view commit](cord.nvim/commit/8ea0ad8a2451efea8539e3d8c682eebe0d723d5c)) +* remove unnecessary atomics ([view commit](cord.nvim/commit/85499cf441a06db1c677abf78bc9757255a9c3d1)) + + +### refactor + +* **`AssetType`**: rename `Lsp` to `LspManager`, allow parsing from a string slice ([view commit](cord.nvim/commit/025092da3d148fd0bd9f530b4102aab5c5be6413)) +* `Config::buttons` should be optional ([view commit](cord.nvim/commit/363fbee799481af7b2f3898337f2a203c11d8c44)) +* `Packet` should not own the `Activity` ([view commit](cord.nvim/commit/ca936f8b7787055c778a6d3ad7a8306d88273fc4)) +* **activity manager**: `pause()` and `resume()` should check `is_paused` ([view commit](cord.nvim/commit/d884b1d510e73b221744d58c0aab52e7990f4022)) +* add more logging ([view commit](cord.nvim/commit/2e78f244b222c57428902f94c933667e50802e31)) +* add new message types, rename `ServerMessage` to `LocalMessage`, resolve lifetime issues ([view commit](cord.nvim/commit/9a7d0c62ef6db8d937f0381c980bdb062f240681)) +* apply clippy suggestions ([view commit](cord.nvim/commit/071da49da52c279147cc0c2e48eee4bab2b0ffec)) +* call `on_ready` after initializing the activity manager ([view commit](cord.nvim/commit/378ade36ffe95f026f59b8f2002b3dd0ed9861eb)) +* change `'Connecting'` log level to `DEBUG` ([view commit](cord.nvim/commit/f0749be64d817073e37c758c434e9bbc5b680c96)) +* change `Deserialize::deserialize` to return `crate::Result` ([view commit](cord.nvim/commit/28e93f039311f58fdb547697e0ecc5579188bc7f)) +* change `killall -9` -> `pkill -15` ([view commit](cord.nvim/commit/f9931732e83f14e41d98d6786917b94c0e656100)) +* change `validate_buttons` function to accept a mutable reference ([view commit](cord.nvim/commit/29938ed924d737bc43e6b928ccef094d6216b34b)) +* change error messages ([view commit](cord.nvim/commit/694fb967fea332b80504e8cfb583772c2c6ed973)) +* change the return type of `OnEvent::on_event` to `crate::Result<()>` ([view commit](cord.nvim/commit/54f69dcc8c6eb2abf70b55cf97019f659f061daf)) +* **cli**: add a new error type for cli-related errors ([view commit](cord.nvim/commit/4962a5f8cc50bb6b7bf06d65240d15b073fabc82)) +* **codebase**: ensure proper asynchronous flow and reorganize codebase ([view commit](cord.nvim/commit/9f205acbae0022c1d6b73d87560dbdfb53695fd9)) +* **config**: change default text values ([view commit](cord.nvim/commit/15a8f58aafabf4c5f25966338d1dc3d1ae109a58)) +* **config**: change default values ([view commit](cord.nvim/commit/3822787a17fc009438eea6d58a3d717cadbca3df)) +* **config**: remove `lsp` ([view commit](cord.nvim/commit/178631a04e333cfd0c85eec76e84d29833384175)) +* **config**: rename `advanced.server.build` to `update` ([view commit](cord.nvim/commit/8f723a500540d68ac6af1651ba1cde274223d51a)) +* **config**: rename `enable` -> `enabled` ([view commit](cord.nvim/commit/849f7a9d789f36164091e168cac0e58425d6a76f)) +* **config**: set `cursor_update_mode` to `'on_hold'` by default ([view commit](cord.nvim/commit/6b320e924f863fd2b6b36eec45ac3c2e404c9bab)) +* **config**: set `log_level` to `INFO` by default ([view commit](cord.nvim/commit/96e9bab3b6ab7679d7127fcca20817f34dadb18e)) +* **constants**: change assets url to the new repo; reset assets version ([view commit](cord.nvim/commit/a61520e4c0eb66b71b309548d4491d636b94147c)) +* **core**: simplify Rust backend by removing internal details ([view commit](cord.nvim/commit/266b82452bc775fa62b2a1501bd93ecea51dbab5)) +* correct require path ([view commit](cord.nvim/commit/6f6899ac1804cf5b9fad8a9427be1e9cece0d237)) +* **error**: change `CordError` type definition; add missing error types ([view commit](cord.nvim/commit/cf1990d8ad15496f715c0db3a384b347408294bc)) +* **error**: include error kind when converting the error to string ([view commit](cord.nvim/commit/ecfd9675bcf548cf3412e8e3b19d09468bf4241e)) +* **events**: update event implementations ([view commit](cord.nvim/commit/baaa8fa62bcf7249a166545bdb63d123bded17c0)) +* **events**: use the client `DisconnectEvent` instead of the local `ClientDisconnectedEvent` ([view commit](cord.nvim/commit/6535683bbfaf3774b8d33d92caf9e4650ba6b814)) +* fallback to `vim.uv` ([view commit](cord.nvim/commit/4d7604da1a5e72381882807bcaa35173cc4b7dac)) +* fallback to os-specific executable path ([view commit](cord.nvim/commit/19d2ef9cbfb144572d9e48cb1f4cd1601259db28)) +* fix error message ([view commit](cord.nvim/commit/7ae59661360ffb5e122e46995be7f8c531677c0f)) +* force constructor initialization ([view commit](cord.nvim/commit/cb81ac9e14c82b5aaceb2a1ec29da7186cd41a85)) +* handle shutdowns directly ([view commit](cord.nvim/commit/4e9748c58f605819d074495e20e5c9a81fc58372)) +* handle the process handle ([view commit](cord.nvim/commit/edf1a1b79577a5245f9632beb34f988b55545099)) +* have the session store `last_activity` ([view commit](cord.nvim/commit/ca3480841e35653885072c0cd8de52ffb1268294)) +* implicitly return result in main function ([view commit](cord.nvim/commit/e9667f26002e79b24471d5767112fb3cc1249bf0)) +* improve the way updates are skipped; expose a function in the manager class ([view commit](cord.nvim/commit/7032c0dbc996cb6f0b817790d1e898787278d35f)) +* **ipc**: remove `on_error` calls ([view commit](cord.nvim/commit/5f3fcfe606d34e6124db8af8748d65d2e8894192)) +* **ipc**: remove unnecessary scheduling ([view commit](cord.nvim/commit/3271a527a01ecafa5215896ceea299297c261124)) +* **ipc**: use full pipe path ([view commit](cord.nvim/commit/8090ddf69a141eac14ec9dd354c65c07cde79380)) +* **json**: rename value structs and move them to their own file ([view commit](cord.nvim/commit/542f2f8a1b064a83aa3149b3535c1caaf56b5e61)) +* make `EventContext` mutable ([view commit](cord.nvim/commit/53bae427dce0ce84e5f7c67c240a0287b2aa7bfc)) +* **manager**: force an update upon gaining focus ([view commit](cord.nvim/commit/4e5778fcc743a438ac67000619974eeee828b7f7)) +* **mappings**: provide a constant value for default icons ([view commit](cord.nvim/commit/5a93c0838ef22b948109a9b0e2890d871a2df3e2)) +* minor changes ([view commit](cord.nvim/commit/f8b7e0b84fdc8ae29443354bcf21ecf368a8d7cc)) +* move `args.rs` to its own module ([view commit](cord.nvim/commit/26575ef9e080c2c119a59fd6378c51ed7d475371)) +* move `AssetType` to `util` ([view commit](cord.nvim/commit/cf9605a72e3ebb6febe95a6a74ef4fc735366ad6)) +* move `types.rs` to its own module ([view commit](cord.nvim/commit/aa090112b91cdef138564c64dd8d41aa2acd58dc)) +* move autocmd for cleaning up to `plugin/cord.vim` ([view commit](cord.nvim/commit/d57d2fc48869cc9674fb954a096fc041c5f76795)) +* move Discord IPC logic to a separate module ([view commit](cord.nvim/commit/5915844d17546fff55742b6377e538b1a7dc4464)) +* move IPC messages to their own module ([view commit](cord.nvim/commit/3a70ea636b8130228fd94e0bfe5c0f776f3720e4)) +* move usercmds to `cord.vim` ([view commit](cord.nvim/commit/ca7bb9d3382b5b8d2c1ed50945b0c438da9de37f)) +* **msgpack**: make `deseralize` accept already deserialized `Value` ([view commit](cord.nvim/commit/4051fa21558f164eb9e97ce9bdf24635966d5e84)) +* override `opts.filename` if it's empty ([view commit](cord.nvim/commit/5e5dee3a1a8ed5b2d3738add7f159f84472d269f)) +* provide debug error messages ([view commit](cord.nvim/commit/64a6489f6a01096de7581b63fe59ca41ac20ee86)) +* reduce code verbosity by using macros ([view commit](cord.nvim/commit/bee4aa09211db43dfc755394b7666fc02887677d)) +* reflect codebase changes ([view commit](cord.nvim/commit/4b03eb2d63e05366722cfa64cbef2689a5f1ebc6)) +* remove `constants.VERSION` ([view commit](cord.nvim/commit/2d43373e2413247914de27d89ad5dc3489141fb2)) +* remove excessive debug logging ([view commit](cord.nvim/commit/414b4b249146a25032271b8575a6a31c5fea3dcc)) +* remove lib.rs ([view commit](cord.nvim/commit/e01274ea28ff29d76674ac381c661d70cfa6bbfa)) +* remove redundant functions ([view commit](cord.nvim/commit/bc814dae5706d6c3e5106cd91cb7641d2a431568)) +* remove server-scoped `ShutdownEvent` ([view commit](cord.nvim/commit/96f3478874cbf83528abbd0fcbd1a699828bb6d7)) +* remove unnecessary events ([view commit](cord.nvim/commit/e4522d61c5510d511868eaf542077387362a1979)) +* rename `Config` to `PluginConfig` ([view commit](cord.nvim/commit/e7d37952af1d037da11c57d39fa3959016476388)) +* rename `ResetTimestampEvent` -> `SetTimestampEvent` ([view commit](cord.nvim/commit/f2807503e6001aa5f0d35bc3a2c4aae4cc6ceefb)) +* rename `rpc` to `activity` ([view commit](cord.nvim/commit/09ed1af7dedaa143b863ac4e02de894d4231f77c)) +* rename `style` -> `theme` ([view commit](cord.nvim/commit/b9a7b7ea9cf9a91efc59eefc116eab97911d661a)) +* rename `swap_images` -> `swap_icons` ([view commit](cord.nvim/commit/c40b7ca5776151989ad5a42551b3fbe4e4d24e56)) +* rename `take_str` -> `take_string` ([view commit](cord.nvim/commit/c5b0a228fc787c017c258e7deeab2662b9b15ae7)) +* rename directory to `presence` ([view commit](cord.nvim/commit/71034b2243669ea5156431fd6e28b5fa21b7b54e)) +* replace `SessionManager::new` with `Default` derive ([view commit](cord.nvim/commit/a0587fdf93378b705a2afeff7e38f3b47ad8e31d)) +* rewrite the codebase to use msgpack instead of json ([view commit](cord.nvim/commit/f2228cfccbc5a7453d4e18bc07a66029e654b58a)) +* separate process spawning logic ([view commit](cord.nvim/commit/b0d46bde3810125475912b01b46198550bc85510)) +* **serialization**: move [de]serializers to their own common module; introduce a common error type ([view commit](cord.nvim/commit/92102e674ff25911eefd04e1136f519dfe67d16f)) +* set `opts.skip_update` back to `false` after skipping an activity update ([view commit](cord.nvim/commit/fe78f7acd20cd93ca983dc9806011b6d31c01376)) +* set executable directory to `nvim-data/cord/bin` ([view commit](cord.nvim/commit/4e69b5b79d596086381a26293cb92ade44829c60)) +* split `PluginConfig` into structs with relevant fields ([view commit](cord.nvim/commit/3e10a9a0adca9748ebb8ef2241152d91113aebd5)) +* store relevant types and constants in a separate file ([view commit](cord.nvim/commit/05eb4f4f9b93801855143c1b51a21d59604b5965)) +* tweak events ([view commit](cord.nvim/commit/9dfa106280f21e8ba0ff57663c4f6b794584326d)) +* unconditionally fetch and store the git url ([view commit](cord.nvim/commit/a78605352e20e7222d7fabae0feed1ab7caa2066)) +* update event context to include reference to Cord itself ([view commit](cord.nvim/commit/30995c661c124311d22f75af0f613aeb8d5808e6)) +* update log message ([view commit](cord.nvim/commit/e2d16d255e41522bfdc8f29df9949ab006131445)) +* update serialization logic ([view commit](cord.nvim/commit/c17fa3ece4e05530e7f6f9473094206f947a899e)) +* use `crate::Result` type ([view commit](cord.nvim/commit/8cf2bc2dbbbe541e5bb79789f9245e552fdfa37d)) +* use `Packet::empty()` ([view commit](cord.nvim/commit/d4ff8faf7a26a4f64d27b920bde13a9161968611)) +* use Cargo to build the server executable ([view commit](cord.nvim/commit/233b18b2e51b5aef874775d7d9dd959fcea19359)) +* use os-specific defaults ([view commit](cord.nvim/commit/c5b9e03f87be8cf17a61be78bf07b1dd1504397c)) +* **usercmds**: do not include stack traceback when logging on unknown command ([view commit](cord.nvim/commit/46164b4254c6e6872d483bc54e360ea2454275ae)) +* wrap `editor_image` in Option type ([view commit](cord.nvim/commit/a59eb2533d283ceb03bb837f08a4ae5aca199f68)) + + +### style + +* correct error message ([view commit](cord.nvim/commit/2914451e5a61e633bb865eefa42e7a09feef13c1)) +* fix warning ([view commit](cord.nvim/commit/d55a6b171ee58b400a124e29233a16c11a9e2980)) +* fix warnings ([view commit](cord.nvim/commit/149cb9f0a09478d73e2faa264b1bb33687a6de91)) +* fix warnings ([view commit](cord.nvim/commit/b5f7cee2ab210a581e11dceb3cf41872f6f71030)) +* fix warnings ([view commit](cord.nvim/commit/791a83e181f3f74143ddfd4047b1d7ac487d947a)) +* fix warnings ([view commit](cord.nvim/commit/b22e44287952230ef28c8234bd33204b9bf06791)) +* more logging ([view commit](cord.nvim/commit/a776a4161b04a8e1258aedf9490493e315313650)) +* move autocmds to the bottom of the file ([view commit](cord.nvim/commit/c42f88f5f463da1822aff1b2d218319ad26c87db)) +* reformat code ([view commit](cord.nvim/commit/7af31a82e01432e7e562a671fb88575609806ab4)) +* reformat codebase ([view commit](cord.nvim/commit/8e88a20e01c00c96048ebed7fed925e17822d988)) +* remove unused import ([view commit](cord.nvim/commit/ed3f1309d0f219391e6b5d2c4b439f00b36b7b1a)) +* remove unused variables ([view commit](cord.nvim/commit/d6f7a4096bea85ac4c36a91a49e16eaf199745ea)) +* remove unused variables ([view commit](cord.nvim/commit/dedec5f7dfe96daa57e153120c7f39402f2dad2b)) +* reorder imports ([view commit](cord.nvim/commit/5658ca805c3bb495017d277e59367de3580fac84)) +* resolve unused argument warning ([view commit](cord.nvim/commit/85781a2c862de4cbbb80b2bf35c0bfe9c3251075)) + + +### BREAKING CHANGE + +* none + +# ⚙️ [v2.0.0-beta.1] + +_2025-01-02_ + * feat!: update semantic release's ci ([#573814d](cord.nvim/commit/573814db641b62a37a9bea2c6f750c6a543f136f)) * fix!: bugfixes related to opts handling, workspace detection callback, button validation as well as slight changes in configuration ([#277b5b0](cord.nvim/commit/277b5b0517c9dfcb2a6887820005a8f3df068a14)) * merge #147 ([#9423cf3](cord.nvim/commit/9423cf34faca901874a0d3741f867bb0babf24dc))