Skip to content

Conversation

lambdalisue
Copy link
Member

@lambdalisue lambdalisue commented Aug 24, 2025

Summary

  • Update Deno from 1.45.0 to 2.3.0
  • Update Vim from 9.1.0448 to 9.1.1646
  • Update Neovim from 0.10.0 to 0.11.3

Test plan

  • Verify CI tests pass with new versions
  • Confirm version check logic works correctly
  • Test that badges display properly

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Raised minimum supported environments to Deno 2.3.0+, Vim 9.1.1646+, and Neovim 0.11.3+; continuous integration updated accordingly.
    • Updated runtime checks to enforce the new minimum versions with revised warnings for unsupported setups.
    • Refreshed dependencies to newer compatible releases.
  • Documentation
    • Updated compatibility badges to reflect the new Deno/Vim/Neovim versions.

Copy link

coderabbitai bot commented Aug 24, 2025

Walkthrough

Versions updated across CI matrices, README badges, supported versions, plugin version checks, and Deno import maps. Deno 1.x support is dropped from CI; new minimums set to Deno 2.3.0, Vim 9.1.1646, and Neovim 0.11.3. Dependencies in import maps are bumped to newer releases.

Changes

Cohort / File(s) Summary
CI workflow matrices
.github/workflows/test.yml
Update check/test matrices: remove Deno 1.x from check; change test deno_version to ["2.3.0","2.x"]; bump Vim to v9.1.1646 and Neovim to v0.11.3.
Docs badges
README.md
Update compatibility badges to Deno 2.3.0, Vim 9.1.1646, Neovim 0.11.3.
Import maps (deps)
deno.jsonc, denops/@denops-private/deno.jsonc
Bump versions for @denops/core to ^8.0.0 and several @std/* and related libs; no structural config changes.
Supported versions data
denops/supported_versions.json
Set deno 2.3.0, vim 9.1.1646, neovim 0.11.3; structure unchanged.
Vim plugin version guard
plugin/denops.vim
Raise minimum Vim/Neovim versions in guard and messages to Vim 9.1.1646 and Neovim 0.11.3.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

enhancement

Suggested reviewers

  • Shougo
  • Milly

Poem

I thump my paws—new versions hop in line,
Deno 2, Vim and Neo shine.
Import maps groomed, CI in tune,
Carrots of green in the build cocoon.
With whiskers twitching, I approve this run—
Ship it swift, then bask in sun. 🥕🐇

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-supported-versions

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@lambdalisue lambdalisue mentioned this pull request Aug 24, 2025
17 tasks
- Deno: 1.45.0 → 2.3.0
- Vim: 9.1.0448 → 9.1.1646
- Neovim: 0.10.0 → 0.11.3

Following the support policy to use latest available versions.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@lambdalisue lambdalisue force-pushed the update-supported-versions branch from 9a7cfa9 to 32977c2 Compare August 24, 2025 07:51
Copy link

codecov bot commented Aug 24, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.75%. Comparing base (3f82789) to head (7c92f6f).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #458      +/-   ##
==========================================
- Coverage   96.77%   96.75%   -0.03%     
==========================================
  Files          11       11              
  Lines         962      924      -38     
  Branches      143      143              
==========================================
- Hits          931      894      -37     
+ Misses         28       27       -1     
  Partials        3        3              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

lambdalisue added a commit to vim-denops/deno-denops-std that referenced this pull request Aug 24, 2025
Updates generated TypeScript functions and options to include new
supported versions and documentation improvements from the upstream
Denops repository for v8 compatibility.

Related: vim-denops/denops.vim#458

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
lambdalisue added a commit to vim-denops/deno-denops-std that referenced this pull request Aug 24, 2025
Updates generated TypeScript functions and options to include new
supported versions and documentation improvements from the upstream
Denops repository for v8 compatibility.

Related: vim-denops/denops.vim#458

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
README.md (1)

125-125: Typo in Windows cache path environment variable (“LOACALAPPDATA”).

Should be “%LOCALAPPDATA%\deno”. This is user-facing and can mislead.

-(`%LOACALAPPDATA%\deno`) every time Deno starts up. To avoid this, add Deno's
+(`%LOCALAPPDATA%\deno`) every time Deno starts up. To avoid this, add Deno's
🧹 Nitpick comments (4)
plugin/denops.vim (1)

6-9: Optional: Single-source version strings

To avoid drifting version requirements, please keep the values in plugin/denops.vim in sync with denops/supported_versions.json (and your CI matrix). If you’re already regenerating this block via .scripts/apply_supported_versions.ts, add a “DO NOT EDIT” banner so manual edits don’t get lost:

 plugin/denops.vim
@@ -5,6 +5,8 @@
 
+ " DO NOT EDIT: updated by .scripts/apply_supported_versions.ts
  if !get(g:, 'denops_disable_version_check') && !has('nvim-0.11.3') && !has('patch-9.1.1646')
    echohl WarningMsg
    echomsg '[denops] Denops requires Vim 9.1.1646 or Neovim 0.11.3. See ":h g:denops_disable_version_check" to disable this check.'

• Location to update:

  • plugin/denops.vim (lines 6–9)

• Optional sanity check for any stray old versions:

rg -nP --hidden -g '!**/CHANGELOG*' '(nvim-0\.10(\.\d+)?|patch-9\.1\.0448|Deno\s*1\.)'

