Issue #5208: use maven version plugin to report new versions for update
diff --git a/.ci/travis/travis.sh b/.ci/travis/travis.sh
index 474703c..08a7dea 100755
--- a/.ci/travis/travis.sh
+++ b/.ci/travis/travis.sh
@@ -13,6 +13,23 @@
   if [[ $RESULT != 0 ]]; then false; fi
   ;;
 
+versions)
+  if [[ $TRAVIS_EVENT_TYPE != "cron" ]]; then exit 0; fi
+  mvn clean versions:dependency-updates-report versions:plugin-updates-report
+  if [ $(grep "<nextVersion>" target/*-updates-report.xml | cat | wc -l) -gt 0 ]; then
+    echo "Version reports (dependency-updates-report.xml):"
+    cat target/dependency-updates-report.xml
+    echo "Version reports (plugin-updates-report.xml):"
+    cat target/plugin-updates-report.xml
+    echo "New versions:"
+    grep -B 7 "<nextVersion>" target/dependency-updates-report.xml
+    grep -B 4 "<nextVersion>" target/plugin-updates-report.xml
+    exit 1
+  else
+    echo "No new versions found"
+  fi
+  ;;
+
 assembly-run-all-jar)
   mvn clean package -Passembly
   CS_POM_VERSION=$(mvn -q -Dexec.executable='echo' -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
diff --git a/.travis.yml b/.travis.yml
index ee0a9c8..dfa63a1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -175,6 +175,12 @@
         - DESC="no error test on simple-binary-encoding"
         - CMD="./.ci/travis/travis.sh no-error-test-sbe"
 
+    # versions to update
+    - jdk: oraclejdk8
+      env:
+        - DESC="print versions to update"
+        - CMD="./.ci/travis/travis.sh versions"
+
 script:
   - SKIP_FILES=".github|appveyor.yml|circle.yml|distelli-manifest.yml|fast-forward-merge.sh|LICENSE|LICENSE.apache20|README.md|release.sh|RIGHTS.antlr|shippable.yml|wercker.yml|intellij-idea-inspections.xml"
   - SKIP_CI=$(if [[ $(git diff --name-only HEAD HEAD~1 | grep -vE "$SKIP_FILES" | cat | wc -c | sed 's/^ *//' ) > 0 ]]; then echo false; else echo true; fi;)
diff --git a/config/version-number-rules.xml b/config/version-number-rules.xml
new file mode 100644
index 0000000..101a3b8
--- /dev/null
+++ b/config/version-number-rules.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ruleset xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    comparisonMethod="maven" xsi:schemaLocation="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0 https://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd">
+
+    <ignoreVersions>
+        <ignoreVersion type="regex">.*[-_\.](alpha|Alpha|ALPHA|beta|Beta|BETA|rc|RC|M|EA)[-_\.]?[0-9]?.*</ignoreVersion>
+    </ignoreVersions>
+    <rules>
+        <rule groupId="com.google.guava">
+            <ignoreVersions>
+                <ignoreVersion type="regex">.*-android</ignoreVersion>
+            </ignoreVersions>
+        </rule>
+        <rule groupId="antlr">
+            <ignoreVersions>
+                <!-- this is really old version before versioning become semantic -->
+                <ignoreVersion type="regex">20030911</ignoreVersion>
+            </ignoreVersions>
+        </rule>
+    </rules>
+</ruleset>
diff --git a/pom.xml b/pom.xml
index e6d1936..90a1207 100644
--- a/pom.xml
+++ b/pom.xml
@@ -680,6 +680,11 @@
         <version>${maven.versions.plugin.version}</version>
         <configuration>
           <generateBackupPoms>false</generateBackupPoms>
+          <rulesUri>file://${basedir}/config/version-number-rules.xml</rulesUri>
+          <formats>
+            <format>xml</format>
+            <format>html</format>
+          </formats>
         </configuration>
       </plugin>
       <plugin>