Hama Change Log

Release 0.7.0 (unreleased changes)

  NEW FEATURES

   HAMA-942: DockFile for Hama (Hoseog Lee via edwardyoon)
   HAMA-894: Implement K-core algorithm (Jaegwon Seo via edwardyoon)
   HAMA-907: Add MaxFlow example (Zhengjun via edwardyoon)
   HAMA-915: Add Kryo serializer (edwardyoon)
   HAMA-726: Hama on Mesos (Jeff Fenchel via edwardyoon)
   HAMA-863: Implement SparseVector (Yexi Jiang)

  BUG FIXES

   HAMA-943: java.lang.IllegalAccessError occur at run time when set default "bsp.user.name" (Minho Kim via edwardyoon)
   HAMA-935: Doesn't operate if hostname doesn't match between AppMaster and Zookeeper quorum (Minho Kim via edwardyoon)
   HAMA-931: Make the HAMA base path configurable (Minho Kim via edwardyoon)
   HAMA-930: Add hama-yarn to binary distribution (Minho Kim via edwardyoon)  
   HAMA-848: Refactor YARN module for hadoop 2.x stable version (Minho Kim via edwardyoon)
   HAMA-906: Automatic activation of halted vertices without received messages (edwardyoon)
   HAMA-905: Fix Pi Estimator Example (Martin Illecker)
   HAMA-889: NonDefaultIterator of DenseDoubleVector never reaches the end (Yexi Jiang)
   HAMA-888: Add more test cases for DenseDoubleVector (Yexi Jiang)
   HAMA-885: Semi-Clustering is not producing expected output (Renil J via edwardyoon)

  IMPROVEMENTS
  
   HAMA-939: Refactoring which was implement using out-of-date status response (Minho Kim via edwardyoon)
   HAMA-955: Support UnsafeByteArrayInputStream and UnSafeByteArrayOutputStream (Minho Kim via edwardyoon)
   HAMA-944: Add JSON format option to fastgen command (Minho Kim via edwardyoon)
   HAMA-919: Manage messages per Vertex (edwardyoon)
   HAMA-923: add a toString() method for FloatArrayWritable and TextArrayWritable classes (edwardyoon)
   HAMA-921: Polish doSuperstep() function and VertexMessageIterable class (Anastasis Andronidis)
   HAMA-913: Add RPC implementation using netty(bsmin)  
   HAMA-914: Boolean flag (isCompressed) is required only when runtime compression is enabled (edwardyoon)
   HAMA-910: Web UI Improvement (Victor Lee via edwardyoon)
   HAMA-909: Improve Mesos Scheduler's Fault Tolerance (Jeff Fenchel via edwardyoon)
   HAMA-823: Remove javadoc warnings (Victor Lee via edwardyoon)  
   HAMA-886: Refactoring core.bundle package (edwardyoon)
   HAMA-899: Add getAdjacentPeerNames() that returns the names of locally adjacent peers (edwardyoon)
   HAMA-847: Vertex should provide Counters (edwardyoon)
   HAMA-568: Add faster synchronized collections for message queues (edwardyoon)

Release 0.6.4 - Mar 5, 2014

  NEW FEATURES

   HAMA-864: Fix/improve DoubleVector and DenseDoubleVector (Yexi Jiang)
   HAMA-842: Add persistent queue option to JobConf (edwardyoon)
   HAMA-839: Support NullWritable in Hama Pipes (Martin Illecker)    
   HAMA-837: Add sort behaviour to runtime partitioner (edwardyoon)
   HAMA-827: Add NamedVector (edwardyoon)
   HAMA-822: Add feature transformer interface to improve the power and flexibility of existing machine learning model (Yexi Jiang)
   HAMA-774: CompositeInputFormat in Hama (Martin Illecker)
   HAMA-815: Hama Pipes uses C++ templates (Martin Illecker)  

  BUG FIXES

   HAMA-868: Fix SemiClustering bugs (edwardyoon)
   HAMA-871: NPE when building core module due to gmaven-plugin (Martin Illecker) 
   HAMA-867: HAMA 0.7 doesn't work with HDFS 2X due to lack of libs (Skater Xu via edwardyoon)
   HAMA-862: Handling max tasks exception (edwardyoon)
   HAMA-860: Make aggregators start from the first superstep (Anastasis Andronidis)
   HAMA-857: Graph Combiners is wrongly implemented (edwardyoon)
   HAMA-845: The size() of Spilling Queue returns always numMessagesWritten (edwardyoon)
   HAMA-834: Fix KMeans example (Martin Illecker)
   HAMA-831: Support for multi records with same vertexID (edwardyoon)
   HAMA-830: KMeans and NeuralNetwork doesn't load config file (edwardyoon)
   HAMA-812: In local mode BSPJobClient.close throws Exception (Martin Illecker)
   HAMA-821: Fix bugs in KMeans example and make output more readable (edwardyoon)

  IMPROVEMENTS

   HAMA-880: Check whether input records are in order by vertex ID (edwardyoon)
   HAMA-879: Errors for messages with wrong destination should be more clear (Anastasis Andronidis via edwardyoon)
   HAMA-873: Display counters of job on master's web page (Saisai Shao via edwardyoon)
   HAMA-870: Runtime message compression in Bundle (edwardyoon)
   HAMA-869: Add Cloudera repository in maven pom file (Saisai Shao via edwardyoon)
   HAMA-856: Optimize BSPMessageBundle (edwardyoon)
   HAMA-853: Refactor Outgoing message manager (edwardyoon)
   HAMA-852: Add MessageClass property in BSPJob (Martin Illecker)
   HAMA-843: Message communication overhead between master aggregation and vertex computation supersteps (edwardyoon)
   HAMA-838: Refactor aggregators (Anastasis Andronidis)
   HAMA-783: Improve the InMemory verticesInfo implementations (edwardyoon)
   HAMA-829: Improve code and fix Javadoc warnings in org.apache.hama.pipes (Martin Illecker)
   HAMA-808: Hama Pipes Testcase (Martin Illecker)
   HAMA-828: Improve code, fix typo and modify unclear comment in org.apache.hama.ml.ann package (Yexi Jiang)
   HAMA-699: Add commons module (Martin Illecker)
   HAMA-818: Remove useless comments in GroomServer (edwardyoon)