(The only match in autoload/health/denops.vim is the intentional nvim-0.10 threshold for choosing the health API.)

.github/workflows/test.yml (1)

37-38: Optional: pin one job to the exact Deno point release; keep the rest on 2.x.

You already test both "2.3.0" and "2.x" in the test job. Consider mirroring that in the check job (add a small matrix for "2.3.0" and "2.x") so lint/format/type/doc checks also run against the pinned baseline.

Also applies to: 76-77

README.md (2)

32-35: Call out minimum Deno 2 explicitly to avoid confusion for Deno 1.x users.

The instructions say “install the latest Deno” but we’ve dropped Deno 1.x. A brief note here will save users a round-trip.

-Firstly, install the latest [Deno]. Refer to the
+Firstly, install [Deno] (version 2.3.0 or later). Refer to the

144-150: Clarify the “two most recent minor versions” policy with a concrete example.

Given the jump to Deno 2.x, an example reduces ambiguity (e.g., which 2.x minors are in scope).

 - Regarding Neovim/Deno, support extends to the two most recent minor versions.
+ - Regarding Neovim/Deno, support extends to the two most recent minor versions.
+   For example, when the minimum Deno version is 2.3.0, the supported range is
+   2.3.x and the latest 2.x minor release at the time of update.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 3f82789 and 7c92f6f.

