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