This is an automated email from the ASF dual-hosted git repository.

twolf pushed a commit to branch dev_3.0
in repository https://gitbox.apache.org/repos/asf/mina-sshd.git

commit 931cb06e63e04a2a75cad58c6fecdb51b242bd93
Author: Thomas Wolf <tw...@apache.org>
AuthorDate: Fri Apr 18 22:51:25 2025 +0200

    Add API comparison reports
    
    Create japicmp reports, collect them in a web site, and publish that web
    site via gh-pages.
    
    Because the maven-site-plugin generated rather useless stuff for the
    top-level multi-module project (maybe I just don't know how to use it),
    I decided to create that web site in a small sshd-site module, copying
    over the japicmp reports explicitly and then generating a site for this
    simple maven project.
    
    Using groovy, we automatically adapt the site menu, and we also enhance
    the HTML output a little: japicmp's markdown output makes use of the
    GitHub markdown "alert" extension, which Doxia (the markdown-to-html
    converter the maven-site-plugin uses) doesn't know. But it's fairly easy
    to post-process the HTML output to render these alerts properly.
    
    The web site is published using maven-scm-publish-plugin to gh-pages. It
    is accessible at https://apache.github.io/mina-sshd .
---
 .asf.yaml                                   |   2 +
 .github/workflows/next-build.yml            |  11 ++
 pom.xml                                     |  60 ++++++++-
 sshd-benchmarks/pom.xml                     |   8 ++
 sshd-site/pom.xml                           | 191 ++++++++++++++++++++++++++++
 sshd-site/src/main/groovy/alerts.groovy     |  55 ++++++++
 sshd-site/src/main/groovy/patch.groovy      |  41 ++++++
 sshd-site/src/site/markdown/index.md        |  36 ++++++
 sshd-site/src/site/resources/css/custom.css |  91 +++++++++++++
 sshd-site/src/site/site.xml                 |  43 +++++++
 10 files changed, 535 insertions(+), 3 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 2fb34730c..2fe3feaf6 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -11,6 +11,8 @@ github:
     issues: true
   dependabot_alerts:  true
   dependabot_updates: true
+  ghp_branch: gh-pages
+  ghp_path: /
 
 notifications:
   commits:      commits@mina.apache.org
diff --git a/.github/workflows/next-build.yml b/.github/workflows/next-build.yml
index 4d283627b..e04bf3d94 100644
--- a/.github/workflows/next-build.yml
+++ b/.github/workflows/next-build.yml
@@ -77,6 +77,9 @@ jobs:
             echo "**** Skipping deployment because not a snapshot version: 
$PROJECT_VERSION" 1>&2
             echo "SKIP_DEPLOYMENT=true" >> "$GITHUB_ENV"
           }
+          if [[ "$PROJECT_VERSION" =~ ^3\.[0-9]+\.[0-9]+-M[1-9]$ ]]; then
+            echo "DEPLOY_WEBSITE=true" >> "$GITHUB_ENV"
+          fi
 
       - name: Check HEAD is current
         # Must be quoted, ! is special in yaml
@@ -104,3 +107,11 @@ jobs:
         # accidental release deployments as an additional safety measure. The 
snapshot
         # repo from the Apache parent POM is not overridden.
         run: mvn -B --errors --activate-profiles ci --no-transfer-progress 
deploy -DskipTests -DdeployAtEnd
+
+      - name: Build and deploy web site
+        if: env.DEPLOY_WEBSITE
+        run: |
+          git config --global user.name '${{ github.actor }}'
+          git config --global user.email '41898282+${{ github.actor 
}}@users.noreply.github.com'
+          mvn -B --no-transfer-progress -DskipTests -Pjapicmp clean install
+          mvn scm-publish:publish-scm -rf :sshd-site
diff --git a/pom.xml b/pom.xml
index 3593e54e5..eaeb7399a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -71,6 +71,7 @@
     </scm>
 
     <properties>
