You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by th...@apache.org on 2016/05/24 16:52:31 UTC

[1/3] incubator-apex-malhar git commit: Add @since tags and update change log for release 3.4.0

Repository: incubator-apex-malhar
Updated Branches:
  refs/heads/release-3.4 6f63ee2a8 -> 921dd0dee


http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/utils/IOUtils.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/utils/IOUtils.java b/library/src/main/java/org/apache/apex/malhar/lib/utils/IOUtils.java
index 123e41a..b714698 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/utils/IOUtils.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/utils/IOUtils.java
@@ -25,6 +25,9 @@ import java.io.OutputStream;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * @since 3.4.0
+ */
 public class IOUtils
 {
   /**

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/PassThruByteArraySerde.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/PassThruByteArraySerde.java b/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/PassThruByteArraySerde.java
index 7d03634..85c34d9 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/PassThruByteArraySerde.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/PassThruByteArraySerde.java
@@ -23,6 +23,8 @@ import org.apache.commons.lang3.mutable.MutableInt;
 /**
  * This is a simple pass through {@link Serde}. When serialization is performed the input byte array is returned.
  * Similarly when deserialization is performed the input byte array is returned.
+ *
+ * @since 3.4.0
  */
 public class PassThruByteArraySerde implements Serde<byte[], byte[]>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/Serde.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/Serde.java b/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/Serde.java
index df84c59..6e02aee 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/Serde.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/utils/serde/Serde.java
@@ -24,6 +24,8 @@ import org.apache.commons.lang3.mutable.MutableInt;
  * This is an interface for a Serializer/Deserializer class.
  * @param <OBJ> The type of the object to Serialize and Deserialize.
  * @param <SER> The type to Serialize an Object to.
+ *
+ * @since 3.4.0
  */
 public interface Serde<OBJ, SER>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/wal/FSWindowDataManager.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/wal/FSWindowDataManager.java b/library/src/main/java/org/apache/apex/malhar/lib/wal/FSWindowDataManager.java
index b8ab2ce..3de6a1b 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/wal/FSWindowDataManager.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/wal/FSWindowDataManager.java
@@ -45,6 +45,8 @@ import com.datatorrent.common.util.FSStorageAgent;
 
 /**
  * An {@link WindowDataManager} that uses FS to persist state.
+ *
+ * @since 3.4.0
  */
 public class FSWindowDataManager implements WindowDataManager
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/wal/FileSystemWAL.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/wal/FileSystemWAL.java b/library/src/main/java/org/apache/apex/malhar/lib/wal/FileSystemWAL.java
index 6edf204..f454188 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/wal/FileSystemWAL.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/wal/FileSystemWAL.java
@@ -60,6 +60,8 @@ import com.datatorrent.netlet.util.Slice;
  *
  * Also this implementation is thread unsafe- the filesystem wal writer and reader operations should be performed in
  * operator's thread.
+ *
+ * @since 3.4.0
  */
 public class FileSystemWAL implements WAL<FileSystemWAL.FileSystemWALReader, FileSystemWAL.FileSystemWALWriter>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/wal/WAL.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/wal/WAL.java b/library/src/main/java/org/apache/apex/malhar/lib/wal/WAL.java
index 10d8359..45432d5 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/wal/WAL.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/wal/WAL.java
@@ -30,6 +30,8 @@ import com.datatorrent.netlet.util.Slice;
  *
  * @param <READER> Type of WAL Reader
  * @param <WRITER> WAL Pointer Type.
+ *
+ * @since 3.4.0
  */
 public interface WAL<READER extends WAL.WALReader, WRITER extends WAL.WALWriter>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/ApexStream.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/ApexStream.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/ApexStream.java
index f97e8cc..2f65ba9 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/ApexStream.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/ApexStream.java
@@ -34,6 +34,8 @@ import com.datatorrent.api.Operator;
 /**
  * The stream interface to build a DAG
  * @param <T>
+ *
+ * @since 3.4.0
  */
 public interface ApexStream<T>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/WindowedStream.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/WindowedStream.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/WindowedStream.java
index a3bc846..748a76a 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/WindowedStream.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/WindowedStream.java
@@ -48,6 +48,8 @@ package org.apache.apex.malhar.stream.api;
  * </p>
  *
  * @param <T> Output tuple type
+ *
+ * @since 3.4.0
  */
 public interface WindowedStream<T> extends ApexStream<T>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/function/Function.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/function/Function.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/function/Function.java
index 1167744..f4e5e60 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/function/Function.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/function/Function.java
@@ -20,6 +20,8 @@ package org.apache.apex.malhar.stream.api.function;
 
 /**
  * The top level function interface
+ *
+ * @since 3.4.0
  */
 public interface Function
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/ApexStreamImpl.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/ApexStreamImpl.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/ApexStreamImpl.java
index 0e47727..2ff6d51 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/ApexStreamImpl.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/ApexStreamImpl.java
@@ -46,6 +46,8 @@ import com.datatorrent.stram.plan.logical.LogicalPlan;
 /**
  * Default stream implementation for ApexStream interface.
  * It creates the dag(execution plan) from stream api
+ *
+ * @since 3.4.0
  */
 public class ApexStreamImpl<T> implements ApexStream<T>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/DagMeta.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/DagMeta.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/DagMeta.java
index 15417b5..791ce3e 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/DagMeta.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/DagMeta.java
@@ -38,6 +38,8 @@ import com.datatorrent.stram.plan.logical.LogicalPlan;
 /**
  * Graph data structure for DAG
  * With this data structure, the framework can do lazy load and optimization
+ *
+ * @since 3.4.0
  */
 public class DagMeta
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/IDGenerator.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/IDGenerator.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/IDGenerator.java
index 36200f2..982980c 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/IDGenerator.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/IDGenerator.java
@@ -26,6 +26,8 @@ import static java.lang.System.currentTimeMillis;
 
 /**
  * A util class to generate unique ids in dag
+ *
+ * @since 3.4.0
  */
 public class IDGenerator
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/StreamFactory.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/StreamFactory.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/StreamFactory.java
index 70a11b5..7af6ece 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/StreamFactory.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/impl/StreamFactory.java
@@ -27,6 +27,8 @@ import com.datatorrent.contrib.kafka.KafkaSinglePortStringInputOperator;
 
 /**
  * A Factory class to build from different kind of input source
+ *
+ * @since 3.4.0
  */
 public class StreamFactory
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/AnnonymousClassModifier.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/AnnonymousClassModifier.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/AnnonymousClassModifier.java
index 9628354..cc85f37 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/AnnonymousClassModifier.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/AnnonymousClassModifier.java
@@ -30,6 +30,8 @@ import com.esotericsoftware.reflectasm.shaded.org.objectweb.asm.Opcodes;
  * This class is used to modify the bytecode of annonymous at runtime.
  * The limit for this is the annonymous class that is being modified must by stateless
  *
+ *
+ * @since 3.4.0
  */
 public class AnnonymousClassModifier extends ClassVisitor
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/ByteArrayClassLoader.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/ByteArrayClassLoader.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/ByteArrayClassLoader.java
index 61ec10b..9194dc2 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/ByteArrayClassLoader.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/ByteArrayClassLoader.java
@@ -21,6 +21,9 @@ package org.apache.apex.malhar.stream.api.operator;
 
 import java.util.Map;
 
+/**
+ * @since 3.4.0
+ */
 public class ByteArrayClassLoader extends ClassLoader
 {
   private final Map<String, byte[]> classes;

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/FunctionOperator.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/FunctionOperator.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/FunctionOperator.java
index 5f80062..0a8ba55 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/FunctionOperator.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/operator/FunctionOperator.java
@@ -42,6 +42,8 @@ import com.datatorrent.api.Operator;
 
 /**
  * Operators that wrap the functions
+ *
+ * @since 3.4.0
  */
 public class FunctionOperator<OUT, FUNCTION extends Function> implements Operator
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/util/KeyedTuple.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/util/KeyedTuple.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/util/KeyedTuple.java
index 755521f..3641189 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/util/KeyedTuple.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/util/KeyedTuple.java
@@ -21,6 +21,8 @@ package org.apache.apex.malhar.stream.api.util;
 /**
  * An interface indicate a tuple with a specific key
  * It is used internally to identify the key from the tuple
+ *
+ * @since 3.4.0
  */
 public interface KeyedTuple<K>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/stream/src/main/java/org/apache/apex/malhar/stream/api/util/TupleUtil.java
----------------------------------------------------------------------
diff --git a/stream/src/main/java/org/apache/apex/malhar/stream/api/util/TupleUtil.java b/stream/src/main/java/org/apache/apex/malhar/stream/api/util/TupleUtil.java
index f6c2552..583615a 100644
--- a/stream/src/main/java/org/apache/apex/malhar/stream/api/util/TupleUtil.java
+++ b/stream/src/main/java/org/apache/apex/malhar/stream/api/util/TupleUtil.java
@@ -23,6 +23,8 @@ package org.apache.apex.malhar.stream.api.util;
  * Or converting from data tuples to display tuples <br>
  * Or generating watermark tuples <br>
  *
+ *
+ * @since 3.4.0
  */
 public class TupleUtil
 {


[3/3] incubator-apex-malhar git commit: Preparing for 3.4.1 development

Posted by th...@apache.org.
Preparing for 3.4.1 development


Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/commit/921dd0de
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/tree/921dd0de
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/diff/921dd0de

Branch: refs/heads/release-3.4
Commit: 921dd0dee1ece8a9918e12d2900b9c611dfcbf20
Parents: aea89fa
Author: Thomas Weise <th...@datatorrent.com>
Authored: Tue May 24 09:51:28 2016 -0700
Committer: Thomas Weise <th...@datatorrent.com>
Committed: Tue May 24 09:51:28 2016 -0700

----------------------------------------------------------------------
 apps/filecopy/pom.xml            | 4 ++--
 apps/logstream/pom.xml           | 2 +-
 apps/pom.xml                     | 2 +-
 benchmark/pom.xml                | 2 +-
 contrib/pom.xml                  | 2 +-
 demos/distributedistinct/pom.xml | 2 +-
 demos/echoserver/pom.xml         | 2 +-
 demos/frauddetect/pom.xml        | 2 +-
 demos/iteration/pom.xml          | 2 +-
 demos/machinedata/pom.xml        | 2 +-
 demos/mobile/pom.xml             | 2 +-
 demos/mrmonitor/pom.xml          | 2 +-
 demos/mroperator/pom.xml         | 2 +-
 demos/pi/pom.xml                 | 2 +-
 demos/pom.xml                    | 2 +-
 demos/r/pom.xml                  | 2 +-
 demos/twitter/pom.xml            | 2 +-
 demos/uniquecount/pom.xml        | 2 +-
 demos/wordcount/pom.xml          | 2 +-
 demos/yahoofinance/pom.xml       | 2 +-
 kafka/pom.xml                    | 2 +-
 library/pom.xml                  | 2 +-
 pom.xml                          | 2 +-
 samples/pom.xml                  | 2 +-
 stream/pom.xml                   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/apps/filecopy/pom.xml
----------------------------------------------------------------------
diff --git a/apps/filecopy/pom.xml b/apps/filecopy/pom.xml
index 4daf7b2..d451cd1 100644
--- a/apps/filecopy/pom.xml
+++ b/apps/filecopy/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>malhar-apps</artifactId>
     <groupId>org.apache.apex</groupId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>filecopy</artifactId>
@@ -79,7 +79,7 @@
     <dependency>
       <groupId>org.apache.apex</groupId>
       <artifactId>malhar-library</artifactId>
-      <version>3.4.0-SNAPSHOT</version>
+      <version>3.4.1-SNAPSHOT</version>
       <exclusions>
         <exclusion>
           <groupId>*</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/apps/logstream/pom.xml
----------------------------------------------------------------------
diff --git a/apps/logstream/pom.xml b/apps/logstream/pom.xml
index 3bfa825..471f138 100644
--- a/apps/logstream/pom.xml
+++ b/apps/logstream/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>malhar-apps</artifactId>
     <groupId>org.apache.apex</groupId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.apex</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/apps/pom.xml
----------------------------------------------------------------------
diff --git a/apps/pom.xml b/apps/pom.xml
index 32f4160..487beab 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>malhar-apps</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/benchmark/pom.xml b/benchmark/pom.xml
index 408ec0e..0c8babe 100644
--- a/benchmark/pom.xml
+++ b/benchmark/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>malhar</artifactId>
     <groupId>org.apache.apex</groupId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.apex</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/contrib/pom.xml
----------------------------------------------------------------------
diff --git a/contrib/pom.xml b/contrib/pom.xml
index cfc55db..c019ec7 100755
--- a/contrib/pom.xml
+++ b/contrib/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>malhar-contrib</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/distributedistinct/pom.xml
----------------------------------------------------------------------
diff --git a/demos/distributedistinct/pom.xml b/demos/distributedistinct/pom.xml
index 4c3a01c..5cd6419 100644
--- a/demos/distributedistinct/pom.xml
+++ b/demos/distributedistinct/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/echoserver/pom.xml
----------------------------------------------------------------------
diff --git a/demos/echoserver/pom.xml b/demos/echoserver/pom.xml
index 63dc20c..3ea601a 100644
--- a/demos/echoserver/pom.xml
+++ b/demos/echoserver/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>malhar-demos</artifactId>
     <groupId>org.apache.apex</groupId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
   
   <groupId>org.apache.apex</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/frauddetect/pom.xml
----------------------------------------------------------------------
diff --git a/demos/frauddetect/pom.xml b/demos/frauddetect/pom.xml
index f2db28b..791c4aa 100644
--- a/demos/frauddetect/pom.xml
+++ b/demos/frauddetect/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/iteration/pom.xml
----------------------------------------------------------------------
diff --git a/demos/iteration/pom.xml b/demos/iteration/pom.xml
index b4a9890..b379a78 100644
--- a/demos/iteration/pom.xml
+++ b/demos/iteration/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/machinedata/pom.xml
----------------------------------------------------------------------
diff --git a/demos/machinedata/pom.xml b/demos/machinedata/pom.xml
index 9bba3b8..6a49bf5 100644
--- a/demos/machinedata/pom.xml
+++ b/demos/machinedata/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/mobile/pom.xml
----------------------------------------------------------------------
diff --git a/demos/mobile/pom.xml b/demos/mobile/pom.xml
index 6cb84c2..f7baedc 100644
--- a/demos/mobile/pom.xml
+++ b/demos/mobile/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/mrmonitor/pom.xml
----------------------------------------------------------------------
diff --git a/demos/mrmonitor/pom.xml b/demos/mrmonitor/pom.xml
index 5eaca53..563662f 100644
--- a/demos/mrmonitor/pom.xml
+++ b/demos/mrmonitor/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/mroperator/pom.xml
----------------------------------------------------------------------
diff --git a/demos/mroperator/pom.xml b/demos/mroperator/pom.xml
index 3812874..876fd0e 100644
--- a/demos/mroperator/pom.xml
+++ b/demos/mroperator/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/pi/pom.xml
----------------------------------------------------------------------
diff --git a/demos/pi/pom.xml b/demos/pi/pom.xml
index 016a6cd..598b01f 100644
--- a/demos/pi/pom.xml
+++ b/demos/pi/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/pom.xml
----------------------------------------------------------------------
diff --git a/demos/pom.xml b/demos/pom.xml
index fc4c070..d892b6c 100644
--- a/demos/pom.xml
+++ b/demos/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>malhar-demos</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/r/pom.xml
----------------------------------------------------------------------
diff --git a/demos/r/pom.xml b/demos/r/pom.xml
index fd81dbe..74960ff 100644
--- a/demos/r/pom.xml
+++ b/demos/r/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/twitter/pom.xml
----------------------------------------------------------------------
diff --git a/demos/twitter/pom.xml b/demos/twitter/pom.xml
index 87192e1..bf1001e 100644
--- a/demos/twitter/pom.xml
+++ b/demos/twitter/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/uniquecount/pom.xml
----------------------------------------------------------------------
diff --git a/demos/uniquecount/pom.xml b/demos/uniquecount/pom.xml
index 2accd90..a015cb8 100644
--- a/demos/uniquecount/pom.xml
+++ b/demos/uniquecount/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/wordcount/pom.xml
----------------------------------------------------------------------
diff --git a/demos/wordcount/pom.xml b/demos/wordcount/pom.xml
index a605cd2..238b368 100644
--- a/demos/wordcount/pom.xml
+++ b/demos/wordcount/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/demos/yahoofinance/pom.xml
----------------------------------------------------------------------
diff --git a/demos/yahoofinance/pom.xml b/demos/yahoofinance/pom.xml
index 34a9635..1a3c224 100644
--- a/demos/yahoofinance/pom.xml
+++ b/demos/yahoofinance/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar-demos</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <properties>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/kafka/pom.xml
----------------------------------------------------------------------
diff --git a/kafka/pom.xml b/kafka/pom.xml
index a8a3cea..bdfe710 100755
--- a/kafka/pom.xml
+++ b/kafka/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>malhar-kafka</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/library/pom.xml
----------------------------------------------------------------------
diff --git a/library/pom.xml b/library/pom.xml
index 7c23609..e343af2 100644
--- a/library/pom.xml
+++ b/library/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>malhar-library</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6bdf66e..1d542a2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
 
   <groupId>org.apache.apex</groupId>
   <artifactId>malhar</artifactId>
-  <version>3.4.0-SNAPSHOT</version>
+  <version>3.4.1-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>Apache Apex Malhar</name>
   <url>http://apex.apache.org</url>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/samples/pom.xml
----------------------------------------------------------------------
diff --git a/samples/pom.xml b/samples/pom.xml
index 67df7b5..dca609a 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>malhar-samples</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/921dd0de/stream/pom.xml
----------------------------------------------------------------------
diff --git a/stream/pom.xml b/stream/pom.xml
index 0348236..45f5892 100755
--- a/stream/pom.xml
+++ b/stream/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.apex</groupId>
     <artifactId>malhar</artifactId>
-    <version>3.4.0-SNAPSHOT</version>
+    <version>3.4.1-SNAPSHOT</version>
   </parent>
 
   <artifactId>malhar-stream</artifactId>


[2/3] incubator-apex-malhar git commit: Add @since tags and update change log for release 3.4.0

Posted by th...@apache.org.
Add @since tags and update change log for release 3.4.0


Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/commit/aea89fa8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/tree/aea89fa8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/diff/aea89fa8

Branch: refs/heads/release-3.4
Commit: aea89fa8afab235de0edf5891e0d8c1ee6889bd1
Parents: 6f63ee2
Author: Thomas Weise <th...@datatorrent.com>
Authored: Fri May 20 00:17:32 2016 -0700
Committer: Thomas Weise <th...@datatorrent.com>
Committed: Fri May 20 00:17:32 2016 -0700

----------------------------------------------------------------------
 CHANGELOG.md                                    | 80 ++++++++++++++++++++
 .../datatorrent/apps/copy/HDFSFileCopyApp.java  |  2 +
 .../contrib/avro/AvroFileInputOperator.java     |  2 +
 .../contrib/avro/AvroRecordHelper.java          |  2 +
 .../datatorrent/contrib/avro/AvroToPojo.java    |  2 +
 .../datatorrent/contrib/avro/PojoToAvro.java    |  2 +
 .../contrib/enrich/AbstractEnricher.java        |  2 +
 .../contrib/enrich/BackendLoader.java           |  2 +
 .../datatorrent/contrib/enrich/FSLoader.java    |  2 +
 .../datatorrent/contrib/enrich/JDBCLoader.java  |  2 +
 .../datatorrent/contrib/enrich/MapEnricher.java |  2 +
 .../contrib/enrich/NullValuesCacheManager.java  |  2 +
 .../contrib/enrich/POJOEnricher.java            |  2 +
 .../contrib/enrich/ReadOnlyBackup.java          |  2 +
 .../geode/AbstractGeodeInputOperator.java       |  2 +
 .../geode/AbstractGeodeOutputOperator.java      |  2 +
 .../contrib/geode/GeodeCheckpointStore.java     |  2 +
 .../geode/GeodeKeyValueStorageAgent.java        |  2 +
 .../contrib/geode/GeodePOJOOutputOperator.java  |  2 +
 .../datatorrent/contrib/geode/GeodeStore.java   |  2 +
 .../contrib/geode/RegionCreateFunction.java     |  2 +
 .../contrib/nifi/AbstractNiFiInputOperator.java |  2 +
 .../nifi/AbstractNiFiOutputOperator.java        |  2 +
 .../AbstractNiFiSinglePortInputOperator.java    |  2 +
 .../contrib/nifi/NiFiDataPacket.java            |  2 +
 .../contrib/nifi/NiFiDataPacketBuilder.java     |  2 +
 .../nifi/NiFiSinglePortInputOperator.java       |  2 +
 .../nifi/NiFiSinglePortOutputOperator.java      |  2 +
 .../contrib/nifi/StandardNiFiDataPacket.java    |  2 +
 .../parquet/AbstractParquetFileReader.java      |  2 +
 .../contrib/parquet/ParquetFilePOJOReader.java  |  2 +
 .../contrib/parser/CellProcessorBuilder.java    |  2 +
 .../contrib/parser/DelimitedSchema.java         |  2 +
 .../demos/iteration/Application.java            |  2 +
 .../lib/appdata/gpo/SerdeMapPrimitive.java      |  2 +
 .../db/jdbc/JDBCDimensionalOutputOperator.java  |  2 +
 .../datatorrent/lib/expression/Expression.java  |  2 +
 .../lib/expression/JavaExpressionParser.java    |  2 +
 .../datatorrent/lib/io/block/BlockWriter.java   |  2 +
 .../datatorrent/lib/io/fs/FSInputModule.java    |  2 +
 .../com/datatorrent/lib/io/fs/FileMerger.java   |  2 +
 .../com/datatorrent/lib/io/fs/FileStitcher.java |  2 +
 .../lib/io/fs/HDFSFileCopyModule.java           |  2 +
 .../datatorrent/lib/io/fs/HDFSFileMerger.java   |  2 +
 .../com/datatorrent/lib/io/fs/Synchronizer.java |  2 +
 .../lib/join/AbstractJoinOperator.java          |  2 +
 .../java/com/datatorrent/lib/join/Bucket.java   |  2 +
 .../com/datatorrent/lib/join/InMemoryStore.java |  2 +
 .../com/datatorrent/lib/join/JoinStore.java     |  2 +
 .../datatorrent/lib/join/MapJoinOperator.java   |  2 +
 .../datatorrent/lib/join/POJOJoinOperator.java  |  2 +
 .../datatorrent/lib/join/TimeBasedStore.java    |  2 +
 .../com/datatorrent/lib/join/TimeEvent.java     |  3 +
 .../com/datatorrent/lib/join/TimeEventImpl.java |  2 +
 .../lib/projection/ProjectionOperator.java      |  2 +
 .../lib/transform/TransformOperator.java        |  2 +
 .../lib/util/AbstractKeyValueStorageAgent.java  |  2 +
 .../lib/util/StorageAgentKeyValueStore.java     |  2 +
 .../aggregator/AbstractCompositeAggregator.java |  2 +
 .../AbstractCompositeAggregatorFactory.java     |  3 +
 .../AbstractIncrementalAggregator.java          |  2 +
 .../aggregator/AbstractTopBottomAggregator.java |  3 +
 .../dimensions/aggregator/AggregatorBottom.java |  3 +
 .../dimensions/aggregator/AggregatorTop.java    |  3 +
 .../aggregator/AggregatorTopBottomType.java     |  3 +
 .../aggregator/CompositeAggregator.java         |  3 +
 .../aggregator/CompositeAggregatorFactory.java  |  2 +
 .../DefaultCompositeAggregatorFactory.java      |  2 +
 .../aggregator/IncrementalAggregator.java       |  2 +
 .../aggregator/TopBottomAggregatorFactory.java  |  3 +
 .../malhar/lib/fs/BytesFileOutputOperator.java  |  2 +
 .../lib/fs/LineByLineFileInputOperator.java     |  2 +
 .../apex/malhar/lib/state/BucketedState.java    |  2 +
 .../lib/state/TimeSlicedBucketedState.java      |  2 +
 .../state/managed/AbstractManagedStateImpl.java |  2 +
 .../apex/malhar/lib/state/managed/Bucket.java   |  2 +
 .../lib/state/managed/BucketsFileSystem.java    |  2 +
 .../managed/IncrementalCheckpointManager.java   |  2 +
 .../malhar/lib/state/managed/ManagedState.java  |  2 +
 .../state/managed/ManagedStateComponent.java    |  3 +
 .../lib/state/managed/ManagedStateContext.java  |  3 +
 .../lib/state/managed/ManagedStateImpl.java     |  2 +
 .../lib/state/managed/ManagedTimeStateImpl.java |  2 +
 .../managed/ManagedTimeUnifiedStateImpl.java    |  2 +
 .../lib/state/managed/TimeBucketAssigner.java   |  2 +
 .../malhar/lib/state/spillable/Spillable.java   |  2 +
 .../spillable/SpillableComplexComponent.java    |  2 +
 .../apex/malhar/lib/utils/FileContextUtils.java |  3 +
 .../apache/apex/malhar/lib/utils/IOUtils.java   |  3 +
 .../lib/utils/serde/PassThruByteArraySerde.java |  2 +
 .../apex/malhar/lib/utils/serde/Serde.java      |  2 +
 .../malhar/lib/wal/FSWindowDataManager.java     |  2 +
 .../apex/malhar/lib/wal/FileSystemWAL.java      |  2 +
 .../org/apache/apex/malhar/lib/wal/WAL.java     |  2 +
 .../apex/malhar/stream/api/ApexStream.java      |  2 +
 .../apex/malhar/stream/api/WindowedStream.java  |  2 +
 .../malhar/stream/api/function/Function.java    |  2 +
 .../malhar/stream/api/impl/ApexStreamImpl.java  |  2 +
 .../apex/malhar/stream/api/impl/DagMeta.java    |  2 +
 .../malhar/stream/api/impl/IDGenerator.java     |  2 +
 .../malhar/stream/api/impl/StreamFactory.java   |  2 +
 .../api/operator/AnnonymousClassModifier.java   |  2 +
 .../api/operator/ByteArrayClassLoader.java      |  3 +
 .../stream/api/operator/FunctionOperator.java   |  2 +
 .../apex/malhar/stream/api/util/KeyedTuple.java |  2 +
 .../apex/malhar/stream/api/util/TupleUtil.java  |  2 +
 106 files changed, 303 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/CHANGELOG.md
----------------------------------------------------------------------
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 00ea297..728e111 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,86 @@
 Apex Malhar Changelog
 ========================================================================================================================
 
+Version 3.4.0 - 2016-05-24
+------------------------------------------------------------------------------------------------------------------------
+
+### Sub-task
+* [APEXMALHAR-2006] - Stream API Design
+* [APEXMALHAR-2046] - Introduce Spill-able data-structure interfaces
+* [APEXMALHAR-2050] - Move spillable package under state.
+* [APEXMALHAR-2051] - Remove redundant StorageAgent interface Malhar library 
+* [APEXMALHAR-2064] - Move WindowDataManager to org.apache.apex.malhar.lib.wal
+* [APEXMALHAR-2065] - Add getWindows() method to WindowDataManager
+* [APEXMALHAR-2095] - Fix checkstyle violations of library module in Apex Malhar
+
+### Bug
+* [APEXMALHAR-1970] - ArrayOutOfBoundary error in One_To_Many Partitioner for 0.9 kafka input operator
+* [APEXMALHAR-1973] - InitialOffset bug and duplication caused by offset checkpoint
+* [APEXMALHAR-1984] - Operators that use Kryo directly would throw exception in local mode
+* [APEXMALHAR-1985] - Cassandra Input Oeprator: startRow set incorrectly
+* [APEXMALHAR-1990] - Occasional concurrent modification exceptions from IdempotentStorageManager
+* [APEXMALHAR-1993] - Committed offsets are not present in offset manager storage for kafka input operator
+* [APEXMALHAR-1994] - Operator partitions are reporting offsets for kafka partitions they don't subscribe to
+* [APEXMALHAR-1998] - Kafka unit test memory requirement breaks Travis CI build
+* [APEXMALHAR-2003] - NPE in FileSplitterInput
+* [APEXMALHAR-2004] - TimeBasedDirectoryScanner keep reading same file
+* [APEXMALHAR-2036] - FS operator tests leave stray test files under target
+* [APEXMALHAR-2042] - Managed State - unexpected null value
+* [APEXMALHAR-2052] - Enable checkstyle in parent POM
+* [APEXMALHAR-2060] - Add an entry for org.apache.apex in the log4j.properties 
+* [APEXMALHAR-2072] - Cleanup properties of Transform Operator
+* [APEXMALHAR-2073] - Intermittent test failure: ManagedStateImplTest.testFreeWindowTransferRaceCondition
+* [APEXMALHAR-2078] - Potential thread issue in FileSplitterInput class
+* [APEXMALHAR-2079] - FileOutputOperator expireStreamAfterAccessMillis field typo
+* [APEXMALHAR-2080] - File expiration time is set too low by default in AbstractFileOutputOperator.
+* [APEXMALHAR-2081] - Remove FSFileSplitter, BlockReader, HDFSFileSplitter, HDFSInputModule
+* [APEXMALHAR-2088] - Exception while fetching properties for Operators using JdbcStore 
+* [APEXMALHAR-2097] - BytesFileOutputOperator class should be marked as public
+
+### Improvement
+* [APEXMALHAR-1873] - Create a fault-tolerant/scalable cache component backed by a persistent store
+* [APEXMALHAR-1948] - CassandraStore Should Allow You To Specify Protocol Version.
+* [APEXMALHAR-1961] - Enhancing existing CSV Parser
+* [APEXMALHAR-1962] - Enhancing existing JSON Parser
+* [APEXMALHAR-1980] - Add metrics to Cassandra Input operator
+* [APEXMALHAR-1983] - Support special chars in topics setting for new Kafka Input Operator
+* [APEXMALHAR-1991] - Move Dimensions Computation Classes to org.apache.apex.malhar package and Mark evolving
+* [APEXMALHAR-2018] - HDFS File Input Module: Move generic code to abstract parent class.
+* [APEXMALHAR-2025] - Move FileLineInputOperator out of AbstractFileInputOperator
+* [APEXMALHAR-2031] - Allow Window Data Manager to store data in a user specified directory
+* [APEXMALHAR-2043] - Update checkstyle plugin declaration to use apex-codestyle-config artifact
+* [APEXMALHAR-2056] - Move Serde Interface Under utils and add methods which don't take mutable int
+* [APEXMALHAR-2077] - SingleFileOutputOperator should append partitionId to file name
+
+### New Feature
+* [APEXMALHAR-1897] - Large operator state management
+* [APEXMALHAR-1919] - Move Dimensional Schema To Malhar
+* [APEXMALHAR-1920] - Add dimensional JDBC Output Operator
+* [APEXMALHAR-1936] - Apache Nifi Connector
+* [APEXMALHAR-1938] - Operator checkpointing in distributed in-memory store
+* [APEXMALHAR-1942] - Apex Operator for Apache Geode.
+* [APEXMALHAR-1972] - Create Expression Evaluator Support quasi-Java Expression Language
+* [APEXMALHAR-2010] - Transform operator
+* [APEXMALHAR-2011] - POJO to Avro record converter
+* [APEXMALHAR-2012] - Avro Record to POJO converter
+* [APEXMALHAR-2014] - ParquetReader operator
+* [APEXMALHAR-2015] - Projection Operator
+* [APEXMALHAR-2023] - Enrichment Operator
+
+### Task
+* [APEXMALHAR-1859] - Integrate checkstyle with Malhar
+* [APEXMALHAR-1968] - Update NOTICE copyright year
+* [APEXMALHAR-1969] - Add idempotency support to 0.9 KafkaInputOperator
+* [APEXMALHAR-1975] - Add group id information to all apex malhar app package
+* [APEXMALHAR-1986] - Change semantic version check to use 3.3 release
+* [APEXMALHAR-2009] - concrete operator for writing to HDFS file
+* [APEXMALHAR-2013] - HDFS output module for file copy
+* [APEXMALHAR-2054] - Make the Query Operator in the App Data Pi Demo embedded in the Snapshot Server
+* [APEXMALHAR-2055] - Add Dimension TOPN support
+* [APEXMALHAR-2058] - Add simple byte[] to byte[] Serde implementation
+* [APEXMALHAR-2067] - Make necessary changes in Malhar for Apex Core 3.4.0
+* [APEXMALHAR-2093] - Remove usages of Idempotent Storage Manager
+
 Version 3.3.1-incubating - 2016-02-27
 ------------------------------------------------------------------------------------------------------------------------
 

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/apps/filecopy/src/main/java/com/datatorrent/apps/copy/HDFSFileCopyApp.java
----------------------------------------------------------------------
diff --git a/apps/filecopy/src/main/java/com/datatorrent/apps/copy/HDFSFileCopyApp.java b/apps/filecopy/src/main/java/com/datatorrent/apps/copy/HDFSFileCopyApp.java
index 1d8f2e5..2688f1c 100644
--- a/apps/filecopy/src/main/java/com/datatorrent/apps/copy/HDFSFileCopyApp.java
+++ b/apps/filecopy/src/main/java/com/datatorrent/apps/copy/HDFSFileCopyApp.java
@@ -30,6 +30,8 @@ import com.datatorrent.lib.io.fs.HDFSFileCopyModule;
 
 /**
  * Application for HDFS to HDFS file copy
+ *
+ * @since 3.4.0
  */
 @ApplicationAnnotation(name = "HDFSFileCopyApp")
 public class HDFSFileCopyApp implements StreamingApplication

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/avro/AvroFileInputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/avro/AvroFileInputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/avro/AvroFileInputOperator.java
index 989f859..b03e31a 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/avro/AvroFileInputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/avro/AvroFileInputOperator.java
@@ -54,6 +54,8 @@ import com.datatorrent.lib.io.fs.AbstractFileInputOperator;
  * @displayName AvroFileInputOperator
  * @category Input
  * @tags fs, file,avro, input operator
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public class AvroFileInputOperator extends AbstractFileInputOperator<GenericRecord>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/avro/AvroRecordHelper.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/avro/AvroRecordHelper.java b/contrib/src/main/java/com/datatorrent/contrib/avro/AvroRecordHelper.java
index 8f29b86..012e977 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/avro/AvroRecordHelper.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/avro/AvroRecordHelper.java
@@ -30,6 +30,8 @@ import org.apache.avro.Schema.Type;
 /**
  * This is an utility class for reading Avro converted records.<br>
  * This class can be used with the {@link PojoToAvro} or in isolation to get Avro values.
+ *
+ * @since 3.4.0
  */
 public class AvroRecordHelper
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/avro/AvroToPojo.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/avro/AvroToPojo.java b/contrib/src/main/java/com/datatorrent/contrib/avro/AvroToPojo.java
index 7fa0936..ad54491 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/avro/AvroToPojo.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/avro/AvroToPojo.java
@@ -58,6 +58,8 @@ import com.datatorrent.lib.util.PojoUtils;
  * @displayName Avro To Pojo
  * @category Converter
  * @tags avro
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public class AvroToPojo extends BaseOperator

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/avro/PojoToAvro.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/avro/PojoToAvro.java b/contrib/src/main/java/com/datatorrent/contrib/avro/PojoToAvro.java
index dc90800..5fd7ee2 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/avro/PojoToAvro.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/avro/PojoToAvro.java
@@ -57,6 +57,8 @@ import com.datatorrent.lib.util.PojoUtils.Getter;
  * @displayName Pojo To Avro
  * @category Converter
  * @tags avro
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public class PojoToAvro extends BaseOperator

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/enrich/AbstractEnricher.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/enrich/AbstractEnricher.java b/contrib/src/main/java/com/datatorrent/contrib/enrich/AbstractEnricher.java
index cdefddf..f2f8421 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/enrich/AbstractEnricher.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/enrich/AbstractEnricher.java
@@ -47,6 +47,8 @@ import com.datatorrent.lib.util.FieldInfo.SupportType;
  * @param <OUTPUT> Type of tuples which are emitted by this operator</T>
  * @displayName Abstract Enrichment Operator
  * @tags Enrichment
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public abstract class AbstractEnricher<INPUT, OUTPUT> extends BaseOperator implements Operator.ActivationListener

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/enrich/BackendLoader.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/enrich/BackendLoader.java b/contrib/src/main/java/com/datatorrent/contrib/enrich/BackendLoader.java
index 9570329..845a756 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/enrich/BackendLoader.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/enrich/BackendLoader.java
@@ -27,6 +27,8 @@ import com.datatorrent.lib.util.FieldInfo;
 
 /**
  * Interface for store to be used in enrichment
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public interface BackendLoader extends CacheManager.Backup

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/enrich/FSLoader.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/enrich/FSLoader.java b/contrib/src/main/java/com/datatorrent/contrib/enrich/FSLoader.java
index 71d3dce..0c23c62 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/enrich/FSLoader.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/enrich/FSLoader.java
@@ -63,6 +63,8 @@ import com.datatorrent.lib.util.FieldInfo;
  * <p>
  * NOTE: This loader should be used with caution as all the data present in the file is loaded in memory because of
  * which the memory consumption may go up.
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public class FSLoader extends ReadOnlyBackup

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/enrich/JDBCLoader.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/enrich/JDBCLoader.java b/contrib/src/main/java/com/datatorrent/contrib/enrich/JDBCLoader.java
index d20e87b..54a2024 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/enrich/JDBCLoader.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/enrich/JDBCLoader.java
@@ -40,6 +40,8 @@ import com.datatorrent.lib.util.FieldInfo;
  * <b>queryStmt</b>: Sql Prepared Statement which needs to be executed<br>
  * <b>tableName</b>: JDBC table name<br>
  * <br>
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public class JDBCLoader extends JdbcStore implements BackendLoader

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/enrich/MapEnricher.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/enrich/MapEnricher.java b/contrib/src/main/java/com/datatorrent/contrib/enrich/MapEnricher.java
index ecf16ba..6e7b5f7 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/enrich/MapEnricher.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/enrich/MapEnricher.java
@@ -44,6 +44,8 @@ import com.datatorrent.lib.util.FieldInfo;
  * @displayName MapEnricher
  * @category Database
  * @tags enrichment, lookup, map
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public class MapEnricher extends AbstractEnricher<Map<String, Object>, Map<String, Object>>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/enrich/NullValuesCacheManager.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/enrich/NullValuesCacheManager.java b/contrib/src/main/java/com/datatorrent/contrib/enrich/NullValuesCacheManager.java
index 2cf7326..6d42fec 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/enrich/NullValuesCacheManager.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/enrich/NullValuesCacheManager.java
@@ -24,6 +24,8 @@ import com.datatorrent.lib.db.cache.CacheManager;
 
 /**
  * Null Values Cache Manager. Using this NULL entries can be specified explicitly.
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public class NullValuesCacheManager extends CacheManager

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/enrich/POJOEnricher.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/enrich/POJOEnricher.java b/contrib/src/main/java/com/datatorrent/contrib/enrich/POJOEnricher.java
index 782fbc5..f22acdb 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/enrich/POJOEnricher.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/enrich/POJOEnricher.java
@@ -62,6 +62,8 @@ import com.datatorrent.lib.util.PojoUtils;
  * @displayName POJOEnricher
  * @category Database
  * @tags enrichment, enricher, pojo, schema, lookup
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public class POJOEnricher extends AbstractEnricher<Object, Object>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/enrich/ReadOnlyBackup.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/enrich/ReadOnlyBackup.java b/contrib/src/main/java/com/datatorrent/contrib/enrich/ReadOnlyBackup.java
index 157dbc9..c6afbe1 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/enrich/ReadOnlyBackup.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/enrich/ReadOnlyBackup.java
@@ -27,6 +27,8 @@ import com.datatorrent.lib.util.FieldInfo;
 
 /**
  * ReadOnly abstract implementation of BackendLoader.
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Evolving
 public abstract class ReadOnlyBackup implements BackendLoader

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeInputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeInputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeInputOperator.java
index 7595e1a..bc8c1f0 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeInputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeInputOperator.java
@@ -33,6 +33,8 @@ import com.datatorrent.lib.db.AbstractKeyValueStoreInputOperator;
  * @param <T>
  *          The tuple type.
  * 
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractGeodeInputOperator<T> extends AbstractKeyValueStoreInputOperator<T, GeodeStore>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeOutputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeOutputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeOutputOperator.java
index 157fbf4..7b0e158 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeOutputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/geode/AbstractGeodeOutputOperator.java
@@ -33,6 +33,8 @@ import com.datatorrent.lib.db.AbstractStoreOutputOperator;
  * @param <T>
  *          The tuple type.
  * 
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractGeodeOutputOperator<T> extends AbstractStoreOutputOperator<T, GeodeStore>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeCheckpointStore.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeCheckpointStore.java b/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeCheckpointStore.java
index 61113a9..edd07d9 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeCheckpointStore.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeCheckpointStore.java
@@ -49,6 +49,8 @@ import java.util.Map.Entry;
  * serialization to store retrieve objects
  * 
  *
+ *
+ * @since 3.4.0
  */
 public class GeodeCheckpointStore
     implements StorageAgentKeyValueStore, Serializable

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeKeyValueStorageAgent.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeKeyValueStorageAgent.java b/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeKeyValueStorageAgent.java
index 750f7d8..fdfd4ce 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeKeyValueStorageAgent.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeKeyValueStorageAgent.java
@@ -29,6 +29,8 @@ import com.datatorrent.lib.util.AbstractKeyValueStorageAgent;
  * checkpointing
  * 
  *
+ *
+ * @since 3.4.0
  */
 public class GeodeKeyValueStorageAgent extends AbstractKeyValueStorageAgent<GeodeCheckpointStore> implements Serializable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/geode/GeodePOJOOutputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/geode/GeodePOJOOutputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/geode/GeodePOJOOutputOperator.java
index ad7e90c..defaa54 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/geode/GeodePOJOOutputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/geode/GeodePOJOOutputOperator.java
@@ -31,6 +31,8 @@ import com.datatorrent.lib.util.TableInfo;
  * @category Output
  * @tags pojo, geode
  * 
+ *
+ * @since 3.4.0
  */
 @Evolving
 public class GeodePOJOOutputOperator extends AbstractGeodeOutputOperator<Object>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeStore.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeStore.java b/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeStore.java
index 14cb5a5..bdb7add 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeStore.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/geode/GeodeStore.java
@@ -52,6 +52,8 @@ import com.datatorrent.lib.db.KeyValueStore;
  * Geode is a data management platform that provides real-time
  * , consistent access to data-intensive applications.
  * 
+ *
+ * @since 3.4.0
  */
 public class GeodeStore implements KeyValueStore, Serializable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/geode/RegionCreateFunction.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/geode/RegionCreateFunction.java b/contrib/src/main/java/com/datatorrent/contrib/geode/RegionCreateFunction.java
index 5637953..bc808ad 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/geode/RegionCreateFunction.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/geode/RegionCreateFunction.java
@@ -34,6 +34,8 @@ import com.gemstone.gemfire.cache.execute.FunctionContext;
 /**
  * Function to create region dynamically through client API
  * 
+ *
+ * @since 3.4.0
  */
 public class RegionCreateFunction extends FunctionAdapter implements Declarable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiInputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiInputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiInputOperator.java
index c1ac4a8..1bc81d6 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiInputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiInputOperator.java
@@ -60,6 +60,8 @@ import com.datatorrent.netlet.util.DTThrowable;
  * @displayName Abstract NiFi Input
  * @category Messaging
  * @tags input operator
+ *
+ * @since 3.4.0
  */
 
 public abstract class AbstractNiFiInputOperator<T> implements InputOperator

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiOutputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiOutputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiOutputOperator.java
index 29e02bf..d0dc23f 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiOutputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiOutputOperator.java
@@ -60,6 +60,8 @@ import com.datatorrent.netlet.util.DTThrowable;
  * @category Messaging
  * @tags output operator
  *
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractNiFiOutputOperator<T> extends BaseOperator
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiSinglePortInputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiSinglePortInputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiSinglePortInputOperator.java
index 22ae063..c246de0 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiSinglePortInputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/nifi/AbstractNiFiSinglePortInputOperator.java
@@ -52,6 +52,8 @@ import com.datatorrent.api.DefaultOutputPort;
  * @category Messaging
  * @tags input operator
  *
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractNiFiSinglePortInputOperator<T> extends AbstractNiFiInputOperator<T>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacket.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacket.java b/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacket.java
index 9c66056..6ebe9d1 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacket.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacket.java
@@ -25,6 +25,8 @@ import java.util.Map;
  * The NiFiDataPacket provides a packaging around a NiFi FlowFile. It wraps both
  * a FlowFile's content and its attributes so that they can be processed by Apex.
  * </p>
+ *
+ * @since 3.4.0
  */
 public interface NiFiDataPacket
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacketBuilder.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacketBuilder.java b/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacketBuilder.java
index 4b71792..2ea3cd6 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacketBuilder.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiDataPacketBuilder.java
@@ -24,6 +24,8 @@ import java.io.Serializable;
  * Creates a NiFiDataPacket from an incoming instance of the given type.
  *
  * @param <T> the type that a NiFiDataPacket is being created from
+ *
+ * @since 3.4.0
  */
 public interface NiFiDataPacketBuilder<T> extends Serializable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortInputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortInputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortInputOperator.java
index 60696e7..63c76f4 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortInputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortInputOperator.java
@@ -35,6 +35,8 @@ import org.apache.nifi.stream.io.StreamUtils;
  * @category Messaging
  * @tags input operator
  *
+ *
+ * @since 3.4.0
  */
 public class NiFiSinglePortInputOperator extends AbstractNiFiSinglePortInputOperator<NiFiDataPacket>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortOutputOperator.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortOutputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortOutputOperator.java
index db417e8..5c5b08c 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortOutputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/nifi/NiFiSinglePortOutputOperator.java
@@ -53,6 +53,8 @@ import com.datatorrent.api.DefaultInputPort;
  * @category Messaging
  * @tags output operator
  *
+ *
+ * @since 3.4.0
  */
 public class NiFiSinglePortOutputOperator<T> extends AbstractNiFiOutputOperator<T>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/nifi/StandardNiFiDataPacket.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/nifi/StandardNiFiDataPacket.java b/contrib/src/main/java/com/datatorrent/contrib/nifi/StandardNiFiDataPacket.java
index 6821adf..60cfbe3 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/nifi/StandardNiFiDataPacket.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/nifi/StandardNiFiDataPacket.java
@@ -23,6 +23,8 @@ import java.util.Map;
 
 /**
  * An implementation of NiFiDataPacket.
+ *
+ * @since 3.4.0
  */
 public class StandardNiFiDataPacket implements NiFiDataPacket, Serializable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/parquet/AbstractParquetFileReader.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/parquet/AbstractParquetFileReader.java b/contrib/src/main/java/com/datatorrent/contrib/parquet/AbstractParquetFileReader.java
index accf303..1be2f0d 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/parquet/AbstractParquetFileReader.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/parquet/AbstractParquetFileReader.java
@@ -38,6 +38,8 @@ import parquet.schema.MessageTypeParser;
  * {@link #convertGroup(Group)} method to convert Group to other type. Example
  * of such implementation is {@link ParquetFilePOJOReader} that converts Group
  * to POJO.
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractParquetFileReader<T> extends AbstractFileInputOperator<T>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/parquet/ParquetFilePOJOReader.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/parquet/ParquetFilePOJOReader.java b/contrib/src/main/java/com/datatorrent/contrib/parquet/ParquetFilePOJOReader.java
index 382af45..8834c18 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/parquet/ParquetFilePOJOReader.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/parquet/ParquetFilePOJOReader.java
@@ -54,6 +54,8 @@ import parquet.schema.PrimitiveType.PrimitiveTypeName;
  *
  * @displayName ParquetFilePOJOReader
  * @tags parquet,input adapter
+ *
+ * @since 3.4.0
  */
 public class ParquetFilePOJOReader extends AbstractParquetFileReader<Object>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/parser/CellProcessorBuilder.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/parser/CellProcessorBuilder.java b/contrib/src/main/java/com/datatorrent/contrib/parser/CellProcessorBuilder.java
index 1993d94..bf8f85d 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/parser/CellProcessorBuilder.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/parser/CellProcessorBuilder.java
@@ -51,6 +51,8 @@ import com.datatorrent.contrib.parser.DelimitedSchema.FieldType;
  * all of the required conversions and constraint validation for a single
  * delimited record.
  * 
+ *
+ * @since 3.4.0
  */
 public class CellProcessorBuilder
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/contrib/src/main/java/com/datatorrent/contrib/parser/DelimitedSchema.java
----------------------------------------------------------------------
diff --git a/contrib/src/main/java/com/datatorrent/contrib/parser/DelimitedSchema.java b/contrib/src/main/java/com/datatorrent/contrib/parser/DelimitedSchema.java
index 19f6a4b..eb86c15 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/parser/DelimitedSchema.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/parser/DelimitedSchema.java
@@ -52,6 +52,8 @@ import org.slf4j.LoggerFactory;
  * "dd/MM/yyyy" } }, { "name": "securityCode", "type": "Long", "constraints": {
  * "minValue": "10", "maxValue": "30" } }, { "name": "active", "type":
  * "Boolean", "constraints": { "required": "true" } } ] }}