Release 0.6.3 - October 11, 2013

  NEW FEATURES

   HAMA-807: Make aggregators skip supersteps (Anastasis Andronidis)
   HAMA-800: Hama Pipes Examples (Martin Illecker)
   HAMA-804: Create NeuralNetwork Example (Yexi Jiang)
   HAMA-795: Implement Autoencoder based on NeuralNetwork (Yexi Jiang)
   HAMA-767: Add vertex addition/removal APIs (Anastasis Andronidis via edwardyoon)
   HAMA-594: Semi-Clustering Algorithm Implementation (Renil Jeseph via edwardyoon)

  BUG FIXES

   HAMA-805: Problem initializing pipes in HamaStreaming (Martin Illecker)  
   HAMA-801: Snappy fails on Mac OS with JDK 1.7 (Anastasis Andronidis via tommaso)
   HAMA-789: BspPeer launched fail because port is bound by others (Suraj Menon via edwardyoon)
   HAMA-791: Fix the problem that MultilayerPerceptron fails to learn a good hypothesis sometimes. (Yexi Jiang)
   HAMA-782: The arguments of DoubleVector.slice(int, int) method will mislead the user. (Yexi Jiang)
   HAMA-780: New launched child processes by fault tolerance may not be able to contact each other (kennethxian)
   HAMA-772: When selected KeyValueTextInputFormat, workers get only one value for key (Ikhtiyor Ahmedov via edwardyoon)
   HAMA-776: localQueue is set as Send queue in init function of AbstractMessageManager (kennethxian)
   HAMA-769: Intermediate queue's close method is not called, clean work may be omitted (kennethxian)
   HAMA-771: Determining the count of active vertices (edwardyoon)
   HAMA-777: FunctionFactory does not work when create IdentityFunction (Yexi Jiang)

  IMPROVEMENTS

   HAMA-806: Make the description of NeuralNetwork example more clear (Yexi Jiang)
   HAMA-749: Build for C++ Pipes (Martin Illecker)
   HAMA-796: Add Vector multiply Matrix for DoubleVector as well as DenseDoubleVector. (Yexi Jiang)
   HAMA-770: Use a unified model to represent linear regression, logistic regression, MLP, autoencoder, and deepNets (Yexi Jiang)
   HAMA-671: Clean up Maven build scripts (edwardyoon)
   HAMA-765: Add apply method to Vector/Matrix (Yexi Jiang)
   HAMA-773: Matrix/Vector operation does not validate the input argument (Yexi Jiang)
   
  TASKS

   HAMA-792: Add testing datasets for ML package (Yexi Jiang)

Release 0.6.2 - June 26, 2013

  NEW FEATURES

   HAMA-681: Add Multi Layer Perceptron (Yexi Jiang via edwardyoon)
   HAMA-619: Hama Pipes (Martin Illecker via edwardyoon)

  BUG FIXES

   HAMA-756: Timing issue and file merging algorithm in PartitioningRunner make job fail (MaoYuan Xian via edwardyoon)
   HAMA-755: registerJob of ZKSyncBSPMasterClient makes a useless node in zookeeper (MaoYuan Xian via edwardyoon)
   HAMA-750: Fix bug of comma separated input paths (edwardyoon)

  IMPROVEMENTS

   HAMA-761: Improvement for GraphJobMessage comparation operation (MaoYuan Xian)
   HAMA-760: Add new features to existing Multi Layer Perceptron (Yexi Jiang via edwardyoon)
   HAMA-758: Send message to non-exist vertex makes the job fail (MaoYuan Xian via edwardyoon)
   HAMA-757: The partitioning job output should be un-splitable (MaoYuan Xian via edwardyoon)
   HAMA-754: PartitioningRunner should write raw records to partition files (edwardyoon)
   HAMA-707: BSPMessageBundle should be able to encapsulate messages serialized in ByteBuffer (surajsmenon) 
   HAMA-722: Messaging queue should construct sender and receiver queue (surajsmenon)

