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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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