diff --git a/Plugin/Distance.cpp b/Plugin/Distance.cpp
index b5ca5f01258a762a96bade03fba92127e43daf8c..a65bcd38ecb3b61e13fa378f53b1379573531831 100644
--- a/Plugin/Distance.cpp
+++ b/Plugin/Distance.cpp
@@ -9,11 +9,14 @@
 #include "Gmsh.h"
 #include "GmshConfig.h"
 #include "GModel.h"
+#include "MElement.h"
 #include "Distance.h"
-#include "simpleFunction.h"
-#include "distanceTerm.h"
 #include "Context.h"
 #include "Numeric.h"
+
+#if defined(HAVE_SOLVER)
+#include "simpleFunction.h"
+#include "distanceTerm.h"
 #include "dofManager.h"
 #include "linearSystemGMM.h"
 #include "linearSystemCSR.h"
@@ -21,6 +24,7 @@
 #include "orthogonalTerm.h"
 #include "laplaceTerm.h"
 #include "crossConfTerm.h"
+#endif
 
 StringXNumber DistanceOptions_Number[] = {
   {GMSH_FULLRC, "PhysPoint", NULL, 0.},
@@ -166,7 +170,9 @@ PView *GMSH_DistancePlugin::execute(PView *v)
   
   PView *view = new PView();
   _data = getDataList(view);
-#ifdef HAVE_TAUCS
+
+#if defined(HAVE_SOLVER)
+#if defined(HAVE_TAUCS)
   linearSystemCSRTaucs<double> *lsys = new linearSystemCSRTaucs<double>;
 #else
   linearSystemCSRGmm<double> *lsys = new linearSystemCSRGmm<double>;
@@ -175,6 +181,7 @@ PView *GMSH_DistancePlugin::execute(PView *v)
   lsys->setPrec(5.e-8);
 #endif
   dofManager<double> * dofView = new dofManager<double>(lsys);
+#endif
     
   std::vector<GEntity*> _entities;
   GModel::current()->getEntities(_entities);
@@ -403,8 +410,8 @@ PView *GMSH_DistancePlugin::execute(PView *v)
             }
             }
             else{
-	      if (std::abs(iDistances[kk]) < distances[kk]){
-	        distances[kk] = std::abs(iDistances[kk]);
+	      if (fabs(iDistances[kk]) < distances[kk]){
+	        distances[kk] = fabs(iDistances[kk]);
 	        MVertex *v = pt2Vertex[kk];
 	        _distance_map[v] = distances[kk];
               }
diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi
index 0688904d90b41a37de561af6364c66478be625fa..decb2019aabd92c5361d19e640113f405f01d605 100644
--- a/doc/texinfo/gmsh.texi
+++ b/doc/texinfo/gmsh.texi
@@ -21,7 +21,7 @@
 @c =========================================================================
 @c %**start of header
 @setfilename gmsh.info
-@set GMSH-VERSION 2.4
+@set GMSH-VERSION 2.5
 @set COPYRIGHT @copyright{} 1997-2009 Christophe Geuzaine, Jean-Fran@,{c}ois Remacle
 @settitle Gmsh @value{GMSH-VERSION}
 @footnotestyle separate
@@ -536,7 +536,7 @@ small but powerful GUI.
 @node and what Gmsh is not so good at, Bug reports, What Gmsh is pretty good at, Overview
 @section @dots{} and what Gmsh is not so good at
 
-As of version 2.4, here are some known weaknesses of Gmsh:
+As of version 2.5, here are some known weaknesses of Gmsh:
 
 @itemize @bullet
 @item
diff --git a/doc/texinfo/opt_mesh.texi b/doc/texinfo/opt_mesh.texi
index 6a5fedc76fbd456db9b7fb33e11b5e7193df84e7..f6c3a04075949daedb15ffc6cb4d7f541d11766f 100644
--- a/doc/texinfo/opt_mesh.texi
+++ b/doc/texinfo/opt_mesh.texi
@@ -185,7 +185,7 @@ Default value: @code{1}@*
 Saved in: @code{General.OptionsFileName}
 
 @item Mesh.Format
-Mesh output format (1=msh, 2=unv, 10=automatic, 19=vrml, 27=stl, 30=mesh, 31=bdf, 32=cgns, 33=med)@*
+Mesh output format (1=msh, 2=unv, 10=automatic, 19=vrml, 27=stl, 30=mesh, 31=bdf, 32=cgns, 33=med, 40=ply2)@*
 Default value: @code{10}@*
 Saved in: @code{General.OptionsFileName}
 
@@ -194,9 +194,9 @@ Display mesh hexahedra?@*
 Default value: @code{1}@*
 Saved in: @code{General.OptionsFileName}
 
-@item Mesh.LabelsFrequency
-Labels display frequency?@*
-Default value: @code{100}@*
+@item Mesh.LabelSampling
+Label sampling rate (display one label every `LabelSampling' elements)@*
+Default value: @code{1}@*
 Saved in: @code{General.OptionsFileName}
 
 @item Mesh.LabelType
@@ -279,6 +279,36 @@ Split MSH file by mesh partition@*
 Default value: @code{0}@*
 Saved in: @code{General.OptionsFileName}
 
+@item Mesh.PartitionHexWeight
+Weight of hexahedral element for METIS load balancing@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PartitionPrismWeight
+Weight of prismatic element (wedge) for METIS load balancing@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PartitionPyramidWeight
+Weight of pyramidal element for METIS load balancing@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PartitionQuadWeight
+Weight of quadrangle for METIS load balancing@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PartitionTetWeight
+Weight of tetrahedral element for METIS load balancing@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.PartitionTriWeight
+Weight of triangle for METIS load balancing@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
 @item Mesh.PartitionByExtrusion
 Special partitioner that annotates all all extruded elements to the same node as the source element@*
 Default value: @code{0}@*
@@ -414,6 +444,26 @@ Random factor used in the 2D meshing algorithm (should be increased if RandomFac
 Default value: @code{1e-09}@*
 Saved in: @code{General.OptionsFileName}
 
+@item Mesh.RecombinationAlgorithm
+Mesh recombination algorithm (0=standard, 1=blossom)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.RecombineAll
+Apply recombination algorithm to all surfaces, ignoring per-surface spec@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.RemeshAlgorithm
+Remeshing algorithm (0=no split, 1=automatic, 2=automatic only with metis)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.RemeshParametrization
+Remsh Parametrization (0=harmonic, 1=conformal)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
 @item Mesh.RefineSteps
 Number of refinement steps in the MeshAdapt-based 2D algorithms@*
 Default value: @code{10}@*
diff --git a/doc/texinfo/opt_view.texi b/doc/texinfo/opt_view.texi
index c868d331e4954afe31cc22b07685bbcd6a717c78..4580bf02be0e3916910c2467254d67bbfec2c32a 100644
--- a/doc/texinfo/opt_view.texi
+++ b/doc/texinfo/opt_view.texi
@@ -574,6 +574,11 @@ Value scale range type (1=default, 2=custom, 3=per time step)@*
 Default value: @code{1}@*
 Saved in: @code{General.OptionsFileName}
 
+@item View.Sampling
+Element sampling rate (draw one out every `Sampling' elements)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
 @item View.SaturateValues
 Saturate the view values to custom min and max (1=true, 0=false)@*
 Default value: @code{0}@*