+ *
+ * @since 3.4.0
  */
 public class DelimitedSchema
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/demos/iteration/src/main/java/com/datatorrent/demos/iteration/Application.java
----------------------------------------------------------------------
diff --git a/demos/iteration/src/main/java/com/datatorrent/demos/iteration/Application.java b/demos/iteration/src/main/java/com/datatorrent/demos/iteration/Application.java
index c0178d8..5f93206 100644
--- a/demos/iteration/src/main/java/com/datatorrent/demos/iteration/Application.java
+++ b/demos/iteration/src/main/java/com/datatorrent/demos/iteration/Application.java
@@ -61,6 +61,8 @@ import java.io.PrintStream;
  * ...
  * </pre>
  *
+ *
+ * @since 3.4.0
  */
 @ApplicationAnnotation(name="IterationDemo")
 public class Application implements StreamingApplication

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/appdata/gpo/SerdeMapPrimitive.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/appdata/gpo/SerdeMapPrimitive.java b/library/src/main/java/com/datatorrent/lib/appdata/gpo/SerdeMapPrimitive.java
index 3f5ae4a..cd61e20 100644
--- a/library/src/main/java/com/datatorrent/lib/appdata/gpo/SerdeMapPrimitive.java
+++ b/library/src/main/java/com/datatorrent/lib/appdata/gpo/SerdeMapPrimitive.java
@@ -29,6 +29,8 @@ import com.datatorrent.lib.appdata.schemas.Type;
 /**
  * TODO: this class can move to Malhar. put in Megh for implementing TOP/BOTTOM dimension computation.
  *
+ *
+ * @since 3.4.0
  */
 public class SerdeMapPrimitive  implements Serde
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/db/jdbc/JDBCDimensionalOutputOperator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/db/jdbc/JDBCDimensionalOutputOperator.java b/library/src/main/java/com/datatorrent/lib/db/jdbc/JDBCDimensionalOutputOperator.java
index bf0d089..11fac44 100644
--- a/library/src/main/java/com/datatorrent/lib/db/jdbc/JDBCDimensionalOutputOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/db/jdbc/JDBCDimensionalOutputOperator.java
@@ -58,6 +58,8 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
  * <li>Each aggregate is written to a different table based on its dimension
  * combination, time bucket, and corresponding aggregation</li>
  * </ol>
