Releases: microsoft/ApplicationInsights-Java
Application Insights Java SDK 2.5.0-BETA
Introducing Application Insights Java SDK 2.5.0-BETA! This release introduces some very exciting changes to the agent and adds support for the latest versions of Java!
Enhancements
SDK-wide
- Added Java 9/10/11/12 support
- Introduced new jar,
applicationinsights-web-auto.jar, which automatically registers the web filter. No need to modifyweb.xmlor add@WebFilter. - Simplifies role name configuration by adding
<RoleName>tag inApplicationInsights.xml.
New Agent Features
- Generic JDBC driver support: captures JDBC queries for all JDBC drivers.
- Automatically captures dependencies for async requests by tracking the request across multiple threads.
- Agent now captures application logging from Log4j 2/1.2 and Logback.
- This removes the need to add the
applicationinsights-logging-*.jardependency and modify the application's logging configuration.
- This removes the need to add the
- Improved HTTP client support:
java.net.HttpURLConnection- Apache HttpClient 3.x
- OkHttp3
- OkHttp2 now supports distributed tracing
- Sets
Operation Nameautomatically based on Spring@RequestMapping, JAX-RS@Pathand Struts action class/method name.- This removes the need for
RequestNameHandlerInterceptorAdapteror other interceptors.
- This removes the need for
- Agent now supports multiple applications deployed in the same application server (temporarily in the 2.4.0)
- Simplified JBoss and Wildfly deployment when using the agent: no need for workarounds using
jboss.modules.system.pkgs,java.util.logging.manager,-Xbootclasspath
Removed/Deprecated
- Removed support for
<Class>custom instrumentation inAI-Agent.xml - Removed support for
<RuntimeException>custom instrumentation inAI-Agent.xml
Miscellaneous
- Starting with this release, you can now find the agent and the collectd plugin on Maven Central as
applicationinsights-agentandapplicationinsights-collectdunder the same group,com.microsoft.azure.
Application Insights Java SDK 2.4.0
This introduces Application Insights Java SDK 2.4.0. This adds all the functionality introduced in 2.4.0-BETA and some additional bug fixes and enhancements.
Important Note: Spring Boot Starter Version
Previously, the Spring Boot Starter had an independent version number, causing some confusion. Future versions the Spring Boot Starter version will track with the SDK version. There will not be a Spring Boot Starter version 1.2.0, and in it's place version 2.4.0.
Changes introduced in 2.4.0-BETA
The changes to WebTelemetryModule in 2.4.0-BETA were reverted back the state in 2.3.1.
Enhancements
- Added retries to CDSProfileFetcher #901
- Added caching of sdk version id, reducing number of file IO operations #896
Bug Fixes
- Fix #907 - Ensures string compare is case insensitive when running a SQL explain on a select statement.
- Fixed ThreadLocal leak #887
- Fixed QuickPulse schema version #904
- Fix #919 - Fixed issue when adding duplicate Windows performance counter.
- Misc stability improvements #932, #941, #945, #946, #947, #948
Application Insights Java SDK 2.4.0-BETA
Welcome to Application Insights Java SDK 2.4.0-BETA and SpringBoot Starter 1.2.0-BETA. This version introduces several enhancement and bug fixes.
Removed and Deprecated
- Removed support for multiple apps instrumented with single JVM Agent. Instrumentation will only work for single apps in application server.
- Deprecated class
ApplicationInsightsHttpResponseWrapper.java
Breaking change
WebRequestTelemetryinterface now has another methodsetRequestTelemetryContext. This is needed to propagate context explicitly in asynchronous environments. This change is likely to break clients relying on implementation of this interface in their code.
Enhancements
- Introduced beta support for manual context propagation in Async and Explicit Multithreading scenarios.
Please refer to this wiki (https://github.com/Microsoft/ApplicationInsights-Java/wiki/Distributed-Tracing-in-Asynchronous-Java-Applications) for instructions. - #444 Introduced support to capture asynchronous request.
- #749 Introduce beta supported instrumentation for Postgres SQL jdbc4 driver prepared statements via JVM Agent.
- Introduced experimental API's AIHttpServletListener, HttpServerHandler, ApplicationInsightsServletExtractor and HttpExtractor.
- Introduced
WebTelemetryModule.setRequestTelemetryContextAPI. - #797 SDKLogger can now be enabled using system properties.
Bug Fixes
- #879 Fixed issue with request/dependency correlation
- Fixed #826 Remove duplicate Postgres provider.
- #881 Fix SDK version in QuickPulse Telemetry.
- #883 Fixed dependency metric collection for QuickPulse/LiveMetrics
- #852 Fixed bug in
PreparedStatementVisitorto instrument all overloads ofsetTimestamp. - Various stability improvements: #850 #849 #842 #847 #843 #887 #888
Application Insights Java SDK 2.3.1
Welcome to Application Insights Java SDK 2.3.1 and Spring Boot Starter 1.1.2. This service release addresses a critical bugfix.
Bug Fixes:
- Fixed #799. Removed dependency on Guava vulnerable to CVE-2018-10237.
Application Insights Java SDK 2.3.0
Welcome to Holiday Edition release of Application Insights Java SDK 2.3.0 and Application Insights SpringBoot Starter 1.1.1 (Release version)! This service release brings in brand new features and critical bug fixes.
Enhancements:
- Introduced support for W3C Trace Context Correlation Headers to support distributed tracing across Application Insights and Open Census SDKs.
- Introducing Application Insights SpringBoot Starter 1.1.1 (Release Version)!
Bug Fixes:
- Fix #784 Shade guava dependency.
Application Insights Java SDK 2.2.1
Welcome to Application Insights Java SDK 2.2.1 and Application Insights SpringBoot Starter 1.1.1-BETA! This service release brings critical bug fixes and enhancement.
Enhancements:
- Added support for writing diagnostic logs to file for Application Insights Java Agent.
- Added ability to configure FileLogger for SpringBootStarter.
Deprecations:
- Deprecated
InternalAgentLoggerin favor ofInternalLoggerfor better consistency.
Bug Fixes:
Application Insights Java SDK 2.2.0
Welcome to Application Insights Java SDK 2.2.0 and Application Insights SpringBoot Starter 1.1.0-BETA! This release comes with brand new enterprise grade features and critical bug fixes to both SpringBoot Starter as well as Core SDK.
Enhancements and changes:
- Introducing SpringBoot Starter 1.1.0-BETA.
- Introducing LocalForwarderChannel(beta) for use with the LocalForwarder (https://github.com/Microsoft/ApplicationInsights-LocalForwarder)
- Starter now respects autoconfiguration for Micrometer(https://micrometer.io) metrics.
- Starter now supports reading iKey using all the variable names as core sdk.
- Starter would no longer support relaxed binding of ikey property due to complex conditional need and backport problems with RelaxedBinder from Boot 2 to 1.5.x.
- Added
WebAppNameContextInitializerfor use with theWebRequestTrackingFilter. - Introduced
CloudInfoContextInitializerto set roleInstance inCloudContext. This new initializer is included by default and therefore will not affect the current tags. - Deprecated
getRoleName/setRoleNameandgetRoleInstance/setRoleInstanceinDeviceContext. IntroducedCloudContextto hold replacements,getRole/setRoleandgetRoleInstance/setRoleInstance, respectively. - Removes Servlet 3.0 annotations from
WebRequestTrackingFilterandApplicationInsightsServletContextListenerwhich were causing issues in certain cases. This will allow easier customization of the filter. To use the listener moving forward, it will need to be defined in web.xml. - Starter adds autoconfiguration for Local Forwarder Telemetry Channel. (Please look at readme for details on configuration.)
InterceptorRegistryclass no longer has@EnableWebMvcannotation as it breaks springboot autoconfig.
Bug Fixes:
- Fix #712 the thread shutdown issue in SpringBoot Starter by registering
ApplicationInsightsServletContextListener. - Fix QuickPulse post interval bug from 5 seconds to 1 second.
Application Insights Java SDK 2.1.2
Welcome to Application Insights Java SDK 2.1.2 and Application Insights SpringBoot Starter 1.0.1-BETA! This release comes with some of the critical bug fixes both to our Spring-Boot starter and core SDK.
Enhancements:
- Added timezone to internal SDK logger for better diagnostic ability of SDK.
Bug Fixes:
- Fix #676 Fixes HTTP dependency collection issue with NetFlix Zuul library.
- Fix #661 Shaded Guava package to avoid class path hell.
- #685 Fixed potential security related bug - Disable DTD and external entities.
- Fix #686 Added required attribute into the filter annotation
- Fix #697 Fix persistent channel capability size.
- Fix #691 Fixes cyclic reference issue in spring-boot starter.
- Fix #711 Fixes a trailing whitespace in WebAppsHeartBeatProvider.
Application Insights Java SDK 2.1.1
Welcome to Application Insights Java SDK 2.1.1! With this version we announce ApplicationInsights-Spring-Boot-Starter-1.0.0-BETA. This starter is currently in BETA. In order to use SpringBoot starter please refer to https://github.com/Microsoft/ApplicationInsights-Java/blob/master/azure-application-insights-spring-boot-starter/README.md
Enhancement and API changes:
- Introducing support for SpringBoot via Application-Insights-SpringBoot-Starter #646. This is currently in beta.
- We have made some fields in core SDK public for supporting SpringBoot starter.
- Introduced public constructor in
InProcessTelemetryChannel.javaclass. - Introduced a public method
getActiveWithoutInitializingConfig()inTelemetryConfiguration.javaclass.
Application Insights Java SDK 2.1.0
Welcome to Application Insights Java SDK 2.1.0! We have added support for heartbeats and made performance optimizations in the SDK's initialization code. A couple of other issues have also been fixed. See details below:
Enhancements:
- Introduced a Heartbeat feature, which sends periodic messages with basic information about application and runtime to Application Insights.
- Performance improvements during initialization.
Bug Fixes:
- Fixed an issue whereby the SDK could not resolve instrumentation keys if a proxy was specified in the JVM (via http.proxyHost). The fix enables proper support for system properties in the instrumentation key resolver component.
- Fix #647 - If a performance counter cannot be computed, it will not report a placeholder value (-1). Instead, it does not report any value.