diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index dea4fcc8f60ba4b5b10dee902a1c0705077a8b10..a4ad06b2661bd8b99ae1dc6bd4f564046cf27efe 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -346,7 +346,7 @@ StringXNumber GeneralOptions_Number[] = {
   { F|O, "BackgroundImageHeight" , opt_general_background_image_size1 , -1 ,
     "Height of background image (0: actual height if width = 0, natural scaling if not; "
     "-1: graphic window height)" },
-  { F|O, "BoundingBoxeSize" , opt_general_lc, 1. ,
+  { F|O, "BoundingBoxSize" , opt_general_lc, 1. ,
     "Overall bounding box size (read-only)" },
 
   { F|O, "Camera" , opt_general_camera_mode, 0. ,
diff --git a/doc/VERSIONS.txt b/doc/VERSIONS.txt
index baef96c05f8ad81b7aa4b44e0843c064f93d3710..0b840ee591f0f7a289b8f256971be422f97b7942 100644
--- a/doc/VERSIONS.txt
+++ b/doc/VERSIONS.txt
@@ -1,9 +1,12 @@
-2.8.5: small improvements and bug fixes (stability, error handling, better
-Coherence function, new inline onelab definitions).
+2.8.5: improved stability and error handling, better Coherence function, new
+onelab API version and inline parameter definitions, new background image modes,
+more robust Triangulate/Tetrahedralize plugins, new PGF output, improved support
+for string~index variable names in parser, small improvements and bug fixes all
+over the place.
 
 2.8.4 (Feb 7, 2014): better reproductibility of 2D meshes; new mandatory 'Name'
-attribute to define onelab variables in DefineConstant[] & co; small
-improvements and bug fixes.
+attribute to define onelab variables in DefineConstant[] & co; new
+-setnumber/-setstring command line arguments; small improvements and bug fixes.
 
 2.8.3 (Sep 27, 2013): new quick access menu and multiple view selection in GUI;
 enhanced animation creation; many small enhancements and bug fixes.
diff --git a/doc/texinfo/commandline.texi b/doc/texinfo/commandline.texi
index c0be5da8fc35c2cf28ba3b052452d9ad51fee3d8..bc9b0148e90076b492b3c6a410858cb1a05ddee8 100644
--- a/doc/texinfo/commandline.texi
+++ b/doc/texinfo/commandline.texi
@@ -35,7 +35,7 @@ Save all elements (discard physical group definitions)
 @item -parametric
 Save vertices with their parametric coordinates
 @item -algo string
-Select mesh algorithm (meshadapt, del2d, front2d, delquad, del3d, front3d, mmg3d)
+Select mesh algorithm (meshadapt, del2d, front2d, delquad, del3d, front3d, mmg3d, pack)
 @item -smooth int
 Set number of mesh smoothing steps
 @item -order int
diff --git a/doc/texinfo/opt_fields.texi b/doc/texinfo/opt_fields.texi
index 35f445cdd946afced5aa004c2d151c0bc86791ff..9bee17cb1eef6b4da1ae0a45c474355ec5712061 100644
--- a/doc/texinfo/opt_fields.texi
+++ b/doc/texinfo/opt_fields.texi
@@ -374,6 +374,16 @@ type: integer@*
 default value: @code{0}
 @end table
 
+@item IntersectAniso
+Take the intersection of 2 anisotropic fields according to Alauzet.@*
+Options:@*
+@table @code
+@item FieldsList
+Field indices@*
+type: list@*
+default value: @code{@{@}}
+@end table
+
 @item Laplacian
 Compute finite difference the Laplacian of Field[IField]:@*
 @*
@@ -589,6 +599,39 @@ type: list@*
 default value: @code{@{@}}
 @end table
 
+@item Sphere
+The value of this field is VIn inside a sphere, VOut outside. The sphere is given by@*
+@*
+  ||dX||^2 < R^2 &&@*
+  dX = (X - XC)^2 + (Y-YC)^2 + (Z-ZC)^2@*
+Options:@*
+@table @code
+@item Radius
+Radius@*
+type: float@*
+default value: @code{0}
+@item VIn
+Value inside the sphere@*
+type: float@*
+default value: @code{0}
+@item VOut
+Value outside the sphere@*
+type: float@*
+default value: @code{0}
+@item XCenter
+X coordinate of the sphere center@*
+type: float@*
+default value: @code{0}
+@item YCenter
+Y coordinate of the sphere center@*
+type: float@*
+default value: @code{0}
+@item ZCenter
+Z coordinate of the sphere center@*
+type: float@*
+default value: @code{0}
+@end table
+
 @item Structured
 Linearly interpolate between data provided on a 3D rectangular structured grid.@*
 @*
diff --git a/doc/texinfo/opt_general.texi b/doc/texinfo/opt_general.texi
index 077107d696068568bfbbbf72060bbbd3442bbc53..54f2d57e737bde09e7d3a128a8e502a5f2f22f2f 100644
--- a/doc/texinfo/opt_general.texi
+++ b/doc/texinfo/opt_general.texi
@@ -284,6 +284,11 @@ Height of background image (0: actual height if width = 0, natural scaling if no
 Default value: @code{-1}@*
 Saved in: @code{General.OptionsFileName}
 
+@item General.BoundingBoxSize
+Overall bounding box size (read-only)@*
+Default value: @code{1}@*
+Saved in: @code{General.OptionsFileName}
+
 @item General.Camera
 Enable camera view mode@*
 Default value: @code{0}@*
diff --git a/doc/texinfo/opt_geometry.texi b/doc/texinfo/opt_geometry.texi
index 195f61c776a26454318dd3b2da929a3ecf751864..327f9961df34cd877ca72e87f3a0a9d2f1fd4656 100644
--- a/doc/texinfo/opt_geometry.texi
+++ b/doc/texinfo/opt_geometry.texi
@@ -5,7 +5,7 @@
 
 @ftable @code
 @item Geometry.AutoCoherence
-Should all duplicate entities be automatically removed?@*
+Should all duplicate entities be automatically removed? (if ==2, also remove degenerate entities)@*
 Default value: @code{1}@*
 Saved in: @code{General.OptionsFileName}
 
diff --git a/doc/texinfo/opt_mesh.texi b/doc/texinfo/opt_mesh.texi
index 0861c0fd837bf5e5f543dcaf87d48ddcf5407b00..8ff1a0509d3ed71e1a781bab5e0d1f33b186b3e2 100644
--- a/doc/texinfo/opt_mesh.texi
+++ b/doc/texinfo/opt_mesh.texi
@@ -339,11 +339,6 @@ Split MSH file by mesh partition (0: no, 1: yes, 2: create physicals by partitio
 Default value: @code{0}@*
 Saved in: @code{General.OptionsFileName}
 
-@item Mesh.MultiplePassesMeshes
-Do a first simple mesh and use it for complex background meshes (curvatures...)@*
-Default value: @code{0}@*
-Saved in: @code{General.OptionsFileName}
-
 @item Mesh.PartitionHexWeight
 Weight of hexahedral element for METIS load balancing@*
 Default value: @code{1}@*
diff --git a/doc/texinfo/opt_plugin.texi b/doc/texinfo/opt_plugin.texi
index d481766a06e523019698f6e351fe058d3df95b23..e69d3f877a0d1c218a06fe2bcf6c64479eed8418 100644
--- a/doc/texinfo/opt_plugin.texi
+++ b/doc/texinfo/opt_plugin.texi
@@ -5,42 +5,34 @@
 
 @ftable @code
 @item Plugin(AnalyseCurvedMesh)
-Plugin(AnalyseCurvedMesh) check the jacobian of all elements of dimension 'Dim' or the greater model dimension if 'Dim' is either <0 or >3.
+Plugin(AnalyseCurvedMesh) analyse all elements of a given dimension. It computes, min(J) where J is the scaled Jacobian determinant. Eventually, it computes min(R) where R is the ratio between the smaller and the greater of the eigenvalues of the metric. It creates one or more PView and hides elements for which min({J, R}) < 'Hidding threshold'.
 
- Analysis : 0 do nothing
-          +1 find invalid elements (*)
-          +2 compute J_min and J_max of all elements and print some statistics
+Parameters:
 
-Effect (for *) : 0 do nothing
-                +1 print a list of invalid elements
-                +2 print some statistics
-                +4 hide valid elements (for GUI)
+- Show [...] = {0, 1}: If 0, computes Jacobian and shows min(J). If 1, computes Jacobian and metric and shows min(R).
 
-MaxDepth = 0,1,...
-         0 : only sample the jacobian
-         1 : compute Bezier coefficients
-        2+ : execute a maximum of 1+ subdivision(s)
+- Number of PView = {0, 1, 2}: If 1, create one PView with all elements. If 2, create two PView, one with straight-sided elements and one with curved elements.
 
-JacBreak = [0,1[ : if a value of the jacobian <= 'JacBreak' is found, the element is said to be invalid
+- Hidding threshold = [0,1]: Hides all element for which min(R) or min(J) is strictly greater than the threshold. If = 1, no effect, if = 0 hide all elements except invalid.
 
-BezBreak = [0,JacBreak[ : if all Bezier coefficients are > 'BezBreak', the element is said to be valid
+- Dimension = {-1, 1, 2, 3}: If = -1, analyse element of the greater dimension.
 
-Tolerance = R+ , << 1 : tolerance (relatively to J_min and J_max) used during the computation of J_min and J_max
+- Recompute = {0,1}: If the mesh has changed, set to 1 to recompute the bounds.
+
+- Tolerance = ]0, 1[: Tolerance on the computation of min(R) or min(J). It should be at most 0.01 but it can be set to 1 to just check the validity of the mesh.
 Numeric options:
 @table @code
-@item Dim
-Default value: @code{-1}
-@item Analysis
+@item Show: (0) Jacobian, (1) Metric
+Default value: @code{1}
+@item Number of PView
 Default value: @code{2}
-@item Effect (1)
-Default value: @code{6}
-@item JacBreak (1)
-Default value: @code{0}
-@item BezBreak (1)
+@item Hidding threshold
+Default value: @code{0.1}
+@item Dimension of elements
+Default value: @code{-1}
+@item Recompute bounds
 Default value: @code{0}
-@item MaxDepth (1,2)
-Default value: @code{20}
-@item Tolerance (2)
+@item Tolerance
 Default value: @code{0.001}
 @end table
 
@@ -983,10 +975,39 @@ Default value: @code{1}
 Default value: @code{-1}
 @end table
 
-@item Plugin(Scal2Vec)
-Plugin(Scal2Vec) converts the scalar fields of 'ViewX', 'ViewY' and/or 'ViewZ' into a vectorial field. The new view 'NameNewView' contains it.
+@item Plugin(Scal2Tens)
+Plugin(Scal2Tens) converts some scalar fields into a tensor field. The number of components must be given (max. 9). The new view 'NameNewView' contains the new tensor field. If the number of a view is -1, the value of the corresponding component is 0.
+String options:
+@table @code
+@item NameNewView
+Default value: @code{"NewView"}
+@end table
+Numeric options:
+@table @code
+@item NumberOfComponents
+Default value: @code{9}
+@item View0
+Default value: @code{-1}
+@item View1
+Default value: @code{-1}
+@item View2
+Default value: @code{-1}
+@item View3
+Default value: @code{-1}
+@item View4
+Default value: @code{-1}
+@item View5
+Default value: @code{-1}
+@item View6
+Default value: @code{-1}
+@item View7
+Default value: @code{-1}
+@item View8
+Default value: @code{-1}
+@end table
 
-If the value of 'ViewX', 'ViewY' or 'ViewZ' is -1, the value of the vectorial field in the corresponding direction is 0.
+@item Plugin(Scal2Vec)
+Plugin(Scal2Vec) converts the scalar fields into a vectorial field. The new view 'NameNewView' contains it. If the number of a view is -1, the value of the corresponding component of the vector field is 0.
 String options:
 @table @code
 @item NameNewView