diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7aaf17ec4cb9fd5025c921e914620dd1bbd89ba1..9e1b0d511ecd6a078a4b4cc9dbb80efc6a3e7392 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
 cmake_minimum_required (VERSION 3.1)
-project (OPAL VERSION 2.1.0)
+project (OPAL VERSION 2.3.0)
 set (PROJECT_BUGREPORT opal@lists.psi.ch)
 
 string (REGEX REPLACE "\\.([0-9])\\." ".0\\1." PACKAGE_VERSION ${PROJECT_VERSION})
@@ -12,7 +12,7 @@ if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
     set (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
         "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
         FORCE
-	)
+        )
 endif ()
 
 cmake_host_system_information (RESULT HOSTNAME QUERY HOSTNAME)
@@ -63,7 +63,7 @@ if ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel" )
     add_compile_options ("-diag-disable 383")
     add_compile_options ("-diag-disable 981")
     if (ENABLE_OpenMP)
-	add_compile_options (-openmp)
+        add_compile_options (-openmp)
     endif ()
 
 elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
@@ -77,7 +77,7 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
     # Allow overloaded virtual functions (instances to be fixed in OPAL)
     #add_compile_options (-Wno-overloaded-virtual)
     if (ENABLE_OpenMP)
-	add_compile_options (-fopenmp)
+        add_compile_options (-fopenmp)
     endif ()
     # Not 100% clear why we need this. But without we get warning while
     # linking with HDF5
@@ -87,8 +87,7 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
     if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "4.7.3")
         message (FATAL_ERROR "To build OPAL you need GCC version 4.7.3 or greater")
     endif ()
-    # Warning flags, -Wno-unused-local-typedefs is needed for boost versions below 1.59
-    add_compile_options (-Wno-unused-local-typedefs -Werror=unused-variable)
+    # Warning flags
 
     if (ENABLE_OpenMP)
         add_compile_options (-fopenmp)
@@ -110,7 +109,7 @@ if (CMAKE_Fortran_COMPILER)
 else ()
     message ("No Fortran compiler found (optional)")
     if (ENABLE_AMR)
-	message (FATAL_ERROR "AMR is enabled but no Fortran compiler found!")
+        message (FATAL_ERROR "AMR is enabled but no Fortran compiler found!")
     endif ()
 endif ()
 
@@ -131,7 +130,7 @@ if (USE_STATIC_LIBRARIES)
 endif ()
 set (Boost_USE_MULTITHREADED OFF)
 set (Boost_USE_STATIC_RUNTIME OFF)
-find_package (Boost 1.60.0
+find_package (Boost 1.66.0
     REQUIRED COMPONENTS chrono filesystem iostreams regex serialization system timer)
 message ("Found Boost include dir: ${Boost_INCLUDE_DIR}")
 message ("Found Boost library dir: ${Boost_LIBRARY_DIR}")
@@ -285,12 +284,12 @@ install (
     DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME}"
     RENAME ${PROJECT_NAME}Config.cmake
     )
-  
+
 # vi: set et ts=4 sw=4 sts=4:
-  
+
 # Local Variables:
 # mode: cmake
 # cmake-tab-width: 4
 # indent-tabs-mode: nil
 # require-final-newline: nil
-# End:
+# End:
\ No newline at end of file
diff --git a/optimizer/Expression/Parser/annotation.hpp b/optimizer/Expression/Parser/annotation.hpp
index ad729726d7fadc48f49aabfa549b66e2c1f99b00..7267854cf960ec2f6edf88905b2edec166367a96 100644
--- a/optimizer/Expression/Parser/annotation.hpp
+++ b/optimizer/Expression/Parser/annotation.hpp
@@ -23,11 +23,7 @@ namespace client
     template <typename Iterator>
     struct annotation
     {
-#if BOOST_VERSION >= 106200
         template <typename>
-#else
-        template <typename, typename>
-#endif
         struct result { typedef void type; };
 
         std::vector<Iterator>& iters;
diff --git a/optimizer/Expression/Parser/error_handler.hpp b/optimizer/Expression/Parser/error_handler.hpp
index 18eb6c3475988bf8d2203e38ff05837304203998..45769a39d1d6efe018239018984bfc13ec1f9708 100644
--- a/optimizer/Expression/Parser/error_handler.hpp
+++ b/optimizer/Expression/Parser/error_handler.hpp
@@ -19,11 +19,7 @@ namespace client
     template <typename Iterator>
     struct error_handler
     {
-#if BOOST_VERSION >= 106200
         template <typename>
-#else
-        template <typename, typename, typename>
-#endif
         struct result { typedef void type; };
 
         error_handler(Iterator first, Iterator last)
diff --git a/src/Distribution/SigmaGenerator.h b/src/Distribution/SigmaGenerator.h
index 1d27ddb76f19ac12a078609ac7f13642e43544d4..2bdbd03f0166860a51641979faa3c1ccb62d759b 100644
--- a/src/Distribution/SigmaGenerator.h
+++ b/src/Distribution/SigmaGenerator.h
@@ -33,6 +33,8 @@
 #include "Utilities/Options.h"
 #include "Utilities/OpalException.h"
 
+#include <boost/numeric/odeint/stepper/runge_kutta4.hpp>
+
 #include <boost/numeric/ublas/matrix.hpp>
 #include <boost/numeric/ublas/matrix_sparse.hpp>
 #include <boost/numeric/ublas/vector.hpp>
@@ -46,17 +48,11 @@
 #include <gsl/gsl_math.h>
 #include <gsl/gsl_eigen.h>
 
-#include <boost/numeric/odeint/stepper/runge_kutta4.hpp>
-#if BOOST_VERSION >= 106000
-#include <boost/numeric/odeint/integrate/check_adapter.hpp>
-#endif
-
 #include "matrix_vector_operation.h"
 #include "ClosedOrbitFinder.h"
 #include "MapGenerator.h"
 #include "Harmonics.h"
 
-
 extern Inform *gmsg;
 
 /// @brief This class computes the matched distribution