Technical blog

A more subdued subheader

ARender 4.0.6 release

logo

ARender 4.0.6 is available!

 

A detailed list of changes (release note) is available at this address, where many more features/bugfixes will be described than in this summarized version.

 

Quick recap; the up to date documentation for ARender 4.0.6 and up is at the following URL  :

 

Short word :

If you currently run an ARender 4.0.x installation, we recommend you to proceed to upgrade to ARender 4.0.6, as many corrections have been brought to this cumulative release.

 

New for ARender 4.0.6 :

 

✔️ Upgrade and tune the latest available Spring Boot 2 packages.

Following the upgrade from last version of ARender, ARender 4.0.6 now is on track with Spring boot releases. Version 2.1.9 is used, and we improved the look and feel of the application logs of ARender.

We reduced as well the amount of preloaded autoconfigurer from Spring framework in order to increase the boot to scrictly what each micro service will be using at runtime.

Dedicated version numbers will be printed at boot phase onto each micro service log file, along with a custom banner so it’s easier to understand which component of ARender is currently booting.

 

✔️ PDFBox micro service performance

After the JNIMicro service update from last version, it was the turn of PDFBox micro service to be tuned to reduce its required resources and therefor improve its throughput.

Tweaking the default memory usage of PDFBox and the way it handles its buffer; while as outputting those temporary files into ARender default’s temporary folder, PDFBox micro service got also corrected as it could be so far maintaining a too large amount of PDF files opened for processing in version 4.0.0 to 4.0.5-1.

Overall, PDFBox micro service will pressure less its memory and therefor will generate a more productive output.

 

✔️ Zone redaction

After improving the redact annotation last version, we thought it was due time to offer to the end users the possibility to redact documents which do not contain textual information.

Using a zone redact, the ARender users with redact rights will be able to view the content under the annotation, while the other users will see a version in which the content has been redacted from the document they are currently viewing.

As the redact was handling it in previous version of ARender, renditions will be temporarly stored as a temporary document for ARender, which means you do not have to store additionnal data in your ECM software just to handle redacted versions of documents once they need to be viewed.

 

✔️ Eureka : did we really made a discovery?

One big architectural change of ARender 4.0.6 is the removal of Eureka as a dependency of the entire rendition micro services stack.

The choice behind it was quite simple :

  • Our own production we manage do not rely on it
  • Eureka « bloated » the rendition for the use case we had for it

It had been 6 versions of ARender and we did not yet find a use case for « on-the-fly » detection of unknown (foreign?) micro services we could handle using Eureka.

In the meantime, we improved our internal « router » based on NLB (network load balancers) endpoints. Even foreign services would be soon able to register using our internal router.

The final deciding factor was that we do not rely on Eureka discovery features for Cloud provider instances, as ARender in our infrastructure is ran solely into Kubernetes and everything is isolated behind NLBs.

This leads us to the final big rework of ARender 4.0.6.

 

✔️ Libraries : time for a « Spring » cleanup!

While removing Eureka, we decided to take a look at what ARender could gain at slimming down its dependencies and improving the overall package size, which would translates as well in faster boot times. Not only did we remove some of them (mainly Eureka) we also made an homogenization of the libraries, and updates their versions, causing them as well to slim down on the overall package.

Results of the cleanup were very effective, the whole rendition backend can boot up to 4x faster (mostly due to eureka removal), and the package size reduction is the following :

  • Front end : from 79MB (4.0.5-1) to 55MB (4.0.6)
  • Rendition backend full package : 528MB (4.0.5-1) to 449 MB (4.0.6)

 

✔️ New website pages :

https://arender.io/compat

As we just modified and upgraded some third party libraries connecting us to (as an example) Elastic Search, we wanted to make sure that third party tools will remain compatible and that we support a wide range of their versions. On this landing page, you’ll be able to directly check the versions that are being integration tested by our CI which now publishes the results to this website. The whole integration testing is being done using a unique framework we developped, spawing docker containers or compose stacks then running a suite of integration Tests over this Stack. If the tests can run over the version of this third party tools, it is flagged as compatible.

https://arender.io/versions

This new webpage is being built from the Jira internal release schedule so that you can go and check directly what is the release plan for ARender, and the release dates for those versions.

We plan to improve this page with two new improvements in the near future :

  • Mark which versions are no longer supported
  • Include the short summary of the release