## Highlights:

1. Allow user to change the DAG on the fly by providing a new jar.
2. Add hadoop storage for Transactional topology
3. shade environment dependencies jars.
4. Support scala 2.10 and scala 2.11

## Change log:

- #1339, metrics typo
- #1336, verbose log to console
- #1331, check whether we have duplicate metric before registering.
- #1330, Worker cannot init when setting HDFS as jarStore
- #1334, fix Storm LocalCluster dependencies
- #1324, tag storm tuple with timestamp
- #1246, isolate processors' classpath
- #1327, move project state and dsl to under streaming
- #924, fix storm wordcount example
- #1319 fix application HA not working
- #1315, fix clock stalling
- #1305, remove JarFileContainer, replace it with Path.
- #1313, fix 2.10 build failure
- #601, 1. add jvm metrics 2. add master and worker metrics.
- #1296, enable cross compile and publish
- #606, add more rest service for new UI(version 2)
- #1013, track task checkpoint time at ClockService
- #1301, fix state example tests
- #339, add Hadoop-compatible CheckpointStore
- #1278, Optimize the build script for scalajs.
- #1285, fix travis deploy build script
- #1241, shade akka-kryo-serialization
- #1278, split services into 2 projects for scala.js
- #1290, purify state dependencies
- #1289, construct HTable at cluster side
- #1288, upgraded to vis 4.7.0 and optimized redraw
