Menu

NewFeatures280

Ulf Dittmer

New and changed features in JForum 2.8.0

Information about upgrading from JForum versions 2.7.0 to 2.8.0 can be found at Upgrading to JForum 2.8.0


New Features and fixes

  • New feature: Registration can be restricted to particular email addresses or email addresses from particular domains, and then be auto-assigned to specific groups. E.g., this would allow a company to put all employees automatically into a group that has access to internal forums, whereas everybody else only sees the public forums, or you can restrict a forum to a particular set of people.
  • New Feature: The authenticity of outgoing emails can now be verified via DKIM. See "Setup" in https://github.com/markenwerk/java-utils-mail-dkim for more information on that.
  • Mobile view: The registration pages and the password recovery pages are now mobile-friendly
  • Fixed a bug with the pagination on search result pages
  • Development mode can be toggled on the Configurations page
  • (for admins) The list of users shows the registration date
  • Apache Tika has been removed from the codebase - it made the war file disproportionately large. The consequence is that only text and PDF attachments are indexed (and thus can be searched) now.
  • Removed buggy "most users ever online" metric
  • Removed switch to disable bookmarks - they're always available now. Set bookmarks to "private" when saving them to prevent others from seeing them.
  • A minimum password length can now be set; by default it's 8.
  • It's now possible to log in with the email address as well as username, as that is what users expect these days.
  • The board timezone is now configurable (see Admin -> Configurations) for a more accurate date display, and dates now consider the board's and the user's locale. Also fixed a few cases where dates weren't properly I18N-ized.
  • Fixed XSS issue with user signatures
  • Fixed search bug when grouping results by forum
  • Fixed bug with banners where only quite short custom HTML code segments were possible
  • Show full-size popup when hovering over the thumbnail of an attached image
  • Improvement: A new DB connection pool (HikariCP instead of C3P0) is now the default, which has much better performance (setting database.connection.implementation)

Libraries

  • updated Apache Commons IO from 2.7 to 2.11.0
  • updated Apache Commons Lang3 from 3.10 to 3.12.0
  • updated Apache Commons Text from 1.8 to 1.9
  • updated Apache Lucene from 8.5.2 to 8.10.1
  • added Apache PDFBox 2.0.24
  • removed Apache Tika
  • updated FreeMarker from 2.3.30 to 2.3.31
  • updated jQuery from 3.5.1 to 3.6.0
  • updated Jsoup from 1.13.1 to 1.14.3
  • added HikariCP 4.0.3
  • updated HSqlDB from 2.5.1 to 2.5.2
  • updated JUnit from 4.13 to 4.13.2
  • updated MySQL driver from 5.1.49 to 8.0.27
  • updated SQLServer driver from 8.2.2 to 9.4.0
  • updated Oracle driver from 19.6.0.0 to 21.3.0.0
  • updated PostgreSQL driver from 42.2.14 to 42.3.1
  • updated PrettyTime from 4.0.5 to 5.0.2
  • updated SLF4J from 1.7.30 to 1.7.32

New Configurations

Entry name Default value Description
mail.dkim.signingDomain - The signing domain to be used. Usually corresponds to the ${mail.sender} property.
mail.dkim.selector default The selector does not usually need to be changed
mail.dkim.derFile - The full path to the file that contains the DER encoded RSA private key.
mail.dkim.identity ${mail.sender} The identity of the signer. Should be in the same domain as, or a subdomain of, the signing domain.
password.min.length 8 The minimum allowed length of the user password.
dateTime.timezone - The timezone to use for displaying dates in tz format - something like "Europe/Berlin", "America/New_York" or "Asia/Taipei". See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for a list of possibilities. Leave blank to use the system default.
registration.emailNotMatching.enabled false Whether emails not matching the registration emails/domains can register (and be assigned to defaultUserGroup). Set to false to allow only the specified emails/domains to register.

Database Schema

CREATE TABLE jforum_registrations (
email VARCHAR(100) NOT NULL,
group_id INT NOT NULL
);

ALTER TABLE jforum_registrations ADD FOREIGN KEY (group_id) REFERENCES jforum_groups(group_id);

ALTER TABLE jforum_banner ALTER COLUMN banner_name TYPE VARCHAR(1024);


Related

Wiki: UpgradingFrom270to280
Wiki: UpgradingFrom281to282

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.