diff --git a/CHANGELOG.md b/CHANGELOG.md index ebdeb4bf..321e3b2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,31 @@ # Changelog +## [5.0.0] + +CommaFeed is now powered by Quarkus instead of Dropwizard. Read the rationale behind this change in +the [announcement](https://github.com/Athou/commafeed/discussions/1517). +The gist of it is that CommaFeed can now be compiled to a native binary, resulting in blazing fast startup times (around +0.3s) and very low memory footprint (< 50M). + +- CommaFeed now has a different package for each supported database. + - If you are deploying CommaFeed with a precompiled package, please + read [this section of the README](https://github.com/Athou/commafeed/tree/master?tab=readme-ov-file#download-a-precompiled-package). + - If you are building CommaFeed from sources, please + read [this section of the README](https://github.com/Athou/commafeed/tree/master?tab=readme-ov-file#build-from-sources). + - If you are using the Docker image, please read the instructions on + the [Docker Hub page](https://hub.docker.com/r/athou/commafeed). +- Due to the switch to Quarkus, the way CommaFeed is configured is very different (the `config.yml` file is gone). + Please + read [this section of the README](https://github.com/Athou/commafeed/tree/master?tab=readme-ov-file#configuration). + Note that some configuration elements have been removed or renamed for consistency. +- Added a setting to prevent parsing large feeds to avoid out of memory errors. The default is 5MB. +- Use a different icon for filtering unread entries and marking an entry as read (#1506) +- Added various HTML attributes to ease custom JS/CSS customization (#1507) +- The Redis cache has been removed. There have been multiple enhancements to the feed refresh engine and it is no longer + needed, even for instances with a large number of feeds. +- The H2 migration tool that automatically upgrades H2 databases from format 2 to 3 has been removed. If you're using + the H2 embedded database, please upgrade to at least version 4.3.0 before upgrading to CommaFeed 5.0.0. + ## [4.6.0] - switched from Temurin to OpenJ9 as the JVM used in the Docker image, resulting in memory usage reduction by up to 50% diff --git a/README.md b/README.md index b17ea2c9..8111211c 100644 --- a/README.md +++ b/README.md @@ -65,11 +65,11 @@ memory usage. When the build is complete: -- if you used the native profile, the executable is located at - `commafeed-server/target/commafeed-----runner[.exe]` -- if you did not use the native profile, a zip containing all jars required to run the application is located at +- a zip containing all jars required to run the application is located at `commafeed-server/target/commafeed--.zip`. Extract it and run the application with `java -jar quarkus-run.jar` +- if you used the native profile, the executable is located at + `commafeed-server/target/commafeed-----runner[.exe]` ### Memory management (`jvm` package only) @@ -107,7 +107,7 @@ This is the JVM used in the [Docker image](https://github.com/Athou/commafeed/bl There are multiple ways to configure CommaFeed: -- a properties file in `config/application.properties` (keys in kebab-case) +- a [properties](https://en.wikipedia.org/wiki/.properties) file in `config/application.properties` (keys in kebab-case) - Command line arguments prefixed with `-D` (keys in kebab-case) - Environment variables (keys in UPPER_CASE) - an .env file in the working directory (keys in UPPER_CASE) @@ -126,8 +126,13 @@ CommaFeed only requires 3 properties to be configured: - e.g. for MariaDB: `jdbc:mariadb://localhost/commafeed?autoReconnect=true&failOverReadOnly=false&maxReconnects=20&rewriteBatchedStatements=true&timezone=UTC` +When logging in, credentials are stored in an encrypted cookie. The encryption key is randomly generated at startup, +meaning that you will have to log back in after each restart of the application. To prevent this, you can set the +`quarkus.http.auth.session.encryption-key` property to a fixed value (min. 16 characters). + All other [CommaFeed settings](commafeed-server/src/main/java/com/commafeed/CommaFeedConfiguration.java) -are optional and have sensible default values. +are optional and have sensible default values. Quarkus settings can be +found [here](https://quarkus.io/guides/all-config). When started, the server will listen on http://localhost:8082. The default user is `admin` and the default password is `admin`.