+ *
+ * @since 3.4.0
  */
 @org.apache.hadoop.classification.InterfaceStability.Evolving
 public class JDBCDimensionalOutputOperator

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/expression/Expression.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/expression/Expression.java b/library/src/main/java/com/datatorrent/lib/expression/Expression.java
index cc29e15..fd28434 100644
--- a/library/src/main/java/com/datatorrent/lib/expression/Expression.java
+++ b/library/src/main/java/com/datatorrent/lib/expression/Expression.java
@@ -23,6 +23,8 @@ package com.datatorrent.lib.expression;
  * The interface can be used to execute given expression.
  *
  * @param <O> This is generic class return type of execute method of expression.
+ *
+ * @since 3.4.0
  */
 public interface Expression<O>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/expression/JavaExpressionParser.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/expression/JavaExpressionParser.java b/library/src/main/java/com/datatorrent/lib/expression/JavaExpressionParser.java
index c11a0e9..15a7a91 100644
--- a/library/src/main/java/com/datatorrent/lib/expression/JavaExpressionParser.java
+++ b/library/src/main/java/com/datatorrent/lib/expression/JavaExpressionParser.java
@@ -31,6 +31,8 @@ import com.datatorrent.lib.util.KeyValPair;
 
 /**
  * Defines how quasi-Java Expression should be parsed.
+ *
+ * @since 3.4.0
  */
 public class JavaExpressionParser implements Expression.ExpressionParser
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/io/block/BlockWriter.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/io/block/BlockWriter.java b/library/src/main/java/com/datatorrent/lib/io/block/BlockWriter.java
index 102bd91..9e18e1b 100644
--- a/library/src/main/java/com/datatorrent/lib/io/block/BlockWriter.java
+++ b/library/src/main/java/com/datatorrent/lib/io/block/BlockWriter.java
@@ -45,6 +45,8 @@ import com.datatorrent.netlet.util.Slice;
 /**
  * Writes a block to the appFS (HDFS on which app is running). This is temporary
  * write to HDFS to handle large files.
+ *
+ * @since 3.4.0
  */
 public class BlockWriter extends AbstractFileOutputOperator<AbstractBlockReader.ReaderRecord<Slice>>
     implements Partitioner<BlockWriter>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/io/fs/FSInputModule.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/io/fs/FSInputModule.java b/library/src/main/java/com/datatorrent/lib/io/fs/FSInputModule.java
index deaa0a4..713e745 100644
--- a/library/src/main/java/com/datatorrent/lib/io/fs/FSInputModule.java
+++ b/library/src/main/java/com/datatorrent/lib/io/fs/FSInputModule.java
@@ -43,6 +43,8 @@ import com.datatorrent.netlet.util.Slice;
  * 5. blockSize: block size used to read input blocks of file<br/>
  * 6. readersCount: count of readers to read input file<br/>
  * 7. sequencialFileRead: If emit file blocks in sequence?
+ *
+ * @since 3.4.0
  */
 
 public class FSInputModule implements Module

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/io/fs/FileMerger.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/io/fs/FileMerger.java b/library/src/main/java/com/datatorrent/lib/io/fs/FileMerger.java
index 8c2f9da..04aa8cf 100644
--- a/library/src/main/java/com/datatorrent/lib/io/fs/FileMerger.java
+++ b/library/src/main/java/com/datatorrent/lib/io/fs/FileMerger.java
@@ -33,6 +33,8 @@ import com.datatorrent.lib.io.fs.Synchronizer.OutputFileMetadata;
  * uses reconciler), hence the file merging operation is carried out in a
  * separate thread.
  *
+ *
+ * @since 3.4.0
  */
 public class FileMerger extends FileStitcher<OutputFileMetadata>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/io/fs/FileStitcher.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/io/fs/FileStitcher.java b/library/src/main/java/com/datatorrent/lib/io/fs/FileStitcher.java
index 9c4ff86..5f5c717 100644
--- a/library/src/main/java/com/datatorrent/lib/io/fs/FileStitcher.java
+++ b/library/src/main/java/com/datatorrent/lib/io/fs/FileStitcher.java
@@ -50,6 +50,8 @@ import com.datatorrent.lib.io.fs.Synchronizer.StitchedFileMetaData;
  * constituents of the stitched file.
  * 
  * This class uses Reconciler to
+ *
+ * @since 3.4.0
  */
 public class FileStitcher<T extends StitchedFileMetaData> extends AbstractReconciler<T, T>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileCopyModule.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileCopyModule.java b/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileCopyModule.java
index 87fd1e7..f4d1a38 100644
--- a/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileCopyModule.java
+++ b/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileCopyModule.java
@@ -40,6 +40,8 @@ import com.datatorrent.netlet.util.Slice;
  * 
  * Essential operators are wrapped into single component using Module API.
  * 
+ *
+ * @since 3.4.0
  */
 @org.apache.hadoop.classification.InterfaceStability.Evolving
 public class HDFSFileCopyModule implements Module

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileMerger.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileMerger.java b/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileMerger.java
index 14918ec..6f72484 100644
--- a/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileMerger.java
+++ b/library/src/main/java/com/datatorrent/lib/io/fs/HDFSFileMerger.java
@@ -37,6 +37,8 @@ import com.datatorrent.lib.io.fs.Synchronizer.OutputFileMetadata;
  * HDFS file merger extends file merger to optimize for HDFS file copy usecase.
  * This uses fast merge from HDFS if destination filesystem is same as
  * application filesystem.
+ *
+ * @since 3.4.0
  */
 @org.apache.hadoop.classification.InterfaceStability.Evolving
 public class HDFSFileMerger extends FileMerger

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/io/fs/Synchronizer.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/io/fs/Synchronizer.java b/library/src/main/java/com/datatorrent/lib/io/fs/Synchronizer.java
index 9282db6..8632343 100644
--- a/library/src/main/java/com/datatorrent/lib/io/fs/Synchronizer.java
+++ b/library/src/main/java/com/datatorrent/lib/io/fs/Synchronizer.java
@@ -50,6 +50,8 @@ import com.datatorrent.lib.io.fs.FileStitcher.BlockNotFoundException;
 /**
  * Synchronizer waits for all data blocks for a file to be written to disk. It
  * sends trigger to merge the file only after all blocks are written to HDFS
+ *
+ * @since 3.4.0
  */
 public class Synchronizer extends BaseOperator
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/AbstractJoinOperator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/AbstractJoinOperator.java b/library/src/main/java/com/datatorrent/lib/join/AbstractJoinOperator.java
index a3f43b5..89df25e 100644
--- a/library/src/main/java/com/datatorrent/lib/join/AbstractJoinOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/join/AbstractJoinOperator.java
@@ -60,6 +60,8 @@ import com.datatorrent.common.util.BaseOperator;
  *
  * @displayName Abstract Join Operator
  * @tags join
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Unstable
 public abstract class AbstractJoinOperator<T> extends BaseOperator implements Operator.CheckpointListener

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/Bucket.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/Bucket.java b/library/src/main/java/com/datatorrent/lib/join/Bucket.java
index 13ea496..fc9dfea 100644
--- a/library/src/main/java/com/datatorrent/lib/join/Bucket.java
+++ b/library/src/main/java/com/datatorrent/lib/join/Bucket.java
@@ -32,6 +32,8 @@ import com.google.common.collect.Maps;
  * </p>
  *
  * @param <T> type of bucket events
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Unstable
 public class Bucket<T extends TimeEvent>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/InMemoryStore.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/InMemoryStore.java b/library/src/main/java/com/datatorrent/lib/join/InMemoryStore.java
