http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_plugins/releases.rb
----------------------------------------------------------------------
diff --git a/_plugins/releases.rb b/_plugins/releases.rb
new file mode 100644
index 0000000..f28ccd2
--- /dev/null
+++ b/_plugins/releases.rb
@@ -0,0 +1,84 @@
+module Releases
+  class Generator < Jekyll::Generator
+    def dir_to_releasename(dir)
+      ret = nil
+      splitdir = dir.split("/").select{ |a| a != ""};
+      if (splitdir[0] == 'releases')
+        ret = splitdir[1]
+        if (ret == 'current')
+          ret = File.readlink(splitdir.join("/")).split("/")[-1]
+        end
+      end
+      return ret
+    end
+
+    def set_if_unset(hash, key, value)
+      hash[key] = hash[key] || value;
+    end
+
+    def parse_version(version_string)
+      return version_string.split('.').map{|e| e.to_i}
+    end
+
+    def release_from_pom()
+      text= `mvn -f ../pom.xml help:evaluate -Dexpression=project.version`
+      return text.split("\n").select{|a| !a.start_with?('[')}[0]
+    end
+
+    def branch_from_git()
+      return `git rev-parse --abbrev-ref HEAD`
+    end
+
+    def generate(site)
+      if site.config['storm_release_only']
+        release_name = release_from_pom()
+        puts "release: #{release_name}"
+        git_branch = branch_from_git()
+        puts "branch: #{git_branch}"
+        for page in site.pages do
+          page.data['version'] = release_name;
+          page.data['git-tree-base'] = 
"http://github.com/apache/storm/tree/#{git_branch}";
+          page.data['git-blob-base'] = 
"http://github.com/apache/storm/blob/#{git_branch}";
+        end
+        return
+      end
+
+      releases = Hash.new
+      if (site.data['releases'])
+        for rel_data in site.data['releases'] do
+          releases[rel_data['name']] = rel_data
+        end
+      end
+
+      for page in site.pages do
+        release_name = dir_to_releasename(page.dir)
+        if (release_name != nil)
+          if !releases.has_key?(release_name)
+            releases[release_name] = {'name' => release_name};
+          end
+          releases[release_name]['documented'] = true
+        end
+      end
+
+      releases.each { |release_name, release_data|
+          set_if_unset(release_data, 'git-tag-or-branch', 
"v#{release_data['name']}")
+          set_if_unset(release_data, 'git-tree-base', 
"http://github.com/apache/storm/tree/#{release_data['git-tag-or-branch']}")
+          set_if_unset(release_data, 'git-blob-base', 
"http://github.com/apache/storm/blob/#{release_data['git-tag-or-branch']}")
+          set_if_unset(release_data, 'base-name', 
"apache-storm-#{release_data['name']}")
+          set_if_unset(release_data, 'has-download', 
!release_name.end_with?('-SNAPSHOT'))
+      }
+
+      for page in site.pages do
+        release_name = dir_to_releasename(page.dir)
+        if (release_name != nil)
+          release_data = releases[release_name] 
+          page.data['version'] = release_name;
+          page.data['git-tree-base'] = release_data['git-tree-base'];
+          page.data['git-blob-base'] = release_data['git-blob-base'];
+        end
+      end
+      site.data['releases'] = releases.values.sort{|x,y| 
parse_version(y['name']) <=>
+                                                         
parse_version(x['name'])};
+    end
+  end
+end

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2012-08-02-storm080-released.md
----------------------------------------------------------------------
diff --git a/_posts/2012-08-02-storm080-released.md 
b/_posts/2012-08-02-storm080-released.md
new file mode 100644
index 0000000..d5636e4
--- /dev/null
+++ b/_posts/2012-08-02-storm080-released.md
@@ -0,0 +1,120 @@
+---
+layout: post
+title: Storm 0.8.0 and Trident released
+author: Nathan Marz
+---
+
+I'm happy to announce the release of Storm 0.8.0. This is a *huge* release. 
Thanks to everyone who tested out the dev release and helped find and fix 
issues. And thanks to everyone who contributed pull requests. There's one big 
new thing available in the release: Trident. You may have heard me hint about 
Trident before, and now it's finally public. 
+
+Trident is a higher level abstraction for Storm. It allows you to seamlessly 
mix high throughput (millions of messages per second), stateful stream 
processing with low latency distributed querying. If you're familiar with high 
level batch processing tools like Pig or Cascading, the concepts of Trident 
will be very familiar - Trident has joins, aggregations, grouping, functions, 
and filters. In addition to these, Trident adds primitives for doing stateful, 
incremental processing on top of any database or persistence store. Trident has 
consistent, exactly-once semantics, so it is easy to reason about Trident 
topologies. Trident is bundled with Storm, and you can read documentation about 
it on [this page](https://github.com/apache/incubator-storm/wiki/Documentation) 
(start with "Trident tutorial").
+
+Trident supersedes both LinearDRPCTopologyBuilder and transactional 
topologies, both of which will be deprecated soon and eventually removed from 
the codebase. 
+
+Here are the other highlights of this release: 
+
+
+Executors
+---------
+
+Prior to Storm 0.8.0, a running topology consisted of some number of workers 
and some number of tasks that ran on those workers. In the old model, worker = 
process and task = thread. Storm 0.8.0 changes this model by introducing 
executors. In this model, a worker = process, an executor = thread, and one 
executor runs many tasks from the same spout/bolt. 
+
+The reason for the change is that the old model complected the semantics of 
the topology with its physical execution. For example, if you had a bolt with 4 
tasks doing a fields grouping on some stream, in order to maintain the 
semantics of the fields grouping (that the same value always goes to the same 
task id for that bolt), the number of tasks for that bolt needs to be fixed for 
the lifetime of the topology, and since task = thread, the number of threads 
for that bolt is fixed for the lifetime of the topology. In the new model, the 
number of threads for a bolt is disassociated from the number of tasks, meaning 
you can change the number of threads for a spout/bolt dynamically without 
affecting semantics. Similarly, if you're keeping large amounts of state in 
your bolts, and you want to increase the parallelism of the bolt without having 
to repartition the state, you can do this with the new executors. 
+
+At the API level, the "parallelism_hint" now specifies the initial number of 
executors for that bolt. You can specify the number of tasks using the 
TOPOLOGY_TASKS component config. For example:
+
+<code>
+builder.setBolt(new MyBolt(), 3).setNumTasks(128).shuffleGrouping("spout"); 
+</code>
+
+This sets the initial number of executors to 3 and the number of tasks to 128. 
If you don't specify the number of tasks for a component, it will be fixed to 
the initial number of executors for the lifetime of the topology. 
+
+Finally, you can change the number of workers and/or number of executors for 
components using the "storm rebalance" command. The following command changes 
the number of workers for the "demo" topology to 3, the number of executors for 
the "myspout" component to 5, and the number of executors for the "mybolt" 
component to 1: 
+
+<code>
+storm rebalance demo -n 3 -e myspout=5 -e mybolt=1 
+</code>
+
+Pluggable scheduler
+-------------------
+
+You can now implement your own scheduler to replace the default scheduler to 
assign executors to workers. You configure the class to use using the 
"storm.scheduler" config in your storm.yaml, and your scheduler must implement 
[this 
interface](https://github.com/apache/incubator-storm/blob/master/src/jvm/backtype/storm/scheduler/IScheduler.java).
+
+Throughput improvements
+-----------------------
+
+The internals of Storm have been rearchitected for extremely significant 
performance gains. I'm seeing throughput increases of anywhere from 5-10x of 
what it was before. I've benchmarked Storm at 1M tuples / sec / node on an 
internal Twitter cluster. 
+
+The key changes made were: 
+
+a) Replacing all the internal in-memory queuing with the LMAX Disruptor 
+b) Doing intelligent auto-batching of processing so that the consumers can 
keep up with the producers 
+
+Here are the configs which affect how buffering/batching is done: 
+
+topology.executor.receive.buffer.size 
+topology.executor.send.buffer.size 
+topology.receiver.buffer.size 
+topology.transfer.buffer.size 
+
+These may require some tweaking to optimize your topologies, but most likely 
the default values will work fine for you out of the box. 
+
+Decreased Zookeeper load / increased Storm UI performance
+-----------------------
+Storm sends significantly less traffic to Zookeeper now (on the order of 10x 
less). Since it also uses so many fewer znodes to store state, the UI is 
significantly faster as well. 
+
+Abstractions for shared resources
+-----------------------
+
+The TopologyContext has methods "getTaskData", "getExecutorData", and 
"getResource" for sharing resources at the task level, executor level, or 
worker level respectively. Currently you can't set any worker resources, but 
this is in development. Storm currently provides a shared ExecutorService 
worker resource (via "getSharedExecutor" method) that can be used for launching 
background tasks on a shared thread pool. 
+
+Tick tuples
+-----------------------
+
+It's common to require a bolt to "do something" at a fixed interval, like 
flush writes to a database. Many people have been using variants of a 
ClockSpout to send these ticks. The problem with a ClockSpout is that you can't 
internalize the need for ticks within your bolt, so if you forget to set up 
your bolt correctly within your topology it won't work correctly. 0.8.0 
introduces a new "tick tuple" config that lets you specify the frequency at 
which you want to receive tick tuples via the "topology.tick.tuple.freq.secs" 
component- specific config, and then your bolt will receive a tuple from the 
__system component and __tick stream at that frequency. 
+
+Improved Storm UI
+-----------------------
+
+The Storm UI now has a button for showing/hiding the "system stats" (tuples 
sent on streams other than ones you've defined, like acker streams), making it 
easier to digest what your topology is doing.
+
+Here's the full changelog for Storm 0.8.0: 
+
+ * Added Trident, the new high-level abstraction for intermixing high 
throughput, stateful stream processing with low-latency distributed querying 
+ * Added executor abstraction between workers and tasks. Workers = processes, 
executors = threads that run many tasks from the same spout or bolt. 
+ * Pluggable scheduler (thanks xumingming) 
+ * Eliminate explicit storage of task->component in Zookeeper 
+ * Number of workers can be dynamically changed at runtime through rebalance 
command and -n switch 
+ * Number of executors for a component can be dynamically changed at runtime 
through rebalance command and -e switch (multiple -e switches allowed) 
+ * Use worker heartbeats instead of task heartbeats (thanks xumingming) 
+ * UI performance for topologies with many executors/tasks much faster due to 
optimized usage of Zookeeper (10x improvement) 
+ * Added button to show/hide system stats (e.g., acker component and stream 
stats) from the Storm UI (thanks xumingming) 
+ * Stats are tracked on a per-executor basis instead of per-task basis 
+ * Major optimization for unreliable spouts and unanchored tuples (will use 
far less CPU) 
+ * Revamped internals of Storm to use LMAX disruptor for internal queuing. 
Dramatic reductions in contention and CPU usage. 
+ * Numerous micro-optimizations all throughout the codebase to reduce CPU 
usage. 
+ * Optimized internals of Storm to use much fewer threads - two fewer threads 
per spout and one fewer thread per acker. 
+ * Removed error method from task hooks (to be re-added at a later time) 
+ * Validate that subscriptions come from valid components and streams, and if 
it's a field grouping that the schema is correct (thanks xumingming) 
+ * MemoryTransactionalSpout now works in cluster mode 
+ * Only track errors on a component by component basis to reduce the amount 
stored in zookeeper (to speed up UI). A side effect of this change is the 
removal of the task page in the UI. 
+ * Add TOPOLOGY-TICK-TUPLE-FREQ-SECS config to have Storm automatically send 
"tick" tuples to a bolt's execute method coming from the __system component and 
__tick stream at the configured frequency. Meant to be used as a 
component-specific configuration. 
+ * Upgrade Kryo to v2.17 
+ * Tuple is now an interface and is much cleaner. The Clojure DSL helpers have 
been moved to TupleImpl 
+ * Added shared worker resources. Storm provides a shared ExecutorService 
thread pool by default. The number of threads in the pool can be configured 
with topology.worker.shared.thread.pool.size 
+ * Improve CustomStreamGrouping interface to make it more flexible by 
providing more information 
+ * Enhanced INimbus interface to allow for forced schedulers and better 
integration with global scheduler 
+ * Added assigned method to ISupervisor so it knows exactly what's running and 
not running 
+ * Custom serializers can now have one of four constructors: (), (Kryo), 
(Class), or (Kryo, Class) 
+ * Disallow ":", ".", and "\" from topology names 
+ * Errors in multilang subprocesses that go to stderr will be captured and 
logged to the worker logs (thanks vinodc) 
+ * Workers detect and warn for missing outbound connections from assignment, 
drop messages for which there's no outbound connection 
+ * Zookeeper connection timeout is now configurable (via 
storm.zookeeper.connection.timeout config) 
+ * Storm is now less aggressive about halting process when there are Zookeeper 
errors, preferring to wait until client calls return exceptions. 
+ * Can configure Zookeeper authentication for Storm's Zookeeper clients via 
"storm.zookeeper.auth.scheme" and "storm.zookeeper.auth.payload" configs 
+ * Supervisors only download code for topologies assigned to them 
+ * Include task id information in task hooks (thanks velvia) 
+ * Use execvp to spawn daemons (replaces the python launcher process) (thanks 
ept) 
+ * Expanded INimbus/ISupervisor interfaces to provide more information (used 
in Storm/Mesos integration) 
+ * Bug fix: Realize task ids when worker heartbeats to supervisor. Some users 
were hitting deserialization problems here in very rare cases (thanks 
herberteuler) 
+ * Bug fix: Fix bug where a topology's status would get corrupted to true if 
nimbus is restarted while status is rebalancing 
+ 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2012-09-06-storm081-released.md
----------------------------------------------------------------------
diff --git a/_posts/2012-09-06-storm081-released.md 
b/_posts/2012-09-06-storm081-released.md
new file mode 100644
index 0000000..da24349
--- /dev/null
+++ b/_posts/2012-09-06-storm081-released.md
@@ -0,0 +1,47 @@
+---
+layout: post
+title: Storm 0.8.1 released
+author: Nathan Marz
+---
+
+Storm 0.8.1 is now available on the downloads page and in Maven. This release 
contains many bug fixes as well as a few important new features. These include: 
+
+Storm's unit testing facilities have been exposed via Java
+-----------------------
+This is an extremely powerful API that lets you do things like: 
+   a) Easily bring up and tear down local clusters 
+   b) Run a fixed set of tuples through a topology and see all the tuples 
emitted by all components 
+   c) Feed some tuples through the topology, wait until they've been 
processed, and then run your assertions 
+   d) Use time simulation and step through time via an API. This is useful for 
testing topologies that do things based on time advancing. You can see examples 
of the unit testing API 
[here](https://github.com/xumingming/storm-lib/blob/master/src/jvm/storm/TestingApiDemo.java).
+   
+Spout wait strategies
+---------------------
+
+There's two situations in which a spout needs to wait. The first is when the 
max spout pending limit is reached. The second is when nothing is emitted from 
nextTuple. Previously, Storm would just have that spout sit in a busy loop in 
those cases. What Storm does in those situations is now pluggable, and the 
default is now for the spout to sleep for 1 ms. This will cause the spout to 
use dramatically less CPU when it hits those cases, and it also obviates the 
need for spouts to do any sleeping in their implementation to be "polite". The 
wait strategy can be configured with TOPOLOGY_SPOUT_WAIT_STRATEGY and can be 
configured on a spout by spout basis. The interface to implement for a wait 
strategy is backtype.storm.spout.ISpoutWaitStrategy 
+
+The full changelog is below: 
+
+ * Exposed Storm's unit testing facilities via the backtype.storm.Testing 
class. Notable functions are Testing/withLocalCluster and 
Testing/completeTopology 
+ * Implemented pluggable spout wait strategy that is invoked when a spout 
emits nothing from nextTuple or when a spout hits the MAX_SPOUT_PENDING limit 
+ * Spouts now have a default wait strategy of a 1 millisecond sleep 
+ * Changed log level of "Failed message" logging to DEBUG 
+ * Deprecated LinearDRPCTopologyBuilder, TimeCacheMap, and transactional 
topologies 
+ * During "storm jar", whether topology is already running or not is checked 
before submitting jar to save time (thanks jasonjckn) 
+ * Added BaseMultiReducer class to Trident that provides empty implementations 
of prepare and cleanup 
+ * Added Negate builtin operation to reverse a Filter 
+ * Added topology.kryo.decorators config that allows functions to be plugged 
in to customize Kryo (thanks jasonjckn) 
+ * Enable message timeouts when using LocalCluster 
+ * Multilang subprocesses can set "need_task_ids" to false when emitting 
tuples to tell Storm not to send task ids back (performance optimization) 
(thanks barrywhart) 
+ * Add contains method on Tuple (thanks okapies) 
+ * Added ISchemableSpout interface 
+ * Bug fix: When an item is consumed off an internal buffer, the entry on the 
buffer is nulled to allow GC to happen on that data 
+ * Bug fix: Helper class for Trident MapStates now clear their read cache when 
a new commit happens, preventing updates from spilling over from a failed batch 
attempt to the next attempt 
+ * Bug fix: Fix NonTransactionalMap to take in an IBackingMap for regular 
values rather than TransactionalValue (thanks sjoerdmulder) 
+ * Bug fix: Fix NPE when no input fields given for regular Aggregator 
+ * Bug fix: Fix IndexOutOfBoundsExceptions when a bolt for global aggregation 
had a parallelism greater than 1 (possible with splitting, stateQuerying, and 
multiReduce) 
+ * Bug fix: Fix "fields size" error that would sometimes occur when splitting 
a stream with multiple eaches 
+ * Bug fix: Fix bug where a committer spout (including opaque spouts) could 
cause Trident batches to fail 
+ * Bug fix: Fix Trident bug where multiple groupings on same stream would 
cause tuples to be duplicated to all consumers 
+ * Bug fix: Fixed error when repartitioning stream twice in a row without any 
operations in between 
+ * Bug fix: Fix rare bug in supervisor where it would continuously fail to 
clean up workers because the worker was already partially cleaned up 
+ * Bug fix: Fix emitDirect in storm.py 

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2013-01-11-storm082-released.md
----------------------------------------------------------------------
diff --git a/_posts/2013-01-11-storm082-released.md 
b/_posts/2013-01-11-storm082-released.md
new file mode 100644
index 0000000..e657d09
--- /dev/null
+++ b/_posts/2013-01-11-storm082-released.md
@@ -0,0 +1,82 @@
+---
+layout: post
+title: Storm 0.8.2 released
+author: Nathan Marz
+---
+
+Storm 0.8.2 has been released and is available from [the downloads 
page](/downloads.html). This release contains a ton of improvements and fixes 
and is a highly recommended upgrade for everyone.
+
+Isolation Scheduler
+-------------------
+
+The highlight of this release is the new "Isolation scheduler" that makes it 
easy and safe to share a cluster among many topologies. The isolation scheduler 
lets you specify which topologies should be "isolated", meaning that they run 
on a dedicated set of machines within the cluster where no other topologies 
will be running. These isolated topologies are given priority on the cluster, 
so resources will be allocated to isolated topologies if there's competition 
with non-isolated topologies, and resources will be taken away from 
non-isolated topologies if necessary to get resources for an isolated topology. 
Once all isolated topologies are allocated, the remaining machines on the 
cluster are shared among all non-isolated topologies.
+
+You configure the isolation scheduler in the Nimbus configuration. Set 
"storm.scheduler" to "backtype.storm.scheduler.IsolationScheduler". Then, use 
the "isolation.scheduler.machines" config to specify how many machines each 
topology should get. This config is a map from topology name to number of 
machines. For example:
+
+<script src="https://gist.github.com/4514691.js";></script>
+
+Any topologies submitted to the cluster not listed there will not be isolated. 
Note that there is no way for a user of Storm to affect their isolation 
settings – this is only allowed by the administrator of the cluster (this is 
very much intentional).
+
+The isolation scheduler solves the multi-tenancy problem – avoiding resource 
contention between topologies – by providing full isolation between 
topologies. The intention is that "productionized" topologies should be listed 
in the isolation config, and test or in-development topologies should not. The 
remaining machines on the cluster serve the dual role of failover for isolated 
topologies and for running the non-isolated topologies.
+
+Storm UI improvements
+-------------------
+
+The Storm UI has also been made significantly more useful. There are new stats 
"#executed", "execute latency", and "capacity" tracked for all bolts. The 
"capacity" metric is very useful and tells you what % of the time in the last 
10 minutes the bolt spent executing tuples. If this value is close to 1, then 
the bolt is "at capacity" and is a bottleneck in your topology. The solution to 
at-capacity bolts is to increase the parallelism of that bolt.
+
+Another useful improvement is the ability to kill, activate, deactivate, and 
rebalance topologies from the Storm UI.
+
+
+Important bug fixes
+-------------------
+
+There are also a few important bug fixes in this release. We fixed two bugs 
that could cause a topology to freeze up and stop processing. One of these bugs 
was extremely unlikely to hit, but the other one was a regression in 0.8.1 and 
there was a small chance of hitting it anytime a worker was restarted.
+
+
+Changelog
+---------
+
+ * Added backtype.storm.scheduler.IsolationScheduler. This lets you run 
topologies that are completely isolated at the machine level. Configure Nimbus 
to isolate certain topologies, and how many machines to give to each of those 
topologies, with the isolation.scheduler.machines config in Nimbus's 
storm.yaml. Topologies run on the cluster that are not listed there will share 
whatever remaining machines there are on the cluster after machines are 
allocated to the listed topologies.
+ * Storm UI now uses nimbus.host to find Nimbus rather than always using 
localhost (thanks Frostman)
+ * Added report-error! to Clojure DSL
+ * Automatically throttle errors sent to Zookeeper/Storm UI when too many are 
reported in a time interval (all errors are still logged) Configured with 
TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL and TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS
+ * Kryo instance used for serialization can now be controlled via IKryoFactory 
interface and TOPOLOGY_KRYO_FACTORY config
+ * Add ability to plug in custom code into Nimbus to allow/disallow topologies 
to be submitted via NIMBUS_TOPOLOGY_VALIDATOR config
+ * Added TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS config to control how 
often a batch can be emitted in a Trident topology. Defaults to 500 
milliseconds. This is used to prevent too much load from being placed on 
Zookeeper in the case that batches are being processed super quickly.
+ * Log any topology submissions errors in nimbus.log
+ * Add static helpers in Config when using regular maps
+ * Make Trident much more memory efficient during failures by immediately 
removing state for failed attempts when a more recent attempt is seen
+ * Add ability to name portions of a Trident computation and have those names 
appear in the Storm UI
+ * Show Nimbus and topology configurations through Storm UI (thanks rnfein)
+ * Added ITupleCollection interface for TridentState's and TupleCollectionGet 
QueryFunction for getting the full contents of a state. MemoryMapState and 
LRUMemoryMapState implement this
+ * Can now submit a topology in inactive state. Storm will wait to call 
open/prepare on the spouts/bolts until it is first activated.
+ * Can now activate, deactive, rebalance, and kill topologies from the Storm 
UI (thanks Frostman)
+ * Can now use --config option to override which yaml file from ~/.storm to 
use for the config (thanks tjun)
+ * Redesigned the pluggable resource scheduler (INimbus, ISupervisor) 
interfaces to allow for much simpler integrations
+ * Added prepare method to IScheduler
+ * Added "throws Exception" to TestJob interface
+ * Added reportError to multilang protocol and updated Python and Ruby 
adapters to use it (thanks Lazyshot)
+ * Number tuples executed now tracked and shown in Storm UI
+ * Added ReportedFailedException which causes a batch to fail without killing 
worker and reports the error to the UI
+ * Execute latency now tracked and shown in Storm UI
+ * Adding testTuple methods for easily creating Tuple instances to Testing API 
(thanks xumingming)
+ * Trident now throws an error during construction of a topology when try to 
select fields that don't exist in a stream (thanks xumingming)
+ * Compute the capacity of a bolt based on execute latency and #executed over 
last 10 minutes and display in UI
+ * Storm UI displays exception instead of blank page when there's an error 
rendering the page (thanks Frostman)
+ * Added MultiScheme interface (thanks sritchie)
+ * Added MockTridentTuple for testing (thanks emblem)
+ * Add whitelist methods to Cluster to allow only a subset of hosts to be 
revealed as available slots
+ * Updated Trident Debug filter to take in an identifier to use when logging 
(thanks emblem)
+ * Number of DRPC server worker threads now customizable (thanks xiaokang)
+ * DRPC server now uses a bounded queue for requests to prevent being 
overloaded with requests (thanks xiaokang)
+ * Add __hash__ method to all generated Python Thrift objects so that Python 
code can read Nimbus stats which use Thrift objects as dict keys
+ * Bug fix: Fix for bug that could cause topology to hang when ZMQ blocks 
sending to a worker that got reassigned
+ * Bug fix: Fix deadlock bug due to variant of dining philosophers problem. 
Spouts now use an overflow buffer to prevent blocking and guarantee that it can 
consume the incoming queue of acks/fails.
+ * Bug fix: Fix race condition in supervisor that would lead to supervisor 
continuously crashing due to not finding "stormconf.ser" file for an already 
killed topology
+ * Bug fix: bin/storm script now displays a helpful error message when an 
invalid command is specified
+ * Bug fix: fixed NPE when emitting during emit method of Aggregator
+ * Bug fix: URLs with periods in them in Storm UI now route correctly
+ * Bug fix: Fix occasional cascading worker crashes due when a worker dies due 
to not removing connections from connection cache appropriately
+ 
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2013-12-08-storm090-released.md
----------------------------------------------------------------------
diff --git a/_posts/2013-12-08-storm090-released.md 
b/_posts/2013-12-08-storm090-released.md
new file mode 100644
index 0000000..8e1e948
--- /dev/null
+++ b/_posts/2013-12-08-storm090-released.md
@@ -0,0 +1,127 @@
+---
+layout: post
+title: Storm 0.9.0 Released
+author: P. Taylor Goetz
+---
+
+We are pleased to announce that Storm 0.9.0 has been released and is available 
from [the downloads page](/downloads.html). This release represents an 
important milestone in the evolution of Storm.
+
+While a number of new features have been added, a key focus area for this 
release has been stability-related fixes. Though many users are successfully 
running work-in-progress builds for Storm 0.9.x in production, this release 
represents the most stable version to-date, and is highly recommended for 
everyone, especially users of 0.8.x versions.
+
+
+Netty Transport
+---------------
+The first hightlight of this release is the new 
[Netty](http://netty.io/index.html) Transport contributed by [Yahoo! 
Engineering](http://yahooeng.tumblr.com/). Storm's core network transport 
mechanism is now plugable, and Storm now comes with two implementations: The 
original 0MQ transport, and a new Netty-based implementation.
+
+In earlier versions, Storm relied solely on 0MQ for transport. Since 0MQ is a 
native library, it was highly platform-dependent and, at times, challenging to 
install properly. In addition, stability between versions varied widely between 
versions and only a relatively old 0MQ version (2.1.7) was certified to work 
with Storm.
+
+The Netty transport offers a pure Java alternative that eliminates Storm's 
dependency on native libraries. The Netty transport's performance is up to 
twice as fast as 0MQ, and it will open the door for authorization and 
authentication between worker processes. For an in-depth performance comparison 
of the 0MQ and Netty transports, see [this blog 
post](http://yahooeng.tumblr.com/post/64758709722/making-storm-fly-with-netty) 
by Storm contributor [Bobby Evans](https://github.com/revans2).
+
+To configure Storm to use the Netty transport simply add the following to your 
`storm.yaml` configuration and adjust the values to best suit your use-case:
+
+```
+storm.messaging.transport: "backtype.storm.messaging.netty.Context"
+storm.messaging.netty.server_worker_threads: 1
+storm.messaging.netty.client_worker_threads: 1
+storm.messaging.netty.buffer_size: 5242880
+storm.messaging.netty.max_retries: 100
+storm.messaging.netty.max_wait_ms: 1000
+storm.messaging.netty.min_wait_ms: 100
+```
+You can also write your own transport implementation by implementing the 
[`backtype.storm.messaging.IContext`](https://github.com/apache/incubator-storm/blob/master/storm-core/src/jvm/backtype/storm/messaging/IContext.java)
 interface.
+
+
+Log Viewer UI
+-------------
+Storm now includes a helpful new feature for debugging and monitoring 
topologies: The `logviewer` daemon.
+
+In earlier versions of Storm, viewing worker logs involved determining a 
worker's location (host/port), typically through Storm UI, then `ssh`ing to 
that host and `tail`ing the corresponding worker log file. With the new log 
viewer. You can now easily access a specific worker's log in a web browser by 
clicking on a worker's port number right from Storm UI.
+
+The `logviewer` daemon runs as a separate process on Storm supervisor nodes. 
To enable the `logviewer` run the following command (under supervision) on your 
cluster's supervisor nodes:
+
+```
+$ storm logviewer
+```
+
+
+Improved Windows Support
+------------------------
+In previous versions, running Storm on Microsoft Windows required installing 
third-party binaries (0MQ), modifying Storm's source, and adding 
Windows-specific scripts. With the addition of the platform-independent Netty 
transport, as well as numerous enhancements to make Storm more 
platform-independent, running Storm on Windows is easier than ever.
+
+
+Security Improvements
+---------------------
+Security, Authentication, and Authorization have been and will continue to be 
important focus areas for upcoming features. Storm 0.9.0 introduces an API for 
pluggable tuple serialization and a blowfish encryption based implementation 
for encrypting tuple data for sensitive use cases.
+
+
+API Compatibility and Upgrading
+-------------------------------
+For most Storm topology developers, upgrading to 0.9.0 is simply a matter of 
updating the [dependency](https://clojars.org/storm). Storm's core API has 
changed very little since the 0.8.2 release.
+
+On the devops side, when upgrading to a new Storm release, it is safest to 
clear any existing state (Zookeeper, `storm.local.dir`), prior to upgrading.
+
+Logging Changes
+---------------
+Another important change in 0.9.0 has to do with logging. Storm has largely 
switched over to the [slf4j API](http://www.slf4j.org) (backed by a 
[logback](http://logback.qos.ch) logger implementation). Some Storm 
dependencies rely on the log4j API, so Storm currently depends on 
[log4j-over-slf4j](http://www.slf4j.org/legacy.html#log4j-over-slf4j).
+
+These changes have implications for existing topologies and topology 
components that use the log4j API.
+
+In general, and when possible, Storm topologies and topology components should 
use the [slf4j API](http://www.slf4j.org) for logging.
+
+
+Thanks
+------
+Special thanks are due to all those who have contributed to Storm -- whether 
through direct code contributions, documentation, bug reports, or helping other 
users on the mailing lists. Your efforts are much appreciated.
+
+
+Changelog
+---------
+
+* Update build configuration to force compatibility with Java 1.6
+* Fixed a netty client issue where sleep times for reconnection could be 
negative (thanks brndnmtthws)
+* Fixed an issue that would cause storm-netty unit tests to fail
+* Added configuration to limit ShellBolt internal _pendingWrites queue length 
(thanks xiaokang)
+* Fixed a a netty client issue where sleep times for reconnection could be 
negative (thanks brndnmtthws)
+* Fixed a display issue with system stats in Storm UI (thanks d2r)
+* Nimbus now does worker heartbeat timeout checks as soon as heartbeats are 
updated (thanks d2r)
+* The logviewer now determines log file location by examining the logback 
configuration (thanks strongh)
+* Allow tick tuples to work with the system bolt (thanks xumingming)
+* Add default configuration values for the netty transport and the ability to 
configure the number of worker threads (thanks revans2)
+* Added timeout to unit tests to prevent a situation where tests would hang 
indefinitely (thanks d2r)
+* Fixed an issue in the system bolt where local mode would not be detected 
accurately (thanks miofthena)
+* Fixed `storm jar` command to work properly when STORM_JAR_JVM_OPTS is not 
specified (thanks roadkill001)
+* All logging now done with slf4j
+* Replaced log4j logging system with logback
+* Logs are now limited to 1GB per worker (configurable via logging 
configuration file)
+* Build upgraded to leiningen 2.0
+* Revamped Trident spout interfaces to support more dynamic spouts, such as a 
spout who reads from a changing set of brokers
+* How tuples are serialized is now pluggable (thanks anfeng)
+* Added blowfish encryption based tuple serialization (thanks anfeng)
+* Have storm fall back to installed storm.yaml (thanks revans2)
+* Improve error message when Storm detects bundled storm.yaml to show the 
URL's for offending resources (thanks revans2)
+* Nimbus throws NotAliveException instead of FileNotFoundException from 
various query methods when topology is no longer alive (thanks revans2)
+* Escape HTML and Javascript appropriately in Storm UI (thanks d2r)
+* Storm's Zookeeper client now uses bounded exponential backoff strategy on 
failures
+* Automatically drain and log error stream of multilang subprocesses
+* Append component name to thread name of running executors so that logs are 
easier to read
+* Messaging system used for passing messages between workers is now pluggable 
(thanks anfeng)
+* Netty implementation of messaging (thanks anfeng)
+* Include topology id, worker port, and worker id in properties for worker 
processes, useful for logging (thanks d2r)
+* Tick tuples can now be scheduled using floating point seconds (thanks 
tscurtu)
+* Added log viewer daemon and links from UI to logviewers (thanks xiaokang)
+* DRPC server childopts now configurable (thanks strongh)
+* Default number of ackers to number of workers, instead of just one (thanks 
lyogavin)
+* Validate that Storm configs are of proper types/format/structure (thanks d2r)
+* FixedBatchSpout will now replay batches appropriately on batch failure 
(thanks ptgoetz)
+* Can set JAR_JVM_OPTS env variable to add jvm options when calling 'storm 
jar' (thanks srmelody)
+* Throw error if batch id for transaction is behind the batch id in the opaque 
value (thanks mrflip)
+* Sort topologies by name in UI (thanks jaked)
+* Added LoggingMetricsConsumer to log all metrics to a file, by default not 
enabled (thanks mrflip)
+* Add prepare(Map conf) method to TopologyValidator (thanks ankitoshniwal)
+* Bug fix: Supervisor provides full path to workers to logging config rather 
than relative path (thanks revans2) 
+* Bug fix: Call ReducerAggregator#init properly when used within 
persistentAggregate (thanks lorcan)
+* Bug fix: Set component-specific configs correctly for Trident spouts
+
+ 
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-10-storm-logo-contest.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-10-storm-logo-contest.md 
b/_posts/2014-04-10-storm-logo-contest.md
new file mode 100644
index 0000000..59f2a5d
--- /dev/null
+++ b/_posts/2014-04-10-storm-logo-contest.md
@@ -0,0 +1,66 @@
+---
+layout: post
+title: Apache Storm Logo Contest
+author: P. Taylor Goetz
+---
+
+Apache Storm is a platform for distributed, real-time computation that has 
been undergoing incubation at Apache since September 18, 2013. You can 
contribute by helping establish the Storm brand by submitting a proposal for 
the Apache Storm logo.
+
+Your proposal will be published on the [Storm project 
website](http://storm.incubator.apache.org) next to the other proposals. On 
**Wednesday, April 30, 2014** the community will choose the new logo through a 
vote on the [Apache Storm Mailing 
List](http://mail-archives.apache.org/mod_mbox/incubator-storm-dev/). If more 
than 10 proposals are received, voting will take place in two rounds, with the 
first round selecting 10 proposals to move to round two.
+
+The winning artist will be credited on the Apache Storm website as having 
designed the logo, and may include a link to her/his website or blog. Prizes 
for the winner(s) are currently TBD.
+
+##GUIDELINES 
+
+The logo should meet the following requirements: 
+
+ * Include 2 versions of the logo: a rectangular layout (full brand) and a 
square layout (icon, stand-alone logo) 
+ * Be scalable up or down (hi-res raster, or vector) 
+ * Translate to a 2-color representation (black/white, 2 greys, etc.) 
+ * Able to be inverted if running on a dark background 
+ * Comply with the [Apache branding 
requirements](http://www.apache.org/foundation/marks/)
+ 
+Optional, but nice to have:
+ 
+ * Icons representing storm components (suitable for use in diagrams, 
presentations, etc.):
+    * Spouts
+    * Bolts
+    * Streams
+    * Trident
+    * Functions/Filters
+
+Note: The winning design as accepted by popular vote will be treated as a 
proposal that can be modified and iterated upon to reach its final form. 
+
+There is no limit on the number of entries per individual.
+
+##INSPIRATION 
+
+While designing the logo, keep in mind what describes Storm: 
+
+ * Distributed Computation
+ * High Performance
+ * Fault Tolerance
+ * Community Driven
+
+
+##DEADLINE 
+
+The contest will be open until **Wednesday, April 30, 2014**.
+
+##HOW TO ENTER 
+
+Send the [Apache Storm Mailing List](mailto:d...@storm.incubator.apache.org) 
links to:
+
+ * A PNG version of the logo (and it's scalable variations) 
+ * A ZIP file with all assets
+ * (Optional) A link to a blog post, etc. describing the proposal
+
+Alternatively, contributers can mail the above to the [contest 
coordinator](mailto:ptgo...@apache.org) to have them forwarded to the mailing 
list.
+
+Contributors may also publicise their proposal by tweeting links to a proposal 
with the hashtag #stormlogocontest
+
+
+##LICENSE 
+
+The authors of the selected Apache Storm logo(s) will be required to donate 
them to the Apache Storm project and complete and [Apache Individual 
Contributor License Agreement(ICLA)](http://www.apache.org/licenses/icla.txt)
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-17-logo-pforrest.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-17-logo-pforrest.md 
b/_posts/2014-04-17-logo-pforrest.md
new file mode 100644
index 0000000..edde18a
--- /dev/null
+++ b/_posts/2014-04-17-logo-pforrest.md
@@ -0,0 +1,12 @@
+---
+layout: post
+title: Logo Entry No. 1 - Patricia Forrest
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/pforrest/storm1.png)
+
+![Storm Brand](/images/logocontest/pforrest/storm_logo_composite.png)
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-17-logo-squinones.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-17-logo-squinones.md 
b/_posts/2014-04-17-logo-squinones.md
new file mode 100644
index 0000000..89bf877
--- /dev/null
+++ b/_posts/2014-04-17-logo-squinones.md
@@ -0,0 +1,11 @@
+---
+layout: post
+title: Logo Entry No. 2 - Samuel Quiñones
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/squinones/storm_logo1.png)
+
+![Storm Brand](/images/logocontest/squinones/storm_logo.png)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-19-logo-ssuleman.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-19-logo-ssuleman.md 
b/_posts/2014-04-19-logo-ssuleman.md
new file mode 100644
index 0000000..071f950
--- /dev/null
+++ b/_posts/2014-04-19-logo-ssuleman.md
@@ -0,0 +1,10 @@
+---
+layout: post
+title: Logo Entry No. 3- Shaan Shiv Suleman
+---
+
+{{ page.title }}
+================
+
+
+![Storm Brand](/images/logocontest/ssuleman/storm_logo.png)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-21-logo-rmarshall.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-21-logo-rmarshall.md 
b/_posts/2014-04-21-logo-rmarshall.md
new file mode 100644
index 0000000..3f910b3
--- /dev/null
+++ b/_posts/2014-04-21-logo-rmarshall.md
@@ -0,0 +1,14 @@
+---
+layout: post
+title: Logo Entry No. 4 - Richard Brownlie-Marshall
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/rmarshall/StormLogo_Square.png)
+
+![Storm Brand](/images/logocontest/rmarshall/StormLogo_Horizontal.png)
+
+![Storm Brand](/images/logocontest/rmarshall/StormLogo_Horizontal_NoColour.png)
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-22-logo-zsayari.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-22-logo-zsayari.md 
b/_posts/2014-04-22-logo-zsayari.md
new file mode 100644
index 0000000..d7175a1
--- /dev/null
+++ b/_posts/2014-04-22-logo-zsayari.md
@@ -0,0 +1,11 @@
+---
+layout: post
+title: Logo Entry No. 5 - Ziba Sayari
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/zsayari/storm_logo.png)
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-23-logo-abartos.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-23-logo-abartos.md 
b/_posts/2014-04-23-logo-abartos.md
new file mode 100644
index 0000000..7e99126
--- /dev/null
+++ b/_posts/2014-04-23-logo-abartos.md
@@ -0,0 +1,17 @@
+---
+layout: post
+title: Logo Entry No. 6 - Alec Bartos
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/abartos/storm_logo.png)
+
+![Storm Brand](/images/logocontest/abartos/storm_logo2.png)
+
+![Storm Brand](/images/logocontest/abartos/storm_logo3.png)
+
+![Storm Brand](/images/logocontest/abartos/stationery_mockup.jpg)
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-27-logo-cboustead.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-27-logo-cboustead.md 
b/_posts/2014-04-27-logo-cboustead.md
new file mode 100644
index 0000000..1069413
--- /dev/null
+++ b/_posts/2014-04-27-logo-cboustead.md
@@ -0,0 +1,14 @@
+---
+layout: post
+title: Logo Entry No. 7 - Calum Boustead
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/cboustead/storm_logo1.png)
+
+![Storm Brand](/images/logocontest/cboustead/storm_logo.png)
+
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-27-logo-sasili.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-27-logo-sasili.md b/_posts/2014-04-27-logo-sasili.md
new file mode 100644
index 0000000..bf475bc
--- /dev/null
+++ b/_posts/2014-04-27-logo-sasili.md
@@ -0,0 +1,12 @@
+---
+layout: post
+title: Logo Entry No. 8 - Stefano Asili
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/sasili/storm_logo.png)
+
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-29-logo-jlee1.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-29-logo-jlee1.md b/_posts/2014-04-29-logo-jlee1.md
new file mode 100644
index 0000000..2f03f51
--- /dev/null
+++ b/_posts/2014-04-29-logo-jlee1.md
@@ -0,0 +1,12 @@
+---
+layout: post
+title: Logo Entry No. 9 - Jennifer Lee
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/jlee1/storm_logo.jpg)
+
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-29-logo-jlee2.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-29-logo-jlee2.md b/_posts/2014-04-29-logo-jlee2.md
new file mode 100644
index 0000000..c8b732b
--- /dev/null
+++ b/_posts/2014-04-29-logo-jlee2.md
@@ -0,0 +1,12 @@
+---
+layout: post
+title: Logo Entry No. 10 - Jennifer Lee
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/jlee3/storm_logo.jpg)
+
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-04-29-logo-jlee3.md
----------------------------------------------------------------------
diff --git a/_posts/2014-04-29-logo-jlee3.md b/_posts/2014-04-29-logo-jlee3.md
new file mode 100644
index 0000000..a9fa18f
--- /dev/null
+++ b/_posts/2014-04-29-logo-jlee3.md
@@ -0,0 +1,12 @@
+---
+layout: post
+title: Logo Entry No. 11 - Jennifer Lee
+---
+
+{{ page.title }}
+================
+
+![Storm Brand](/images/logocontest/jlee2/storm_logo.jpg)
+
+
+

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-05-27-round1-results.md
----------------------------------------------------------------------
diff --git a/_posts/2014-05-27-round1-results.md 
b/_posts/2014-05-27-round1-results.md
new file mode 100644
index 0000000..49d46b0
--- /dev/null
+++ b/_posts/2014-05-27-round1-results.md
@@ -0,0 +1,40 @@
+---
+layout: post
+title: Logo Contest - Round 1 Results
+---
+
+{{ page.title }}
+================
+
+Round one of the Apache Storm logo contest is now complete and was a great 
success. We received votes from 7 PPMC members as well as 46 votes from the 
greater Storm community.
+
+We would like to extend a very special thanks to all those who took the time 
and effort to create and submit a logo proposal. We would also like to thank 
everyone who voted.
+
+## Results ##
+The Storm PPMC and community votes were closely aligned, with the community 
vote resolving a PPMC tie for the 3rd finalist as shown in the result table 
below.
+
+The three finalists entering the final round are:
+
+ * [No. 6 - Alec Bartos](/2014/04/23/logo-abartos.html)
+ * [No. 9 - Jennifer Lee](/2014/04/29/logo-jlee1.html)
+ * [No. 10 - Jennifer Lee](/2014/04/29/logo-jlee2.html)
+ 
+Congratulations Alec and Jennifer!
+
+Stay tuned for the final vote, which will be announced shortly.
+
+------
+
+| Entry                        | PPMC | Community |
+|:-----------------------------|-----:|----------:|
+|1 - Patricia Forrest          | 2    | 23        |
+|2 - Samuel Quiñones           | 3    | 6         |
+|3- Shaan Shiv Suleman         | 0    | 7         |
+|4 - Richard Brownlie-Marshall | 0    | 6         |
+|5 - Ziba Sayari               | 0    | 9         |
+|6 - Alec Bartos               | 3    | 32        |
+|7 - Calum Boustead            | 0    | 0         |
+|8 - Stefano Asili             | 0    | 2         |
+|9 - Jennifer Lee              | 9    | 63        |
+|10 - Jennifer Lee             | 18   | 64        |
+|11 - Jennifer Lee             | 0    | 18        |
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-06-17-contest-results.md
----------------------------------------------------------------------
diff --git a/_posts/2014-06-17-contest-results.md 
b/_posts/2014-06-17-contest-results.md
new file mode 100644
index 0000000..4b6b7de
--- /dev/null
+++ b/_posts/2014-06-17-contest-results.md
@@ -0,0 +1,24 @@
+---
+layout: post
+title: Storm Logo Contest Results
+author: P. Taylor Goetz
+---
+
+The Apache Storm logo contest is now complete and was a great success. We 
received votes from 7 PPMC members as well as 55 votes from the greater Storm 
community. Thank you to everyone who participated by voting.
+
+## The Winner ##
+Congratulations to Jennifer Lee, whose [3rd 
entry](/2014/04/29/logo-jlee2.html) received the most points from both the PPMC 
as well as the Storm community. Final vote tallies are listed below.
+
+![Storm Logo](/images/logocontest/storm_logo_winner.png)
+
+The Apache Storm project management team will now begin the process of 
finalizing the logo and making it official.
+
+Congratulations Jennifer, and thanks again to everyone who participated!
+
+------
+
+| Entry                        | PPMC |&nbsp;&nbsp;&nbsp; Community |
+|:-----------------------------|-----:|----------:|
+|[6 - Alec Bartos](/2014/04/23/logo-abartos.html)               | 2    | 41    
    |
+|[9 - Jennifer Lee](/2014/04/29/logo-jlee1.html)              | 7    | 111     
  |
+|[10 - Jennifer Lee](/2014/04/29/logo-jlee2.html)             | 26   | 123     
  |

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-06-25-storm092-released.md
----------------------------------------------------------------------
diff --git a/_posts/2014-06-25-storm092-released.md 
b/_posts/2014-06-25-storm092-released.md
new file mode 100644
index 0000000..7f8c438
--- /dev/null
+++ b/_posts/2014-06-25-storm092-released.md
@@ -0,0 +1,137 @@
+---
+layout: post
+title: Storm 0.9.2 released
+author: P. Taylor Goetz
+---
+
+We are pleased to announce that Storm 0.9.2-incubating has been released and 
is available from [the downloads page](/downloads.html). This release includes 
many important fixes and improvements.
+
+Netty Transport Improvements
+----------------------------
+Storm's Netty-based transport has been overhauled to significantly improve 
performance through better utilization of thread, CPU, and network resources, 
particularly in cases where message sizes are small. Storm contributor Sean 
Zhong ([@clockfly](https://github.com/clockfly)) deserves a great deal of 
credit not only for discovering, analyzing, documenting and fixing the root 
cause, but also for persevering through an extended review process and promptly 
addressing all concerns.
+
+Those interested in the technical details and evolution of this patch can find 
out more in the [JIRA ticket for 
STORM-297](https://issues.apache.org/jira/browse/STORM-297).
+
+Sean also discovered and fixed an [elusive 
bug](https://issues.apache.org/jira/browse/STORM-342) in Storm's usage of the 
Disruptor queue that could lead to out-of-order or lost messages. 
+
+Many thanks to Sean for contributing these important fixes.
+
+Storm UI Improvements
+---------------------
+This release also includes a number of improvements to the Storm UI service. 
Contributor Sriharsha Chintalapani([@harshach](https://github.com/harshach)) 
added a REST API to the Storm UI service to expose metrics and operations in 
JSON format, and updated the UI to use that API.
+
+The new REST API will make it considerably easier for other services to 
consume availabe cluster and topology metrics for monitoring and visualization 
applications. Kyle Nusbaum ([@knusbaum](https://github.com/knusbaum)) has 
already leveraged the REST API to create a topology visualization tool now 
included in Storm UI and illustrated in the screenshot below.
+
+&nbsp;
+
+![Storm UI Topology Visualization](/images/ui_topology_viz.png)
+
+&nbsp;
+
+In the visualization, spout components are represented as blue, while bolts 
are colored between green and red depending on their associated capacity 
metric. The width of the lines between the components represent the flow of 
tuples relative to the other visible streams. 
+
+Kafka Spout
+-----------
+This is the first Storm release to include official support for consuming data 
from Kafka 0.8.x. In the past, development of Kafka spouts for Storm had become 
somewhat fragmented and finding an implementation that worked with certain 
versions of Storm and Kafka proved burdensome for some developers. This is no 
longer the case, as the `storm-kafka` module is now part of the Storm project 
and associated artifacts are released to official channels (Maven Central) 
along with Storm's other components.
+
+Thanks are due to GitHub user [@wurstmeister]() for picking up Nathan Marz' 
original Kafka 0.7.x implementation, updating it to work with Kafka 0.8.x, and 
contributing that work back to the Storm community.
+
+The `storm-kafka` module can be found in the `/external/` directory of the 
source tree and binary distributions. The `external` area has been set up to 
contain projects that while not required by Storm, are often used in 
conjunction with Storm to integrate with some other technology. Such projects 
also come with a maintenance committment from at least one Storm committer to 
ensure compatibility with Storm's main codebase as it evolves.
+
+The `storm-kafka` dependency is available now from Maven Central at the 
following coordinates:
+
+
+       groupId: org.apache.storm
+       artifactId: storm-kafka
+       version: 0.9.2-incubating
+
+Users, and Scala developers in particular, should note that the Kafka 
dependency is listed as `provided`. This allows users to choose a specific 
Scala version as described in the [project 
README](https://github.com/apache/incubator-storm/tree/v0.9.2-incubating/external/storm-kafka).
+
+
+Storm Starter and Examples
+--------------------------
+
+Similar to the `external` section of the codebase, we have also added an 
`examples` directory and pulled in the `storm-starter` project to ensure it 
will be maintained in lock-step with Storm's main codebase.
+
+Thank you to Storm committer Michael G. Noll for his continued work in 
maintaining and improving the `storm-starter` project.
+
+
+Plugable Serialization for Multilang
+------------------------------------
+In previous versions of Storm, serialization of data to and from multilang 
components was limited to JSON, imposing somewhat of performance penalty. 
Thanks to a contribution from John Gilmore 
([@jsgilmore](https://github.com/jsgilmore)) the serialization mechanism is now 
plugable and enables the use of more performant serialization frameworks like 
protocol buffers in addition to JSON.
+
+
+Thanks
+------
+Special thanks are due to all those who have contributed to Storm -- whether 
through direct code contributions, documentation, bug reports, or helping other 
users on the mailing lists. Your efforts are much appreciated.
+
+
+Changelog
+---------
+
+ * STORM-352: [storm-kafka] PartitionManager does not save offsets to ZooKeeper
+ * STORM-66: send taskid on initial handshake
+ * STORM-342: Contention in Disruptor Queue which may cause out of order or 
lost messages
+ * STORM-338: Move towards idiomatic Clojure style 
+ * STORM-335: add drpc test for removing timed out requests from queue
+ * STORM-69: Storm UI Visualizations for Topologies
+ * STORM-297: Performance scaling with CPU
+ * STORM-244: DRPC timeout can return null instead of throwing an exception
+ * STORM-63: remove timeout drpc request from its function's request queue
+ * STORM-313: Remove log-level-page from logviewer
+ * STORM-205: Add REST API To Storm UI
+ * STORM-326: tasks send duplicate metrics
+ * STORM-331: Update the Kafka dependency of storm-kafka to 0.8.1.1
+ * STORM-308: Add support for config_value to 
{supervisor,nimbus,ui,drpc,logviewer} childopts
+ * STORM-309: storm-starter Readme: windows documentation update
+ * STORM-318: update storm-kafka to use apache curator-2.4.0
+ * STORM-303: storm-kafka reliability improvements
+ * STORM-233: Removed inline heartbeat to nimbus to avoid workers being killed 
when under heavy ZK load
+ * STORM-267: fix package name of LoggingMetricsConsumer in storm.yaml.example
+ * STORM-265: upgrade to clojure 1.5.1
+ * STORM-232: ship JNI dependencies with the topology jar
+ * STORM-295: Add storm configuration to define JAVA_HOME
+ * STORM-138: Pluggable serialization for multilang
+ * STORM-264: Removes references to the deprecated topology.optimize
+ * STORM-245: implement Stream.localOrShuffle() for trident
+ * STORM-317: Add SECURITY.md to release binaries
+ * STORM-310: Change Twitter authentication
+ * STORM-305: Create developer documentation
+ * STORM-280: storm unit tests are failing on windows
+ * STORM-298: Logback file does not include full path for metrics appender 
fileNamePattern
+ * STORM-316: added validation to registermetrics to have timebucketSizeInSecs 
>= 1
+ * STORM-315: Added progress bar when submitting topology
+ * STORM-214: Windows: storm.cmd does not properly handle multiple -c arguments
+ * STORM-306: Add security documentation
+ * STORM-302: Fix Indentation for pom.xml in storm-dist
+ * STORM-235: Registering a null metric should blow up early
+ * STORM-113: making thrift usage thread safe for local cluster
+ * STORM-223: use safe parsing for reading YAML
+ * STORM-238: LICENSE and NOTICE files are duplicated in storm-core jar
+ * STORM-276: Add support for logviewer in storm.cmd.
+ * STORM-286: Use URLEncoder#encode with the encoding specified.
+ * STORM-296: Storm kafka unit tests are failing on windows
+ * STORM-291: upgrade http-client to 4.3.3
+ * STORM-252: Upgrade curator to latest version
+ * STORM-294: Commas not escaped in command line
+ * STORM-287: Fix the positioning of documentation strings in clojure code
+ * STORM-290: Fix a log binding conflict caused by curator dependencies
+ * STORM-289: Fix Trident DRPC memory leak
+ * STORM-173: Treat command line "-c" option number config values as such
+ * STORM-194: Support list of strings in *.worker.childopts, handle spaces
+ * STORM-288: Fixes version spelling in pom.xml
+ * STORM-208: Add storm-kafka as an external module
+ * STORM-285: Fix storm-core shade plugin config
+ * STORM-12: reduce thread usage of netty transport
+ * STORM-281: fix and issue with config parsing that could lead to leaking 
file descriptors
+ * STORM-196: When JVM_OPTS are set, storm jar fails to detect storm.jar from 
environment
+ * STORM-260: Fix a potential race condition with simulated time in Storm's 
unit tests
+ * STORM-258: Update commons-io version to 2.4
+ * STORM-270: don't package .clj files in release jars.
+ * STORM-273: Error while running storm topologies on Windows using "storm jar"
+ * STROM-247: Replace links to github resources in storm script
+ * STORM-263: Update Kryo version to 2.21+
+ * STORM-187: Fix Netty error "java.lang.IllegalArgumentException: timeout 
value is negative"
+ * STORM-186: fix float secs to millis long convertion
+ * STORM-70: Upgrade to ZK-3.4.5 and curator-1.3.3
+ * STORM-146: Unit test regression when storm is compiled with 3.4.5 zookeeper

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-10-20-storm093-release-candidate.md
----------------------------------------------------------------------
diff --git a/_posts/2014-10-20-storm093-release-candidate.md 
b/_posts/2014-10-20-storm093-release-candidate.md
new file mode 100644
index 0000000..6270283
--- /dev/null
+++ b/_posts/2014-10-20-storm093-release-candidate.md
@@ -0,0 +1,11 @@
+---
+layout: post
+title: Storm 0.9.3 release candidate 1 available
+author: Michael G. Noll
+---
+
+We are pleased to announce that Apache Storm version 0.9.3 has reached the 
release candidate stage.  The latest release is 0.9.3-rc1.  We are moving 
closer to the GA release, so this is a good time to give this new 0.9.3 version 
a try!
+
+Storm 0.9.3 is a maintenance release with bug fixes and better stability as 
summarized in the [0.9.3 
changelog](https://github.com/apache/storm/blob/master/CHANGELOG.md).  On top 
of that version 0.9.3 continues to improve the integration with [Apache 
Kafka](http://kafka.apache.org/) as well as the [documentation of the core 
spout and Trident spout for 
Kafka](https://github.com/apache/storm/blob/master/external/storm-kafka/README.md),
 which will provide our users with the best Kafka connectivity for Storm to 
date.
+
+We heartily encourage you to [test the 0.9.3 release 
candidate](http://storm.apache.org/downloads.html) and provide your feedback 
regarding any issues via [our mailing 
lists](http://storm.apache.org/community.html), which is an easy and valuable 
way to contribute back to the Storm community and to help us moving to an 
official 0.9.3 release.  You can find the [0.9.3 release candidate in our 
Downloads section](http://storm.apache.org/downloads.html).

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2014-11-25-storm093-released.md
----------------------------------------------------------------------
diff --git a/_posts/2014-11-25-storm093-released.md 
b/_posts/2014-11-25-storm093-released.md
new file mode 100644
index 0000000..df3da75
--- /dev/null
+++ b/_posts/2014-11-25-storm093-released.md
@@ -0,0 +1,164 @@
+---
+layout: post
+title: Storm 0.9.3 released
+author: P. Taylor Goetz
+---
+
+We are pleased to announce that Apache Storm 0.9.3 has been released and is 
available from [the downloads page](/downloads.html). This release includes 100 
new fixes and improvements from 62 individual contributors.
+
+Improved Kafka Integration
+----------------------------
+
+Apache Storm has supported [Apache Kafka](http://kafka.apache.org/) as a 
streaming data source since version 0.9.2-incubating. Version 0.9.3 brings a 
number of improvements to the Kafka integration including the ability to write 
data to one or more Kafka clusters and topics.
+
+The ability to both read from and write to Kafka further unlocks potential of 
the already powerful combination of Storm and Kafka. Storm users can now use 
Kafka as a source of and destination for streaming data. This allows for 
inter-topology communication, topology chaining, combining spout/bolt-based 
topologies with Trident-based data flows, and integration with any external 
system that supports data ingest from Kafka.
+
+More information about Storm's Kafka integration can be found in the 
[storm-kafka project 
documentation](https://github.com/apache/storm/blob/v0.9.3/external/storm-kafka/README.md).
+
+
+HDFS Integration
+----------------
+
+Many stream processing use cases involve storing data in HDFS for further 
analysis and offline (batch) processing. Apache Storm’s HDFS integration 
consists of several bolt and Trident state implementations that allow topology 
developers to easily write data to HDFS from any Storm topology. 
+
+More information about Storm's HDFS integration can be found in the 
[storm-hdfs project 
documentation](https://github.com/apache/storm/tree/v0.9.3/external/storm-hdfs).
+
+
+HBase Integration
+-----------------
+
+Apache Storm’s HBase integration includes a number of components that allow 
Storm topologies to both write to and query HBase in real-time. Many 
organizations use Apache HBase as part of their big data strategy for batch, 
interactive, and real-time workflows. Storm’s HBase integration allows users 
to leverage data assets in HBase as streaming queries, as well as using HBase 
as a destination for streaming computation results.
+
+More information about Storm's HBase integration can be found in the 
[storm-hbase project 
documentation](https://github.com/apache/storm/tree/v0.9.3/external/storm-hbase).
+
+Reduced Dependency Conflicts
+----------------------------
+In previous Storm releases, it was not uncommon for users' topology 
dependencies to conflict with the libraries used by Storm. In Storm 0.9.3 
several dependency packages that were common sources of conflicts have been 
package-relocated (shaded) to avoid this situation. Developers are free to use 
the Storm-packaged versions, or supply their own version. 
+
+The following table lists the dependency package relocations:
+
+| Dependency  | Original Package | Storm Package |
+|:---|:---|:---|
+| Apache Thrift | `org.apache.thrift` | `org.apache.thrift7` |
+| Netty | `org.jboss.netty` | `org.apache.storm.netty` |
+| Google Guava | `com.google.common` | `org.apache.storm.guava` |
+|              | `com.google.thirdparty` | `org.apache.storm.guava.thirdparty` 
|
+| Apache HTTPClient | `org.apache.http` | `org.apache.storm.http` |
+| Apache ZooKeeper | `org.apache.zookeeper` | `org.apache.storm.zookeeper` |
+| Apache Curator | `org.apache.curator` | `org.apache.storm.curator` |
+
+Multi-Lang Improvements
+-----------------------
+Apache Storm 0.9.3 includes a new [Node.js](http://nodejs.org) multi-lang 
implementation that allows developers to write spouts and bolts in JavaScript.
+
+In addition to the Node.js implementation, the multi-lang protocol has been 
substantially improved in terms of robustness and error handling capabilities. 
As a result, **the multi-lang API has changed in a non-backward-compatible 
way**. Users with existing multi-lang topologies should consult the Python, 
Ruby, and JavaScript multi-lang examples to determine the impact prior to 
upgrading.
+
+
+Thanks
+------
+Special thanks are due to all those who have contributed to Storm -- whether 
through direct code contributions, documentation, bug reports, or helping other 
users on the mailing lists. Your efforts are much appreciated.
+
+
+Full Changelog
+---------
+
+ * STORM-558: change "swap!" to "reset!" to fix assignment-versions in 
supervisor
+ * STORM-555: Storm json response should set charset to UTF-8
+ * STORM-513: check heartbeat from multilang subprocess
+ * STORM-549: "topology.enable.message.timeouts" does nothing
+ * STORM-546: Local hostname configuration ignored by executor
+ * STORM-492: Test timeout should be configurable
+ * STORM-540: Change default time format in logs to ISO8601 in order to 
include timezone
+ * STORM-511: Storm-Kafka spout keeps sending fetch requests with invalid 
offset
+ * STORM-538: Guava com.google.thirdparty.publicsuffix is not shaded
+ * STORM-497: don't modify the netty server taskToQueueId mapping while the 
someone could be reading it.
+ * STORM-537: A worker reconnects infinitely to another dead worker (Sergey 
Tryuber)
+ * STORM-519: add tuple as an input param to HBaseValueMapper 
+ * STORM-488: Exit with 254 error code if storm CLI is run with unknown command
+ * STORM-506: Do not count bolt acks & fails in total stats
+ * STORM-490: fix build under Windows
+ * STORM-439: Replace purl.js qith jquery URL plugin
+ * STORM-499: Document and clean up shaded dependncy resolution with maven
+ * STORM-210: Add storm-hbase module
+ * STORM-507: Topology visualization should not block ui
+ * STORM-504: Class used by `repl` command is deprecated.
+ * STORM-330: Implement storm exponential backoff stategy for netty client and 
curator
+ * STORM-461: exit-process! does not always exit the process, but throws an 
exception
+ * STORM-341: fix assignment sorting
+ * STORM-476: external/storm-kafka: avoid NPE on null message payloads
+ * STORM-424: fix error message related to kafka offsets
+ * STORM-454: correct documentation in STORM-UI-REST-API.md
+ * STORM-474: Reformat UI HTML code
+ * STORM-447: shade/relocate packages of dependencies that are common causes 
of dependency conflicts
+ * STORM-279: cluster.xml doesn't take in STORM_LOG_DIR values.
+ * STORM-380: Kafka spout: throw RuntimeException if a leader cannot be found 
for a partition
+ * STORM-435: Improve storm-kafka documentation
+ * STORM-405: Add kafka trident state so messages can be sent to kafka topic
+ * STORM-211: Add module for HDFS integration
+ * STORM-337: Expose managed spout ids publicly
+ * STORM-320: Support STORM_CONF_DIR environment variable to support
+ * STORM-360: Add node details for Error Topology and Component pages
+ * STORM-54: Per-Topology Classpath and Environment for Workers
+ * STORM-355: excluding outdated netty transitively included via curator
+ * STORM-183: Replacing RunTime.halt() with RunTime.exit()
+ * STORM-213: Decouple In-Process ZooKeeper from LocalCluster.
+ * STORM-365: Add support for Python 3 to storm command.
+ * STORM-332: Enable Kryo serialization in storm-kafka
+ * STORM-370: Add check for empty table before sorting dom in UI
+ * STORM-359: add logviewer paging and download
+ * STORM-372: Typo in storm_env.ini
+ * STORM-266: Adding shell process pid and name in the log message
+ * STORM-367: Storm UI REST api documentation.
+ * STORM-200: Proposal for Multilang's Metrics feature
+ * STORM-351: multilang python process fall into endless loop
+ * STORM-375: Smarter downloading of assignments by supervisors and workers
+ * STORM-328: More restrictive Config checks, strict range check within 
Utils.getInt()
+ * STORM-381: Replace broken jquery.tablesorter.min.js to latest
+ * STORM-312: add storm monitor tools to monitor throughtput interactively
+ * STORM-354: Testing: allow users to pass TEST-TIMEOUT-MS as param for 
complete-topology
+ * STORM-254: one Spout/Bolt can register metric twice with same name in 
different timeBucket
+ * STORM-403: heartbeats-to-nimbus in supervisor-test failed due to uninten...
+ * STORM-402: FileNotFoundException when using storm with apache tika
+ * STORM-364: The exception time display as default timezone.
+ * STORM-420: Missing quotes in storm-starter python code
+ * STORM-399: Kafka Spout defaulting to latest offset when current offset is 
older then 100k
+ * STORM-421: Memoize local hostname lookup in executor
+ * STORM-414: support logging level to multilang protocol spout and bolt
+ * STORM-321: Added a tool to see the current status of STORM JIRA and github 
pulls.
+ * STORM-415: validate-launched-once in supervisor-test can not handle 
multiple topologies
+ * STORM-155: Storm rebalancing code causes multiple topologies assigned to a 
single port
+ * STORM-419: Updated test so sort ordering is very explicit.
+ * STORM-406: Fix for reconnect logic in netty client.
+ * STORM-366: Add color span to most recent error and fix ui templates.
+ * STORM-369: topology summary page displays wrong order.
+ * STORM-239: Allow supervisor to operate in paths with spaces in them
+ * STORM-87: fail fast on ShellBolt exception
+ * STORM-417: Storm UI lost table sort style when tablesorter was updated
+ * STORM-396: Replace NullPointerException with IllegalArgumentExeption
+ * STORM-451: Latest storm does not build due to a pom.xml error in storm-hdfs 
pom.xml
+ * STORM-453: migrated to curator 2.5.0
+ * STORM-458: sample spout uses incorrect name when connecting bolt
+ * STORM-455: Report error-level messages from ShellBolt children
+ * STORM-443: multilang log's loglevel protocol can cause hang
+ * STORM-449: Updated ShellBolt to not exit when shutting down.
+ * STORM-464: Simulated time advanced after test cluster exits causes 
intermittent test failures
+ * STORM-463: added static version of metrics helpers for Config
+ * STORM-376: Add compression to serialization
+ * STORM-437: Enforce utf-8 when multilang reads from stdin
+ * STORM-361: Add JSON-P support to Storm UI API
+ * STORM-373: Provide Additional String substitutions for *.worker.childopts
+ * STORM-274: Add support for command remoteconfvalue in storm.cmd
+ * STORM-132: sort supervisor by free slot in desending order
+ * STORM-472: Improve error message for non-completeable testing spouts
+ * STORM-401: handle InterruptedIOException properly.
+ * STORM-461: exit-process! does not always exit the process, but throws an 
exception instead
+ * STORM-475: Storm UI pages do not use UTF-8
+ * STORM-336: Logback version should be upgraded
+ * STORM-386: nodejs multilang protocol implementation and examples
+ * STORM-500: Add Spinner when UI is loading stats from nimbus
+ * STORM-501: Missing StormSubmitter API
+ * STORM-493: Workers inherit storm.conf.file/storm.options properties of 
their supervisor
+ * STORM-498: make ZK connection timeout configurable in Kafka spout
+ * STORM-428: extracted ITuple interface
+ * STORM-508: Update DEVELOPER.md now that Storm has graduated from Incubator
+ * STORM-514: Update storm-starter README now that Storm has graduated from 
Incubator

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2015-03-25-storm094-released.md
----------------------------------------------------------------------
diff --git a/_posts/2015-03-25-storm094-released.md 
b/_posts/2015-03-25-storm094-released.md
new file mode 100644
index 0000000..0119e38
--- /dev/null
+++ b/_posts/2015-03-25-storm094-released.md
@@ -0,0 +1,24 @@
+---
+layout: post
+title: Storm 0.9.4 released
+author: P. Taylor Goetz
+---
+
+The Apache Storm community is pleased to announce that version 0.9.4 has been 
released and is available from [the downloads page](/downloads.html).
+
+This is a maintenance release that includes a number of important bug fixes 
that improve Storm's stability and fault tolerance. We encourage users of 
previous versions to upgrade to this latest release.
+
+
+Thanks
+------
+Special thanks are due to all those who have contributed to Apache Storm -- 
whether through direct code contributions, documentation, bug reports, or 
helping other users on the mailing lists. Your efforts are much appreciated.
+
+
+Full Changelog
+---------
+
+ * STORM-559: ZkHosts in README should use 2181 as port.
+ * STORM-682: supervisor should handle worker state corruption gracefully.
+ * STORM-693: when kafka bolt fails to write tuple, it should report error 
instead of silently acking.
+ * STORM-329: fix cascading Storm failure by improving reconnection strategy 
and buffering messages
+ * STORM-130: Supervisor getting killed due to java.io.FileNotFoundException: 
File '../stormconf.ser' does not exist.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/storm-site/blob/d070189e/_posts/2015-06-04-storm095-released.md
----------------------------------------------------------------------
diff --git a/_posts/2015-06-04-storm095-released.md 
b/_posts/2015-06-04-storm095-released.md
new file mode 100644
index 0000000..1d018c0
--- /dev/null
+++ b/_posts/2015-06-04-storm095-released.md
@@ -0,0 +1,23 @@
+---
+layout: post
+title: Storm 0.9.5 released
+author: P. Taylor Goetz
+---
+
+The Apache Storm community is pleased to announce that version 0.9.5 has been 
released and is available from [the downloads page](/downloads.html).
+
+This is a maintenance release that includes a number of important bug fixes 
that improve Storm's stability and fault tolerance. We encourage users of 
previous versions to upgrade to this latest release.
+
+
+Thanks
+------
+Special thanks are due to all those who have contributed to Apache Storm -- 
whether through direct code contributions, documentation, bug reports, or 
helping other users on the mailing lists. Your efforts are much appreciated.
+
+
+Full Changelog
+---------
+
+ * STORM-790: Log "task is null" instead of letting worker die when task is 
null in transfer-fn
+ * STORM-796: Add support for "error" command in ShellSpout
+ * STORM-745: fix storm.cmd to evaluate 'shift' correctly with 'storm jar'
+ * STORM-130: Supervisor getting killed due to java.io.FileNotFoundException: 
File '../stormconf.ser' does not exist.

Reply via email to