Payara Platform 5.193.1 Release Notes

Supported APIs and Applications

  • Java EE 8 Applications

  • MicroProfile 2.2 (excluding MicroProfile Metrics 1.1)

  • MicroProfile Metrics 2.0

  • Jakarta EE 8

Notes

Jakarta EE TCK Compatibility

With the public release of 5.193.1, Payara Server Full is now officially certified as Jakarta EE compatible!

JDK11

In this release, JDK11 support is still in tech preview. Although it may work without problems in production we cannot guarantee that this will be the case.

Guava Removal

PAYARA-3939 removed Guava from the Payara codebase. This is important when upgrading your domain since previously if application used Guava it may have worked with Guava as only a compile dependency. After upgrading this will not be the case, and you should provide Guava yourself.

Master Password Changes

PAYARA-4031 addressed a problem with changing the master password for nodes. In previous releases, changing the master password for only a domain before attempting to start an instance on another node would render that instance unusable. This fix changed the functionality of running change-master-password against a node. It now will not interact with any keystores, only the saved password file. This makes the master password change work the way we believe was originally intended: you need to run the command against each node after changing the domain master password before starting those instances.

5.193 Updates

New Features

  • [PAYARA-3573] - Dynamic Instances

  • [PAYARA-3830] - Support Metrics 2.0

  • [PAYARA-3850] - Aggregate data onto Monitoring App

  • [PAYARA-3864] - Support Java Serialization in EJB HTTP Client

  • [PAYARA-3876] - Add profiles for building dev version of Payara with full source embedded

  • [PAYARA-3885] - Implement "Parameterized" dynamically resolved role names for @RolesPermitted annotation

Improvements

  • [PAYARA-3218] - Add Deployment Performance Analyzer

  • [PAYARA-3492] - Upgrade JLine version to v3.x

  • [PAYARA-3691] - Support reading WSDL files from WEB-INF

  • [PAYARA-3792] - asadmin command to return the DN of Client Certificate

  • [PAYARA-3821] - Add asadmin command to reset AMX metrics

  • [PAYARA-3824] - Use KeyID from JWT header to find public key in JSON Web Key Set [Community Contribution: lreimer]

  • [PAYARA-3825] - Validity check and auto-refresh for OpenID connect tokens. [Community Contribution: parysto]

  • [PAYARA-3868] - Repeated NPE printed to console with Payara Micro after sitting idle

  • [PAYARA-3883] - Move the groupsearcherror to a separate logger

  • [PAYARA-3902] - Support protocol V1 for JSON-B serialization

  • [PAYARA-3903] - Improve support for interface return and parameter types for Json-B

  • [PAYARA-3913] - Instantiating wrappers - from 'new Wrapper(arg)' to 'Wrapper.valueOf(arg)' [Community Contribution: dvmarcilio]

  • [PAYARA-3914] - SonarQube - Replacing raw Collections EMPTY_…​ fields with generic methods empty…() [Community Contribution: dvmarcilio]

  • [PAYARA-3915] - SonarQube - Using Wrapper.parseWrapper() when converting String to primitive [Community Contribution: dvmarcilio]

  • [PAYARA-3916] - SonarQube - Optimizing String.lastIndexOf() for single char in appserver [Community Contribution: dvmarcilio]

  • [PAYARA-3917] - SonarQube - Optimizing String.lastIndexOf() for single char in nucleus [Community Contribution: dvmarcilio]

  • [PAYARA-3918] - Fixed typo in path [Community Contribution: johnmanko]

  • [PAYARA-3919] - SonarQube - Iterating on entrySet() instead of keySet() when key and value are needed [Community Contribution: dvmarcilio]

  • [PAYARA-3964] - Allow configuration of MDB bean pool size with ActivationConfigProperty

  • [PAYARA-3988] - Dynamic Docker Node Instances

  • [PAYARA-3990] - Support definition of tags for custom MicroProfile JMX vendor metrics

  • [PAYARA-4002] - Replace stats77 module with management-api

  • [PAYARA-4015] - Replace synchronised classes with unsynchronised in admingui/common-console [Community Contribution: svendiedrichsen]

  • [PAYARA-4034] - Cleanup of sonar warnings for common/amx-core

  • [PAYARA-4064] - Stabilize creation of default domain in build

  • [PAYARA-4065] - Reinitialize PayaraExecutorService on embedded server restart

  • [PAYARA-4073] - Use correct constructor of NotAuthorizedException in RolesAllowedRequestFilter

Security

  • [PAYARA-3881] - CVE-2019-12086 Jackson Databind upgrade