Release 0.6.1 - April 01, 2013

  NEW FEATURES

   HAMA-737: Add graph output writer (tjungblut)	   
   HAMA-736: Add one pass graph generator (tjungblut)
   HAMA-722: Messaging queue should construct sender and receiver queue. (surajsmenon)
   HAMA-721: Added spilling queue with combiner. (surajsmenon)
   HAMA-559: Added spilling queue. (surajsmenon)
   HAMA-700: BSPPartitioner should be configurable to be optional and allow input format conversion (surajsmenon)
   HAMA-524: Add SpMV example (Mikalai Parafeniuk via edwardyoon)
   HAMA-658: Add random symmetric sparse matrix generator (edwardyoon)

  BUG FIXES

   HAMA-739: WritableComparable doesn't work with IntWritable (tjungblut) 
   HAMA-716: Splits should be assigned based on PartitionID (edwardyoon)
   HAMA-712: PartitioningRunner should works for multiple input files (surajsmenon via edwardyoon)

  IMPROVEMENTS

   HAMA-740: DiskVerticesInfo are slow due to not buffered writes (tjungblut)
   HAMA-704: Optimization of memory usage during message processing (tjungblut)
   HAMA-735: Tighten the graph API (tjungblut)
   HAMA-714: Align format consistency between examples and generators (edwardyoon)
   HAMA-531: Reimplementation of partitioner (edwardyoon)

Release 0.6 - November 28, 2012

  NEW FEATURES

   HAMA-626: If number of bsp tasks are not specified, the bsp job cannot assume to get all the tasks in the cluster (edwardyoon)
   HAMA-651: Add a gradient descent BSP (Tommaso Teofili) 
   HAMA-601: Hama Streaming (tjungblut)

  BUG FIXES

   HAMA-678: Fix input splitting (tjungblut)
   HAMA-613: Scheduler kills job too silently when out of slots (Yuesheng Hu via edwardyoon)
   HAMA-647: Make the input spliter robustly (Yuesheng Hu via edwardyoon)
   HAMA-635: Number of vertices value is inconsistent among tasks (Yuesheng Hu via tjungblut)
   HAMA-633: Fix CI Failures (tjungblut)
   HAMA-631: Add "commons-httpclient-3.1.jar" (Paul Gyuho Song via edwardyoon)
   HAMA-608: LocalRunner should honor the configured queues (tjungblut)

  IMPROVEMENTS

   HAMA-644: Add getApproximateSize to BSPMessageBundle (edwardyoon)
   HAMA-655: Add Exception handling for parsing of vertex (edwardyoon)
   HAMA-646: Add deleting temporary files method in TestSubmitGraphJob (Yuesheng Hu via edwardyoon)
   HAMA-597: Split a GraphJobRunner into multiple classes (edwardyoon & tjungblut) 
   HAMA-557: Implement Checkpointing service in Hama (surajmenon)
   HAMA-587: Synchronization Client should provide API's to store and retrieve information among peers and BSPMaster (surajmenon)
   HAMA-610: Provision to define the task allocation strategy as a feature of job. (surajmenon)
   HAMA-611: Add loopbackMessage API call for MessageManager (surajmenon)
   HAMA-596: Optimize memory usage of graph job (tjungblut)
   HAMA-599: Improvement of network-based runtime partitioner (edwardyoon)
  
Release 0.5 - April 10, 2012 

  NEW FEATURES

   HAMA-547: Add K-Means to ML package (tjungblut)
   HAMA-591: Improve Pagerank (tjungblut) 
   HAMA-550: Implementation of Bipartite Matching (Apurv Verma via tjungblut)
   HAMA-588: Add voteToHalt() mechanism in Graph API (edwardyoon)
   HAMA-566: Add disk-based queue (tjungblut)
   HAMA-552: Add a sorted message queue (tjungblut)   
   HAMA-556: Graph package to support stopping the interations when the node changes are within the tolerance value as in the case of page rank (tjungblut)
   HAMA-508: Add clean plugin (Mikalai Parafeniuk via edwardyoon)
   HAMA-503: Chainable computations for fault tolerance (tjungblut)
   HAMA-517: Add documentation for Graph package (edwardyoon)
   HAMA-518: Add MinIntCombiner to SSSP example (edwardyoon)
   HAMA-367: Runtime Compression of BSP Messages to Improve the Performance (Apurv Verma via tjungblut)
   HAMA-501: Add Avro RPC (tjungblut)
   HAMA-409: Add basic Graph interfaces and GraphJobRunner (edwardyoon)

  BUG FIXES
   
   HAMA-628: DistributedCache - getLocalCacheFiles returns NULL in Pseudo Distributed Mode (Martin Illecker via tjungblut)
   HAMA-621: Input Splits are not initialized for a job (surajmenon via tjungblut)
   HAMA-595: Fix NullPointerException in Task Scheduler (surajmenon)

  IMPROVEMENTS
   
   HAMA-593: Improve RPC scalability (Mayank Mishra via tjungblut)
   HAMA-584: Change Pagerank IO format to human-readable text for easy debug (tjungblut via edwardyoon)
   HAMA-590: Fix TestSubmitGraphJob tests (tjungblut)
   HAMA-582: Task's error logs should be displayed on client-end when job is failed (edwardyoon)
   HAMA-580: Improve input of graph module (tjungblut)
   HAMA-579: Add multiple aggregators (tjungblut)
   HAMA-576: Improve sendMessages in Vertex (tjungblut)
   HAMA-575: Generify graph package (tjungblut)    
   HAMA-571: Provide graph repair function in GraphJobRunner (tjungblut)
   HAMA-521: Improve message buffering to save memory (Thomas Jungblut via edwardyoon)
   HAMA-494: Remove hard-coded webapp path in HttpServer (edwardyoon)
   HAMA-562: Record Reader/Writer objects should be initialized (edwardyoon)
   HAMA-555: Separate bin and src distributions (edwardyoon)
   HAMA-548: Update 0.23.0-SNAPSHOT to 0.23.1 in pom file of yarn module (edwardyoon)
   HAMA-545: Include the API and other docs in the Hama release (Suraj Menon via edwardyoon)
   HAMA-543: Make best effort to start BSP Task on the host where the input split is located. (Suraj Menon via edwardyoon)
   HAMA-527: Update commons-configuration version (edwardyoon)
   HAMA-499: Refactor clearZKNodes() in BSPMaster (Apurv Verma via tjungblut)
   HAMA-485: Fill Counters with useful information (tjungblut)
   HAMA-497: Switch the trunk to Hadoop 1.0 based (edwardyoon) 
   HAMA-445: Make configurable checkpointing (Suraj Menon via edwardyoon)
   HAMA-498: BSPTask should periodically ping its parent (Suraj Menon via edwardyoon)
   HAMA-513: Move message classes to somewhere from bsp package. (tjungblut)
   HAMA-484: Counters should be accessible in client (tjungblut)    
   HAMA-483: Remove old and deprecated BSP API (tjungblut)    
   HAMA-514: Add maven-gpg-plugin to parent POM file (edwardyoon)
   HAMA-510: Add sendMessageToNeighbors() to Vertex (tjungblut)
   HAMA-502: Message API Improvement (edwardyoon)
  
