Currently, we have the following folder structure in the `logging-log4j-site` repository for the Log4j project:
- `log4j-1.2.17` – the website generated by the last Log4j 1 release, i.e, `1.2.17` - `log4j-1.2` – symlinks to `log4j-1.2.17` - `1.x` – symlinks to `log4j-1.2.17` - ... - `log4j-2.19.0` – the website generated by the `2.19.0` release - `log4j-2.20.0` – the website generated by the `2.20.0` release - `log4j-2.21.0` – the website generated by the `2.21.0` release - `2.x` – symlinks to `log4j-2.21.0` (the latest Log4j 2 release) I propose keeping existing folders as is (hence, *no changes to the existing URLs!*) and applying following practices: 1. *Add a `latest` symlink* pointing to the latest stable version. Today it will point to `2.x`, sometime in the future it will point to `3.x`. - This will make following URLs possible: https://logging.apache.org/log4j/latest - This convention is practiced by several other projects, e.g., Spring Boot: https://docs.spring.io/spring-boot/docs/current 2. *Redirect root to `latest`*, i.e., `logging.apache.org/log4j` will redirect to `logging.apache.org/log4j/latest` 3. *Don't create a new folder for every release, but override the `2.x` folder.* - This is okay, since we keep backward compatibility in minor+patch releases and explicitly provide version for features that are added later on (e.g., "starting from 2.17.0 Log4j provides X...") - We can set up CI jobs to periodically populate `1.x`, `2.x`, `3.x`, `4.x`, etc. websites and avoid the need to generate the website once and for all. - We will stop polluting the folder structure. As a matter of fact, I already implemented this convention for some projects. All the following URLs work: - `logging-parent` - logging.apache.org/logging-parent - logging.apache.org/logging-parent/latest - logging.apache.org/logging-parent/10.x - `logging-log4j-kotlin` - logging.apache.org/log4j/kotlin - logging.apache.org/log4j/kotlin/latest - logging.apache.org/log4j/kotlin/1.x - `logging-log4j-scala` - logging.apache.org/log4j/scala - logging.apache.org/log4j/scala/latest - logging.apache.org/log4j/scala/13.x - `logging-log4j-tools` - logging.apache.org/log4j/tools - logging.apache.org/log4j/tools/latest - logging.apache.org/log4j/tools/0.x - `logging-log4j-transform` - logging.apache.org/log4j/transform - logging.apache.org/log4j/transform/latest - logging.apache.org/log4j/transform/0.x Unless there are objections, I will update the CI in this direction and we all will enjoy automatically populated Log4j websites.