After working more than 1.5 years on the 0.17 version the time has come to think about making a release in the near future.
As a suggestion for a time schedule I would say that we set the development into feature freeze on around 20th/21st of January which is a bit more than two weeks from now and then only accept bug fixes.
Then if nothing critical will appear that will delay the release we can make the official release somewhere in mid of February.
When looking into the bug tracker and filtering for bugs with a target version of 0.17 you will find around 30 open issues. However, I guess it's not realistic that we will succeed to get them fixed all. So, it's best to concentrate on the real important issues which at the moment are:
- issue #0003295
Fortunately this is rather easy to fix and doesn't affect the FreeCAD code base at all. All what needs to be done is fetching the source tarball of Python 2.7.14 and building the release (and debug) version and upgrade the libpacks. None of dependent libraries like boost python, pivy, PySide, ... need to be touched because the new Python dll will be binary compatible. - issue #0003279/issue #0003214
Next, is to check which of the pending PR should be included: https://github.com/FreeCAD/FreeCAD/pulls
868 and 876 is definitely for after 0.17 and must be discussed when working on 0.18.
Then we should also have a look at the compiler warnings we get for the travis builds. Most of them is due to flaws in OpenCascade or Salome which we can ignore for now but there are some warnings we should have a look at:
Code: Select all
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/libarea/kurve/kurve.cpp:1039:4: warning: variable 'spanno' is incremented both in the loop header and in the loop body [-Wfor-loop-analysis]
spanno++;
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/libarea/kurve/kurve.cpp:1027:50: note: incremented here
for(int spanno = 1; spanno != (endSpanno + 1); spanno++)
^
1 warning generated.
Code: Select all
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/Area.cpp:1484:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
return std::move(sections);
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/Area.cpp:1484:12: note: remove std::move call here
return std::move(sections);
^~~~~~~~~~ ~
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/Area.cpp:2576:16: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
return std::move(wires);
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/Area.cpp:2576:16: note: remove std::move call here
return std::move(wires);
^~~~~~~~~~ ~
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/Area.cpp:2776:16: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
return std::move(wires);
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/Area.cpp:2776:16: note: remove std::move call here
return std::move(wires);
^~~~~~~~~~ ~
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/Area.cpp:2960:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
return std::move(wires);
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/Area.cpp:2960:12: note: remove std::move call here
return std::move(wires);
^~~~~~~~~~ ~
4 warnings generated.
[ 68%] Building CXX object src/Mod/Path/App/CMakeFiles/Path.dir/FeatureArea.cpp.o
[ 68%] Linking CXX shared library ../../../../Mod/Spreadsheet/SpreadsheetGui.so
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/FeatureArea.cpp:205:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
return std::move(shapes);
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/Path/App/FeatureArea.cpp:205:12: note: remove std::move call here
return std::move(shapes);
^~~~~~~~~~ ~
1 warning generated.
Code: Select all
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:994:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](Part::Feature* profile, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1045:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](Part::Feature* sketch, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1092:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](Part::Feature* sketch, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1138:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd, &pcActiveBody](Part::Feature* sketch, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1198:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd, &pcActiveBody](Part::Feature* sketch, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1266:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](Part::Feature* sketch, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1316:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](Part::Feature* sketch, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1366:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](Part::Feature* sketch, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1416:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](Part::Feature* sketch, std::string FeatName) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1841:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](std::string FeatName, std::vector<App::DocumentObject*> features) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1905:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](std::string FeatName, std::vector<App::DocumentObject*> features) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:1971:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](std::string FeatName, std::vector<App::DocumentObject*> features) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:2028:20: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd](std::string FeatName, std::vector<App::DocumentObject*> features) {
^
/home/travis/build/FreeCAD/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp:2133:24: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
auto worker = [this, cmd, pcActiveBody](std::string FeatName, std::vector<App::DocumentObject*> features) {
^
14 warnings generated.
Any opinions or suggestions of what else should be fixed?
Kind Regards,
Werner