diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7069f0e878e8e29efad8be95fefd40b5d0d35924..bfe9db65d01b23814b9a04f34763433716a6e496 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8.0)
 
 set(ver_major "0")
 set(ver_minor "0")
-set(ver_patch "1")
+set(ver_patch "2")
 
 # use some of our own Find* scripts
 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeScripts)
diff --git a/libwccl/CMakeLists.txt b/libwccl/CMakeLists.txt
index 48195127498b0b16059bbcc7683a70c24525d4e7..1dced6862f2ced24fd7cfd35e64a6326a36430d4 100644
--- a/libwccl/CMakeLists.txt
+++ b/libwccl/CMakeLists.txt
@@ -4,7 +4,7 @@ PROJECT(wccl)
 
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/include/ )
 
-find_package(Corpus2 1.0.6 REQUIRED)
+find_package(Corpus2 1.0.8 REQUIRED)
 set(LIBS ${LIBS} ${Corpus2_LIBRARY})
 
 find_package(PwrUtils 1.0.1 REQUIRED)
diff --git a/libwccl/ops/match/conditions/isannotatedas.cpp b/libwccl/ops/match/conditions/isannotatedas.cpp
index a968f4057c5c50413e0a08d9612738c28337f97a..a7de36d139c596a7d3f4fae6c9cd90b67ab35891 100644
--- a/libwccl/ops/match/conditions/isannotatedas.cpp
+++ b/libwccl/ops/match/conditions/isannotatedas.cpp
@@ -43,7 +43,7 @@ MatchResult IsAnnotatedAs::apply(const ActionExecContext& context) const
 	return MatchResult(ann_match);
 }
 
-std::string IsAnnotatedAs::to_string(const Corpus2::Tagset& tagset) const
+std::string IsAnnotatedAs::to_string(const Corpus2::Tagset& /*tagset*/) const
 {
 	std::ostringstream os;
 	os << name() << "(\"" << chan_name_ << "\")";
diff --git a/wccl-apps/wccl-match.cpp b/wccl-apps/wccl-match.cpp
index 2f5d7521eb1579bf4dbfa8d10f70182fb518894d..3ef315cf14d60c5a7d97955405564e0e35fe001e 100644
--- a/wccl-apps/wccl-match.cpp
+++ b/wccl-apps/wccl-match.cpp
@@ -204,7 +204,7 @@ int main(int argc, char** argv)
 			Corpus2::TokenTimer& timer = Corpus2::global_timer();
 			timer.register_signal_handler();
 			boost::shared_ptr<Corpus2::TokenWriter> writer;
-			writer.reset(Corpus2::TokenWriter::create(output_format, std::cout, tagset));
+			writer = Corpus2::TokenWriter::create_stream_writer(output_format, std::cout, tagset);
 			boost::shared_ptr<Corpus2::TokenReader> reader;
 			foreach (std::string cf, corpora_files) {
 				reader = Corpus2::TokenReader::create_path_reader(input_format, tagset, cf);
diff --git a/wccl-apps/wccl-rules.cpp b/wccl-apps/wccl-rules.cpp
index 220567c6b6ee4427f67c31aa9ae49da978d4bc3e..c8119c96b7f8bbec0a2c2fcb08a0d275870cbe72 100644
--- a/wccl-apps/wccl-rules.cpp
+++ b/wccl-apps/wccl-rules.cpp
@@ -211,7 +211,7 @@ int main(int argc, char** argv)
 			Corpus2::TokenTimer& timer = Corpus2::global_timer();
 			timer.register_signal_handler();
 			boost::shared_ptr<Corpus2::TokenWriter> writer;
-			writer.reset(Corpus2::TokenWriter::create(output_format, std::cout, tagset));
+			writer = Corpus2::TokenWriter::create_stream_writer(output_format, std::cout, tagset);
 			boost::shared_ptr<Corpus2::TokenReader> reader;
 			foreach (const std::string& f, corpora_files) {
 				reader = Corpus2::TokenReader::create_path_reader(input_format, tagset, f);