diff --git a/api/GenApi.py b/api/GenApi.py
index 5589446ef0ef7d891bc4a85a115d442f398ab7ab..b867fab010ff1253d23a97298c0e9c15e0900965 100644
--- a/api/GenApi.py
+++ b/api/GenApi.py
@@ -954,6 +954,7 @@ cwrap_header = """// {0}
 #include <vector>
 #include <string>
 #include <utility>
+#include <functional>
 
 #ifndef M_PI
 #define M_PI (3.14159265358979323846)
diff --git a/api/gmsh.h_cwrap b/api/gmsh.h_cwrap
index 3c7596d43c2241eea8d75132659871b92039984a..c2dacab80399d849d00bc203df4cc879d50ad52d 100644
--- a/api/gmsh.h_cwrap
+++ b/api/gmsh.h_cwrap
@@ -25,6 +25,7 @@
 #include <vector>
 #include <string>
 #include <utility>
+#include <functional>
 
 #ifndef M_PI
 #define M_PI (3.14159265358979323846)
diff --git a/doc/SDK.txt b/doc/SDK.txt
index 2ad34f52a932ecd0748770325a25b483b8d0b8f3..2a7d78270a1d3de59b656bb2c60b2ba0716a8df9 100644
--- a/doc/SDK.txt
+++ b/doc/SDK.txt
@@ -47,6 +47,7 @@ Notes:
     Collection (GCC). To compile a C++ example with Microsoft Visual Studio 2017
     in the Visual Studio shell and run it, you would do:
 
+    C:\gmsh-git-Windows64-sdk> ren include\gmsh.h gmsh.h_original
     C:\gmsh-git-Windows64-sdk> ren include\gmsh.h_cwrap gmsh.h
     C:\gmsh-git-Windows64-sdk> cl /Iinclude share\doc\gmsh\tutorial\c++\t1.cpp lib\gmsh.lib
     C:\gmsh-git-Windows64-sdk> cd lib
diff --git a/doc/texinfo/commandline.texi b/doc/texinfo/commandline.texi
index 5b8edbb70d84bcee6580e29561c673f9df850c0c..77dc84335d4955d167c4a6f96201b6978ee255d0 100644
--- a/doc/texinfo/commandline.texi
+++ b/doc/texinfo/commandline.texi
@@ -57,7 +57,7 @@ Save nodes with their parametric coordinates (Mesh.SaveParametric)
 @item -save_topology
 Save model topology (Mesh.SaveTopology)
 @item -algo string
-Select mesh algorithm: auto, meshadapt, del2d, front2d, delquad, pack, initial2d, del3d, front3d, mmg3d, hxt, initial3d (Mesh.Algorithm and Mesh.Algorithm3D)
+Select mesh algorithm: auto, meshadapt, del2d, front2d, delquad, quadqs, initial2d, del3d, front3d, mmg3d, hxt, initial3d (Mesh.Algorithm and Mesh.Algorithm3D)
 @item -smooth int
 Set number of mesh smoothing steps (Mesh.Smoothing)
 @item -order int
diff --git a/doc/texinfo/opt_fields.texi b/doc/texinfo/opt_fields.texi
index 15598d990d18ca731d5f1fc12a3c568a3e809f5a..77d9af3080efe78bf322adcfc8a2b4e1ef893434 100644
--- a/doc/texinfo/opt_fields.texi
+++ b/doc/texinfo/opt_fields.texi
@@ -570,7 +570,7 @@ default value: @code{6371000}
 @end table
 
 @item MathEval
-Evaluate a mathematical expression. The expression can contain x, y, z for spatial coordinates, F0, F1, ... for field values, and and mathematical functions.@*
+Evaluate a mathematical expression. The expression can contain x, y, z for spatial coordinates, F0, F1, ... for field values, and mathematical functions.@*
 Options:@*
 @table @code
 @item F
@@ -580,7 +580,7 @@ default value: @code{"F2 + Sin(z)"}
 @end table
 
 @item MathEvalAniso
-Evaluate a metric expression. The expressions can contain x, y, z for spatial coordinates, F0, F1, ... for field values, and and mathematical functions.@*
+Evaluate a metric expression. The expressions can contain x, y, z for spatial coordinates, F0, F1, ... for field values, and mathematical functions.@*
 Options:@*
 @table @code
 @item M11
diff --git a/doc/texinfo/opt_general.texi b/doc/texinfo/opt_general.texi
index 4a468fcce607ed0c9322761057e01f6bbe434041..fd67462b6b8d80e57acdb3bcffcc9bf21fb21972 100644
--- a/doc/texinfo/opt_general.texi
+++ b/doc/texinfo/opt_general.texi
@@ -38,12 +38,12 @@ Saved in: @code{General.OptionsFileName}
 
 @item General.BuildInfo
 Gmsh build information (read-only)@*
-Default value: @code{"Version: 4.8.0-git-392ddd331; License: GNU General Public License; Build OS: MacOSX-sdk; Build date: 20210301; Build host: MBP-Christophe; Build options: 64Bit ALGLIB ANN Bamg Blossom Cairo Cgns DIntegration Dlopen DomHex Eigen Fltk GMP Gmm Hxt Jpeg Kbipack MathEx Med Mesh Metis Mmg Mpeg Netgen ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OpenMP OptHom Parasolid ParasolidSTEP Parser Plugins Png Post QuadTri Solver TetGen/BR TouchBar Voro++ Zlib; FLTK version: 1.4.0; OCC version: 7.6.0; MED version: 4.1.0; Packaged by: geuzaine; Web site: https://gmsh.info; Issue tracker: https://gitlab.onelab.info/gmsh/gmsh/issues"}@*
+Default value: @code{"Version: 4.8.2-git-f4a047dba; License: GNU General Public License; Build OS: MacOSX-sdk; Build date: 20210326; Build host: Mac-mini.local; Build options: 64Bit ALGLIB ANN Bamg Blossom DIntegration Dlopen DomHex Eigen Fltk Gmm Hxt Jpeg[fltk] Kbipack MathEx Mesh Metis Mpeg Netgen ONELAB ONELABMetamodel OpenGL OptHom Parser Plugins Png[fltk] Post QuadMeshingTools QuadTri Solver TetGen/BR TouchBar Voro++ Zlib; FLTK version: 1.4.0; Packaged by: geuzaine; Web site: https://gmsh.info; Issue tracker: https://gitlab.onelab.info/gmsh/gmsh/issues"}@*
 Saved in: @code{-}
 
 @item General.BuildOptions
 Gmsh build options (read-only)@*
-Default value: @code{"64Bit ALGLIB ANN Bamg Blossom Cairo Cgns DIntegration Dlopen DomHex Eigen Fltk GMP Gmm Hxt Jpeg Kbipack MathEx Med Mesh Metis Mmg Mpeg Netgen ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OpenMP OptHom Parasolid ParasolidSTEP Parser Plugins Png Post QuadTri Solver TetGen/BR TouchBar Voro++ Zlib"}@*
+Default value: @code{"64Bit ALGLIB ANN Bamg Blossom DIntegration Dlopen DomHex Eigen Fltk Gmm Hxt Jpeg[fltk] Kbipack MathEx Mesh Metis Mpeg Netgen ONELAB ONELABMetamodel OpenGL OptHom Parser Plugins Png[fltk] Post QuadMeshingTools QuadTri Solver TetGen/BR TouchBar Voro++ Zlib"}@*
 Saved in: @code{-}
 
 @item General.DefaultFileName
@@ -168,7 +168,7 @@ Saved in: @code{General.SessionFileName}
 
 @item General.Version
 Gmsh version (read-only)@*
-Default value: @code{"4.8.0-git-392ddd331"}@*
+Default value: @code{"4.8.2-git-f4a047dba"}@*
 Saved in: @code{-}
 
 @item General.WatchFilePattern
diff --git a/doc/texinfo/opt_mesh.texi b/doc/texinfo/opt_mesh.texi
index 3efc3587f74a043dad22138bebffb4390a28dc73..16fc45f361c3bac28df147adf99634cbf5f14139 100644
--- a/doc/texinfo/opt_mesh.texi
+++ b/doc/texinfo/opt_mesh.texi
@@ -621,6 +621,21 @@ Display mesh trihedra?@*
 Default value: @code{1}@*
 Saved in: @code{General.OptionsFileName}
 
+@item Mesh.QuadqsSizemapMethod
+Size map method in QuadQuasiStructured. 0: default, 1: cross-field,2: cross-field + CAD small features adaptation,3: from background mesh (e.g. sizes in current triangulation),4: cross-field + CAD small features adaptation (clamped by background mesh)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.QuadqsTopologyOptimizationMethods
+Topology optimization methods in QuadQuasiStructured. 0: default (all),100: pattern-based CAD faces,010: disk quadrangulation remeshing,001: cavity remeshing,xxx: combination of multiple methods (e.g. 111 for all)@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
+@item Mesh.QuadqsRemeshingBoldness
+Controls how much cavity remeshing is allowed to distort the quad mesh. From 0 (no quality decrease during remeshing) to 1 (quality can tend to 0 during remeshing).@*
+Default value: @code{0.501}@*
+Saved in: @code{General.OptionsFileName}
+
 @item Mesh.Quadrangles
 Display mesh quadrangles?@*
 Default value: @code{1}@*
diff --git a/tutorial/c++/README.txt b/tutorial/c++/README.txt
index 8cfe628771b2335ab8f367da074200f78d13b136..ec581ec39abdf6dc2989d992acb3b7cd6d5bcb2a 100644
--- a/tutorial/c++/README.txt
+++ b/tutorial/c++/README.txt
@@ -21,6 +21,7 @@ associated header file (`gmsh.h'). These can be either obtained
   For example, to compile a C++ example with Microsoft Visual Studio 2017 in the
   Visual Studio shell:
 
+    C:\gmsh-git-Windows64-sdk> ren include\gmsh.h gmsh.h_original
     C:\gmsh-git-Windows64-sdk> ren include\gmsh.h_cwrap gmsh.h
     C:\gmsh-git-Windows64-sdk> cl /Iinclude share\doc\gmsh\tutorial\c++\t1.cpp lib\gmsh.lib
     C:\gmsh-git-Windows64-sdk> cd lib