Release 0.4 - February 5, 2012

  NEW FEATURES

   HAMA-493: Provide text to seq-file utils for graph examples (tjungblut)
   HAMA-491: Add dist module to generate release tarball (edwardyoon)
   HAMA-451: Show Supersteps in waitForCompletion in YARN (tjungblut) 
   HAMA-479: Add Counters to Hama Jobs (edwardyoon) 
   HAMA-454: Add Zookeeper as synchronization service to YARN (tjungblut)
   HAMA-258: Add Input Output system (edwardyoon)
   HAMA-458: Add Message Combiner (edwardyoon)
   HAMA-456: Add getPeerName(int index) and getNumPeers() (edwardyoon)
   HAMA-431: MapReduce NG integration (tjungblut)
   HAMA-449: Add tasks num of Job to web UI (edwardyoon)
   HAMA-428: Create a separate maven module and add basic structure for the Graph (edwardyoon)
   HAMA-398: Add CheckPointer and saving messages for future fault-tolerant systems (ChiaHung Lin via edwardyoon)

  BUG FIXES

    HAMA-506: Error reading child output (edwardyoon)
    HAMA-488: PageRank refactor and fix bugs (tjungblut via edwardyoon)
    HAMA-489: Check port availability before forking child process (edwardyoon)
    HAMA-474: ClusterStatus.getTasks() always returns 0 (edwardyoon)
    HAMA-472: The task should be killed if it fails to initialize (edwardyoon)
    HAMA-465: LocalJobRunner should support combiners and IO (tjungblut)
    HAMA-459: GroomServerStatus.countTask() always returns 1 (edwardyoon)
    HAMA-432: Add statusUpdate() method to BSPPeerProtocol (edwardyoon)
    HAMA-437: PiEstimator is not working in Local Mode (Thomas Jungblut)
    HAMA-387: Fixed barrier synchronization problem (ChiaHung Lin via edwardyoon)
    HAMA-436: Web Interface does not update Superstep Count (Thomas Jungblut)
    HAMA-429: Groom statuses should be reported periodically (ChiaHung Lin via edwardyoon)
    HAMA-421: Maven build issues using proxy (Joe Crobak via edwardyoon)

  IMPROVEMENTS
  
    HAMA-460: Website Improvements (Suraj Menon via edwardyoon)
    HAMA-470: The web UI should display the version of running Hama cluster. (Suraj Menon via edwardyoon)
    HAMA-475: Add unit test for SSSP example (edwardyoon)
    HAMA-481: Add reopen to peer (tjungblut) 
    HAMA-471: Peer names should be sorted by task id (tjungblut)
    HAMA-461: Extract a message service from BSPPeer (tjungblut)
    HAMA-463: Integrate checkpoint with bsp task (chl501)
    HAMA-457: Refactoring of BSPPeerImpl (tjungblut)
    HAMA-448: Restructure BSP API (Thomas Jungblut via edwardyoon)
    HAMA-441: Logging tasks to distinct files (Thomas Jungblut)
    HAMA-423: Improve and Refactor Partitioning in the Examples (Thomas Jungblut via edwardyoon)
    HAMA-422: Update HttpServer to use QueuedThreadPool (edwardyoon)
    HAMA-414: Move BSPPeer constructor into child process (edwardyoon)
    HAMA-419: Migrating site from forrest to maven (edwardyoon)
    
Release 0.3 - July 28, 2011

  NEW FEATURES

    HAMA-395: Add PageRank example (Thomas Jungblut via edwardyoon)
    HAMA-372: Add Web UI for Job monitoring (Thomas Jungblut via edwardyoon)
    HAMA-359: Add shortest path finding example (Thomas Jungblut via edwardyoon)
    HAMA-374: Add LocalBSPRunner (Thomas Jungblut via edwardyoon)
    HAMA-380: Add BSPMessageBundle to reduce RPC overhead (Miklos Erdelyi via edwardyoon)
    
  BUG FIXES
 
    HAMA-405: Fix NoClassDefFoundErrors (Joseph Boyd via edwardyoon)
    HAMA-404: LocalBSPRunner returns wrong superstep numbers (Thomas Jungblut via edwardyoon)
    HAMA-396: BSPPeer's ZK object should be constructed with listed quorum servers (edwardyoon)
    HAMA-391: Refactor Exception.printStackTrace() to LOG.error(Exception) (Thomas Jungblut via edwardyoon)
    HAMA-393: Add environment variable 'HAMA_HEAPSIZE' to hama-env.sh (edwardyoon)
    
  IMPROVEMENTS

    HAMA-394: Refactor 'hama' script and pom.xml (edwardyoon)
    HAMA-388: Add a profile 'forrest' to generate the website (edwardyoon)
    HAMA-392: Make zk session-timeout configurable (edwardyoon)
    HAMA-389: Make the thread pool size user configurable (Thomas Jungblut via edwardyoon)
    HAMA-386: Removing 'System.arraycopy(...)' call from ByteMessage (edwardyoon)
    HAMA-379: Setting default values to job.setNumBspTask() (Thomas Jungblut via edwardyoon)
    HAMA-376: Refactor BSPMaster and GroomServer (ChiaHung Lin via edwardyoon)
    HAMA-382: Refactor HAMA POM (Tommaso Teofili)
    HAMA-362: Re-design a new data structure of BSPMessage (Thomas Jungblut via edwardyoon)   
    HAMA-369: Reduce overhead of local communications (Miklos Erdelyi via edwardyoon)
    HAMA-371: Add a parameter to build.xml to allow developers deciding to reset content in conf files or not when building artifacts (ChiaHung Lin via edwardyoon)

Release 0.2 - June 2, 2011

  NEW FEATURES

    HAMA-339: Add job status command (edwardyoon)
    HAMA-337: Provide Apache Maven building support (Tommaso Teofili via edwardyoon)
    HAMA-304: Allow BSP peers to get a list of all other peers executing tasks of the same job (Filipe Manana via edwardyoon)
    HAMA-267: Add command-line interface for job management (hyunsik via edwardyoon)
    HAMA-279: Add "serialize printing" to examples (edwardyoon)
    HAMA-272: Hama/Zookeeper Integration (edwardyoon)
    HAMA-265: Add example Pi estimatior based on BSP (edwardyoon)
    HAMA-266: Add Ant target to generate the UML class diagrams (edwardyoon)
    HAMA-209: Add example for Cosine Similarity Matrix (edwardyoon)
    HAMA-195: Interface of the bsp (hyunsik via edwardyoon)
    HAMA-185: Finds the eigenvalues and eigenvectors associated with the symmetric matrix A (samuel)
    HAMA-171: Find the maximum absolute row sum using MapReduce (edwardyoon)
    HAMA-174: Compute the transpose of a matrix (edwardyoon)
    HAMA-162: Add Graph using Sparse Matrix (edwardyoon)
    HAMA-151: Add multiplication example of file matrices (edwardyoon)
    HAMA-145: Add privacy policy page (edwardyoon)
    HAMA-83: 2D sqaure blocking for dense matrix multiplication (edwardyoon)
    HAMA-104: Add getNumMap/reduceTasks to HamaConfiguration (edwardyoon)
    HAMA-92: Add subMatrix() to Matrix (edwardyoon)
    HAMA-84: Add a writable comparable for BlockID (edwardyoon) 
    HAMA-81: Add subVector(int i0, int i1) to Vector (edwardyoon)
    Hama-80: Add identity(int m, int n) which returns identity matrix (edwardyoon) 
    HAMA-62: Hama Shell Implementation (samuel via edwardyoon)
    HAMA-61: Load / save matrices from HTable (edwardyoon)
    HAMA-51: Add get/setRowAttribute() method (edwardyoon)
    HAMA-13: Matrix multiplication (edwardyoon)
    HAMA-48: Add getColumn(int column) method which returns column vector (edwardyoon)
    HAMA-49: Add iterator() method to vector (edwardyoon)
    HAMA-43: Color Hama Logo (Morakot via chanwit)
    HAMA-37: Add forrest build to Hudson patch build script (edwardyoon)
    HAMA-34: Hudson/Jira Intergration (edwardyoon)
    HAMA-36: Add svn information to website (edwardyoon)
    HAMA-33: Add set() method (edwardyoon)
    HAMA-30: Add scaling method to Vector (edwardyoon)
    HAMA-25: Add matrix addition example (edwardyoon)
    HAMA-23: Add Hama configuration files (edwardyoon)
    HAMA-6: Add a 'who we are' page (edwardyoon)
    HAMA-7: Add some information for a new comer (edwardyoon)
    HAMA-1: Create the Hama web site (edwardyoon via Ian Holsman)
    HAMA-2: The intial donation of Hama from the google project (edwardyoon)

  IMPROVEMENTS
 
    HAMA-366: Remove unnecessary dependencies (Tommaso Teofili)
    HAMA-365: TestBSPPeer doesn't check if the correct number of messages have been received (Miklos Erdelyi via edwardyoon)
    HAMA-298: Implement the kill method for JobInProgress (edwardyoon)
    HAMA-353: Add "random communication benchmark" tool (edwardyoon)
    HAMA-351: Improvement of lack of info- about the output of examples (edwardyoon)
    HAMA-348: Remove hard-coded javaOpts (edwardyoon)
    HAMA-347: Add implementation of umbilical interface (edwardyoon)
    HAMA-346: Modify MniCluster so that developers can benefit when testing using Junit (ChiaHung Lin via edwardyoon)
    HAMA-340: Implementation of job submit command (edwardyoon)
    HAMA-278: Few minor refactoring (edwardyoon)
    HAMA-336: The all taskid variable's type should be declared as a TaskAttemptID (edwardyoon)
    HAMA-331: Removing JobInProgressListener and adding JobInitThread to BSPMaster (edwardyoon)
    HAMA-334: Removing "java5.home" env key from build script. (edwardyoon)
    HAMA-332: Renaming some members in BSPMaster to follow the Hama terminology (Filipe Manana via edwardyoon)
    HAMA-329: Add taskNum argument to pi estimator (edwardyoon)
    HAMA-313: Remove LocalJobRunner (edwardyoon)
    HAMA-321: Allows user to set the number of tasks (edwardyoon) 
    HAMA-282: Add superstep counter (Filipe Manana via edwardyoon)
    HAMA-327: Add overview for javadoc (edwardyoon)
    HAMA-325: Add package.html to each package and few comments (edwardyoon)
    HAMA-322: JUnit test threads with GroboTestingJUnit (Filipe Manana via edwardyoon)
    HAMA-323: Remove generic warnings (edwardyoon)
    HAMA-254: Add news about rid of MapReduce and Hbase (edwardyoon)
    HAMA-320: Add twitter widget to website (edwardyoon)
    HAMA-300: Refactoring launchTask() method in GroomServer (edwardyoon)
    HAMA-311: Add unit tests for IPC package (edwardyoon)
    HAMA-312: Add serialize printing to ExampleDriver (edwardyoon)
    HAMA-309: Add unit tests for Bytes utilities (edwardyoon)
    HAMA-299: Remove unused field 'task' from GroomServer (edwardyoon)
    HAMA-297: Add missing Apache License header to source files. (edwardyoon)
    HAMA-268: Implement BSPMaster's all methods extended from JobSubmissionProtocol (hyunsik via edwardyoon)
    HAMA-295: Removing HBase dependency (edwardyoon)
    HAMA-294: Change log level of "Got heartbeatResponse.." messages to debug (edwardyoon)
    HAMA-256: Removing M/R and HBase based implementations (edwardyoon)
    HAMA-293: Add starter classes for ZooKeeper, BSPMaster and GroomServer (Filipe Manana via edwardyoon)
    HAMA-286: Task progress should be monitored (eddieyoon)
    HAMA-287: BSPMaster should use the bsp.master.port property when creating its InetSocketAddr instance (Filipe Manana via edwardyoon)
    HAMA-283: Removing duplicate code (Filipe Manana via edwardyoon)
    HAMA-277: Add default number of bsp task (edwardyoon)
    HAMA-273: Implement killJob() method for local job (edwardyoon)
    HAMA-271: Add LocalJobRunner (edwardyoon)
    HAMA-264: Moving BlockID, Pair classes to examples package (edwardyoon)
    HAMA-269: Add getter for serverName to BSPPeerInterface (edwardyoon)
    HAMA-257: Design BSP program code interface (edwardyoon)
    HAMA-261: Remove meaningless unit tests (edwardyoon)
    HAMA-253: Change the blog link url (edwardyoon)
    HAMA-247: Discuss / Refactor HamaMaster and GroomServer (hyunsik)
    HAMA-239: Remove unused class (edwardyoon)
    HAMA-237: Add project blog link on website (edwardyoon)
    HAMA-236: Add recent news on website (edwardyoon)
    HAMA-232: Add file multiplication example (edwardyoon)
    HAMA-226: Add benchmarking tool of eigenvalue operation (edwardyoon)
    HAMA-223: Add simple admin tool for manage the temporary tables (edwardyoon)
    HAMA-202: Replacement for deprecated API of Map/Reduce (edwardyoon)
    HAMA-206: Replacement of JacobiEigenValueMap/Reduce (edwardyoon)
    HAMA-217: Replacement of Block Multiplication Map/Reduce (edwardyoon)
    HAMA-205: Replacement of NormMap/Reduce (edwardyoon)
    HAMA-207: Replacement of Mat-Mat addition Map/Reduce (edwardyoon)
    HAMA-208: Replacement of vector-matrix multiplication MapReduce (edwardyoon)
    HAMA-216: Removing JobManager in util package (edwardyoon)
    HAMA-215: Removing hama shell from version 0.2 (edwardyoon)
    HAMA-204: Replacement of TransposeMap/Reduce (edwardyoon)
    HAMA-213: Replacement of TableReadMapper (edwardyoon)
    HAMA-203: Replacement of RandomMatrixMap/Reduce (edwardyoon)
    HAMA-197: Replacement for deprecated API of Hbase (edwardyoon)
    HAMA-188: Upgrade dependencies for hadoop/hbase 2.0 (edwardyoon)
    HAMA-192: Refactor top-level package (edwardyoon)
    HAMA-189: Update website (edwardyoon)
    HAMA-187: Add matrix subtraction test case (edwardyoon)
    HAMA-186: Add density option for random matrix (edwardyoon)
    HAMA-171: Implementation of Matrix.Norm (samuel)
    HAMA-178: Add example of norm (edwardyoon)
    HAMA-158: Implementation of random sparse matrix (edwardyoon)
    HAMA-164: Example for C = Alpha*B + A (edwardyoon)
    HAMA-154: Combine multi-mapreduce jobs into a single mapreduce job while computing (samuel via edwardyoon)
    HAMA-152: Replace MapWritable to hadoop.io.MapWritable (edwardyoon)
    HAMA-109: Implement add(double alpha, Matrix B) (edwardyoon)
    HAMA-150: Refactor blockingMapRed (edwardyoon)
    HAMA-148: Implement of set(double alpha, Matrix B) (edwardyoon)
    HAMA-100: Implement of set(Matrix B) (edwardyoon)
    HAMA-144: GetProgress during MR over a matrix (samuel)
    HAMA-129: Improving speed of matrix multiplication (edwardyoon)
    HAMA-142: Trunk doesn't work for large matrices (edwardyoon)
    HAMA-143: Improve of random_mapred() (edwardyoon)
    HAMA-138: To order, left pad with zeroes to integer key (edwardyoon)
    HAMA-135, HAMA-137: Refactor mapred, I/O package (edwardyoon)
    HAMA-134: We don't need to fill C with zeros (edwardyoon)
    HAMA-131: Add argument for the number of blocks (edwardyoon)
    HAMA-113: Random matrix generator on map/reduce (edwardyoon)
    HAMA-118: Add getting started page link (edwardyoon)
    HAMA-117: Move bytesToSubMatrix/subMatrixToBytes method to submatrix class from BytesUtil (edwardyoon)
    HAMA-114: Remove unwanted code (edwardyoon)
    HAMA-107: Blocking job should be a map/reduce job (samuel via edwardyoon)
    HAMA-99: Implement setColumn(int column, Vector vector) (edwardyoon)
    HAMA-108: Implement add(int i, int j, double value) (edwardyoon)
    HAMA-103: Reduce an rows of intermediate to improve the multiplication performance (edwardyoon)
    HAMA-88: DenseMatrix.close should not delete the table that are aliased in HamaAdmin. (samuel via edwardyoon)
    HAMA-89: Exception Handling of a ParseException (samuel via edwardyoon)
    HAMA-77: clear the matrices in hbase after quiting the shell (samuel via edwardyoon)
    HAMA-28: Implement Vector.add() method (edwardyoon)
    HAMA-78: Separate Interface and Implementation for HamaAdmin (edwardyoon)
    HAMA-76: Remove load() since it duplicated with constructor (edwardyoon)
    HAMA-74: set the number of map/reduce task on the shell (samuel via edwardyoon)
    HAMA-73: Add setNumMap/ReduceTasks() to HamaConfiguration (edwardyoon)
    HAMA-60: Add an arguments for handle parallel degree to MatrixAddition (edwardyoon)
    HAMA-68: Shell parser JUnit test cases (samuel via edwardyoon)
    HAMA-65: Remove the information of an inactive committers (edwardyoon) 
    HAMA-58: Remove duplicated code (edwardyoon)
    HAMA-56: Add setRow(int row, Vector vector) method to matrix (edwardyoon)
    HAMA-39: IO operations should throws an IOException (edwardyoon)
    HAMA-52: Fixture setup (edwardyoon)
    HAMA-42: Replace ImmutableBytesWritable to IntWritable (edwardyoon)
    HAMA-44: Remove findbugs warnings (edwardyoon)
    HAMA-40: Rename MatrixInterface to Matrix (edwardyoon)
    HAMA-14: Using Java 6 (edwardyoon)
    HAMA-22: Add IRC channel information to website (edwardyoon)
    HAMA-41: Add some tests (edwardyoon)
    HAMA-38: Remove AbstractBase and make a new NumericUtil (edwardyoon)
    HAMA-20: Adding license header to a whole code base
    HAMA-31: Refactor VectorWritable (edwardyoon)
    HAMA-29: Replace Matrix(Conf, Text) to Matrix(Conf, String) (edwardyoon)
    HAMA-27: Replace table.get(Text, Text) to table.get(String, String) (edwardyoon)
    HAMA-12: Matrix interface re-arrangement (edwardyoon)
    HAMA-21: Implement get(int index) method (edwardyoon)
    HAMA-19: Remove vector-norms enum to interface from implementation (edwardyoon)
    HAMA-17: Vector to Writable conversion (edwardyoon)
    HAMA-15: Logo Alignment (edwardyoon) 
    HAMA-10: Refactor the mapred package for the latest version of dependencies (edwardyoon)  
    HAMA-9: Upgrade dependencies (edwardyoon)

  BUG FIXES
  
    HAMA-360: HAMA_MANAGES_ZK option doesn't work (edwardyoon)
    HAMA-355: Intermittent conflicts of enterBarrier() and leaveBarrier() (edwardyoon)
    HAMA-352: Can't send one more messages on to same server in bsp method (edwardyoon)
    HAMA-350: Add task log appender and Fix log4j rootLogger (edwardyoon)
    HAMA-345: Add execution time calculator to Pi job (edwardyoon)
    HAMA-344: Task successfully finished but system re-attempt (edwardyoon)
    HAMA-343: Fix Maven test fails (Tommaso Teofili via edwardyoon)
    HAMA-338: Username and Job-manager states are not collectly displayed (edwardyoon)
    HAMA-330: BSP program doesn't work when the desired tasks smaller than cluster size (edwardyoon)
    HAMA-326: GroomServer should wait until a job finishes (edwardyoon)
    HAMA-324: Removing javadoc warnings and useless libraries (edwardyoon)
    HAMA-322: Make sure failed assertions on test threads are reported (Filipe Manana via edwardyoon)  
    HAMA-316: Renaming and Refactoring methods in BSPPeerInterface (Filipe Manana)
    HAMA-319: groom servers Map in HeartbeatResponse not correctly serialized (Filipe Manana)
    HAMA-317: Remove HBASE_CONF_DIR and HBASE_HEAPSIZE properties (edwardyoon)
    HAMA-315: Uncomment code in checkLocalDirs() (edwardyoon)
    HAMA-314: Remove unnecessary methods from HamaConfiguration (edwardyoon)
    HAMA-307: BSPMaster - job ID counter is not read and updated atomically (Filipe Manana via edward)
    HAMA-305: Redundant use of synchronize keyword (Filipe Manana via edward)
    HAMA-301: Fix unit test fail bug (edwardyoon)
    HAMA-303: slave.host.name is superceded by bsp.peer.hostname (Filipe Manana via edwardyoon)
    HAMA-296: Fix warning about deprecated method (edwardyoon)
    HAMA-291: bsp.groom.port is unnused and superseeded by bsp.peer.port (Filipe Manana via edwardyoon)
    HAMA-288: Typo might lead to null tasks getting assigned to groom servers (Filipe Manana via edwardyoon)
    HAMA-280: Fix warnings (Filipe Manana via edwardyoon)
    HAMA-270: wrong sequence of readFields() of ClusterStatus (hyunsik)
    HAMA-260: Current version command of script is linked unknown class (edwardyoon)
    HAMA-250: Add --no-check-certificate option to 'wget' command lines (edwardyoon)
    HAMA-242: Wrong assignment of default setting inside BSPPeer constructor (hyunsik)
    HAMA-246: Current shell scripts for bsp daemon have several problems. (hyunsik)
    HAMA-238: Example fail when performing sparse matrices addition (edwardyoon)
    HAMA-225: Jacobi iteration is in a infinite loop (edwardyoon)
    HAMA-214: Can't run the examples (edwardyoon)
    HAMA-190: Bug in Matrix-Vector multiplication (edwardyoon)
    HAMA-183: When we construct the matrix, dimensions should be defined. (edwardyoon)
    HAMA-172: Vector.add(Vector v) throw the Index out of bounds exception when they are different (edwardyoon)
    HAMA-169: Vector's first location bug fixed, getNormInf() and getNorm2Robust() are implemented (edwardyoon)
    HAMA-155: When out of index, should throw exception (edwardyoon)
    HAMA-147: Fix typos (edwardyoon)
    HAMA-140: In subMatrix(), Scanner should be closed (edwardyoon)
    HAMA-120: remove findbugs warning in shell package (samuel via edwardyoon)
    HAMA-130: Computing Block's range will miss some cell during blocking (samuel)
    HAMA-126: In random_mapred, (m) should be (m-1) since start from 0. (edwardyoon)
    HAMA-116: ArrayIndexOutOfBoundsException at BlockingMapRed (samuel)
    HAMA-112: DenseMatrix.get(i, j) should returns zero when entry is null (edwardyoon)
    HAMA-106: SubMatrix should be able to get row, column size (edwardyoon)
    HAMA-98: change '~=' operation to use `echo $f | grep 'examples$'` (samuel via edwardyoon)
    HAMA-64: Bytes and Double convert (edwardyoon)
    HAMA-55: Write dimension attributes when job completed (edwardyoon)
    HAMA-54: Split doesn't split by map task num (edwardyoon)
    HAMA-53: NullPointerException on distributed cluster (edwardyoon)
    HAMA-26: hama-formatter.xml should be removed (edwardyoon)  
    HAMA-25: Vector.get() returns double (edwardyoon)
