Releases: matomo-org/matomo-java-tracker
Releases · matomo-org/matomo-java-tracker
v4.0.0
Immutable
release. Only release title and notes can be modified.
What's Changed
Breaking Changes
This is a major release. Please review the migration notes before upgrading.
Removed deprecated API ? All previously deprecated classes and methods have been removed:
- The
org.piwik.java.trackingcompatibility package is gone entirely (PiwikRequest,PiwikTracker,PiwikDate,PiwikLocale,CustomVariable,EcommerceItem). Use the corresponding classes inorg.matomo.java.trackinginstead. MatomoDateandMatomoLocalehave been removed. Usejava.time.Instantandorg.matomo.java.tracking.parameters.Countryrespectively.- The top-level
MatomoRequestBuilderclass is gone. UseMatomoRequest.request()orMatomoRequest.MatomoRequestBuilderinstead. - The
MatomoRequest(int siteId, String actionUrl)constructor is gone. Use theMatomoRequest.request()builder instead. - Deprecated mutator methods on
MatomoRequesthave been removed (setCustomTrackingParameter,addCustomTrackingParameter,clearCustomTrackingParameter,enableEcommerce,getEcommerceItem,addEcommerceItem,clearEcommerceItems,getPageCustomVariable,setPageCustomVariable,getUserCustomVariable,getVisitCustomVariable,setUserCustomVariable,setVisitCustomVariable,getRequestDatetime,setRequestDatetime,setParameter,builder(),setDeviceResolution(String)). Use the builder API (MatomoRequest.request()...build()) instead. - Deprecated
MatomoTrackerconstructors takinghostUrl,proxyHost,proxyPort, andtimeoutas individual arguments are gone. UseMatomoTracker(TrackerConfiguration)instead. - The
sendRequestAsync(MatomoRequest, Function)overload is gone. ChainCompletableFuture.thenApply()onsendRequestAsync(MatomoRequest)instead. - The
sendBulkRequest(Iterable, String)andsendBulkRequestAsync(Collection, String, Consumer)/sendBulkRequestAsync(Collection, String)overloads are gone. Set the auth token inTrackerConfigurationor on the requests directly. - The deprecated
Country(Locale)constructor andCountry.getLocale()/Country.setLocale(Locale)methods are gone. ConstructCountryfrom a country code string instead.
Spring Boot Starter now requires Spring Boot 4. The @NonNull annotation has been migrated from org.springframework.lang.NonNull to org.jspecify.annotations.NonNull. The PropertyMapper usage was updated to align with the Spring Boot 4 API (alwaysApplyingWhenNonNull() was removed).
New Features
New tracking parameters ? Extended coverage of the Matomo Tracking API with support for:
- Client hints (
clientHints) - Ecommerce product fields:
ecommerceProductSku,ecommerceProductName,ecommerceProductCategory,ecommerceProductPrice - Bot recording mode (
botRecordingMode) - HTTP status code (
httpStatusCode) - Bandwidth (
bandwidthBytes) - Source label (
sourceLabel) - Media attributes:
mediaId,mediaTitle,mediaResource,mediaType,mediaPlayerName,mediaTimeSpent,mediaLength,mediaProgressPercent,mediaTimeToPlay,mediaWidth,mediaHeight,mediaFullscreen,mediaSegmentsViewed
Bug Fixes
- Java 8 compatibility fix ?
JavaxHttpServletWrapperwas usingEnumeration.asIterator()(Java 9+) to iterate over HTTP header names. It has been replaced with a standardwhileloop. - Zero values now accepted ? Zero is now treated as a valid value for numeric tracking parameters such as
idGoal,revenue, and ecommerce fields. Previously zero was treated as absent and omitted from requests.
Performance Improvements
- Core module: hex encoding in
VisitorIdnow uses a lookup table instead ofString.formatper byte;String.formatcalls inDeviceResolution,AcceptLanguage,EcommerceItem, andDaemonThreadFactoryreplaced with string concatenation;ServletMatomoRequestnow computescookieName.toLowerCase()once per cookie instead of six times;QueryCreatorcachesvalue.toString()to avoid calling it twice. - Java 11 Sender: URL construction no longer uses
String.format; case-insensitiveUser-Agentheader lookup no longer allocates aTreeMap;.trim().isEmpty()checks replaced with.isBlank(); debug log statements are guarded to avoid allocating cookie list copies when debug logging is disabled.
Dependency Updates
| Dependency | Old | New |
|---|---|---|
| Spring Boot | 3.4.2 | 4.0.5 |
| JUnit Jupiter | 5.11.4 | 6.0.3 |
| SLF4J | 2.0.16 | 2.0.17 |
| Jetty EE10 | 12.0.16 | 12.1.8 |
| Jetty (javax) | 10.0.24 | 10.0.26 |
- build(deps): bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 to 3.4.1 by @dependabot[bot] in #236
- build(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.3 to 3.2.4 by @dependabot[bot] in #237
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.2.4 to 3.2.5 by @dependabot[bot] in #238
- build(deps-dev): bump org.wiremock:wiremock from 3.5.2 to 3.5.3 by @dependabot[bot] in #239
- build(deps-dev): bump org.wiremock:wiremock from 3.5.3 to 3.5.4 by @dependabot[bot] in #240
- build(deps): bump org.apache.maven.plugins:maven-deploy-plugin from 3.1.1 to 3.1.2 by @dependabot[bot] in #242
- build(deps): bump org.apache.maven.plugins:maven-install-plugin from 3.1.1 to 3.1.2 by @dependabot[bot] in #241
- build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.8.4 to 4.8.5 by @dependabot[bot] in #244
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.4.0 to 4.8.5.0 by @dependabot[bot] in #243
- build(deps-dev): bump org.eclipse.jetty.ee10:jetty-ee10-servlet from 12.0.8 to 12.0.9 by @dependabot[bot] in #245
- build(deps): bump org.owasp:dependency-check-maven from 9.1.0 to 9.2.0 by @dependabot[bot] in #247
- build(deps-dev): bump org.eclipse.jetty:jetty-servlet from 10.0.20 to 10.0.21 by @dependabot[bot] in #246
- build(deps): bump org.sonatype.plugins:nexus-staging-maven-plugin from 1.6.13 to 1.7.0 by @dependabot[bot] in #251
- build(deps): bump org.assertj:assertj-core from 3.25.3 to 3.26.0 by @dependabot[bot] in #249
- build(deps-dev): bump org.wiremock:wiremock from 3.5.4 to 3.6.0 by @dependabot[bot] in #248
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.2.5 to 3.3.0 by @dependabot[bot] in #250
- build(deps-dev): bump org.eclipse.jetty.ee10:jetty-ee10-servlet from 12.0.9 to 12.0.10 by @dependabot[bot] in #254
- build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0 by @dependabot[bot] in #252
- build(deps): bump org.apache.maven.plugins:maven-enforcer-plugin from 3.4.1 to 3.5.0 by @dependabot[bot] in #253
- build(deps): bump org.apache.maven.plugins:maven-checkstyle-plugin from 3.3.1 to 3.4.0 by @dependabot[bot] in #255
- build(deps): bump jakarta.servlet:jakarta.servlet-api from 6.0.0 to 6.1.0 by @dependabot[bot] in #259
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.5 to 3.3.0 by @dependabot[bot] in #258
- build(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.5 to 3.3.0 by @dependabot[bot] in #257
- build(deps): bump org.apache.maven.plugins:maven-release-plugin from 3.0.1 to 3.1.0 by @dependabot[bot] in #256
- build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.8.5 to 4.8.6 by @dependabot[bot] in #264
- build(deps): bump org.apache.maven.plugins:maven-jar-plugin from 3.4.1 to 3.4.2 by @dependabot[bot] in #263
- build(deps): bump org.apache.maven.plugins:maven-clean-plugin from 3.3.2 to 3.4.0 by @dependabot[bot] in #262
- build(deps-dev): bump org.wiremock:wiremock from 3.6.0 to 3.7.0 by @dependabot[bot] in #261
- build(deps): bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.5.0 to 3.6.0 by @dependabot[bot] in #260
- build(deps-dev): bump org.wiremock:wiremock from 3.7.0 to 3.8.0 by @dependabot[bot] in #266
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.5.0 to 4.8.6.2 by @dependabot[bot] in #269
- build(deps): bump org.junit.jupiter:junit-jupiter from 5.10.2 to 5.10.3 by @dependabot[bot] in #268
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.3.0 to 3.3.1 by @dependabot[bot] in https://github.com/matomo-org/matomo-java-tracker/pu...
v3.4.0
Changes
- No changes
v3.3.1
Changes
📦 Dependency updates
19 changes
- build(deps-dev): bump org.eclipse.jetty.ee10:jetty-ee10-servlet from 12.0.7 to 12.0.8 (#227) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.3.1 to 4.8.4.0 (#234) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.2 to 3.2.3 (#233) @dependabot
- build(deps): bump slf4j.version from 2.0.12 to 2.0.13 (#232) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.0 (#231) @dependabot
- build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.11 to 0.8.12 (#228) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-source-plugin from 3.3.0 to 3.3.1 (#229) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.8.3 to 4.8.4 (#230) @dependabot
- build(deps): bump actions/configure-pages from 4 to 5 (#226) @dependabot
- build(deps-dev): bump org.wiremock:wiremock from 3.4.2 to 3.5.2 (#223) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.1 to 3.2.2 (#224) @dependabot
- build(deps): bump org.owasp:dependency-check-maven from 9.0.10 to 9.1.0 (#225) @dependabot
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.2.3 to 3.2.4 (#221) @dependabot
- build(deps): bump org.projectlombok:lombok from 1.18.30 to 1.18.32 (#222) @dependabot
- build(deps): bump org.owasp:dependency-check-maven from 9.0.9 to 9.0.10 (#218) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 (#219) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.0 to 3.2.1 (#220) @dependabot
- build(deps-dev): bump org.eclipse.jetty.ee10:jetty-ee10-servlet from 12.0.6 to 12.0.7 (#216) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.0 (#217) @dependabot
v3.3.0
Changes
📦 Dependency updates
- build(deps-dev): bump org.wiremock:wiremock from 3.4.1 to 3.4.2 (#213) @dependabot
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.2.2 to 3.2.3 (#214) @dependabot
- build(deps): bump scacap/action-surefire-report from 1.7.3 to 1.8.0 (#212) @dependabot
- build(deps-dev): bump org.wiremock:wiremock from 3.3.1 to 3.4.1 (#211) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.3.0 to 4.8.3.1 (#210) @dependabot
v3.2.1
Changes
📦 Dependency updates
40 changes
- build(deps): bump slf4j.version from 2.0.11 to 2.0.12 (#205) @dependabot
- build(deps): bump org.assertj:assertj-core from 3.25.2 to 3.25.3 (#206) @dependabot
- build(deps-dev): bump org.eclipse.jetty.ee10:jetty-ee10-servlet from 12.0.5 to 12.0.6 (#207) @dependabot
- build(deps): bump org.junit.jupiter:junit-jupiter from 5.10.1 to 5.10.2 (#208) @dependabot
- build(deps-dev): bump org.eclipse.jetty:jetty-servlet from 10.0.19 to 10.0.20 (#209) @dependabot
- build(deps): bump release-drafter/release-drafter from 5 to 6 (#204) @dependabot
- build(deps): bump org.assertj:assertj-core from 3.25.1 to 3.25.2 (#203) @dependabot
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.2.1 to 3.2.2 (#201) @dependabot
- build(deps): bump org.owasp:dependency-check-maven from 9.0.7 to 9.0.9 (#202) @dependabot
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.2.0 to 3.2.1 (#186) @dependabot
- build(deps-dev): bump org.eclipse.jetty.ee10:jetty-ee10-servlet from 12.0.4 to 12.0.5 (#187) @dependabot
- build(deps-dev): bump org.eclipse.jetty:jetty-servlet from 10.0.18 to 10.0.19 (#188) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.3 to 3.2.5 (#200) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.2.5 (#198) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.2.0 to 4.8.3.0 (#199) @dependabot
- build(deps): bump scacap/action-surefire-report from 1.7.2 to 1.7.3 (#197) @dependabot
- build(deps): bump slf4j.version from 2.0.10 to 2.0.11 (#194) @dependabot
- build(deps): bump org.assertj:assertj-core from 3.25.0 to 3.25.1 (#195) @dependabot
- build(deps): bump slf4j.version from 2.0.9 to 2.0.10 (#192) @dependabot
- build(deps): bump org.assertj:assertj-core from 3.24.2 to 3.25.0 (#193) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.1 (#189) @dependabot
- build(deps): bump actions/deploy-pages from 3 to 4 (#190) @dependabot
- build(deps): bump actions/upload-pages-artifact from 2 to 3 (#191) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.2 to 3.2.3 (#181) @dependabot
- build(deps): bump org.owasp:dependency-check-maven from 9.0.4 to 9.0.7 (#182) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.2 to 3.2.3 (#183) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.8.2 to 4.8.3 (#184) @dependabot
- build(deps): bump github/codeql-action from 2 to 3 (#185) @dependabot
- build(deps-dev): bump org.eclipse.jetty.ee10:jetty-ee10-servlet from 12.0.3 to 12.0.4 (#179) @dependabot
- build(deps): bump org.owasp:dependency-check-maven from 9.0.2 to 9.0.4 (#180) @dependabot
- build(deps): bump actions/deploy-pages from 2 to 3 (#176) @dependabot
- build(deps): bump actions/setup-java from 3 to 4 (#177) @dependabot
- build(deps): bump actions/configure-pages from 3 to 4 (#178) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.8.1 to 4.8.2 (#172) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.1.0 to 4.8.2.0 (#173) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.2 to 3.6.3 (#174) @dependabot
- build(deps): bump org.owasp:dependency-check-maven from 9.0.1 to 9.0.2 (#175) @dependabot
- build(deps): bump org.owasp:dependency-check-maven from 8.4.3 to 9.0.1 (#169) @dependabot
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.1.5 to 3.2.0 (#170) @dependabot
- build(deps): bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.4.5 to 3.5.0 (#171) @dependabot
v3.2.0
Changes
📦 Dependency updates
- build(deps-dev): bump org.eclipse.jetty:jetty-servlet from 9.4.53.v20231009 to 10.0.18 (#167) @dependabot
- build(deps): bump org.owasp:dependency-check-maven from 8.4.2 to 8.4.3 (#166) @dependabot
What's Changed
- Automatic Setting of goalId to 0 in Presence of Ecommerce Parameters #162
- Update Matomo Java Tracker for Singular Parameters #163
Full Changelog: v3.1.1...v3.2.0
v3.1.1
Changes
Enhancements
📦 Dependency updates
- build(deps): bump actions/checkout from 3 to 4 (#160) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.8.0 to 4.8.1 (#157) @dependabot
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.7.3.6 to 4.8.1.0 (#159) @dependabot
v3.0.6
Made Java EE Servlet module Java 8 compatible
v3.0.5
Changes
- No changes
v3.0.2
Add a servlet module for Java EE (javax) for older projects to be compatible