Bug Fixes

  • [PAYARA-3101] - MicroProfile endpoints security support

  • [PAYARA-3698] - ! no longer allowed in admin password when using multimode asadmin

  • [PAYARA-3703] - update_file_user command fails when there are instances based on a different config.

  • [PAYARA-3736] - unsatisfied dependency HazelcastConfigSpecificConfiguration after migration from Payara 4 to 5 by backup and restore strategy

  • [PAYARA-3756] - High Memory Usage in Grizzly caused by large Object arrays remaining in memory

  • [PAYARA-3789] - DN representation of Client Certificate isn’t uniform across Payara

  • [PAYARA-3797] - JDBC Connection Pool Flush when targeting Deployment Groups/Instances

  • [PAYARA-3815] - Support Remote Lookup of administered objects

  • [PAYARA-3822] - Some AMX metrics missing after server restart

  • [PAYARA-3860] - Race Condition When Starting Instance on JDK11 with Payara Server Full

  • [PAYARA-3875] - Update Docker Node Image Name

  • [PAYARA-3880] - Saving JVM Options corrupts the domain.xml

  • [PAYARA-3884] - Payara Micro adds JDK 11 warning when exploded application deployed

  • [PAYARA-3887] - Sonar issues sweep

  • [PAYARA-3895] - Check for if name is in use by deployment group is wrong

  • [PAYARA-3908] - JAX-RS Providers duplicated when CDI is enabled

  • [PAYARA-3909] - You can’t use any of the variable types in JDBC connection pool settings

  • [PAYARA-3911] - Payara Server incorrectly detects Java version if it’s different from the one used by the launcher [Community Contribution: vlumi]

  • [PAYARA-3922] - NamingException for certain situations when JAX-RS resource is defined as Stateless EJB.

  • [PAYARA-3931] - Revert the removal of 'java.ext.dirs' and 'java.endorsed.dirs` properties

  • [PAYARA-3968] - Payara Micro Postboot Script asadmin Commands Incorrect Quotation Mark Parsing

  • [PAYARA-3992] - JsonB serialization error when using Custom serializer

  • [PAYARA-3996] - Ensure that the TimerWrapper references correct EJBTimerService [Community Contribution: realityforge]

  • [PAYARA-4000] - A REST management DELETE command returns 415 code instead of 404

  • [PAYARA-4012] - Delete unused and unmaintained javaee-api modules

  • [PAYARA-4026] - MP Fault Tolerance fails on 2.0.1

  • [PAYARA-4028] - PostConstruct setting values are lost in Clustered Startup Singleton EJB within WAR/EAR

  • [PAYARA-4031] - Master Password synchronization inconsistencies across nodes

  • [PAYARA-4043] - Get rid of jvnet-parent

  • [PAYARA-4044] - ejbCreate method not invoked for EJB

  • [PAYARA-4045] - Tests with embedded EJB container fail to start

  • [PAYARA-4046] - TimerService not injected to HelloBean (ejb30)

  • [PAYARA-4047] - Entity timer looses primary key

  • [PAYARA-4049] - TCK requires no string interpolation in env entries

  • [PAYARA-4052] - Instance not created at end of aroundConstruct interceptor chain

  • [PAYARA-4054] - Not all timer methods throw exception on expired timer

  • [PAYARA-4058] - non-api public method in javax.faces.webapp.FacesServlet

  • [PAYARA-4062] - Failures in concurrency suite

  • [PAYARA-4067] - JSON-B API not present on AppClient classpath

  • [PAYARA-4076] - Docker: correct exposed ports

  • [PAYARA-4081] - Arquillian container does not pass CDI exceptions correctly to TCK runner

  • [PAYARA-4081] - glassfish-ejb-jar_3_1-1.dtd: Element type property declared more than once [Community Contribution: pzygielo]

  • [PAYARA-4091] - payara-embedded s1as key expired

  • [PAYARA-4092] - JVM Options page shows error on RC1

  • [PAYARA-3928] - NPE when using enabling notifications via the CDI event bus

Tasks

Component Upgrades

5.193.1 Updates

New Features

  • [PAYARA-4027] - Add timeout parameter to start-deployment-group command

Bug

  • [PAYARA-3500] - Admin console shows incorrect virtual servers for MP health and metrics targets

  • [PAYARA-3501] - Configuration changes in MP health and metrics in Admin console don’t warn about restart needed

  • [PAYARA-4025] - REGRESSION: Setting context root with app.war:context stopped working in Payara Micro 5.192

  • [PAYARA-4055] - Jaxrs client obtained from the request context must be the same instance

  • [PAYARA-4077] - CDI test EnterpriseSecurityContextPropagationInAsyncObserverTest fails

  • [PAYARA-4078] - CDI InterceptorEnvironmentJNDISessionBeanTest fails

  • [PAYARA-4083] - Unsatisfied dependencies for type YubicoAPI in CDI TCK

  • [PAYARA-4087] - Allow use of single char operands in payara micro commands

  • [PAYARA-4104] - Disabling Hazelcast for 5.193 Server causes startup failure

  • [PAYARA-4113] - Post Boot Commands Don’t Print Failure Cause

  • [PAYARA-4115] - List-Nodes-Docker Command Fails with Invalid Number of Columns

  • [PAYARA-4122] - Unable to acquire global lock for resolve payara-micro-service

  • [PAYARA-4123] - Async errors are missing in resumed response

  • [PAYARA-4125] - MP HealthCheck NPE from when first saving values in admin console

  • [PAYARA-4131] - java.lang.ClassNotFoundException: org.glassfish.admin.rest.resources.generatedASM.DomainResource not found by org.glassfish.main.admin.rest-service

  • [PAYARA-4140] - ResourceValidator fails on jms/ee20/cditests/ejbweb

  • [PAYARA-4146] - JavaMail Fails to Load Default Providers