- Fix HTML escaping after
{@literal ...}
blocks in Javadocs
- Add support for parameterized providers
- Add support for local SDK generation
- Correctly escape special characters in generated Javadocs
- Fully qualify
java.lang
types in codegen
- Codegen: pluginDownloadURL is now supported through the automatically generated build.gradle
- Update pulumi/pulumi to v3.121.0
- Unable to rehydrate a resource that has required inputs
- Plugin: will now automatically use the Gradle executor if build.gradle.kts is present
- Codegen: support for overlays
- Generated Utilities.java will use the correct basePackage
- Escape javadoc special characters in generated code.
- Fail fast rather than emitting
PANIC
s when attempting to generate code for ill-formed programs.
- Emit comments/trivia for resource and local variable declarations in program-gen
- Support
stringAsset
function in program-gen from PCL - Turn not yet implemented error into a warning in program-gen
- Update pulumi/pulumi to v3.99.0.
- Adds
MissingRequiredPropertyException
to the main java SDK to be used later in the generated provider SDKs.
- Fixes
builder()
implementation for result types where the identifier of the local variable defined for the result type collides with one of the fields of the result type. - Adds
options.encoding = "UTF-8"
to thecompileJava
options so that it can handle non-ASCII characters in the source code, especially in the documentation comments of fields.
- Plugin: clean up resources and exit cleanly on receiving SIGINT or CTRL_BREAK.
- [sdk] Bumps com.google.guava:guava from 31.1-jre to 32.1.2-jre. #1188
- [sdk] Fix links to output docs.
- [codegen] Remove a TODO from codegen output.
- [codegen] Fixed missing gradle fields for 3rd-party providers.
- [sdk] Enable Zip64 jar files for jar task
- [sdk] Increase maximum memory for compile step to 16g
- [sdk] Enable Zip64 jar files for javadoc
- [sdk] Fix exception in URN handling of nested parent URN types.
- [sdk] Fix exception in URN handling of nested parent URN types.
-
[codegen] Support the
retainOnDelete
resource option in PCL. -
[sdk] Added
StackReference.outputDetailsAsync
to retrieve output values from stack references directly.
- [java/sdk] Delegate alias computation to the engine. #966
- [codegen] Generate build.gradle files compatible with Gradle 8.0.
- [provider] #913: Windows releases now release as .tar.gz to match pulumi plugin ecosystem expectations.
- [codegen] Internal engineering work.
-
[sdk] #704: Remove the
get
prefix from getters inResource
class and inherited classes Old getters are preserved and marked deprecated. New getters:urn
,id
,pulumiResourceType
,pulumiResourceName
,pulumiChildResources
. -
[sdk] #643: Do not panic when the type of property in resource outputs does not match the one on the wire, while deserializing. The fix proceed with a null / default value and a warning in place of an error.
-
[codegen] #759: Fix code generation for exports with deeply nested generic types. Previously these types would generate compiling code but throw exceptions at runtime when in use.
Packages generated with this version of codegen will need to depend on this version of Java SDK or higher, so that user programs get the upgraded Java SDK that can understand the new export annotation scheme and continue working without changes.
-
[provider] #785: The Pulumi CLI will no longer display seemingly duplicate stack traces. The language host was modified to hide error messages from an optional process of plugin discovery through classpath introspection. Also
plugin about
will no longer display errors from plugin discovery. To display errors from plugin discovery, use-v=9
with a value of 1 or greater.
-
[codegen] #771: Fix import path for provider resources on
pulumi convert
. -
[sdk] #778: Fix a bug that prevented user from specifying both parent and child aliases when refactoring component resources.
-
[sdk] #840: Fix a regression introduced after 0.5.2 when Pulumi Java SDK stopped tolerating missing fields from providers that manifested as InvocationTargetException caused by a NullPointerException.
- [provider] #791:
Basic support for using sbt projects and using Scala.
See the example in
tests/examples/minimalsbt
.
-
[provider] #776: Reduced verbosity of Maven builds to only surface WARN and ERROR logs to the Pulumi user when Pulumi invokes Maven under the hood
-
[codegen] #702: Enabled
pulumi convert
to target Java. Now a maven configuration (pom.xml
with dependencies) is created and the generated Java files are moved to a proper package.
-
[sdk] #782: Fixed a serializer regression that affected the releases of
com.pulumi:kubernetes
after3.19.1
. Upgradecom.pulumi:pulumi
dependency to fix the issue that manifested as:UnsupportedOperationException: Convert [...]: Error
-
[codegen] #757: Fixes a regression introduced in 0.5.1 where
pulumi-java-gen --build gradle
stopped automatically generating "com.pulumi:pulumi" references in the
build.gradle
file, making the generated project fail to compile.
-
[codegen] #390 fixes code generation for output types with large (200+) number of parameters hitting the JVM limits. Previously these types would generate compiling code but throw exceptions at runtime when in use.
Packages generated with this version of codegen will need to depend on
com.pulumi:pulumi
(Java SDK) versions0.5.0
or higher, so that user programs get the upgraded Java SDK that can understand the new class annotation scheme and continue working without changes. -
[codegen] #739 fixes ambiguity in the "packages" option by adding a new "dependencies" option in Java extensions to Package Schema. With this change, both package name overrides and desired Maven dependencies in the generated build files can now be specified:
packages: "admissionregistration.k8s.io/v1: "admissionregistration.v1" build: gradle dependencies: "com.pulumi:aws": "5.4.0"
-
[provider] #728: Added health checks to
pulumi-language-java
so that it never leaks as an orphan process when the managingpulumi
process terminates -
[codegen] #717: Simplified publishing generated provider code to Maven Central.
Added a
gradleNexusPublishPluginVersion
option that installs gradle-nexus/publish-plugin in the build code generated bypulumi-java-gen
.The option can also be activated on the command line during code generation:
pulumi-java-gen --build gradle-nexus
.This enables one-step publishing of generated Java packages via Sonatype's OSSRH Nexus:
gradle publishToSonatype closeAndReleaseSonatypeStagingRepository
- [codegen] #735:
Fix a bug introduced in
0.4.1
.gradle publish
stopped generating resources required by Pulumi and published broken packages.
-
[sdk] #553: Added
com.pulumi.test
package with new idiomatic Java API for [unit testing Pulumi programs] (https://www.pulumi.com/docs/guides/testing/#unit-testing) against mocks. See (example) of using the new API. -
[codegen] #709 Improved version handling in
pulumi-java-gen
: now--version
argument is optional and the version of the generated package need not be known at SDK code generation time and is not spliced into the code. To set the version at build time usegradle -Pversion=1.2.3 build
orPACKAGE_VERSION=1.2.3 gradle build
.
-
[codegen] Breaking #163: function invokes now accept
Output<T>
in their arguments and returnOutput<T>
instead ofCompletableFuture<T>
#612 -
[sdk]
Stack
resource is now considered internal and cannot be directly instantiated by the user. Instead of inheriting fromStack
, please use thePulumi.run
form to define resources in your stack as shown in the README -
[sdk] #478: support stack transformations with new
Pulumi.withOptions
API -
[provider] #576 Added Gradle support for subprojects. For example, given this directory structure:
proj/settings.gradle proj/subproj/build.gradle proj/subproj2/build.gradle
Running
cd proj/subproj && pulumi up
will now locate the project root and rungradle :subproj:run
from withinproj
. This makes sure Gradle features such as plugins work as expeceted.
-
[programgen] #547: Generate fully qualified imports
-
[sdk] #419: Remove SDK dependency on Mockito
-
[provider] Support for using jbang
- [codegen] #627: Fix malformed versions in generated build files by sanitizing version input in pulumi-java-gen
- [provider] Add
pulumi-java-gen
binary encapsulating Java SDK generation to the GitHub releases.
-
[sdk] #534:
StackReferenceArgs
can now be instantiated usingStackReferenceArgs.builder()
andStackReferenceArgs.Builder
, alsoStackReferenceArgs.getName()
was deprecated in favour ofStackReferenceArgs.name()
#537 -
[sdk] #430: now you can pass both plain
Object
andOutput
-wrapped objects toOutput.format
, as in:Output.format("Resource %s has ID %s", myResource, myResource.getId())
#539 -
[examples] Add examples from PulumiUp #542
-
[codegen] Make sure all overloads of function invokes have doc comments #581
-
[ci] GitHub Actions: use 'temurin' JDK instead of the deprecated 'adopt' JDK
-
[programgen] Fix #546: generated Java programs from PCL now also generate custom resource options #558
-
[provider] Fix #538: provide detailed compilation failure information from
pulumi-language-java
in Pulumi CLI -
[sdk] Fix #552:
Output.all
will preserve list length and retainnull
elements -
[provider] Fix #540: language host will no longer fail when doing plugin discovery