2014-08-02   Shuo Chen  <chenshuo@chenshuo.com>
  * Singleton supports 'no_destroy'.
  * Get tcp_info in TcpConnection.
  * Add CurrentThread::tidStringLength().
  * Fix bug about TcpClient life time. More checks.
  * Version 1.0.3

2014-06-30   Shuo Chen  <chenshuo@chenshuo.com>
  * Fix boundary check in Buffer::findEOL() by <renxingsong>.
  * Fix typos in InetAddress.cc by <huangml.zh>.
  * Fix 32-bit integer overflow bug in time_client by <guochy2012>.
  * Update comments in Buffer::readFd() by <huahang>.
  * Add ThreadPool::setThreadInitCallback().
  * Rename GzipStream to ZlibStream.
  * Version 1.0.2

2014-04-10   Shuo Chen  <chenshuo@chenshuo.com>
  * More ProcessInfo functions.
  * Add GzipFile (in C++11 only) and GzipOutputStream.
  * Add SystemInspector.
  * muduo::Threads now sets thread name with prctl().
  * Version 1.0.1

2014-03-12   Shuo Chen  <chenshuo@chenshuo.com>
  * Add TCP and RPC balancer examples
  * Version 1.0.0

2014-03-05   Shuo Chen  <chenshuo@chenshuo.com>
  * Introduce class StringArg for passing C-style string arguments.
  * Support localtime in logging.
  * Version 1.0.0-rc2

2014-02-22   Shuo Chen  <chenshuo@chenshuo.com>
  * Default to release build.
  * Version 1.0.0-rc1

2014-02-22   Shuo Chen  <chenshuo@chenshuo.com>
  * Add base/WeakCallback.h
  * Add TcpConnection::forceCloseWithDelay().
  * Add InetAddress::resolve for sync DNS resolving.
  * Add simple Protobuf codec for single message type.
  * Add ACE ttcp and logging examples.
  * Fix race conditoin in RpcChannel::CallMethod().
  * Version 0.9.8

2014-01-11   Shuo Chen  <chenshuo@chenshuo.com>
  * Add TcpConnection::forceClose().
  * Add fastcgi nginx.conf example
  * Fix iterator invalidation in hub.cc.
  * Version 0.9.7

2013-10-21   Shuo Chen  <chenshuo@chenshuo.com>
  * Minor fixes.
  * Version 0.9.6

2013-08-31   Shuo Chen  <chenshuo@chenshuo.com>
  * Add C++11 rvalue overloads for boost::function parameters
  * Add PerformanceInspector, support remote profiling with gperftools
  * Add examples of memcached server and client
  * Version 0.9.5

2013-07-28   Shuo Chen  <chenshuo@chenshuo.com>
  * Protobuf RPC wire protocol changed,
    package name removed in 'service' field.
  * Add roundtrip_udp as a UDP example
  * More inspect
  * Fix Connector::stop()
  * Fix for protobuf 2.5.0
  * Version 0.9.4

2013-05-11   Shuo Chen  <chenshuo@chenshuo.com>
  * ThreadPool can be blocking
  * Support SO_REUSEPORT, added in kernel 3.9.0
  * Fix Mutex::isLockedByThisThread()
  * Version 0.9.3

2013-03-22   Shuo Chen  <chenshuo@chenshuo.com>
  * Fix bugs
  * Add Sudoku client
  * Version 0.9.2

2013-01-16   Shuo Chen  <chenshuo@chenshuo.com>
  * Fix bug introduced in dd26871
  * Version 0.9.1

2013-01-09   Shuo Chen  <chenshuo@chenshuo.com>
  * Add single thread concurrent download example in examples/curl.
  * Add distributed word counting example.
  * Add simple FastCGI example.
  * Fix HttpRequest for empty header value, contributed by SeasonLee
  * Fix Connector destruction
  * Version 0.9.0

2012-11-06   Shuo Chen  <chenshuo@chenshuo.com>
  * Version for the book
  * Fix Buffer::shrink()
  * Fix race condition of ThreadPool::stop()
  * Version 0.8.2

2012-09-30   Shuo Chen  <chenshuo@chenshuo.com>
  * Add Channel::remove()
  * Logger::SourceFile supports char*
  * Fix for g++ 4.7
  * Version 0.8.1

2012-09-06   Shuo Chen  <chenshuo@chenshuo.com>
  * More Buffer member functions, contributed by SeasonLee
  * Add unit tests for Buffer
  * Fix wait condition in AsyncLogging::threadFunc()
  * Rename fromHostPort to fromIpPort
  * Add hash_value for shared_ptr
  * Add TcpConnection::getMutableContext()
  * Remove unnecessary code, header
  * Add another example in idleconnection
  * Version 0.8.0