📒 Files selected for processing (6)
  • .github/workflows/test.yml (1 hunks)
  • README.md (1 hunks)
  • deno.jsonc (1 hunks)
  • denops/@denops-private/deno.jsonc (1 hunks)
  • denops/supported_versions.json (1 hunks)
  • plugin/denops.vim (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2024-07-05T15:37:46.867Z
Learnt from: Milly
PR: vim-denops/denops.vim#385
File: autoload/denops/plugin.vim:56-58
Timestamp: 2024-07-05T15:37:46.867Z
Learning: In the Denops.vim project, the `denops#plugin#unload()` function is designed to throw exceptions to the caller, who is responsible for handling them.

Applied to files:

  • README.md
📚 Learning: 2024-09-14T17:09:30.174Z
Learnt from: Milly
PR: vim-denops/denops.vim#418
File: tests/denops/runtime/functions/plugin/check_type_test.ts:6-6
Timestamp: 2024-09-14T17:09:30.174Z
Learning: In this project, import paths prefixed with `/denops-testdata/` are defined in `deno.jsonc` via an import map, and these import paths are valid.

Applied to files:

  • denops/@denops-private/deno.jsonc
  • deno.jsonc
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: test (macos-latest, 2.x, v9.1.1646, v0.11.3)
  • GitHub Check: test (ubuntu-latest, 2.x, v9.1.1646, v0.11.3)
  • GitHub Check: test (ubuntu-latest, 2.3.0, v9.1.1646, v0.11.3)
  • GitHub Check: test (windows-latest, 2.3.0, v9.1.1646, v0.11.3)
  • GitHub Check: test (macos-latest, 2.3.0, v9.1.1646, v0.11.3)
  • GitHub Check: test (windows-latest, 2.x, v9.1.1646, v0.11.3)
🔇 Additional comments (9)
plugin/denops.vim (1)

6-11: Version guard update looks correct and consistent with the repo.

  • Logic is sound: warning triggers only when neither Neovim ≥ 0.11.3 nor Vim ≥ 9.1.1646 is present and the check isn’t disabled.
  • Message text matches the new minimums and points users to the opt-out flag.
denops/supported_versions.json (1)

2-4: Supported versions updated; values align with guards and CI.

  • Deno 2.3.0, Vim 9.1.1646, Neovim 0.11.3 match plugin/denops.vim and .github/workflows/test.yml.
denops/@denops-private/deno.jsonc (1)

3-19: Verify lockfile presence and API compatibility

  • No deno.lock file detected in the repo. If you intend to lock Deno deps, generate one with deno cache --reload (or deno cache -r) and commit it for reproducible installs.
  • Static grep didn’t find any TS/TSX imports from jsr:@denops/core. Please confirm that your code (or other Deno scripts) actually import the v8 API and adjust paths/usages as needed.
  • The import-map bumps drop Deno 1.x support—ensure you’re running on Deno 2+ and that none of the updated modules (@core/*, @std/*, @denops/core@^8.0.0, etc.) introduce breaking changes in your codebase.
  • Manually review any API changes in @denops/core v8 (and the other bumped libs) against your code or tests, or let me know if you’d like a migration checklist drafted.
deno.jsonc (2)

25-33: Root import map aligns with private map and new minimums.

  • Bumps (@denops/core ^8, std libs, etc.) mirror the private import map.
  • Tasks remain compatible with Deno 2.x CLI.

25-33: Import maps versions are in sync

The comparison script confirms there are no mismatches between deno.jsonc and denops/@denops-private/deno.jsonc for any shared import keys. Great work keeping these versions aligned.

.github/workflows/test.yml (2)

76-80: Matrix updates look good and match supported versions.

  • Test runs on Deno 2.3.0 and 2.x, with Vim v9.1.1646 and Neovim v0.11.3. Matches plugin checks and supported_versions.json.

122-126: Confirm CODECOV_TOKEN Secret Availability or Switch to OIDC

I attempted to verify the presence of CODECOV_TOKEN via the GitHub CLI but received a 403 (“Resource not accessible by integration”), so I couldn’t determine whether the secret is actually configured.

Please manually confirm one of the following:

  • Under your repository’s Settings → Secrets → Actions, ensure CODECOV_TOKEN is defined and accessible to workflows.
  • Alternatively, switch the Codecov action to use OIDC authentication by granting your workflow permissions: id-token: write and removing the token input.

This will satisfy Codecov v4’s enforced authentication requirement.

README.md (2)

6-8: Badge URL validation successful
All three GitHub badge URLs have been verified to return HTTP 200 on redirect, confirming they won’t 404:

No further action required.


6-8: The verification script failed to extract versions due to shell limitations. Please manually confirm:

  • The supported_versions.json entries for deno, vim, and neovim match the badge versions in README.md.
  • Those same version numbers appear in your CI workflows (.github/workflows) under the deno_version matrix and any Vim/Neovim test matrices.
  • There are no lingering references to older versions (e.g. 1.45.0, 9.1.0448, 0.10.0) in docs, CI, or the plugin/ code.

Once that’s done, you can proceed with the badge tweaks (labels like 2.3.0+ or ≥ 9.1.1646 and linking to the release pages).

@lambdalisue lambdalisue merged commit a278b83 into main Aug 24, 2025
15 of 17 checks passed
@lambdalisue lambdalisue deleted the update-supported-versions branch August 24, 2025 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant