Skip to content

Releases: kkoomen/vim-doge

v4.3.2

15 Aug 12:57
bcd7fa9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.3.1...v4.3.2

v4.3.1

15 Aug 09:14
88fdd3a
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.3.0...v4.3.1

v4.3.0

13 Aug 08:05
2d956b9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.2.0...v4.3.0

v4.2.0

12 Aug 13:59
d6ab9a0
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.1.2...v4.2.0

v4.1.2

12 Aug 07:26
6f06127
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.1.1...v4.1.2

v4.1.1

10 Aug 11:42
fad08d9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.1.0...v4.1.1

v4.1.0

24 Jul 13:28
911fdbf
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.0.0...v4.1.0

v4.0.0

09 Jul 21:57
64d5f18
Compare
Choose a tag to compare

The Rust rewrite that had to happen

In v4 a new custom vim-doge-helper has been created, completely developed in Rust from scratch, being a replacement for the old NodeJS version that vim-doge had in v3.

TL;DR: v4 now generates docblocks ~96% less time, 26% faster and has 87% smaller bundle sizes compared to v3.

This new version resolves the following problems that existed prior to v4:

  • Failing Windows builds due to node-gyp build problems
  • Templating limitations: v3 contained basic templating functionality that was custom written, as opposed to v4 that uses Tera
  • Limited platform builds: v3 required due to NodeJS that binaries were created on the target machine itself that it was eventually used for. Windows builds had to be created on a windows runner and support for Apple Silicon had to be build on arm64 machines, but v4 can use the power of cross-compilation of Rust (through LLVM) to make builds for multiple architectures.
  • Tree-sitter language limitations: v3 required parsers to be published on NPM, but these packages aren't maintained that well. If there was no package of a certain parser on NPM, then we simply can't implement the language. With v4 we can use the tree-sitter GitHub source to be included in Cargo.toml that can link everything properly from C to Rust and we don't need any third-party package manager anymore in-between vim-doge and tree-sitter.
  • Vimscript logic: v3 contained docblock generating logic that should actually not be managed in vim. For example, It used plain regex to do some additional pre/post-processing rather than using tree-sitter. In v4 all the logic has been moved to the vim-doge-helper and all the vimscript code is only a bridge between the user and the vim-doge-helper.
  • Speed: v4 allows docblocks to be generated with the blink of an eye, as opposed to v3 where users had to wait a bit, and even worse, the first docblock genereration you did in v3 after you've downloaded the vim-doge binary, did require NodeJS to start the runtime which lead to a total wait time of ±0.4s until the docblock was generated. With v4, docblock are generated in about ±0.015s.
  • Bundle size: v3 bundles were ~30MB, whereas v4 bundles are ~4MB (87% smaller)

What's Changed

Full Changelog: v3.21.0...v4.0.0

v3.22.0

10 Jun 12:45
147f04c
Compare
Choose a tag to compare

What's Changed

  • Release v3.21.0 by @kkoomen in #567
  • chore(deps-dev): bump rimraf from 4.1.2 to 5.0.1 by @dependabot in #570
  • chore(deps): bump vm2 from 3.9.17 to 3.9.19 by @dependabot in #569
  • chore(deps-dev): bump typescript from 4.9.5 to 5.0.4 by @dependabot in #565
  • Only replace \t chars when not followed by "param" by @kkoomen in #579
  • chore(deps-dev): bump @typescript-eslint/parser from 5.50.0 to 5.59.9 by @dependabot in #578
  • chore(deps-dev): bump release-it from 15.10.2 to 15.11.0 by @dependabot in #577
  • chore(deps-dev): bump nodemon from 2.0.20 to 2.0.22 by @dependabot in #571

Full Changelog: v3.21.0...v3.22.0

v3.21.0

05 May 13:20
714c795
Compare
Choose a tag to compare

What's Changed

  • chore(deps-dev): bump release-it from 15.5.0 to 15.10.2 by @dependabot in #558
  • chore(deps-dev): bump eslint from 8.28.0 to 8.39.0 by @dependabot in #560
  • Release v3.20.0 by @kkoomen in #561
  • chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.44.0 to 5.59.2 by @dependabot in #562
  • chore(deps-dev): bump prettier from 2.8.4 to 2.8.8 by @dependabot in #563
  • chore(deps-dev): bump @commitlint/cli from 17.4.2 to 17.6.1 by @dependabot in #559

Full Changelog: v3.20.0...v3.21.0