2012-06-26   Shuo Chen  <chenshuo@chenshuo.com>

  * Add TimeZone class and unit tests.
  * Inline Buffer::appendInt32() and Buffer::peekInt32().
  * Catch exception in Thread::runInThread().
    Rethrow in catch(...) to make pthread_cancel() working.
  * Avoid deleting incomplete types.
  * Replace delete with boost::ptr_vector
  * Destructs ThreadLocalSingleton
  * Replace __thread object with ThreadLocalSingleton in examples/asio/chat/
  * Fix compile with g++ 4.6
  * With armlinux.diff, muduo compiles on Raspberry Pi with g++ 4.5.
  * Version 0.7.0

2012-06-11   Shuo Chen  <chenshuo@chenshuo.com>

  * Put hostname as part of log file name.
  * Extract muduo/base/CurrentThread.h
  * Optimize logging for thread id and source filename.
  * Add BlockingQueue_bench, improve Thread_bench.
  * Add examples/zeromq, for round-trip latency tests.
  * Demonstrate HighWaterMark callback and weak callback in tcp tunnel.
  * Fix chat codec for invalid length.
  * Version 0.6.0

2012-06-03  Shuo Chen  <chenshuo@chenshuo.com>

  * Replace std::ostream with LogStream.
  * Add LogFile and AsyncLogging.
  * Set SO_KEEPALIVE by default.
  * Add HighWaterMark callback to TcpConnection.
  * Add EventLoop::getEventLoopOfCurrentThread(),
    Add ThreadInitCallback to EventLoopThreadPool.
  * Add asio_chat_server_threaded_highperformance
  * Version 0.5.0

2012-05-18  Shuo Chen  <chenshuo@chenshuo.com>

  * Add FileUtil.
  * Add new functions in ProcessInfo
  * Add example for curl.
  * Add add RPC meta service proto.
  * Add loadtest for asio chat.
  * Version 0.3.5

2012-03-22  Shuo Chen  <chenshuo@chenshuo.com>

  * Add example for async rpc (resolver).
  * Install muduo_cdns
  * Version 0.3.4

2012-03-16  Shuo Chen  <chenshuo@chenshuo.com>

  * Remove net/protorpc2
    moved to http://github.com/chenshuo/muduo-protorpc
  * Install EventLoopThreadPool.h, rpc.proto and rpc.pb.h
  * Version 0.3.3

2012-03-11  Shuo Chen  <chenshuo@chenshuo.com>

  * Add asynchronous DNS stub resolver based on c-ares.
    See also https://github.com/chenshuo/muduo-udns
  * Replace string with StringPiece for function parameters.
  * Change default log level from DEBUG to INFO,
    set MUDUO_LOG_DEBUG=1 to revert.
  * Install Channel.h
  * Version 0.3.2

2012-03-01  Shuo Chen  <chenshuo@chenshuo.com>

  * Support multi-threaded http server.
  * Do not install SocketsOps.h
  * Version 0.3.1

2012-02-24  Shuo Chen  <chenshuo@chenshuo.com>

  * Support Keep-Alive for HTTP/1.0.
  * Check return value of pthread_create.
  * Minor fixes (set TcpNoDelay, stop() in ThreadPool::dtor)
  * Version 0.3.0

2011-09-18  Shuo Chen  <chenshuo@chenshuo.com>

  * EventLoop now supports cancelling timer.
  * Add two examples of asio chat server, demo copy-on-write
  in multithreaded program.
  * Version 0.2.9

2011-09-04  Shuo Chen  <chenshuo@chenshuo.com>

  * Refactored RPC implementation of version 1 and 2,
  programming interface differ, interoperable.
  version 2 is incomplete yet.
  * Find protobuf with cmake find_package().
  * Version 0.2.8

2011-09-03  Shuo Chen  <chenshuo@chenshuo.com>

  * Add a proof of concept implementation of Protobuf RPC.
  * Version 0.2.7

2011-06-27  Shuo Chen  <chenshuo@chenshuo.com>

  * Fix decoding of Sudoku request.
  * Backport to older Linux.
  * Add BoundedBlockingQueue
  * Version 0.2.6

2011-06-15  Shuo Chen  <chenshuo@chenshuo.com>

  * Add examples/sudoku.
  * Add thread benchmark.
  * Version 0.2.5

2011-06-02  Shuo Chen  <chenshuo@chenshuo.com>

  * Add examples/shorturl.
  * Version 0.2.4

