Skip to content

Bump com.github.mizosoft.methanol:methanol from 1.7.0 to 1.9.0#204

Merged
pull-merger[bot] merged 2 commits into
masterfrom
dependabot/gradle/com.github.mizosoft.methanol-methanol-1.9.0
May 12, 2026
Merged

Bump com.github.mizosoft.methanol:methanol from 1.7.0 to 1.9.0#204
pull-merger[bot] merged 2 commits into
masterfrom
dependabot/gradle/com.github.mizosoft.methanol-methanol-1.9.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Dec 22, 2025

Bumps com.github.mizosoft.methanol:methanol from 1.7.0 to 1.9.0.

Release notes

Sourced from com.github.mizosoft.methanol:methanol's releases.

v1.9.0

  • Added RetryInterceptor (#137), with which you can retry requests with declaratively specified conditions.

    var client =
      Methanol.newBuilder()
          .interceptor(
              RetryInterceptor.newBuilder()
                  .maxRetries(3)
                  .onException(ConnectException.class)
                  .onStatus(HttpStatus::isServerError)
                  .backoff(
                      RetryInterceptor.BackoffStrategy.exponential(
                              Duration.ofMillis(100), Duration.ofSeconds(5))
                          .withJitter())
                  .build())
          .build();

    There's also a corresponding Kotlin DSL.

  • Fixed (#146). Methanol JARs now play well with OSGI environments.

  • Added brotli support for MacOS & ARM architectures. Support for x86-32 platforms has been dropped, however. In addition to the fat JAR that has natives bundled for all supported platforms, a JAR for each platform is published with only the corresponding native, that is in addition to a base JAR with no natives, which you can use for custom native builds. Checkout the docs for more.

  • Added support for Jackson 3 through additional modules: methanol-jackson3 & methanol-jackson3-flux. Support for Jackson 2 will continue through the older modules.

  • Versions of dependencies of integration modules (e.g. methanol-jackson) are now defined in ranges. This allows builds to pull the latest version of the target library without necessarily updating Methanol to the next release. If you want to use a specific version, you can explicitly declare it provided it is within the range. The ranges are also reflected on OSGI metadata.

v1.8.4

  • Fixed #129, where streaming large files through WritableBodyPublisher on slow networks caused high memory usage. Now the publisher blocks writers when the upload speed can't keep up. Memory usage is bounded according to the expression:

    int memoryQuota = Integer.getInteger("com.github.mizosoft.methanol.flow.prefetch", 8) * Integer.getInteger("jdk.httpclient.bufsize", 16 * 1024);

    Note that this also reflects on MoreBodyPublishers::ofOutputStream & MoreBodyPublishers::ofWritableByteChannel.

  • Fixed #134, where the system language affected how HTTP dates were formatted.

v1.8.3

  • Fixed #121, where the response body was retained throughout the entire read timeout, resulting in a "timed" memory leak. This happened as the previously used JVM-wide scheduler retained references to timeout tasks (which retained references to the response body through a reference chain starting from TimeoutBodySubscriber). Methanol now uses a library-wide scheduler (unless overridden by Methanol.Builder::readTimeout) that loses references to timeout tasks when invalidated.

  • Fixed #125, where exception causes where swallowed in sync calls.

v1.8.2

  • Fix regression caused by #118.

v1.8.1

  • Fixed #117, where decompressing the response could potentially hang.

v1.8.0

Ok, here we go. That took a while.

... (truncated)

Changelog

Sourced from com.github.mizosoft.methanol:methanol's changelog.

Version 1.9.0

  • Added RetryInterceptor (#137), with which you can retry requests with declaratively specified conditions.

    var client =
      Methanol.newBuilder()
          .interceptor(
              RetryInterceptor.newBuilder()
                  .maxRetries(3)
                  .onException(ConnectException.class)
                  .onStatus(HttpStatus::isServerError)
                  .backoff(
                      RetryInterceptor.BackoffStrategy.exponential(
                              Duration.ofMillis(100), Duration.ofSeconds(5))
                          .withJitter())
                  .build())
          .build();

    There's also a corresponding Kotlin DSL.

  • Fixed (#146). Methanol JARs now play well with OSGI environments.

  • Added brotli support for MacOS & ARM architectures. Support for x86-32 platforms has been dropped, however. In addition to the fat JAR that has natives bundled for all supported platforms, a JAR for each platform is published with only the corresponding native, that is in addition to a base JAR with no natives, which you can use for custom native builds. Checkout the docs for more.

  • Added support for Jackson 3 through additional modules: methanol-jackson3 & methanol-jackson3-flux. Support for Jackson 2 will continue through the older modules.

  • Versions of dependencies of integration modules (e.g. methanol-jackson) are now defined in ranges. This allows builds to pull the latest version of the target library without necessarily updating Methanol to the next release. If you want to use a specific version, you can explicitly declare it provided it is within the range. The ranges are also reflected on OSGI metadata.

Version 1.8.4

  • Fixed #129, where streaming large files through WritableBodyPublisher on slow networks caused high memory usage. Now the publisher blocks writers when the upload speed can't keep up. Memory usage is bounded according to the expression:

    int memoryQuota = Integer.getInteger("com.github.mizosoft.methanol.flow.prefetch", 8) * Integer.getInteger("jdk.httpclient.bufsize", 16 * 1024);

    Note that this also reflects on MoreBodyPublishers::ofOutputStream & MoreBodyPublishers::ofWritableByteChannel.

  • Fixed #134, where the system language affected how HTTP dates were formatted.

Version 1.8.3

  • Fixed #121, where the response body was retained throughout the entire read timeout, resulting in a "timed" memory leak. This happened as the previously used JVM-wide scheduler retained references to timeout tasks (which retained references to the response body through a reference chain starting from TimeoutBodySubscriber).

... (truncated)

Commits
  • b38976e Release 1.9.0
  • 7a66130 Merge pull request #172 from mizosoft/jackson3-support
  • 374aa3a Remove unused dep
  • 0f36669 Only run OSGI tests on Java 17
  • 3e58918 Properly setup RESOLVE_JAVA_VERSION
  • 10bc88d Run Jackson 3 OSGI tests conditionally
  • 3d7c2bd Add methanol-jackson3-flux in friends of exported internal packages
  • 16b6f5c Only compile & test methanol-jackson3[-flux] under Java 17+
  • db83513 Add methanol-jackson3-flux
  • 23a9030 Add methanol-jackson3
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

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)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Dec 22, 2025
dependabot Bot and others added 2 commits May 12, 2026 19:37
Bumps [com.github.mizosoft.methanol:methanol](https://github.com/mizosoft/methanol) from 1.7.0 to 1.9.0.
- [Release notes](https://github.com/mizosoft/methanol/releases)
- [Changelog](https://github.com/mizosoft/methanol/blob/master/CHANGELOG.md)
- [Commits](mizosoft/methanol@v1.7.0...v1.9.0)

---
updated-dependencies:
- dependency-name: com.github.mizosoft.methanol:methanol
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Methanol 1.9.0 capitalized "Couldn't receive headers on time"
(was "couldn't ..." in 1.7.x). The lib-http-client error path
propagates the methanol exception's message verbatim, so the
existing assertion no longer matches.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@rymsha rymsha force-pushed the dependabot/gradle/com.github.mizosoft.methanol-methanol-1.9.0 branch from 0122959 to ad0e31a Compare May 12, 2026 19:41
@rymsha
Copy link
Copy Markdown
Contributor

rymsha commented May 12, 2026

Rebased onto master and pushed updates:

  • 0dddaa5 (dependabot's original bump, rebased over the XP 8 upgrade in master) — build.gradle: methanol 1.7.0 → 1.9.0
  • ad0e31a — Update testConnectTimeout assertion: methanol 1.9.0 capitalised its HttpReadTimeoutException message ("couldn't receive headers on time" → "Couldn't receive headers on time"), so the assertion in src/test/resources/lib/test/request-test.js had to follow.

Verified locally on JDK 25:

  • ./gradlew build — green, 38 tests pass, 3 skipped, 0 failed.
  • Methanol 1.9.0 ships proper OSGi metadata (Bundle-SymbolicName: methanol, Export-Package includes com.github.mizosoft.methanol), an improvement over 1.7.0 which had no OSGi headers at all. All com.github.mizosoft.methanol.* imports used by this lib (MediaType, Methanol, MoreBodyPublishers, MoreBodySubscribers, MultipartBodyPublisher) come from the exported package, so the bundle should resolve cleanly under XP's OSGi runtime.
  • The OSGi-related release-note items from 1.8.x/1.9.0 either don't apply here (no methanol-jackson etc.; no use of WritableBodyPublisher) or are net improvements.

Force-push was needed because the rebase rewrites the dependabot commit's parent (auto-rebase has been disabled on this PR for >30 days). Used --force-with-lease.

CI: https://github.com/enonic/lib-http-client/actions/runs/25757941644

@codecov
Copy link
Copy Markdown

codecov Bot commented May 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.42%. Comparing base (dfbf95f) to head (ad0e31a).

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #204   +/-   ##
=========================================
  Coverage     91.42%   91.42%           
  Complexity      156      156           
=========================================
  Files             9        9           
  Lines           513      513           
  Branches         58       58           
=========================================
  Hits            469      469           
  Misses           23       23           
  Partials         21       21           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pull-merger pull-merger Bot merged commit 68a43e7 into master May 12, 2026
4 checks passed
@pull-merger pull-merger Bot deleted the dependabot/gradle/com.github.mizosoft.methanol-methanol-1.9.0 branch May 12, 2026 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant