---
layout: post
title: "Apache Doxia Site Tools Version 2.0.0-M5 Released"
date: '2023-02-23T15:22:22+00:00'
permalink: apache-maven-doxia-sitetools-2-0-0-M5
categories:
  - Maven-Doxia-Site-Tools
  - Maven-Components
---
The Apache Maven team is pleased to announce the release of the
[Doxia Site Tools](https://maven.apache.org/doxia/doxia-sitetools/) Version 2.0.0-M5,
Released

Doxia Sitetools is an extension of base Doxia component that generates either
HTML sites, consisting of decoration and content that was generated by Doxia,
or documents like RTF or PDF.

You can download the appropriate sources etc. from the download page:

https://maven.apache.org/doxia/doxia-sitetools/download.cgi

[Release Notes - Maven Doxia base - Version 2.0.0-M5](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317320&version=12352573)

* Improvement:
  * [DOXIASITETOOLS-278](https://issues.apache.org/jira/browse/DOXIASITETOOLS-278) - Remove menu items link in the sidebar to submodule that do not generate any site in the same build

* Tasks:
  * [DOXIASITETOOLS-281](https://issues.apache.org/jira/browse/DOXIASITETOOLS-281) - Deprecate SiteTool#getParentProject() in favor of MavenProject#getParent()
  * [DOXIASITETOOLS-282](https://issues.apache.org/jira/browse/DOXIASITETOOLS-282) - Deprecate support for Maven 1.x style site directory layout
  * [DOXIASITETOOLS-285](https://issues.apache.org/jira/browse/DOXIASITETOOLS-285) - Deprecate SiteRenderingContext#defaultWindowTitle in favor of SiteRenderingContext#defaultTitle
  * [DOXIASITETOOLS-287](https://issues.apache.org/jira/browse/DOXIASITETOOLS-287) - Remove Google-related site descriptor properties

* Dependency upgrades:
  * [DOXIASITETOOLS-279](https://issues.apache.org/jira/browse/DOXIASITETOOLS-279) - Upgrade to Maven Reporting API 4.0.0-M4
  * [DOXIASITETOOLS-280](https://issues.apache.org/jira/browse/DOXIASITETOOLS-280) - Upgrade to Doxia 2.0.0-M5
  * [DOXIASITETOOLS-283](https://issues.apache.org/jira/browse/DOXIASITETOOLS-283) - Require Doxia Sitetools 2.0.0-M5 by default in skin model
  * [DOXIASITETOOLS-284](https://issues.apache.org/jira/browse/DOXIASITETOOLS-284) - Upgrade to Maven Fluido Skin 2.0.0-M2 in default site descriptor
  * [DOXIASITETOOLS-286](https://issues.apache.org/jira/browse/DOXIASITETOOLS-286) - Upgrade Parent to 39


Enjoy,

- The Apache Maven team 