Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

26.03

As of this release the versioning of NumaHOP changes. It was previously using semantic versioning and now uses Calendar Versioning. We plan to do two releases per year in March and September which makes the version numbers for this year 26.03 and 26.09.

This release is mostly plumbing changes with a few bug fixes and a small improvement in the user interface.

Users

The button on the preview page for Document Units can now open the details page in a new tab by using Ctrl+Click.

A few bugs are now fixed:

  • Fix a bug in the Cines export were a distant XML dependency was inaccessible.
  • Fix a bug were the Internet Archive URL was wrong and added a system configuration for it.

Developers

The java code formatter was changed to spring-javaformat as there was multiple java formatters present in the codebase. This one is not configurable in any way, and it’s an advantage as we don’t have to argue about the configuration of the code formatter.

The queries in the JPQL were reformatted using multi-line strings because the concatenation was broken by the new formatter.

The Makefile was replaced by a justfile. Just is a true command runner as opposed to make which is intended to be a simple build system based on file timestamps. The justfile is more suited for executing commands and accepting arguments in rules. You can find the installation instructions for just here github.com/casey/just.

Improved the maven build option to give more control when building during development. This is achieved with profiles, which were used in the Makefile. A checks profile was added. It contains formatting validation. You can add the argument -Dfast or -P!checks to skip them for faster compile times. A docker profile was added for compiling the docker image. It is disabled by default. If you want to build the docker image for NumaHOP run mvn compile -Pdocker. A webappprofile was added. It is enabled by default. You can disable it with -Dskip-front-end. This will skip the bundling of the front-end code in the NumaHOP jar. Useful if you are working on the back-end to have faster compilation times. It pairs well with the front-end served by grunt locally.

A little bit of code documentation was present in the source but the tools to generate documentation sites were not configured. They are now (see: just doc).

Administrators

NumaHOP is now able to output structured logs in the ECS format. See the configuration options for more details. The feature that allowed the special user admin to download log files was removed as we consider anyone that can log in as this user should have access to the server hosting numahop and as such the log files present.

A new option for configuring the Elasticsearch separator between the prefix and the name of the indexes used by numahop was added: elasticsearch.index.separator.

The jsch dependency was updated making NumaHOP able to use newer ssh key algorithms (e.g. ed25519).

Here are the new config options with the deprecated ones:

oldnewdescription
logging.console.modeWhether the console should output in text or json.
logging.file.namelogging.file.text.nameName of the file to be used to store logs in text format.
logging.file.text.enableWhether text logs should be stored in a file.
logging.file.text.patternPattern used by the java logger to print the logs.
logging.file.text.rolling.enableIf file rolling should be enabled.
logging.file.text.rolling.patternDate pattern that should be appended to the file name.
logging.file.text.rolling.delete-older-thanNumber of days that NumaHOP should keep logs for.
logging.file.json.enableWhether structured logs should be stored in a file.
logging.file.json.rolling.enableIf file rolling should be enabled.
logging.file.json.rolling.patternDate pattern that should be appended to the file name.
logging.file.json.rolling.delete-older-thanNumber of days that NumaHOP should keep logs for.
elasticsearch.index.separatorThe separator between the elasticsearch.index.name prefix and the NumaHOP index names.
services.archive.s3-urlThe URL used for connecting to the Internet Archive uploads.