From 459b24a1430e1e236101818be82fae9d9a303b10 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 22:16:38 +0000 Subject: [PATCH 1/2] chore(main): release 2.0.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 41ea87d..895bf0e 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.2.1" + ".": "2.0.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..acac72e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,35 @@ +# Changelog + +## [2.0.0](https://github.com/zuqini/zpack.nvim/compare/v1.2.1...v2.0.0) (2026-06-03) + + +### ⚠ BREAKING CHANGES + +* the options and commands listed above no longer work. Migrate to the replacements shown before upgrading to 2.0.0. +* :ZPack with subcommands + +### Features + +* adopt Neovim plugin best practices ([#23](https://github.com/zuqini/zpack.nvim/issues/23)) ([2f45de6](https://github.com/zuqini/zpack.nvim/commit/2f45de670e4dcbc6a8ae7b11284764772f1cf3e3)) +* close lazy.nvim parity gaps across lazy triggers ([#27](https://github.com/zuqini/zpack.nvim/issues/27)) ([9ed473a](https://github.com/zuqini/zpack.nvim/commit/9ed473adbf6af59b650ecd716b56bf0ccbf0d7f8)) +* **lazy-parity:** add defaults.lazy and defaults.version ([#29](https://github.com/zuqini/zpack.nvim/issues/29)) ([d52f0dd](https://github.com/zuqini/zpack.nvim/commit/d52f0ddf85cf8fe74952f7825d3f9ea5f31b2968)) +* lazy.nvim spec parity (pin/optional/dev/specs/build/reload/sync) ([#28](https://github.com/zuqini/zpack.nvim/issues/28)) ([b6f82cd](https://github.com/zuqini/zpack.nvim/commit/b6f82cdd9774357b0267f0b896b9d2e1c867743a)) +* remove deprecated features for 2.0.0 ([#25](https://github.com/zuqini/zpack.nvim/issues/25)) ([4681a74](https://github.com/zuqini/zpack.nvim/commit/4681a74a1a7f265549a5dd98b7ce838bb1b85e92)) +* support bang on :ZPack update/restore; document 0.13 native commands ([4f9b312](https://github.com/zuqini/zpack.nvim/commit/4f9b31274dbedf7ac08b9a138e1bf52bf4fe91b4)) +* sync state with vim.pack via PackChanged on plugin removal ([0b65048](https://github.com/zuqini/zpack.nvim/commit/0b65048efd8891ec4e1aba4acc678b35af719b18)) + + +### Bug Fixes + +* address PR [#21](https://github.com/zuqini/zpack.nvim/issues/21)/[#22](https://github.com/zuqini/zpack.nvim/issues/22) review follow-ups ([c9c6c61](https://github.com/zuqini/zpack.nvim/commit/c9c6c612b9ffe7953e46ff4759d86274b9a9526d)) +* command-specific legacy command deprecation notice ([8970a43](https://github.com/zuqini/zpack.nvim/commit/8970a43b3ab24c7c5d27020e2a23922e198ef5ca)) +* correct bang placement in usage hints; always warn on legacy commands ([2f4bf35](https://github.com/zuqini/zpack.nvim/commit/2f4bf356e0faec7d3c99bca725df0d721446b971)) +* guard non-number priority and non-string import field ([af3f109](https://github.com/zuqini/zpack.nvim/commit/af3f1097152a36493144be22f6e8fd7c32351c90)) +* guard non-string src/url/dir in normalize_source ([b127f63](https://github.com/zuqini/zpack.nvim/commit/b127f63279a67f10dd5a3e0c5fc75b7a9cc6785a)) +* harden lazy-load path against operator-pending loss + throw-leaks ([#26](https://github.com/zuqini/zpack.nvim/issues/26)) ([c6079d5](https://github.com/zuqini/zpack.nvim/commit/c6079d5b10301bf4c3f59863fd2a23d00271a0e2)) +* preserve typeahead order on multi-key sequences ([6b99fcb](https://github.com/zuqini/zpack.nvim/commit/6b99fcb107c1436dfbb7e5cbb0c7072799973a11)) + + +### Code Refactoring + +* :ZPack with subcommands ([d197fc6](https://github.com/zuqini/zpack.nvim/commit/d197fc6281550f3872c10b1e3ae16b55d656b27b)) From 874605c97441f60bc4adec9c2d3b48e34c041b4f Mon Sep 17 00:00:00 2001 From: zuqini Date: Wed, 3 Jun 2026 15:32:17 -0700 Subject: [PATCH 2/2] docs: add 1.x->2.0 upgrade guide; fix 2.0.0 changelog migration notes release-please generated a dangling BREAKING CHANGES note ('the options listed above ... replacements shown') because the PR-body table did not carry into the commit footer. Replace it with the real migration table and add a durable 'Upgrading from 1.x to 2.0' section to docs/tips.md (linked from README Tips & Migration). --- CHANGELOG.md | 16 ++++++++++++++-- docs/tips.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index acac72e..cae483d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,20 @@ ### ⚠ BREAKING CHANGES -* the options and commands listed above no longer work. Migrate to the replacements shown before upgrading to 2.0.0. -* :ZPack with subcommands +2.0.0 removes every previously deprecated `setup()` option, the `zpack.add()` +function, and the legacy `:Z*` commands. Update your config before upgrading: + +| Removed in 2.0 | Replacement | +|---|---| +| `setup({ confirm = … })` | `setup({ defaults = { confirm = … } })` | +| `setup({ disable_vim_loader = true })` | `setup({ performance = { vim_loader = false } })` | +| `setup({ plugins_dir = 'dir' })` | a `{ import = 'dir' }` entry in your spec list | +| `setup({ cmd_prefix = 'Z' })` | `setup({ cmd_name = 'Z' })` | +| legacy `:ZUpdate` / `:ZClean` / `:ZDelete` / `:ZRestore` / `:ZLoad` / `:ZBuild` | `:ZPack update` / `clean` / `delete` / `restore` / `load` / `build` (or `:Z …` with `cmd_name = 'Z'`) | +| `setup({ auto_import = … })` | removed — was already a no-op in 1.x | +| `require('zpack').add(…)` | removed — was already a no-op in 1.x | + +See [Upgrading from 1.x to 2.0](https://github.com/zuqini/zpack.nvim/blob/main/docs/tips.md#upgrading-from-1x-to-20) for the full migration guide. ### Features diff --git a/docs/tips.md b/docs/tips.md index 52f8527..990190e 100644 --- a/docs/tips.md +++ b/docs/tips.md @@ -1,5 +1,33 @@ # Tips & Migration +## Upgrading from 1.x to 2.0 + +2.0.0 removes every option and command that was deprecated during the 1.x series. The renamed options (`confirm`, `disable_vim_loader`, `plugins_dir`) emitted runtime warnings throughout 1.x; the legacy `:Z*` commands are removed in favor of the `:ZPack ` dispatcher. Removed options are now ignored silently, so update your `setup()` call before upgrading: + +| Removed in 2.0 | Replacement | +|---|---| +| `setup({ confirm = … })` | `setup({ defaults = { confirm = … } })` | +| `setup({ disable_vim_loader = true })` | `setup({ performance = { vim_loader = false } })` | +| `setup({ plugins_dir = 'dir' })` | a `{ import = 'dir' }` entry in your spec list | +| `setup({ cmd_prefix = 'Z' })` | `setup({ cmd_name = 'Z' })` | +| `setup({ auto_import = … })` | removed — was already a no-op in 1.x | +| `require('zpack').add(…)` | removed — was already a no-op in 1.x | + +### Commands + +The per-action `:Z*` commands are now subcommands of a single `:ZPack` command: + +| 1.x | 2.0 | +|---|---| +| `:ZUpdate` | `:ZPack update` | +| `:ZRestore` | `:ZPack restore` | +| `:ZClean` | `:ZPack clean` | +| `:ZBuild` | `:ZPack build` | +| `:ZLoad` | `:ZPack load` | +| `:ZDelete` | `:ZPack delete` | + +The command name is configurable via `cmd_name` (default `ZPack`). If you relied on the old `cmd_prefix = 'Z'`, set `cmd_name = 'Z'` to type `:Z update`, `:Z clean`, etc. The `!` bang is still supported where it was before (e.g. `:ZPack! build`, `:ZPack! delete`). + ## Migrating from lazy.nvim Most of your lazy.nvim plugin specs will work as-is with zpack. However, zpack follows `vim.pack` conventions over lazy.nvim conventions, and is missing a few advanced features: