You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/02/01 11:11:47 UTC

[1/2] camel git commit: CAMEL-10775: Add information to components which version they were added to Camel

Repository: camel
Updated Branches:
  refs/heads/master c0a9f5cd4 -> e3ec108c8


http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
index f72960f..6258813 100644
--- a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
+++ b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.gora.store.DataStore;
 /**
  * The gora component allows you to work with NoSQL databases using the Apache Gora framework.
  */
-@UriEndpoint(scheme = "gora", title = "Gora", syntax = "gora:name", consumerClass = GoraConsumer.class, label = "database,hadoop,nosql")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "gora", title = "Gora", syntax = "gora:name", consumerClass = GoraConsumer.class, label = "database,hadoop,nosql")
 public class GoraEndpoint extends DefaultEndpoint {
 
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
index 74f1325..3ecf6eb 100644
--- a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
+++ b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.util.CamelContextHelper;
 /**
  * The guava-eventbus component provides integration bridge between Camel and Google Guava EventBus.
  */
-@UriEndpoint(scheme = "guava-eventbus", title = "Guava EventBus", syntax = "guava-eventbus:eventBusRef", consumerClass = GuavaEventBusConsumer.class, label = "eventbus")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "guava-eventbus", title = "Guava EventBus", syntax = "guava-eventbus:eventBusRef", consumerClass = GuavaEventBusConsumer.class, label = "eventbus")
 public class GuavaEventBusEndpoint extends DefaultEndpoint implements MultipleConsumersSupport {
 
     private EventBus eventBus;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
index 63b0ac7..67fcf8d 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The hazelcast component allows you to work with the Hazelcast distributed data grid / cache.
  */
-@UriEndpoint(scheme = "hazelcast", title = "Hazelcast", syntax = "hazelcast:command:cacheName", consumerClass = HazelcastDefaultConsumer.class, label = "cache,datagrid")
+@UriEndpoint(firstVersion = "2.7.0", scheme = "hazelcast", title = "Hazelcast", syntax = "hazelcast:command:cacheName", consumerClass = HazelcastDefaultConsumer.class, label = "cache,datagrid")
 public abstract class HazelcastDefaultEndpoint extends DefaultEndpoint {
 
     @UriPath @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
index 81bfe7f..a17202c 100644
--- a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
+++ b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
@@ -43,7 +43,7 @@ import org.apache.hadoop.security.UserGroupInformation;
 /**
  * For reading/writing from/to an HBase store (Hadoop database).
  */
-@UriEndpoint(scheme = "hbase", title = "HBase", syntax = "hbase:tableName", consumerClass = HBaseConsumer.class, label = "hadoop")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "hbase", title = "HBase", syntax = "hbase:tableName", consumerClass = HBaseConsumer.class, label = "hadoop")
 public class HBaseEndpoint extends DefaultEndpoint {
 
     private Configuration configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java b/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java
index 4d809f9..272cda9 100644
--- a/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java
+++ b/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * For reading/writing from/to an HDFS filesystem using Hadoop 1.x.
  */
-@UriEndpoint(scheme = "hdfs", title = "HDFS", syntax = "hdfs:hostName:port/path", consumerClass = HdfsConsumer.class, label = "hadoop,file")
+@UriEndpoint(firstVersion = "2.8.0", scheme = "hdfs", title = "HDFS", syntax = "hdfs:hostName:port/path", consumerClass = HdfsConsumer.class, label = "hadoop,file")
 public class HdfsEndpoint extends ScheduledPollEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
index baecdcc..7224d37 100644
--- a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
+++ b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * For reading/writing from/to an HDFS filesystem using Hadoop 2.x.
  */
-@UriEndpoint(scheme = "hdfs2", title = "HDFS2", syntax = "hdfs2:hostName:port/path", consumerClass = HdfsConsumer.class, label = "hadoop,file")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "hdfs2", title = "HDFS2", syntax = "hdfs2:hostName:port/path", consumerClass = HdfsConsumer.class, label = "hadoop,file")
 public class HdfsEndpoint extends ScheduledPollEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
index 0210df7..734fa30 100644
--- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
+++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The hipchat component supports producing and consuming messages from/to Hipchat service.
  */
-@UriEndpoint(scheme = "hipchat", title = "Hipchat", syntax = "hipchat:protocol:host:port", consumerClass = HipchatConsumer.class, label = "api,cloud")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "hipchat", title = "Hipchat", syntax = "hipchat:protocol:host:port", consumerClass = HipchatConsumer.class, label = "api,cloud")
 public class HipchatEndpoint extends ScheduledPollEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
index 153774b..ef0b129 100644
--- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
+++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
 /**
  * For calling out to external HTTP servers using Apache HTTP Client 3.x.
  */
-@UriEndpoint(scheme = "http,https", title = "HTTP,HTTPS", syntax = "http:httpUri", producerOnly = true, label = "http", lenientProperties = true)
+@UriEndpoint(firstVersion = "1.0.0", scheme = "http,https", title = "HTTP,HTTPS", syntax = "http:httpUri", producerOnly = true, label = "http", lenientProperties = true)
 public class HttpEndpoint extends HttpCommonEndpoint {
 
     // Note: all options must be documented with description in annotations so extended components can access the documentation

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
index 01d1b7e..f500ec2 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
@@ -46,7 +46,7 @@ import org.slf4j.LoggerFactory;
 /**
  * For calling out to external HTTP servers using Apache HTTP Client 4.x.
  */
-@UriEndpoint(scheme = "http4,http4s", title = "HTTP4,HTTP4S", syntax = "http4:httpUri", producerOnly = true, label = "http", lenientProperties = true)
+@UriEndpoint(firstVersion = "2.3.0", scheme = "http4,http4s", title = "HTTP4,HTTP4S", syntax = "http4:httpUri", producerOnly = true, label = "http", lenientProperties = true)
 public class HttpEndpoint extends HttpCommonEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(HttpEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java b/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java
index c99feed..7f92d6e 100644
--- a/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java
+++ b/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Performs a query, poll, insert, update or delete in a relational database using Apache iBATIS.
  */
-@UriEndpoint(scheme = "ibatis", title = "iBatis", syntax = "ibatis:statement", consumerClass = IBatisConsumer.class, label = "database,sql")
+@UriEndpoint(firstVersion = "1.3.0", scheme = "ibatis", title = "iBatis", syntax = "ibatis:statement", consumerClass = IBatisConsumer.class, label = "database,sql")
 public class IBatisEndpoint extends DefaultPollingEndpoint {
     @UriPath @Metadata(required = "true")
     private String statement;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteEndpoint.java
index 09791ca..6426418 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/AbstractIgniteEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.ignite.Ignite;
 /**
  * Base class for all Ignite endpoints. 
  */
-@UriEndpoint(scheme = "ignite:...", title = "Ignite endpoints", syntax = "ignite:...", label = "nosql,cache,compute", producerOnly = true)
+@UriEndpoint(firstVersion = "2.18.0", scheme = "ignite:...", title = "Ignite endpoints", syntax = "ignite:...", label = "nosql,cache,compute", producerOnly = true)
 public abstract class AbstractIgniteEndpoint extends DefaultEndpoint {
 
     protected IgniteComponent component;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
index 12c8d64..eed7bae 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * For reading/writing from/to Infinispan distributed key/value store and data grid.
  */
-@UriEndpoint(scheme = "infinispan", title = "Infinispan", syntax = "infinispan:host", consumerClass = InfinispanConsumer.class, label = "cache,datagrid,clustering")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "infinispan", title = "Infinispan", syntax = "infinispan:host", consumerClass = InfinispanConsumer.class, label = "cache,datagrid,clustering")
 public class InfinispanEndpoint extends DefaultEndpoint {
     @UriParam
     private InfinispanConfiguration configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
index 1dac976..eaf6bb2 100644
--- a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
+++ b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The influxdb component allows you to interact with <a href="https://influxdata.com/time-series-platform/influxdb/">InfluxDB</a>, a time series database.
  */
-@UriEndpoint(scheme = "influxdb", title = "InfluxDB", syntax = "influxdb:connectionBean", label = "database,ticks", producerOnly = true)
+@UriEndpoint(firstVersion = "2.18.0", scheme = "influxdb", title = "InfluxDB", syntax = "influxdb:connectionBean", label = "database,ticks", producerOnly = true)
 public class InfluxDbEndpoint extends DefaultEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(InfluxDbEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
index 9dc627e..a057979 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The irc component implements an <a href="https://en.wikipedia.org/wiki/Internet_Relay_Chat">IRC</a> (Internet Relay Chat) transport.
  */
-@UriEndpoint(scheme = "irc", title = "IRC", syntax = "irc:hostname:port", alternativeSyntax = "irc:username:password@hostname:port", consumerClass = IrcConsumer.class, label = "chat")
+@UriEndpoint(firstVersion = "1.1.0", scheme = "irc", title = "IRC", syntax = "irc:hostname:port", alternativeSyntax = "irc:username:password@hostname:port", consumerClass = IrcConsumer.class, label = "chat")
 public class IrcEndpoint extends DefaultEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(IrcEndpoint.class);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java
index 009bc94..ea47639 100644
--- a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java
+++ b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQEndpoint.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The ironmq provides integration with <a href="https://www.iron.io/">IronMQ</a> an elastic and durable hosted message queue as a service.
  */
-@UriEndpoint(scheme = "ironmq", syntax = "ironmq:queueName", title = "ironmq", consumerClass = IronMQConsumer.class, label = "cloud,messaging")
+@UriEndpoint(firstVersion = "2.17.0", scheme = "ironmq", syntax = "ironmq:queueName", title = "ironmq", consumerClass = IronMQConsumer.class, label = "cloud,messaging")
 public class IronMQEndpoint extends ScheduledPollEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(IronMQEndpoint.class);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java b/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java
index da5a064..0c6147e 100644
--- a/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java
+++ b/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/gridfs/GridFsEndpoint.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Component for working with MongoDB GridFS.
  */
-@UriEndpoint(scheme = "gridfs", title = "MongoDBGridFS", syntax = "gridfs:connectionBean", label = "database,nosql")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "gridfs", title = "MongoDBGridFS", syntax = "gridfs:connectionBean", label = "database,nosql")
 public class GridFsEndpoint extends DefaultEndpoint {
 
     public static final String GRIDFS_OPERATION = "gridfs.operation";


[2/2] camel git commit: CAMEL-10775: Add information to components which version they were added to Camel

Posted by da...@apache.org.
CAMEL-10775: Add information to components which version they were added to Camel


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e3ec108c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e3ec108c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e3ec108c

Branch: refs/heads/master
Commit: e3ec108c871058c840f99a7fcfd06d8807b6da85
Parents: c0a9f5c
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Feb 1 12:09:22 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Feb 1 12:09:45 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/camel/model/dataformat/AvroDataFormat.java     | 2 +-
 .../java/org/apache/camel/model/dataformat/BarcodeDataFormat.java  | 2 +-
 .../java/org/apache/camel/model/dataformat/Base64DataFormat.java   | 2 +-
 .../java/org/apache/camel/model/dataformat/BeanioDataFormat.java   | 2 +-
 .../java/org/apache/camel/model/dataformat/BindyDataFormat.java    | 2 +-
 .../java/org/apache/camel/model/dataformat/BoonDataFormat.java     | 2 +-
 .../java/org/apache/camel/model/dataformat/CastorDataFormat.java   | 2 +-
 .../main/java/org/apache/camel/model/dataformat/CsvDataFormat.java | 2 +-
 .../java/org/apache/camel/model/dataformat/FlatpackDataFormat.java | 2 +-
 .../main/java/org/apache/camel/model/dataformat/HL7DataFormat.java | 2 +-
 .../java/org/apache/camel/model/dataformat/IcalDataFormat.java     | 2 +-
 .../org/apache/camel/model/dataformat/JacksonXMLDataFormat.java    | 2 +-
 .../java/org/apache/camel/model/language/GroovyExpression.java     | 2 +-
 .../main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/amqp/AMQPEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/apns/ApnsEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/asterisk/AsteriskEndpoint.java | 2 +-
 .../main/java/org/apache/camel/component/atmos/AtmosEndpoint.java  | 2 +-
 .../camel/component/atmosphere/websocket/WebsocketEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/atom/AtomEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/avro/AvroEndpoint.java    | 2 +-
 .../camel/component/bean/validator/BeanValidatorEndpoint.java      | 2 +-
 .../org/apache/camel/component/beanstalk/BeanstalkEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/box/BoxEndpoint.java  | 2 +-
 .../org/apache/camel/component/braintree/BraintreeEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/cache/CacheEndpoint.java  | 2 +-
 .../org/apache/camel/component/cassandra/CassandraEndpoint.java    | 2 +-
 .../camel/component/chronicle/engine/ChronicleEngineEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/chunk/ChunkEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/cm/CMEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/cmis/CMISEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/coap/CoAPEndpoint.java          | 2 +-
 .../java/org/apache/camel/component/cometd/CometdEndpoint.java     | 2 +-
 .../java/org/apache/camel/component/consul/ConsulEndpoint.java     | 2 +-
 .../java/org/apache/camel/component/context/ContextEndpoint.java   | 2 +-
 .../org/apache/camel/component/couchbase/CouchbaseEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/couchdb/CouchDbEndpoint.java   | 2 +-
 .../apache/camel/component/crypto/DigitalSignatureEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java   | 2 +-
 .../org/apache/camel/component/disruptor/DisruptorEndpoint.java    | 2 +-
 .../src/main/java/org/apache/camel/component/dns/DnsEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/docker/DockerEndpoint.java     | 2 +-
 .../main/java/org/apache/camel/component/dozer/DozerEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/drill/DrillEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/dropbox/DropboxEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/ehcache/EhcacheEndpoint.java   | 2 +-
 .../camel/component/elasticsearch/ElasticsearchEndpoint.java       | 2 +-
 .../main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java | 2 +-
 .../org/apache/camel/component/eventadmin/EventAdminEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/exec/ExecEndpoint.java    | 2 +-
 .../java/org/apache/camel/component/facebook/FacebookEndpoint.java | 2 +-
 .../java/org/apache/camel/component/flatpack/FlatpackEndpoint.java | 2 +-
 .../main/java/org/apache/camel/component/flink/FlinkEndpoint.java  | 2 +-
 .../src/main/java/org/apache/camel/component/fop/FopEndpoint.java  | 2 +-
 .../org/apache/camel/component/freemarker/FreemarkerEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/file/remote/FtpEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/file/remote/FtpsEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/file/remote/SftpEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/ganglia/GangliaEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/git/GitEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/github/GitHubEndpoint.java     | 2 +-
 .../camel/component/google/calendar/GoogleCalendarEndpoint.java    | 2 +-
 .../apache/camel/component/google/drive/GoogleDriveEndpoint.java   | 2 +-
 .../org/apache/camel/component/google/mail/GoogleMailEndpoint.java | 2 +-
 .../main/java/org/apache/camel/component/gora/GoraEndpoint.java    | 2 +-
 .../camel/component/guava/eventbus/GuavaEventBusEndpoint.java      | 2 +-
 .../apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java | 2 +-
 .../main/java/org/apache/camel/component/hbase/HBaseEndpoint.java  | 2 +-
 .../main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/hipchat/HipchatEndpoint.java   | 2 +-
 .../main/java/org/apache/camel/component/http/HttpEndpoint.java    | 2 +-
 .../main/java/org/apache/camel/component/http4/HttpEndpoint.java   | 2 +-
 .../java/org/apache/camel/component/ibatis/IBatisEndpoint.java     | 2 +-
 .../org/apache/camel/component/ignite/AbstractIgniteEndpoint.java  | 2 +-
 .../org/apache/camel/component/infinispan/InfinispanEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java | 2 +-
 .../src/main/java/org/apache/camel/component/irc/IrcEndpoint.java  | 2 +-
 .../java/org/apache/camel/component/ironmq/IronMQEndpoint.java     | 2 +-
 .../java/org/apache/camel/component/gridfs/GridFsEndpoint.java     | 2 +-
 84 files changed, 84 insertions(+), 84 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
index 7f6ef97..9e5ad50 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/AvroDataFormat.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.Metadata;
  *
  * @version 
  */
-@Metadata(label = "dataformat,transformation", title = "Avro")
+@Metadata(firstVersion = "2.14.0", label = "dataformat,transformation", title = "Avro")
 @XmlRootElement(name = "avro")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class AvroDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java
index 84a7872..c97a66b 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/BarcodeDataFormat.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.Metadata;
  *
  * @version 
  */
-@Metadata(label = "dataformat,transformation", title = "Barcode")
+@Metadata(firstVersion = "2.14.0", label = "dataformat,transformation", title = "Barcode")
 @XmlRootElement(name = "barcode")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BarcodeDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
index 2da85e6..77dc289 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/Base64DataFormat.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.Metadata;
  *
  * @version 
  */
-@Metadata(label = "dataformat,transformation", title = "Base64")
+@Metadata(firstVersion = "2.11.0", label = "dataformat,transformation", title = "Base64")
 @XmlRootElement(name = "base64")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class Base64DataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/BeanioDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/BeanioDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/BeanioDataFormat.java
index 06e1950..b759bfb 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/BeanioDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/BeanioDataFormat.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.Metadata;
  *
  * @version 
  */
-@Metadata(label = "dataformat,transformation,csv", title = "BeanIO")
+@Metadata(firstVersion = "2.10.0", label = "dataformat,transformation,csv", title = "BeanIO")
 @XmlRootElement(name = "beanio")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BeanioDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
index cf07549..c01ef8a 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/BindyDataFormat.java
@@ -34,7 +34,7 @@ import org.apache.camel.util.ObjectHelper;
  *
  * @version 
  */
-@Metadata(label = "dataformat,transformation,csv", title = "Bindy")
+@Metadata(firstVersion = "2.0.0", label = "dataformat,transformation,csv", title = "Bindy")
 @XmlRootElement(name = "bindy")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BindyDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/BoonDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/BoonDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/BoonDataFormat.java
index 4bb6504..5f0da5c 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/BoonDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/BoonDataFormat.java
@@ -32,7 +32,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Boon data format
  */
-@Metadata(label = "dataformat,transformation,json", title = "Boon")
+@Metadata(firstVersion = "2.16.0", label = "dataformat,transformation,json", title = "Boon")
 @XmlRootElement(name = "boon")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BoonDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java
index 364b7d5..3dedbc3 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.Metadata;
  *
  * @version 
  */
-@Metadata(label = "dataformat,transformation,xml", title = "Castor")
+@Metadata(firstVersion = "2.1.0", label = "dataformat,transformation,xml", title = "Castor")
 @XmlRootElement(name = "castor")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class CastorDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
index 91fa1e7..a8a9b0c 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
@@ -33,7 +33,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * CSV data format
  */
-@Metadata(label = "dataformat,transformation,csv", title = "CSV")
+@Metadata(firstVersion = "1.4.0", label = "dataformat,transformation,csv", title = "CSV")
 @XmlRootElement(name = "csv")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class CsvDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
index dbf4e9b..ba22173 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/FlatpackDataFormat.java
@@ -32,7 +32,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Flatpack data format
  */
-@Metadata(label = "dataformat,transformation,csv", title = "Flatpack")
+@Metadata(firstVersion = "2.1.0", label = "dataformat,transformation,csv", title = "Flatpack")
 @XmlRootElement(name = "flatpack")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class FlatpackDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
index 18b2e9f..73c04ff 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/HL7DataFormat.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.Metadata;
  *
  * @version 
  */
-@Metadata(label = "dataformat,transformation,hl7", title = "HL7")
+@Metadata(firstVersion = "2.0.0", label = "dataformat,transformation,hl7", title = "HL7")
 @XmlRootElement(name = "hl7")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class HL7DataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java
index 743fe63..c924051 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/IcalDataFormat.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.Metadata;
  *
  * @version 
  */
-@Metadata(label = "dataformat,transformation", title = "iCal")
+@Metadata(firstVersion = "2.12.0", label = "dataformat,transformation", title = "iCal")
 @XmlRootElement(name = "ical")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class IcalDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
index 75ad17e..a3ae0f1 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/JacksonXMLDataFormat.java
@@ -34,7 +34,7 @@ import org.apache.camel.util.ObjectHelper;
  *
  * @version
  */
-@Metadata(label = "dataformat,transformation,xml", title = "JacksonXML")
+@Metadata(firstVersion = "2.16.0", label = "dataformat,transformation,xml", title = "JacksonXML")
 @XmlRootElement(name = "jacksonxml")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class JacksonXMLDataFormat extends DataFormatDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/camel-core/src/main/java/org/apache/camel/model/language/GroovyExpression.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/GroovyExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/GroovyExpression.java
index ac674bc..f344b13 100644
--- a/camel-core/src/main/java/org/apache/camel/model/language/GroovyExpression.java
+++ b/camel-core/src/main/java/org/apache/camel/model/language/GroovyExpression.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.Metadata;
  *
  * @version 
  */
-@Metadata(label = "language,script", title = "Groovy")
+@Metadata(firstVersion = "1.3.0", label = "language,script", title = "Groovy")
 @XmlRootElement(name = "groovy")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class GroovyExpression extends ExpressionDefinition {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java b/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
index 0d891e4..29a593b 100644
--- a/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
+++ b/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 /**
  * To exchange data with external Websocket servers using <a href="http://github.com/sonatype/async-http-client">Async Http Client</a>.
  */
-@UriEndpoint(scheme = "ahc-ws,ahc-wss", extendsScheme = "ahc,ahc", title = "AHC Websocket,AHC Secure Websocket",
+@UriEndpoint(firstVersion = "2.14.0", scheme = "ahc-ws,ahc-wss", extendsScheme = "ahc,ahc", title = "AHC Websocket,AHC Secure Websocket",
         syntax = "ahc-ws:httpUri", consumerClass = WsConsumer.class, label = "websocket")
 public class WsEndpoint extends AhcEndpoint {
     private static final transient Logger LOG = LoggerFactory.getLogger(WsEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
index 2435240..54dc8a3 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
@@ -45,7 +45,7 @@ import org.asynchttpclient.DefaultAsyncHttpClientConfig;
 /**
  * To call external HTTP services using <a href="http://github.com/sonatype/async-http-client">Async Http Client</a>.
  */
-@UriEndpoint(scheme = "ahc", title = "AHC", syntax = "ahc:httpUri", producerOnly = true, label = "http", lenientProperties = true)
+@UriEndpoint(firstVersion = "2.8.0", scheme = "ahc", title = "AHC", syntax = "ahc:httpUri", producerOnly = true, label = "http", lenientProperties = true)
 public class AhcEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware {
 
     private AsyncHttpClient client;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
index 70d7a8a..d6cac35 100644
--- a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
+++ b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriEndpoint;
  * This class extends JmsEndpoint because it uses Apache Qpid JMS-compatible client for
  * performing the AMQP connectivity.
  */
-@UriEndpoint(scheme = "amqp", extendsScheme = "jms", title = "AMQP",
+@UriEndpoint(firstVersion = "1.3.0", scheme = "amqp", extendsScheme = "jms", title = "AMQP",
         syntax = "amqp:destinationType:destinationName", consumerClass = JmsConsumer.class, label = "messaging")
 public class AMQPEndpoint extends JmsEndpoint implements AsyncEndpoint {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
index 6a8513e..ca02275 100644
--- a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
+++ b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * For sending notifications to Apple iOS devices.
  */
-@UriEndpoint(scheme = "apns", title = "APNS", syntax = "apns:name", consumerClass = ApnsConsumer.class, label = "eventbus,mobile")
+@UriEndpoint(firstVersion = "2.8.0", scheme = "apns", title = "APNS", syntax = "apns:name", consumerClass = ApnsConsumer.class, label = "eventbus,mobile")
 public class ApnsEndpoint extends ScheduledPollEndpoint {
 
     private final CopyOnWriteArraySet<DefaultConsumer> consumers = new CopyOnWriteArraySet<DefaultConsumer>();

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
index 3b76a15..852d359 100644
--- a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
+++ b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The asterisk component is used to interact with Asterisk PBX Server <a href="http://www.asterisk.org">Asterisk PBX Server</a>.
  */
-@UriEndpoint(scheme = "asterisk", title = "Asterisk", syntax = "asterisk:name", consumerClass = AsteriskConsumer.class, label = "voip")
+@UriEndpoint(firstVersion = "2.19.0", scheme = "asterisk", title = "Asterisk", syntax = "asterisk:name", consumerClass = AsteriskConsumer.class, label = "voip")
 public class AsteriskEndpoint extends DefaultEndpoint {
     @SuppressWarnings("unused")
     private static final Logger LOG = LoggerFactory.getLogger(AsteriskProducer.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
index 03c919e..330e581 100644
--- a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
+++ b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
@@ -38,7 +38,7 @@ import static org.apache.camel.component.atmos.util.AtmosConstants.POLL_CONSUMER
 /**
  * The atmos component is used for integrating with EMC's Atomos Storage.
  */
-@UriEndpoint(scheme = "atmos", title = "Atmos", syntax = "atmos:name/operation", consumerClass = AtmosScheduledPollConsumer.class, label = "file,cloud")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "atmos", title = "Atmos", syntax = "atmos:name/operation", consumerClass = AtmosScheduledPollConsumer.class, label = "file,cloud")
 public class AtmosEndpoint extends DefaultEndpoint {
 
     private static final transient Logger LOG = LoggerFactory.getLogger(AtmosEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
index 8790443..51bf591 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * To exchange data with external Websocket clients using Atmosphere.
  */
-@UriEndpoint(scheme = "atmosphere-websocket", extendsScheme = "servlet", title = "Atmosphere Websocket",
+@UriEndpoint(firstVersion = "2.14.0", scheme = "atmosphere-websocket", extendsScheme = "servlet", title = "Atmosphere Websocket",
         syntax = "atmosphere-websocket:servicePath", consumerClass = WebsocketConsumer.class, label = "websocket",
         excludeProperties = "httpUri,contextPath")
 public class WebsocketEndpoint extends ServletEndpoint {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
index 04e69c7..bf595a2 100644
--- a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
+++ b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriEndpoint;
 /**
  * The atom component is used for consuming Atom RSS feeds.
  */
-@UriEndpoint(scheme = "atom", title = "Atom", syntax = "atom:feedUri", consumerOnly = true,
+@UriEndpoint(firstVersion = "1.3.0", scheme = "atom", title = "Atom", syntax = "atom:feedUri", consumerOnly = true,
         consumerClass = FeedPollingConsumer.class, label = "rss", lenientProperties = true)
 public class AtomEndpoint extends FeedEndpoint {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
index 4117f8a..053961e 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * Working with Apache Avro for data serialization.
  */
-@UriEndpoint(scheme = "avro", title = "Avro", syntax = "avro:transport:host:port/messageName", consumerClass = AvroConsumer.class, label = "messaging,transformation")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "avro", title = "Avro", syntax = "avro:transport:host:port/messageName", consumerClass = AvroConsumer.class, label = "messaging,transformation")
 public abstract class AvroEndpoint extends DefaultEndpoint implements AsyncEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
index bec6729..2bfb3a0 100644
--- a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
+++ b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
@@ -40,7 +40,7 @@ import static org.apache.camel.component.bean.validator.ValidatorFactories.build
  *
  * Camel uses the reference implementation, which is Hibernate Validator.
  */
-@UriEndpoint(scheme = "bean-validator", title = "Bean Validator", syntax = "bean-validator:label", producerOnly = true, label = "validation")
+@UriEndpoint(firstVersion = "2.3.0", scheme = "bean-validator", title = "Bean Validator", syntax = "bean-validator:label", producerOnly = true, label = "validation")
 public class BeanValidatorEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "Where label is an arbitrary text value describing the endpoint") @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java b/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
index 4864157..5936903 100644
--- a/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
+++ b/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The beanstalk component is used for job retrieval and post-processing of Beanstalk jobs.
  */
-@UriEndpoint(scheme = "beanstalk", title = "Beanstalk", syntax = "beanstalk:connectionSettings", consumerClass = BeanstalkConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "beanstalk", title = "Beanstalk", syntax = "beanstalk:connectionSettings", consumerClass = BeanstalkConsumer.class, label = "messaging")
 public class BeanstalkEndpoint extends ScheduledPollEndpoint implements AsyncEndpoint {
     final ConnectionSettings conn;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
index aa23d36..7a80e60 100644
--- a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
+++ b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * For uploading, downloading and managing files, folders, groups, collaborations, etc on box DOT com.
  */
-@UriEndpoint(scheme = "box", title = "Box", syntax = "box:apiName/methodName", consumerClass = BoxConsumer.class, consumerPrefix = "consumer", label = "api,file,cloud",
+@UriEndpoint(firstVersion = "2.14.0", scheme = "box", title = "Box", syntax = "box:apiName/methodName", consumerClass = BoxConsumer.class, consumerPrefix = "consumer", label = "api,file,cloud",
         lenientProperties = true)
 // need to be lenient as the box component has a bunch of generated configuration classes that lacks documentation
 public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguration> {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java
index d594cf7..0629368 100644
--- a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java
+++ b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * The braintree component is used for integrating with the Braintree Payment System.
  */
-@UriEndpoint(scheme = "braintree", title = "Braintree", syntax = "braintree:apiName/methodName", consumerClass = BraintreeConsumer.class, label = "api,cloud,payment")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "braintree", title = "Braintree", syntax = "braintree:apiName/methodName", consumerClass = BraintreeConsumer.class, label = "api,cloud,payment")
 public class BraintreeEndpoint extends AbstractApiEndpoint<BraintreeApiName, BraintreeConfiguration> {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java
index c664894..789a30f 100755
--- a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java
+++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
  * The Cache consumer is an event based consumer and can be used to listen and respond to specific cache activities.
  * If you need to perform selections from a pre-existing cache, use the processors defined for the cache component.
  */
-@UriEndpoint(scheme = "cache", title = "EHCache", syntax = "cache:cacheName", consumerClass = CacheConsumer.class, label = "cache")
+@UriEndpoint(firstVersion = "2.1.0", scheme = "cache", title = "EHCache", syntax = "cache:cacheName", consumerClass = CacheConsumer.class, label = "cache")
 public class CacheEndpoint extends DefaultEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(CacheEndpoint.class);
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index ee5acbf..54dfc54 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -40,7 +40,7 @@ import org.apache.camel.utils.cassandra.CassandraSessionHolder;
  *
  * It's based on Cassandra Java Driver provided by DataStax.
  */
-@UriEndpoint(scheme = "cql", title = "Cassandra CQL", syntax = "cql:beanRef:hosts:port/keyspace", consumerClass = CassandraConsumer.class, label = "database,nosql")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "cql", title = "Cassandra CQL", syntax = "cql:beanRef:hosts:port/keyspace", consumerClass = CassandraConsumer.class, label = "database,nosql")
 public class CassandraEndpoint extends DefaultEndpoint {
 
     private volatile CassandraSessionHolder sessionHolder;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java b/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
index 570ceae..d2b4491 100644
--- a/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
+++ b/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The camel chronicle-engine component let you leverage the power of OpenHFT's <a href="https://github.com/OpenHFT/Chronicle-Engine">Chronicle-Engine</a>.
  */
-@UriEndpoint(scheme = "chronicle-engine", title = "Chronicle Engine", syntax = "chronicle-engine:addresses/path", consumerClass = ChronicleEngineConsumer.class, label = "datagrid,cache")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "chronicle-engine", title = "Chronicle Engine", syntax = "chronicle-engine:addresses/path", consumerClass = ChronicleEngineConsumer.class, label = "datagrid,cache")
 public class ChronicleEngineEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "Engine addresses. Multiple addresses can be separated by comman.")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java b/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
index f0721bf..498568b 100644
--- a/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
+++ b/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
@@ -43,7 +43,7 @@ import static org.apache.camel.component.chunk.ChunkConstants.CHUNK_TEMPLATE;
 /**
  * Transforms the message using a Chunk template.
  */
-@UriEndpoint(scheme = "chunk", title = "Chunk", syntax = "chunk:resourceUri", producerOnly = true, label = "transformation")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "chunk", title = "Chunk", syntax = "chunk:resourceUri", producerOnly = true, label = "transformation")
 public class ChunkEndpoint extends ResourceEndpoint {
 
     private Theme theme;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
index 12ade95..bffc82f 100644
--- a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
+++ b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * The influxdb component allows to integrate with <a href="https://www.cmtelecom.com/">CM SMS Gateway</a>.
  */
-@UriEndpoint(scheme = "cm-sms", title = "CM SMS Gateway", syntax = "cm-sms:host", label = "mobile", producerOnly = true)
+@UriEndpoint(firstVersion = "2.18.0", scheme = "cm-sms", title = "CM SMS Gateway", syntax = "cm-sms:host", label = "mobile", producerOnly = true)
 public class CMEndpoint extends DefaultEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
index da6040c..f97dbfd 100644
--- a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
+++ b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The cmis component uses the Apache Chemistry client API and allows you to add/read nodes to/from a CMIS compliant content repositories.
  */
-@UriEndpoint(scheme = "cmis", title = "CMIS", syntax = "cmis:cmsUrl", consumerClass = CMISConsumer.class, label = "cms,database")
+@UriEndpoint(firstVersion = "2.11.0", scheme = "cmis", title = "CMIS", syntax = "cmis:cmsUrl", consumerClass = CMISConsumer.class, label = "cms,database")
 public class CMISEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "URL to the cmis repository")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
index f8e0f36..7375068 100644
--- a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
@@ -30,7 +30,7 @@ import org.eclipse.californium.core.CoapServer;
 /**
  * The coap component is used for sending and receiving messages from COAP capable devices.
  */
-@UriEndpoint(scheme = "coap", title = "CoAP", syntax = "coap:uri", consumerClass = CoAPConsumer.class, label = "iot")
+@UriEndpoint(firstVersion = "2.16.0", scheme = "coap", title = "CoAP", syntax = "coap:uri", consumerClass = CoAPConsumer.class, label = "iot")
 public class CoAPEndpoint extends DefaultEndpoint {
     @UriPath
     private URI uri;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
index 6d35df3..5204b55 100644
--- a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
+++ b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.util.ObjectHelper;
  * Using this component in combination with the dojo toolkit library it's possible to push Camel messages directly
  * into the browser using an AJAX based mechanism.
  */
-@UriEndpoint(scheme = "cometd,cometds", title = "CometD", syntax = "cometd:host:port/channelName", consumerClass = CometdConsumer.class, label = "websocket")
+@UriEndpoint(firstVersion = "2.0.0", scheme = "cometd,cometds", title = "CometD", syntax = "cometd:host:port/channelName", consumerClass = CometdConsumer.class, label = "websocket")
 public class CometdEndpoint extends DefaultEndpoint {
 
     private CometdComponent component;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java
index 3844acd..b17177c 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * The camel consul component allows you to work with <a href="https://www.consul.io/">Consul</a>, a distributed, highly available, datacenter-aware, service discovery and configuration system.
  */
-@UriEndpoint(scheme = "consul", title = "Consul", syntax = "consul:apiEndpoint", label = "api,cloud")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "consul", title = "Consul", syntax = "consul:apiEndpoint", label = "api,cloud")
 public class ConsulEndpoint extends DefaultEndpoint {
 
     @UriParam(description = "The consul configuration")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java b/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java
index ff88de6..d17afac 100644
--- a/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java
+++ b/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.spi.UriPath;
  * It is similar to the Routebox component in idea, though the Context component tries to be really simple for end users;
  * just a simple convention over configuration approach to refer to local endpoints inside the CamelContext Component.
  */
-@UriEndpoint(scheme = "context", title = "Camel Context", syntax = "context:contextId:localEndpointUrl", label = "endpoint")
+@UriEndpoint(firstVersion = "2.7.0", scheme = "context", title = "Camel Context", syntax = "context:contextId:localEndpointUrl", label = "endpoint")
 public class ContextEndpoint extends DefaultEndpoint implements DelegateEndpoint {
 
     @UriPath @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
index 365559d..b03a208 100644
--- a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
+++ b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
@@ -57,7 +57,7 @@ import static org.apache.camel.component.couchbase.CouchbaseConstants.DEFAULT_VI
  * Represents a Couchbase endpoint that can query Views with a Poll strategy
  * and/or produce various type of operations.
  */
-@UriEndpoint(scheme = "couchbase", title = "Couchbase", syntax = "couchbase:url", consumerClass = CouchbaseConsumer.class, label = "database,nosql")
+@UriEndpoint(firstVersion = "2.19.0", scheme = "couchbase", title = "Couchbase", syntax = "couchbase:url", consumerClass = CouchbaseConsumer.class, label = "database,nosql")
 public class CouchbaseEndpoint extends ScheduledPollEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
index c4e7904..5721e22 100644
--- a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
+++ b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
@@ -33,7 +33,7 @@ import org.lightcouch.CouchDbClient;
 /**
  * The couchdb component is used for integrate with CouchDB databases.
  */
-@UriEndpoint(scheme = "couchdb", title = "CouchDB", syntax = "couchdb:protocol:hostname:port/database", consumerClass = CouchDbConsumer.class, label = "database,nosql")
+@UriEndpoint(firstVersion = "2.11.0", scheme = "couchdb", title = "CouchDB", syntax = "couchdb:protocol:hostname:port/database", consumerClass = CouchDbConsumer.class, label = "database,nosql")
 public class CouchDbEndpoint extends DefaultEndpoint {
 
     public static final String DEFAULT_STYLE = "main_only";

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java
index 40a5618..ad88d63 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The crypto component is used for signing and verifying exchanges using the Signature Service of the Java Cryptographic Extension (JCE).
  */
-@UriEndpoint(scheme = "crypto", title = "Crypto (JCE)", syntax = "crypto:cryptoOperation:name", producerOnly = true, label = "security,transformation")
+@UriEndpoint(firstVersion = "2.3.0", scheme = "crypto", title = "Crypto (JCE)", syntax = "crypto:cryptoOperation:name", producerOnly = true, label = "security,transformation")
 public class DigitalSignatureEndpoint extends DefaultEndpoint {
     @UriParam
     private DigitalSignatureConfiguration configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
index e2be0e9..be1f609 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
@@ -119,7 +119,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The cxf component is used for SOAP WebServices using Apache CXF.
  */
-@UriEndpoint(scheme = "cxf", title = "CXF", syntax = "cxf:beanId:address", consumerClass = CxfConsumer.class, label = "soap,webservice")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "cxf", title = "CXF", syntax = "cxf:beanId:address", consumerClass = CxfConsumer.class, label = "soap,webservice")
 public class CxfEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware, Service, Cloneable {
 
     private static final Logger LOG = LoggerFactory.getLogger(CxfEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
index 822a07c..ecb16ae 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The cxfrs component is used for JAX-RS REST services using Apache CXF.
  */
-@UriEndpoint(scheme = "cxfrs", title = "CXF-RS", syntax = "cxfrs:beanId:address", consumerClass = CxfRsConsumer.class, label = "rest", lenientProperties = true)
+@UriEndpoint(firstVersion = "2.0.0", scheme = "cxfrs", title = "CXF-RS", syntax = "cxfrs:beanId:address", consumerClass = CxfRsConsumer.class, label = "rest", lenientProperties = true)
 public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, Service {
 
     private static final Logger LOG = LoggerFactory.getLogger(CxfRsEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
index ce23073..c58ac27 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
@@ -49,7 +49,7 @@ import org.slf4j.LoggerFactory;
  * instead of a BlockingQueue utilized by the standard SEDA.
  */
 @ManagedResource(description = "Managed Disruptor Endpoint")
-@UriEndpoint(scheme = "disruptor,disruptor-vm", title = "Disruptor,Disruptor VM", syntax = "disruptor:name", consumerClass = DisruptorConsumer.class, label = "endpoint")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "disruptor,disruptor-vm", title = "Disruptor,Disruptor VM", syntax = "disruptor:name", consumerClass = DisruptorConsumer.class, label = "endpoint")
 public class DisruptorEndpoint extends DefaultEndpoint implements AsyncEndpoint, MultipleConsumersSupport {
     public static final String DISRUPTOR_IGNORE_EXCHANGE = "disruptor.ignoreExchange";
     private static final Logger LOGGER = LoggerFactory.getLogger(DisruptorEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
index bcd27ac..b40c465 100644
--- a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
+++ b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * To lookup domain information and run DNS queries using DNSJava.
  */
-@UriEndpoint(scheme = "dns", title = "DNS", syntax = "dns:dnsType", producerOnly = true, label = "networking")
+@UriEndpoint(firstVersion = "2.7.0", scheme = "dns", title = "DNS", syntax = "dns:dnsType", producerOnly = true, label = "networking")
 public class DnsEndpoint extends DefaultEndpoint {
 
     @UriPath @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java
index 75d54d4..de4d7d6 100644
--- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java
+++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * The docker component is used for managing Docker containers.
  */
-@UriEndpoint(scheme = "docker", title = "Docker", syntax = "docker:operation",
+@UriEndpoint(firstVersion = "2.15.0", scheme = "docker", title = "Docker", syntax = "docker:operation",
         label = "container,cloud,paas", lenientProperties = true)
 public class DockerEndpoint extends DefaultEndpoint {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java
index b4903ec..e008881 100644
--- a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java
+++ b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The dozer component provides the ability to map between Java beans using the Dozer mapping library.
  */
-@UriEndpoint(scheme = "dozer", title = "Dozer", syntax = "dozer:name", producerOnly = true, label = "transformation")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "dozer", title = "Dozer", syntax = "dozer:name", producerOnly = true, label = "transformation")
 public class DozerEndpoint extends DefaultEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(DozerEndpoint.class);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java b/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java
index 89f0711..5c2c159 100644
--- a/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java
+++ b/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java
@@ -39,7 +39,7 @@ import org.springframework.jdbc.core.RowMapperResultSetExtractor;
  * The drill component gives you the ability to quering into apache drill
  * cluster.
  */
-@UriEndpoint(scheme = "drill", title = "Drill", syntax = "drill:host", producerOnly = true, label = "database,sql")
+@UriEndpoint(firstVersion = "2.19.0", scheme = "drill", title = "Drill", syntax = "drill:host", producerOnly = true, label = "database,sql")
 public class DrillEndpoint extends DefaultPollingEndpoint {
 
     @UriPath(description = "Host name or IP address")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
index a1a6692..7250b30 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
@@ -40,7 +40,7 @@ import static org.apache.camel.component.dropbox.util.DropboxConstants.POLL_CONS
 /**
  * For uploading, downloading and managing files, folders, groups, collaborations, etc on dropbox DOT com.
  */
-@UriEndpoint(scheme = "dropbox", title = "Dropbox", syntax = "dropbox:operation", consumerClass = DropboxScheduledPollConsumer.class, label = "api,file")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "dropbox", title = "Dropbox", syntax = "dropbox:operation", consumerClass = DropboxScheduledPollConsumer.class, label = "api,file")
 public class DropboxEndpoint extends DefaultEndpoint {
 
     private static final transient Logger LOG = LoggerFactory.getLogger(DropboxEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
index d48df7d..9f091d7 100644
--- a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
+++ b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The ehcache component enables you to perform caching operations using <a href="http://www.ehcache.org">Ehcache</a> as cache implementation.
  */
-@UriEndpoint(scheme = "ehcache", title = "Ehcache", syntax = "ehcache:cacheName", consumerClass = EhcacheConsumer.class, label = "cache,datagrid,clustering")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "ehcache", title = "Ehcache", syntax = "ehcache:cacheName", consumerClass = EhcacheConsumer.class, label = "cache,datagrid,clustering")
 public class EhcacheEndpoint extends DefaultEndpoint {
     @UriPath(description = "the cache name")
     @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java
index fdbfbd7..69a0c62 100644
--- a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java
+++ b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java
@@ -41,7 +41,7 @@ import static org.elasticsearch.node.NodeBuilder.nodeBuilder;
 /**
  * The elasticsearch component is used for interfacing with ElasticSearch server.
  */
-@UriEndpoint(scheme = "elasticsearch", title = "Elasticsearch", syntax = "elasticsearch:clusterName", producerOnly = true, label = "monitoring,search")
+@UriEndpoint(firstVersion = "2.11.0", scheme = "elasticsearch", title = "Elasticsearch", syntax = "elasticsearch:clusterName", producerOnly = true, label = "monitoring,search")
 public class ElasticsearchEndpoint extends DefaultEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(ElasticsearchEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
index fede90c..8bd5759 100644
--- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
+++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
@@ -47,7 +47,7 @@ import org.springframework.jdbc.core.namedparam.SqlParameterSource;
 /**
  * The elsql component is an extension to the existing SQL Component that uses ElSql to define the SQL queries.
  */
-@UriEndpoint(scheme = "elsql", title = "ElSQL", syntax = "elsql:elsqlName:resourceUri", consumerClass = ElsqlConsumer.class,
+@UriEndpoint(firstVersion = "2.16.0", scheme = "elsql", title = "ElSQL", syntax = "elsql:elsqlName:resourceUri", consumerClass = ElsqlConsumer.class,
         label = "database,sql")
 public class ElsqlEndpoint extends DefaultSqlEndpoint {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java
index beb72ca..3d8fc9e 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The camel etcd component allows you to work with <a href="https://coreos.com/etcd">Etcd</a>, a distributed, A distributed, reliable key-value store.
  */
-@UriEndpoint(scheme = "etcd", title = "etcd", syntax = "etcd:namespace/path", consumerClass = AbstractEtcdConsumer.class, label = "etcd")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "etcd", title = "etcd", syntax = "etcd:namespace/path", consumerClass = AbstractEtcdConsumer.class, label = "etcd")
 public abstract class AbstractEtcdEndpoint extends DefaultEndpoint implements EtcdEndpoint {
 
     @UriPath(description = "The API namespace to use", enums = "keys,stats,watch")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
index 82659d5..9da0735 100644
--- a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
+++ b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The eventadmin component can be used in an OSGi environment to receive OSGi EventAdmin events and process them.
  */
-@UriEndpoint(scheme = "eventadmin", title = "OSGi EventAdmin", syntax = "eventadmin:topic", consumerClass = EventAdminConsumer.class, label = "eventbus")
+@UriEndpoint(firstVersion = "2.6.0", scheme = "eventadmin", title = "OSGi EventAdmin", syntax = "eventadmin:topic", consumerClass = EventAdminConsumer.class, label = "eventbus")
 public class EventAdminEndpoint extends DefaultEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
index 46dfc18..03890f4 100644
--- a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
+++ b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * The exec component can be used to execute OS system commands.
  */
-@UriEndpoint(scheme = "exec", title = "Exec", syntax = "exec:executable", producerOnly = true, label = "system")
+@UriEndpoint(firstVersion = "2.3.0", scheme = "exec", title = "Exec", syntax = "exec:executable", producerOnly = true, label = "system")
 public class ExecEndpoint extends DefaultEndpoint {
 
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
index 62171a5..3735375 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
@@ -53,7 +53,7 @@ import static org.apache.camel.component.facebook.data.FacebookPropertiesHelper.
  * It allows producing messages to retrieve, add, and delete posts, likes, comments, photos, albums, videos, photos,
  * checkins, locations, links, etc. It also supports APIs that allow polling for posts, users, checkins, groups, locations, etc.
  */
-@UriEndpoint(scheme = "facebook", title = "Facebook", syntax = "facebook:methodName", consumerClass = FacebookConsumer.class, label = "social")
+@UriEndpoint(firstVersion = "2.14.0", scheme = "facebook", title = "Facebook", syntax = "facebook:methodName", consumerClass = FacebookConsumer.class, label = "social")
 public class FacebookEndpoint extends DefaultEndpoint implements FacebookConstants {
 
     private static final Logger LOG = LoggerFactory.getLogger(FacebookEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
index 6757f7e..3d26f09 100644
--- a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
@@ -47,7 +47,7 @@ import org.apache.camel.util.ResourceHelper;
 /**
  * The flatpack component supports fixed width and delimited file parsing via the FlatPack library.
  */
-@UriEndpoint(scheme = "flatpack", title = "Flatpack", syntax = "flatpack:type:resourceUri", consumerClass = FlatpackConsumer.class, label = "transformation")
+@UriEndpoint(firstVersion = "1.5.0", scheme = "flatpack", title = "Flatpack", syntax = "flatpack:type:resourceUri", consumerClass = FlatpackConsumer.class, label = "transformation")
 public class FlatpackEndpoint extends DefaultPollingEndpoint {
 
     private LoadBalancer loadBalancer = new RoundRobinLoadBalancer();

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
index 5b66f93..570af2a 100644
--- a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
+++ b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.flink.streaming.api.datastream.DataStream;
 /**
  * The flink component can be used to send DataSet jobs to Apache Flink cluster.
  */
-@UriEndpoint(scheme = "flink", title = "Apache Flink", syntax = "flink:endpointType", producerOnly = true, label = "hadoop")
+@UriEndpoint(firstVersion = "2.18.0", scheme = "flink", title = "Apache Flink", syntax = "flink:endpointType", producerOnly = true, label = "hadoop")
 public class FlinkEndpoint extends DefaultEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
index c7bc468..433c567 100644
--- a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
+++ b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.fop.apps.FopFactory;
 /**
  * The fop component allows you to render a message into different output formats using Apache FOP.
  */
-@UriEndpoint(scheme = "fop", title = "FOP", syntax = "fop:outputType", producerOnly = true, label = "transformation")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "fop", title = "FOP", syntax = "fop:outputType", producerOnly = true, label = "transformation")
 public class FopEndpoint extends DefaultEndpoint {
 
     @UriPath @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java
index 7567b63..03d9f5a 100644
--- a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java
+++ b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Transforms the message using a FreeMarker template.
  */
-@UriEndpoint(scheme = "freemarker", title = "Freemarker", syntax = "freemarker:resourceUri", producerOnly = true, label = "transformation")
+@UriEndpoint(firstVersion = "2.10.0", scheme = "freemarker", title = "Freemarker", syntax = "freemarker:resourceUri", producerOnly = true, label = "transformation")
 public class FreemarkerEndpoint extends ResourceEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
index 26d028c..45406f8 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.commons.net.ftp.FTPFile;
 /**
  * The ftp component is used for uploading or downloading files from FTP servers.
  */
-@UriEndpoint(scheme = "ftp", extendsScheme = "file", title = "FTP",
+@UriEndpoint(firstVersion = "1.1.0", scheme = "ftp", extendsScheme = "file", title = "FTP",
         syntax = "ftp:host:port/directoryName", alternativeSyntax = "ftp:username:password@host:port/directoryName",
         consumerClass = FtpConsumer.class, label = "file")
 public class FtpEndpoint<T extends FTPFile> extends RemoteFileEndpoint<FTPFile> {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
index f833d31..f080e6b 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.commons.net.ftp.FTPSClient;
 /**
  * The ftps (FTP secure SSL/TLS) component is used for uploading or downloading files from FTP servers.
  */
-@UriEndpoint(scheme = "ftps", extendsScheme = "file", title = "FTPS",
+@UriEndpoint(firstVersion = "2.2.0", scheme = "ftps", extendsScheme = "file", title = "FTPS",
         syntax = "ftps:host:port/directoryName", alternativeSyntax = "ftps:username:password@host:port/directoryName",
         consumerClass = FtpConsumer.class, label = "file")
 public class FtpsEndpoint extends FtpEndpoint<FTPFile> {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
index 0da5beb..81d702c 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriParam;
 /**
  *  The sftp (FTP over SSH) component is used for uploading or downloading files from SFTP servers.
  */
-@UriEndpoint(scheme = "sftp", extendsScheme = "file", title = "SFTP",
+@UriEndpoint(firstVersion = "1.1.0", scheme = "sftp", extendsScheme = "file", title = "SFTP",
         syntax = "sftp:host:port/directoryName", consumerClass = SftpConsumer.class, label = "file",
         excludeProperties = "binary,passiveMode,receiveBufferSize,siteCommand,useList")
 public class SftpEndpoint extends RemoteFileEndpoint<ChannelSftp.LsEntry> {

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
index 847e724..9ceab5d 100644
--- a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
+++ b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * The ganglia component is used for sending metrics to the Ganglia monitoring system.
  */
-@UriEndpoint(scheme = "ganglia", title = "Ganglia", syntax = "ganglia:host:port", producerOnly = true, label = "monitoring")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "ganglia", title = "Ganglia", syntax = "ganglia:host:port", producerOnly = true, label = "monitoring")
 public class GangliaEndpoint extends DefaultEndpoint {
 
     private Publisher publisher;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
index 03d021b..0a7b047 100644
--- a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
+++ b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
 /**
  * The geocoder component is used for looking up geocodes (latitude and longitude) for a given address, or reverse lookup.
  */
-@UriEndpoint(scheme = "geocoder", title = "Geocoder", syntax = "geocoder:address:latlng", producerOnly = true, label = "api,location")
+@UriEndpoint(firstVersion = "2.12.0", scheme = "geocoder", title = "Geocoder", syntax = "geocoder:address:latlng", producerOnly = true, label = "api,location")
 public class GeoCoderEndpoint extends DefaultEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java b/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
index 575784e..c15e12b 100644
--- a/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
+++ b/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The git component is used for working with git repositories.
  */
-@UriEndpoint(scheme = "git", title = "Git", syntax = "git:localPath", label = "file")
+@UriEndpoint(firstVersion = "2.16.0", scheme = "git", title = "Git", syntax = "git:localPath", label = "file")
 public class GitEndpoint extends DefaultEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
index 2dd757a..dc431cb 100644
--- a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
+++ b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
@@ -59,7 +59,7 @@ import org.apache.camel.util.ObjectHelper;
  * - the types of payloads we're polling aren't typically large (plus, paging is available in the API)
  * - need to support apps running somewhere not publicly accessible where a webhook would fail
  */
-@UriEndpoint(scheme = "github", title = "GitHub", syntax = "github:type/branchName", label = "api,file")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "github", title = "GitHub", syntax = "github:type/branchName", label = "api,file")
 public class GitHubEndpoint extends DefaultEndpoint {
 
     @UriPath @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
index 7ad7f9d..b08d305 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * The google-calendar component provides access to Google Calendar.
  */
-@UriEndpoint(scheme = "google-calendar", title = "Google Calendar", syntax = "google-calendar:apiName/methodName",
+@UriEndpoint(firstVersion = "2.15.0", scheme = "google-calendar", title = "Google Calendar", syntax = "google-calendar:apiName/methodName",
 consumerClass = GoogleCalendarConsumer.class, consumerPrefix = "consumer", label = "api,cloud")
 public class GoogleCalendarEndpoint extends AbstractApiEndpoint<GoogleCalendarApiName, GoogleCalendarConfiguration> {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
index b80a2df..3d3fed5 100644
--- a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
+++ b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * The google-drive component provides access to Google Drive file storage service.
  */
-@UriEndpoint(scheme = "google-drive", title = "Google Drive", syntax = "google-drive:apiName/methodName",
+@UriEndpoint(firstVersion = "2.14.0", scheme = "google-drive", title = "Google Drive", syntax = "google-drive:apiName/methodName",
 consumerClass = GoogleDriveConsumer.class, consumerPrefix = "consumer", label = "api,cloud,file")
 public class GoogleDriveEndpoint extends AbstractApiEndpoint<GoogleDriveApiName, GoogleDriveConfiguration> {
     private Object apiProxy;

http://git-wip-us.apache.org/repos/asf/camel/blob/e3ec108c/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
index 7810839..ba83671 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * The google-mail component provides access to Google Mail.
  */
-@UriEndpoint(scheme = "google-mail", title = "Google Mail", syntax = "google-mail:apiName/methodName", consumerClass = GoogleMailConsumer.class, consumerPrefix = "consumer", label = "api,cloud,mail")
+@UriEndpoint(firstVersion = "2.15.0", scheme = "google-mail", title = "Google Mail", syntax = "google-mail:apiName/methodName", consumerClass = GoogleMailConsumer.class, consumerPrefix = "consumer", label = "api,cloud,mail")
 public class GoogleMailEndpoint extends AbstractApiEndpoint<GoogleMailApiName, GoogleMailConfiguration> {
 
     // TODO create and manage API proxy