| Version | Date | Description |
|---|---|---|
| 1.1.1 | 2013-03-26 | Release 1.1.1 |
| 1.1.0 | 2013-02-28 | Release 1.1.0 |
| 1.0.6 | 2012-11-26 | Release 1.0.6 |
| 1.0.5 | 2012-07-23 | Release 1.0.5 |
| 1.0.4 | 2012-06-07 | Release 1.0.4 |
| 1.0.3 | 2012-04-11 | Release 1.0.3 |
| 1.0.2 | 2012-01-06 | Release 1.0.2 |
| 1.0.1 | 2011-10-31 | Release 1.0.1 |
| 1.0.0 | 2011-10-03 | Release 1.0.0 |
| 0.95 | 2011-08-21 | Release 0.95 |
| 0.91 | 2011-05-30 | Release 0.91 |
| 0.90 | 2011-04-04 | Release 0.90 |
| 0.83 | 2011-02-19 | Release 0.83 |
| 0.82 | 2011-01-16 | Release 0.82 |
| 0.81 | 2010-12-14 | Release 0.81 |
| Type | Changes | By |
|---|---|---|
| "Expires" header contains now a valid date valu, one hour less the current time. This follows almost the recommendation of RFC-2616. Fixes 71. | roland |
| Fixed assembly of distribution packages where the JMX and Spring packages were missing. Fixes 84. | roland |
| JS: j4p.register() can now use a 'onlyIfModified' attribute to call the callback only if some changes has happened on the server side. This works currently only for list requests. Fixes 77. | roland |
| Added the possibility to use the attributes "callback" and "config" in j4p.register() in the JS library. Fixes 78. | roland |
| Added property errorValue to J4pRemoteException which contains a serialized version of the exception if the 'serializeException' processing parameter is switched on. Fixes 85. | marosmars |
| If no host is given, the JVM agent will now bind to localhost. If a host of "0.0.0.0" or "*" is given, then the agent will listen on all interfaces. Fixes 86. | benson-basis |
| If a port of 0 is given, then the JVM agent will select an arbitrary free port and prints out the selected port. Fixes 82. | benson-basis |
| Added support for "ifModifiedSince" processing parameter. Fixes 77. | roland |
| Fixed wrong key order in path when diving into tabular data values. Fixes 83. | roland |
| Check whether the Jolokia MBeanServerHolder is registered in advance instead of relying on an InstanceNotFoundException Fixes 76. | roland |
| Added BigDecimal and BigInteger converters for input parameters Fixes 79. | roland |
| Type | Changes | By |
|---|---|---|
| Fix a bug HistoryEntry.trim() when the list of values is empty and max duration is > 0 Fixes 67. | mjr5749 |
| Added enums for serialization/deserialization. It's really surprising how long this missing feature slipped without anybody missing it ;-) | roland |
| Added additional query parameters (serializeException, canonicalNaming and includeStackTrace) to the set of allowed query parameters for the Java client lib. Fixes 66. | roland |
| Fixed URI encoding for GET requests in the JavaScript client library. Fixes 64. | roland |
| Added safety net for serialization, so that OutputStreams and Writers are never obtained from get-methods if they declare a subclass as return value. It happens e.g. for Jetty 8.1 that FileResource.getOutputStream() opens a new FileOutputStream nuking the existing data. Nice side effect ;-) | roland |
| Added new global and process configuration options "includeStackTrace" (true,false,runtime) and "serializeException" (true, false) which can be used to tune the error responses. Fixes 59. | roland |
| "canonicalNaming" option can be as global agent configuration, too. Fixes 59. | roland |
| Fixed Glassfish detector which failed to boot AMX in certain circumstances. Fixes 63. | roland |
| Added support for JSON-MBean. A dedicated @JsonMBean annotation can be used to export complex arguments/attributes/return values as JSON String to the Platform MBeanServer. Jolokia now offers an own MBeanServer as well for registering MBeans which won't show up in any other (exported) MBeanServer (except for the delegation of @JsonMBeans which are delegated and translated). | roland |
| Fixed issues with GET requests and MBean ObjectNames which end with a "/". Added to integration tests to deal with these issues. | roland |
| Fixed timestamp in the Java client library's response. | twhite |
| New module "jolokia-spring" with Spring integration for the JVM agent has been added. It contains an own Spring configuration syntax and provides also a plugin for automatic startup the agent with default values by only declaring a dependency (works for containers which automatically lookup META-INF/spring/*.xml). Kudos to James Strachan for the initial idea. | roland |
| Type | Changes | By |
|---|---|---|
| Jolokia's Javascript poller fixes an register/unregister issue, where the returned handle from register() remains stable. | roland |
| Jolokia JVM agent used with startup options now initializes itself lazily in order to await all the MBeans required for a proper server detection. | roland |
| One can now change the key property order for MBeans names with the query parameter "canonicalNaming" for read, list and search operations. By default this is set to "true" in which case an alphabetical ordering for the keys is used. If set to "false", then the original name as registered is used. | mikael,jstrachan,roland |
| Added a method "jobs()" to the JavaScript Jolokia agent to get all handles for all currently registered jobs. | roland |
| Added GlassfishDetector to the list of detectors for the OSGi Agent. | roland |
| Type | Changes | By |
|---|---|---|
| Added a deserialization to javax.management.ObjectName so that attributes of this type and operations taking such an argument can be properly invoked with a Jolokia request. Fixes JOL-35. | matejj |
| Added Jolokia datasource for Cubism (with AMD support). | roland |
| Jolokia WAR agent initialisation parameters can now be given as servlet context parameters, too. | roland |
| Fixed regular expression for detecting Oracle Glassfish server | roland |
| Added specific check for 7.1.x to JBoss Handler since for 7.1 there seems to be an MBean for the version number (contrary to 7.0.x) | roland |
| Type | Changes | By |
|---|---|---|
| Allow for custom detector options in the agent's configuration. These options can be evaluated during startup of the agent. The first (and only) option it 'bootAmx' for allowing a Glassfish detector to not boot up the AMX subsystem upon start of this agent. By default (since it is probably needed every time when Jolokia is installed), AMX is booted to provide the most userful information over JMX. | roland |
| Added a page showing the Jolokia-Cubism integration including live demos. | roland |
| Added a scheduler to the JavaScript client library. | roland |
| Fixed issue with HTTP method checker for policy based restrictions. | roland |
| Fixed fallback when registering ConfigMBean which didn't properly work (see pull request #42) | roland |
| Type | Changes | By |
|---|---|---|
| Fixed issue with Glassfish detector and Jolokia running under gcj | roland |
| Added support for AMD in jolokia.js and jolokia-simple.js | roland |
| The history store allows also for time based eviction (JOL-28) | roland |
| Fix for possible NPE when serializing a complex Java objects (#41) | roland |
| New configuration property "httpServiceFilter" added for providing a OSGi filter expression which gets applied when selecting the HttpService to bind to. (#39) | gid79 |
| If registering of an ConfigMBean doesnt work because there has been already one be registered with the same name by another agent, a warning is giving out and a UUID is adde to the object name, so startup works as usual. Use either a "mbeanQualifier" or an "httpServiceFilter" in order to avoid naming collisions from the very beginning. | roland |
| Added CORS support for the agents including preflight checks. The policy based restrictor allows for fine grained restriction of cross origin access with a <cors> section. Fixes JOL-27. | roland |
| Added none-caching headers (cache-control: 'no-cache', pragma: 'no-cache', expires: '-1') to Jolokia's response for all requests. | roland |
| Type | Changes | By |
|---|---|---|
| Verified that javascript client binding works with jQuery 1.7.1 | roland |
| Updated Roo plugin for Roo 1.2. It won't work with older Roo versions. | roland |
| Jolokia's Java client library now can request MBeans via an JSR-160 proxy. This is done either by giving a default proxy configuration to the J4pClient or by providing a proxy config to the request objects. | roland |
| Added support for global and request processing parameter "mimeType" for specifying the HTTP content-type for the Jolokia response. By default this is "text/plain" (but "application/json" can be useful, too). | roland |
| In case of an error, the request leading to this error is returned in the response, too. | roland |
| Type | Changes | By |
|---|---|---|
| Daemonized threads created by the thread pool for the JVM agent. Fixes 37. | senthilnest |
| Added a CollectionConverter for deserializing collections in addition to Maps and Lists. | roland |
| The JVM agent know can also take as argument a regular expression for matching a process' name in adition to a process id. | roland |
| Fixed path access which consists of a single slash (which is the same as no path at all). | roland |
| Type | Changes | By |
|---|---|---|
| Applied patch from codewax for supporting an Equinox HTTP-Service | roland |
| Increased test coverage to 80.5%, documented public API to 100% (plus 100% rules coverage, 0% duplications, 0% package tangle index ...). See http://labs.consol.de/sonar/dashboard/index/org.jolokia:jolokia for more informations about Jolokia's code metrics. | roland |
| Fixed problem with URL encoding for GET request with the Java client library, which used to use URLEncoder.encode() and switched now to URI. See http://stackoverflow.com/questions/724043/http-url-address-encoding-in-java for details. | roland |
| Added processing options for the Java client | roland |
| Changed escaping scheme for GET URLs and paths so that a slash (/) can be escaped with an exclamation mark (!): / --> !/ | roland |
| Multiple attibutes can be added to GET read requests as a comma separated value list within the URL. | roland |
| Type | Changes | By |
|---|---|---|
| Added a dynamical attach mode for the JVM agent launcher (patch by Greg Bowyer). The agent now includes also a client for dynamically starting/stoping an agent on already running Java process. See the reference manual for more information. | roland |
| Support for upstream serialization of open type, i.e. CompositeData and TabularData. This allows for easy access to MXBeans, which provide support of transparent translation between plain Java objects and collections, which follow some restrictions, to open type data. Jolokia knows how to deal with the fixed format used by this MXBean translation of Maps and transparentrly dispatch this to a JSON map. Initial patch provided by asssaf. | roland |
| Type | Changes | By |
|---|---|---|
| Fixed issue with overloaded methods where one variant takes no arguments. This no-arg variant can be specified with the signature "()" after the operation name. | roland |
| Added HTTPS support for the JVM agent. In order to switch it on, the property "protocol=https" must be set and additional the properties "keystore" and "keystorePassword" for pointing to the keystore which holds the server side certificate. Client side certificate authentication is switched off currently alway. | roland |
| Fixed date handling when an MBean exports an attribute as date. It is now returned as an ISO-8601 formatted string, when used with a path "time" the epoch milliseconds are returned. Setting of date values and using dates as arguments for JMX operations is now also supported, the value can be given either in epoch milliseconds or as an ISO-86-1 formatted string. With a path "time" a given date value can be even updated for a write operation. | roland |
| Reworked "list" handling. It's now much faster when used with paths since it doesn't slurp in the whole meta and truncate it afterwards but does the right thing directly to only fetch the required information. The list handler respect now a 'maxDepth' request option for truncating the data from top down. 'maxDepth' works with paths, too. Comprehensive unit tests has been added as well. | roland |
| Added constructor to J4pListRequest() which takes an ObjectName as argument for fetching the meta data for a single MBean only. | roland |
| Type | Changes | By |
|---|---|---|
| Added a Knopflerfish detector and tested Jolokia with Knopflerfish 3.1 | roland |
| Fixed content-type in javascript library to "text/json" for requests (was "application/x-www-form-urlencoded") | roland |
| A search request will now return an empty list, not an error response with a 404 status code. A null result of a search query is considered to be a valid result, not an error condition. | roland |
| Added a OSGi bundle property org.jolokia.listenForHttpService which, if set to false, prevents the automatic registration of a JolokiaServlet to an OSGi HttpService (default: true) | roland |
| The activator in jolokia-osgi and jolokia-osgi-bundle can now use an OSGi restrictor service implementing org.jolokia.restrictor.Restrictor when bundle property org.jolokia.useRestrictorService is set to true. | roland |
| Added a servlet init parameter "policyLocation" for specifying the location of the policy file. This can be an URL or an string with prefix "classpath:". Default: "classpath:/jolokia-access.xml" | roland |
| Refactored restrictor handling and exported org.jolokia.restrictor in the OSGi bundles. JolokiaServlet can take now an Restrictor object as constructor parameter. | roland |
| Lookup of policy file with the same classloader as used for loading the jolokia classes if lookup failed with context loader added. | roland |
| jolokia.js: Works now with jQuery 1.5.1, too (but still doesn't use the advanced Ajax features) | roland |
| jolokia.js: Added an HTTP method upgrade to "post" if a proxy target is provided. | roland |
| jolokia.js: Add a trailing slash to the Jolokia URL if a "post" request is requested. | roland |
| Changed protocol in order to support JSON types for return values and write/exec parameters instead of only plain strings as it was before. | roland |
| Type | Changes | By |
|---|---|---|
| Reference Manual updated with sections about the OSGi agent and the new Roo addon. | roland |
| Jolokia Roo addon added. | roland |
| Added a Virgo detector (tested with 2.1) | roland |
| Added PGP signing for the deployed artifacts | roland |
| Introduced org.jolokia.osgi.servlet.JolokiaServlet which gets exported by the jolokia-osgi bundle and allows for programmatic registration of the servlet without the use of an OSGi HttpService. | roland |
| Update jolokia-osgi-bundle to include Felix's HttpService implementation (since its is a bit smaller and fits better due to the packages already included). Now the bundle can be deployed without dependencies at all on Felix and Equinox. I recommend to use the 'pure' bundle and a given HttpService, though. | roland |
| Fixed problem for Jetty Detector with Jetty Version < 6.1.4 and made server detection to more conservative so that the servlet starts up nevertheless when an exception occurs during the detection phase (call in the servlet's init method). | roland |
| Fixed registering of simplifiers, which allows for simplified serialization of well known objects like java.io.File or javax.management.ObjectName | roland |
| Type | Changes | By |
|---|---|---|
| The HTTP status code returned with a HTTP response does not reflect the status of the JMX operation itself. An HTTP error occurs only if an processing exception (like security constraint violations) happen on the top agent level, otherwise 200 is returned (even when an Jolokia response object contains an error). | roland |
| Added a Javascript client library including about 120 unit tests and a new section in the reference manual. | roland |
| Type | Changes | By |
|---|---|---|
| Fixed MBean registration issue with Websphere AS 7.0 where MBean registration via the MBeanRegistration intefaces causes the WAS MBeanServer to raise a NPE (but register the MBean nevertheless, so no rollback here). | roland |
| New request parameter "callback" allows for sending a response as JavaScript function (JSONP). For POST request this parameter must be given as URL parameter and is valid for bulk requests, too. | roland |
| Security policy can now be globally restricted to a certain HTTP method. Within the <http> section of the policy file, <method> tags define the allowed methods ("get" or "post"). If this section is missing, all methods are allowed. If only one method is given, the other is forbidden. | roland |
| Added an alias for MBean "jmx4perl:type=Config" to "jolokia:type=Config" for backwards compatibility with jmx4perl clients < 0.80 | roland |
| Change HttpClient to a thread safe connection manager by default, extended J4pClient construction with a builder pattern Fixes 14. | roland |
| Added a server detection facility (available via the 'version' command) and made 'version' the default command if no command is given in the request URL for a GET request. | roland |
| Added a "error_type" key to the Jolokia response in case of an remote exception, which will contain the Java class name of this error. Added getErrorType() to the J4pRemoteException for the Java-Client. | roland |