index 7161faa..346c215 100644
--- a/library/src/main/java/com/datatorrent/lib/join/InMemoryStore.java
+++ b/library/src/main/java/com/datatorrent/lib/join/InMemoryStore.java
@@ -28,6 +28,8 @@ import com.datatorrent.api.Context;
 
 /**
  * Wrapper class for TimeBased Store.
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Unstable
 public class InMemoryStore extends TimeBasedStore<TimeEvent> implements JoinStore

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/JoinStore.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/JoinStore.java b/library/src/main/java/com/datatorrent/lib/join/JoinStore.java
index 7b95acc..5cfb2f1 100644
--- a/library/src/main/java/com/datatorrent/lib/join/JoinStore.java
+++ b/library/src/main/java/com/datatorrent/lib/join/JoinStore.java
@@ -28,6 +28,8 @@ import com.datatorrent.api.Component;
  * <p>
  * Interface of store for join operation.
  * </p>
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Unstable
 public interface JoinStore extends Component

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/MapJoinOperator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/MapJoinOperator.java b/library/src/main/java/com/datatorrent/lib/join/MapJoinOperator.java
index 3e23f73..3d24a50 100644
--- a/library/src/main/java/com/datatorrent/lib/join/MapJoinOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/join/MapJoinOperator.java
@@ -54,6 +54,8 @@ import org.apache.hadoop.classification.InterfaceStability;
  * @displayName MapJoin Operator
  * @category join
  * @tags join
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Unstable
 public class MapJoinOperator extends AbstractJoinOperator<Map<String, Object>>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/POJOJoinOperator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/POJOJoinOperator.java b/library/src/main/java/com/datatorrent/lib/join/POJOJoinOperator.java
index 34101ff..c327cd9 100644
--- a/library/src/main/java/com/datatorrent/lib/join/POJOJoinOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/join/POJOJoinOperator.java
@@ -59,6 +59,8 @@ import com.datatorrent.lib.util.PojoUtils;
  * @displayName BeanJoin Operator
  * @category join
  * @tags join
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Unstable
 public class POJOJoinOperator extends AbstractJoinOperator

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/TimeBasedStore.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/TimeBasedStore.java b/library/src/main/java/com/datatorrent/lib/join/TimeBasedStore.java
index 88597f3..ef6060b 100644
--- a/library/src/main/java/com/datatorrent/lib/join/TimeBasedStore.java
+++ b/library/src/main/java/com/datatorrent/lib/join/TimeBasedStore.java
@@ -42,6 +42,8 @@ import org.apache.hadoop.classification.InterfaceStability;
  * Base implementation of time based store for key-value pair tuples.
  *
  * @param <T>
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Unstable
 public class TimeBasedStore<T extends TimeEvent>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/TimeEvent.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/TimeEvent.java b/library/src/main/java/com/datatorrent/lib/join/TimeEvent.java
index d1259d2..c341a02 100644
--- a/library/src/main/java/com/datatorrent/lib/join/TimeEvent.java
+++ b/library/src/main/java/com/datatorrent/lib/join/TimeEvent.java
@@ -21,6 +21,9 @@ package com.datatorrent.lib.join;
 import org.apache.hadoop.classification.InterfaceStability;
 
 @InterfaceStability.Unstable
+/**
+ * @since 3.4.0
+ */
 public interface TimeEvent
 {
   /**

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/join/TimeEventImpl.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/join/TimeEventImpl.java b/library/src/main/java/com/datatorrent/lib/join/TimeEventImpl.java
index bafab29..e579502 100644
--- a/library/src/main/java/com/datatorrent/lib/join/TimeEventImpl.java
+++ b/library/src/main/java/com/datatorrent/lib/join/TimeEventImpl.java
@@ -24,6 +24,8 @@ import org.apache.hadoop.classification.InterfaceStability;
 
 /**
  * Time event Implementation.
+ *
+ * @since 3.4.0
  */
 @InterfaceStability.Unstable
 public class TimeEventImpl implements TimeEvent, Comparable<TimeEventImpl>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/projection/ProjectionOperator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/projection/ProjectionOperator.java b/library/src/main/java/com/datatorrent/lib/projection/ProjectionOperator.java
index 8598de9..8e664a1 100644
--- a/library/src/main/java/com/datatorrent/lib/projection/ProjectionOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/projection/ProjectionOperator.java
@@ -71,6 +71,8 @@ import com.datatorrent.lib.util.PojoUtils;
  *  - when selectFields = "b", projected port shall emit {b} and remainder port shall emit {a, c}
  *  - when dropFields = "b", projected port shall emit {a, c} and remainder port shall emit {b}
  *
+ *
+ * @since 3.4.0
  */
 public class ProjectionOperator extends BaseOperator implements Operator.ActivationListener<Context>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/transform/TransformOperator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/transform/TransformOperator.java b/library/src/main/java/com/datatorrent/lib/transform/TransformOperator.java
index 309560b..483748e 100644
--- a/library/src/main/java/com/datatorrent/lib/transform/TransformOperator.java
+++ b/library/src/main/java/com/datatorrent/lib/transform/TransformOperator.java
@@ -49,6 +49,8 @@ import com.datatorrent.lib.util.PojoUtils;
  * </ul>
  *
  * The operator uses interaction via {@link Expression} and {@link PojoUtils} to transform given POJO.
+ *
+ * @since 3.4.0
  */
 public class TransformOperator extends BaseOperator implements Operator.ActivationListener
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/util/AbstractKeyValueStorageAgent.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/util/AbstractKeyValueStorageAgent.java b/library/src/main/java/com/datatorrent/lib/util/AbstractKeyValueStorageAgent.java
index dab5720..d206071 100644
--- a/library/src/main/java/com/datatorrent/lib/util/AbstractKeyValueStorageAgent.java
+++ b/library/src/main/java/com/datatorrent/lib/util/AbstractKeyValueStorageAgent.java
@@ -38,6 +38,8 @@ import com.datatorrent.api.StorageAgent;
  * 
  * @param <S>
  *          Store implementation
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractKeyValueStorageAgent<S extends StorageAgentKeyValueStore>
     implements StorageAgent.ApplicationAwareStorageAgent, Serializable

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/com/datatorrent/lib/util/StorageAgentKeyValueStore.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/com/datatorrent/lib/util/StorageAgentKeyValueStore.java b/library/src/main/java/com/datatorrent/lib/util/StorageAgentKeyValueStore.java
index 276019d..6deed74 100644
--- a/library/src/main/java/com/datatorrent/lib/util/StorageAgentKeyValueStore.java
+++ b/library/src/main/java/com/datatorrent/lib/util/StorageAgentKeyValueStore.java
@@ -25,6 +25,8 @@ import com.datatorrent.lib.db.KeyValueStore;
 /**
  * Interface for KeyValue store
  * 
+ *
+ * @since 3.4.0
  */
 public interface StorageAgentKeyValueStore extends KeyValueStore
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregator.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregator.java
index bcbb223..f7ab25d 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregator.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregator.java
@@ -30,6 +30,8 @@ import com.datatorrent.lib.appdata.schemas.FieldsDescriptor;
  * SimpleCompositAggregator is the aggregator which embed other aggregator
  *
  *
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractCompositeAggregator implements CompositeAggregator
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregatorFactory.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregatorFactory.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregatorFactory.java
index 9a71e30..8156064 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregatorFactory.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractCompositeAggregatorFactory.java
@@ -20,6 +20,9 @@ package org.apache.apex.malhar.lib.dimensions.aggregator;
 
 import java.util.Map;
 
+/**
+ * @since 3.4.0
+ */
 public abstract class AbstractCompositeAggregatorFactory implements CompositeAggregatorFactory
 {
   protected static final String NAME_TEMPLATE = "%s-%s-%s";

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractIncrementalAggregator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractIncrementalAggregator.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractIncrementalAggregator.java
index b25390e..bf2e342 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractIncrementalAggregator.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractIncrementalAggregator.java
@@ -49,6 +49,8 @@ import com.datatorrent.lib.appdata.schemas.CustomTimeBucket;
  * one for cost and one for revenue.
  * </p>
  * 
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractIncrementalAggregator implements IncrementalAggregator
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractTopBottomAggregator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractTopBottomAggregator.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractTopBottomAggregator.java
index ed3c577..41d1372 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractTopBottomAggregator.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AbstractTopBottomAggregator.java
@@ -35,6 +35,9 @@ import com.datatorrent.lib.appdata.gpo.GPOMutable;
 import com.datatorrent.lib.appdata.schemas.Type;
 
 
+/**
+ * @since 3.4.0
+ */
 public abstract class AbstractTopBottomAggregator extends AbstractCompositeAggregator
 {
   public static final String PROP_COUNT = "count";

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorBottom.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorBottom.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorBottom.java
index 955a466..1a64839 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorBottom.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorBottom.java
@@ -18,6 +18,9 @@
  */
 package org.apache.apex.malhar.lib.dimensions.aggregator;
 
+/**
+ * @since 3.4.0
+ */
 public class AggregatorBottom extends AbstractTopBottomAggregator
 {
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTop.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTop.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTop.java
index a47050b..5e58da1 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTop.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTop.java
@@ -18,6 +18,9 @@
  */
 package org.apache.apex.malhar.lib.dimensions.aggregator;
 
+/**
+ * @since 3.4.0
+ */
 public class AggregatorTop extends AbstractTopBottomAggregator
 {
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTopBottomType.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTopBottomType.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTopBottomType.java
index bca2aac..844b3f5 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTopBottomType.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/AggregatorTopBottomType.java
@@ -18,6 +18,9 @@
  */
 package org.apache.apex.malhar.lib.dimensions.aggregator;
 
+/**
+ * @since 3.4.0
+ */
 public enum AggregatorTopBottomType
 {
   TOPN,

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregator.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregator.java
index 64ce2bd..916467d 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregator.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregator.java
@@ -27,6 +27,9 @@ import org.apache.apex.malhar.lib.dimensions.DimensionsEvent.EventKey;
 import com.datatorrent.lib.appdata.schemas.FieldsDescriptor;
 import com.datatorrent.lib.appdata.schemas.Type;
 
+/**
+ * @since 3.4.0
+ */
 public interface CompositeAggregator
 {
   public int getSchemaID();

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregatorFactory.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregatorFactory.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregatorFactory.java
index 9fb9b74..da1d225 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregatorFactory.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/CompositeAggregatorFactory.java
@@ -24,6 +24,8 @@ import java.util.Map;
  * this factory is implemented for support TOPN and BOTTOMN right now.
  * we are not clear what other composite aggregator could be, provide interface here.
  * assume Composite only embed one aggregate and with some properties
+ *
+ * @since 3.4.0
  */
 public interface CompositeAggregatorFactory
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/DefaultCompositeAggregatorFactory.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/DefaultCompositeAggregatorFactory.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/DefaultCompositeAggregatorFactory.java
index ccfd6cd..125c3f1 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/DefaultCompositeAggregatorFactory.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/DefaultCompositeAggregatorFactory.java
@@ -26,6 +26,8 @@ import com.google.common.collect.Maps;
  * The DefaultCompositeAggregatorFactory find the specific factory according to the aggregator type
  * and delegate to the specific factory.
  * 
+ *
+ * @since 3.4.0
  */
 public class DefaultCompositeAggregatorFactory implements CompositeAggregatorFactory
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/IncrementalAggregator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/IncrementalAggregator.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/IncrementalAggregator.java
index 33e868f..54b86fa 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/IncrementalAggregator.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/IncrementalAggregator.java
@@ -43,6 +43,8 @@ import com.datatorrent.lib.appdata.schemas.Type;
  * one for cost and one for revenue.
  * </p>
  *
+ *
+ * @since 3.4.0
  */
 public interface IncrementalAggregator extends Aggregator<InputEvent, Aggregate>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/TopBottomAggregatorFactory.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/TopBottomAggregatorFactory.java b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/TopBottomAggregatorFactory.java
index 461faff..89f6bb7 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/TopBottomAggregatorFactory.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/dimensions/aggregator/TopBottomAggregatorFactory.java
@@ -23,6 +23,9 @@ import java.util.Set;
 
 import com.google.common.collect.Sets;
 
+/**
+ * @since 3.4.0
+ */
 public class TopBottomAggregatorFactory extends AbstractCompositeAggregatorFactory
 {
   public static final String PROPERTY_NAME_EMBEDED_AGGREGATOR = "embededAggregator";

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/fs/BytesFileOutputOperator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/fs/BytesFileOutputOperator.java b/library/src/main/java/org/apache/apex/malhar/lib/fs/BytesFileOutputOperator.java
index d466409..9567872 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/fs/BytesFileOutputOperator.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/fs/BytesFileOutputOperator.java
@@ -36,6 +36,8 @@ import com.datatorrent.netlet.util.DTThrowable;
  * This class is responsible for writing tuples to HDFS. All tuples are written
  * to the same file. Rolling file based on size, no. of tuples, idle windows,
  * elapsed windows is supported.
+ *
+ * @since 3.4.0
  */
 
 public class BytesFileOutputOperator extends AbstractSingleFileOutputOperator<byte[]>

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/fs/LineByLineFileInputOperator.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/fs/LineByLineFileInputOperator.java b/library/src/main/java/org/apache/apex/malhar/lib/fs/LineByLineFileInputOperator.java
index 9c374d3..e8b8f8b 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/fs/LineByLineFileInputOperator.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/fs/LineByLineFileInputOperator.java
@@ -38,6 +38,8 @@ import com.datatorrent.lib.io.fs.AbstractFileInputOperator;
  * @displayName Line-by-line File Input
  * @category Input
  * @tags fs, file, line, lines, input operator
+ *
+ * @since 3.4.0
  */
 public class LineByLineFileInputOperator extends AbstractFileInputOperator<String>
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/BucketedState.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/BucketedState.java b/library/src/main/java/org/apache/apex/malhar/lib/state/BucketedState.java
index a270eb6..7ebc6d0 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/BucketedState.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/BucketedState.java
@@ -27,6 +27,8 @@ import com.datatorrent.netlet.util.Slice;
 
 /**
  * A state where keys are grouped in buckets.
+ *
+ * @since 3.4.0
  */
 public interface BucketedState
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/TimeSlicedBucketedState.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/TimeSlicedBucketedState.java b/library/src/main/java/org/apache/apex/malhar/lib/state/TimeSlicedBucketedState.java
index 55b92a3..b43647d 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/TimeSlicedBucketedState.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/TimeSlicedBucketedState.java
@@ -29,6 +29,8 @@ import com.datatorrent.netlet.util.Slice;
  * time per key to figure out which time bucket a particular key belongs to.
  * <p/>
  * The time here is mainly used for purging of aged key/value pair.
+ *
+ * @since 3.4.0
  */
 public interface TimeSlicedBucketedState
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/AbstractManagedStateImpl.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/AbstractManagedStateImpl.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/AbstractManagedStateImpl.java
index 11db44d..196ea69 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/AbstractManagedStateImpl.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/AbstractManagedStateImpl.java
@@ -120,6 +120,8 @@ import com.datatorrent.netlet.util.Slice;
  *   </tr>
  * </table>
  *
+ *
+ * @since 3.4.0
  */
 public abstract class AbstractManagedStateImpl
     implements ManagedState, Component<OperatorContext>, Operator.CheckpointNotificationListener, ManagedStateContext,

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/Bucket.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/Bucket.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/Bucket.java
index 352f121..0ed1865 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/Bucket.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/Bucket.java
@@ -42,6 +42,8 @@ import com.datatorrent.netlet.util.Slice;
 
 /**
  * A bucket that groups events.
+ *
+ * @since 3.4.0
  */
 public interface Bucket extends ManagedStateComponent
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/BucketsFileSystem.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/BucketsFileSystem.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/BucketsFileSystem.java
index 483d9e8..313bfd5 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/BucketsFileSystem.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/BucketsFileSystem.java
@@ -67,6 +67,8 @@ import com.datatorrent.netlet.util.Slice;
  * </ol>
  * <p/>
  * Meta data information is updated by {@link IncrementalCheckpointManager}. Any updates are restricted to the package.
+ *
+ * @since 3.4.0
  */
 public class BucketsFileSystem implements ManagedStateComponent
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/IncrementalCheckpointManager.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/IncrementalCheckpointManager.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/IncrementalCheckpointManager.java
index 7858e89..4852b50 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/IncrementalCheckpointManager.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/IncrementalCheckpointManager.java
@@ -48,6 +48,8 @@ import com.datatorrent.netlet.util.Slice;
  * data files. This class listens to time expiry events issued by {@link TimeBucketAssigner}.
  *
  * This component is also responsible for purging old time buckets.
+ *
+ * @since 3.4.0
  */
 public class IncrementalCheckpointManager extends FSWindowDataManager
     implements ManagedStateComponent

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedState.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedState.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedState.java
index 12928f1..dfebd7a 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedState.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedState.java
@@ -21,6 +21,8 @@ package org.apache.apex.malhar.lib.state.managed;
 
 /**
  * Managed state has a limit on amount of data in memory.
+ *
+ * @since 3.4.0
  */
 public interface ManagedState
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateComponent.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateComponent.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateComponent.java
index 1044e15..f1fe982 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateComponent.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateComponent.java
@@ -20,6 +20,9 @@ package org.apache.apex.malhar.lib.state.managed;
 
 import javax.validation.constraints.NotNull;
 
+/**
+ * @since 3.4.0
+ */
 public interface ManagedStateComponent
 {
   /**

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateContext.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateContext.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateContext.java
index 406fdbd..b1faac7 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateContext.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateContext.java
@@ -24,6 +24,9 @@ import com.datatorrent.api.Context;
 import com.datatorrent.lib.fileaccess.FileAccess;
 import com.datatorrent.netlet.util.Slice;
 
+/**
+ * @since 3.4.0
+ */
 public interface ManagedStateContext
 {
   FileAccess getFileAccess();

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateImpl.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateImpl.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateImpl.java
index 4c3cf84..b4453d5 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateImpl.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedStateImpl.java
@@ -31,6 +31,8 @@ import com.datatorrent.netlet.util.Slice;
 /**
  * Basic implementation of {@link AbstractManagedStateImpl} where system time corresponding to an application window is
  * used to sub-group key of a particular bucket.<br/>
+ *
+ * @since 3.4.0
  */
 public class ManagedStateImpl extends AbstractManagedStateImpl implements BucketedState
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeStateImpl.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeStateImpl.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeStateImpl.java
index c2fcf6f..b441183 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeStateImpl.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeStateImpl.java
@@ -34,6 +34,8 @@ import com.datatorrent.netlet.util.Slice;
 /**
  * This implementation of {@link AbstractManagedStateImpl} lets the client to specify the time for each key.
  * The value of time is used to derive the time-bucket of a key.
+ *
+ * @since 3.4.0
  */
 @OperatorAnnotation(checkpointableWithinAppWindow = false)
 public class ManagedTimeStateImpl extends AbstractManagedStateImpl implements TimeSlicedBucketedState

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeUnifiedStateImpl.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeUnifiedStateImpl.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeUnifiedStateImpl.java
index 6f531eb..487f89c 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeUnifiedStateImpl.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/ManagedTimeUnifiedStateImpl.java
@@ -45,6 +45,8 @@ import com.datatorrent.netlet.util.Slice;
 
 /**
  * In this implementation of {@link AbstractManagedStateImpl} the buckets in memory are time-buckets.
+ *
+ * @since 3.4.0
  */
 public class ManagedTimeUnifiedStateImpl extends AbstractManagedStateImpl implements BucketedState
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/managed/TimeBucketAssigner.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/TimeBucketAssigner.java b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/TimeBucketAssigner.java
index 745353b..a60bc72 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/managed/TimeBucketAssigner.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/managed/TimeBucketAssigner.java
@@ -58,6 +58,8 @@ import com.datatorrent.lib.appdata.query.WindowBoundedService;
  * The boundaries can also be moved by {@link #getTimeBucketFor(long)}. The time which is passed as an argument to this
  * method can be ahead of <code>end</code>. This means that the corresponding event is a future event
  * (wrt TimeBucketAssigner) and cannot be ignored. Therefore it is accounted by sliding boundaries further.
+ *
+ * @since 3.4.0
  */
 public class TimeBucketAssigner implements ManagedStateComponent
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/Spillable.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/Spillable.java b/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/Spillable.java
index bc7a6d5..676b5de 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/Spillable.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/Spillable.java
@@ -29,6 +29,8 @@ import com.datatorrent.api.Context.OperatorContext;
 
 /**
  * This is a marker interface for a spillable data structure.
+ *
+ * @since 3.4.0
  */
 public interface Spillable
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/SpillableComplexComponent.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/SpillableComplexComponent.java b/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/SpillableComplexComponent.java
index d157ba0..a1d03bc 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/SpillableComplexComponent.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/state/spillable/SpillableComplexComponent.java
@@ -28,6 +28,8 @@ import com.datatorrent.api.Context.OperatorContext;
 /**
  * This is a composite component containing spillable data structures. This should be used as
  * a component inside {@link com.datatorrent.api.Operator}s.
+ *
+ * @since 3.4.0
  */
 public interface SpillableComplexComponent extends Component<OperatorContext>, SpillableComponent
 {

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/aea89fa8/library/src/main/java/org/apache/apex/malhar/lib/utils/FileContextUtils.java
----------------------------------------------------------------------
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/utils/FileContextUtils.java b/library/src/main/java/org/apache/apex/malhar/lib/utils/FileContextUtils.java
index 00976c2..37448cc 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/utils/FileContextUtils.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/utils/FileContextUtils.java
@@ -30,6 +30,9 @@ import org.apache.hadoop.fs.UnsupportedFileSystemException;
 
 import com.google.common.base.Preconditions;
 
+/**
+ * @since 3.4.0
+ */
 public class FileContextUtils
 {
   public static FileContext getFileContext(@NotNull Path path) throws UnsupportedFileSystemException