Releases: gabrielfeo/develocity-api-kotlin
2025.1.1
This is a patch release.
What's Changed
Notable changes
- Fixed: Restored compatibility with Java 11. The
2025.1.0
release accidentally required Java 17 due to a build toolchain upgrade. This caused dependency resolution failures for projects using older JDKs. This version corrects Java source and target compatibility back to 11 (#484, #485).
Full Changelog from 2025.1.0: 2025.1.0...2025.1.1
2025.1.0
Generated from the API spec of Develocity API 2025.1.
What's Changed
New API spec
Notable changes
🚨 Breaking changes
- Added: Many new API endpoints and features from the Develocity 2025.1 API spec (see API changelog).
- Removed: 🚨 The library no longer bundles an SLF4J implementation. While bundling one was convenient for logging in scripts, it would create conflicts when a different implementation was provided. Users must now provide their own logging backend if needed. See the logging documentation (#332).
- Changed: 🚨 Configuration is now aligned with official Develocity tooling, simplifying setup (#468, #455).
- The server URL variable is now
DEVELOCITY_URL
(previouslyDEVELOCITY_API_URL
) and should be the base URL of your instance (e.g.,https://develocity.example.com
), without the/api/
suffix. The code counterpart is nowConfig.server
(previouslyConfig.apiUrl
). - The access key variable is now
DEVELOCITY_ACCESS_KEY
(previouslyDEVELOCITY_API_TOKEN
) and must be in thehost=key
format. The code counterpart is nowConfig.accessKey
(previouslyConfig.apiToken
). - Conventional access key locations (e.g.,
~/.gradle/develocity/keys.properties
) are now supported and used by default. See the access keys documentation.
- The server URL variable is now
- Changed: 🚨 The library no longer implicitly shares HTTP client resources such as connection and thread pools across different
DevelocityApi
instances, except in Kotlin Jupyter notebooks. This fixes resource closure issues in long-running processes like Gradle daemons. This is a breaking change if you were relying on this behavior when creating multipleDevelocityApi
instance. See this code as an example of how to preserve the sharing behavior outside notebooks (#451). - Changed: The library is now compiled with Kotlin language version 1.8 for broader compatibility, including older Kotlin/Jupyter kernels and the Kotlin version embedded in Gradle (#404, #426).
Full Changelog from 2024.3.0: 2024.3.0...2025.1.0
2024.3.0
Generated from the API spec of Develocity API 2024.3.
What's Changed
ℹ️ This release is equivalent to the last alpha, 2024.3.0-alpha01 (new build of the same commit).
New API spec
Notable changes
- Added: many new API endpoints and features (see API changelog)
- Changed: documentation improvements (library API)
Full Changelog from 2024.2.0: 2024.2.0...2024.3.0
Full Changelog from 2024.3.0-alpha01: 2024.3.0...2024.3.0-alpha01
2024.3.0-alpha01
Generated from the API spec of Develocity API 2024.3.
What's Changed
New API spec
Notable changes
- Added: many new API endpoints and features (see API changelog)
- Changed: documentation improvements (library API)
Full Changelog from 2024.2.0: 2024.2.0...2024.3.0-alpha01
2024.2.0
Generated from the API spec of Develocity API 2024.2. Thanks to @clayburn for helping test this release.
What's Changed
New API spec
Notable changes
- Added: many new API endpoints and features (see API changelog)
- Removed: many previously deprecated endpoints and parameters (see API changelog)
- Removed: library's
LoggerFactory
is now internal (#294). Was never meant to be public. - Changed:
/api/builds
parameter order has changed in the Develocity API spec, andBuildsApi.getBuilds
has changed accordingly.⚠️ This is a breaking change if not using named arguments. - Changed: library's
DEVELOCITY_API_LOG_LEVEL
now has precedence over SLF4Jorg.slf4j.simpleLogger.defaultLogLevel
system property (#286)
Full Changelog from 2024.1.1: 2024.1.1...2024.2.0 (no library changes since last alpha: 2024.2.0-alpha03...2024.2.0)
2024.2.0-alpha03
Generated from the API spec of Develocity API 2024.2.
What's Changed (from 2024.1.1)
New API spec
Full Changelog: 2024.1.1...2024.2.0-alpha03
What's Changed (from 2024.2-alpha02)
Internal build changes only.
Full Changelog: 2024.2.0-alpha02...2024.2.0-alpha03
2024.2.0-alpha02
Generated from the API spec of Develocity API 2024.2.
What's Changed (from 2024.1.1)
New API spec
Full Changelog: 2024.1.1...2024.2.0-alpha02
What's Changed (from 2024.2-alpha01)
- Removed: Hide LoggerFactory from public API (#294)
- Changed: Fix
GradleConfigurationCacheResult.Outcome
enum naming (#288) - Changed:
DEVELOCITY_API_LOG_LEVEL
now has precedence over SLF4J ``org.slf4j.simpleLogger.defaultLogLevel` (#286)
Full Changelog: 2024.2.0-alpha01...2024.2.0-alpha02
2024.2.0-alpha01
Generated from the API spec of Develocity API 2024.2.
What's Changed
New API spec
- API changelog
- Generated API code diff: see
generated-api.patch
attached to this release
Full Changelog: 2024.1.1...2024.2.0-alpha01
2024.1.1
What's Changed
Library changes
This release fixes issues affecting 2024.1.0.
- Fixed: Kotlin scripts crash due to conflicting SLF4J bindings (#203)
- Fixed: Default log level was 'info' but should be 'off' (#203)
Full Changelog: 2024.1.0...2024.1.1
2024.1.0
Generated from the API spec of Develocity API 2024.1.
What's Changed
New API spec
- Bump Develocity API spec version to 2024.1 by @github-actions in #172
Library changes
This is a major release with breaking changes, but it's small steps to migrate (see below).
- 🚨 New (breaking change): as part of the product rename to Develocity, the library's artifact and all its classes are renamed to Develocity. This reflects the same change made by Gradle in the 2024.1 API spec.
- 🚨 Removed (breaking change): macOS Keychain support is removed in favor of environment variables. It was deprecated in 2023.4.0. See docs for a drop-in migration, if you'd like to keep your key in Keychain
- New: the 2024.1 API spec introduces support for requesting
allModels
in queries to/api/builds
. TheBuildsApi.getBuildsFlow
also supports this parameter - New:
AuthApi
, new in 2024.1, is now accessible from the library - New: Added SLF4J bindings to improve logging when settings
DEVELOCITY_API_LOG_LEVEL
. If you use the library in a project and it conflicts with your own, excludech.qos.logback:logback-classic
- Changed: bump Kotlin to 1.9.23
1. Rename the dependency to the new name
The old artifact will still work in this release, but consumers should already change it to the new name:
- Maven artifact:
com.gabrielfeo:gradle-enterprise-api-kotlin
->com.gabrielfeo:develocity-api-kotlin
- Kotlin Jupyter library:
%use gradle-enterprise-api-kotlin
->%use develocity-api-kotlin
(%useLatestDescriptors
might be needed to pull the latest libraries from Kotlin/kotlin-jupyter-libraries)
2. Rename your environment variables
All GRADLE_ENTERPRISE_
variables were renamed to DEVELOCITY_
. Take a look at your existing variables:
export | grep GRADLE_ENTERPRISE_ | less
And export the same variables under the new names. For example: GRADLE_ENTERPRISE_API_URL
-> DEVELOCITY_API_URL
.
3. Delete the old cache directory
The cache directory is also renamed. Only necessary if you enabled caching.
rm -rf "${GRADLE_ENTERPRISE_API_CACHE_DIR:-~/.gradle-enterprise-api-cache}"
4. Fix unresolved references
Some code might break, but it's as easy as renaming things to Develocity. For example: GradleEnterpriseApi.newInstance()
-> DevelocityApi.newInstance()
.
And you're done! 🥇
Full Changelog: 2023.4.0...2024.1.0