Repository navigation
TINKERPOP-3183: Upgrade to Groovy 6 - #3773
Open
Iryna-Kahamlyk wants to merge 3 commits into
Open
Iryna-Kahamlyk wants to merge 3 commits into
Iryna-Kahamlyk wants to merge 3 commits into
Conversation
Runs the Gremlin Console on groovysh 6 and makes gremlin-groovy compatible with Groovy 6. Assisted-by: Kiro:claude-opus-5.5
Iryna-Kahamlyk
force-pushed
the
groovy-upgrade
branch
from
November 5, 2026 00:10
867ec73 to
63943d7
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #3773 +/- ##
============================================
+ Coverage 76.35% 77.93% +1.57%
- Complexity 13424 15152 +1728
============================================
Files 1012 1054 +42
Lines 60341 67138 +6797
Branches 7075 8027 +952
============================================
+ Hits 46076 52325 +6249
- Misses 11548 11573 +25
- Partials 2717 3240 +523 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Assisted-by: Kiro:claude-opus-5.5
Iryna-Kahamlyk
marked this pull request as ready for review
November 5, 2026 23:56
Contributor
|
For committers - Created PR root bead: tp-sg0i 🤖 Agent assisted comment. |
spmallette
reviewed
Nov 9, 2026
| * Fixed `CountStrategy` so that it no longer adds a `limit()` before `count().is(P)` when the capped count can pass the predicate and is then observed downstream, e.g. `out().count().is(gt(2))`. | ||
| * Removed the per-request `userAgent` option from all drivers so the user agent is sent only as the `User-Agent` header controlled by `enableUserAgentOnConnect`. | ||
| * Fixed `gremlin-mcp` to include the server's reason when a query fails rather than only reporting that it failed. | ||
| * Bumped Groovy to 6.0.0 *(breaking)*. |
Contributor
There was a problem hiding this comment.
remove "breaking" label. that's not for changelog entries.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JIRA: https://issues.apache.org/jira/browse/TINKERPOP-3183
Upgrades Groovy from 4.0.32 to 6.0.0. The Gremlin Console now runs on the Groovy 6 shell (groovysh 6, built on
JLine 4) through its embedding API, replacing groovysh 4 and the unmaintained JLine 2.
gremlin-groovy
defvariables visible across scripts in interpreter mode with Groovy 6's AST changes.g.inject(null)choosing Groovy 5's newinject()helpers, and a recursion in the sugar plugin's property lookup.__).ArrayGroovyMethodsin the sandbox allowlists, where Groovy 5 moved the array extension methods.gremlin-console
:plugin,:set,:install,:uninstall,:cls) to JLine commands. They keep theirnames, messages and Tab completion;
:help /pluginor:plugin --helpshows their help..or operator (e.g.g.V().), which groovysh 5/6 no longer support.:commands,-i/-escripts with Gremlin commands, piped input, preferences, plugins, colors and result iteration.ctrl+cnow stops printing results and running statements and leaves the console usable.Behavior changes (documented in the upgrade notes)
==>nullinstead of the value, and an assigned traversal is not iterated.==>null.:?,:+,:-,:=) and several groovysh 4 commands (:show,:purge,:record, ...) aregone; replacements are listed in the upgrade notes.
fail()shows onlyFailException: <message>unless the traversal is iterated on the line, e.g. withtoList().:loadreportsLoaded: <file>,:saveneeds a file name, and history from earlier versions is not read.Testing