6.5.1 Release Notes

Release Information

Release Date: May 10, 2016


Major Features

Platform Server Health Checks and Recoverability

The Apprenda Platform now performs configurable automatic health checks on all of its component servers, and health checks can be triggered on-demand as well.  If a server is found to be unhealthy or to require manual attention, it is automatically transitioned to the appropriate "state" in the System Operations Center (SOC) server index, and the Platform will avoid performing deployments to that server until it is transitioned back to a "healthy" state.  Apprenda will also maintain a historical record of health check results which can be referenced for any necessary troubleshooting.

Self-Healing Capability for Inconsistencies Between Platform Metadata and Physical Artifacts

The Apprenda Platform now performs configurable automatic checks which compare Platform metadata records against actual deployed physical artifacts on host servers, and will resolve any inconsistencies so that normal functioning of the Platform is not affected adversely and no orphaned objects are left behind after their references are removed.

Redesigned Guest Application Promotion Workflow

When promoting guest application versions from one lifecycle stage to another through Apprenda's Developer Portal, the success or failure of individual steps is now tracked in a new reporting form that is updated with real-time feedback from each step as it completes.  In addition, the promotion process can now be canceled manually mid-process, and Developer Portal functionality unrelated to the application version actively transitioning between stages can now be accessed while the promotion is running. 


Minor Features/Improvements

  • The Developer Portal now more accurately reflects the state of guest application metadata, refreshing visual displays of that metadata more frequently, and now offers an indicator of time elapsed since the last refresh as well as the option to manually refresh displayed data on a given screen.
  • The Apprenda Maintenance Mode command-line tool has been introduced to allow Platform Operators to transition Platform servers to different states for maintenance purposes.
  • Windows 10 is now supported for installations of the Apprenda Platform through the trial Developer install workflow.
  • Apprenda's Software Development Kit now supports Visual Studio 2015.


Please Note: Upgrades Not Supported

Upgrading from any previous Apprenda version is not supported in this release.  Upgrades will again be supported in subsequent 6.5.x releases, and the ability to upgrade from this release to subsequent Apprenda releases will also be supported.


Bug Fixes

Apprenda Installer

  • The Apprenda Installer was not validating the repository path input field correctly to allow for slashes in network paths.
  • If an Apprenda environment is being installed with Platform-wide SSL encryption enabled, certificate validation would not surface useful error messaging in some scenarios.
  • The Apprenda Installer's "Cancel" button would occasionally be enabled when it should be disabled, and intermittently would fail to cancel a running Installer process when it should be able to.

System Operations Center (SOC)

  • When editing an existing Java Hosting Container through the SOC, an "Enabled" checkbox option for the hosting container was incorrectly offered.
  • On the Servers overview list page in the SOC, the percentage bar in the "Memory Capacity" column was not correctly displaying the actual memory consumption on a Platform server.
  • On servers' overview pages in the SOC, servers were marked as in an "Offline" state regardless of what state they were actually in.


  • In specific scenarios on an Apprenda environment where Platform-wide SSL encryption was enabled, internal Platform traffic encryption was not enabled, and a Platform server designated as a Load Manager host was also designated as a .NET user interface deployment host, the Platform would not be able to route UI traffic correctly to that server.
  • When enabling internal encryption on an Apprenda environment and allowing the Installer to generate a self-signed encryption certificate, the certificate generation process was not setting the AuthorityKeyIdentifier to the correct value.

Developer Portal and Tools

  • Moving back and forth quickly between the Add-Ons and Applications list views in the Developer Portal would cause the list views to become scrambled.
  • Apprenda's Developer Portal was incompatible with 3rd-party load balancers which manipulate HTTP protocol headers.

Guest Application Creation and Management

  • The guest application archive upload validation process was not surfacing a warning if the Java Runtime Environment version defined in the archive's Deployment Manifest was disabled.
  • When patching a guest application through the Developer Portal, no indication was given in the Target Stage field which choice would serve as the default if nothing was selected.
  • Some long-running Platform operations, including guest app promotions, would fail with an error relating to a failure to acquire a mutex within a set time window.
  • When promotion of a guest application version failed, the process indication spinner still appeared to show the promotion as ongoing, even though a failure message was displayed as expected.
  • When exporting logs for a specific guest application version, logs for all existing versions of the app would incorrectly be included.
  • When patching a guest application and promoting it to the Sandbox stage as part of a unified workflow in the Developer Portal, if the patching step failed, the Portal UX would temporarily appear to show that the promotion to Sandbox had succeeded.
  • In certain circumstances when the Apprenda Platform attempted to undeploy an existing guest Java application workload, the Platform would believe that the undeploy had been successful even though the physical object was left behind.
  • Guest application Windows Service processes would intermittently be left running even when they were marked as "Stopped" by the Apprenda Platform.
  • If a guest Java application was configured to use a custom launch URL, that app would fail to promote to the Sandbox stage.
  • When patching a guest application in the Developer Portal, warning messages generated by the patching process would not be surfaced in the patch workflow results.
  • When viewing deployed Windows Service instances for a guest application on the Developer Portal's "Monitor" tab, ports mapped to those deployed instances were not displaying correctly.
  • If an Apprenda user who was not granted "View Workloads" securable privileges attempted to navigate to a guest application dashboard in the Developer Portal, the portal display would surface an error.


  • With Resource Throttling enabled on an Apprenda environment, error logs would sometimes be generated when the throttling sweep could not find a guest Java application workload that had been undeployed.
  • The .NET guest application API "ITenantRole.GetSecurables()" method was returning an error when called (this issue was introduced in the Apprenda 6.5.0 release).
  • In certain workflows when using the Oracle database account name "TENANT", if a Tenant using that account info was onboarded to a guest Oracle application and its DB info was then moved to an off-Platform-hosted database instance, that Tenant would then not be able to be onboarded to any other Oracle apps.
  • When a guest application Linux Service process was ended, the Platform would repeatedly fail to start up a replacement process during the recovery attempt.
  • If the Apprenda Platform Coordination service's listening ports were blocked for any reason, its attempts to recover would generate memory/CPU leaks.
  • On environments with an External User Store enabled, the Java guest application API "ApprendaGuestApp.getContext().getUser()" endpoint was incorrectly returning a null value if the user in question had been granted access to the app through a group authorization change instead of a change unique to the individual user.


Note: Several security fixes related to authentication/user sessions, which were present in the 6.5.0 release, are excluded from this release but will be re-introduced in subsequent releases.