+        <japicmp-sshd-last-release>2.15.0</japicmp-sshd-last-release>
         <minimalJavaBuildVersion>17</minimalJavaBuildVersion>
         <surefireJdk>[${minimalJavaBuildVersion},)</surefireJdk>
         <minimalMavenBuildVersion>3.9.8</minimalMavenBuildVersion>
@@ -119,7 +120,7 @@
         <plexus.archiver.version>4.10.0</plexus.archiver.version>
         <!-- See https://pmd.github.io/ for available latest version -->
         <pmd.version>7.12.0</pmd.version>
-
+        <japicmp.version>0.23.1</japicmp.version>
         <sshd.tests.timeout.factor>1.0</sshd.tests.timeout.factor>
         <sshd.tests.rerun.count>2</sshd.tests.rerun.count>
 
@@ -406,6 +407,56 @@
                 </pluginManagement>
             </build>
         </profile>
+
+        <profile>
+            <id>japicmp</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>com.github.siom79.japicmp</groupId>
+                        <artifactId>japicmp-maven-plugin</artifactId>
+                        <version>${japicmp.version}</version>
+                        <configuration>
+                            <oldVersion>
+                                <dependency>
+                                    <groupId>${project.groupId}</groupId>
+                                    
<artifactId>${project.artifactId}</artifactId>
+                                    
<version>${japicmp-sshd-last-release}</version>
+                                </dependency>
+                            </oldVersion>
+                            <newVersion>
+                                <file>
+                                    
<path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
+                                </file>
+                            </newVersion>
+                            <parameter>
+                                <onlyModified>true</onlyModified>
+                                <accessModifier>protected</accessModifier>
+                                
<breakBuildOnModifications>false</breakBuildOnModifications>
+                                
<breakBuildOnBinaryIncompatibleModifications>false</breakBuildOnBinaryIncompatibleModifications>
+                                
<onlyBinaryIncompatible>false</onlyBinaryIncompatible>
+                                <includeSynthetic>false</includeSynthetic>
+                                
<ignoreMissingClasses>true</ignoreMissingClasses>
+                                <skipHtmlReport>true</skipHtmlReport>
+                                <skipXmlReport>true</skipXmlReport>
+                                <skipDiffReport>true</skipDiffReport>
+                                
<reportLinkName>japicmp-${project.artifactId}</reportLinkName>
+                                <markdownTitle>Compatibility Report for 
${project.artifactId}</markdownTitle>
+                            </parameter>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <id>japicmp-${project.artifactId}</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>cmp</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
     </profiles>
 
     <dependencyManagement>
@@ -1334,6 +1385,7 @@
             </plugin>
         </plugins>
     </build>
+    
     <distributionManagement>
         <repository>
             <id>dummy</id>
@@ -1344,10 +1396,11 @@
 
     <reporting>
        <plugins>
-           <plugin>    <!-- used by PMD to create a source XREF -->
+           <plugin>
+               <!-- used by PMD to create a source XREF -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
-               <version>3.4.0</version>
+               <version>3.6.0</version>
            </plugin>
        </plugins>
     </reporting>
@@ -1369,5 +1422,6 @@
         <module>sshd-cli</module>
         <module>sshd-osgi</module>
         <module>assembly</module>
+        <module>sshd-site</module>
     </modules>
 </project>
diff --git a/sshd-benchmarks/pom.xml b/sshd-benchmarks/pom.xml
index 4d8bb199d..cecfcebb2 100644
--- a/sshd-benchmarks/pom.xml
+++ b/sshd-benchmarks/pom.xml
@@ -156,6 +156,14 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>com.github.siom79.japicmp</groupId>
+                <artifactId>japicmp-maven-plugin</artifactId>
+                <version>${japicmp.version}</version>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
             <!-- Don't install or deploy this. -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
