These release notes reflect the changes with respect to ReportServer 4.7.4.
IMPORTANT
With the release of ReportServer 5.0, Java 21 or later is required. Older Java versions are no longer compatible, as ReportServer has been updated to leverage the latest features and improvements.
Users must upgrade their Java runtime to Java 21 or newer before deploying ReportServer 5.0. Running it on an earlier Java version is not possible.
IMPORTANT
The previously used MySQL 5 driver has been replaced with a newer version, as MySQL 5 itself reached End-of-Life (EOL) in October 2023. Continuing to support MySQL 5 as an RS Metadata DB is no longer viable. As a result, MySQL 5 is no longer supported for use as an RS Metadata DB. Users who still wish to use MySQL 5 as a datasource can manually download and install the old driver. However, it is important to note that the old driver can only be used for datasources and is no longer supported for the RS Metadata DB itself.
A new option has been added to the Tools dropdown menu, allowing users to reload the configuration directly from the interface. This eliminates the need to manually enter the reload command in the console, streamlining the process for easier and more efficient configuration management.
The syntax of Markdown code is now highlighted, as illustrated in the screenshot below. Additionally, a "copy" button has been added to facilitate easy clipboard copying of the code.
For enabling code highlighting, use the standard Markdown syntax, e.g. for Groovy:
```groovy
... your groovy code ...
```
ReportServer now allows you to configure strictHostKeyChecking globally for all SFTP and SCP datasinks via the /security/misc.cf configuration file. Additionally, this setting can be overridden on a per-datasink basis by specifying it explicitly for individual datasinks within the configuration. This allows for flexibility in cases where certain connections require different handling.
The default setting is "true", which is recommended for production environments. This ensures a higher level of security by verifying the host key before establishing a connection, preventing man-in-the-middle attacks. Changing this setting to "false" should only be done if you fully understand the implications, as it can expose your system to security risks, such as unauthorized access or data interception.
The complete /security/misc.cf configuration file is shown below.
The user information window now displays the TeamSpaces a user is part of, providing better visibility and easier access to TeamSpace memberships. For each TeamSpace, the user’s assigned role (e.g., Manager, User) is shown next to it.
The JasperReports version is now included in the "General Info" section of the System Console, providing quick access to this information directly within the System Console.
The file and query edit popups now open in a maximized state by default. Additionally, they include buttons to restore its original size and toggle between collapsed and maximized views (see next screenshots).
The redirect URI for OAuth2-authenticated datasinks (e.g., Dropbox, OneDrive – SharePoint (O365), Google Drive, Box) can now be configured in the datasinks/datasink.cf configuration file. If no custom URI is specified, the system will use the default URI, just like in previous ReportServer versions.
The contents of the General Info system panel can now be easily copied to the clipboard for further analysis. Please refer to the screenshot below.
When a script datasink is scheduled, the new job variable provides access to the corresponding scheduler job instance, which is an instance of ReportExecuteJob.
The following example demonstrates how to retrieve the list of job recipients and include them in the email content:
package net.datenwerke.rs.samples.tools.email
import net.datenwerke.rs.core.service.mail.MailBuilderFactory
import net.datenwerke.rs.core.service.mail.MailService
import net.datenwerke.security.service.usermanager.UserManagerService
import net.datenwerke.rs.utils.misc.MimeUtils
import net.datenwerke.rs.core.service.mail.SimpleAttachment
import java.nio.file.Paths
import java.time.LocalDateTime
def mailBuilder = GLOBALS.getInstance(MailBuilderFactory)
def mailService = GLOBALS.getInstance(MailService)
def userService = GLOBALS.getInstance(UserManagerService)
def mimeUtils = GLOBALS.getInstance(MimeUtils)
// the user ids. They have to exist and the ids are passed as long (L)
def to = [123L]
def subject = 'Script datasink'
def content = "ReportServer script datasink ${LocalDateTime.now()} job recipients ${job.recipients}"
// name of the zip
def attachmentFilename = 'data.zip'
def attachments = [
new SimpleAttachment(data, // you can also use report
mimeUtils.getMimeTypeByExtension(datasinkConfiguration.filename),
datasinkConfiguration.filename),
// add the script
new SimpleAttachment(script.data, script.contentType, script.name)
]
def mail = mailBuilder.create(
subject,
content,
to.collect{userId -> userService.getNodeById(userId)})
.withAttachments(attachments)
.withZippedAttachments(attachmentFilename)
.build()
mailService.sendMail mail
A new button has been added to the Scheduled Reports interface, allowing users to clear all applied filters with a single click.
RS-6928 | New Feature | Configuration Reload Button in Tools Menu |
RS-8402 | New Feature | Code highlighting im rendered markdown |
RS-8486 | New Feature | Display the TeamSpaces a user belongs to within the user information window |
RS-8571 | New Feature | Allow to copy code in Markdown per button |
RS-8593 | New Feature | Added variable "job" containing the corresponding scheduler job instance if the script datasink has been scheduled |
RS-8610 | New Feature | Print JasperReports version in General Info System Console |
RS-8611 | New Feature | Allow to display velocity template results per URL |
RS-8630 | New Feature | Allow to update license information without logging into ReportServer |
RS-8635 | New Feature | Allow to configure SSH StrictHostKeyChecking globally |
RS-8637 | New Feature | Allow to configure SSH StrictHostKeyChecking per datasink |
RS-8848 | New Feature | Allow to configure OAuth2 datasink redirect URI |
RS-8850 | New Feature | Allow to copy General Info data easily to clipboard |
RS-8925 | New Feature | LDAP: Allow configuring deleting groups |
RS-7529 | Improvement | reportserver$ is not visible in terminal |
RS-7665 | Improvement | Improve german translation for "Executor" |
RS-8495 | Improvement | Allow implicit boolean values in FileServerAccessServlet |
RS-8682 | Improvement | Upgrade GWT to 2.9.0 |
RS-8685 | Improvement | Upgrade gwt-servlet to 2.9.0 |
RS-8688 | Improvement | Remove servlet-api-2.4.jar dependency |
RS-8690 | Improvement | Upgrade requestfactory-server to 2.9.0 |
RS-8691 | Improvement | Remove xml-apis-1.4.01.jar dependency |
RS-8749 | Improvement | Add step-by-step OneDrive / Sharepoint O365 guide |
RS-8809 | Improvement | File edit popup - maximized by default with resize options |
RS-8847 | Improvement | Query popup - maximized by default with resize options |
RS-8849 | Improvement | Improve the alignment of member configuration in the group form |
RS-8854 | Improvement | License: Improved error message for mismatched server IDs and for other root causes |
RS-8864 | Improvement | Upgrade mysql-connector-j to 9.2.0 |
RS-8868 | Improvement | Upgrade postgresql to 42.7.5 |
RS-8869 | Improvement | Upgrade checker-qual to 3.48.3 |
RS-8872 | Improvement | Improve cache behavior when upgrading ReportServer |
RS-8873 | Improvement | Upgrade mariadb-java-client to 3.5.2 |
RS-8874 | Improvement | Upgrade groovy to 4.0.26 |
RS-8879 | Improvement | Upgrade groovy-astbuilder to 4.0.26 |
RS-8880 | Improvement | Upgrade groovy-cli-picocli to 4.0.26 |
RS-8881 | Improvement | Upgrade groovy-datetime to 4.0.26 |
RS-8882 | Improvement | Upgrade groovy-dateutil to 4.0.26 |
RS-8883 | Improvement | Upgrade groovy-json to 4.0.26 |
RS-8884 | Improvement | Upgrade groovy-jsr223 to 4.0.26 |
RS-8885 | Improvement | Upgrade groovy-macro to 4.0.26 |
RS-8886 | Improvement | Upgrade groovy-nio to 4.0.26 |
RS-8887 | Improvement | Upgrade groovy-servlet to 4.0.26 |
RS-8888 | Improvement | Upgrade groovy-sql to 4.0.26 |
RS-8889 | Improvement | Upgrade groovy-templates to 4.0.26 |
RS-8890 | Improvement | Upgrade groovy-xml to 4.0.26 |
RS-8891 | Improvement | Upgrade picocli to 4.7.6 |
RS-8916 | Improvement | Better default column widths in group form |
RS-8935 | Improvement | Remove encoding from file attachment name in emails |
RS-8943 | Improvement | Errors in Markdown should not stop rendering, but error should be shown in rendered page |
RS-8965 | Improvement | Improved window focus when adding parameters |
RS-8969 | Improvement | Empty Markdown files should render an empty file |
RS-9046 | Improvement | Scheduler view: do not show "New Scheduler Job" button if user does not have Scheduler Exec permission |
RS-9052 | Improvement | Add simple client license validation before sending to server to validate |
RS-9054 | Improvement | Improve some Saiku translations |
RS-9064 | Improvement | Add "clear filter" button to scheduler view |
RS-8507 | Bug | DEMO data can not be installed |
RS-8913 | Bug | Fix problem with license initialization in some scenarios |
RS-8922 | Bug | Deleted LDAP groups are not displaying their correct name in ldapinfo terminal command result |
RS-8987 | Bug | Parameter key is not shown in parameter drop down menu |
RS-9023 | Bug | Dynamic list displays incorrect counter when exactly one record is present |
RS-9025 | Bug | restrictTo is not working if users element is not present in urlView.cf configuration file |
RS-9026 | Bug | Super users are not seeing elements in urlView.cf configuration file if restrictedTo element found |