Dan Chao
5ee1f296e3
Prepare 0.33.0 release
2026-11-05 12:30:53 -08:00
Daniel Chao
72b237e204
Fix link in binary encoding docs ( #1967 )
2026-11-05 12:30:49 -08:00
Daniel Chao
c43feddbac
Update release date changelog ( #1966 )
2026-11-05 12:23:07 -08:00
c39b1e7a59
Add release notes for 0.33 ( #1939 )
...
Co-authored-by: Jen Basch <jbasch@apple.com >
Co-authored-by: Dan Chao <dan.chao@apple.com >
2026-11-05 12:20:48 -08:00
Daniel Chao
3dccfe3d8b
Make publish pipeline create draft GitHub releases ( #1965 )
...
If something goes wrong with the maven publish, we can delete the
draft and try again.
2026-11-05 12:20:16 -08:00
Islon Scherer
fc5d658aa3
Add an s-exp renderer to pkl:syntax ( #1955 )
2026-11-05 17:10:33 +00:00
Daniel Chao
85b4a4669a
Rename render to renderValue ( #1964 )
...
Motivation: preserve a possible API change to have `FormattingRenderer`
extend `ValueRenderer`.
2026-11-05 08:39:33 -08:00
Daniel Chao
1f5c62ecef
Refine requirements around const and this type ( #1962 )
...
This introduces a rule that const properties cannot use the `this` type if that referenced type exceeds the scope.
This code is an error:
```pkl
const foo: this
```
This is not:
```pkl
const foo = new {
local myself: this
}
```
Additionally, this fixes:
* const depth logic to account for eager scopes
* behavior of `this` type inside custom this scopes
2026-11-04 11:30:50 -08:00
Daniel Chao
7e8e5f648d
Remove logic to publish libpkl ( #1960 )
...
For reasons, we can't publish this just yet.
2026-11-03 17:00:51 -08:00
Daniel Chao
875fac857c
Generic parser fixes ( #1959 )
...
This fixes some issues with the handling of separators in GenericParser
2026-11-03 16:31:40 -08:00
Jen Basch
7fa1ce7852
upgrade musl, apply patches ( #1958 )
2026-11-03 15:02:49 -08:00
Daniel Chao
70947166a3
Mark pkl:ref as no longer experimental ( #1957 )
...
This API is considered stable and usable for production use-cases.
2026-11-03 19:49:38 +00:00
Daniel Chao
56e178934a
Fix flakey GenericParserTest ( #1956 )
...
The 10ms timeout will fail on slower machines.
2026-11-03 10:06:18 -08:00
Daniel Chao
ffd8a5d484
Remove treatment of %5c as a slash on Windows ( #1954 )
...
We reject any filepath that contains a `\` character;
all Pkl code must use `/` as the path separator.
So, we don't need to normalize `%5c` as a path sep on Windows.
2026-11-03 13:21:36 +00:00
Daniel Chao
a9b7fe3a33
Switch type argument syntax ( #1940 )
...
This changes type argument syntax to "standard" style, and away from turbofish.
The motivation here is that turbofish-style type arguments are hard to read, and developers who are not already deeply knowledgeable about Pkl might struggle to understand such code.
In most languages, the grammar for "method call with type args" don't introduce any additional symbols between the identifier and the type argument list (e.g. C++, TypeScript, C#, Scala, Go).
2026-11-03 05:09:40 -08:00
Daniel Chao
6ad50eb589
Make stack overflows more robust ( #1953 )
...
Fixes an issue where we fail to initialize class
`VmStackOverflowException` when re-throwing a StackOverflowEexception.
2026-11-03 05:07:24 -08:00
Daniel Chao
d54dda0d83
Fix macOS native builds ( #1952 )
...
`cc` is borked on some macOS runners right now.
This adds a workaround until the issue is fixed.
2026-11-02 15:19:41 -08:00
Daniel Chao
89cb6c98a1
Improve normalization of URIs ( #1937 )
...
This adds changes such that URIs like `file:///path/to/%2E%2E/bar.txt`
are considered path traversal sequences.
These URIs are treated as dot segments, and normalized prior to calling
into security checks.
For package URIs, the same treatment is applied to the
URI fragment.
jar-file URIs are special-cased and normalized as well.
Additionally, `%2f` is treated as `/` for file, jar-file and asset path segments.
However, these are left alone for other URIs (RFC-3986 treats `%2e` as identical to `.`, but `%2f` as distinct from `/`)..
2026-10-30 21:04:27 -07:00
Daniel Chao
5cb5d41a44
Fix VmDynamicCursor ( #1948 )
...
This fixes an issue where it fails to iterate over this entry:
`new Dynamic { [-1] = 2 }`
2026-10-30 21:45:36 +00:00
Daniel Chao
b1b36b09ac
Fix computation of hash codes for Listing, Duration, DataSize ( #1922 )
...
These are currently breaking the principle of: if two objects are
`equals`, then they have the same hash code.
2026-10-30 10:31:06 -07:00
Daniel Chao
0b582b50b4
Fix some GraalVM PE issues ( #1944 )
...
* VmObject.getRootFirstObject() is a recursive call, which sometimes
fails with "too deep inlining"
* Incorrect loop condition profile usage in some places
* Need to mark `checkedReturnTypeNode` final so that GraalVM knows
that it is PE constant
2026-10-30 10:27:18 -07:00
Daniel Chao
99c2d84c43
Fix enforcement of const member access inside methods ( #1945 )
2026-10-30 16:57:49 +00:00
Aashish Mahato
ec2d12a654
Fix toString/.value saturation for Duration and DataSize values too large for a long ( #1935 )
2026-10-29 09:11:21 -07:00
Aashish Mahato
e0d727be60
Fix toString/.value saturation for Duration and DataSize values too large for a long ( #1935 )
2026-10-29 08:23:50 -07:00
Jen Basch
ea68f7b258
Fix evaluating dependency notation URIs with multiple file output ( #1942 )
2026-10-28 16:46:27 -07:00
Islon Scherer
434f699887
Add limits to parser recursion ( #1918 )
2026-10-27 16:57:36 +01:00
Jen Basch
3e703995ca
Add user generic methods ( #1849 )
2026-10-27 07:44:03 -07:00
Jen Basch
21d278eba5
Add user generic methods ( #1849 )
2026-10-27 07:17:08 -07:00
Islon Scherer
939e844c03
Add pkl:syntax stdlib module ( #1821 )
2026-10-23 15:51:22 +02:00
Jen Basch
0cb9843af7
Fix module type check defined in parent member bodies ( #1936 )
2026-10-22 12:00:49 -07:00
Jen Basch
05d8e88592
Fix checking of subscript key types references to Map/Mapping ( #1933 )
2026-10-22 17:01:46 +00:00
Daniel Chao
dd026c7023
Minimize thrown IllegalStateException when profiling ( #1931 )
...
Sometimes we see a thrown IllegalStateException when CPU profiling,
where the underlying cause is a ConcurrentModificationException in
the underlying GraalVM internals.
This attempts to minimize the chances of this exception being thrown
by starting proiling after the evaluator and its context have been
created.
2026-10-22 09:44:10 -07:00
Aashish Mahato
dd83b9ab4f
Fix hashCode/equals inconsistency for negative zero in Duration and DataSize ( #1932 )
2026-10-22 09:07:34 -07:00
Daniel Chao
3f5797de6f
Fix changelog links ( #1929 )
2026-10-21 15:32:55 -07:00
Daniel Chao
ac0d9f1d31
Run GitHub release in parallel with Maven ( #1928 )
2026-10-21 15:09:53 -07:00
Jen Basch
95d7a4bcc9
Prepare 0.32.2 release ( #1924 ) ( #1926 )
2026-10-21 14:12:21 -07:00
Jen Basch
23897fd8c3
Remove extra checkout from java executable build jobs ( #1925 )
2026-10-21 20:35:39 +00:00
Jen Basch
f7adfceaeb
Update bundled CA certs ( #1923 )
2026-10-21 16:45:39 +00:00
Daniel Chao
a06684b2c0
Improve error message thrown for "cannot instantiate" ( #1916 )
...
If the parent comes from an implicit node (e.g. read super entry node),
Pkl will currently bury its source section when rendering the error
message.
2026-10-20 08:42:18 -07:00
Goutam Adwant
ce977f1ffe
Fix parameterized type checks in alias constraints ( #1906 )
...
Fixes an issue where a constraint inside a typealias that writes to frame slots is unable to resolve type arguments.
2026-10-19 23:29:30 +00:00
Daniel Chao
08f0c3781b
Improve error messages when typealiases fail to check ( #1914 )
...
This adds the typealias' usage site to the stack frame.
2026-10-19 12:34:04 -07:00
Daniel Chao
97c73e7c28
Fix qualified type resolution ( #1915 )
...
Fixes an issue where `GetModuleOwnerNode` resolves to levelsUp == 0,
but its enclosing owner is a parse-time invisible scope.
2026-10-19 12:23:38 -07:00
Sam Gammon
78c0ebce9d
Add summaries and groups to gradle tasks ( #190 )
...
Fixes and closes apple/pkl#188 by adding task names and groups to
major Pkl Gradle Plugin tasks
Signed-off-by: Sam Gammon <sam@elide.ventures >
2026-10-18 16:48:20 +00:00
Daniel Chao
ef5e34c210
Fix failing Windows build ( #1912 )
...
This test is failing, but is also moot now because file URIs now
forbid authority components.
2026-10-16 19:18:11 +00:00
Aagam Shah
e18d962033
Force the returned value in test.catch() and test.catchOrNull() ( #1910 )
2026-10-16 12:02:33 -07:00
9f79fe47da
Replace VmObjectLike.iterateMemberValues() with VmObjectCursor ( #1879 )
...
Motivation:
- VmObjectLike.iterateMemberValues() is an internal iterator whose loop body is a Java lambda.
It suffers from the following limitations:
- `continue` and `break` cannot be used.
- `return` becomes an (awkward) replacement for `continue` and `break`.
It cannot be used to return from the enclosing method.
- Mutating variables requires hoisting them (MutableBoolean, etc.).
- Node.execute() calls are very slow because they are behind a Truffle boundary.
- Callers of iterateMemberValues() do not specify what and how they want to iterate.
This obscures the iteration code and makes it difficult (often impossible) to optimize.
Changes:
- Add interface VmObjectCursor, an external iterator that iterates over VmObject members.
Its design is inspired by org.graalvm.collections.MapCursor.
- Add VmObjectCursor implementations specialized for different members, VmObject subclasses, and cursor options.
- Replace VmObjectLike.iterateMemberValues() with the following methods that return VmObjectCursor:
- properties()
- properties(CursorOption)
- elements()
- elements(CursorOption)
- entries()
- entries(CursorOption)
- members
- members(CursorOption)
- Replace all usages of iterateMemberValues() with one of the above methods.
Before: object.iterateMembersValues((key, member, value) -> { if (member.isProp()) {...} });
After : for (var cursor = object.properties(); cursor.advance(); ) {...}
Result:
- Iteration code is much simpler and clearer.
- Iteration code that calls Node.execute() is much faster because it is no longer behind a Truffle boundary.
- Other iteration code is potentially faster and can be better optimized in the future.
Co-authored-by: translatenix <119817707+translatenix@users.noreply.github.com >
Co-authored-by: Jen Basch <jbasch94@gmail.com >
2026-10-16 17:47:18 +00:00
Islon Scherer
b97abe13bc
Fix formatter instability ( #1911 )
2026-10-16 17:32:49 +02:00
Daniel Chao
fe96e0b1b0
Bump Gradle to 9.8.1 ( #1904 )
2026-10-15 21:00:04 -07:00
Carpe-Wang and Jen Basch
eff9a9e164
[fix] Add support for handling remote file URIs. ( #629 )
...
Co-authored-by: Jen Basch <jbasch@apple.com >
2026-10-15 14:05:46 -07:00
Maycon Campos
8399f11186
Document public module APIs ( #1813 )
2026-10-15 13:27:05 -07:00
Aagam Shah and Jen Basch
6811abf11c
feat: don't truncate pkldoc module names that lack the package prefix ( #1909 )
...
Co-authored-by: Jen Basch <jbasch@apple.com >
2026-10-15 11:36:44 -07:00
f96fba00e1
Add a CPU profiler ( #1823 )
...
This introduces a way to run CPU profiling.
The profiler produces output in pprof format.
CLI users can enable CPU profiling via command line flags.
Profiling is otherwise not offered as an API.
Co-authored-by: Jen Basch <jbasch94@gmail.com >
Co-authored-by: Islon Scherer <islonscherer@gmail.com >
2026-10-15 15:57:55 +00:00
Daniel Chao and Jen Basch
d062312df9
Add sourceBundle task to download and prepare source bundles ( #1902 )
...
* Add tasks to generate source jars for java executables
* native source bundles
* source bundles in separate plugin
* Wire up sourceBundle task
* Produce bundles on a per-variant basis (Java fat jar, each native variant)
* Introduce `pklNativeSourceBundle` and `pklJvmSourceBundle` plugins for handling fat jar vs. GraalVM bits
* Download compiled classes list, and exclude Java sources for executable stuff specifically
* Include native sources when appropriate (GraalVM, JDK, zlib, musl, libpkl)
---------
Co-authored-by: Jen Basch <jbasch@apple.com >
2026-10-14 10:03:45 -07:00
Alexandre Kohler
f4ad0da658
Fix lookaround regexes in String.lastIndexOf and replaceLast ( #1908 )
2026-10-13 11:32:12 -07:00
Daniel Chao
88a50d167e
Add support for customizing spring boot ConfigurationProperties ( #1897 )
...
This adds an option which allows users to control exactly how
`@ConfigurationProperties` annotations are attached to classes.
This helps when:
* Spring Boot users don't have a single root class, but multiple
classes that are injected in disparate places
* Pkl's module structure doesn't match the resulting `.properties`
layout
2026-10-08 20:42:59 +00:00
Daniel Chao
f973fd6717
Change how VmValueRenderer renders Typed values ( #1412 )
...
This changes it to render the qualified name instead of the simple name.
* Module classes render the module name
* Classes within module render the module name and the class name joined by `#`
* Rendering of members of `pkl:base` does not change
For example:
* `new k8s.core.v1.Service {}` instead of `new ModuleClass {}`.
* `new k8s.core.v1.Service#ServiceSpec {}` instead of `new ServiceSpec {}`
* `new pkl.Project {}` instead of `new ModuleClass {}`
This affects the following:
* `toString()`
* `trace()`
* Error messages
* REPL
2026-10-08 13:32:26 -07:00
Vladimir Matveev
66fb5c133b
Module cache directory propagation ( #1900 )
...
Currently the module cache directory in CLI commands (and thus in Gradle tasks, since they use CLI commands under the hood) is only used for the "primary" task. For example, for an eval command, the module cache directory will be used for the evaluation of the target module.
However, most commands also work with projects, and for projects the `PklProject` file must be evaluated. This is done via `Project.loadFromPath`, which internally builds an evaluator with the default module cache path. Therefore, all evaluations of project manifests always use default cache path instead of whatever is configured through the CLI option/Gradle task property. This, in turn, may result in unexpected behavior: in general, the user would expect that if they specify the cache directory, it will be used for all evaluations (e.g. when they pre-populate the cache and expect evaluations to work offline).
The same is true for settings evaluation, although for settings it is significantly less important since settings scripts can't have remote dependencies.
This PR propagates cache path into the project evaluator (as well as the settings evaluator, for consistency). This will result in the user-specified cache directory being used for `PklProject` evaluations as well.
2026-10-07 13:58:40 -07:00
Daniel Chao
1a3d7a1a76
Produce compiled classes list ( #1898 )
...
This adjusts Gradle logic so that it produces a list of compiled classes
in each of the various native image builds.
2026-10-06 15:18:20 -07:00
Islon Scherer
862c61f2e2
Add net stdlib module with URL support ( #1834 )
2026-10-06 15:23:32 +02:00
Daniel Chao
dbcecd9677
Fix decoding of pkl-binary into Java Pattern ( #1895 )
...
Patterns that originate from the language runtime will add
`Pattern.UNICODE_CHARACTER_CLASS | Pattern.UNICODE_CASE` as implicit
regex flags, so we need to do the same on the binary decoding side.
2026-10-05 09:09:30 -07:00
Daniel Chao
ba25f4820c
Perf improvements for String.endWith(Regex) ( #1884 )
...
* Compute a derived regex expression with `\z` anchor
* Ensure derived regex can't be messed up with comments (in extended mode) or quote start
Follow up to #1880
2026-10-05 09:09:03 -07:00
Jen Basch
adaafc4045
Fix external reader process leak in pkl-server ( #1885 )
2026-10-02 14:16:25 -07:00
Daniel Chao
82fe176c69
Improve cases where type nodes can turn into TypeNode.UnionOfStringLiterals ( #1875 )
...
This adds logic to UnresolvedTypeNode to create a `UnionOfStringLiterals`
type node if a member is a typealias who is a string or a string literal union.
Also, this fixes an issue where marking a duplicate string literal with the
default marker throws an index out of bounds exception.
2026-10-02 09:16:25 -07:00
dependabot[bot] and Jen Basch
6423b2add5
Bump commonMark from 0.29.0 to 0.30.0 ( #1887 )
...
* Bump commonMark from 0.29.0 to 0.30.0
Bumps `commonMark` from 0.29.0 to 0.30.0.
Updates `org.commonmark:commonmark` from 0.29.0 to 0.30.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.29.0...commonmark-parent-0.30.0 )
Updates `org.commonmark:commonmark-ext-gfm-tables` from 0.29.0 to 0.30.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.29.0...commonmark-parent-0.30.0 )
---
updated-dependencies:
- dependency-name: org.commonmark:commonmark
dependency-version: 0.30.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.commonmark:commonmark-ext-gfm-tables
dependency-version: 0.30.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* implement missing method
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jen Basch <jbasch@apple.com >
2026-10-01 18:25:05 +00:00
dependabot[bot]
b9dd3c4de1
Bump junit from 6.1.1 to 6.1.3 ( #1890 )
...
Bumps `junit` from 6.1.1 to 6.1.3.
Updates `org.junit.jupiter:junit-jupiter-api` from 6.1.1 to 6.1.3
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.3 )
Updates `org.junit.jupiter:junit-jupiter-engine` from 6.1.1 to 6.1.3
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.3 )
Updates `org.junit.jupiter:junit-jupiter-params` from 6.1.1 to 6.1.3
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.3 )
Updates `org.junit.platform:junit-platform-launcher` from 6.1.1 to 6.1.3
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 6.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 6.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 6.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.platform:junit-platform-launcher
dependency-version: 6.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-01 09:26:31 -07:00
dependabot[bot]
d4dac43e30
Bump gradle/actions/dependency-submission from 6.1.0 to 6.3.0 ( #1892 )
...
Bumps [gradle/actions/dependency-submission](https://github.com/gradle/actions ) from 6.1.0 to 6.3.0.
- [Release notes](https://github.com/gradle/actions/releases )
- [Commits](https://github.com/gradle/actions/compare/50e97c2cd7a37755bbfafc9c5b7cafaece252f6e...9c971963bec38e04b3d30dcc455b5382be2fdbfb )
---
updated-dependencies:
- dependency-name: gradle/actions/dependency-submission
dependency-version: 6.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-01 09:05:54 -07:00
dependabot[bot]
15c070621e
Bump the first-party group across 1 directory with 2 updates ( #1886 )
...
Bumps the first-party group with 2 updates in the / directory: [actions/checkout](https://github.com/actions/checkout ) and [actions/setup-java](https://github.com/actions/setup-java ).
Updates `actions/checkout` from 6.0.3 to 6.1.0
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...d23441a48e516b6c34aea4fa41551a30e30af803 )
Updates `actions/setup-java` from 5.5.0 to 5.7.0
- [Release notes](https://github.com/actions/setup-java/releases )
- [Commits](https://github.com/actions/setup-java/compare/0f481fcb613427c0f801b606911222b5b6f3083a...b6effb05e454b25005698d916606bdc6ffcbf961 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: first-party
- dependency-name: actions/setup-java
dependency-version: 5.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: first-party
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-01 08:49:10 -07:00
dependabot[bot]
74c5ded7db
Bump slf4j from 2.0.18 to 2.0.20 ( #1888 )
...
Bumps `slf4j` from 2.0.18 to 2.0.20.
Updates `org.slf4j:slf4j-api` from 2.0.18 to 2.0.20
Updates `org.slf4j:slf4j-simple` from 2.0.18 to 2.0.20
---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-api
dependency-version: 2.0.20
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.slf4j:slf4j-simple
dependency-version: 2.0.20
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-01 08:45:52 -07:00
dependabot[bot]
a5bcacf91d
Bump jline from 4.3.1 to 4.4.6 ( #1889 )
...
Bumps `jline` from 4.3.1 to 4.4.6.
Updates `org.jline:jline-reader` from 4.3.1 to 4.4.6
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.3.1...4.4.6 )
Updates `org.jline:jline-terminal` from 4.3.1 to 4.4.6
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.3.1...4.4.6 )
Updates `org.jline:jline-terminal-jni` from 4.3.1 to 4.4.6
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.3.1...4.4.6 )
---
updated-dependencies:
- dependency-name: org.jline:jline-reader
dependency-version: 4.4.6
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.jline:jline-terminal
dependency-version: 4.4.6
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.jline:jline-terminal-jni
dependency-version: 4.4.6
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-01 08:43:35 -07:00
dependabot[bot]
d839bff713
Bump the codeql group with 2 updates ( #1891 )
...
Bumps the codeql group with 2 updates: [github/codeql-action/analyze](https://github.com/github/codeql-action ) and [github/codeql-action/init](https://github.com/github/codeql-action ).
Updates `github/codeql-action/analyze` from 4.36.3 to 4.38.2
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/54f647b7e1bb85c95cddabcd46b0c578ec92bc1a...2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 )
Updates `github/codeql-action/init` from 4.36.3 to 4.38.2
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/54f647b7e1bb85c95cddabcd46b0c578ec92bc1a...2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 )
---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
dependency-version: 4.38.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: codeql
- dependency-name: github/codeql-action/init
dependency-version: 4.38.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: codeql
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-01 08:36:56 -07:00
Rushikesh
5747506f3a
Suppress pkl-gradle POM metadata warning ( #1807 )
2026-09-30 09:43:59 -07:00
Daniel Chao
b8c7a42318
Make typechecking more PE friendly ( #1871 )
...
This makes various improvements to help truffle do partial
evaluation of code related to typechecking.
* Split `UnionTypeNode` into `UnionTypeNodeExploded` and
`UnionTypeNodeLooped` to avoid gigantic graphs. This especially helps
in the case of typealiases, because they are inlined into their usage
sites.
* Move constraint-failure exception construction in
`TypeConstraintNode` behind `@TruffleBoundary` helper methods
instead of `transferToInterpreterAndInvalidate`, since building the
exception is a rare, off-hot-path operation.
* Move `ClassNode`'s one-time class-initialization logic behind a
`@TruffleBoundary` method (`initClass`), store `VmLanguage` as a
field instead of recomputing it via `VmLanguage.get(this)`, and use
`transferToInterpreterAndInvalidate` since class init never needs to
re-run on the compiled path.
* Pass `VmLanguage` explicitly into `TypeTestNode` and `ClassNode`
(via `AstBuilder`) rather than resolving it with
`VmLanguage.get(this)` on a hot path.
* Fix various issues where the partial evaluator determines that a frame
should have been materialized but was not.
* Pre-initialize call targets in `ObjectMember.setMemberNode()` and
`FunctionLiteralNode` so the first invocation doesn't trigger a
compilation invalidation.
* Fix truffle node tree issues (don't mark `@RootNode` as child,
deepCopy instead of passing an already adopted node).
* Remove unnecessary interpreter transfers when throwing type mismatch exceptions
2026-09-30 07:16:54 -07:00
Alexandre Kohler
8331570aaf
Fix String.endsWith for overlapping regex matches ( #1880 )
2026-09-29 21:52:12 -07:00
Jen Basch
1271da2741
Fixes to commands where (sub)commands never extend pkl:Command ( #1882 )
2026-09-29 23:19:28 +00:00
apple-ospo[bot]
e83d8fa14b
Replace repo-level CODE_OF_CONDUCT file with the inherited org-wide Code of Conduct in .github repo. ( #1878 )
...
Co-authored-by: apple-ospo[bot] <326325757+apple-ospo[bot]@users.noreply.github.com>
2026-09-25 10:51:20 -07:00
Daniel Chao
d1e043be4e
Make join call overriden toString() ( #1872 )
...
This changes the `join` method in `List`/`Set`/`Listing` to
call the overridden `toString()` method.
This is a breaking change, but is considered a bugfix.
2026-09-25 09:24:16 -07:00
Daniel Chao
43e132a383
Fix "unchecked or unsafe operations" warning in javac ( #1874 )
...
Fix this printed warning during java compilation:
"Note: Some input files use unchecked or unsafe operations. Recompile with -Xlint:unchecked for details"
* Add `-Xlint:unchecked` as a javac flag
* Fix the various warnings
2026-09-24 09:28:49 -07:00
Daniel Chao
119b1571bb
Switch ad-hoc vmobject building to use VmObjectBuilder ( #1873 )
2026-09-24 07:32:30 -07:00
Daniel Chao
d5a7dc021e
Switch inferred new {} expressions in method args to using frame slots ( #1857 )
...
This changes the logic for inferring `new {}` expressions in method
arguments to using regular frame slots, instead of auxiliary slots.
Overall, this is a performance improvement: no looking up auxiliary slot
numbers, which makes this code much more PE friendly.
* At parse time, get or create a frame slot that holds the method
* Introduce `ArgInfo` record (preserve primitive int) over using `Pair`
* Remove unneeded `isImplicitNewExpr` method; this is not needed because
we can just keep track of the method slot on the frame descriptor
builder.
2026-09-22 12:12:57 -07:00
Jen Basch
7ed88e250b
Add VmType intermediate representation for types ( #1838 )
2026-09-22 08:26:03 -07:00
Daniel Chao
cbffd6c114
Improve error message when amending a property with no value set ( #1867 )
...
Improve error message when amending a property with no value set
This decorates error messages with the amendment node.
2026-09-21 06:54:22 -07:00
Daniel Chao
e0b3b87e19
Fix native image build ( #1865 )
...
PE code can't call `Object.equals`
2026-09-17 21:57:35 -07:00
Daniel Chao
cec08c651e
Optimize super property and super subscript nodes ( #1853 )
...
This adds cacheing to ReadSuper* nodes so that the same
node being executed can possibly re-use a previously cached value.
2026-09-17 20:46:03 -07:00
Jen Basch
397183a620
Mark overridable external properties as const ( #1864 )
2026-09-17 12:52:53 -07:00
Jen Basch
c71b107e32
Add inference for let bindings ( #1824 )
2026-09-15 05:20:42 +00:00
Daniel Chao
d0de24b85b
Avoid using Object.toString() for in-language API ( #1850 )
...
This changes code so that the in-language `toString()` doesn't use
Java's `Object.toString()`.
Additionally, the existing `toString()` implementation is switched over
to using `VmValueRenderer`, which does not force (leaves `?` in place of
unforced values).
This helps improve ergonomics when working on the language (can enable
automatically calling `toString()` on debug values).
Additionally, external tools might call toString(); for example,
Truffle's compiler sometimes will stringify node fields (e.g.
when -Dengine.CompilationFailureAction=Throw) is set.
2026-09-11 23:08:26 +00:00
Daniel Chao
e3881f6149
Fix invalid prefix when generating spring boot config ( #1862 )
...
Fix invalid prefix when generating spring boot config
In Spring Boot, the prefix passed to `@ConfigurationProperties` must
be in "canonical form".
The presence of this annotation allows spring boot to directly inject
properties into a class, but is not actually needed.
The correct behavior here is to omit this annotation if the property
name does not match Spring Boot's canonical form.
2026-09-11 15:49:04 -07:00
Daniel Chao
9b52a4fd82
Fix CI on Windows ( #1861 )
...
Fix bad assertion: `IoUtils.getSystemModuleCacheDir()` uses the actual
OS env, but the test hard-codes `isWindows` to false.
2026-09-11 11:09:37 -07:00
Daniel Chao
8fba228790
Fix failing test on Windows ( #1858 )
2026-09-10 21:31:19 -07:00
Jen Basch
574ad844f3
Use ChoiceFormat for better plurals in error messages ( #1848 )
2026-09-10 22:03:05 +00:00
Daniel Chao
90245589b6
Improve documentation on netRcHeaders method ( #1854 )
2026-09-09 15:30:08 -07:00
Yarden Bar
c95b3d11f4
Add netrc helpers in EvaluatorSettings.pkl ( #1817 )
...
This adds the `netRcHeaders` helper method that parses netrc file contents, and returns a mapping suitable to be used as Http headers.
2026-09-09 14:25:06 -07:00
Daniel Chao
713adac824
Make generator nodes more PE friendly ( #1844 )
...
* In GeneratorWhenNode, need to move individual iterations into their
own methods so that the @ExplodeLoop sees a constant number of
iterations whenever that method is called.
* In the other nodes, the lambda passed to
`forceAndIterateMemberValues` needs to capture the materialized frame,
not the virtual frame.
2026-09-08 15:11:10 -07:00
Dylan Pulver
f3efcbfc9b
Escape characters that YAML cannot carry literally ( #1846 )
...
YamlEmitter only routed a string into YamlEscaper when it held a
character below 0x20, so 0x7F, the C1 block, U+2028 and U+2029 went out
as plain scalars. They are not `c-printable` (YAML 1.2 spec 5.1), and
NEL, LS and PS are line breaks in YAML 1.1, so the rendered document is
either rejected or silently split by a reader.
The escapes added in #1165 for 0x85, 0xA0, U+2028, and U+2029 could only
fire when some other character happened to open that gate. Share one
predicate between the two sites that decide, and give 0x7F-0x9F the
8-bit escape they lack.
2026-09-04 13:46:09 -07:00
Jen Basch
f284a0560a
Error when inferring a self type in a method argument ( #1847 )
2026-09-03 23:03:34 +00:00
Jen Basch
249e563291
Optimize new inference in method args ( #1845 )
2026-09-03 13:16:17 -07:00
Jen Basch
7f5ae2a712
Add inference for implicitly typed new in method arguments ( #1768 )
2026-09-02 23:55:24 +00:00
Daniel Chao
92b26aca17
Optimize annotations without object bodies ( #1843 )
...
This skips some unnecessary steps when evaluating annotations that
have no attached object bodies by returning an EmptyObjectLiteralNode
instead of a PropertiesLiteralNode
2026-09-02 13:04:26 -07:00
Daniel Chao
0035199176
Improve partial-evaluation when amending null parents ( #1836 )
...
GraalVM's partial evaulator can't handle recursive calls into the same
node.
The current implementation around evaluating `VmNull` as a parent causes
the partial evaluator to bail out, leaving Pkl stuck in interpreter
mode.
This rewrites the various object literals to add individual
specializations for each type of default value we can see from a VmNull
parent.
Also:
* Fix `isTypeObjectClass` impl
* Fix bug when amending with generator object literal node with object params
2026-09-02 18:18:55 +00:00
Daniel Chao
2c2f50113d
Make enclosing frame lookup more PE friendly ( #1842 )
...
The truffle compiler currently _always_ bails out of compilation for
`VmUtils.getFrame()` calls, because it determines that some branch
of this code can possibly return a materialized frame.
This adjusts the code so that the hot path (levelsUp == 0)
does not touch `VmUtils.getFrame()`, and avoids unnecessarily
materializing the frame.
2026-09-02 10:01:25 -07:00
Daniel Chao
9f28c1cb11
Make listing/mapping typecasts more PE-friendly ( #1837 )
...
This rewrites the listing/mapping typecast nodes to be more friendly
to partial-evaluation.
This is because the compiler bails out of deeply recursive calls.
2026-09-02 10:00:59 -07:00
Daniel Chao
adee565a8c
Mark protobuf module as deprecated ( #1778 )
...
This moves the protobuf module from experimental to deprecated
Rationale:
* This is very seldom used, if used at all
* Not fully fleshed out (this really should be paired with a protoc-gen-pkl, which doesn't exist)
* There is a ProtoJSON wire format that we can already render to
2026-09-02 09:26:51 -07:00
Jen Basch
2b697015c7
Add this as a self type ( #1708 )
2026-09-02 09:04:15 -07:00
Daniel Chao
1208fa9438
Improve reading of const members ( #1835 )
...
The previous implementation can cause the JIT compiler to permanently
bail out when reading const memebrs.
2026-08-28 09:18:56 -07:00
Jen Basch
1cfdd3d30d
Fix native build ( #1832 )
2026-08-26 22:45:18 +00:00
Jen Basch
cb01d6275b
Correctly type check Class<T> ( #1698 )
2026-08-26 05:29:34 +00:00
Sergio Salvi
a90eb74c2d
Fix reflect crash on modules using glob imports ( #1816 )
...
This excludes glob imports when creating a module's mirror
2026-08-25 12:04:45 -07:00
Jen Basch
ae9160df51
Enforce max collection sizes when decoding pkl-binary ( #1831 )
2026-08-25 08:28:28 -07:00
Jen Basch
79af6b1676
Sanitize block comment endings in generated Kotlin doc comments ( #1830 )
2026-08-25 08:27:30 -07:00
Sergio Salvi
7404f7d160
Fix block comment at EOF without trailing newline ( #1828 )
2026-08-21 15:46:37 -07:00
Daniel Chao and Florin Ungur
6551a59f9e
Use XDG base directories and Known Folders on Windows ( #1809 )
...
This changes logic that previously read/wrote from `~/.pkl` to use
XDG base directories (all OSes), and Known Folders locations on Windows.
For example, Pkl will look for `settings.pkl` in:
1. `$XDG_CONFIG_HOME/pkl/settings.pkl`
2. `%APPDATA/pkl/settings.pkl`
3. `~/.pkl/settings.pkl`
4. Path pkl/settings/pkl within `$XDG_CONFIG_DIRS`
5. `/etc/xdg/pkl/settings.pkl`
---------
Co-authored-by: Florin Ungur <florin@florinungur.com >
2026-08-20 21:50:24 +00:00
Daniel Chao and Islon Scherer
4dd37219c0
Fix name resolution of types in constraints ( #1826 )
...
This fixes an issue where type names are resolved incorrectly
in typealias constraints.
Co-authored-by: Islon Scherer <islonscherer@gmail.com >
2026-08-19 11:10:32 -07:00
Jen Basch
ac43bdbb17
Add hex/binary/octal support to String.toInt() ( #1808 )
2026-08-18 09:44:02 -04:00
Jen Basch and Dan Chao
762db144ce
Enforce that abstract methods are implemented ( #1785 )
...
This adds a check that abstract members must be implemented.
If any members lack an implementation, an error is thrown describing
the missing members.
Co-authored-by: Dan Chao <dan.chao@apple.com >
2026-08-17 21:52:54 +00:00
Daniel Chao
99c9f53063
Remove community.adoc page ( #1820 )
...
This is being moved to pkl-lang.org
(see https://github.com/apple/pkl-lang.org/pull/172 ).
2026-08-10 11:23:24 -07:00
Daniel Chao and Islon Scherer
c5896d76d0
Split libpkl libraries between shared and static libs ( #1812 )
...
This adds a `libpkl-static.pc` so pkg-config users can link either
statically or dynamically via `pkg-config --libs libpkl`, or
`pkg-config --libs libpkl-static`.
Additionally, this fixes an issue where the replace tokens wasn't
doing anything, leaving the `@version@` token intact in the archive.
Additionally, this adds an `-install_name` when building the dylib for macOS.
Co-authored-by: Islon Scherer <islonscherer@gmail.com >
2026-08-07 15:47:16 +00:00
Jen Basch
b3698683ab
Upgrade to GraalVM 25.2.4 ( #1804 )
2026-08-03 09:24:53 -07:00
Daniel Chao
417c08ae11
Fix various issues in libpkl ( #1805 )
...
* Fix possible SIGSEGV from host process.
- Require that the same `pkl_exec_t` be used in the same OS thread; returning meaningful error if this fails
* Remove `System.exitProcess(1)` logic in NativeTransport; this would kill the host process too and isn't an appropriate action for a received ProtocolException
* Allow multiple calls to pkl_init without pkl_close; this limitation doesn't really make any sense
* Prefer calling methods defined in graal_isolate.h, instead of creating the same method via CEntryPoint
* Add a CMakeLists.txt so that CLion can follow the code and provide proper diagnostics
* Improve doc comments; describe params as either in or out
2026-07-31 16:23:37 +00:00
Jen Basch
5333d55269
Skip loading known-bad certs ( #1806 )
2026-07-30 22:54:08 +00:00
043f0e129b
Add documentation for libpkl ( #1801 )
...
This adds a new Antora module for libpkl, and updates the language
bindings documentation.
Co-authored-by: Jen Basch <jbasch94@gmail.com >
Co-authored-by: Islon Scherer <islonscherer@gmail.com >
2026-07-30 17:24:27 +00:00
Daniel Chao
a55a3d7c33
Improve evaluation of typealiases ( #1796 )
...
This simplifies the resolution of names in typealias constraints.
This removes the existing logic around swapping out the frame's
owner/receiver, and instead favors resolving the variable at parse time.
* During variable resolution, create read variable nodes that read off of
a receiver node
* Introduce `GetTypeAliasModuleNode` that provides the typealias's
enclosing module
* Inject the enclosing module during typealias instantiation
2026-07-30 17:22:45 +00:00
Jen Basch
2ca2aaf9ec
Add pkl project package --install to local cache ( #1795 )
2026-07-30 07:26:21 +00:00
Jen Basch
8ad5759630
Use EnumSet internal for Token type checks ( #1803 )
2026-07-29 16:09:52 -07:00
Rushikesh
871041e655
Avoid duplicate pkl-gradle publication ( #1777 )
...
The java-gradle-plugin already creates the pluginMaven publication. Applying the library publishing convention creates another publication with the same coordinates, causing an overwrite warning during Sonatype publishing.
Configure the shared POM metadata, validation, signing, and archive artifacts directly so pkl-gradle retains the convention behavior without creating the duplicate library publication.
Fixes #1742
2026-07-29 22:26:51 +00:00
Jen Basch
50a09f59dc
Remove abstract properties ( #1781 )
2026-07-29 15:05:19 -07:00
Daniel Chao
f6107b6e86
Fix libpkl and windows builds ( #1799 )
...
* Fix issue where linker can't find object files
* Fix issue where macOS libpkl builds time out due to exhausting host resources
2026-07-28 23:32:19 +00:00
Daniel Chao
79dd95c4e6
Fix deploy build ( #1798 )
...
* Fix issue where the DeployJob and GithubRelease jobs download
artifacts using a glob that only matches one artifact
* Make NativeImageBuild task only produce outputs as declared by build;
ensure there's no build_artifacts.txt, sources/ dir, etc.
2026-07-28 20:42:50 +00:00
Daniel Chao
be03023499
Fix snippet test mismatch between hotspot and native test ( #1797 )
2026-07-28 18:18:36 +00:00
Islon Scherer
1a3dc52a96
Fix bug in force ( #1790 )
2026-07-28 09:19:15 +02:00
67df676359
Introduce C library for Pkl ( #1238 )
...
This uses native-image to generate a C library for Pkl.
This generated library from native-image is wrapped with our own library,
in `pkl.h`.
This produces a static and a dynamic library for each os/arch variant
that Pkl currently supports.
Co-authored-by: Kushal Pisavadia <kushal.p@apple.com >
Co-authored-by: Jen Basch <jbasch94@gmail.com >
Co-authored-by: Islon Scherer <i_desouzascherer@apple.com >
2026-07-25 04:15:26 +00:00
David Tesler and Dan Chao
175e2b6273
Fix negative caret width rendering multi-line expression errors ( #1793 )
...
The expression preamble length was subtracted from endColumn even
when endColumn came from the already-stripped sourceLine.length(),
so multi-line frames got a negative caret width and String.repeat
threw. Apply the offset only to the frame-derived columns.
---------
Co-authored-by: Dan Chao <dan.chao@apple.com >
2026-07-24 20:57:05 +00:00
Islon Scherer and Daniel Chao
2c9e3161d8
Import release notes for 0.32.1 ( #1789 ) ( #1791 )
...
Co-authored-by: Daniel Chao <dan.chao@apple.com >
2026-07-23 19:06:15 +02:00
Daniel Chao
2242cc9c82
Fix variable resolution of object body params ( #1788 )
...
Fixes a regression introduced in Pkl 0.32.
2026-07-22 13:04:36 -07:00
Daniel Chao
03792be984
Add more third party licenses ( #1784 )
...
Some new third-party libs ended up in our distributions, but we didn't
add them to our third party notices.
2026-07-17 18:59:11 +00:00
Daniel Chao
3b5e9df0da
Migrate Gradle delegated properties ( #1782 )
...
There were some more that we missed last time around
2026-07-16 15:41:28 -07:00
Kushal Pisavadia
50cfc0bcde
Close intermediate redirect response bodies before following ( #1749 )
...
When following redirects, `RequestRewritingClient` discarded each 3xx
response without closing its body, leaking the underlying connection.
Close the body as soon as we know the status is a redirect and won't
be returned, so the too-many-redirects, missing-`Location`,
invalid-URI and downgrade error paths all release the connection too.
This prevents leaking one `BodyHandlers.ofInputStream()` connection
per hop. Now the code closes the body before following the redirect.
2026-07-16 21:11:53 +00:00
Jen Basch and Vinayak
3d03a47933
Revert "Revert "Reject abstract members in non-abstract classes" ( #1688 )" ( #1780 )
...
This reverts commit 1bf00b84ea .
Co-authored-by: Vinayak <vinayak@vama.app >
2026-07-16 11:34:20 -07:00
dependabot[bot]
a1421ff667
Bump shadowPlugin from 9.4.2 to 9.5.1 ( #1772 )
...
Bumps `shadowPlugin` from 9.4.2 to 9.5.1.
Updates `com.gradleup.shadow:com.gradleup.shadow.gradle.plugin` from 9.4.2 to 9.5.1
- [Release notes](https://github.com/GradleUp/shadow/releases )
- [Commits](https://github.com/GradleUp/shadow/compare/9.4.2...9.5.1 )
Updates `com.gradleup.shadow` from 9.4.2 to 9.5.1
- [Release notes](https://github.com/GradleUp/shadow/releases )
- [Commits](https://github.com/GradleUp/shadow/compare/9.4.2...9.5.1 )
---
updated-dependencies:
- dependency-name: com.gradleup.shadow:com.gradleup.shadow.gradle.plugin
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: com.gradleup.shadow
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 23:36:31 +00:00
dependabot[bot]
773e964ea2
Bump com.diffplug.spotless:spotless-plugin-gradle from 8.7.0 to 8.8.0 ( #1773 )
...
Bumps [com.diffplug.spotless:spotless-plugin-gradle](https://github.com/diffplug/spotless ) from 8.7.0 to 8.8.0.
- [Release notes](https://github.com/diffplug/spotless/releases )
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md )
- [Commits](https://github.com/diffplug/spotless/compare/gradle/8.7.0...gradle/8.8.0 )
---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-plugin-gradle
dependency-version: 8.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 23:35:45 +00:00
dependabot[bot]
c44cbc546b
Bump nu.validator:validator from 26.6.24 to 26.7.3 ( #1776 )
...
Bumps [nu.validator:validator](https://github.com/validator/validator ) from 26.6.24 to 26.7.3.
- [Release notes](https://github.com/validator/validator/releases )
- [Commits](https://github.com/validator/validator/compare/26.6.24...26.7.3 )
---
updated-dependencies:
- dependency-name: nu.validator:validator
dependency-version: 26.7.3
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 23:35:16 +00:00
dependabot[bot]
71a0b6d113
Bump gradle-wrapper from 9.6.0 to 9.6.1 ( #1775 )
...
Bumps [gradle-wrapper](https://github.com/gradle/gradle ) from 9.6.0 to 9.6.1.
- [Release notes](https://github.com/gradle/gradle/releases )
- [Commits](https://github.com/gradle/gradle/compare/v9.6.0...v9.6.1 )
---
updated-dependencies:
- dependency-name: gradle-wrapper
dependency-version: 9.6.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 23:34:59 +00:00
dependabot[bot]
4f2d2873ae
Bump actions/setup-java from 5.4.0 to 5.5.0 in the first-party group ( #1774 )
...
Bumps the first-party group with 1 update: [actions/setup-java](https://github.com/actions/setup-java ).
Updates `actions/setup-java` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/actions/setup-java/releases )
- [Commits](https://github.com/actions/setup-java/compare/1bcf9fb12cf4aa7d266a90ae39939e61372fe520...0f481fcb613427c0f801b606911222b5b6f3083a )
---
updated-dependencies:
- dependency-name: actions/setup-java
dependency-version: 5.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: first-party
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 23:34:39 +00:00
Jen Basch
42f107881f
Update dependabot schedule ( #1771 )
2026-07-14 16:23:14 -07:00
Jen Basch
71948d69c4
Upgrade to GraalVM 25.1.3, drop macOS Intel builds ( #1769 )
2026-07-13 15:52:02 -07:00
Daniel Chao
60b0d86b5f
Fix eval -x of local members ( #1760 )
...
This fixes a regression where local members cannot be seen by the
expression evaluator.
Because variable are now parse-time resolved, this builds a truffle node
by first constructing a synthetic module of all defined local members,
and calls AstBuilder on this synthetic module first.
2026-07-11 00:03:15 +00:00
dependabot[bot]
b4ca82bf36
Bump kotlinToolchain from 2.3.21 to 2.4.0 ( #1678 )
...
Bumps `kotlinToolchain` from 2.3.21 to 2.4.0.
Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.21 to 2.4.0
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0 )
Updates `org.jetbrains.kotlin.plugin.serialization` from 2.3.21 to 2.4.0
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin.plugin.serialization
dependency-version: 2.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
dependency-version: 2.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-09 16:19:56 -07:00
dependabot[bot]
1cc47faac3
Bump junit from 6.1.0 to 6.1.1 ( #1750 )
...
Bumps `junit` from 6.1.0 to 6.1.1.
Updates `org.junit.jupiter:junit-jupiter-api` from 6.1.0 to 6.1.1
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1 )
Updates `org.junit.jupiter:junit-jupiter-engine` from 6.1.0 to 6.1.1
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1 )
Updates `org.junit.jupiter:junit-jupiter-params` from 6.1.0 to 6.1.1
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1 )
Updates `org.junit.platform:junit-platform-launcher` from 6.1.0 to 6.1.1
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.platform:junit-platform-launcher
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-09 15:51:53 -07:00
dependabot[bot]
d6107c071b
Bump com.palantir.javapoet:javapoet from 0.16.0 to 0.17.0 ( #1751 )
...
Bumps [com.palantir.javapoet:javapoet](https://github.com/palantir/javapoet ) from 0.16.0 to 0.17.0.
- [Release notes](https://github.com/palantir/javapoet/releases )
- [Commits](https://github.com/palantir/javapoet/compare/0.16.0...0.17.0 )
---
updated-dependencies:
- dependency-name: com.palantir.javapoet:javapoet
dependency-version: 0.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-09 15:51:33 -07:00
dependabot[bot]
f21175df9a
Bump jline from 4.2.1 to 4.3.1 ( #1752 )
...
Bumps `jline` from 4.2.1 to 4.3.1.
Updates `org.jline:jline-reader` from 4.2.1 to 4.3.1
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.2.1...4.3.1 )
Updates `org.jline:jline-terminal` from 4.2.1 to 4.3.1
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.2.1...4.3.1 )
Updates `org.jline:jline-terminal-jni` from 4.2.1 to 4.3.1
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.2.1...4.3.1 )
---
updated-dependencies:
- dependency-name: org.jline:jline-reader
dependency-version: 4.3.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.jline:jline-terminal
dependency-version: 4.3.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.jline:jline-terminal-jni
dependency-version: 4.3.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-09 15:51:11 -07:00
dependabot[bot]
a59fd9d2ad
Bump the codeql group with 2 updates ( #1757 )
...
Bumps the codeql group with 2 updates: [github/codeql-action/analyze](https://github.com/github/codeql-action ) and [github/codeql-action/init](https://github.com/github/codeql-action ).
Updates `github/codeql-action/analyze` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a )
Updates `github/codeql-action/init` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a )
---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
dependency-version: 4.36.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: codeql
- dependency-name: github/codeql-action/init
dependency-version: 4.36.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: codeql
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-09 15:09:48 -07:00
Jen Basch
ed1d600779
Bump pkl.impl.ghactions to version 1.8.2 ( #1756 )
2026-07-09 13:50:20 -07:00
Daniel Chao
7a7f3abc50
Migrate Gradle deprecations ( #1745 )
2026-07-08 12:05:19 -07:00
Dan Chao
25d86db416
Update changelog with release notes link
2026-07-08 10:29:48 -07:00
Dan Chao
997cfc9ae2
Start next dev iteration
2026-07-08 10:29:48 -07:00
Dan Chao
9916c23cfc
Prepare 0.32.0 release
2026-07-08 10:29:48 -07:00
Daniel Chao
c3d570c769
Fix docsite ( #1740 )
2026-07-08 09:45:07 -07:00
Daniel Chao
7499a89d83
Add 0.32 release notes ( #1699 )
...
This adds release notes for the 0.32 release
2026-07-08 09:38:37 -07:00
Daniel Chao
010d971af0
Add tests for empty IntSeq iteration ( #1739 )
2026-07-08 06:37:56 -07:00
Daniel Chao
bd83e29641
Normalize asset paths in local dependencies ( #1737 )
...
This changes local asset path resolution so that `..` segments at the
dependency root just resolves to the dependency root.
This makes import resolution work the same between local and remote dependencies.
2026-07-08 05:43:36 -07:00
Daniel Chao
2ec62c99a7
Enforce stricter rules on reference access ( #1718 )
...
This changes the following:
1. If given a union type, the member must exist on each member of that type
2. If accessing a member off `Reference<D, Null>`, give a `Reference<D, Null>`
Also:
* Improve error messages thrown during member access.
* Add test around accessing members off of a function type
2026-07-06 19:24:14 -07:00
Daniel Chao
3fc97d8dad
Allow projectpackage: resource reads by default in Gradle plugin ( #1735 )
...
Fix an inconsistency: they are allowed as imports, but not reads.
2026-07-06 14:41:52 -07:00
Daniel Chao
eaf73af247
Improve thread safety for pkl:base ( #1719 )
...
Stdlib modules are singletons that are shared across multiple evaluators.
This improves thread safety by evaluating its `output.bytes` during
initialization, which initializes truffle nodes (e.g. TypeTestNode),
and also initializes the member cache of the module output of `pkl:base`
2026-07-06 11:19:29 -07:00
Daniel Chao
2ec83198f5
Fix replacements of types nested within nested constraints ( #1731 )
...
Also, adjust tests
2026-07-06 08:58:56 -07:00
dependabot[bot]
26c115aea6
Bump gradle-wrapper from 9.5.1 to 9.6.0 ( #1727 )
...
Bumps [gradle-wrapper](https://github.com/gradle/gradle ) from 9.5.1 to 9.6.0.
- [Release notes](https://github.com/gradle/gradle/releases )
- [Commits](https://github.com/gradle/gradle/compare/v9.5.1...v9.6.0 )
---
updated-dependencies:
- dependency-name: gradle-wrapper
dependency-version: 9.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-02 22:19:24 +00:00
Jen Basch
6a4d3acf21
Fix incorrect isNoopTypeCheck() calls ( #1717 )
...
`isNoopTypeCheck()` is not reliable when inside a TypeNode's constructor. This defers these calls to node execution time.
2026-07-02 14:24:55 -07:00
dependabot[bot]
08b0975af9
Bump actions/setup-java from 5.3.0 to 5.4.0 ( #1726 )
...
Bumps [actions/setup-java](https://github.com/actions/setup-java ) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/actions/setup-java/releases )
- [Commits](https://github.com/actions/setup-java/compare/ad2b38190b15e4d6bdf0c97fb4fca8412226d287...1bcf9fb12cf4aa7d266a90ae39939e61372fe520 )
---
updated-dependencies:
- dependency-name: actions/setup-java
dependency-version: 5.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 11:29:36 -07:00
dependabot[bot]
1ad63d32b3
Bump nu.validator:validator from 26.5.29 to 26.6.24 ( #1725 )
...
Bumps [nu.validator:validator](https://github.com/validator/validator ) from 26.5.29 to 26.6.24.
- [Release notes](https://github.com/validator/validator/releases )
- [Commits](https://github.com/validator/validator/compare/26.5.29...26.6.24 )
---
updated-dependencies:
- dependency-name: nu.validator:validator
dependency-version: 26.6.24
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 11:29:14 -07:00
dependabot[bot]
f44ff9904d
Bump commonMark from 0.28.0 to 0.29.0 ( #1724 )
...
Bumps `commonMark` from 0.28.0 to 0.29.0.
Updates `org.commonmark:commonmark` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-gfm-tables` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
---
updated-dependencies:
- dependency-name: org.commonmark:commonmark
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.commonmark:commonmark-ext-gfm-tables
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 11:28:45 -07:00
Daniel Chao
45912c504f
Fix incorrect member links ( #1723 )
...
This fixes various incorrect member links in the stdlib.
2026-07-02 11:04:01 -07:00
adityabagchi24 and Daniel Chao
1c1a39e37f
Fix type argument lost in constraint expressions within generic typealiases ( #1709 )
...
Co-authored-by: Daniel Chao <daniel.h.chao@gmail.com >
2026-07-01 10:10:03 -07:00
Jen Basch
bfa6a989be
Generalize TypeNode validation ( #1715 )
2026-06-30 08:50:35 -07:00
Jen Basch
70fc1d4ba3
Correctly handle type aliases with a type variable as the root ( #1714 )
2026-06-30 06:49:21 +00:00
Daniel Chao
139d1ae8ec
Fix many editor diagnostics ( #1707 )
...
This addresses many IDE warnings resulting from the switch to JSpecify.
Also, this changes the behavior of exporting VmObject; there's no place
in our code that does not force a VmObject prior to export, so
the existing logic around handling nullable values has been removed.
2026-06-29 16:22:19 +00:00
Daniel Chao
742a8e88da
Fix for-generator variable resolution in nested eager scope ( #1706 )
...
Fixes an issue around resolving for-generator variables in some cases
2026-06-29 09:07:51 -07:00
Islon Scherer
6239981869
Improve error message for aliased references ( #1695 )
2026-06-29 18:06:34 +02:00
dependabot[bot]
f470903389
Bump EnricoMi/publish-unit-test-result-action from 2.23.0 to 2.24.0 ( #1700 )
...
Bumps [EnricoMi/publish-unit-test-result-action](https://github.com/enricomi/publish-unit-test-result-action ) from 2.23.0 to 2.24.0.
- [Release notes](https://github.com/enricomi/publish-unit-test-result-action/releases )
- [Commits](https://github.com/enricomi/publish-unit-test-result-action/compare/c950f6fb443cb5af20a377fd0dfaa78838901040...d0a4676d0e0b938bc201470d88276b7c74c712b3 )
---
updated-dependencies:
- dependency-name: EnricoMi/publish-unit-test-result-action
dependency-version: 2.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-26 09:51:24 -07:00
Daniel Chao
158f709ed4
Adjust doc comments on ref.pkl ( #1693 )
...
This adjusts the doc comments in ref.pkl
* Fix incorrect code snippets
* Clean up examples
* Remove some sections
* Make phrasing consistent with the rest of the stdlib
2026-06-25 21:31:54 +00:00
dependabot[bot]
601a8f424c
Bump jline from 4.1.3 to 4.2.1 ( #1702 )
...
Bumps `jline` from 4.1.3 to 4.2.1.
Updates `org.jline:jline-reader` from 4.1.3 to 4.2.1
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.1.3...4.2.1 )
Updates `org.jline:jline-terminal` from 4.1.3 to 4.2.1
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.1.3...4.2.1 )
Updates `org.jline:jline-terminal-jni` from 4.1.3 to 4.2.1
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](https://github.com/jline/jline3/compare/4.1.3...4.2.1 )
---
updated-dependencies:
- dependency-name: org.jline:jline-reader
dependency-version: 4.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.jline:jline-terminal
dependency-version: 4.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.jline:jline-terminal-jni
dependency-version: 4.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-25 14:13:41 -07:00
dependabot[bot]
34c58efe4c
Bump actions/setup-java from 5.2.0 to 5.3.0 ( #1701 )
...
Bumps [actions/setup-java](https://github.com/actions/setup-java ) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/actions/setup-java/releases )
- [Commits](https://github.com/actions/setup-java/compare/be666c2fcd27ec809703dec50e508c2fdc7f6654...ad2b38190b15e4d6bdf0c97fb4fca8412226d287 )
---
updated-dependencies:
- dependency-name: actions/setup-java
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-25 13:51:17 -07:00
dependabot[bot]
7903a072ea
Bump com.diffplug.spotless:spotless-plugin-gradle from 8.6.0 to 8.7.0 ( #1704 )
...
Bumps [com.diffplug.spotless:spotless-plugin-gradle](https://github.com/diffplug/spotless ) from 8.6.0 to 8.7.0.
- [Release notes](https://github.com/diffplug/spotless/releases )
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md )
- [Commits](https://github.com/diffplug/spotless/compare/gradle/8.6.0...gradle/8.7.0 )
---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-plugin-gradle
dependency-version: 8.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-25 13:50:50 -07:00
dependabot[bot]
bda36f0c32
Bump com.uber.nullaway:nullaway from 0.13.6 to 0.13.7 ( #1703 )
...
Bumps [com.uber.nullaway:nullaway](https://github.com/uber/NullAway ) from 0.13.6 to 0.13.7.
- [Release notes](https://github.com/uber/NullAway/releases )
- [Changelog](https://github.com/uber/NullAway/blob/master/CHANGELOG.md )
- [Commits](https://github.com/uber/NullAway/compare/v0.13.6...v0.13.7 )
---
updated-dependencies:
- dependency-name: com.uber.nullaway:nullaway
dependency-version: 0.13.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-25 13:50:28 -07:00
Islon Scherer
d42e199da3
Fix wrong error key in ReflectNodes ( #1694 )
2026-06-25 09:21:03 +02:00
Daniel Chao
f61a5cf541
Check if receiver is a module object in relativePathTo ( #1650 )
...
Closes #1649
2026-06-24 11:48:57 +02:00
Islon Scherer
dd6939ab3f
Add equals and hashcode to PType ( #1691 )
2026-06-24 11:31:11 +02:00
Minh Vu
f7cac257ad
Fix Windows GraalVM installation ( #1687 )
...
## What changed
This updates the GraalVM install task so Windows installs use ZIP extraction instead of the Unix tar path. Windows now publishes the extracted directory by moving it into place, while macOS and Linux keep the existing tar extraction and symlink-based install flow.
## Why
BuildInfo.GraalVm downloads .zip archives on Windows, but InstallGraalVm always ran tar --strip-components=1 -xzf and then tried to install by creating a symbolic link. That combination is fragile on Windows: the archive format does not match the extraction command, and symlink creation can require special privileges.
2026-06-23 15:36:01 -07:00
Daniel Chao
1bf00b84ea
Revert "Reject abstract members in non-abstract classes" ( #1688 )
...
The changes made in this commit are good, but we're going to kick this out
to the next release.
This is because:
1. There's a couple more issues around the `abstract` modifier that is not
implemented yet, and need design considerations
2. These are breaking changes, and we want to minimize the amount of breakages
for users.
3. The main branch is still the develop branch for Pkl 0.32
We will apply a re-revert of this commit after Pkl 0.32 is released.
2026-06-23 09:46:14 -07:00
Daniel Chao
15f089b275
Implement toString() on VmReference ( #1692 )
...
This is still needed right now, because some methods call through to
`toString()`.
2026-06-23 09:45:13 -07:00
Jen Basch
8a43e51e6b
SPICE-0020: Deferred, type-safe references ( #1354 )
2026-06-23 15:26:06 +02:00
Vladimir Matveev
b3015a09cc
Catching exceptions during property evaluation ( #1684 )
...
The eval task, unlike other tasks, creates the evaluator when the property is evaluated, not just when the task is executed (in the `getEffective*` properties). The problem here is that property evaluation can and will happen before the task is executed, because Gradle needs property values for caching and sometimes task dependency information.
Therefore, if due to misconfiguration or due to intentional configuration the evaluator cannot be created - for example, when the `PklProject` module doesn't exist, but the project directory is configured - then the task will fail with an exception which looks _very_ similar to a regular execution exception, but which actually is not, because it is thrown not during task execution, but during preparation for the execution.
This distinction matters a lot when you rely on conditional task execution. If you use the `onlyIf` predicate on tasks to define a condition for the task execution, this predicate will be evaluated before the task actions are run, but *after* properties are evaluated. Thus, if property evaluation fails with an exception, it will *look* as if the `onlyIf` predicate is completely ignored and not even evaluated, and the task action is run regardless of the predicate.
This error mode is extremely confusing and is actually wrong: if I use `onlyIf` to gate the task execution, I don't want *any* of its logic to run. In fact, in my case I specifically use `onlyIf` on the evaluation task to only execute it if a prerequisite is met, and the same predicate guards a bunch of other tasks which prepare the Pkl project, so my Pkl project isn't even generated if the predicate fails. But due to this behavior of properties evaluation which are not controlled by `onlyIf`, the project is still attempted to be evaluated, and this results in a very unexpected build failure.
The solution is to ignore the evaluation exception, because for all intents and purposes, if the project can't be properly evaluated, it will fail during the task execution as it should, so the values of output properties don't really matter as the task will never be run.
2026-06-22 14:30:27 -07:00
dependabot[bot]
ffc755f9c1
Bump errorProne from 2.49.0 to 2.50.0 ( #1685 )
...
Bumps `errorProne` from 2.49.0 to 2.50.0.
Updates `com.google.errorprone:error_prone_core` from 2.49.0 to 2.50.0
- [Release notes](https://github.com/google/error-prone/releases )
- [Commits](https://github.com/google/error-prone/compare/v2.49.0...v2.50.0 )
Updates `com.google.errorprone:error_prone_annotations` from 2.49.0 to 2.50.0
- [Release notes](https://github.com/google/error-prone/releases )
- [Commits](https://github.com/google/error-prone/compare/v2.49.0...v2.50.0 )
---
updated-dependencies:
- dependency-name: com.google.errorprone:error_prone_core
dependency-version: 2.50.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: com.google.errorprone:error_prone_annotations
dependency-version: 2.50.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 10:33:28 -07:00
dependabot[bot]
112a89468f
Bump com.uber.nullaway:nullaway from 0.13.4 to 0.13.6 ( #1686 )
...
Bumps [com.uber.nullaway:nullaway](https://github.com/uber/NullAway ) from 0.13.4 to 0.13.6.
- [Release notes](https://github.com/uber/NullAway/releases )
- [Changelog](https://github.com/uber/NullAway/blob/master/CHANGELOG.md )
- [Commits](uber/NullAway@v0.13 .4...v0.13.6)
---
updated-dependencies:
- dependency-name: com.uber.nullaway:nullaway
dependency-version: 0.13.6
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-22 10:31:12 -07:00
Islon Scherer
bfac0d66ed
Reject relative package URIs ( #1683 )
2026-06-17 15:39:03 +02:00
Daniel Chao
fc8fe86e5a
Remove incorrectly placed index methods on Collection ( #1681 )
...
These methods aren't implemented in `Set`, and don't really make sense because `Set` types can't be accessed by index.
Note: although this removes methods, this actually isn't a breaking change:
1. Calling `Set.findIndex()` currently throws an error around "cannot invoke abstract method"
2. `List` and `Set` are the only subclasses of `Collection`.
The following code isn't breaking at runtime, although static analysis tooling (like our IDE plugins) will now flag this as an error:
```pkl
myCollection: Collection
idx = myCollection.indexOf(1)
```
2026-06-15 08:56:55 -07:00
Aditya Singh
a9c98e4396
Fix incorrect Facts in pkl:base doc comments ( #1669 )
...
Several `Facts:` examples in the `pkl:base` standard library docs assert
statements that are false when evaluated. Since these examples are not
run by any test, the mistakes went unnoticed and are rendered verbatim
into the generated API docs, where they mislead readers.
The corrected examples:
- `String.isNotBlank`: `"\t\n\r".isNotBlank` was listed as holding, but
a string of only whitespace is blank, so it is false. Negated it to
match the neighboring `!"".isNotBlank` and `!" ".isNotBlank` examples.
- `DataSize.toBinaryUnit` / `toDecimalUnit`: the `mb`/`mib` lines
mirrored the `kb`/`kib` lines, but the identity only holds for adjacent
units. `1024.kb == 1000.kib` (both 1,024,000 b), whereas `1024.mb` is
1,024,000,000 b and `1000.mib` is 1,048,576,000 b, so they are not
equal. There is no clean round-number equivalent at this magnitude, so I
removed the two false lines; the remaining examples still demonstrate
the conversion.
- `Collection.any`: `!List(1, 2, 3).any((n) -> n.isEven)` is false
because 2 is even. Changed the list to `List(1, 3, 5)` so the negation
holds.
- `IntSeq.end`: the example read `IntSeq(2, 5).start == 5`, which
documents the wrong property and is false (`start` is 2). Corrected it
to `IntSeq(2, 5).end == 5`.
- `List.isDistinctBy` / `distinctBy`: `List("a", "b", "abc")` is not
distinct by length, since `"a"` and `"b"` both have length 1. Switched
to `List("a", "bb", "ccc")` so the distinctness examples hold.
- `Map`: `Map(...).values` returns a `List`, not a `Set`. Corrected the
expected type.
I verified that each corrected example evaluates to `true`, and that the
neighboring examples I kept still pass, using the released Pkl 0.31.1
binary. The changes are confined to doc-comment text, so formatting is
unaffected.
---------
Signed-off-by: Aditya Singh <adisin650@gmail.com >
2026-06-11 17:10:14 +00:00
dependabot[bot]
8be37ae606
Bump github/codeql-action from 4.36.0 to 4.36.2 ( #1676 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 4.36.0 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](github/codeql-action@7211b7c...8aad20d)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 4.36.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-11 16:06:18 +00:00
dependabot[bot]
e012266372
Bump actions/checkout from 6.0.2 to 6.0.3 ( #1677 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](actions/checkout@de0fac2...df4cb1c)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-11 08:52:25 -07:00
dependabot[bot]
b3a12cb138
Bump nu.validator:validator from 26.5.22 to 26.5.29 ( #1679 )
...
Bumps [nu.validator:validator](https://github.com/validator/validator ) from 26.5.22 to 26.5.29.
- [Release notes](https://github.com/validator/validator/releases )
- [Commits](validator/validator@26.5.22...26.5.29)
---
updated-dependencies:
- dependency-name: nu.validator:validator
dependency-version: 26.5.29
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-11 08:51:45 -07:00
dependabot[bot]
1fa4e5e761
Bump com.palantir.javapoet:javapoet from 0.15.0 to 0.16.0 ( #1680 )
...
Bumps [com.palantir.javapoet:javapoet](https://github.com/palantir/javapoet ) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/palantir/javapoet/releases )
- [Commits](palantir/javapoet@0.15 .0...0.16.0)
---
updated-dependencies:
- dependency-name: com.palantir.javapoet:javapoet
dependency-version: 0.16.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-11 08:50:46 -07:00
Daniel Chao
84d2c32d10
Improve handling of frame slots ( #1634 )
...
This makes various improvements to the handling of frame slot vars, and
includes some bug fixes introduced by
https://github.com/apple/pkl/pull/1622
* Refactor SymbolTable to track for-generator and parameter slots in
each scope
* Execute let expressions in their own root node in some places
* Unify how frame slots are managed; they are all represented as
`FrameSlotVariable`, created in `AstBuilder`, and passed into
`SymbolTable`.
* Fix how let expressions are executed in custom this scopes (introduce
a new root node when needed)
2026-06-11 03:02:42 +00:00
Daniel Chao
27fe06c796
Fix errors around strings with lone high or low surrogates ( #1673 )
...
This fixes some errors around treatment of strings with lone high/low
surrogates.
2026-06-10 08:35:22 -07:00
Daniel Chao
1a1e1cfea9
Fix String.padStart/padEnd ( #1672 )
...
Fixes the following two bugs:
* Pads to incorrect string length
* Does not append full code point
2026-06-10 08:34:50 -07:00
Daniel Chao
44f8706616
Fix visiting element type node of Collection ( #1675 )
...
This is a bug in the visitor logic, but currently doesn't impact any
language behavior.
2026-06-10 06:53:26 -07:00
Daniel Chao
ac822f11eb
Improve handling of evaluator in multi-file output ( #1670 )
...
* Re-use same evaluator across output dirs
* Close evaluator after all files are written
2026-06-10 06:52:47 -07:00
Daniel Chao
f6e3f5e00b
Fix VmIntSeq.length ( #1666 )
...
This fixes an internal optimization.
No language-observable change results from this fix, so no tests are
introduced.
2026-06-10 06:52:25 -07:00
ce0383837a
Reject abstract members in non-abstract classes ( #1647 )
...
Fixes #1614 .
## Context
A non-abstract `class` (or `module`) was allowed to declare `abstract`
properties and methods.
Because such an enclosing type is instantiable, an `abstract` member
there can never be guaranteed
an implementation — so the contradiction surfaced only as a runtime
error when the member was
accessed (`Cannot invoke abstract method`), or not at all.
This makes it a compile-time error to declare an `abstract` member
unless its enclosing class or
module is also `abstract`. This is consistent with how Pkl already
rejects instantiating an abstract
class, and mirrors how Java and Kotlin treat abstract members.
## Before
```pkl
class Foo {
abstract bar: Int
}
res = new Foo { bar = 5 } // evaluated successfully (should fail)
```
```pkl
class Foo {
abstract function bar(): Int
}
res = new Foo {} // evaluated successfully; res.bar() failed only at runtime
```
## After
```
–– Pkl Error ––
Cannot define an abstract member in a non-abstract class.
2 | abstract bar: Int
^^^^^^^^
at Foo
A member can only be `abstract` if its enclosing class is also `abstract`.
```
## Implementation
- `AstBuilder` now validates, while building the AST, that a
non-abstract class/module declares no
`abstract` members. The check runs in both `visitClass` and
`visitModule`, and the error points at
the `abstract` keyword.
- Adds the `abstractMemberInNonAbstractClass` error message.
## Scope: classes and modules
The issue describes classes; I applied the same rule to modules as well,
since a module is a class
in Pkl and a non-abstract module is likewise directly evaluatable. Happy
to narrow this to classes
only if you'd prefer — it's a one-line change either way.
The `moduleMethodModifiers` pkl-doc test fixture declared an abstract
method at non-abstract module
level (relying on the old behavior); it's updated to an `abstract
module`, and its expected
documentation output is regenerated.
## Tests
- New `LanguageSnippetTests` error cases: abstract property in a class,
abstract method in a class,
and abstract member in a module.
- `./gradlew build` passes (`pkl-core` and `pkl-doc` included).
---------
Co-authored-by: Vinayak <vinayak@vama.app >
Co-authored-by: Daniel Chao <daniel.h.chao@gmail.com >
2026-06-10 10:36:40 +02:00
Daniel Chao
16a640ed80
Bump pkl.impl.ghactions to version 1.8.1 ( #1668 )
...
Updates pkl.impl.ghactions package to version 1.8.1
2026-06-09 09:28:22 +02:00
Daniel Chao
391329c1fa
Fix test ( #1667 )
...
The previous PR (https://github.com/apple/pkl/pull/1637 ) got auto-merged
by mistake; there's a failing test here
2026-06-08 16:11:49 -05:00
Daniel Chao and Islon Scherer
d012285f7d
Improve HTTP redirect following ( #1637 )
...
This implements HTTP redirect following ourselves.
The goal is:
1. All I/O is checked against `--allowed-resources` and
`--allowed-modules`, including HTTP redirects
2. HTTP rewrite rules can affect redirect following
3. HTTP headers can affect redirect following
---------
Co-authored-by: Islon Scherer <islonscherer@gmail.com >
2026-06-08 18:13:48 +00:00
Daniel Chao
b993cc3bb1
Fix doIsEquivalentTo for IntMaskSlotTypeNode ( #1664 )
...
This fixes an internal optimization; doesn't result in a
language-observable change, so no test case is introduced.
2026-06-07 12:51:31 -07:00
Daniel Chao
1cc20b611f
Revert configuration cache ( #1659 )
...
This reverts the commits that enabled Gradle's configuration cache
feature.
IMO: this feature is too hard to use. We don't know if a task is valid
for the configuration cache until it runs, and it's very hard to tell if
something is safe when authoring Gradle code.
For example, our publish tasks are currently failing; I don't know how I
would fix this without running the publish task again on my dev machine.
Also, some of our build scripts become more brittle because of this; for
example, see
https://github.com/apple/pkl/blob/bb07589eae0b3195a589559a3245cbc12c29b394/build-logic/src/main/kotlin/BuildInfo.kt#L291-L296
2026-06-05 23:31:40 +00:00
Daniel Chao
bb07589eae
Fix gradle configuration cache issues for gradle-compatibility ( #1658 )
2026-06-05 14:17:06 -07:00
Daniel Chao
01f8fcae7b
Catch correct exception type in MultiplicationNode ( #1652 )
...
Closes #1651
2026-06-05 12:55:27 -07:00
Daniel Chao
41e012a0f0
Fix toRadixString on math.minInt ( #1656 )
...
Closes #1655
2026-06-05 18:27:03 +00:00
Daniel Chao
aa01241068
Fix eager typecheck of Map ( #1654 )
...
Closes #1653
2026-06-05 11:24:00 -07:00
Daniel Chao
87ec8ee730
Enable Gradle configuration cache ( #1646 )
...
Enable the configuration cache feature in Gradle, and adjust various
pieces of build logic that aren't configuration cache compatible.
2026-06-05 11:05:19 -07:00
Jen Basch
74eae0388e
Fix error rendering @ConvertProperty annotations during error reporting ( #1648 )
...
The added snippet test originally produced error "A value of type
`Function2` cannot be exported."
This PR actually fixes the bug twice:
* By marking `ConvertProperty.render` as `hidden` so that it is skipped
when the enclosing object is exported. This broke any attempts to obtain
the module schema because this requires exporting all annotations on all
class properties.
* By changing the way that `VmUndefinedValueException.fillInHint()`
obtains the module URI to avoid obtaining the module schema (and
triggering the more expensive module schema generation process).
It also makes function-typed annotation properties in `pkl:Command` hidden to avoid similar issues there.
2026-06-05 16:50:34 +00:00
dependabot[bot]
8b6b90d889
Bump jline from 4.0.14 to 4.1.3 ( #1640 )
...
Bumps `jline` from 4.0.14 to 4.1.3.
Updates `org.jline:jline-reader` from 4.0.14 to 4.1.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jline/jline3/releases ">org.jline:jline-reader's
releases</a>.</em></p>
<blockquote>
<p>JLine 4.1.3 is a patch release with important fixes for terminal
close handling, raw mode signal behavior, FFM memory management, and
shell command argument parsing.</p>
<h2>Bug Fixes</h2>
<ul>
<li>fix: terminal.close() blocks when pump thread is reading stdin (<a
href="https://redirect.github.com/jline/jline3/pull/1911 ">#1911</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1909 ">#1909</a>)</li>
<li>fix: clear ISIG in enterRawMode so Ctrl+C reaches raw-mode readers
(<a
href="https://redirect.github.com/jline/jline3/pull/1912 ">#1912</a>)</li>
<li>fix: use confined arenas instead of auto arenas in FFM CLibrary (<a
href="https://redirect.github.com/jline/jline3/pull/1913 ">#1913</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1872 ">#1872</a>)</li>
<li>fix: swap rows/columns in openpty winsize constructor call (<a
href="https://redirect.github.com/jline/jline3/pull/1914 ">#1914</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1910 ">#1910</a>)</li>
<li>fix: fix command argument parsing in DefaultCommandDispatcher (<a
href="https://redirect.github.com/jline/jline3/pull/1924 ">#1924</a>)</li>
</ul>
<h2>Chores</h2>
<ul>
<li>chore: add OSS AI helper rules for project conventions (<a
href="https://redirect.github.com/jline/jline3/pull/1917 ">#1917</a>)</li>
</ul>
<h2>Dependencies</h2>
<ul>
<li>chore: Bump org.graalvm.buildtools:native-maven-plugin from 1.1.0 to
1.1.1 (<a
href="https://redirect.github.com/jline/jline3/pull/1915 ">#1915</a>)</li>
<li>chore: Bump org.apache.maven.plugins:maven-surefire-plugin from
3.5.5 to 3.5.6 (<a
href="https://redirect.github.com/jline/jline3/pull/1918 ">#1918</a>)</li>
<li>chore: Bump com.diffplug.spotless:spotless-maven-plugin from 3.5.1
to 3.6.0 (<a
href="https://redirect.github.com/jline/jline3/pull/1919 ">#1919</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jline/jline3/compare/4.1.2...4.1.3 ">https://github.com/jline/jline3/compare/4.1.2...4.1.3 </a></p>
<p>JLine 4.1.2 is a patch release focused on correctness fixes across
the parser, terminal I/O, and shell modules.</p>
<h2>Bug Fixes</h2>
<ul>
<li>fix: echo preserves backslash before unrecognised escape sequences
(<a
href="https://redirect.github.com/jline/jline3/issues/1901 ">#1901</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1863 ">#1863</a>)</li>
<li>fix: DefaultParser preserves backslashes inside quotes (<a
href="https://redirect.github.com/jline/jline3/issues/1902 ">#1902</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1877 ">#1877</a>)</li>
<li>fix: NonBlockingInputStream keeps thread alive after EOF (<a
href="https://redirect.github.com/jline/jline3/issues/1903 ">#1903</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1879 ">#1879</a>)</li>
<li>fix: ensure cursor position after alternate screen init (<a
href="https://redirect.github.com/jline/jline3/issues/1904 ">#1904</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1883 ">#1883</a>)</li>
<li>fix: use parser for command argument splitting (<a
href="https://redirect.github.com/jline/jline3/issues/1907 ">#1907</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1876 ">#1876</a>)</li>
</ul>
<h2>Dependencies</h2>
<ul>
<li>chore: Bump eu.maveniverse.maven.nisse:extension from 0.9.1 to 0.9.2
(<a
href="https://redirect.github.com/jline/jline3/issues/1905 ">#1905</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jline/jline3/compare/4.1.1...4.1.2 ">https://github.com/jline/jline3/compare/4.1.1...4.1.2 </a></p>
<p>JLine 4.1.1 is a patch release focused on stability fixes. The most
notable change corrects the POSIX raw mode defaults (VMIN/VTIME) in
<code>enterRawMode</code>, which could cause shell REPL sessions to hang
or malfunction on certain platforms. This release also fixes a Display
bug where the internal line buffer could alias or reject immutable
caller-provided lists, hardens signal registration against null returns,
and corrects alternate charset handling in ScreenTerminal.</p>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>fix: Fixed Display oldLines being set as possible immutable lists.
(<a href="https://redirect.github.com/jline/jline3/pull/1878 ">#1878</a>)
<a href="https://github.com/Elec332 "><code>@Elec332</code></a></li>
<li>fix: use POSIX cfmakeraw defaults (VMIN=1, VTIME=0) in enterRawMode
(<a href="https://redirect.github.com/jline/jline3/pull/1871 ">#1871</a>)
<a href="https://github.com/BryanSant "><code>@BryanSant</code></a></li>
<li>fix: skip null returns from signal registration in
AbstractUnixSysTerminal (<a
href="https://redirect.github.com/jline/jline3/pull/1869 ">#1869</a>) <a
href="https://github.com/BryanSant "><code>@BryanSant</code></a></li>
<li>fix: Fixed ScreenTerminal alt-charset (<a
href="https://redirect.github.com/jline/jline3/pull/1867 ">#1867</a>) <a
href="https://github.com/Elec332 "><code>@Elec332</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>chore: Bump com.palantir.javaformat:palantir-java-format from 2.90.0
to 2.91.0 (<a
href="https://redirect.github.com/jline/jline3/pull/1898 ">#1898</a>) <a
href="https://github.com/dependabot "><code>@dependabot</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jline/jline3/commit/7f44a23f0da569e33fe9a632e982f94274bfb25d "><code>7f44a23</code></a>
fix: fix command argument parsing in DefaultCommandDispatcher (<a
href="https://redirect.github.com/jline/jline3/issues/1924 ">#1924</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/911e3d6d3101858629b9d8f74752d8b09475b65f "><code>911e3d6</code></a>
chore: Bump com.diffplug.spotless:spotless-maven-plugin from 3.5.1 to
3.6.0 (...</li>
<li><a
href="https://github.com/jline/jline3/commit/15cdac548ce65afdad84d15096d8e5183b1a8577 "><code>15cdac5</code></a>
chore: Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.5 to
3.5....</li>
<li><a
href="https://github.com/jline/jline3/commit/2d3e1ffee5d895f0c407d838bf54da924640af4f "><code>2d3e1ff</code></a>
chore: Bump org.graalvm.buildtools:native-maven-plugin from 1.1.0 to
1.1.1 (#...</li>
<li><a
href="https://github.com/jline/jline3/commit/0ac019ab8c44da3ae4ee47bccd216791e6ccb35d "><code>0ac019a</code></a>
fix: terminal.close() blocks when pump thread is reading stdin (<a
href="https://redirect.github.com/jline/jline3/issues/1911 ">#1911</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1d637408d2cdd479a5abede3ce88710be3e611ae "><code>1d63740</code></a>
fix: use confined arenas instead of auto arenas in FFM CLibrary (fixes
<a
href="https://redirect.github.com/jline/jline3/issues/1872 ">#1872</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1604643d04a6ae56fdd6758757c18e968c7ff59d "><code>1604643</code></a>
Merge pull request <a
href="https://redirect.github.com/jline/jline3/issues/1912 ">#1912</a>
from jline/dot-tarragon</li>
<li><a
href="https://github.com/jline/jline3/commit/147ee9c7024af2caed1a306e48fd236beef475df "><code>147ee9c</code></a>
chore: add OSS AI helper rules for project conventions (<a
href="https://redirect.github.com/jline/jline3/issues/1917 ">#1917</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1735c1f2a22808a1a3d7837db0eca9714a66f4e8 "><code>1735c1f</code></a>
fix: swap rows/columns in openpty winsize constructor call (fixes <a
href="https://redirect.github.com/jline/jline3/issues/1910 ">#1910</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/d9f6b86589760807162862d289685ea7673f0e41 "><code>d9f6b86</code></a>
fix: add PromptCancelTest from <a
href="https://redirect.github.com/jline/jline3/issues/1908 ">#1908</a>
with timeout and fixture patterns</li>
<li>Additional commits viewable in <a
href="https://github.com/jline/jline3/compare/4.0.14...4.1.3 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `org.jline:jline-terminal` from 4.0.14 to 4.1.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jline/jline3/releases ">org.jline:jline-terminal's
releases</a>.</em></p>
<blockquote>
<p>JLine 4.1.3 is a patch release with important fixes for terminal
close handling, raw mode signal behavior, FFM memory management, and
shell command argument parsing.</p>
<h2>Bug Fixes</h2>
<ul>
<li>fix: terminal.close() blocks when pump thread is reading stdin (<a
href="https://redirect.github.com/jline/jline3/pull/1911 ">#1911</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1909 ">#1909</a>)</li>
<li>fix: clear ISIG in enterRawMode so Ctrl+C reaches raw-mode readers
(<a
href="https://redirect.github.com/jline/jline3/pull/1912 ">#1912</a>)</li>
<li>fix: use confined arenas instead of auto arenas in FFM CLibrary (<a
href="https://redirect.github.com/jline/jline3/pull/1913 ">#1913</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1872 ">#1872</a>)</li>
<li>fix: swap rows/columns in openpty winsize constructor call (<a
href="https://redirect.github.com/jline/jline3/pull/1914 ">#1914</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1910 ">#1910</a>)</li>
<li>fix: fix command argument parsing in DefaultCommandDispatcher (<a
href="https://redirect.github.com/jline/jline3/pull/1924 ">#1924</a>)</li>
</ul>
<h2>Chores</h2>
<ul>
<li>chore: add OSS AI helper rules for project conventions (<a
href="https://redirect.github.com/jline/jline3/pull/1917 ">#1917</a>)</li>
</ul>
<h2>Dependencies</h2>
<ul>
<li>chore: Bump org.graalvm.buildtools:native-maven-plugin from 1.1.0 to
1.1.1 (<a
href="https://redirect.github.com/jline/jline3/pull/1915 ">#1915</a>)</li>
<li>chore: Bump org.apache.maven.plugins:maven-surefire-plugin from
3.5.5 to 3.5.6 (<a
href="https://redirect.github.com/jline/jline3/pull/1918 ">#1918</a>)</li>
<li>chore: Bump com.diffplug.spotless:spotless-maven-plugin from 3.5.1
to 3.6.0 (<a
href="https://redirect.github.com/jline/jline3/pull/1919 ">#1919</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jline/jline3/compare/4.1.2...4.1.3 ">https://github.com/jline/jline3/compare/4.1.2...4.1.3 </a></p>
<p>JLine 4.1.2 is a patch release focused on correctness fixes across
the parser, terminal I/O, and shell modules.</p>
<h2>Bug Fixes</h2>
<ul>
<li>fix: echo preserves backslash before unrecognised escape sequences
(<a
href="https://redirect.github.com/jline/jline3/issues/1901 ">#1901</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1863 ">#1863</a>)</li>
<li>fix: DefaultParser preserves backslashes inside quotes (<a
href="https://redirect.github.com/jline/jline3/issues/1902 ">#1902</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1877 ">#1877</a>)</li>
<li>fix: NonBlockingInputStream keeps thread alive after EOF (<a
href="https://redirect.github.com/jline/jline3/issues/1903 ">#1903</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1879 ">#1879</a>)</li>
<li>fix: ensure cursor position after alternate screen init (<a
href="https://redirect.github.com/jline/jline3/issues/1904 ">#1904</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1883 ">#1883</a>)</li>
<li>fix: use parser for command argument splitting (<a
href="https://redirect.github.com/jline/jline3/issues/1907 ">#1907</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1876 ">#1876</a>)</li>
</ul>
<h2>Dependencies</h2>
<ul>
<li>chore: Bump eu.maveniverse.maven.nisse:extension from 0.9.1 to 0.9.2
(<a
href="https://redirect.github.com/jline/jline3/issues/1905 ">#1905</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jline/jline3/compare/4.1.1...4.1.2 ">https://github.com/jline/jline3/compare/4.1.1...4.1.2 </a></p>
<p>JLine 4.1.1 is a patch release focused on stability fixes. The most
notable change corrects the POSIX raw mode defaults (VMIN/VTIME) in
<code>enterRawMode</code>, which could cause shell REPL sessions to hang
or malfunction on certain platforms. This release also fixes a Display
bug where the internal line buffer could alias or reject immutable
caller-provided lists, hardens signal registration against null returns,
and corrects alternate charset handling in ScreenTerminal.</p>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>fix: Fixed Display oldLines being set as possible immutable lists.
(<a href="https://redirect.github.com/jline/jline3/pull/1878 ">#1878</a>)
<a href="https://github.com/Elec332 "><code>@Elec332</code></a></li>
<li>fix: use POSIX cfmakeraw defaults (VMIN=1, VTIME=0) in enterRawMode
(<a href="https://redirect.github.com/jline/jline3/pull/1871 ">#1871</a>)
<a href="https://github.com/BryanSant "><code>@BryanSant</code></a></li>
<li>fix: skip null returns from signal registration in
AbstractUnixSysTerminal (<a
href="https://redirect.github.com/jline/jline3/pull/1869 ">#1869</a>) <a
href="https://github.com/BryanSant "><code>@BryanSant</code></a></li>
<li>fix: Fixed ScreenTerminal alt-charset (<a
href="https://redirect.github.com/jline/jline3/pull/1867 ">#1867</a>) <a
href="https://github.com/Elec332 "><code>@Elec332</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>chore: Bump com.palantir.javaformat:palantir-java-format from 2.90.0
to 2.91.0 (<a
href="https://redirect.github.com/jline/jline3/pull/1898 ">#1898</a>) <a
href="https://github.com/dependabot "><code>@dependabot</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jline/jline3/commit/7f44a23f0da569e33fe9a632e982f94274bfb25d "><code>7f44a23</code></a>
fix: fix command argument parsing in DefaultCommandDispatcher (<a
href="https://redirect.github.com/jline/jline3/issues/1924 ">#1924</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/911e3d6d3101858629b9d8f74752d8b09475b65f "><code>911e3d6</code></a>
chore: Bump com.diffplug.spotless:spotless-maven-plugin from 3.5.1 to
3.6.0 (...</li>
<li><a
href="https://github.com/jline/jline3/commit/15cdac548ce65afdad84d15096d8e5183b1a8577 "><code>15cdac5</code></a>
chore: Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.5 to
3.5....</li>
<li><a
href="https://github.com/jline/jline3/commit/2d3e1ffee5d895f0c407d838bf54da924640af4f "><code>2d3e1ff</code></a>
chore: Bump org.graalvm.buildtools:native-maven-plugin from 1.1.0 to
1.1.1 (#...</li>
<li><a
href="https://github.com/jline/jline3/commit/0ac019ab8c44da3ae4ee47bccd216791e6ccb35d "><code>0ac019a</code></a>
fix: terminal.close() blocks when pump thread is reading stdin (<a
href="https://redirect.github.com/jline/jline3/issues/1911 ">#1911</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1d637408d2cdd479a5abede3ce88710be3e611ae "><code>1d63740</code></a>
fix: use confined arenas instead of auto arenas in FFM CLibrary (fixes
<a
href="https://redirect.github.com/jline/jline3/issues/1872 ">#1872</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1604643d04a6ae56fdd6758757c18e968c7ff59d "><code>1604643</code></a>
Merge pull request <a
href="https://redirect.github.com/jline/jline3/issues/1912 ">#1912</a>
from jline/dot-tarragon</li>
<li><a
href="https://github.com/jline/jline3/commit/147ee9c7024af2caed1a306e48fd236beef475df "><code>147ee9c</code></a>
chore: add OSS AI helper rules for project conventions (<a
href="https://redirect.github.com/jline/jline3/issues/1917 ">#1917</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1735c1f2a22808a1a3d7837db0eca9714a66f4e8 "><code>1735c1f</code></a>
fix: swap rows/columns in openpty winsize constructor call (fixes <a
href="https://redirect.github.com/jline/jline3/issues/1910 ">#1910</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/d9f6b86589760807162862d289685ea7673f0e41 "><code>d9f6b86</code></a>
fix: add PromptCancelTest from <a
href="https://redirect.github.com/jline/jline3/issues/1908 ">#1908</a>
with timeout and fixture patterns</li>
<li>Additional commits viewable in <a
href="https://github.com/jline/jline3/compare/4.0.14...4.1.3 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `org.jline:jline-terminal-jni` from 4.0.14 to 4.1.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jline/jline3/releases ">org.jline:jline-terminal-jni's
releases</a>.</em></p>
<blockquote>
<p>JLine 4.1.3 is a patch release with important fixes for terminal
close handling, raw mode signal behavior, FFM memory management, and
shell command argument parsing.</p>
<h2>Bug Fixes</h2>
<ul>
<li>fix: terminal.close() blocks when pump thread is reading stdin (<a
href="https://redirect.github.com/jline/jline3/pull/1911 ">#1911</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1909 ">#1909</a>)</li>
<li>fix: clear ISIG in enterRawMode so Ctrl+C reaches raw-mode readers
(<a
href="https://redirect.github.com/jline/jline3/pull/1912 ">#1912</a>)</li>
<li>fix: use confined arenas instead of auto arenas in FFM CLibrary (<a
href="https://redirect.github.com/jline/jline3/pull/1913 ">#1913</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1872 ">#1872</a>)</li>
<li>fix: swap rows/columns in openpty winsize constructor call (<a
href="https://redirect.github.com/jline/jline3/pull/1914 ">#1914</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1910 ">#1910</a>)</li>
<li>fix: fix command argument parsing in DefaultCommandDispatcher (<a
href="https://redirect.github.com/jline/jline3/pull/1924 ">#1924</a>)</li>
</ul>
<h2>Chores</h2>
<ul>
<li>chore: add OSS AI helper rules for project conventions (<a
href="https://redirect.github.com/jline/jline3/pull/1917 ">#1917</a>)</li>
</ul>
<h2>Dependencies</h2>
<ul>
<li>chore: Bump org.graalvm.buildtools:native-maven-plugin from 1.1.0 to
1.1.1 (<a
href="https://redirect.github.com/jline/jline3/pull/1915 ">#1915</a>)</li>
<li>chore: Bump org.apache.maven.plugins:maven-surefire-plugin from
3.5.5 to 3.5.6 (<a
href="https://redirect.github.com/jline/jline3/pull/1918 ">#1918</a>)</li>
<li>chore: Bump com.diffplug.spotless:spotless-maven-plugin from 3.5.1
to 3.6.0 (<a
href="https://redirect.github.com/jline/jline3/pull/1919 ">#1919</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jline/jline3/compare/4.1.2...4.1.3 ">https://github.com/jline/jline3/compare/4.1.2...4.1.3 </a></p>
<p>JLine 4.1.2 is a patch release focused on correctness fixes across
the parser, terminal I/O, and shell modules.</p>
<h2>Bug Fixes</h2>
<ul>
<li>fix: echo preserves backslash before unrecognised escape sequences
(<a
href="https://redirect.github.com/jline/jline3/issues/1901 ">#1901</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1863 ">#1863</a>)</li>
<li>fix: DefaultParser preserves backslashes inside quotes (<a
href="https://redirect.github.com/jline/jline3/issues/1902 ">#1902</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1877 ">#1877</a>)</li>
<li>fix: NonBlockingInputStream keeps thread alive after EOF (<a
href="https://redirect.github.com/jline/jline3/issues/1903 ">#1903</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1879 ">#1879</a>)</li>
<li>fix: ensure cursor position after alternate screen init (<a
href="https://redirect.github.com/jline/jline3/issues/1904 ">#1904</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1883 ">#1883</a>)</li>
<li>fix: use parser for command argument splitting (<a
href="https://redirect.github.com/jline/jline3/issues/1907 ">#1907</a>,
fixes <a
href="https://redirect.github.com/jline/jline3/issues/1876 ">#1876</a>)</li>
</ul>
<h2>Dependencies</h2>
<ul>
<li>chore: Bump eu.maveniverse.maven.nisse:extension from 0.9.1 to 0.9.2
(<a
href="https://redirect.github.com/jline/jline3/issues/1905 ">#1905</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jline/jline3/compare/4.1.1...4.1.2 ">https://github.com/jline/jline3/compare/4.1.1...4.1.2 </a></p>
<p>JLine 4.1.1 is a patch release focused on stability fixes. The most
notable change corrects the POSIX raw mode defaults (VMIN/VTIME) in
<code>enterRawMode</code>, which could cause shell REPL sessions to hang
or malfunction on certain platforms. This release also fixes a Display
bug where the internal line buffer could alias or reject immutable
caller-provided lists, hardens signal registration against null returns,
and corrects alternate charset handling in ScreenTerminal.</p>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>fix: Fixed Display oldLines being set as possible immutable lists.
(<a href="https://redirect.github.com/jline/jline3/pull/1878 ">#1878</a>)
<a href="https://github.com/Elec332 "><code>@Elec332</code></a></li>
<li>fix: use POSIX cfmakeraw defaults (VMIN=1, VTIME=0) in enterRawMode
(<a href="https://redirect.github.com/jline/jline3/pull/1871 ">#1871</a>)
<a href="https://github.com/BryanSant "><code>@BryanSant</code></a></li>
<li>fix: skip null returns from signal registration in
AbstractUnixSysTerminal (<a
href="https://redirect.github.com/jline/jline3/pull/1869 ">#1869</a>) <a
href="https://github.com/BryanSant "><code>@BryanSant</code></a></li>
<li>fix: Fixed ScreenTerminal alt-charset (<a
href="https://redirect.github.com/jline/jline3/pull/1867 ">#1867</a>) <a
href="https://github.com/Elec332 "><code>@Elec332</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>chore: Bump com.palantir.javaformat:palantir-java-format from 2.90.0
to 2.91.0 (<a
href="https://redirect.github.com/jline/jline3/pull/1898 ">#1898</a>) <a
href="https://github.com/dependabot "><code>@dependabot</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jline/jline3/commit/7f44a23f0da569e33fe9a632e982f94274bfb25d "><code>7f44a23</code></a>
fix: fix command argument parsing in DefaultCommandDispatcher (<a
href="https://redirect.github.com/jline/jline3/issues/1924 ">#1924</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/911e3d6d3101858629b9d8f74752d8b09475b65f "><code>911e3d6</code></a>
chore: Bump com.diffplug.spotless:spotless-maven-plugin from 3.5.1 to
3.6.0 (...</li>
<li><a
href="https://github.com/jline/jline3/commit/15cdac548ce65afdad84d15096d8e5183b1a8577 "><code>15cdac5</code></a>
chore: Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.5 to
3.5....</li>
<li><a
href="https://github.com/jline/jline3/commit/2d3e1ffee5d895f0c407d838bf54da924640af4f "><code>2d3e1ff</code></a>
chore: Bump org.graalvm.buildtools:native-maven-plugin from 1.1.0 to
1.1.1 (#...</li>
<li><a
href="https://github.com/jline/jline3/commit/0ac019ab8c44da3ae4ee47bccd216791e6ccb35d "><code>0ac019a</code></a>
fix: terminal.close() blocks when pump thread is reading stdin (<a
href="https://redirect.github.com/jline/jline3/issues/1911 ">#1911</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1d637408d2cdd479a5abede3ce88710be3e611ae "><code>1d63740</code></a>
fix: use confined arenas instead of auto arenas in FFM CLibrary (fixes
<a
href="https://redirect.github.com/jline/jline3/issues/1872 ">#1872</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1604643d04a6ae56fdd6758757c18e968c7ff59d "><code>1604643</code></a>
Merge pull request <a
href="https://redirect.github.com/jline/jline3/issues/1912 ">#1912</a>
from jline/dot-tarragon</li>
<li><a
href="https://github.com/jline/jline3/commit/147ee9c7024af2caed1a306e48fd236beef475df "><code>147ee9c</code></a>
chore: add OSS AI helper rules for project conventions (<a
href="https://redirect.github.com/jline/jline3/issues/1917 ">#1917</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/1735c1f2a22808a1a3d7837db0eca9714a66f4e8 "><code>1735c1f</code></a>
fix: swap rows/columns in openpty winsize constructor call (fixes <a
href="https://redirect.github.com/jline/jline3/issues/1910 ">#1910</a>)</li>
<li><a
href="https://github.com/jline/jline3/commit/d9f6b86589760807162862d289685ea7673f0e41 "><code>d9f6b86</code></a>
fix: add PromptCancelTest from <a
href="https://redirect.github.com/jline/jline3/issues/1908 ">#1908</a>
with timeout and fixture patterns</li>
<li>Additional commits viewable in <a
href="https://github.com/jline/jline3/compare/4.0.14...4.1.3 ">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 10:47:28 -07:00
dependabot[bot]
7cf827005d
Bump nu.validator:validator from 26.5.21 to 26.5.22 ( #1641 )
...
Bumps [nu.validator:validator](https://github.com/validator/validator )
from 26.5.21 to 26.5.22.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/validator/validator/releases ">nu.validator:validator's
releases</a>.</em></p>
<blockquote>
<h2>latest</h2>
<blockquote>
<p>[!IMPORTANT]
<strong>The <a
href="https://github.com/validator/validator/releases/tag/latest ">release
named <em>“latest”</em></a> is “production-ready” and is the only
release you want to use.</strong> This project no longer does “major”
version-numbered releases. Release 20.6.30 (30 June 2020) was the final
such release.
For a changelog of the latest changes, see <a
href="https://github.com/validator/validator/commits/latest/ ">https://github.com/validator/validator/commits/latest/ </a>.</p>
</blockquote>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/validator/validator/commit/d3efb7d93855d9c12fdc7b764e81f873f6e47186 "><code>d3efb7d</code></a>
chore(htmlparser): Remove some things the HTML checker doesn’t need</li>
<li><a
href="https://github.com/validator/validator/commit/058d0e74743b27a34c97991bcd30d4434b3caa27 "><code>058d0e7</code></a>
fix(htmlparser): Ignore inputs inside select fragment context</li>
<li><a
href="https://github.com/validator/validator/commit/8a0ec92fa6258e5831e18d55a897889d6dc2f3c9 "><code>8a0ec92</code></a>
feat(htmlparser): Add NS_NewHTMLSelectedContentElement content
creator</li>
<li><a
href="https://github.com/validator/validator/commit/a41fe4e78b13f65119f099c936c8e3a49459d44a "><code>a41fe4e</code></a>
fix(npm): Make the Java auto-installer survive download failures</li>
<li>See full diff in <a
href="https://github.com/validator/validator/compare/26.5.21...26.5.22 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 08:57:50 -07:00
dependabot[bot]
1f89f49caf
Bump shadowPlugin from 9.4.1 to 9.4.2 ( #1642 )
...
Bumps `shadowPlugin` from 9.4.1 to 9.4.2.
Updates `com.gradleup.shadow:com.gradleup.shadow.gradle.plugin` from
9.4.1 to 9.4.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/GradleUp/shadow/releases ">com.gradleup.shadow:com.gradleup.shadow.gradle.plugin's
releases</a>.</em></p>
<blockquote>
<h2>9.4.2</h2>
<h3>Changed</h3>
<ul>
<li>Update jdependency to support Java 27. (<a
href="https://redirect.github.com/GradleUp/shadow/pull/2033 ">#2033</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/GradleUp/shadow/commit/29c432a7b6824b6fef23d46dc067e5c14112ff90 "><code>29c432a</code></a>
Prepare version 9.4.2</li>
<li><a
href="https://github.com/GradleUp/shadow/commit/8aa8e6c1fb2ac0c17f0ff77e521cbe599cf64245 "><code>8aa8e6c</code></a>
Update dependency org.vafer:jdependency to v2.16 (<a
href="https://redirect.github.com/GradleUp/shadow/issues/2033 ">#2033</a>)</li>
<li>See full diff in <a
href="https://github.com/GradleUp/shadow/compare/9.4.1...9.4.2 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `com.gradleup.shadow` from 9.4.1 to 9.4.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/GradleUp/shadow/releases ">com.gradleup.shadow's
releases</a>.</em></p>
<blockquote>
<h2>9.4.2</h2>
<h3>Changed</h3>
<ul>
<li>Update jdependency to support Java 27. (<a
href="https://redirect.github.com/GradleUp/shadow/pull/2033 ">#2033</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/GradleUp/shadow/commit/29c432a7b6824b6fef23d46dc067e5c14112ff90 "><code>29c432a</code></a>
Prepare version 9.4.2</li>
<li><a
href="https://github.com/GradleUp/shadow/commit/8aa8e6c1fb2ac0c17f0ff77e521cbe599cf64245 "><code>8aa8e6c</code></a>
Update dependency org.vafer:jdependency to v2.16 (<a
href="https://redirect.github.com/GradleUp/shadow/issues/2033 ">#2033</a>)</li>
<li>See full diff in <a
href="https://github.com/GradleUp/shadow/compare/9.4.1...9.4.2 ">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 08:57:27 -07:00
dependabot[bot]
2687b431e3
Bump com.diffplug.spotless:spotless-plugin-gradle from 8.5.1 to 8.6.0 ( #1643 )
...
Bumps
[com.diffplug.spotless:spotless-plugin-gradle](https://github.com/diffplug/spotless )
from 8.5.1 to 8.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/diffplug/spotless/releases ">com.diffplug.spotless:spotless-plugin-gradle's
releases</a>.</em></p>
<blockquote>
<h2>Gradle Plugin v8.6.0</h2>
<h3>Added</h3>
<ul>
<li>Add <code>cacheDirectory(...)</code> to <code>eclipse()</code>,
<code>eclipseCdt()</code>, and <code>greclipse()</code>; the default P2
cache is <code>$GRADLE_USER_HOME/caches/p2-data</code>. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2944 ">#2944</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><code>forbidWildcardImports</code> and
<code>forbidModuleImports</code> now detect imports that have leading
whitespace (indentation/tabs). (<a
href="https://redirect.github.com/diffplug/spotless/pull/2939 ">#2939</a>)</li>
<li><code>versionCatalog()</code> no longer splits long inline tables
across multiple lines — Gradle's TOML 1.0 parser cannot read multi-line
inline tables. The <code>maxLineLength</code> option has been removed.
(<a
href="https://redirect.github.com/diffplug/spotless/issues/2948 ">#2948</a>)</li>
<li><code>EclipseJdtFormtterStep</code> now can conditionally set
compiler source/compliance options. Allows for better parsing of AST
Node for newer language features and more correct sorting; e.g. records
or seal classes. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2942 ">#2942</a>)</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Improved formatting performance by eliminating redundant per-step
line-ending normalization in the core formatter loop. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2934 ">#2934</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/diffplug/spotless/commit/3a0f1017dcdfd49042a638119c1b6d998b28c67f "><code>3a0f101</code></a>
Published gradle/8.6.0</li>
<li><a
href="https://github.com/diffplug/spotless/commit/007e9d858177c93a3c7b6f9d1eb068937022613f "><code>007e9d8</code></a>
Published lib/4.6.2</li>
<li><a
href="https://github.com/diffplug/spotless/commit/a074d53565e0f523c3bba7f5135ba0d8f959f98b "><code>a074d53</code></a>
Allow setting the local P2 cache dir in the Spotless Gradle plugin (<a
href="https://redirect.github.com/diffplug/spotless/issues/2944 ">#2944</a>)</li>
<li><a
href="https://github.com/diffplug/spotless/commit/a266fc2b97098aed703300ecfb00a7fc6ab57467 "><code>a266fc2</code></a>
Merge branch 'main' into add-cache-directory-dsl</li>
<li><a
href="https://github.com/diffplug/spotless/commit/e0d466e5c157d41208ba84f3b0c767a4ad3d4330 "><code>e0d466e</code></a>
Fix: sort members treats record declarations as types (<a
href="https://redirect.github.com/diffplug/spotless/issues/2942 ">#2942</a>)</li>
<li><a
href="https://github.com/diffplug/spotless/commit/3936b6f2f9290bfe946a890c1efc791eb969c7db "><code>3936b6f</code></a>
Merge branch 'main' into main</li>
<li><a
href="https://github.com/diffplug/spotless/commit/278765fcbbdc91d9bbcd3bff41005a350746792c "><code>278765f</code></a>
fix: expandWildcardImports support pom type dependency, fix <a
href="https://redirect.github.com/diffplug/spotless/issues/2839 ">#2839</a>
(<a
href="https://redirect.github.com/diffplug/spotless/issues/2935 ">#2935</a>)</li>
<li><a
href="https://github.com/diffplug/spotless/commit/a18ddec9bd578c77177c9478207892d63f942826 "><code>a18ddec</code></a>
Remove maxLineLength from versionCatalog step (<a
href="https://redirect.github.com/diffplug/spotless/issues/2949 ">#2949</a>)</li>
<li><a
href="https://github.com/diffplug/spotless/commit/b91ad871a69bb7c3722120c81f9dae3e1ee11836 "><code>b91ad87</code></a>
Add changelog entries for versionCatalog maxLineLength removal</li>
<li><a
href="https://github.com/diffplug/spotless/commit/5408d5c42020a5a8dd1c03e7daf74703e564a867 "><code>5408d5c</code></a>
Remove maxLineLength from versionCatalog step</li>
<li>Additional commits viewable in <a
href="https://github.com/diffplug/spotless/compare/gradle/8.5.1...gradle/8.6.0 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 08:56:58 -07:00
dependabot[bot]
82c2c162ba
Bump github/codeql-action from 4.35.5 to 4.36.0 ( #1644 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action )
from 4.35.5 to 4.36.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases ">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.36.0</h2>
<ul>
<li><em>Breaking change</em>: Bump the minimum required CodeQL bundle
version to 2.19.4. <a
href="https://redirect.github.com/github/codeql-action/pull/3894 ">#3894</a></li>
<li>Add support for SHA-256 Git object IDs. <a
href="https://redirect.github.com/github/codeql-action/pull/3893 ">#3893</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.5 ">2.25.5</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3926 ">#3926</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md ">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases ">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.6 ">2.25.6</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3948 ">#3948</a></li>
</ul>
<h2>4.36.1 - 02 Jun 2026</h2>
<p>No user facing changes.</p>
<h2>4.36.0 - 22 May 2026</h2>
<ul>
<li><em>Breaking change</em>: Bump the minimum required CodeQL bundle
version to 2.19.4. <a
href="https://redirect.github.com/github/codeql-action/pull/3894 ">#3894</a></li>
<li>Add support for SHA-256 Git object IDs. <a
href="https://redirect.github.com/github/codeql-action/pull/3893 ">#3893</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.5 ">2.25.5</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3926 ">#3926</a></li>
</ul>
<h2>4.35.5 - 15 May 2026</h2>
<ul>
<li>We have improved how the JavaScript bundles for the CodeQL Action
are generated to avoid duplication across bundles and reduce the size of
the repository by around 70%. This should have no effect on the runtime
behaviour of the CodeQL Action. <a
href="https://redirect.github.com/github/codeql-action/pull/3899 ">#3899</a></li>
<li>For performance and accuracy reasons, <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a> will now only be enabled on a pull request when
diff-informed analysis is also enabled for that run. If diff-informed
analysis is unavailable (for example, because the PR diff ranges could
not be computed), the action will fall back to a full analysis. <a
href="https://redirect.github.com/github/codeql-action/pull/3791 ">#3791</a></li>
<li>If multiple inputs are provided for the GitHub-internal
<code>analysis-kinds</code> input, only <code>code-scanning</code> will
be enabled. The <code>analysis-kinds</code> input is experimental, for
GitHub-internal use only, and may change without notice at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3892 ">#3892</a></li>
<li>Added an experimental change which, when running a Code Scanning
analysis for a PR with <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a> enabled, prefers CodeQL CLI versions that have
a cached overlay-base database for the configured languages. This speeds
up analysis for a repository when there is not yet a cached overlay-base
database for the latest CLI version. We expect to roll this change out
to everyone in May. <a
href="https://redirect.github.com/github/codeql-action/pull/3880 ">#3880</a></li>
</ul>
<h2>4.35.4 - 07 May 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.4 ">2.25.4</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3881 ">#3881</a></li>
</ul>
<h2>4.35.3 - 01 May 2026</h2>
<ul>
<li><em>Upcoming breaking change</em>: Add a deprecation warning for
customers using CodeQL version 2.19.3 and earlier. These versions of
CodeQL were discontinued on 9 April 2026 alongside GitHub Enterprise
Server 3.15, and will be unsupported by the next minor release of the
CodeQL Action. <a
href="https://redirect.github.com/github/codeql-action/pull/3837 ">#3837</a></li>
<li>Configurations for private registries that use Cloudsmith or GCP
OIDC are now accepted. <a
href="https://redirect.github.com/github/codeql-action/pull/3850 ">#3850</a></li>
<li>Best-effort connection tests for private registries now use
<code>GET</code> requests instead of <code>HEAD</code> for better
compatibility with various registry implementations. For NuGet feeds,
the test is now always performed against the service index. <a
href="https://redirect.github.com/github/codeql-action/pull/3853 ">#3853</a></li>
<li>Fixed a bug where two diagnostics produced within the same
millisecond could overwrite each other on disk, causing one of them to
be lost. <a
href="https://redirect.github.com/github/codeql-action/pull/3852 ">#3852</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.3 ">2.25.3</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3865 ">#3865</a></li>
</ul>
<h2>4.35.2 - 15 Apr 2026</h2>
<ul>
<li>The undocumented TRAP cache cleanup feature that could be enabled
using the <code>CODEQL_ACTION_CLEANUP_TRAP_CACHES</code> environment
variable is deprecated and will be removed in May 2026. If you are
affected by this, we recommend disabling TRAP caching by passing the
<code>trap-caching: false</code> input to the <code>init</code> Action.
<a
href="https://redirect.github.com/github/codeql-action/pull/3795 ">#3795</a></li>
<li>The Git version 2.36.0 requirement for improved incremental analysis
now only applies to repositories that contain submodules. <a
href="https://redirect.github.com/github/codeql-action/pull/3789 ">#3789</a></li>
<li>Python analysis on GHES no longer extracts the standard library,
relying instead on models of the standard library. This should result in
significantly faster extraction and analysis times, while the effect on
alerts should be minimal. <a
href="https://redirect.github.com/github/codeql-action/pull/3794 ">#3794</a></li>
<li>Fixed a bug in the validation of OIDC configurations for private
registries that was added in CodeQL Action 4.33.0 / 3.33.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3807 ">#3807</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.2 ">2.25.2</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3823 ">#3823</a></li>
</ul>
<h2>4.35.1 - 27 Mar 2026</h2>
<ul>
<li>Fix incorrect minimum required Git version for <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a>: it should have been 2.36.0, not 2.11.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3781 ">#3781</a></li>
</ul>
<h2>4.35.0 - 27 Mar 2026</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/codeql-action/commit/7211b7c8077ea37d8641b6271f6a365a22a5fbfa "><code>7211b7c</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3927 ">#3927</a>
from github/update-v4.36.0-ebc2d9e2b</li>
<li><a
href="https://github.com/github/codeql-action/commit/7740f2fb21add1d46278215acea47540db22f022 "><code>7740f2f</code></a>
Update changelog for v4.36.0</li>
<li><a
href="https://github.com/github/codeql-action/commit/ebc2d9e2bc247eec51bee8d4df806c4030eb0761 "><code>ebc2d9e</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3926 ">#3926</a>
from github/update-bundle/codeql-bundle-v2.25.5</li>
<li><a
href="https://github.com/github/codeql-action/commit/d1f74b777c95c777bf4f42ce4b250bc916e745c7 "><code>d1f74b7</code></a>
Add changelog note</li>
<li><a
href="https://github.com/github/codeql-action/commit/2dc40cec39bdc63d3561d74fa6100cebb0418ff4 "><code>2dc40ce</code></a>
Update default bundle to codeql-bundle-v2.25.5</li>
<li><a
href="https://github.com/github/codeql-action/commit/84498526a009a99c875e83ef4821a8ba52de7c22 "><code>8449852</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3910 ">#3910</a>
from github/henrymercer/repo-size-diff-check</li>
<li><a
href="https://github.com/github/codeql-action/commit/72ac23c6d16b29fbe801e87e3439941558c53094 "><code>72ac23c</code></a>
Update excluded required check list</li>
<li><a
href="https://github.com/github/codeql-action/commit/c5297a28a2c3e6a8062041b58858bd7117cebe37 "><code>c5297a2</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3919 ">#3919</a>
from github/henrymercer/workflow-concurrency</li>
<li><a
href="https://github.com/github/codeql-action/commit/8ffeae7d05bc1b914a009d197e64e4f5c9e14503 "><code>8ffeae7</code></a>
CI: Automatically cancel non-generated workflows</li>
<li><a
href="https://github.com/github/codeql-action/commit/f3f52bf568dc44a1069faafa538caa6b1fec40c9 "><code>f3f52bf</code></a>
Revert <code>getErrorMessage</code> import</li>
<li>Additional commits viewable in <a
href="https://github.com/github/codeql-action/compare/9e0d7b8d25671d64c341c19c0152d693099fb5ba...7211b7c8077ea37d8641b6271f6a365a22a5fbfa ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 08:56:24 -07:00
Jen Basch
68f7d06eed
Improve error message when parsing truncated let expressions ( #1639 )
...
This previously yielded
```
Unexpected token `}`. Expected `}`.
```
Pretty confusing, no?
Now it's just
```
Unexpected token `}`.
```
Resolves #1638
2026-06-02 16:00:46 -07:00
Daniel Chao
99cac1f886
Fix native build ( #1636 )
2026-06-02 15:57:52 -07:00
Daniel Chao
035ef0a789
Change loading of external readers ( #1394 )
...
This introduces breaking changes for external readers are loaded:
1. In PklProject, relative paths are resolved relative to the enclosing
PklProject file (make behavior consistent with how other settings work)
2. Make CLI flags blow away any settings set on a PklProject
3. Introduce a new `workingDir` property, which defaults to the
PklProject dir
The overall goal is to make this behavior consistent with how other
settings work.
For example, relative paths for other evaluator settings are already
relative to the project directory.
Additionally, in every other case, CLI flags will overwrite any setting
set within PklProject.
2026-06-02 18:02:52 +00:00
Daniel Chao
c9f3823952
Touch ups around local members ( #1633 )
...
* Add assertion if ObjectMember key in cachedValues is not local (should never happen)
* Move test to snippet tests
2026-06-02 03:47:46 +00:00
Jen Basch
18af04c2ec
Correctly count regular members of Dynamic ( #1632 )
...
Previously, `VmDynamic.isHiddenOrLocalProperty` didn't correctly
identify locals whose cache key is an `ObjectMember` instead of an
`Identifier`, causing `VmDynamic. getRegularMemberCount` to return an
incorrect value. This caused some renderers to produce incorrect output.
Resolves #1631
2026-06-01 20:27:19 -07:00
Daniel Chao
7dd2bc67de
Optimize let expressions as frame slot vars ( #1622 )
...
This introduces an optimization to write let expressions to frame slots
of the current frame, rather than transforming them into lambdas. As a
result, let expressions are _much_ faster to execute.
2026-06-01 16:53:30 -07:00
Islon Scherer
bfda4cc8c8
Fix forcing of VmValue during error rendering ( #1629 )
2026-06-01 18:25:33 +02:00
Jen Basch
c2652e0722
Bump pkl.impl.ghactions to version 1.8.0 ( #1630 )
...
Updates pkl.impl.ghactions package to version 1.8.0
2026-05-31 21:46:55 -07:00
dependabot[bot]
1d6ad8a0bf
Bump nu.validator:validator from 26.5.7 to 26.5.21 ( #1626 )
...
Bumps [nu.validator:validator](https://github.com/validator/validator )
from 26.5.7 to 26.5.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/validator/validator/releases ">nu.validator:validator's
releases</a>.</em></p>
<blockquote>
<h2>latest</h2>
<blockquote>
<p>[!IMPORTANT]
<strong>The <a
href="https://github.com/validator/validator/releases/tag/latest ">release
named <em>“latest”</em></a> is “production-ready” and is the only
release you want to use.</strong> This project no longer does “major”
version-numbered releases. Release 20.6.30 (30 June 2020) was the final
such release.
For a changelog of the latest changes, see <a
href="https://github.com/validator/validator/commits/latest/ ">https://github.com/validator/validator/commits/latest/ </a>.</p>
</blockquote>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/validator/validator/commit/8c3400a27fbf06611dfc0fe138975065a54bd82b "><code>8c3400a</code></a>
fix: Flag interactive descendants of more ARIA roles</li>
<li><a
href="https://github.com/validator/validator/commit/15a1cc300622b7afa59d9fbe8011a2aea6a2e8a2 "><code>15a1cc3</code></a>
fix: Flag interactive descendants of role=tab</li>
<li><a
href="https://github.com/validator/validator/commit/85de7c858b5501673bd74f2c89738834fb6b27e3 "><code>85de7c8</code></a>
ci: Add Java 26</li>
<li><a
href="https://github.com/validator/validator/commit/974a10df5344d240b9b3deb6c6f4c7fa846b6d75 "><code>974a10d</code></a>
fix(release): GPG-sign the “latest” tag/release</li>
<li><a
href="https://github.com/validator/validator/commit/e5e95ebab05bb9d42a0a74be53e8ebc2a5e4a32a "><code>e5e95eb</code></a>
fix: Allow aria-expanded etc. on input[type=checkbox] with
role=switch</li>
<li><a
href="https://github.com/validator/validator/commit/536d9157f74074b0ff4e6be1b978131da00932d0 "><code>536d915</code></a>
fix: Require href when area has hreflang, type, target, ping, rel, or
download</li>
<li><a
href="https://github.com/validator/validator/commit/55e52510a2ee891665ab4e57c7974d7a9952a725 "><code>55e5251</code></a>
feat: Allow hreflang and type attributes on the area element</li>
<li><a
href="https://github.com/validator/validator/commit/ffe40e0100a33b25471f14f016cd974b4c171e10 "><code>ffe40e0</code></a>
fix: Flag interactive descendants of role=option (issue 2099)</li>
<li><a
href="https://github.com/validator/validator/commit/4c0e326edd7cf30a4408a0e1fe13503bdc1bc5f0 "><code>4c0e326</code></a>
fix: Allow role=group as a child of role=listitem (issue 2097)</li>
<li><a
href="https://github.com/validator/validator/commit/02621f3dcc86658eba4aa139539b7bd0de292900 "><code>02621f3</code></a>
feat(htmlparser): Ensure mode is always set to INITIAL during
startTokenization</li>
<li>Additional commits viewable in <a
href="https://github.com/validator/validator/compare/26.5.7...26.5.21 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 10:43:43 -07:00
dependabot[bot]
ad02b2a099
Bump com.diffplug.spotless:spotless-plugin-gradle from 8.4.0 to 8.5.1 ( #1628 )
...
Bumps
[com.diffplug.spotless:spotless-plugin-gradle](https://github.com/diffplug/spotless )
from 8.4.0 to 8.5.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/diffplug/spotless/releases ">com.diffplug.spotless:spotless-plugin-gradle's
releases</a>.</em></p>
<blockquote>
<h2>Gradle Plugin v8.5.1</h2>
<h3>Fixed</h3>
<ul>
<li><code>licenseHeader</code> with
<code>setLicenseHeaderYearsFromGitHistory()</code> no longer runs
<code>git log</code> through a shell, eliminating a shell-injection
vector when formatting files whose names contain shell
metacharacters.</li>
</ul>
<h2>Gradle Plugin v8.5.0</h2>
<h3>Added</h3>
<ul>
<li><code>scalafmt()</code> now reads the version from the
<code>version</code> field in the scalafmt config file when no version
is explicitly set in the plugin config, falling back to the built-in
default only if neither is available. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2922 ">#2922</a>)</li>
<li>Add <code>toml</code> format type with <code>versionCatalog()</code>
step for formatting and sorting Gradle version catalog files. (<a
href="https://redirect.github.com/diffplug/spotless/issues/2916 ">#2916</a>)</li>
<li>Add <code>withIndentStyle</code> and <code>withIndentSize</code>
configuration to <code>tableTestFormatter</code> for setting the
fallback indent when no <code>.editorconfig</code> is found. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2893 ">#2893</a>)</li>
<li>Add <code>javaparserVersion(...)</code> to <code>cleanthat</code>,
allowing users to override the JavaParser version pulled in transitively
by Cleanthat. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2903 ">#2903</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix <code>tableTestFormatter</code> editorconfig cache not honoring
<code>.editorconfig</code> changes across Gradle daemon runs due to a
shared static <code>EditorConfigProvider</code>. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2893 ">#2893</a>)</li>
<li>Preserve case of JDBI named bind params that collide with SQL
keywords (e.g. <code>:limit</code>, <code>:offset</code>) in the DBeaver
SQL formatter. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2899 ">#2899</a>)</li>
<li>Fix non-idempotent formatting when <code>importOrder()</code> is
combined with <code>greclipse()</code>: a single catch-all group no
longer strips blank lines that <code>greclipse()</code> independently
inserted between import groups. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2914 ">#2914</a>)</li>
<li>Fix <code>predeclareDepsFromBuildscript()</code> on Gradle 9 by
avoiding mutation of the root buildscript configuration container. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2929 ">#2929</a>,
fixes <a
href="https://redirect.github.com/diffplug/spotless/issues/2599 ">#2599</a>)</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Fix <code>expandWildcardImports</code> failing on JDK XML types such
as <code>org.xml.sax.InputSource</code>. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2921 ">#2921</a>)</li>
<li>Use Eclipse JDT's collator-based comparison when sorting Java
members to better match Eclipse save actions. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2920 ">#2920</a>)</li>
<li>Bump default <code>cleanthat</code> version <code>2.24</code> ->
<code>2.25</code>. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2903 ">#2903</a>)</li>
<li>Bump default <code>eclipse-jdt</code> version from <code>4.35</code>
to <code>4.39</code>. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2912 ">#2912</a>)</li>
<li>Make <code>spotlessPredeclare</code> visible to Gradle Kotlin DSL
type-safe accessors. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2925 ">#2925</a>)</li>
<li>Allow <code>spotlessPredeclare</code> to be used directly without
enabling it first in spotless extension. (<a
href="https://redirect.github.com/diffplug/spotless/pull/2925 ">#2925</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/diffplug/spotless/commit/c1595c815d5fdd344505792aa4df588f467f0ca9 "><code>c1595c8</code></a>
Published gradle/8.5.1</li>
<li><a
href="https://github.com/diffplug/spotless/commit/b26b570f7eba32554061b036206f675180cd2384 "><code>b26b570</code></a>
Published lib/4.6.1</li>
<li><a
href="https://github.com/diffplug/spotless/commit/ac3f6f14a2e007c2d36223335df96a2c9ba92719 "><code>ac3f6f1</code></a>
Bump plexus-utils to 4.0.3 to address CVE-2025-67030 (<a
href="https://redirect.github.com/diffplug/spotless/issues/2932 ">#2932</a>)</li>
<li><a
href="https://github.com/diffplug/spotless/commit/f5039f633d436a8831d09a934a3490d68968d684 "><code>f5039f6</code></a>
Bump plexus-utils to 4.0.3 to address CVE-2025-67030</li>
<li><a
href="https://github.com/diffplug/spotless/commit/0e77837d4789cb43b83c21d566fe4185adc4ae2b "><code>0e77837</code></a>
Fix shell-injection in LicenseHeaderStep SET_FROM_GIT mode (<a
href="https://redirect.github.com/diffplug/spotless/issues/2931 ">#2931</a>)</li>
<li><a
href="https://github.com/diffplug/spotless/commit/84f642329de804615ff16f34d12a2249f1890850 "><code>84f6423</code></a>
Fix shell-injection in LicenseHeaderStep SET_FROM_GIT mode</li>
<li><a
href="https://github.com/diffplug/spotless/commit/b87eb75efe54e94a7248ff5e2d07231bcc3a1b55 "><code>b87eb75</code></a>
Published maven/3.5.0</li>
<li><a
href="https://github.com/diffplug/spotless/commit/97c3baf34b79d0028a343776bb2c2fb223930355 "><code>97c3baf</code></a>
Published gradle/8.5.0</li>
<li><a
href="https://github.com/diffplug/spotless/commit/3dd1a9690270e7191f2c7db8314a9079b127ee76 "><code>3dd1a96</code></a>
Published lib/4.6.0</li>
<li><a
href="https://github.com/diffplug/spotless/commit/05d89540ea573eae5c937ca1e9b015b78df83d9f "><code>05d8954</code></a>
Feature maven expand wildcard import (<a
href="https://redirect.github.com/diffplug/spotless/issues/2930 ">#2930</a>
fixes <a
href="https://redirect.github.com/diffplug/spotless/issues/2829 ">#2829</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/diffplug/spotless/compare/gradle/8.4.0...gradle/8.5.1 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 10:41:59 -07:00
dependabot[bot]
929688ba37
Bump org.jetbrains.kotlinx:kotlinx-coroutines-core from 1.10.2 to 1.11.0 ( #1625 )
...
Bumps
[org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines )
from 1.10.2 to 1.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kotlin/kotlinx.coroutines/releases ">org.jetbrains.kotlinx:kotlinx-coroutines-core's
releases</a>.</em></p>
<blockquote>
<h2>1.11.0</h2>
<h3>Various</h3>
<ul>
<li>Kotlin was updated to 2.2.20 (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545 ">#4545</a>).</li>
<li>Improved the published jar files (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842 ">#3842</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599 ">#4599</a>).</li>
<li>Various documentation improvements, including complete rewrites of
structured concurrency and error handling-related KDoc (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433 ">#4433</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596 ">#4596</a>).</li>
</ul>
<h3>Breaking changes and deprecations</h3>
<ul>
<li>Moved <code>Promise</code>-related functions from JS and Wasm/JS to
the new <code>web</code> target. On Wasm/JS, this is a breaking change.
Before the change, <code>Promise</code> on Wasm/JS could work with
arbitrary Kotlin types, but now, only <code>JsAny</code> subtypes are
accepted (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563 ">#4563</a>).</li>
<li>Changed handling of coroutine exceptions that can't be propagated on
JS and Wasm/JS. B
efore, exceptions were logged, but now, they are reported to the JS
runtime (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451 ">#4451</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631 ">#4631</a>).</li>
<li>Deprecated using <code>CoroutineDispatcher</code> as the coroutine
context key; now, <code>ContinuationInterceptor</code> has to be used
instead (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333 ">#4333</a>).</li>
<li>Advanced the deprecation levels on
<code>kotlinx-coroutines-test</code> APIs (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604 ">#4604</a>).</li>
<li>Added lint functions that mark passing a <code>Job</code> to
coroutine builders as deprecated (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435 ">#4435</a>).</li>
</ul>
<h3>Bug fixes and improvements</h3>
<ul>
<li>Added a <code>callsInPlace(EXACTLY_ONCE)</code> contract to
<code>runBlocking</code> in code shared between JVM and Native (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368 ">#4368</a>).</li>
<li>Added a <code>callsInPlace(EXACTLY_ONCE)</code> contract to
<code>suspendCancellableCoroutine</code> (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574 ">#4574</a>).</li>
<li>Fixed <code>flowOn</code> incorrectly handling
<code>ThreadContextElement</code> updates (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403 ">#4403</a>).</li>
<li>Fixed exceptions in user-supplied
<code>Thread.UncaughtExceptionHandler</code> instances causing the
internal coroutines machinery to fail (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516 ">#4516</a>).</li>
<li>Fixed <code>CoroutineDispatcher.asScheduler</code> in the RxJava
integration not cancelling outstanding work when a <code>Worker</code>
gets cancelled, which led to memory leaks in some scenarios (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615 ">#4615</a>).</li>
<li>Fixed <code>SharedFlow</code> entering an invalid state when a
subscriber and an emitter are cancelled simultaneously (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583 ">#4583</a>).</li>
<li>Fixed an R8 optimization leading to
<code>shareIn</code>/<code>stateIn</code> coroutines getting
garbage-collected (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646 ">#4646</a>).
Thanks, <a
href="https://github.com/solevic "><code>@solevic</code></a>!</li>
</ul>
<h3>Small additions</h3>
<ul>
<li>Added <code>CompletableDeferred.asDeferred</code> for obtaining a
read-only <code>Deferred</code> view (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408 ">#4408</a>).</li>
<li>Added <code>SharedFlow.asFlow</code> for obtaining a
<code>Flow</code> view with hidden hot flow semantics (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530 ">#4530</a>).
Thanks, <a
href="https://github.com/g000sha256 "><code>@g000sha256</code></a>!</li>
<li>Added a <code>StateFlow.collectLatest</code> overload returning
<code>Nothing</code> to assist with finding unreachable code (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454 ">#4454</a>).</li>
<li>Added <code>ReceiveChannel.consumeTo</code> for consuming a
<code>ReceiveChannel</code> into a <code>MutableCollection</code> (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520 ">#4520</a>).</li>
<li>Added a <code>StateFlow<T>.onSubscription</code> overload
returning a <code>StateFlow<T></code>, similar to
<code>SharedFlow<T>.onSubscription</code> returning
<code>SharedFlow<T></code> (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275 ">#4275</a>).
Thanks, <a
href="https://github.com/xit0c "><code>@xit0c</code></a>!</li>
<li>Added terminal <code>Flow</code> operators for collecting a
<code>Flow</code> to a <code>Map</code> (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541 ">#1541</a>).</li>
</ul>
<h3>Changelog relative to version 1.11.0</h3>
<p>No changes, only the version is increased.</p>
<h2>1.11.0-rc02</h2>
<p>Restored binary compatibility with 1.10.2 and older versions on
Wasm/JS for usages of <code>Promise</code>-related functions (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661 ">#4661</a>).</p>
<h2>1.11.0-rc01</h2>
<h3>Various</h3>
<ul>
<li>Kotlin was updated to 2.2.20 (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545 ">#4545</a>).</li>
<li>Improved the published jar files (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842 ">#3842</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599 ">#4599</a>).</li>
<li>Various documentation improvements, including complete rewrites of
structured concurrency and error handling-related KDoc (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433 ">#4433</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596 ">#4596</a>).</li>
</ul>
<h3>Breaking changes and deprecations</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md ">org.jetbrains.kotlinx:kotlinx-coroutines-core's
changelog</a>.</em></p>
<blockquote>
<h2>Version 1.11.0</h2>
<h3>Various</h3>
<ul>
<li>Kotlin was updated to 2.2.20 (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545 ">#4545</a>).</li>
<li>Improved the published jar files (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842 ">#3842</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599 ">#4599</a>).</li>
<li>Various documentation improvements, including complete rewrites of
structured concurrency and error handling-related KDoc (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433 ">#4433</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596 ">#4596</a>).</li>
</ul>
<h3>Breaking changes and deprecations</h3>
<ul>
<li>Moved <code>Promise</code>-related functions from JS and Wasm/JS to
the new <code>web</code> target. On Wasm/JS, this is a breaking change.
Before the change, <code>Promise</code> on Wasm/JS could work with
arbitrary Kotlin types, but now, only <code>JsAny</code> subtypes are
accepted (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563 ">#4563</a>).</li>
<li>Changed handling of coroutine exceptions that can't be propagated on
JS and Wasm/JS. Before, exceptions were logged, but now, they are
reported to the JS runtime (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451 ">#4451</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631 ">#4631</a>).</li>
<li>Deprecated using <code>CoroutineDispatcher</code> as the coroutine
context key; now, <code>ContinuationInterceptor</code> has to be used
instead (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333 ">#4333</a>).</li>
<li>Advanced the deprecation levels on
<code>kotlinx-coroutines-test</code> APIs (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604 ">#4604</a>).</li>
<li>Added lint functions that mark passing a <code>Job</code> to
coroutine builders as deprecated (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435 ">#4435</a>).</li>
</ul>
<h3>Bug fixes and improvements</h3>
<ul>
<li>Added a <code>callsInPlace(EXACTLY_ONCE)</code> contract to
<code>runBlocking</code> in code shared between JVM and Native (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368 ">#4368</a>).</li>
<li>Added a <code>callsInPlace(EXACTLY_ONCE)</code> contract to
<code>suspendCancellableCoroutine</code> (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574 ">#4574</a>).</li>
<li>Fixed <code>flowOn</code> incorrectly handling
<code>ThreadContextElement</code> updates (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403 ">#4403</a>).</li>
<li>Fixed exceptions in user-supplied
<code>Thread.UncaughtExceptionHandler</code> instances causing the
internal coroutines machinery to fail (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516 ">#4516</a>).</li>
<li>Fixed <code>CoroutineDispatcher.asScheduler</code> in the RxJava
integration not cancelling outstanding work when a <code>Worker</code>
gets cancelled, which led to memory leaks in some scenarios (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615 ">#4615</a>).</li>
<li>Fixed <code>SharedFlow</code> entering an invalid state when a
subscriber and an emitter are cancelled simultaneously (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583 ">#4583</a>).</li>
<li>Fixed an R8 optimization leading to
<code>shareIn</code>/<code>stateIn</code> coroutines getting
garbage-collected (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646 ">#4646</a>).
Thanks, <a
href="https://github.com/solevic "><code>@solevic</code></a>!</li>
</ul>
<h3>Small additions</h3>
<ul>
<li>Added <code>CompletableDeferred.asDeferred</code> for obtaining a
read-only <code>Deferred</code> view (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408 ">#4408</a>).</li>
<li>Added <code>SharedFlow.asFlow</code> for obtaining a
<code>Flow</code> view with hidden hot flow semantics (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530 ">#4530</a>).
Thanks, <a
href="https://github.com/g000sha256 "><code>@g000sha256</code></a>!</li>
<li>Added a <code>StateFlow.collectLatest</code> overload returning
<code>Nothing</code> to assist with finding unreachable code (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454 ">#4454</a>).</li>
<li>Added <code>ReceiveChannel.consumeTo</code> for consuming a
<code>ReceiveChannel</code> into a <code>MutableCollection</code> (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520 ">#4520</a>).</li>
<li>Added a <code>StateFlow<T>.onSubscription</code> overload
returning a <code>StateFlow<T></code>, similar to
<code>SharedFlow<T>.onSubscription</code> returning
<code>SharedFlow<T></code> (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275 ">#4275</a>).
Thanks, <a
href="https://github.com/xit0c "><code>@xit0c</code></a>!</li>
<li>Added terminal <code>Flow</code> operators for collecting a
<code>Flow</code> to a <code>Map</code> (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541 ">#1541</a>).</li>
</ul>
<h3>Changelog relative to version 1.11.0</h3>
<p>No changes, only the version is increased.</p>
<h2>Version 1.11.0-rc02</h2>
<p>Restored binary compatibility with 1.10.2 and older versions on
Wasm/JS for usages of <code>Promise</code>-related functions (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661 ">#4661</a>).</p>
<h2>Version 1.11.0-rc01</h2>
<h3>Various</h3>
<ul>
<li>Kotlin was updated to 2.2.20 (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545 ">#4545</a>).</li>
<li>Improved the published jar files (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842 ">#3842</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599 ">#4599</a>).</li>
<li>Various documentation improvements, including complete rewrites of
structured concurrency and error handling-related KDoc (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433 ">#4433</a>,
<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596 ">#4596</a>).</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874 "><code>8564f65</code></a>
Version 1.11.0</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c "><code>a4c6af9</code></a>
Merge remote-tracking branch 'origin/master' into develop</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9 "><code>ef917b4</code></a>
KT-84955: mark apple x64 tagets as deprecated error (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645 ">#4645</a>)</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd "><code>5ebc421</code></a>
Update the release procedure description (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670 ">#4670</a>)</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80 "><code>95f46a0</code></a>
Remove old maven repository settings (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672 ">#4672</a>)</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc "><code>b4f4f0a</code></a>
Fix package name of <code>ToMapCollectionSamplesTest</code>. (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674 ">#4674</a>)</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631 "><code>86738dc</code></a>
Added templates to the issue creation wizard (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654 ">#4654</a>)</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378 "><code>330fcc2</code></a>
Version 1.11.0-rc02</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582 "><code>e31cef6</code></a>
Merge remote-tracking branch 'origin/master' into develop</li>
<li><a
href="https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37 "><code>dc6e9f6</code></a>
Restore Promise-related functions on Wasm/JS as HIDDEN (<a
href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661 ">#4661</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 10:35:51 -07:00
dependabot[bot]
e408cee7d0
Bump junit from 6.0.3 to 6.1.0 ( #1627 )
...
Bumps `junit` from 6.0.3 to 6.1.0.
Updates `org.junit.jupiter:junit-jupiter-api` from 6.0.3 to 6.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/junit-team/junit-framework/releases ">org.junit.jupiter:junit-jupiter-api's
releases</a>.</em></p>
<blockquote>
<p>JUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0</p>
<p>See <a href="https://docs.junit.org/6.1.0/release-notes.html ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/JarvisCraft "><code>@JarvisCraft</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5633 ">junit-team/junit-framework#5633</a></li>
<li><a href="https://github.com/Maran23 "><code>@Maran23</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5644 ">junit-team/junit-framework#5644</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 ">https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 </a></p>
<p>JUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage
6.1.0-RC1</p>
<p>See <a href="https://docs.junit.org/6.1.0-RC1/release-notes/ ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/mariokhoury4 "><code>@mariokhoury4</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/4574 ">junit-team/junit-framework#4574</a></li>
<li><a href="https://github.com/Ogu1208 "><code>@Ogu1208</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5145 ">junit-team/junit-framework#5145</a></li>
<li><a
href="https://github.com/HyungGeun94 "><code>@HyungGeun94</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5271 ">junit-team/junit-framework#5271</a></li>
<li><a
href="https://github.com/yalishevant "><code>@yalishevant</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5316 ">junit-team/junit-framework#5316</a></li>
<li><a
href="https://github.com/JINU-CHANG "><code>@JINU-CHANG</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5290 ">junit-team/junit-framework#5290</a></li>
<li><a href="https://github.com/jaschdoc "><code>@jaschdoc</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5427 ">junit-team/junit-framework#5427</a></li>
<li><a
href="https://github.com/kawshikbuet17 "><code>@kawshikbuet17</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5561 ">junit-team/junit-framework#5561</a></li>
<li><a href="https://github.com/msridhar "><code>@msridhar</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5602 ">junit-team/junit-framework#5602</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1 ">https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1 </a></p>
<p>JUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage
6.1.0-M1</p>
<p>See <a href="https://docs.junit.org/6.1.0-M1/release-notes/ ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vy "><code>@vy</code></a> made their
first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5041 ">junit-team/junit-framework#5041</a></li>
<li><a href="https://github.com/Pankraz76 "><code>@Pankraz76</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5006 ">junit-team/junit-framework#5006</a></li>
<li><a href="https://github.com/arukiidou "><code>@arukiidou</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5066 ">junit-team/junit-framework#5066</a></li>
<li><a href="https://github.com/laeubi "><code>@laeubi</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5092 ">junit-team/junit-framework#5092</a></li>
<li><a href="https://github.com/jihun4452 "><code>@jihun4452</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5088 ">junit-team/junit-framework#5088</a></li>
<li><a
href="https://github.com/TWiStErRob "><code>@TWiStErRob</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5133 ">junit-team/junit-framework#5133</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1 ">https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556 "><code>0dc3af1</code></a>
Release 6.1.0</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04 "><code>1d13002</code></a>
Prepare 6.1.0 release notes</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268 "><code>072b217</code></a>
Update plugin spotless to v8.5.0 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5668 ">#5668</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8 "><code>3a53480</code></a>
Update Gradle to v9.5.1 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5666 ">#5666</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034 "><code>0e18a20</code></a>
Update zizmorcore/zizmor-action action to v0.5.4 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5669 ">#5669</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b "><code>0a2634f</code></a>
Update github/codeql-action action to v4.35.5 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5671 ">#5671</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c "><code>4dbd556</code></a>
Restructure workflows to have single "status" job (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5670 ">#5670</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e "><code>f2194ce</code></a>
Increase timeout to reduce flakiness</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd "><code>5c8fdd2</code></a>
Update dependency org.apache.groovy:groovy to v5.0.6 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5659 ">#5659</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d "><code>43c6982</code></a>
Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5667 ">#5667</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `org.junit.jupiter:junit-jupiter-engine` from 6.0.3 to 6.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/junit-team/junit-framework/releases ">org.junit.jupiter:junit-jupiter-engine's
releases</a>.</em></p>
<blockquote>
<p>JUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0</p>
<p>See <a href="https://docs.junit.org/6.1.0/release-notes.html ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/JarvisCraft "><code>@JarvisCraft</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5633 ">junit-team/junit-framework#5633</a></li>
<li><a href="https://github.com/Maran23 "><code>@Maran23</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5644 ">junit-team/junit-framework#5644</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 ">https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 </a></p>
<p>JUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage
6.1.0-RC1</p>
<p>See <a href="https://docs.junit.org/6.1.0-RC1/release-notes/ ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/mariokhoury4 "><code>@mariokhoury4</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/4574 ">junit-team/junit-framework#4574</a></li>
<li><a href="https://github.com/Ogu1208 "><code>@Ogu1208</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5145 ">junit-team/junit-framework#5145</a></li>
<li><a
href="https://github.com/HyungGeun94 "><code>@HyungGeun94</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5271 ">junit-team/junit-framework#5271</a></li>
<li><a
href="https://github.com/yalishevant "><code>@yalishevant</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5316 ">junit-team/junit-framework#5316</a></li>
<li><a
href="https://github.com/JINU-CHANG "><code>@JINU-CHANG</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5290 ">junit-team/junit-framework#5290</a></li>
<li><a href="https://github.com/jaschdoc "><code>@jaschdoc</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5427 ">junit-team/junit-framework#5427</a></li>
<li><a
href="https://github.com/kawshikbuet17 "><code>@kawshikbuet17</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5561 ">junit-team/junit-framework#5561</a></li>
<li><a href="https://github.com/msridhar "><code>@msridhar</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5602 ">junit-team/junit-framework#5602</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1 ">https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1 </a></p>
<p>JUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage
6.1.0-M1</p>
<p>See <a href="https://docs.junit.org/6.1.0-M1/release-notes/ ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vy "><code>@vy</code></a> made their
first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5041 ">junit-team/junit-framework#5041</a></li>
<li><a href="https://github.com/Pankraz76 "><code>@Pankraz76</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5006 ">junit-team/junit-framework#5006</a></li>
<li><a href="https://github.com/arukiidou "><code>@arukiidou</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5066 ">junit-team/junit-framework#5066</a></li>
<li><a href="https://github.com/laeubi "><code>@laeubi</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5092 ">junit-team/junit-framework#5092</a></li>
<li><a href="https://github.com/jihun4452 "><code>@jihun4452</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5088 ">junit-team/junit-framework#5088</a></li>
<li><a
href="https://github.com/TWiStErRob "><code>@TWiStErRob</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5133 ">junit-team/junit-framework#5133</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1 ">https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556 "><code>0dc3af1</code></a>
Release 6.1.0</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04 "><code>1d13002</code></a>
Prepare 6.1.0 release notes</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268 "><code>072b217</code></a>
Update plugin spotless to v8.5.0 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5668 ">#5668</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8 "><code>3a53480</code></a>
Update Gradle to v9.5.1 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5666 ">#5666</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034 "><code>0e18a20</code></a>
Update zizmorcore/zizmor-action action to v0.5.4 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5669 ">#5669</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b "><code>0a2634f</code></a>
Update github/codeql-action action to v4.35.5 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5671 ">#5671</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c "><code>4dbd556</code></a>
Restructure workflows to have single "status" job (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5670 ">#5670</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e "><code>f2194ce</code></a>
Increase timeout to reduce flakiness</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd "><code>5c8fdd2</code></a>
Update dependency org.apache.groovy:groovy to v5.0.6 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5659 ">#5659</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d "><code>43c6982</code></a>
Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5667 ">#5667</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `org.junit.jupiter:junit-jupiter-params` from 6.0.3 to 6.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/junit-team/junit-framework/releases ">org.junit.jupiter:junit-jupiter-params's
releases</a>.</em></p>
<blockquote>
<p>JUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0</p>
<p>See <a href="https://docs.junit.org/6.1.0/release-notes.html ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/JarvisCraft "><code>@JarvisCraft</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5633 ">junit-team/junit-framework#5633</a></li>
<li><a href="https://github.com/Maran23 "><code>@Maran23</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5644 ">junit-team/junit-framework#5644</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 ">https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 </a></p>
<p>JUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage
6.1.0-RC1</p>
<p>See <a href="https://docs.junit.org/6.1.0-RC1/release-notes/ ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/mariokhoury4 "><code>@mariokhoury4</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/4574 ">junit-team/junit-framework#4574</a></li>
<li><a href="https://github.com/Ogu1208 "><code>@Ogu1208</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5145 ">junit-team/junit-framework#5145</a></li>
<li><a
href="https://github.com/HyungGeun94 "><code>@HyungGeun94</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5271 ">junit-team/junit-framework#5271</a></li>
<li><a
href="https://github.com/yalishevant "><code>@yalishevant</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5316 ">junit-team/junit-framework#5316</a></li>
<li><a
href="https://github.com/JINU-CHANG "><code>@JINU-CHANG</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5290 ">junit-team/junit-framework#5290</a></li>
<li><a href="https://github.com/jaschdoc "><code>@jaschdoc</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5427 ">junit-team/junit-framework#5427</a></li>
<li><a
href="https://github.com/kawshikbuet17 "><code>@kawshikbuet17</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5561 ">junit-team/junit-framework#5561</a></li>
<li><a href="https://github.com/msridhar "><code>@msridhar</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5602 ">junit-team/junit-framework#5602</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1 ">https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1 </a></p>
<p>JUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage
6.1.0-M1</p>
<p>See <a href="https://docs.junit.org/6.1.0-M1/release-notes/ ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vy "><code>@vy</code></a> made their
first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5041 ">junit-team/junit-framework#5041</a></li>
<li><a href="https://github.com/Pankraz76 "><code>@Pankraz76</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5006 ">junit-team/junit-framework#5006</a></li>
<li><a href="https://github.com/arukiidou "><code>@arukiidou</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5066 ">junit-team/junit-framework#5066</a></li>
<li><a href="https://github.com/laeubi "><code>@laeubi</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5092 ">junit-team/junit-framework#5092</a></li>
<li><a href="https://github.com/jihun4452 "><code>@jihun4452</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5088 ">junit-team/junit-framework#5088</a></li>
<li><a
href="https://github.com/TWiStErRob "><code>@TWiStErRob</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5133 ">junit-team/junit-framework#5133</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1 ">https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556 "><code>0dc3af1</code></a>
Release 6.1.0</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04 "><code>1d13002</code></a>
Prepare 6.1.0 release notes</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268 "><code>072b217</code></a>
Update plugin spotless to v8.5.0 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5668 ">#5668</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8 "><code>3a53480</code></a>
Update Gradle to v9.5.1 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5666 ">#5666</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034 "><code>0e18a20</code></a>
Update zizmorcore/zizmor-action action to v0.5.4 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5669 ">#5669</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b "><code>0a2634f</code></a>
Update github/codeql-action action to v4.35.5 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5671 ">#5671</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c "><code>4dbd556</code></a>
Restructure workflows to have single "status" job (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5670 ">#5670</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e "><code>f2194ce</code></a>
Increase timeout to reduce flakiness</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd "><code>5c8fdd2</code></a>
Update dependency org.apache.groovy:groovy to v5.0.6 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5659 ">#5659</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d "><code>43c6982</code></a>
Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5667 ">#5667</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `org.junit.platform:junit-platform-launcher` from 6.0.3 to 6.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/junit-team/junit-framework/releases ">org.junit.platform:junit-platform-launcher's
releases</a>.</em></p>
<blockquote>
<p>JUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0</p>
<p>See <a href="https://docs.junit.org/6.1.0/release-notes.html ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/JarvisCraft "><code>@JarvisCraft</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5633 ">junit-team/junit-framework#5633</a></li>
<li><a href="https://github.com/Maran23 "><code>@Maran23</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5644 ">junit-team/junit-framework#5644</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 ">https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 </a></p>
<p>JUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage
6.1.0-RC1</p>
<p>See <a href="https://docs.junit.org/6.1.0-RC1/release-notes/ ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/mariokhoury4 "><code>@mariokhoury4</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/4574 ">junit-team/junit-framework#4574</a></li>
<li><a href="https://github.com/Ogu1208 "><code>@Ogu1208</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5145 ">junit-team/junit-framework#5145</a></li>
<li><a
href="https://github.com/HyungGeun94 "><code>@HyungGeun94</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5271 ">junit-team/junit-framework#5271</a></li>
<li><a
href="https://github.com/yalishevant "><code>@yalishevant</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5316 ">junit-team/junit-framework#5316</a></li>
<li><a
href="https://github.com/JINU-CHANG "><code>@JINU-CHANG</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5290 ">junit-team/junit-framework#5290</a></li>
<li><a href="https://github.com/jaschdoc "><code>@jaschdoc</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5427 ">junit-team/junit-framework#5427</a></li>
<li><a
href="https://github.com/kawshikbuet17 "><code>@kawshikbuet17</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5561 ">junit-team/junit-framework#5561</a></li>
<li><a href="https://github.com/msridhar "><code>@msridhar</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5602 ">junit-team/junit-framework#5602</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1 ">https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1 </a></p>
<p>JUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage
6.1.0-M1</p>
<p>See <a href="https://docs.junit.org/6.1.0-M1/release-notes/ ">Release
Notes</a>.</p>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vy "><code>@vy</code></a> made their
first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5041 ">junit-team/junit-framework#5041</a></li>
<li><a href="https://github.com/Pankraz76 "><code>@Pankraz76</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5006 ">junit-team/junit-framework#5006</a></li>
<li><a href="https://github.com/arukiidou "><code>@arukiidou</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5066 ">junit-team/junit-framework#5066</a></li>
<li><a href="https://github.com/laeubi "><code>@laeubi</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5092 ">junit-team/junit-framework#5092</a></li>
<li><a href="https://github.com/jihun4452 "><code>@jihun4452</code></a>
made their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5088 ">junit-team/junit-framework#5088</a></li>
<li><a
href="https://github.com/TWiStErRob "><code>@TWiStErRob</code></a> made
their first contribution in <a
href="https://redirect.github.com/junit-team/junit-framework/pull/5133 ">junit-team/junit-framework#5133</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1 ">https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556 "><code>0dc3af1</code></a>
Release 6.1.0</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04 "><code>1d13002</code></a>
Prepare 6.1.0 release notes</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268 "><code>072b217</code></a>
Update plugin spotless to v8.5.0 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5668 ">#5668</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8 "><code>3a53480</code></a>
Update Gradle to v9.5.1 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5666 ">#5666</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034 "><code>0e18a20</code></a>
Update zizmorcore/zizmor-action action to v0.5.4 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5669 ">#5669</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b "><code>0a2634f</code></a>
Update github/codeql-action action to v4.35.5 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5671 ">#5671</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c "><code>4dbd556</code></a>
Restructure workflows to have single "status" job (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5670 ">#5670</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e "><code>f2194ce</code></a>
Increase timeout to reduce flakiness</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd "><code>5c8fdd2</code></a>
Update dependency org.apache.groovy:groovy to v5.0.6 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5659 ">#5659</a>)</li>
<li><a
href="https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d "><code>43c6982</code></a>
Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (<a
href="https://redirect.github.com/junit-team/junit-framework/issues/5667 ">#5667</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0 ">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 10:35:39 -07:00
dependabot[bot]
2f4128a31c
Bump github/codeql-action from 4.35.4 to 4.35.5 ( #1624 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action )
from 4.35.4 to 4.35.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases ">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.35.5</h2>
<ul>
<li>We have improved how the JavaScript bundles for the CodeQL Action
are generated to avoid duplication across bundles and reduce the size of
the repository by around 70%. This should have no effect on the runtime
behaviour of the CodeQL Action. <a
href="https://redirect.github.com/github/codeql-action/pull/3899 ">#3899</a></li>
<li>For performance and accuracy reasons, <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a> will now only be enabled on a pull request when
diff-informed analysis is also enabled for that run. If diff-informed
analysis is unavailable (for example, because the PR diff ranges could
not be computed), the action will fall back to a full analysis. <a
href="https://redirect.github.com/github/codeql-action/pull/3791 ">#3791</a></li>
<li>If multiple inputs are provided for the GitHub-internal
<code>analysis-kinds</code> input, only <code>code-scanning</code> will
be enabled. The <code>analysis-kinds</code> input is experimental, for
GitHub-internal use only, and may change without notice at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3892 ">#3892</a></li>
<li>Added an experimental change which, when running a Code Scanning
analysis for a PR with <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a> enabled, prefers CodeQL CLI versions that have
a cached overlay-base database for the configured languages. This speeds
up analysis for a repository when there is not yet a cached overlay-base
database for the latest CLI version. We expect to roll this change out
to everyone in May. <a
href="https://redirect.github.com/github/codeql-action/pull/3880 ">#3880</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md ">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases ">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>4.36.0 - 22 May 2026</h2>
<ul>
<li><em>Breaking change</em>: Bump the minimum required CodeQL bundle
version to 2.19.4. <a
href="https://redirect.github.com/github/codeql-action/pull/3894 ">#3894</a></li>
<li>Add support for SHA-256 Git object IDs. <a
href="https://redirect.github.com/github/codeql-action/pull/3893 ">#3893</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.5 ">2.25.5</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3926 ">#3926</a></li>
</ul>
<h2>4.35.5 - 15 May 2026</h2>
<ul>
<li>We have improved how the JavaScript bundles for the CodeQL Action
are generated to avoid duplication across bundles and reduce the size of
the repository by around 70%. This should have no effect on the runtime
behaviour of the CodeQL Action. <a
href="https://redirect.github.com/github/codeql-action/pull/3899 ">#3899</a></li>
<li>For performance and accuracy reasons, <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a> will now only be enabled on a pull request when
diff-informed analysis is also enabled for that run. If diff-informed
analysis is unavailable (for example, because the PR diff ranges could
not be computed), the action will fall back to a full analysis. <a
href="https://redirect.github.com/github/codeql-action/pull/3791 ">#3791</a></li>
<li>If multiple inputs are provided for the GitHub-internal
<code>analysis-kinds</code> input, only <code>code-scanning</code> will
be enabled. The <code>analysis-kinds</code> input is experimental, for
GitHub-internal use only, and may change without notice at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3892 ">#3892</a></li>
<li>Added an experimental change which, when running a Code Scanning
analysis for a PR with <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a> enabled, prefers CodeQL CLI versions that have
a cached overlay-base database for the configured languages. This speeds
up analysis for a repository when there is not yet a cached overlay-base
database for the latest CLI version. We expect to roll this change out
to everyone in May. <a
href="https://redirect.github.com/github/codeql-action/pull/3880 ">#3880</a></li>
</ul>
<h2>4.35.4 - 07 May 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.4 ">2.25.4</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3881 ">#3881</a></li>
</ul>
<h2>4.35.3 - 01 May 2026</h2>
<ul>
<li><em>Upcoming breaking change</em>: Add a deprecation warning for
customers using CodeQL version 2.19.3 and earlier. These versions of
CodeQL were discontinued on 9 April 2026 alongside GitHub Enterprise
Server 3.15, and will be unsupported by the next minor release of the
CodeQL Action. <a
href="https://redirect.github.com/github/codeql-action/pull/3837 ">#3837</a></li>
<li>Configurations for private registries that use Cloudsmith or GCP
OIDC are now accepted. <a
href="https://redirect.github.com/github/codeql-action/pull/3850 ">#3850</a></li>
<li>Best-effort connection tests for private registries now use
<code>GET</code> requests instead of <code>HEAD</code> for better
compatibility with various registry implementations. For NuGet feeds,
the test is now always performed against the service index. <a
href="https://redirect.github.com/github/codeql-action/pull/3853 ">#3853</a></li>
<li>Fixed a bug where two diagnostics produced within the same
millisecond could overwrite each other on disk, causing one of them to
be lost. <a
href="https://redirect.github.com/github/codeql-action/pull/3852 ">#3852</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.3 ">2.25.3</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3865 ">#3865</a></li>
</ul>
<h2>4.35.2 - 15 Apr 2026</h2>
<ul>
<li>The undocumented TRAP cache cleanup feature that could be enabled
using the <code>CODEQL_ACTION_CLEANUP_TRAP_CACHES</code> environment
variable is deprecated and will be removed in May 2026. If you are
affected by this, we recommend disabling TRAP caching by passing the
<code>trap-caching: false</code> input to the <code>init</code> Action.
<a
href="https://redirect.github.com/github/codeql-action/pull/3795 ">#3795</a></li>
<li>The Git version 2.36.0 requirement for improved incremental analysis
now only applies to repositories that contain submodules. <a
href="https://redirect.github.com/github/codeql-action/pull/3789 ">#3789</a></li>
<li>Python analysis on GHES no longer extracts the standard library,
relying instead on models of the standard library. This should result in
significantly faster extraction and analysis times, while the effect on
alerts should be minimal. <a
href="https://redirect.github.com/github/codeql-action/pull/3794 ">#3794</a></li>
<li>Fixed a bug in the validation of OIDC configurations for private
registries that was added in CodeQL Action 4.33.0 / 3.33.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3807 ">#3807</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.2 ">2.25.2</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3823 ">#3823</a></li>
</ul>
<h2>4.35.1 - 27 Mar 2026</h2>
<ul>
<li>Fix incorrect minimum required Git version for <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a>: it should have been 2.36.0, not 2.11.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3781 ">#3781</a></li>
</ul>
<h2>4.35.0 - 27 Mar 2026</h2>
<ul>
<li>Reduced the minimum Git version required for <a
href="https://redirect.github.com/github/roadmap/issues/1158 ">improved
incremental analysis</a> from 2.38.0 to 2.11.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3767 ">#3767</a></li>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.1 ">2.25.1</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/3773 ">#3773</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/codeql-action/commit/9e0d7b8d25671d64c341c19c0152d693099fb5ba "><code>9e0d7b8</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3905 ">#3905</a>
from github/update-v4.35.5-d4b485515</li>
<li><a
href="https://github.com/github/codeql-action/commit/6d7d59927c0c7336c1d1247c7e159e79edbf7684 "><code>6d7d599</code></a>
Add changelog entry for <a
href="https://redirect.github.com/github/codeql-action/issues/3899 ">#3899</a></li>
<li><a
href="https://github.com/github/codeql-action/commit/51f7e38c69d3cd7966375fe0ffff19669f22bd14 "><code>51f7e38</code></a>
Update changelog for v4.35.5</li>
<li><a
href="https://github.com/github/codeql-action/commit/d4b485515e8531d7071a39d526213eb5b2e74a11 "><code>d4b4855</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3899 ">#3899</a>
from github/mbg/esbuild/split</li>
<li><a
href="https://github.com/github/codeql-action/commit/127de8117f134e8809c127d53e940b3ffc1db8e9 "><code>127de81</code></a>
Merge remote-tracking branch 'origin/main' into mbg/esbuild/split</li>
<li><a
href="https://github.com/github/codeql-action/commit/7fde13f26ad3f7008e8fe6755cb997b54f7a2f3b "><code>7fde13f</code></a>
Use src + basename in header to avoid issues on Windows</li>
<li><a
href="https://github.com/github/codeql-action/commit/dfa61e7305ed28b74dcc2c68bd665b36751ad933 "><code>dfa61e7</code></a>
Improve pattern matching and error handling</li>
<li><a
href="https://github.com/github/codeql-action/commit/52aafec07347933a26e670390c3f894c5c05e64a "><code>52aafec</code></a>
Import and call <code>runWrapper</code> normally in <code>analyze</code>
tests</li>
<li><a
href="https://github.com/github/codeql-action/commit/0d08c01f7874da2f932e4d4e4d42b1c43be88111 "><code>0d08c01</code></a>
Auto-generate shared bundle</li>
<li><a
href="https://github.com/github/codeql-action/commit/14085a675cb6d8cddc805b946cc1d51e3232a204 "><code>14085a6</code></a>
Auto-generate entry points</li>
<li>Additional commits viewable in <a
href="https://github.com/github/codeql-action/compare/68bde559dea0fdcac2102bfdf6230c5f70eb485e...9e0d7b8d25671d64c341c19c0152d693099fb5ba ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 10:27:18 -07:00
Daniel Chao
7c927b0a43
Fix deploy build ( #1623 )
...
Fixes the following error:
```
A problem was found with the configuration of task ':pkl-core:sourcesJar' (type 'Jar').
Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.
- Gradle detected a problem with the following location: '/home/runner/work/pkl/pkl/pkl-core/build/generated/sources/baseModuleMembers'.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
Reason: Task ':pkl-core:sourcesJar' uses this output of task ':pkl-core:generateBaseModuleMembers' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
For more on this, please refer to https://docs.gradle.org/9.5.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
Possible solutions:
94 actionable tasks: 76 executed, 18 from cache
1. Declare task ':pkl-core:generateBaseModuleMembers' as an input of ':pkl-core:sourcesJar'.
2. Declare an explicit dependency on ':pkl-core:generateBaseModuleMembers' from ':pkl-core:sourcesJar' using Task#dependsOn.
3. Declare an explicit dependency on ':pkl-core:generateBaseModuleMembers' from ':pkl-core:sourcesJar' using Task#mustRunAfter.
```
2026-05-26 15:20:54 -07:00
Islon Scherer
dbf04f6598
Resolve variables at parse time ( #1429 )
...
This replaces `ResolveVariableNode` and `ResolveMethodNode` with their resolution.
When we build the truffle node tree, we determine whether names resolve to:
* lexical scope
* base module
* implicit this
Then, we use this information to directly construct the underlying nodes (`ReadPropertyNode`, `ReadLocalPropertyNode`, etc).
Additionally, `AstBuilder` determines whether the property access must be const or not.
This introduces a `BaseModuleMembers` registry, which gets generated as part of Java compilation.
2026-05-26 14:08:20 -07:00
Daniel Chao
b2f005d11d
Enable error-prone check for GuardedBy, fix errors ( #1621 )
2026-05-26 13:39:15 -07:00
Daniel Chao
72948e50fe
Fix calls to string case api ( #1620 )
...
* Enable IntelliJ inspection for calls to `String.toLowerCase()` and
`String.toUpperCase()`
* Enable error prone check
* Fix all issues
2026-05-26 11:20:02 -07:00
Islon Scherer
d6f35dd49e
Fix formatter bugs ( #1619 )
2026-05-26 19:38:35 +02:00
Mirko Alicastro
ff319faef3
Use Locale.ROOT when lowercasing rewrite URIs ( #1618 )
...
Use Locale.ROOT to apply the lowecase format. For URI scheme and host
locale-neutral casing is the semantically the correct choice. Added a
unit test that sets the default locale to tr-TR and that would fail
without the fix.
2026-05-26 09:37:42 -07:00
Daniel Chao
a1eea47b3f
Restore @ThreadSafe and @Immutable annotations ( #1613 )
2026-05-22 15:58:09 -07:00
dependabot[bot]
648f9143bf
Bump io.leangen.geantyref:geantyref from 1.3.16 to 2.0.1 ( #1566 )
...
Bumps [io.leangen.geantyref:geantyref](https://github.com/leangen/geantyref ) from 1.3.16 to 2.0.1.
- [Release notes](https://github.com/leangen/geantyref/releases )
- [Commits](leangen/geantyref@geantyref-v1.3.16...geantyref-v2.0.1)
---
updated-dependencies:
- dependency-name: io.leangen.geantyref:geantyref
dependency-version: 2.0.1
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-22 15:54:27 -07:00
Daniel Chao and odenix
95bcd6a463
Remove jsr305; switch GuardedBy to com.google.errorprone ( #1611 )
...
- Remove single usage of @immutable without replacement
- Remove HttpClient's usages of @threadsafe without replacement
- Replace javax.annotation.concurrent.GuardedBy
with com.google.errorprone.annotations.concurrent.GuardedBy
Also:
- Remove redundant final modifiers from members of a final class
---------
Co-authored-by: odenix <self@odenix.org >
2026-05-22 14:15:18 -07:00
Daniel Chao
a800072441
Fix native build ( #1610 )
...
Fix native executable build; there was a missing truffle boundary
2026-05-22 11:50:40 -07:00
Daniel Chao
b070d56741
Remove public modifier on LazyHttpClient and RequestRewritingClient ( #1609 )
...
This introduces a test helper to expose configured HTTP settings, and
makes the underlying classes package-private again.
2026-05-22 10:17:26 -07:00
Daniel Chao
da4dd4c4f8
Make codegen default to jspecify NonNull annotations ( #1607 )
...
With JSpecify now a dependency of pkl-config-java, this moves the
non-null annotation to jspecify's.
This makes it simpler for users to do nullness checks, as tooling
already understands JSpecify nullness annotations.
2026-05-21 21:12:15 -07:00
Daniel Chao
8e2e5e4ba8
Improve HTTP headers logic ( #1584 )
...
* Relax forbidden headers constraints
- remove restriction on browser-related headers
- allow any glob pattern (no need to end with `/` or `*`, because glob
patterns already require users to explicitly declare prefix matches if
that's the intention)
* Replace `List<Pair<, ...>>`; use `Map<String, ...>` instead
* Use glob pattern strings as an API throughout, instead of `Pattern`
(e.g. in `HttpClientBuilder`)
* Add HTTP headers to message passing API
* Add HTTP headers to executor API (introduces `ExecutorSpiOptions4`)
* Add tests for Gradle, CLI, and pkl-executor invocations
* Improve documentation
* Add `isGlobPattern` API to class `String` for in-language validation
of http headers
* Behavior change: make sure explicitly configured `User-Agent` in
`HttpClientBuilder` can be shadowed by headers (allows users to set
`--http-header "**=User-Agent: My User Agent"` and for this to be the
only user agent).
CC @kyokuping
2026-05-21 20:07:06 -07:00
Daniel Chao
87ea28260b
Configure IntelliJ to respect @LateInit annotations ( #1606 )
...
IntelliJ can understand that some annotations on fields mean that they
are implicitly initialized, which means we don't get the "field XXX is
not initialized" warning for `@LateInit` fields.
This setting, unfortunately, is recorded into `.idea/misc.xml`, which
contains a bunch of arbitrary stuff that we don't want to check into
source control
This adds some logic to touch up that file to mark `@LateInit` as
implicitly initialized fields, so we don't get any editor warnings.
Also, suppress some warnings.
2026-05-21 14:34:11 -07:00
odenix
3dc93cbd4a
pkl-core: Migrate nullness to JSpecify ( #1601 )
...
Replace pkl-core's local nullness annotations with JSpecify annotations.
Enable NullAway checking for pkl-core packages except org.pkl.core.ast
and org.pkl.core.stdlib.
Notable code changes:
- Add a dedicated late-init constructor to VmTyped
- Move VmExceptionBuilder's fallback message derivation from withCause()
to build()
- Split VmException rendering between builder-provided messages and
string-backed messages
- Initialize MessageTransport handlers with default throwing handlers
- Update JSON helper collection types to allow nullable values JSON
arrays and objects can contain JSON null,
so the Java Map/List element types need to model nullable elements
explicitly
- Make public command transform APIs accept nullable transformed values
Command transforms can produce null for optional/default handling,
so the BiFunction and options-map element types now model that
explicitly
- Make ExecutorSpiException accept nullable message and cause
Existing call sites can pass nullable causes from Throwable.getCause()
- Remove JSR-305 semantics from `@LateInit`
JSpecify does not support the same type-qualifier-nickname pattern,
so `@LateInit` is now documentation plus a NullAway
constructor-initialization exemption
Out of scope:
- NullAway checking of org.pkl.core.ast and org.pkl.core.stdlib
- IntelliJ warnings related to `@LateInit` fields
- Removing the JSR-305 dependency, since concurrency annotations are
still in use
2026-05-21 13:57:20 -07:00
dependabot[bot]
63ef60f3c4
Bump slf4j from 2.0.17 to 2.0.18 ( #1605 )
...
Bumps `slf4j` from 2.0.17 to 2.0.18.
Updates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18
Updates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18
---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-api
dependency-version: 2.0.18
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.slf4j:slf4j-simple
dependency-version: 2.0.18
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-21 09:56:49 -07:00
dependabot[bot]
f10b235002
Bump gradle-wrapper from 9.5.0 to 9.5.1 ( #1604 )
2026-05-21 09:46:41 -07:00
Daniel Chao
1e33179ecc
Update codestyles ( #1602 )
...
IntelliJ keeps touching this file; these settings must be obsolete.
2026-05-21 08:18:29 -07:00
Daniel Chao
1733a4c6e7
Fix: docsite-info is an optional input ( #1598 )
2026-05-19 15:20:02 -07:00
odenix
dc9003d0f1
pkl-config-java: Refine nullness handling in Config and JavaType ( #1544 )
...
Motivation:
Config.as() causes nullness warnings when its result is intentionally assigned
to a non-null variable
Changes:
* Introduce Config.asNullable(Class<T>), asNullable(JavaType<T>), and
asNullable(Type) to explicitly opt into nullable values
* Keep the signatures of Config.as(Class<T>) and Config.as(JavaType<T>)
unchanged from 0.31 by adding @NullUnmarked
* This gives users time to migrate from as() to asNullable() where appropriate
* Avoids introducing new spurious warnings
* Change `<T> T Config.as(Type)` to `<T extends @nullable Object> T Config.as(Type)`
* This overload is typically used by reflective code such as
pkl-config-kotlin's Config.to() rather than directly by user code
* Clarify that JavaType<T> represents a non-null top-level type whose type arguments may be nullable
* Restricting <T> to non-null keeps method signatures understandable for humans and tools
* Enables full symmetry between Class<T> and JavaType<T> overloads in Config and JavaType
* Enables future non-null runtime checks in both Config.as() overloads
* Simplify construction of `JavaType`s with nullable type arguments
* Add ofNullable() variants for most factory methods, e.g., JavaType.listOfNullable()
* Overhaul Javadoc of Config and JavaType
Result:
* Clear separation between accessing nullable and non-null values
* Config.as() is used for the common non-null case
* Config.as() can perform non-null runtime checks in a future release (breaking change)
* More ergonomic construction of types with nullable type arguments
* More detailed and consistent documentation
2026-05-19 12:27:59 -07:00
Daniel Chao
e34c3e8c4f
Test reporter fixes ( #1597 )
...
* Fix error message when an invalid test reporter is supplied in Gradle
* Fix Gradle property name in docs
* Fix Gradle property name in tasks
* Introduce `TestReporter.default`, and use it in places where default
is applied
* Remove calls to `convention()`; this is not required because the input
is optional anyways.
2026-05-19 11:32:51 -07:00
Islon Scherer
3fbcd463e0
Introduce "minimal" test reporter ( #1563 )
2026-05-19 17:20:26 +02:00
odenix
566c42f44d
pkl-doc: Support single-package docsite mode ( #1592 )
...
When a docsite has only one package name and no DocsiteInfo.overview,
treat it like Javadoc's single-module output: redirect the top-level
index to the package page and omit the site-title breadcrumb segment
from generated pages.
Add src/test/files/SinglePackageTest fixtures to cover multiple package
versions, redirect behavior, breadcrumb behavior, and unchanged site
structure.
Also:
- Shut down Executor used in test.
- Declare expected output fixtures of DocGenerator as test inputs, not
outputs.
- Fix IntelliJ warning by using a Set for the right-hand side of
collection subtraction.
2026-05-15 18:38:24 -07:00
Daniel Chao
a7a64acbac
Improve handling of evaling dependency notation URIs ( #1595 )
2026-05-15 15:51:09 -07:00
Daniel Chao
3ad1cb3645
Ensure local dependency matches PklProject.dep.json version ( #1594 )
...
The version of local project dependencies should _always_ exactly match
up with what's declared in a PklProject.deps.json; any package in the
transitive dependency tree should always be delcaring the same import
too.
Closes #1591
2026-05-15 11:48:57 -07:00
Vladimir Matveev
2fe565a0f2
Added support for external readers in Gradle plugins ( #1578 )
...
Adds support for configuring external module and resource readers in the Gradle plugin
2026-05-14 11:18:22 -07:00
odenix
1b6e89c971
pkl-doc: Fix/improve Executor handling in DocGenerator ( #1590 )
...
run() now creates and closes a default Executor per call. This is fine
because there is no good reason to call this method multiple times.
run(Executor) now lets callers provide their own Executor, which is
customary for a well-behaved library.
Also: Fix IntelliJ warning by calling toSet()
Closes #1583
2026-05-14 11:02:23 -07:00
dependabot[bot]
6171dbde28
Bump org.msgpack:msgpack-core from 0.9.11 to 0.9.12 ( #1587 )
2026-05-14 08:51:52 -07:00
dependabot[bot]
99b29ef3c7
Bump github/codeql-action from 4.35.2 to 4.35.4 ( #1586 )
2026-05-14 08:49:18 -07:00
dependabot[bot]
c428f7abd0
Bump com.palantir.javapoet:javapoet from 0.14.0 to 0.15.0 ( #1588 )
2026-05-14 08:48:29 -07:00
dependabot[bot]
366b51bd21
Bump nu.validator:validator from 26.4.16 to 26.5.7 ( #1589 )
2026-05-14 08:47:25 -07:00
14085c18bb
Add support for customizing HTTP headers ( #1196 )
...
This PR adds support for custom HTTP headers, introducing a
`--http-header` CLI flag to accept `key=value` pairs. These headers can
also be specified within the `setting.pkl` file.
Closes #633
SPICE: https://github.com/apple/pkl-evolution/pull/24
---------
Co-authored-by: Jen Basch <jbasch94@gmail.com >
Co-authored-by: Islon Scherer <islonscherer@gmail.com >
2026-05-12 13:53:59 -07:00
Jen Basch
fe58405220
Improve some doc comments in pkl:Command ( #1582 )
2026-05-12 13:53:15 -07:00
Vladimir Matveev
bac8b47ba8
Add resource readers from service providers in CLI ( #1581 )
...
This omission, in particular, prevents Gradle plugins (which rely on CLI
classes) from adding custom resource readers via the service loading
mechanism. This change seems benign, especially since this is already
done for module key factories.
2026-05-11 16:54:36 -07:00
Jen Basch
713fbc5043
Add missing javadoc for org.pkl.core.CommandSpec ( #1577 )
2026-05-08 20:29:05 -07:00
Daniel Chao
38733e5781
Fix parsing of dependency notation URIs ( #1570 )
...
Fixes a thrown exception when path segments contain characters that
aren't URI safe (e.g. `import "@foo/bar baz.pkl"`).
Closes #1545
2026-05-07 13:00:52 -07:00
dependabot[bot]
8ff03cfac0
Bump gradle-wrapper from 9.4.1 to 9.5.0 ( #1575 )
...
Bumps [gradle-wrapper](https://github.com/gradle/gradle ) from 9.4.1 to
9.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gradle/gradle/releases ">gradle-wrapper's
releases</a>.</em></p>
<blockquote>
<h2>9.5.0</h2>
<p>The Gradle team is excited to announce Gradle 9.5.0.</p>
<p>Here are the highlights of this release:</p>
<ul>
<li>Task provenance in reports and failure messages</li>
<li>Type-safe accessors for precompiled Kotlin Settings plugins</li>
</ul>
<p><a href="https://docs.gradle.org/9.5.0/release-notes.html ">Read the
Release Notes</a></p>
<p>We would like to thank the following community members for their
contributions to this release of Gradle:
<a href="https://github.com/atm1020 ">atm1020</a>,
<a href="https://github.com/mataha ">mataha</a>,
<a href="https://github.com/aSemy ">Adam</a>,
<a href="https://github.com/kelemen ">Attila Kelemen</a>,
<a href="https://github.com/britter ">Benedikt Ritter</a>,
<a href="https://github.com/Vampire ">Björn Kautler</a>,
<a href="https://github.com/budindepunk ">Caro Silva Rode</a>,
<a href="https://github.com/chanani ">CHANHAN</a>,
<a href="https://github.com/DmitryNez ">Dmitry Nezavitin</a>,
<a href="https://github.com/Juneezee ">Eng Zer Jun</a>,
<a href="https://github.com/KugelLibelle ">KugelLibelle</a>,
<a href="https://github.com/vmadalin ">Madalin Valceleanu</a>,
<a href="https://github.com/quijote ">Markus Gaisbauer</a>,
<a href="https://github.com/koppor ">Oliver Kopp</a>,
<a href="https://github.com/hfhbd ">Philip Wedemann</a>,
<a href="https://github.com/ploober ">ploober</a>,
<a href="https://github.com/rpalcolea ">Roberto Perez Alcolea</a>,
<a href="https://github.com/R0h1tAnand ">Rohit Anand</a>,
<a href="https://github.com/Suvrat1629 ">Suvrat Acharya</a>,
<a href="https://github.com/usv240 ">Ujwal Suresh Vanjare</a>,
<a href="https://github.com/urdak ">Victor Merkulov</a></p>
<h2>Upgrade instructions</h2>
<p>Switch your build to use Gradle 9.5.0 by updating your wrapper:</p>
<pre><code>./gradlew wrapper --gradle-version=9.5.0 && ./gradlew
wrapper
</code></pre>
<p>See the Gradle <a
href="https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html ">9.x
upgrade guide</a> to learn about deprecations, breaking changes and
other considerations when upgrading.</p>
<p>For Java, Groovy, Kotlin and Android compatibility, see the <a
href="https://docs.gradle.org/9.5.0/userguide/compatibility.html ">full
compatibility notes</a>.</p>
<h2>Reporting problems</h2>
<p>If you find a problem with this release, please file a bug on <a
href="https://github.com/gradle/gradle/issues ">GitHub Issues</a>
adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the <a
href="https://discuss.gradle.org/c/help-discuss ">forum</a>.</p>
<p>We hope you will build happiness with Gradle, and we look forward to
your feedback via <a href="https://twitter.com/gradle ">Twitter</a> or on
<a href="https://github.com/gradle ">GitHub</a>.</p>
<h2>9.5.0 RC4</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8 "><code>3fe117d</code></a>
Update jdks.yaml (<a
href="https://redirect.github.com/gradle/gradle/issues/37703 ">#37703</a>)</li>
<li><a
href="https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2 "><code>33d145a</code></a>
Update jdks.yaml</li>
<li><a
href="https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da "><code>f7a05d1</code></a>
Update Gradle wrapper to version 9.5.0-rc-4 (<a
href="https://redirect.github.com/gradle/gradle/issues/37654 ">#37654</a>)</li>
<li><a
href="https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5 "><code>266facd</code></a>
Update Gradle wrapper to version 9.5.0-rc-4</li>
<li><a
href="https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513 "><code>0ad6dd8</code></a>
Suppress OSC taskbar reset on plain/piped stdout (<a
href="https://redirect.github.com/gradle/gradle/issues/37646 ">#37646</a>)</li>
<li><a
href="https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57 "><code>966025d</code></a>
Suppress OSC taskbar reset on plain/piped stdout</li>
<li><a
href="https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c "><code>e745573</code></a>
Polish IP docs (<a
href="https://redirect.github.com/gradle/gradle/issues/37642 ">#37642</a>)</li>
<li><a
href="https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a "><code>d5cfd07</code></a>
Ensure BuildOperationQueue will progress without extra leases (<a
href="https://redirect.github.com/gradle/gradle/issues/37629 ">#37629</a>)</li>
<li><a
href="https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee "><code>acdf0c3</code></a>
Ensure BuildOperationQueue will progress without extra leases</li>
<li><a
href="https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef "><code>f7d0e4f</code></a>
Rename anchor</li>
<li>Additional commits viewable in <a
href="https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 12:28:59 -07:00
dependabot[bot]
be8366a975
Bump jline from 4.0.12 to 4.0.14 ( #1574 )
...
Bumps `jline` from 4.0.12 to 4.0.14.
Updates `org.jline:jline-reader` from 4.0.12 to 4.0.14
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](jline/jline3@4.0.12...4.0.14)
Updates `org.jline:jline-terminal` from 4.0.12 to 4.0.14
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](jline/jline3@4.0.12...4.0.14)
Updates `org.jline:jline-terminal-jni` from 4.0.12 to 4.0.14
- [Release notes](https://github.com/jline/jline3/releases )
- [Commits](jline/jline3@4.0.12...4.0.14)
---
updated-dependencies:
- dependency-name: org.jline:jline-reader
dependency-version: 4.0.14
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.jline:jline-terminal
dependency-version: 4.0.14
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.jline:jline-terminal-jni
dependency-version: 4.0.14
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-07 11:17:45 -07:00
Jen Basch
8a4821c4e7
Power assertions: change source section check to an assert ( #1572 )
2026-05-04 13:53:40 -07:00
Jen Basch
b7ba6a8649
Fix pkl:test fact power assertions when member source section is unavailable ( #1571 )
...
Power assertions only work when the source section is available. If it
is unavailable, power assertions throw a ParserError (unexpected EOF on
an empty input) when re-parsing the expression for presentation.
2026-05-04 12:25:15 -07:00
dependabot[bot]
9c1a9cb4f8
Bump kotlinToolchain from 2.3.20 to 2.3.21 ( #1567 )
...
Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](JetBrains/kotlin@v2.3.20...v2.3.21)
Updates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md )
- [Commits](JetBrains/kotlin@v2.3.20...v2.3.21)
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
dependency-version: 2.3.21
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin.plugin.serialization
dependency-version: 2.3.21
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-30 08:31:46 -07:00
dependabot[bot]
5d4bac8f61
Bump com.uber.nullaway:nullaway from 0.13.2 to 0.13.4 ( #1568 )
...
Bumps [com.uber.nullaway:nullaway](https://github.com/uber/NullAway ) from 0.13.2 to 0.13.4.
- [Release notes](https://github.com/uber/NullAway/releases )
- [Changelog](https://github.com/uber/NullAway/blob/master/CHANGELOG.md )
- [Commits](uber/NullAway@v0.13 .2...v0.13.4)
---
updated-dependencies:
- dependency-name: com.uber.nullaway:nullaway
dependency-version: 0.13.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-30 08:31:14 -07:00
Daniel Chao
4a25320995
Fix import/read verification when encountering glob wildcards ( #1559 )
...
Fixes an issue where the import verifier can possibly throw when
packaging on Windows due to `*` being an invalid filename.
2026-04-29 20:20:49 -07:00
Vladimir Matveev
df063f17f3
Added pkg module key factory and resource reader to project loading ( #1547 )
...
This change allows `PklProject` files, usually loaded via the `Project`
static methods, to have references to external packages via `package://`
URIs.
This is helpful for centralizing and sharing common package
configuration via packages.
2026-04-29 16:45:14 -07:00
Kushal Pisavadia
d3a3a14aaa
Fix CRLF handling in line continuation escapes ( #1564 )
2026-04-29 13:53:55 -07:00
Daniel Chao
39c01c24ba
Add another commit to ignore revs file ( #1561 )
...
Add commit from https://github.com/apple/pkl/pull/1560
2026-04-25 11:58:55 -07:00
Daniel Chao
2b3603b544
Reformat Kotlin code ( #1560 )
...
ktfmt has much improved how it formats Kotlin code. Unfortunately, this
means that whenever we touch a single line in a Kotlin file, we get a
_lot_ more changes thanks to ratcheting now picking up this file for
formatting.
This PR just reformats every single Kotlin file so we don't have to deal
with this churn in future PRs that touch Kotlin code.
2026-04-25 06:14:44 -07:00
Daniel Chao
c4f56bf20d
Fix setting DEBUG_ARGS ( #1558 )
...
Looks like context variable `runner` isn't available on the job level
`env`. It's available on the step level `env` though.
2026-04-24 19:34:08 -07:00
Daniel Chao
87b15f7a70
Only set --stacktrace --info if verbose logging is enabled ( #1557 )
...
This is a quality-of-life improvement; make our build logs more easy to
read through for the default case.
If we need more information, we can click on the "Enable debug logging"
checkbox when re-running a job, which then populates the `runner.debug`
context variable.
2026-04-24 15:28:57 -07:00
Daniel Chao
e07ff96de8
Switch CodeQL to use PklCI API ( #1555 )
2026-04-23 11:28:16 -07:00
dependabot[bot]
88a56198a8
Bump nu.validator:validator from 26.4.2 to 26.4.16 ( #1550 )
...
Bumps [nu.validator:validator](https://github.com/validator/validator ) from 26.4.2 to 26.4.16.
- [Release notes](https://github.com/validator/validator/releases )
- [Commits](https://github.com/validator/validator/commits/26.4.16 )
---
updated-dependencies:
- dependency-name: nu.validator:validator
dependency-version: 26.4.16
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-23 11:19:19 -07:00
dependabot[bot]
de22705add
Bump com.google.errorprone:error_prone_core from 2.48.0 to 2.49.0 ( #1552 )
...
Bumps [com.google.errorprone:error_prone_core](https://github.com/google/error-prone ) from 2.48.0 to 2.49.0.
- [Release notes](https://github.com/google/error-prone/releases )
- [Commits](google/error-prone@v2.48 .0...v2.49.0)
---
updated-dependencies:
- dependency-name: com.google.errorprone:error_prone_core
dependency-version: 2.49.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-23 10:14:28 -07:00
Jen Basch
e07abb7311
SPICE-0028: Add support for multi-line string line continuations ( #1507 )
...
SPICE: https://github.com/apple/pkl-evolution/pull/31
2026-04-21 10:29:52 -07:00
dependabot[bot] and Dan Chao
d85f06be27
Bump org.snakeyaml:snakeyaml-engine from 2.10 to 3.0.1 ( #1538 )
...
Bumps [org.snakeyaml:snakeyaml-engine](https://bitbucket.org/snakeyaml/snakeyaml-engine ) from 2.10 to 3.0.1.
- [Commits](https://bitbucket.org/snakeyaml/snakeyaml-engine/branches/compare/snakeyaml-engine-3.0.1..snakeyaml-engine-2.10 )
---
updated-dependencies:
- dependency-name: org.snakeyaml:snakeyaml-engine
dependency-version: 3.0.1
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Chao <dan.chao@apple.com >
2026-04-20 22:28:57 -07:00
Lucas Shadler
d4dacd5a0f
Implement gradle configuration cache support ( #1500 )
...
Modern versions of Gradle support configuration caching
to prevent the gradual increase of project size to affect
the overall developer experience of Gradle builds. To
prepare the PKL project, and specificall pkl-gradle, for
configuration support, we introduce an integration test to
vet configuration cache rules, and then perform the necessary
updates to provide configuration cache support.
2026-04-20 22:02:13 -07:00
dependabot[bot]
7b70a44272
Bump com.uber.nullaway:nullaway from 0.13.1 to 0.13.2 ( #1540 )
...
Bumps [com.uber.nullaway:nullaway](https://github.com/uber/NullAway ) from 0.13.1 to 0.13.2.
- [Release notes](https://github.com/uber/NullAway/releases )
- [Changelog](https://github.com/uber/NullAway/blob/master/CHANGELOG.md )
- [Commits](uber/NullAway@v0.13 .1...v0.13.2)
---
updated-dependencies:
- dependency-name: com.uber.nullaway:nullaway
dependency-version: 0.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-20 11:30:30 -07:00
Daniel Chao
a33e431433
Enable codeql scanning ( #1532 )
...
This enables security vulnerability scanning using CodeQL.
2026-04-20 11:28:31 -07:00
Daniel Chao
4058f391a3
Fix dependabot ( #1537 )
...
Looks like `directory` is a required property; we should also fix our
schema but that's orthogonal to this actual fix.
2026-04-20 11:17:31 -07:00
odenix
7a75ab57f5
pkl-config-java: Replace Config.fromPklBinary() with ConfigDecoder ( #1533 )
...
Motivation:
- `Config` mixes configuration representation with decoding logic
- `Config.fromPklBinary()` does not scale as decoding gains options
(e.g., binary versions or formats)
- The decoding API is inconsistent with `ConfigEvaluator`
Changes:
- Introduce `ConfigDecoder` (with builder) and move
`Config.fromPklBinary()` logic into it
- Deprecate `Config.fromPklBinary()` methods for removal
- Add `ConfigDecoder.forKotlin()` extension function
- Update and improve tests
Result:
- Decoding is separated from `Config` and exposed via a dedicated API
- Decoding can evolve independently (e.g., adding options such as binary
versions or supporting new formats)
- Evaluation and decoding APIs follow a consistent design
2026-04-20 11:09:42 -07:00
Daniel Chao
07c68239b9
Remove lockfiles, manage Gradle dependencies with Dependabot ( #1535 )
...
Dependabot currently does not update lockfiles in multi-module projects
(see https://github.com/dependabot/dependabot-core/issues/14633 )
To work around this issue, we will simply remove our lockfiles, and
change our version catalog to use fully specified versions.
The removal of lockfiles introduces two issues:
1. It is less visible what our dependency graph is
2. Our builds are potentially non-reproducible
To work around this, two mitigations are in place:
1. Enable `failOnDynamicVersions()`, which causes Gradle to fail the
build if any dependencies declare a version range
2. Enable GitHub dependency submission, which provides insight into the
project SBOM
2026-04-20 09:29:33 -07:00
Daniel Chao
9046221e03
Fix dependency scopes ( #1534 )
...
Fixes the following pom.xml issues:
1. pkl-doc and pkl-codegen-java sets the wrong dependency scopes for
pkl-commons-cli/pkl-base
2. pkl-config-kotlin sets the wrong dependency scope for
pkl-config-java-all
Closes #1293
Closes #1517
2026-04-20 08:54:49 -07:00
odenix
2e49a319b3
pkl-gradle: Migrate nullness to jSpecify ( #1530 )
2026-04-17 12:34:54 -07:00
Daniel Chao
b1a5d8c915
Remove Config.makeConfig ( #1531 )
...
This doesn't really make sense as part of the `Config` API.
We can maybe make class `ConfigUtils` public, but, I don't know how useful it
is anyways; it's more of an implementation detail.
2026-04-17 11:19:02 -07:00
odenix
1571d72111
pkl-config-java: Migrate nullness to jSpecify ( #1528 )
2026-04-17 08:56:12 -07:00
Daniel Chao
2dd0e2de21
Only include *runtimeClasspath and *compileClasspath dependencies ( #1529 )
2026-04-16 17:09:08 -07:00
odenix
8103b7759f
pkl-executor: Migrate nullness to jSpecify ( #1527 )
...
Annotating SPI classes is binary compatible (forward and backward).
2026-04-16 15:02:40 -07:00
Islon Scherer
03a641354e
Add nullability check to pkl-formatter ( #1526 )
2026-04-16 08:37:56 -07:00
Jen Basch
eeb0970dc4
Fix bug where reusing a pklbinary#Renderer could result in incorrect output ( #1525 )
2026-04-15 23:12:36 -07:00
Daniel Chao
a8500b6b03
Add dependency submission ( #1523 )
...
This adds jobs to add Gradle dependencies to [GitHub's dependency
submission
API](https://docs.github.com/en/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/using-the-dependency-submission-api ),
and to review when these dependencies change.
2026-04-15 22:21:17 -07:00
odenix and Daniel Chao
4faf35a66a
Gradle: Replace legacy buildSrc mechanism with included build ( #1524 )
...
Motivation:
buildSrc is a special-case legacy mechanism.
Gradle recommends using an included build named build-logic instead:
https://docs.gradle.org/current/userguide/best_practices_structuring_builds.html#favor_composite_builds
Changes:
- Rename buildSrc/ to build-logic/
- triggers reformatting
- Replace occurrences of "buildSrc" with "build-logic"
- Include the build-logic build in the main build (via
settings.gradle.kts)
- Apply convention plugins via plugin IDs instead of type-safe accessors
- small tradeoff compared to buildSrc
Result:
- Faster and more isolated builds
- Build logic behaves like a normal build, making it easier to evolve
and reason about
---------
Co-authored-by: Daniel Chao <dan.chao@apple.com >
2026-04-15 21:37:10 -07:00
odenix and Daniel Chao
04a9cc90d2
Improve build logic for Kotlin ( #1520 )
...
- Enforce Kotlin version via resolution rule (replaces BOM)
- fail if kotlin-stdlib/kotlin-reflect exceed target version
- Replace kotlin-stdlib-jdk8 with kotlin-stdlib (jdk7/8 are now shims)
- Port pkl-core annotation processor to Java (with Codex)
- removes kotlin-stdlib from its compile classpath for better dependency
hygiene (Java module)
- Downgrade clikt for Kotlin 2.2 compatibility
- Upgrade kotlinx-serialization
---------
Co-authored-by: Daniel Chao <dan.chao@apple.com >
2026-04-15 09:02:42 -07:00
Islon Scherer
2e0b4a3a97
Fix gradle build issue during spotlessCheck ( #1521 )
2026-04-15 16:06:14 +02:00
odenix
1ba54f11a9
pkl-parser: Migrate nullness to JSpecify ( #1515 )
2026-04-14 12:17:17 -07:00
odenix
2d4286ee7b
Upgrade JVM toolchain to 25 and Kotlin toolchain to 2.3.20 ( #1516 )
...
Motivation
- Enable correct NullAway analysis
- Pick up toolchain fixes and improvements
Toolchains
- Require JDK 25 for JVM toolchain (keep Java 17 runtime compatibility)
- Require Kotlin 2.3.20 for Kotlin toolchain (keep Kotlin 2.2 runtime
compatibility)
- Require JDK 25 for Gradle daemon JVM (via
gradle-daemon-jvm.properties)
- Fix javac and kotlinc warnings from toolchain upgrades
CI
- Bump GitHub workflows to JDK 25
Building Kotlin
- Bump Kotlin language level to 2.2 to match stdlib version
- Consolidate build logic into pklKotlinBase.gradle.kts
- Adopt modern Kotlin plugin syntax
- Fix new kotlinc warnings
- Update ktfmt to 0.62
- first version compatible with Kotlin 2.3.20
- changes formatting compared to 0.61
- Replace dependency resolution rule with BOM alignment
- rule was too broad and interfered with toolchain/runtime separation
Testing
- Expand matrix to JDK 25 (LTS) and 26
- Ensure each matrix task can be run independently
- Fix KotlinCodeGeneratorsTest and EmbeddedExecutorsTest on affected
JDKs
- Disable one test in CliCommandTest on affected JDKs (failure cause
unknown)
Compatibility fixes
- Fix reflective access in DocGenerator on affected JDKs
Build fixes
- Fix misuse of `task.enabled` vs. `report.required`
- Fix `gradlew tasks` on Windows
- Downgrade Spotless to 8.3.0 to (hopefully) work around sporadic
NoClassDefFoundError
Result
- NullAway runs correctly
- Broader JDK test coverage
- More reproducible and potentially faster builds
2026-04-14 11:57:09 -07:00
Daniel Chao
20f403e751
Add spotless formatter step to revert copyright year only changes ( #1518 )
...
This avoids an issue where, during the course of development, a file is
touched, thus modifying the copyright year.
Then, undoing the previous change does not undo the copyright year
change.
2026-04-14 09:02:31 -07:00
Daniel Chao
7f173cc8e8
Fix stdlib lockfile ( #1519 )
...
Kotlin isn't a dependency of pkl-formatter anymore.
2026-04-14 08:38:30 -07:00
Islon Scherer
1d74e2a869
Move pkl-formatter to Java ( #1514 )
2026-04-14 16:29:42 +02:00
odenix
4620992743
pkl-parser: Represent "no children" as an empty list instead of null ( #1513 )
...
Motivation:
Facilitate the use of the NullAway checker as part of moving to
JSpecify.
Changes:
- represent "no children" as `List.of()` instead of null
- remove obsolete `children != null` assertions
- NullAway intentionally ignores such assertions
- remove "no children" special-casing where no longer necessary
Result:
- cleaner code with similar performance
- removed a barrier to using the NullAway checker
2026-04-09 08:05:34 -07:00
odenix
2cfd0a0d28
Update JLine to 4.x ( #1511 )
...
- Remove dependency org.fusesource.jansi:jansi
- In 4.x, org.fusesource.jansi:jansi was replaced with org.jline:jansi.
Instead of adding this new dependency, this commit replaces Pkl’s single
Jansi usage with custom code that preserves existing behavior. Fixing
existing ANSI quirks is left for a future PR.
- Replace jline-terminal-ansi with jline-terminal-jni
- In 4.x, only -jni and -ffm are available (-ffm requires Java 22+)
- Configure native-image build for jline-terminal-jni
As updating JLine is delicate, I manually tested `pkl repl` and `jpkl
repl` on Windows 11 (using Windows Terminal) and on Ubuntu, and found no
issues. However, I do not have access to a macOS machine.
2026-04-08 16:25:39 -07:00
odenix
fdeb568343
Clean up Kotlin code in buildSrc/ ( #1512 )
...
- fix most IntelliJ warnings (regex refactoring was done by IDE)
- replace hardcoded JVM target versions with BuildInfo.jvmTarget
2026-04-08 16:09:37 -07:00
Daniel Chao
ff6f7223d3
Remove intellij plugin ( #1510 )
...
This plugin is being moved to pkl-project-commons.
Closes #1491
See https://github.com/apple/pkl-project-commons/pull/75
2026-04-08 13:46:23 -07:00
Daniel Chao
aca5a32f8e
Bump license year ( #1504 )
2026-04-08 08:13:58 -07:00
odenix
24e69fd1e2
Improve Parser implementation ( #1508 )
...
- Make leaf AST classes final
- Make protected Lexer fields private and add getter
- Split Parser into Parser and ParserImpl
- Using a fresh ParserImpl instance per parse simplifies reasoning
(important) and makes the Parser API thread-safe (nice to have)
- Split GenericParser into GenericParser and GenericParserImpl
- Same motivation as for Parser
Some of these changes will facilitate the move to JSpecify, which has
proven challenging for this package.
2026-04-08 08:13:39 -07:00
odenix
e793f4bd04
Update ktfmt to 0.61 ( #1509 )
2026-04-07 14:49:01 -07:00
odenix
09435af54f
Improve Formatter API ( #1505 )
...
- pass `GrammarVersion` to constructor instead of passing it to each
`format` method
- replace `format(Path): String` with `format(Reader, Appendable)`
- instead of picking which overloads besides `format(String): String`
might be useful, offer a single generalized method that streams input
and output
- add `@Throws(IOException::class)` to ensure that Java callers can
catch this exception
- deprecate old methods
2026-04-07 14:16:12 -07:00
odenix
99cbd07518
Update GraalVM to 25.0.1 ( #1506 )
...
The latest version (25.0.2) no longer supports macos-x64.
2026-04-07 13:21:19 -07:00
Daniel Chao
8b892f9409
Bump Gradle to 9.4.1 ( #1502 )
2026-04-07 08:32:43 -07:00
odenix
7dedddcdb1
Update Gradle plugins ( #1503 )
2026-04-07 06:48:31 -07:00
odenix
623912eca0
Update msgpack to 0.9.11 and slf4j to 2.x ( #1501 )
2026-04-06 22:00:07 -07:00
odenix
dcd60b8194
Update nu-validator from 20.x to 26.x ( #1499 )
...
Also fix incorrect heading level in two Pkldoc tests, as this issue is
now flagged by nu-validator.
2026-04-06 19:25:00 -07:00
odenix
1251843169
Update Kotlin dependencies ( #1498 )
2026-04-06 12:06:43 -07:00
Daniel Chao
9868c11e5a
Disable flaky test ( #1497 )
...
Disabling for now due to #1493
2026-04-06 11:39:00 -07:00
odenix
0835c6da82
Update JUnit to 6.x ( #1496 )
2026-04-06 11:15:55 -07:00
odenix
a8c66938e6
Update dependencies ( #1492 )
...
Update dependencies by running `./gradlew updateDependencyLocks`. Most
of the updated dependencies are test dependencies.
2026-04-06 08:22:06 -07:00
Luke Daley
8e7eb2bd96
Fix data race in MessagePack encoder for concurrent server sends ( #1486 )
2026-04-04 14:26:16 -07:00
odenix
58033598c7
Fix Javadoc and kotlinc warnings ( #1490 )
2026-04-03 14:32:34 -07:00
Islon Scherer
bc503d4d60
Make the build work on jdk 25 ( #1483 )
...
The old version of googleJavaFormat we were using called some deprecated
function.
2026-03-31 09:38:36 +02:00
Jen Basch and Islon Scherer
82afa8b90b
Port 0.31.1 changelog to main ( #1476 )
...
Co-authored-by: Islon Scherer <i_desouzascherer@apple.com >
2026-03-26 09:41:01 -07:00
Islon Scherer
dc5504749a
Disable gradle cache for release builds ( #1474 )
2026-03-26 16:54:10 +01:00
Jen Basch
a9c890e2f9
Do not activate power assertions when a single union member containing a type constraint fails ( #1462 )
...
Prior to this change, this code would activate powers assertions /
instrumentation permanently:
```pkl
foo: String(contains("a")) | String(contains("b")) = "boo"
```
This is because the `contains("a")` constraint would fail, triggering
power assertions, but the subsequent check of the union's
`contains("b")` branch would succeed.
As observed in #1419 , once instrumentation is enabled, all subsequent
evaluation slows significantly.
As with #1419 , the fix here is to disable power assertions via
`VmLocalContext` until we know that all union members failed type
checking; then, each member is re-executed with power assertions allowed
to provide the improved user-facing error.
2026-03-25 11:52:37 -07:00
Jen Basch
f23c37a993
Prevent --multiple-file-output-path writes from following symlinks outside the target directory ( #1467 )
2026-03-25 11:50:20 -07:00
Jen Basch
cdc6fa8aec
Prevent I/O when checking UNC paths against --root-dir ( #1466 )
...
Test on [windows] please
2026-03-25 11:40:51 -07:00
Jen Basch
1104f12362
Allow custom/external resources to be "not found" ( #1471 )
...
This allows custom/external resources to produce `null` values for
nullable reads (`read?`)
Ref: https://github.com/apple/pkl-go/issues/157
2026-03-24 12:43:44 -07:00
Jen Basch
cce84d7ccc
Correct SecurityManager check for HTTP(S) module URIs ( #1463 )
2026-03-23 07:43:07 -07:00
Jen Basch
a6db476c70
Fix module reflection when instrumentation is active ( #1464 )
2026-03-23 07:42:40 -07:00
splint-disk-8i
3f3271d3b1
Update deprecated OpenJDK links in DEVELOPMENT.adoc ( #1468 )
...
Fixes broken links and grammar in DEVELOPMENT.adoc:
- Mailing list URL: openjdk.java.net → openjdk.org (old domain returns
301)
- Truffle FAQ link: old OpenJDK wiki is gone (404) — replaced with
current GraalVM Truffle docs
- Grammar: "enables to run" → "enables you to run"
- Grammar: "jenv use specific" → "jenv uses specific"
2026-03-16 10:27:12 -07:00
dependabot[bot]
46da9cb33a
Bump actions/create-github-app-token from 2.2.1 to 2.2.2 ( #1469 )
2026-03-16 09:55:09 -07:00
Jen Basch
3eda3b197e
Bump pkl.impl.ghactions to version 1.5.0 ( #1460 )
2026-03-03 17:59:39 -08:00
Jen Basch
0e685591eb
Respect --omit-project-settings for all evaluator options ( #1459 )
2026-03-03 16:23:42 -08:00
dependabot[bot]
51bb1a5c7e
Bump gradle/actions from 5.0.1 to 5.0.2 ( #1456 )
2026-03-02 09:00:50 -08:00
layla
7c5a80a584
Fix typo: recieve to receive ( #1455 )
2026-03-01 13:43:29 -08:00
Kushal Pisavadia
f9b880be85
Fix command typealias unwrapping in resolveType ( #1449 )
...
The loop unwraps nullables and constraints but breaks straight away
after a `typealias`. This means the nullable is missed. Removing the
`break` fixes it.
## Exception
```
org.pkl.core.PklException: –– Pkl Error ––
Command option property `foo` has unsupported type `String?`.
11 | foo: OptionalString
^^^^^^^^^^^^^^^^^^^
at <unknown> (file:///var/folders/xh/lmp1n6qj4m13t53cfmbqnkwh0000gn/T/junit-1378070630576324311/cmd.pkl)
Use a supported type or define a transformEach and/or transformAll function
```
2026-02-27 13:33:00 -08:00
Jen Basch
7119526245
Fix typo in 0.31 release notes ( #1450 )
2026-02-27 13:18:10 -08:00
Kushal Pisavadia
64ea7951db
Fix stream double-consumption in CommandSpecParser ( #1448 )
...
The `choices` stream was consumed eagerly for metavar construction, then
captured in a lambda for later validation—which promptly fell over with
`IllegalStateException`. Materialise to a `List` straightaway.
2026-02-27 10:04:32 +00:00
Islon Scherer
cac3e483b5
Start next dev iteration
2026-02-26 09:51:27 -08:00
Islon Scherer
4d35f18309
Prepare 0.31.0 release
2026-02-26 09:51:27 -08:00
Jen Basch
4cf2a1b42c
Allow command options to have nullable types and default values ( #1444 )
2026-02-26 08:34:46 -08:00
Jen Basch
3ef065b6b6
Correct --root-dir check to also work for jar:file: URIs ( #1442 )
2026-02-25 10:57:01 -08:00
Jen Basch
be21c34938
Allow command transformAll functions to perform imports ( #1440 )
2026-02-25 08:03:53 -08:00
Jen Basch
2e4d73b957
Fix regression in CLI error handling when project loading fails ( #1439 )
2026-02-25 01:28:05 -08:00
Jen Basch
28b09134d7
Add release notes for 0.31 ( #1438 )
2026-02-24 08:56:16 -08:00
Jen Basch
4611d181a8
Remove broken Collection.transpose method ( #1437 )
2026-02-24 08:09:52 -08:00
Jen Basch
12915f520f
Fix command error and import handling ( #1436 )
2026-02-24 08:09:25 -08:00
Jen Basch
2ec0baad53
Allow referring to remote project dependencies on the CLI with @-notation ( #1434 )
2026-02-23 08:52:56 -08:00
dependabot[bot]
77395a86f4
Bump EnricoMi/publish-unit-test-result-action from 2.22.0 to 2.23.0 ( #1435 )
2026-02-23 08:51:04 -08:00
Jen Basch
a5dc91f0a5
Command flag behavior improvements ( #1432 )
...
* Forbid overlap of built-in and command-defined flag names
* Allow interleaving built-in and command-defined flags on the command
line
* List abbreviated flag names first, matching the behavior of built-in
flags
2026-02-20 12:00:18 -08:00
Jen Basch
08712e8b26
Fix display of evaluation errors thrown by command convert/transformAll ( #1431 )
2026-02-20 07:51:33 -08:00
Jen Basch
e07868b404
Handle lexer errors in pkl format ( #1430 )
...
Resolves #1421
2026-02-19 10:00:00 -08:00
Jen Basch
72a57af164
SPICE-0025: pkl run CLI framework ( #1367 )
2026-02-12 07:53:02 -08:00
Jen Basch
63a20dd453
Improve org.pkl.formatter.Formatter JVM API ( #1428 )
...
Makes for less fussing around to consume this API from the Gradle side
2026-02-11 09:22:42 -08:00
Islon Scherer
60f628eb36
Fix possible race condition during module and resource reading ( #1426 )
2026-02-11 11:18:11 +01:00
Jen Basch
817e433a7f
Document annotations and annotation converters ( #1427 )
2026-02-09 10:19:47 -08:00
Islon Scherer
08d8c8ec7a
Improve import formatting ( #1424 )
2026-02-06 17:57:50 +01:00
Jen Basch
effa4844e6
Bump pkl.impl.ghactions to version 1.3.5 ( #1422 )
2026-02-06 08:43:45 -08:00
Islon Scherer
f0449c8330
Add flag to turn power assertions on/off ( #1419 )
2026-02-03 09:35:16 +01:00
dependabot[bot]
7b7b51c0ae
Bump gradle/actions from 5.0.0 to 5.0.1 ( #1420 )
...
Bumps [gradle/actions](https://github.com/gradle/actions ) from 5.0.0 to
5.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gradle/actions/releases ">gradle/actions's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump <code>npm</code> code dependency versions</li>
<li>Bump Gradle versions used in sample builds</li>
<li>Bump dependencies versions in Gradle sample builds</li>
<li>Bump GitHub actions used for build and test</li>
<li>Update known wrapper checksums to include Gradle 9.2+</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/gradle/actions/compare/v5.0.0...v5.0.1 ">https://github.com/gradle/actions/compare/v5.0.0...v5.0.1 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/gradle/actions/commit/f29f5a9d7b09a7c6b29859002d29d24e1674c884 "><code>f29f5a9</code></a>
Attempt to fix flaky caching tests (<a
href="https://redirect.github.com/gradle/actions/issues/836 ">#836</a>)</li>
<li><a
href="https://github.com/gradle/actions/commit/8c7f3ffba4042e38a9b017ec1433452e674e4403 "><code>8c7f3ff</code></a>
Bump to v1.4.1 of the dependency-submission plugin</li>
<li><a
href="https://github.com/gradle/actions/commit/85e9805d21cf3b1d1c54c470ae15083df20e00ed "><code>85e9805</code></a>
[bot] Update dist directory</li>
<li><a
href="https://github.com/gradle/actions/commit/acb81f1e15dbc4ea06da2aa52ac9a056747ba8cf "><code>acb81f1</code></a>
Bump the npm-dependencies group across 1 directory with 8 updates (<a
href="https://redirect.github.com/gradle/actions/issues/821 ">#821</a>)</li>
<li><a
href="https://github.com/gradle/actions/commit/00660c8721edeac5845b81ab1a2d47af4de1e150 "><code>00660c8</code></a>
Bump github/codeql-action from 4.31.10 to 4.32.0 in the github-actions
group ...</li>
<li><a
href="https://github.com/gradle/actions/commit/d498ad3b5f3030c0feb2913ae7059605e5d4de40 "><code>d498ad3</code></a>
[bot] Update dist directory</li>
<li><a
href="https://github.com/gradle/actions/commit/de83f3396312260c9a3dfc1d77ee4b6f2361eb9a "><code>de83f33</code></a>
Update Gradle version and Gradle dependencies (<a
href="https://redirect.github.com/gradle/actions/issues/834 ">#834</a>)</li>
<li><a
href="https://github.com/gradle/actions/commit/baabf402fa7896574cf6caf18668d5509e3ce8ef "><code>baabf40</code></a>
Bump the github-actions group across 2 directories with 5 updates</li>
<li><a
href="https://github.com/gradle/actions/commit/69353a9e141a8a7865bcbf48a099ad644e9adf2f "><code>69353a9</code></a>
Bump the gradle group across 1 directory with 4 updates</li>
<li><a
href="https://github.com/gradle/actions/commit/221c7f4dbd2468936638e2ba4fe1d987ce3bbe0d "><code>221c7f4</code></a>
Update known wrapper checksums</li>
<li>Additional commits viewable in <a
href="https://github.com/gradle/actions/compare/4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2...f29f5a9d7b09a7c6b29859002d29d24e1674c884 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 09:39:13 -08:00
dependabot[bot]
a2bfbd72a7
Bump actions/checkout from 6.0.1 to 6.0.2 ( #1417 )
2026-01-26 09:04:22 -08:00
dependabot[bot]
11b65e4d7a
Bump actions/setup-java from 5.1.0 to 5.2.0 ( #1416 )
2026-01-26 08:55:53 -08:00
Jen Basch
73264e8fd1
SPICE-0024: Annotation converters ( #1333 )
...
This enables defining declarative key and/or value transformations in
cases where neither `Class`- nor path-based converters can be applied
gracefully. It is also the only way to express transforming the
resulting property names in `Typed` objects without applying a converter
to the entire containing type, which is cumbersome at best.
SPICE: https://github.com/apple/pkl-evolution/pull/26
2026-01-23 12:44:41 -08:00
Daniel Chao
ed0cad668f
Fix Function.toString ( #1411 )
...
Fixes an issue where the underlying default Java toString() is leaking
through
2026-01-21 07:29:58 -08:00
Daniel Chao and Islon Scherer
03a7676e64
Implement power assertions ( #1384 )
...
This adds power assertions to Pkl!
This implements the SPICE described in
https://github.com/apple/pkl-evolution/pull/29
This follows the power assertions style of reporting also found in
Groovy, Kotlin, and others.
* Literal values are not emitted in the diagram
* Stdlib constructors of literals like `List(1, 2)` are also considered
literals
Power assertions are added to:
* Failing type constraints
* Failing test facts
Power assertions are implemented as a truffle instrument to observe
execution.
When an assertion fails, the instrument is created and the assertion is
run again to observe facts.
This incurs runtime overhead to collect facts, but has no impact on code
in the non-error case.
---------
Co-authored-by: Islon Scherer <islonscherer@gmail.com >
2026-01-20 21:41:33 -08:00
Daniel Chao
3cd294b62a
Add 'let' to list of control keywords ( #1409 )
...
Small improvement to syntax highlighting
2026-01-19 20:00:21 -08:00
Jen Basch
f6cfc82201
Bump pkl.impl.ghactions to version 1.3.3 ( #1408 )
...
Updates pkl.impl.ghactions package to version 1.3.3
2026-01-15 12:06:56 -08:00
Jen Basch
fd66438828
Bump pkl.impl.ghactions to version 1.3.2 ( #1403 )
...
Updates pkl.impl.ghactions package to version 1.3.2
2026-01-12 18:01:46 -08:00
Daniel Chao
b4bd292511
Handle IOException when creating PklProject.deps.json ( #1405 )
...
Fixes an issue that otherwise bubbles up as "An unexpected error has
occured".
2026-01-12 15:08:38 -08:00
Daniel Chao
f1c71bc9bb
Emit error stack trace on non Pkl exceptions ( #1402 )
...
If the thrown error is not a Pkl exception, some internal error
occurred, and we need to emit the stack trace for visibility.
2026-01-12 13:45:39 -08:00
Akshat Anand and Jen Basch
9d385f2194
Fix super method call inside let expression ( #1383 )
...
Fixes #1309
The issue was that super calls were blocked inside let expressions
because:
1. The compiler's isClassMemberScope() check didn't skip over lambda
scopes created by let expressions
2. The runtime's findSupermethod() didn't traverse past VmFunction
owners to find the actual class prototype
Changes:
- SymbolTable.java: Updated isClassMemberScope() to skip lambda scopes
before checking if the parent is a class or module scope
- InvokeSuperMethodNode.java: Updated findSupermethod() to skip
VmFunction owners when looking for the class prototype
Added regression tests covering:
- Super method calls inside let expressions
- Super property access inside let expressions
- Nested let expressions with super calls
---------
Co-authored-by: Jen Basch <jbasch@apple.com >
2026-01-09 19:59:20 -08:00
Jen Basch
3595c03078
Fix spotless ratcheting on release branches ( #1401 )
2026-01-09 14:18:18 -08:00
Jen Basch
9b6f72d5d0
Fix doc links from pkl:base to pkl:math ( #1400 )
2026-01-09 11:30:56 -08:00
Daniel Chao
ac4f2fd9a6
Add isNotEmpty, isNotBlank methods ( #1396 )
...
Adds convenience methods `isNotEmpty` and `isNotBlank`. This borrows the
same methods from Kotlin.
This helps users write more fluent constraints, for example,
`foo.isNotEmpty.implies(bar)`.
Adds:
* List#isNotEmpty
* Map#isNotEmpty
* Set#isNotEmpty
* Mapping#isNotEmpty
* Listing#isNotEmpty
* String#isNotEmpty
* String#isNotBlank
2026-01-08 13:22:43 -08:00
Daniel Chao
14d58a17b0
Address warning diagnostics ( #1395 )
...
This addressess various warning diagnostics throughout the codebase.
2026-01-07 22:11:24 -08:00
Daniel Chao
474305c7b9
Use gradle/actions/setup-gradle ( #1397 )
...
This adds the setup-gradle action; which has the following improvements:
* Improved cacheing (compared to setup-java's Gradle cache)
* Validates the gradle wrapper jar
2026-01-07 21:10:07 -08:00
Daniel Chao
6b9c670cfd
Add syntax highlighting of Pkl code ( #1385 )
...
This adds syntax highlighting of Pkl code!
It adds highlighting for:
* Stack frames within error messages
* CLI REPL (highlights as you type, highlights error output)
* Power assertions (coming in https://github.com/apple/pkl/pull/1384 )
This uses the lexer for highlighting. It will highlight strings,
numbers, keywords, but doesn't understand how to highlight nodes like
types, function params, etc.
The reason for this is because a single line of code by itself may not
be grammatically valid.
2026-01-06 10:33:11 -08:00
Daniel Chao
4f4f03dbca
Fix cacheing of module type ( #1393 )
...
This fixes an issue where the `module` type is incorrectly cached.
2026-01-05 14:49:07 -08:00
Eduardo Aguilar Moreno
6cd03c7f56
Add pkl bom module ( #1390 )
...
This adds a module that will publish a bom file that will help consumers
align versions for all pkl artifacts using the single bom.
2026-01-05 14:47:28 -08:00
Daniel Chao
8f83885c75
Fix default value for non-final module type ( #1392 )
...
This fixes an issue where the `module` type produces the wrong default
value.
Closes #1391
2026-01-05 11:39:24 -08:00
Stefan M.
0a4281366f
Do not throw if output dir is symlink ( #1389 )
2026-01-05 10:16:32 -08:00
dependabot[bot]
35861240a0
Bump EnricoMi/publish-unit-test-result-action from 2.21.0 to 2.22.0 ( #1382 )
...
Bumps
[EnricoMi/publish-unit-test-result-action](https://github.com/enricomi/publish-unit-test-result-action )
from 2.21.0 to 2.22.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/enricomi/publish-unit-test-result-action/releases ">EnricoMi/publish-unit-test-result-action's
releases</a>.</em></p>
<blockquote>
<h2>v2.22.0</h2>
<p>Adds the following improvements:</p>
<ul>
<li>Upgrade all Python dependencies to latest version <a
href="https://redirect.github.com/enricomi/publish-unit-test-result-action/issues/710 ">#710</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/EnricoMi/publish-unit-test-result-action/compare/v2.21.0...v2.22.0 ">https://github.com/EnricoMi/publish-unit-test-result-action/compare/v2.21.0...v2.22.0 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/EnricoMi/publish-unit-test-result-action/commit/27d65e188ec43221b20d26de30f4892fad91df2f "><code>27d65e1</code></a>
Releasing v2.22.0</li>
<li><a
href="https://github.com/EnricoMi/publish-unit-test-result-action/commit/2deae407d71f83660c8129d55379ef777127b1bf "><code>2deae40</code></a>
Upgrade transient dependencies (<a
href="https://redirect.github.com/enricomi/publish-unit-test-result-action/issues/710 ">#710</a>)</li>
<li><a
href="https://github.com/EnricoMi/publish-unit-test-result-action/commit/a6d8f3d6cae9c3d19a7a97f61e44d5754b97d803 "><code>a6d8f3d</code></a>
Add Ubuntu slim runner (<a
href="https://redirect.github.com/enricomi/publish-unit-test-result-action/issues/709 ">#709</a>)</li>
<li><a
href="https://github.com/EnricoMi/publish-unit-test-result-action/commit/d3ed9acf9b75c81bd3ed28fac2ef38e7631afd0b "><code>d3ed9ac</code></a>
CI: Merge check upgrades jobs into single job (<a
href="https://redirect.github.com/enricomi/publish-unit-test-result-action/issues/700 ">#700</a>)</li>
<li>See full diff in <a
href="https://github.com/enricomi/publish-unit-test-result-action/compare/34d7c956a59aed1bfebf31df77b8de55db9bbaaf...27d65e188ec43221b20d26de30f4892fad91df2f ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-22 09:34:57 -08:00
Daniel Chao
3f4e894e43
Import release notes from 0.30.2 ( #1375 )
2025-12-15 13:14:18 -08:00
Daniel Chao
dcf3f24e3b
Sort list of repos alphabetically ( #1376 )
2025-12-15 12:48:26 -08:00
Daniel Chao and Jen Basch
6614cf11fb
Add highlight.js and pkl-readers repo entries to README ( #1371 )
...
Co-authored-by: Jen Basch <jbasch94@gmail.com >
2025-12-15 11:28:30 -08:00
Daniel Chao
b92c773555
Bump pkl.impl.ghactions ( #1366 )
2025-12-12 11:30:47 -08:00
Daniel Chao
f528927797
Fix building of pkl-doc ( #1365 )
...
Ensure that `assembleNative` is called before testing the native
executable
2025-12-12 09:36:38 -08:00
Islon Scherer
41cf485ffb
Fix bug in parsing of super expression ( #1364 )
2025-12-12 18:02:48 +01:00
Daniel Chao
cd9cfaae8f
Bump pkl.impl.ghactions, update lockfile to not run ( #1362 )
2025-12-10 21:39:18 -08:00
Daniel Chao
2578703081
Bump versions, fix dependabot updates ( #1361 )
2025-12-10 18:03:32 -08:00
Daniel Chao
b170968e9e
Bump pkl.impl.ghactions to 1.1.0, add version locking. ( #1359 )
...
This adopts the version locking introduced in pkl.impl.ghactions@1.1.0.
2025-12-10 16:35:15 -08:00
Daniel Chao and Jen Basch
32e9087da9
Fix formatting of nodes with no children ( #1351 )
...
For example, this fixes an issue where an empty module turns into ` \n`.
Closes https://github.com/apple/pkl/issues/1348
---------
Co-authored-by: Jen Basch <jbasch94@gmail.com >
2025-12-09 11:03:50 -08:00
Daniel Chao
9d41518553
Bump pkl.impl.ghactions to 1.0.1 ( #1358 )
2025-12-09 10:53:04 -08:00
Daniel Chao
b7ccc67bd8
Adjust CI to not publish test results for deploy-snapshot ( #1357 )
2025-12-08 09:56:57 -08:00
Daniel Chao
252f44728e
Adjust native lifecycle builds to not throw during configuration phase ( #1356 )
...
Allow Gradle to run other tasks on unsupported machines, but throw when
running native lifecycle tasks (e.g. `buildNative`).
2025-12-07 11:35:14 -08:00
Jen Basch
139f70bb79
Change pkl format --write to exit 0 when formatting violations are found ( #1340 )
2025-12-05 16:01:09 -08:00
Daniel Chao
2de1d5b9d2
Build linux executables that link to glibc 2.17 ( #1352 )
...
Fixes an unintentional breakage in 0.30.1 that bumped the required glibc to 2.34.
2025-12-05 15:24:27 -08:00
Jen Basch
81a4e687b4
Fix IDEA gradle project sync on Windows Aarch64 ( #1353 )
2025-12-05 14:53:06 -08:00
Daniel Chao
e1559c66ad
Fix CI build for pkldoc ( #1349 )
...
Fixes an issue where the executable is not built.
Haven't dug into why this broke; this was working just a little bit ago
(see
https://github.com/apple/pkl/actions/runs/19911073549/job/57079605641?pr=1342 ).
Nevertheless, the lifecycle job dependencies were a little wonky (test
should assemble first).
[native-pkl-doc]
2025-12-05 09:54:57 -08:00
Daniel Chao
c2d672e943
Omit superfluous newline when writing formatted content to stdout ( #1350 )
...
Fixes an issue where an extra newline is added when writing formatted
code to stdout.
Closes https://github.com/apple/pkl/issues/1346
2025-12-05 09:54:31 -08:00
Jen Basch
1d94ab5c3c
Prepare 0.30.1 release ( #1345 )
2025-12-03 21:13:36 -08:00
Jen Basch
c73fc87583
Fix release publishing ( #1343 )
2025-12-03 15:13:31 -08:00
Daniel Chao
bcbe1b8995
Fix testing of pkldoc executables ( #1342 )
...
These tests are actually not running right now.
2025-12-03 15:12:08 -08:00
Daniel Chao
c5b98d6510
CI job polish ( #1341 )
...
Avoids issues where setup-java post-task cacheing will hang with "device
or resource busy".
2025-12-03 15:11:33 -08:00
Jen Basch
db6ff394d7
Fix fetch depth for gradle-compatibility and java-executables-* CI jobs ( #1339 )
2025-12-03 10:34:03 -08:00
Daniel Chao
53f3be64f3
Fix parsing of URLs with plus signs ( #1335 )
...
This fixes an issue where URLs with schemes that contain `+`, `-`, and
`.` would not be parsed correctly.
For example, `foo+bar:///?baz.pkl` would turn into
`foo+bar:///%3Fbaz.pkl`. The query param is lost, and turned into the
path.
2025-12-03 10:11:23 -08:00
Jen Basch
d1c652f736
Vendor paguro's RrbTree, fix an int overflow breaking large Lists ( #1337 )
2025-12-03 09:02:17 -08:00
Islon Scherer
6c3683c55e
Fix snapshot publishing ( #1330 )
2025-11-26 09:17:14 +01:00
Spencer Phillip Young
cc02b6b685
Fix newline checks in parser ( #1328 )
2025-11-24 14:40:54 +01:00
Jen Basch
f4938dccca
Add support for evaluating module output and expressions to ConfigEvaluator ( #1297 )
2025-11-19 15:47:12 -08:00
Jen Basch
67f1ff5ab8
Update CLI docs to clarify that --version only applies to the root command ( #1326 )
2025-11-18 21:08:03 -08:00
Spencer Phillip Young
ba281e8475
Fix empty parenthesized type unexpected error ( #1323 )
2025-11-18 15:35:44 +01:00
Daniel Chao
bc5d675b6e
Fix macos/amd64 image builds ( #1322 )
2025-11-17 12:16:28 -08:00
Daniel Chao
a2cc70ae37
Fix deploy jobs ( #1319 )
...
Specify `merge-multiple` to prevent new directories from being created
when downloading artifacts.
2025-11-15 16:30:51 -08:00
Daniel Chao
0ff99d31c9
Replace broken references to CircleCI ( #1318 )
2025-11-14 15:44:59 -08:00
Daniel Chao
ef9b53be98
Fix release builds ( #1317 )
...
In order to preserve the folder hierarchy in our uploaded artifact,
we need to insert a wildcard in the root path.
Also, fix fan-in of tasks that lead to the publish test result task.
2025-11-14 15:18:30 -08:00
Daniel Chao
0ff9125062
Fix build java executable ( #1316 )
2025-11-13 17:46:35 -08:00
Daniel Chao
f948ba2a20
Switch to GitHub Actions ( #1315 )
...
This switches our builds over to GitHub Actions!
TODO:
* Add macOS/amd64 native-image builds; this isn't working right now
* Patch musl with security patches
* Add benchmark jobs over time
As part of this build, PRBs will now only run `./gradlew check` on Linux,
but other jobs can be run using slash commands, e.g. `[windows]`
to run `./gradle check` on Windows.
2025-11-13 16:03:05 -08:00
Islon Scherer
ecf2d8ba33
Fix Map formatting ( #1312 )
2025-11-11 09:37:09 +01:00
Daniel Chao
445d94ccff
Improve plugin logic ( #1296 )
2025-11-04 07:33:54 -08:00
Daniel Chao
9e1303ed57
Disable spotless ratcheting of Pkl sources ( #1295 )
...
This causes spotless to _always_ format Pkl files, instead of only
formatting them if there's a diff between the file and what's in main.
This means that formatting changes in pkl-formatter will be propagated
to the standard library.
2025-11-04 05:31:49 -08:00
Dan Chao
4c13952b64
Apply spotless formatting
2025-11-03 12:26:58 -08:00
Dan Chao
4d70baba86
Start next dev iteration
2025-11-03 12:26:58 -08:00
Dan Chao
7f231cd916
Prepare 0.30.0 release
2025-11-03 12:26:58 -08:00
Jen Basch
5c944600fa
Use 2xlarge resource class for gradle check in CI ( #1291 )
2025-11-03 10:31:16 -08:00
Islon Scherer
5030061412
Fix ordering issue in formatter ( #1289 )
2025-11-03 18:52:38 +01:00
Daniel Chao
219e766003
Make format command write relative paths ( #1290 )
2025-11-03 09:52:29 -08:00
Daniel Chao
d29ae07e14
Fix formatting of argument lists ( #1283 )
...
This fixes several issues:
1. Leading/trailing line comments surrounding a lambda should make that
lambda not "trailing", because the formatting otherwise looks bad and
also isn't stable
2. Fix incorrect algorithm for detecting trailing lambda (currently,
any number of lambdas makes the alg return `true`)
2025-11-03 09:15:58 -08:00
Islon Scherer
4226c21a42
Fix multiline string stability ( #1287 )
2025-11-03 17:41:43 +01:00
Daniel Chao
40c88930c5
Normalize paths in pkl format ( #1286 )
2025-11-03 08:24:04 -08:00
Daniel Chao
d5beb3f331
Fix flag name ( #1285 )
2025-11-03 08:23:35 -08:00
Daniel Chao
d8adb28dd1
Respect line breaks in operator chains and argument lists ( #1268 )
...
If an operator chain or method call is multiline, keep those newlines
in the formatted output.
Help preserve code like:
```
foo
|> (it) -> it + 2
|> (it) -> it / 2
```
2025-11-02 21:51:37 -08:00
Daniel Chao
85529c9b7e
Add debug and run button for snippet tests ( #1281 )
2025-10-31 12:28:03 -07:00
Islon Scherer
50541d9cda
Make formatter stable ( #1273 )
2025-10-31 18:58:22 +01:00
Daniel Chao and Islon Scherer
ea778a7e7a
Don't force multiline interpolation into a single line ( #1280 )
...
Also, fixes an issue where forced single-line formatting would break for if/else
and let expressions
---------
Co-authored-by: Islon Scherer <islonscherer@gmail.com >
2025-10-31 10:47:53 -07:00
Jen Basch
ffc9167bf5
Switch yaml.Parser to parse binary scalars as Bytes ( #1277 )
2025-10-30 16:45:59 -07:00
Daniel Chao
ede48d0fff
Fix pkl spotless ( #1279 )
2025-10-30 16:17:08 -07:00
Jen Basch
eab71229e7
Add support for rendering Bytes values with YamlRenderer ( #1276 )
2025-10-30 15:53:43 -07:00
Daniel Chao
10eccb100c
Fix Pkl spotless formatting ( #1278 )
2025-10-30 15:36:30 -07:00
Jen Basch
2c18f13d08
Rename Config.from to Config.fromPklBinary ( #1275 )
2025-10-30 11:04:03 -07:00
Jen Basch and Dan Chao
9427387019
Add release notes for 0.30 ( #1261 )
...
Co-authored-by: Dan Chao <dan.chao@apple.com >
2025-10-30 10:09:35 -07:00
Islon Scherer
db800d4521
Fix trailing lambda ending wrap ( #1274 )
2025-10-30 17:06:09 +01:00
Jen Basch
08c414f3ac
Normalize mutli-line string indentation ( #1271 )
2025-10-30 08:30:30 -07:00
Islon Scherer
9469dd885d
Handle trailing commas in types ( #1272 )
2025-10-30 13:36:56 +01:00
Islon Scherer
7df447924e
Coalesce pkl format subcommands into the parent command. ( #1263 )
2025-10-30 10:08:25 +01:00
Jen Basch
7bf150055c
Assert that formatter snippet test output is stable ( #1270 )
2025-10-29 17:08:43 -07:00
Jen Basch
1d6261b263
Correctly handle trailing commas in function type literals in the generic parser ( #1267 )
2025-10-29 15:08:26 -07:00
Islon Scherer
72874ec34a
Get style guide in line with formatter ( #1265 )
2025-10-29 16:00:05 +01:00
Islon Scherer
28c20a8652
Don't break lines in module name ( #1266 )
2025-10-29 15:24:08 +01:00
Daniel Chao
bbeeffdd32
Adjust formatting of line comments in lets ( #1256 )
2025-10-28 17:53:06 -07:00
Daniel Chao
825fcf5d1d
Respect newlines in if/else and let expressions ( #1259 )
...
Change the formatter to prevent multiline if/else and let expressions
from collapsing into a single line.
2025-10-28 11:26:31 -07:00
Daniel Chao
fbcf83aa76
Adjust formatting of argument lists ( #1260 )
...
This changes code so that multiple lambda arguments makes the whole
argument list wrap.
Improves the readability of code like:
```
foo
.toMap(
(it) -> makeSomeKey(it),
(it) -> makeSomeValue(it)
)
```
2025-10-28 10:46:19 -07:00
Islon Scherer
be0142d46b
Add grammar compatibility option to the formatter ( #1249 )
2025-10-28 13:29:08 +01:00
Daniel Chao
ef4989aa35
Wrap comments in base.pkl to 100 chars ( #1258 )
...
Also, strip line numbers from reflectedDeclaration.pcf
2025-10-27 16:00:48 -07:00
Daniel Chao
1a25e044ac
Polish documentation for pkl-binary ( #1250 )
2025-10-26 21:23:57 -07:00
Spencer Phillip Young and Dan Chao
fdb2bd8c75
Fix Lexer EOF sentinel collision with valid Unicode code points ( #1251 )
...
Fixes an issue where sentinel value (U+7FFF) occurring literally in the source could cause a premature termination of parsing, leading to potential EOF injection attacks.
---------
Co-authored-by: Dan Chao <dan.chao@apple.com >
2025-10-26 15:53:48 -07:00
Daniel Chao
a8f76d6209
Adjust formatting of qualified access chains ( #1252 )
...
This adjusts formatting of qualified access chains so that leading
dot calls are kept in the same line if possible.
2025-10-24 16:48:21 -07:00
Daniel Chao
c7680aea1f
Enforce Pkl formatting of stdlib with spotless ( #1253 )
...
This adds a spotless formatting step using the new pkl formatter.
This only formats Pkl sources in the stdlib, because other sources
are possibly test input and not meant to be formatted.
2025-10-24 10:15:14 -07:00
Daniel Chao
3223083324
Format interpolated expressions as single line ( #1247 )
...
This forces iterpolated expressions to be single-line, so that newline
literals within the bounds of two string delimiters can be seen as
verbatime newlines in the resulting string.
Edge case: in the case of a line comment, it's not possible to keep
this as a single line expression.
These are kept as multi-line expressions.
Also:
* Remove `ForceWrap`, this node is not used.
* Rename `StringConstant` -> `StringChars`
2025-10-24 03:23:41 -07:00
Daniel Chao
cce49a40fa
Add internal intellij plugin ( #1248 )
...
This introduces an IntelliJ plugin that's meant to assist with development of the Pkl codebase itself.
The plugin adds a file editor that opens snippet tests in a split editor pane, showing the input on the left side and output on the right side.
2025-10-21 03:42:21 -07:00
Islon Scherer
f6d3fb1228
Fix let formatting ( #1246 )
2025-10-21 09:45:27 +02:00
Jen Basch
6c036bf82a
Implement Pkl binary renderer and parser ( #1203 )
...
Implements a binary renderer for Pkl values, which is a lossless capturing of Pkl data.
This follows the pkl binary format that is already used with `pkl server` calls, and is
made available as a Java API and also an in-language API.
Also, introduces a binary parser into the corresponding `PObject` types in Java.
2025-10-20 09:10:22 -07:00
Jen Basch
c602dbb84c
Fix macOS Intel native builds ( #1244 )
2025-10-16 19:20:14 -07:00
Jen Basch
bed008b3da
Update macOS release in CI ( #1243 )
2025-10-16 15:48:23 -07:00
Daniel Chao
80a4dc9617
Fix typos ( #1242 )
2025-10-16 14:18:49 -07:00
Daniel Chao
b8aad85943
Fix tracking of known usages/subtypes ( #1241 )
...
Fixes an issue where known subtype/usage information is not gathered.
Also: change class RuntimeData to not return pairs for better composability.
2025-10-16 12:48:35 -07:00
Daniel Chao
91fec70668
Fix publication of pkl-config-kotlin ( #1240 )
...
This fixes a regression where the pkl-config-kotlin library would not
publish after upgrading to Gradle 9.1
2025-10-16 00:44:08 -07:00
Daniel Chao
8c5bd3b7dd
Apply pkl formatter to codebase ( #1236 )
...
This applies the Pkl formatter to `stdlib/` and `.circleci/`
2025-10-09 15:16:38 -07:00
Daniel Chao
42dcad25c6
Fix error message when reading a resource/module past root dir ( #1234 )
2025-10-09 10:16:33 -07:00
Daniel Chao
3a29ea8998
Format lambda chains ( #1235 )
...
This changes the formatter to only force line on call chains
with multiple lambdas
With this change, this is kept as a single line:
```
foo.bar.map((it) -> it + 1)
```
2025-10-09 10:16:13 -07:00
Daniel Chao
98ab741c54
Bump Kotlin to 2.2.20, minimum Kotlin to 2.1 ( #1232 )
...
The current version of the kotlin-gradle plugin is not compatible with
Gradle 9.1, causing error `java.lang.NoSuchMethodError:
'org.gradle.api.Project org.gradle.api.artifacts.ProjectDependency.getDependencyProject()'`
Also, the Kotlin 2.0 language target is deprecated as of Kotlin 2.2.
2025-10-08 21:40:35 -07:00
Jen Basch
ffa3c14fb3
Pass trace mode from CLI/PklProject to the evaluator ( #1230 )
2025-10-08 10:49:55 -07:00
Jen Basch
e230fcf1a9
Follow up for trace pretty printing ( #1227 )
2025-10-08 09:36:42 -07:00
Daniel Chao
cf9d87373d
Bump Gradle to 9.1.0 ( #1228 )
...
* Bump Gradle to 9.1.0
* Bump foojay resolver to 1.0.0
* Fix build logic on windows
Also, remove support for kotlin gradle plugin less than 1.8.x, because:
* Class `org.gradle.api.plugins.Convention` is no longer available in the classpath in Gradle
* Continued support for legacy plugin would require heavy reflection, which is brittle and hard to verify
* Kotlin 1.7 is 3 years old and no longer updated
2025-10-08 08:54:43 -07:00
Daniel Chao
55eac2088b
Bump GraalVM to 25.0.0 ( #1226 )
...
* Migrate shadow plugin to org.gradleup to correctly bundle Truffle in
a fat jar
* Switch to GraalVM Community Edition
2025-10-07 21:23:15 -07:00
Steve Salevan
cecaf39aff
Adds traceMode evaluator setting to support trace() pretty printing ( #1100 )
2025-10-07 12:31:16 -07:00
Daniel Chao
d03a074f63
Bump dependencies ( #1225 )
...
* byte-buddy to 1.17.7
* commonmark to 0.26
And also test dependencies (junit, assertj)
2025-10-04 13:59:54 -07:00
Daniel Chao
c585a40601
Fix pkl-doc native test ( #1224 )
2025-10-03 17:15:14 -07:00
Daniel Chao
2e77d44877
Disable multi-jdk testing when running on Windows ARM ( #1223 )
...
Gradle does not support Java toolchains on Windows ARM right now.
To enable running the project in this os/arch, we must omit multi-jdk
test tasks.
2025-10-03 10:36:25 -07:00
Daniel Chao
5d90cf8f4e
Introduce pkl-doc model version 2 ( #1169 )
...
Currently, in order to update a pkl-doc documentation site,
almost the entire existing site is read in order to update metadata
like known versions, known subtypes, and more.
For example, adding a new version of a package requires that the
existing runtime data of all existing versions be updated.
Eventually, this causes the required storage size to balloon
exponentially to the number of versions.
This addresses these limitations by:
1. Updating the runtime data structure to move "known versions" metadata
to the package level (the same JSON file is used for all versions).
2. Eliminating known subtype and known usage information at a
cross-package level.
3. Generating the search index by consuming the previously generated
search index.
4. Generating the main page by consuming the search index.
Because this changes how runtime data is stored, an existing docsite
needs to be migrated.
This also introduces a new migration command, `pkl-doc --migrate`,
which transforms an older version of the website into a newer version.
2025-09-29 16:10:44 -07:00
Jen Basch
63f89fb679
Expose collected superclass properties/methods in pkl:reflect ( #1106 )
2025-09-19 12:23:57 -07:00
Simon Rüegg
d1171db3d5
Only format changed files ( #1217 )
2025-09-19 15:16:32 +02:00
Simon Rüegg
f327c8e086
Allow formatting multiple files/directories ( #1215 )
...
This makes it easier to work with tools which return a list of file to
format, e.g. to only handle files which have changed in a PR.
2025-09-19 15:13:22 +02:00
Islon Scherer
618c6243c5
Fix bug in format apply ( #1211 )
2025-09-19 11:28:40 +02:00
Islon Scherer
222741dccd
Fix broken test ( #1208 )
2025-09-17 13:53:15 -07:00
Islon Scherer
fdc501a35c
Implement canonical formatter ( #1107 )
...
CLI commands also added: `pkl format check` and `pkl format apply`.
2025-09-17 11:12:04 +02:00
Vladimir Matveev
6a06ab7caa
Fixed fallback certificates not working in certain classloader setups ( #1198 )
...
In the original implementation the `org/pkl/commons/cli/PklCARoots.pem` resource is resolved relatively to the classloader associated with the class returned by `javaClass`. However, since this is an extension method for `HttpClient.Builder`, it means calling `javaClass` on the builder instance, which is actually defined in the system classpath.
Because of this, if the Pkl class is loaded by a different classloader compared to the one which contains JDK classes, which is totally possible in certain scenarios (e.g. with Gradle), then this resource resolution will fail.
The solution is to resolve `javaClass` against `this@CliCommand`, to use the classloader which loaded the jar with the `CliCommand` class to find the CA resource.
2025-09-04 15:49:43 -07:00
Daniel Chao
a66ac0eb35
Refine documentation for class Any ( #1194 )
2025-09-02 08:19:39 -07:00
Jen Basch
bef0375285
Improve interrupt handling in pkl repl ( #1188 )
2025-08-29 13:39:49 -07:00
Jen Basch and Daniel Chao
44cc154501
Prepare 0.29.1 release ( #1192 )
...
Co-authored-by: Daniel Chao <dan.chao@apple.com >
2025-08-27 14:33:25 -07:00
Artem Yarmoliuk
af7057b75f
Fix shell completion for paths ( #1161 )
2025-08-26 10:46:54 -07:00
Jen Basch
a8806416b9
Correctly handle EOF after unmatched backtick ( #1187 )
2025-08-25 14:31:26 -07:00
Jen Basch
b32039a4f1
Add me as a maintainer ( #1185 )
2025-08-25 13:17:53 -07:00
Daniel Chao
a779316cc2
Update dependencies ( #1184 )
...
Bump test dependencies, and also commonmark
2025-08-21 21:32:56 -07:00
Daniel Chao
d9db939bdc
Fix missing resources in native pkldoc, and disable test mode ( #1175 )
...
This fixes two issues:
1. Test mode is enabled in pkldoc without the ability to turn it off
2. Native pkldoc is missing required resources
This also adds tests for both `jpkldoc` and `pkldoc`.
2025-08-21 06:44:13 -07:00
Jen Basch
ae5f02b285
Allow trailing commas in comma-separated syntax elements ( #1137 )
2025-08-21 06:43:38 -07:00
Daniel Chao
3f2f0c3a2b
Add docs for installing via winget ( #1171 )
2025-08-11 17:22:30 -07:00
Daniel Chao
7d50aaeec9
Fix escaping in yaml strings ( #1165 )
...
The backslash needs to be escaped when rendering double-quoted YAML strings.
In addition, this escapes the following characters:
* next line (0x85)
* nbsp (0xa0)
2025-08-06 07:57:52 -07:00
Daniel Chao
78ba6bf758
Fix download links ( #1162 )
...
* Snapshot repo has changed
* Fix a bug where pkl-codegen-java download link points to Sonatype instead of GitHub
Not in the PR: we also need to fix the snapshot download location;
but haven't figured out yet what the correct link is.
2025-07-31 08:43:24 -07:00
Daniel Chao
20e7e251ec
Fix encoding for mapping with local members ( #1152 )
...
Fixes an issue where local members are included in
the mapping entry count.
Also: avoid re-computing Mapping.length
2025-07-28 10:13:45 -07:00
Islon Scherer
a3cc2f0ea6
Start next dev iteration
2025-07-24 20:06:01 +02:00
Islon Scherer
e12c655f5c
Prepare 0.29.0 release
2025-07-24 20:06:01 +02:00