diff --git a/sshd-site/pom.xml b/sshd-site/pom.xml
new file mode 100644
index 000000000..2ab2bfeed
--- /dev/null
+++ b/sshd-site/pom.xml
@@ -0,0 +1,191 @@
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements. See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License. You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.sshd</groupId>
+        <artifactId>sshd</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+        <relativePath>..</relativePath>
+    </parent>
+
+    <artifactId>sshd-site</artifactId>
+    <name>Apache Mina SSHD :: Site</name>
+    <description>Build a small development website containing the japicmp 
reports.</description>
+    <packaging>pom</packaging>
+    <inceptionYear>2025</inceptionYear>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-scm-publish-plugin</artifactId>
+                    <configuration>
+                        <scmBranch>gh-pages</scmBranch>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        <plugins>
+            <!-- Don't install or deploy this. -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-install-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    
+    <profiles>
+        <profile>
+            <id>japicmp</id>
+            <build>
+                <plugins>
+                    <!-- First copy the site into ./target, then add the 
japicmp reports. -->
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-japicmp</id>
+                                <phase>generate-resources</phase>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                                <configuration>
+                                    <target>
+                                        <mkdir 
dir="${project.build.directory}/src/site" />
+                                        <copy 
todir="${project.build.directory}/src/site">
+                                          <fileset 
dir="${project.basedir}/src/site" includes="**" />
+                                        </copy>
+                                        <copy 
todir="${project.build.directory}/src/site/markdown" overwrite="true">
+                                            <fileset dir=".." 
includes="**/japicmp-*.md" />
+                                            <mapper type="flatten" />
+                                        </copy>
+                                    </target>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.codehaus.gmaven</groupId>
+                        <artifactId>groovy-maven-plugin</artifactId>
+                        <version>2.1.1</version>
+                        <executions>
+                            <!-- Then modify the site.xml to include menu 
links to the reports. -->
+                            <execution>
+                                <id>include-reports</id>
+                                <phase>generate-resources</phase>
+                                <goals>
+                                    <goal>execute</goal>
+                                </goals>
+                                <configuration>
+                                    
<source>${project.basedir}/src/main/groovy/patch.groovy</source>
+                                </configuration>
+                            </execution>
+                            <!-- After the site is created, patch the HTML to 
handle GitHub markdown alerts. -->
+                            <execution>
+                                <id>alerts</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>execute</goal>
+                                </goals>
+                                <configuration>
+                                    
<source>${project.basedir}/src/main/groovy/alerts.groovy</source>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-site-plugin</artifactId>
+                        <executions>
+                            <!-- Assemble the site -->
+                            <execution>
+                                <id>create-site</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>site</goal>
+                                </goals>
+                                <configuration>
+                                    
<siteDirectory>${project.build.directory}/src/site</siteDirectory>
+                                </configuration>
+                            </execution>
+                            <!-- And finally stage it -->
+                            <execution>
+                                <id>stage-site</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>stage</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+    
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-project-info-reports-plugin</artifactId>
+                <version>3.9.0</version>
+                <reportSets>
+                    <reportSet>
+                        <reports />
+                    </reportSet>
+                </reportSets>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <reportSets>
+                    <reportSet>
+                        <configuration>
+                            <skip>true</skip>
+                        </configuration>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+        </plugins>
+    </reporting>
+
+    <distributionManagement>
+        <site>
+            <id>devwebsite</id>
+            <url>scm:git:ssh://g...@github.com/apache/mina-sshd.git</url>
+        </site>
+    </distributionManagement>
+    
+</project>
diff --git a/sshd-site/src/main/groovy/alerts.groovy 
b/sshd-site/src/main/groovy/alerts.groovy
new file mode 100644
index 000000000..7aaf72cfd
--- /dev/null
+++ b/sshd-site/src/main/groovy/alerts.groovy
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+log.info("Patching HTML for markdown alerts")
+
+def caution_class = "alert-caution"
+def caution_img = "<svg class='${caution_class}' viewBox='0 0 16 16' 
version='1.1' width='16' height='16'><path d='M4.47.22A.749.749 0 0 1 5 
0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 
1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 
11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 
3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 
1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 [...]
+
+def important_class = "alert-important"
+def important_img = "<svg class='${important_class}' viewBox='0 0 16 16' 
version='1.1' width='16' height='16'><path d='M0 1.75C0 .784.784 0 1.75 
0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 
2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 
11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 
.75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 
.25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 
[...]
+
+def note_class = "alert-note"
+def note_img = "<svg class='${note_class}' viewBox='0 0 16 16' version='1.1' 
width='16' height='16'><path d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 
6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 
.75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 
1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z' /></svg>"
+
+def tip_class = "alert-tip"
+def tip_img = "<svg class='${tip_class}' viewBox='0 0 16 16' version='1.1' 
width='16' height='16'><path d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 
1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 
1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 
0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 
4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 
3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.5 [...]
+
+def warning_class = "alert-warning"
+def warning_img = "<svg class='${warning_class}' viewBox='0 0 16 16' 
version='1.1' width='16' height='16'><path d='M6.457 1.047c.659-1.234 
2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 
1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 
.22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 
0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' /></svg>"
+
+def replace(text, mark, css, img, label) {
+    return text.replaceAll("<blockquote>(\\R|\\S)*<p>\\Q${mark}\\E", 
"<blockquote class='${css}'><p class='${css}'>${img}${label}")
+}
+
+def reports = new File("${project.build.directory}/site").listFiles()
+
+reports.each() { file ->
+  def name = file.name
+  if (name.startsWith("japicmp-")) {
+    log.info("Patching ${name}")
+    def content = file.text
+    content = replace(content, "[!CAUTION]", caution_class, caution_img, 
"Caution")
+    content = replace(content, "[!IMPORTANT]", important_class, important_img, 
"Important")
+    content = replace(content, "[!NOTE]", note_class, note_img, "Note")
+    content = replace(content, "[!TIP]", tip_class, tip_img, "Tip")
+    content = replace(content, "[!WARNING]", warning_class, warning_img, 
"Warning")
+    file.text = content
+  }
+}
diff --git a/sshd-site/src/main/groovy/patch.groovy 
b/sshd-site/src/main/groovy/patch.groovy
new file mode 100644
index 000000000..380b136ae
--- /dev/null
+++ b/sshd-site/src/main/groovy/patch.groovy
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+log.info("Including japicmp reports in the site")
+
+def reports = new 
File("${project.build.directory}/src/site/markdown").listFiles()
+def names = []
+
+reports.each() { file ->
+  names.add(file.name)
+}
+
+def site = new File("${project.build.directory}/src/site/site.xml")
+def siteContent = site.text
+
+names.sort().each() { name ->
+  if (name.startsWith("japicmp-")) {
+    log.info("Adding ${name}")
+    def page = name.substring(0, name.size() - 3)
+    def module = page.substring(8)
+    siteContent = siteContent.replaceFirst("<!-- JAPICMP -->", "<item 
href=\"${page}.html\" name=\"${module}\" />\n<!-- JAPICMP -->")
+  }
+}
+
+site.text = siteContent
diff --git a/sshd-site/src/site/markdown/index.md 
b/sshd-site/src/site/markdown/index.md
new file mode 100644
index 000000000..c5fda3817
--- /dev/null
+++ b/sshd-site/src/site/markdown/index.md
@@ -0,0 +1,36 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+# Apache MINA sshd
+
+Welcome to the _development_ web site of Apache MINA sshd. This web site 
currently
+contains technical information about the development of a new major release 
**3.0.0**.
+
+Apache MINA sshd is a pure Java library for client- and server-side SSH.
+
+* The main web site is at [Apache MINA 
sshd](https://mina.apache.org/sshd-project).
+* For now, [technical 
documentation](https://github.com/apache/mina-sshd/blob/master/README.md)
+still lives directly in the git repository and can be viewed as rendered web 
pages in GitHub.
+* Technical information on the development of release 3.0.0 is available in 
branch `dev_3.0`:
+    * [Changes since 
2.15.0](https://github.com/apache/mina-sshd/blob/dev_3.0/CHANGES.md)
+    * [Technical 
documentation](https://github.com/apache/mina-sshd/tree/dev_3.0/docs/technical)
+
+Release 3.0.0 will be a new major release and will contain many breaking API 
changes.
+It will not be API-compatible with the 2.X releases. There are
+[`japicmp`](https://siom79.github.io/japicmp) reports about the API changes 
available
+here; see the menu on the left. (Most of the API changes affect only the 
`protected` API,
+i.e., the API for subclassing. But there are also changes in the `public` API 
that may
+affect user code.
diff --git a/sshd-site/src/site/resources/css/custom.css 
b/sshd-site/src/site/resources/css/custom.css
new file mode 100644
index 000000000..05219b879
--- /dev/null
+++ b/sshd-site/src/site/resources/css/custom.css
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* Headings with code formatting should not be red. */
+
+h1 > code, h2 > code, h3 > code, h4 > code, h5 > code {
+       color: inherit;
+}
+
+/* Markdown alerts */
+
+blockquote.alert-caution {
+       border-left: .25em solid #FF0000;
+}
+
+p.alert-caution {
+       color: #FF0000;
+}
+
+svg.alert-caution {
+       fill: #FF0000;
+       padding-right: .25em;
+}
+
+blockquote.alert-important {
+       border-left: .25em solid #8250DF;
+}
+
+p.alert-important {
+       color: #8250DF;
+}
+
+svg.alert-important {
+       fill: #8250DF;
+       padding-right: .25em;
+}
+
+blockquote.alert-note {
+       border-left: .25em solid #0969DA;
+}
+
+p.alert-note {
+       color: #0969DA;
+}
+
+svg.alert-note {
+       fill: #0969DA;
+       padding-right: .25em;
+}
+
+blockquote.alert-tip {
+       border-left: .25em solid #1A7F37;
+}
+
+p.alert-tip {
+       color: #1A7F37;
+}
+
+svg.alert-tip {
+       fill: #1A7F37;
+       padding-right: .25em;
+}
+
+blockquote.alert-warning {
+       border-left: .25em solid #FF7F50;
+}
+
+p.alert-warning {
+       color: #FF7F50;
+}
+
+svg.alert-warning {
+       fill: #FF7F50;
+       padding-right: .25em;
+}
diff --git a/sshd-site/src/site/site.xml b/sshd-site/src/site/site.xml
new file mode 100644
index 000000000..f9a059bc9
--- /dev/null
+++ b/sshd-site/src/site/site.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<site xmlns="http://maven.apache.org/SITE/2.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 
https://maven.apache.org/xsd/site-2.0.0.xsd";>
+       <publishDate format="yyyy-MM-dd" position="right" />
+       <version position="right" />
+
+       <skin>
+               <groupId>org.apache.maven.skins</groupId>
+               <artifactId>maven-fluido-skin</artifactId>
+               <version>2.1.0</version>
+       </skin>
+
+       <body>
+               <head>
+                       <![CDATA[<link rel="stylesheet" href="./css/custom.css" 
/>]]>
+               </head>
+
+               <breadcrumbs>
+                       <item name="Apache MINA sshd" 
href="https://apache.github.io/mina-sshd"/>
+               </breadcrumbs>
+               <menu name="Overview">
+                       <item href="index.html" name="Introduction"/>
+               </menu>
+               <menu name="API comparisons">
+                       <!-- JAPICMP -->
+               </menu>
+       </body>
+</site>
\ No newline at end of file

Reply via email to