From 7eedcf1e504e065f8c598de3dd77a3d3e0927231 Mon Sep 17 00:00:00 2001 From: Daniel Chao Date: Tue, 5 Nov 2024 09:49:50 -0800 Subject: [PATCH] Prepare 0.27.0 release notes (#756) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: translatenix <119817707+translatenix@users.noreply.github.com> Co-authored-by: Philip K.F. Hรถlzenspies Co-authored-by: Islon Scherer --- .../ROOT/partials/component-attributes.adoc | 3 + .../release-notes/images/error_sample.png | Bin 0 -> 72214 bytes .../release-notes/images/test_sample.png | Bin 0 -> 72893 bytes docs/modules/release-notes/pages/0.27.adoc | 514 +++++++++++++++++- .../release-notes/pages/changelog.adoc | 2 +- 5 files changed, 506 insertions(+), 13 deletions(-) create mode 100644 docs/modules/release-notes/images/error_sample.png create mode 100644 docs/modules/release-notes/images/test_sample.png diff --git a/docs/modules/ROOT/partials/component-attributes.adoc b/docs/modules/ROOT/partials/component-attributes.adoc index b46d268e..f9830701 100644 --- a/docs/modules/ROOT/partials/component-attributes.adoc +++ b/docs/modules/ROOT/partials/component-attributes.adoc @@ -68,15 +68,18 @@ endif::[] :uri-pkldoc-example: {uri-pkl-examples-tree}/pkldoc :uri-stdlib-baseModule: {uri-pkl-stdlib-docs}/base +:uri-stdlib-analyzeModule: {uri-pkl-stdlib-docs}/analyze :uri-stdlib-jsonnetModule: {uri-pkl-stdlib-docs}/jsonnet :uri-stdlib-reflectModule: {uri-pkl-stdlib-docs}/reflect :uri-stdlib-xmlModule: {uri-pkl-stdlib-docs}/xml :uri-stdlib-protobufModule: {uri-pkl-stdlib-docs}/protobuf +:uri-stdlib-evaluatorSettingsModule: {uri-pkl-stdlib-docs}/EvaluatorSettings :uri-stdlib-Boolean: {uri-stdlib-baseModule}/Boolean :uri-stdlib-xor: {uri-stdlib-baseModule}/Boolean#xor() :uri-stdlib-implies: {uri-stdlib-baseModule}/Boolean#implies() :uri-stdlib-Any: {uri-stdlib-baseModule}/Any :uri-stdlib-String: {uri-stdlib-baseModule}/String +:uri-stdlib-StringToInt: {uri-stdlib-baseModule}/String#toInt() :uri-stdlib-Int: {uri-stdlib-baseModule}/Int :uri-stdlib-Float: {uri-stdlib-baseModule}/Float :uri-stdlib-Number: {uri-stdlib-baseModule}/Number diff --git a/docs/modules/release-notes/images/error_sample.png b/docs/modules/release-notes/images/error_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..543a067a1e2a37cf5b4313cec1beacc0702309f3 GIT binary patch literal 72214 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 bCp|C(&CAZdz9Tk$1pFy0XvkN{nuq*94H}-{ literal 0 HcmV?d00001 diff --git a/docs/modules/release-notes/pages/0.27.adoc b/docs/modules/release-notes/pages/0.27.adoc index 4a7e64c1..b940ab74 100644 --- a/docs/modules/release-notes/pages/0.27.adoc +++ b/docs/modules/release-notes/pages/0.27.adoc @@ -1,14 +1,16 @@ = Pkl 0.27 Release Notes :version: 0.27 :version-minor: 0.27.0 -:release-date: TBD +:release-date: November 5th, 2024 include::ROOT:partial$component-attributes.adoc[] Pkl {version} was released on {release-date}. + [.small]#The latest bugfix release is {version-minor}. (xref:changelog.adoc[All Versions])# -The next release (0.28) is scheduled for ???.. +This release brings improvements in typechecking of `Listing` and `Mapping`, the ability to use readers from external processes, as well as a new import graph analyzer API. + +The next release (0.28) is scheduled for February 2025. Please send feedback and questions to https://github.com/apple/pkl/discussions[GitHub Discussions], or submit an issue on https://github.com/apple/pkl/issues/new[Github]. + @@ -19,34 +21,522 @@ To get started, follow xref:pkl-cli:index.adoc#installation[Installation].# News you don't want to miss. -=== XXX +[#typecheck-improvements] +=== Improved typechecking of `Listing` and `Mapping` types + +Typechecking of `Listing` and `Mapping` types has been improved (https://github.com/apple/pkl/pull/628[#628], https://github.com/apple/pkl/pull/725[#725], https://github.com/apple/pkl/pull/740[#740], https://github.com/apple/pkl/pull/752[#752], https://github.com/apple/pkl/pull/778[#778], https://github.com/apple/pkl/pull/781[#781]). + +Today, the typecheck `listing: Listing` immediately evaluates all listing elements to check that they have type `E`. +Likewise, the typecheck `mapping: Mapping` immediately evaluates all mapping values to check that they have type `V`. + +For example, the typecheck `listing: Listing` proceeds as follows: + +1. Check that `listing` has type `Listing` +2. Evaluate each listing element and check that it has type `Bird` + +This behavior is different from how the rest of Pkl works. +Generally, Pkl only evaluates code that affects program output. + +For example, consider the following program: + +[source,pkl] +---- +class Bird { + name: String + canFly: Boolean +} + +local bird: Bird = new { + name = "Pidgy" + canFly = throw("uh oh") +} + +birdName = bird.name +---- + +Even though `bird.canFly` throws an error, the above program succeeds because `bird.canFly` is not part of the program's output and hence is never accessed (Note that `bird` is a _local_ property). + +Typechecks of `Mapping` and `Listing` types have been changed to match this behavior. +Mapping and listing values are now only typechecked if and when they are accessed. + +NOTE: Mapping _keys_ are still eagerly checked. + +This change causes some previously failing programs to evaluate successfully: + +[source,pkl] +---- +local myNumbers: Listing = new { 1; 2; "uh oh" } +result = myNumbers[0] +---- +In Pkl 0.26 and below, the above program fails with a type mismatch error because element `"uh oh"` is typechecked when `myNumbers` is accessed. +In Pkl 0.27, the same program succeeds, because only element `myNumbers[0]` is part of the program's output and its typecheck succeeds. + +As another consequence of this change, some Pkl programs now complete more quickly: + +[source,pkl] +---- +local allBirds: Mapping = import*("**/bird.pkl") + +environment: "prod"|"qa" + +cluster: String + +myBird = allBirds["\(environment)/\(cluster)/bird.pkl"] // <1> +---- +In Pkl 0.26 and below, all modules matching `**/bird.pkl` are imported when `allBirds` is accessed and typechecked. +This can take a long time. +In Pkl 0.27, only module `"\(environment)/\(cluster)/bird.pkl"` is imported because only this module is part of the program's output. + +To learn more about this change, consult https://github.com/apple/pkl-evolution/blob/main/spices/SPICE-0010-overhauled-mapping-listing-typechecks.adoc[SPICE-0010]. + +=== External readers + +A new feature has been added to allow Pkl to spawn external processes to read resources and modules (https://github.com/apple/pkl/pull/660[#660], https://github.com/apple/pkl/pull/762[#762], https://github.com/apple/pkl/pull/766[#766], https://github.com/apple/pkl/pull/770[#770]). + +Today, users who use Pkl as a library can define custom module and resource readers. +This allows authors to extend how Pkl performs I/O. + +For example, users can implement a reader that reads the `secret:` scheme, where they define exactly how the bytes are fetched in the host runtime. + +[source,pkl] +---- +result = read("secret:mypassword") // <1> +---- +<1> `secret:` is a custom scheme defined by the host runtime. + +However, CLI users have been left out. + +In Pkl 0.27, a new extension point is added to allow users to implement module and resource readers as external processes. +When run, Pkl will spawn the external process, and talk to the process via xref:bindings-specification:message-passing-api.adoc[message passing]. + +To learn more about this feature, consult https://github.com/apple/pkl-evolution/blob/main/spices/SPICE-0009-external-readers.adoc[SPICE-0009]. + +Thanks to https://github.com/HT154[@HT154] for contributing the feature! + +[[import-analysis]] +=== Import analysis API + +A new API has been added to analyze the import graph of Pkl modules (https://github.com/apple/pkl/pull/695[#695]). + +This API comes in four forms: + +1. A standard library module: `pkl:analyze` +2. A CLI command: `pkl anaylze imports` +3. A Java API: `org.pkl.core.Analyzer` +4. A Gradle API: `org.pkl.gradle.task.AnalyzeImportsTask` + +Some use-cases for this API are: + +* For build tools to perform out-of-date checks. Build tools can invalidate a cached result if any of the transitive modules have changed. +* Static code analysis, to determine how Pkl modules depend on each other. + +With this API, xref:pkl-gradle:index.adoc[] now by default <> for many of its tasks. + +Here is an example of the CLI in use: + +[source,shell] +---- +pkl analyze imports -f json myModule.pkl # <1> +---- +<1> `-f` means: produce output in JSON. + +Produces: + +[source,json] +---- +{ + "imports": { + "file:///my/proj/myModule.pkl": [ + { + "uri": "projectpackage://example.com/birds@1.0.0#/Bird.pkl" + } + ], + "projectpackage://example.com/birds@1.0.0#/Bird.pkl": [] + }, + "resolvedImports": { + "file:///my/proj/myModule.pkl": "file:///my/proj/myModule.pkl", + "projectpackage://example.com/birds@1.0.0#/Bird.pkl": "file:///my/birds/Bird.pkl" + } +} +---- + +From this output, we can see that `myModule.pkl` imports `Bird.pkl` from the `birds` package. +We can also see that the module `projectpackage://example.com/birds@1.0.0#/Bird.pkl` resolves to disk location `\file:///my/birds/Bird.pkl` (we can deduce that `birds` is a xref:language-reference:index.adoc#local-dependencies[local dependency]). + +To learn more about this feature, consult https://github.com/apple/pkl-evolution/blob/main/spices/SPICE-0001-import-graph-analyzer-api.adoc[SPICE-0001]. == Noteworthy [small]#๐ŸŽถ# Ready when you need them. -=== XXX +=== Colored output + +The Pkl CLI will now emit some messages in color (https://github.com/apple/pkl/pull/552[#552], https://github.com/apple/pkl/pull/746[#746], https://github.com/apple/pkl/pull/771[#771], https://github.com/apple/pkl/pull/779[#779]). + +Here is a sneak peek of colored error messages in action. + +image::error_sample.png[syntax highlighted output] + +Thanks to https://github.com/thomaspurchas[@thomaspurchas] for contributing to this feature! + +=== `const local` object members + +The `const` modifier can be applied to object members, provided that they are also `local` (https://github.com/apple/pkl/pull/678[#678]). + +Currently, regular object members are not allowed to have the `const` modifier. +This introduces an artificial pain point. + +For example, given the following module: + +[source,pkl] +---- +amends "Bird.pkl" + +import "Bird.pkl" + +local northAmerica = "North America" + +local typealias NorthAmericanBird = Bird(this.origin == northAmerica) // <1> +---- +<1> Error: cannot reference `northAmerica` from here because it is not `const`. + +This is invalid code, because this typealias is referencing a non-const value on the enclosing module. +However, is not possible fix this by adding the `const` modifier to `northAmerica`. +This is because this module `amends "Bird.pkl"`, which means that this module is considered a regular object and not a class. +This means that any members declared here are _object members_, and not _class members_. + +In Pkl 0.27, a new rule is introduced to allow the `const` modifier to be applied to object members, provided that they are also `local`. + +This change affects object properties, as well as object methods. + +To read more about this design, consult https://github.com/apple/pkl-evolution/blob/main/spices/SPICE-0011-const-object-members.adoc[SPICE-0011]. + +=== Pkl CLI changes + +==== New CLI Flags + +Some new common flags have been added to the CLI (https://github.com/apple/pkl/pull/660[#660], https://github.com/apple/pkl/pull/746[#746]). + +|=== +|Flag |Description + +|`--color` +|Format messages with ANSI color codes + +|`--external-module-reader` +|Shell out to a process to read certain modules. + +|`--external-resource-reader` +|Shell out to a process to read certain resources. +|=== + +==== New command: `pkl analyze imports` + +As part of the set of APIs added for <>, a new subcommand has been added called `analyze imports` (https://github.com/apple/pkl/pull/695[#695]). + +For details, consult the xref:pkl-cli:index.adoc#command-analyze-imports[CLI documentation]. + +=== Kotlin/Java code generator improvements + +Various improvements have been made to the Kotlin and Java code generators (https://github.com/apple/pkl/pull/705[#705], https://github.com/apple/pkl/pull/710[#710], https://github.com/apple/pkl/pull/714[#714], https://github.com/apple/pkl/pull/721[#721], https://github.com/apple/pkl/pull/729[#729]). + +==== Java codegen improvements + +* Only generate `hashCode()`, `equals()`, and `toString()` methods for Java classes that are instantiable. +* Add support for Spring Boot 3. +* Make module classes also implement serializable. +* Make empty Java classes instantiable. + +==== Kotlin codegen improvements + +* Skip generation of `copy()`, `equals()`, `hashCode()`, `toString()` methods for abstract Kotlin classes. +* Don't implement `Serializable` for abstract classes +* Add support for Spring Boot 3. + +Thanks to https://github.com/translatenix[@translatenix] for contributing these improvements! + +=== Gradle Plugin changes + +==== New `AnalyzeImportsTask` + +A new task called `org.pkl.gradle.task.AnalyzeImportsTask` is introduced (https://github.com/apple/pkl/pull/695[#695]). + +This task is the Gradle analogy to `pkl analyze imports`. + +Example: + +[tabs] +==== +build.gradle:: ++ +[source,groovy] +---- +pkl { + analyzers { + imports { + appConfig { + sourceModules.add(file("src/main/resources/appConfig.pkl")) + } + } + } +} +---- + +build.gradle.kts:: ++ +[source,kotlin] +---- +pkl { + analyzers { + imports { + register("appConfig") { + sourceModules.add(file("src/main/resources/appConfig.pkl")) + } + } + } +} +---- +==== + +For more details, consult the xref:pkl-gradle:index.adoc#analyze-imports[documentation]. + +==== Tracked file outputs + +Tasks created by the Pkl plugin now declare tracked output files (https://github.com/apple/pkl/pull/403[#403]). + +This means that downstream tasks do not need to declare an explicit dependency on the Pkl task. + +For example, assuming that `evalPkl` is an `EvalTask`: + +.build.gradle.kts +[source,diff] +---- + val myGradleTask by tasks.registering { + inputs.files(evalPkl) +- dependsOn(evalPkl) // <1> + } +---- +<1> No longer necessary to declare this dependency. + +[[transitive-modules-computed-by-default]] +==== `transitiveModules` computed by default + +The `transitiveModules` property of a task is now computed by building the import graph of the source modules (https://github.com/apple/pkl/pull/695[#695]). + +This means that Pkl-related tasks no longer need to declare their set of transitive modules, because the pkl-gradle plugin will compute this automatically. + +NOTE: This adds latency to each task. To opt out of this behavior, set `transitiveModules` explicitly. + +=== Standard library changes + +==== Additions to `pkl:base` + +New properties and methods have been added to the classes of `pkl:base` (https://github.com/apple/pkl/pull/666[#666], https://github.com/apple/pkl/pull/683[#683]). + +New properties and methods have been added to {uri-stdlib-Listing}[`Listing`] and {uri-stdlib-Mapping}[`Mapping`]. + +One of the goals of this change is to improve the experience of authoring constraints. +This eliminates the need to convert to collection types as often. + +The added properties and methods are: + +* {uri-stdlib-Listing}#first[`Listing.first`] +* {uri-stdlib-Listing}#firstOrNull[`Listing.firstOrNull`] +* {uri-stdlib-Listing}#last[`Listing.last`] +* {uri-stdlib-Listing}#lastOrNull[`Listing.lastOrNull`] +* {uri-stdlib-Listing}#single[`Listing.single`] +* {uri-stdlib-Listing}#singleOrNull[`Listing.singleOrNull`] +* {uri-stdlib-Listing}#every()[`Listing.every()`] +* {uri-stdlib-Listing}#any()[`Listing.any()`] +* {uri-stdlib-Listing}#contains()[`Listing.contains()`] +* {uri-stdlib-Mapping}#containsValue()[`Mapping.containsValue()`] +* {uri-stdlib-Mapping}#every()[`Mapping.every()`] +* {uri-stdlib-Mapping}#any()[`Mapping.any()`] + +With this, the following change can be made to existing constraints: + +[source,diff] +---- +-ipAddresses: Listing(toList().contains("127.0.0.1")) ++ipAddresses: Listing(contains("127.0.0.1")) +---- + +Additionally, a new method is added to `String`, called {uri-stdlib-String}#splitLimit()[`String.splitLimit()`]. + +==== Additions to `pkl:EvaluatorSettings` + +New properties have been added to `pkl:EvaluatorSettings` (https://github.com/apple/pkl/pull/660[#660], https://github.com/apple/pkl/pull/746[#746]). + +These are: + +* {uri-stdlib-evaluatorSettingsModule}/#color[`color`] +* {uri-stdlib-evaluatorSettingsModule}/#externalModuleReaders[`externalModuleReaders`] +* {uri-stdlib-evaluatorSettingsModule}/#externalResourceReaders[`externalResourceReaders`] + +==== `String` to `Number` conversion improvements. + +The `String` to `Number` converter methods, for example, {uri-stdlib-StringToInt}[`String.toInt()`], can now handle underscore separators (https://github.com/apple/pkl/pull/578[#578], https://github.com/apple/pkl/pull/580[#580]). + +This better aligns with the source code representation of file:///Users/danielchao/code/apple/pkl-lang.org/build/local/main/current/language-reference/index.html#integers[number literals]. + +[source,pkl] +---- +myNum = "1_000".toInt() // <1> +---- +<1> Result: `1000` + +==== New module: `pkl:analyze` + +As part of <>, a new standard library module is added called `pkl:analyze` (https://github.com/apple/pkl/pull/695[#695]). + +This module provides an API for computing the total import graph given a set of input modules. +This API treats the inputs as entrypoints, and produces a graph representing the entire dependency tree, including transitive imports. + +Example: +[source,pkl] +---- +import "pkl:analyze" + +importGraph: analyze.ImportGraph = analyze.importGraph(Set("file:///path/to/my/module.pkl")) +---- + +For details, see the {uri-stdlib-analyzeModule}[documentation]. + +=== Annotations on `PklProject` added to packages + +When creating packages, some annotations on a `PklProject` will affect how pkldoc generates documentation. + +* `@Unlisted`: Omit the package from publishing documentation. +* `@Deprecated`: Add information on the package to show that it is deprecated. + +Example: + +.PklProject +[source,pkl] +---- +@Deprecated +amends "pkl:Project" +---- + +=== Test report improvements + +The report generated from `pkl test` has been overhauled and improved (https://github.com/apple/pkl/pull/498[#498], https://github.com/apple/pkl/pull/628[#682], https://github.com/apple/pkl/pull/738[#738], https://github.com/apple/pkl/pull/771[#771]). + +* Tests are grouped into either the `facts` or `examples` section. +* A summary line is added, describing how many tests have passed and failed, and how many assertions have passed and failed. +* Test results are colored. +* The โœ… and โŒ emojis are replaced with โœ” and โœ˜. +* Thrown errors are reported within the test. + +Here is a sneak peek of the new test result output. + +image::test_sample.png[] + +Thanks to https://github.com/jjmaestro[@jjmaestro] for contributing to this improvement! + +=== Java API additions + +==== New API: `org.pkl.core.Analyzer` + +As part of <>, a new Java API called `org.pkl.core.Analyzer` is introduced (https://github.com/apple/pkl/pull/695[#695]). + +==== New methods + +The following methods are added: + +**pkl-executor** + +* `org.pkl.executor.ExecutorException.getPklVersion` +* `org.pkl.executor.ExecutorException.ExecutorException(java.lang.String, java.lang.Throwable, java.lang.String)` + +**pkl-core** + +* `org.pkl.core.module.ModuleKeyFactories.externalProcess(java.lang.String, org.pkl.core.externalreader.ExternalReaderProcess)` +* `org.pkl.core.module.ModuleKeyFactories.externalProcess(java.lang.String, org.pkl.core.externalreader.ExternalReaderProcess, long)` == Breaking Changes [small]#๐Ÿ’”# Things to watch out for when upgrading. -=== XXX +=== Java API breaking changes + +The following Java APIs have breaking changes: + +|=== +|Class/method | Breaking change + +|`org.pkl.core.runtime.TestResults` +|Moved to `org.pkl.core.TestResults`, turned into a record, and largely restructured. + +|`org.pkl.core.module.ModuleKeyFactories.closeQuietly` +|Deprecated for removal in favor of `org.pkl.core.Closeables.closeQuietly`. +|=== + +=== Spring Boot 2 support dropped + +The Java code generator no longer supports Spring Boot 2.x (https://github.com/apple/pkl/pull/729[#729]). + +Spring Boot 2 users can continue to use the Pkl 0.26 code generator. + +=== `pkl test` considered failing when writing examples + +If running `pkl test` results in `pkl-expected.pcf` files being written, the test now exits with exit code `10` (https://github.com/apple/pkl/pull/738[#738]). + +Additionally, the junit reports will consider the test as failing. + +=== `Listing` and `Mapping` typecheck changes + +Due to changes to <>, some previously failing programs now succeed. +This can happen when erroneous code is never evaluated because it does not affect program output: + +[source,pkl] +---- +local myNumbers: Listing = new { 1; 2; "uh oh" } +result = myNumbers[0] // <1> +---- +<1> In Pkl 0.26 and below, throws a type mismatch error. ++ +In Pkl 0.27, yields `1`. == Miscellaneous [small]#๐Ÿธ# -* XXX +* Make pkl-doc top box include a preview of the rest of module-level documentation (https://github.com/apple/pkl/pull/570[#570]). +* Module `pkl-core` now has a dependency on `org.msgpack:msgpack-core` (https://github.com/apple/pkl/pull/660[#660]). Users concerned about potential version conflicts can use one of Pkl's shaded fat JARs (`pkl-config-java-all`, `pkl-tools`). +* Make PklProject.deps.json files end in a newline (https://github.com/apple/pkl/pull/664[#644]). +* Fix invalid syntax of code examples in stdlib doc comments (https://github.com/apple/pkl/pull/703[#703]). +* Update Java dependencies (https://github.com/apple/pkl/pull/689[#689], https://github.com/apple/pkl/pull/767[#767]). +* Add jbang catalog support (https://github.com/apple/pkl/pull/655[#655]). +* Documentation improvements (https://github.com/apple/pkl/pull/623[#623], https://github.com/apple/pkl/pull/680[#680], https://github.com/apple/pkl/pull/682[#682], https://github.com/apple/pkl/pull/685[#685], https://github.com/apple/pkl/pull/687[#687], https://github.com/apple/pkl/pull/703[#703], https://github.com/apple/pkl/pull/704[#704], https://github.com/apple/pkl/pull/715[#715], https://github.com/apple/pkl/pull/730[#730], https://github.com/apple/pkl/pull/753[#753]). -== Bugs fixed [small]#๐Ÿœ# +== Bug Fixes [small]#๐Ÿœ# -XXX Bugs down, Inbox Zero in sight ... +The following bugs have been fixed. -[smaller] -* XXX (https://github.com/apple/pkl/issues/new[XXX]) +* CLI `--property` flags containing `=` in property values are not parsed correctly (https://github.com/apple/pkl/issues/630[#630]). +* Thrown `PklBugException` when reading assets from a local project dependency (https://github.com/apple/pkl/issues/641[#641]). +* Thrown `PklBugException` when PklProjects have a cyclical local dependency (https://github.com/apple/pkl/pull/731[#731]). +* Thrown exception when sending `ReadResourceResponse` or `ReadModuleResponse` where both `contents` and `error` are `null` (https://github.com/apple/pkl/pull/657[#657]). +* Double unary minus is evaluated as single unary minus (https://github.com/apple/pkl/pull/697[#697]). +* Kotlin compiler fails to compiler generated classes with "copy overrides nothing" for subclasses of abstract classes (https://github.com/apple/pkl/issues/569[#569]). +* "Unexpected error" thrown when `Module.output` has its type overridden (https://github.com/apple/pkl/issues/709[#709]). +* "Unexpected error" thrown when loading files with non-ASCII characters (https://github.com/apple/pkl/issues/653[#653]). +* Type parameters in `new Mapping`/`new Listing ` are not checked (https://github.com/apple/pkl/issues/405[#405]). +* Comparison methods of `pkl:semver` are incorrect (https://github.com/apple/pkl/issues/772[#772]). == Contributors [small]#๐Ÿ™# We would like to thank the contributors to this release (in alphabetical order): -* XXX - +* https://github.com/djarnis73[@djarnis73] +* https://github.com/kasugamirai[@kasugamirai] +* https://github.com/KushalP[@KushalP] +* https://github.com/jjmaestro[@jjmaestro] +* https://github.com/HT154[@HT154] +* https://github.com/lamtrinhdev[@lamtrinhdev] +* https://github.com/ManuW[@ManuW] +* https://github.com/maxandersen[@maxandersen] +* https://github.com/netvl[@netvl] +* https://github.com/StefMa[@StefMa] +* https://github.com/taichi-ishitani[@taichi-ishitani] +* https://github.com/thomaspurchas[@thomaspurchas] +* https://github.com/translatenix[@translatenix] diff --git a/docs/modules/release-notes/pages/changelog.adoc b/docs/modules/release-notes/pages/changelog.adoc index a73dbdfb..5443c3c6 100644 --- a/docs/modules/release-notes/pages/changelog.adoc +++ b/docs/modules/release-notes/pages/changelog.adoc @@ -2,7 +2,7 @@ include::ROOT:partial$component-attributes.adoc[] [[release-0.27.0]] -== 0.27.0 (2024-??-??) +== 0.27.0 (2024-11-05) xref:0.27.adoc[Release notes]