2011-05-24  Shuo Chen  <chenshuo@chenshuo.com>

  * Fix warnings on Arch Linux (GCC 4.6.0), thanks to ifreedom
  * Add CMake install instructions, thanks to ifreedom
  * Fix warnings on 32-bit Linux, thanks to highshow
  * Version 0.2.3

2011-05-15  Shuo Chen  <chenshuo@chenshuo.com>

  * Changes from reactor tutorial
  * Version 0.2.2

2011-05-07  Shuo Chen  <chenshuo@chenshuo.com>

  * Try making TcpClient destructable
  * Add demux in examples/multiplexer
  * Add examples/socks4a
  * Changes for reactor tutorial
  * Version 0.2.1

2011-04-27  Shuo Chen  <chenshuo@chenshuo.com>

  * Add kick idle connection example in examples/idleconnection.
  * Add test harness to examples/multiplexer
  * Replace std::list with std::set in TimerQueue.
  * Version 0.2.0

2011-04-11  Shuo Chen  <chenshuo@chenshuo.com>

  * Add Google Protobuf codec and dispatcher
  * Revert 'Add max connection limit to simple echo example.'
  * Add max connection limit example in examples/maxconnection.
  * Version 0.1.9

2011-03-27  Shuo Chen  <chenshuo@chenshuo.com>

  * Add file transfer download examples.
  * Add max connection limit to simple echo example.
  * Make inputBuffer accessible in TcpConnection.
  * Const-ness correct in Buffer class.
  * Add Mutex test for benchmarking.
  * Replace anonymous namespace with muduo::detail in muduo/base.
  * Version 0.1.8

2011-02-03  Shuo Chen  <chenshuo@chenshuo.com>

  * Fix LengthHeaderCodec::onMessage() in examples/asio/chat.
  * Version 0.1.7

2011-02-01  Shuo Chen  <chenshuo@chenshuo.com>

  * Fix onConnection() in simple examples.
  * Reset t_cachedTid after fork().
  * Version 0.1.6

2010-12-15  Shuo Chen  <chenshuo@chenshuo.com>

  * Add examples/multiplexer
  * Fix epoll kNoneEvent
  * Version 0.1.5

2010-11-20  Shuo Chen  <chenshuo@chenshuo.com>

  * Fix retry logic
  * Version 0.1.4

2010-09-26  Shuo Chen  <chenshuo@chenshuo.com>

  * Check SO_ERROR when connection is made.

2010-09-11  Shuo Chen  <chenshuo@chenshuo.com>

  * Gracefully refuse clients when accept(2) returns EMFILE.
  * Version 0.1.3

2010-09-07  Shuo Chen  <chenshuo@chenshuo.com>

  * Libevent benchmark for event handling.
  * Version 0.1.2

2010-09-04  Shuo Chen  <chenshuo@chenshuo.com>

  * Ping-pong benchmark, version 0.1.1

2010-08-30  Shuo Chen  <chenshuo@chenshuo.com>

  * First pre-alpha release, version 0.1.0

2010-08-29  Shuo Chen  <chenshuo@chenshuo.com>

  * Sub works.

2010-08-28  Shuo Chen  <chenshuo@chenshuo.com>

  * Add twisted finger examples.

2010-08-27  Shuo Chen  <chenshuo@chenshuo.com>

  * Add simple chargen example.

2010-08-07  Shuo Chen  <chenshuo@chenshuo.com>

  * Add Date.

2010-05-15  Shuo Chen  <chenshuo@chenshuo.com>

  * Hub works.

2010-05-14  Shuo Chen  <chenshuo@chenshuo.com>

  * Inspects opened files and threads.

2010-05-11  Shuo Chen  <chenshuo@chenshuo.com>

  * Add inspector for process info.

2010-05-04  Shuo Chen  <chenshuo@chenshuo.com>

  * Add simple http server and client.

2010-04-25  Shuo Chen  <chenshuo@chenshuo.com>

  * Add examples.

2010-04-11  Shuo Chen  <chenshuo@chenshuo.com>

  * TcpClient works.

2010-04-03  Shuo Chen  <chenshuo@chenshuo.com>

  * TcpServer works.

2010-03-15  Shuo Chen  <chenshuo@chenshuo.com>

  * TcpConnection at server side works.

2010-03-14  Shuo Chen  <chenshuo@chenshuo.com>

  * Acceptor works.

2010-03-13  Shuo Chen  <chenshuo@chenshuo.com>

  * TimerQueue works.

2010-03-12  Shuo Chen  <chenshuo@chenshuo.com>

  * Starts working on Muduo.
