We have made lots of progress (see our git log) since the release of
5.12.0 so I am looking forward to releasing 5.13.0 in the near future
(i.e., in early or late August depending on how much time Arjen has for
PLplot testing in the remainder of this month, and how soon we can
debug the issues he has found with his preliminary Windows platform
testing.

I am now declaring a soft code freeze for this release (which means
large documentation upgrades are still fine, but no actual code
changes should be merged to the master branch that will be the basis
of this release other than bug fixes).  Right now, this code freeze is
quite soft, but as we approach closer to the release it will harden
almost completely (i.e., only the simplest and most trivial bug fixes
will be accepted).  The point of this rapidly hardening policy is
those of us that test need some largely quiet time with regard to
actual code changes for a week or so just before the release to
finalize our testing results.

N.B. this code freeze does not preclude me continuing to work with Phil on
his private topic branch concerning implementing and using C exceptions
to handle all our C errors.

The projects that we need to finish before this release are the
following with all three of these release-critical in my view.

* Completely debug the Windows variant of the 3-semaphores approach to
  IPC between -dev wxwidgets and wxPLViewer.

  The status of this project is Arjen and I have gone through a number
  of iterations of code changes and Linux comprehensive wxwidgets tests on my 
part and
  similar comprehensive tests of wxwidgets on Windows platforms on
  Arjen's part.  My comprehensive test on Linux was fine (except
  for subscript rendering issues, see below) and
  Arjen also got a promising preliminary result (confined to just
  the shared library build tree) on MinGW-w64/MSYS2 that he needs
  to extend to the nondynamic, static, and install tree cases.

  In addition Arjen's tests with the MSVC compiler discovered an
  uninitialized variable in the superfix/subfix rendering code for
  wxwidgets.  I am the last developer to have touched that complicated
  code so it is up to me to fix it.  But the reason I touched it
  before was it was not rendering correctly at all.  The superscript
  rendering was a lot better after I modified that code to fix some
  obvious issues AND to introduce some semiempirical corrections to
  the vertical spacing for superscripts, but there was still an
  egregious subscript rendering issue (subscripts were being rendered
  exactly like superscripts).  I expect the uninitialized variable
  explains why I was having so much trouble debugging that code, but I
  am virtually positive there is more work to do there than that.
  Although I have not been able to work on this recently because of
  other interesting PLplot developments, I do plan to dig deep into
  that code and finally make it work properly starting tomorrow.

  Of course, such bug fixes are allowed and positively encouraged
  during the soft part of the code freeze so if anyone else wants to
  deal with a bug that has been bothering you (other than the
  well-known plfill bug where there are some deep issues I want to
  deal with myself, and now likely post-release again), I strongly
  encourage you to do that now.

* Comprehensive tests on the Linux and non-interactive comprehensive
  tests on MinGW-w64/MSYS2, MSVC, Cygwin, and
  Mac OS X platforms with fixes for all obvious issues discovered with
  these tests (or if the fix is not obvious or is complex, dropped
  components of PLplot for the platform in question).

  The status of this project is as follows:

  The comprehensive test success that I got last month on Linux has
  now recently been confirmed again (actually for a case where once
  again the prefixes for the source, build, and install trees all
  contained a space).  That Debian Jessie platform has all possible
  PLplot soft dependencies installed (albeit for rather old versions
  of software).

  As a result essentially all Linux-relevant components of PLplot
  were tested, and the tests were done for both noninteractive and
  interactive components of PLplot.  Thus, we are in good shape on
  Linux outside of the PLplot soft dependency version issues brought
  up recently by Ole such as Octave 4 which only works for pure ascii
  examples versus Octave-3 on Debian Jessie that works for both ascii
  and non-ascii UTF-8 examples.  (This octave-4 non-ascii UTF-8 issue
  is something I plan to deal with post-release once I have had a
  chance to install Debian stable = Stretch, testing, and unstable
  following Ole's suggestion.)

  Arjen had completed a successful comprehensive test of all relevant
  noninteractive components of Cygwin much earlier in this release
  cycle so I thought we were in good noninteractive shape on
  that platform, but for some reason that same test is now erroring out
  so that issue needs a lot further investigation by Arjen
  to discover the cause of that peculiar noninteractive regression on
  Cygwin.  For example, it has some symptoms that are consistent
  with it being a hardware failure, but there is no proof of that
  until he gets the classic inconsistent results for exactly the same test
  that are typically associated with some sort of hardware failure
  (e.g., errors in the memory hardware).

  Furthermore, Arjen's first test of an almost fully loaded (except
  for Qt) MinGW-w64/MSYS2 platform on the same box errored out so
  this is a regression against the good Greg Jung results we had for a
  fully loaded earlier version of this platform ~2 years ago. So this
  MinGW-w64/MSYS2 platform regression needs a lot further
  investigation by Arjen as well.

  My understanding is Arjen also plans a comprehensive noninteractive MSVC
  (+ Unix tools on PATH) test with one PLplot component removed
  that did not work the last time he tried this test on that platform.

  If some volunteer steps forward to do a comprehensive test of
  the latest PLplot on Mac OS X, that would be nice, but I don't view
  that as release critical.

* The typedef project

  The status of that project is my old plan (explained in the release
  notes for 5.12.0) to change most PLplot generic pointers to have the
  const attribute is a bad way to create const correctness because
  that imposes a long-term burden on users of these argument types to
  never pass back information using the generic pointers in their
  callbacks. So I have already (a couple of weeks ago) backed away
  from that plan and have gone back to what we had in 5.11.1 which was
  all our generic pointers in our API have the type PLPointer which is
  typedefed to void *.  The generic pointers PL_NC_GENERIC_POINTER and
  PL_GENERIC_POINTER (both of which were introduced in 5.12.0 by
  typedefing them to void *, but there _were_ big plans to change
  PL_GENERIC_POINTER to const void * and use that const type for the
  majority of our generic pointer API) will continue to be typedefed
  as void *.  However, they are now officially deprecated in favor of
  the PLPointer alternative which PLplot users have been using for
  years. So currently PL_NC_GENERIC_POINTER and PL_GENERIC_POINTER are
  typedef'd in include/plplot.h, but they have both been replaced by
  PLpointer everywhere in our code (other than that file) and also in
  our documentation.

  So the current result of the above work is the set of typedefs we use in
  our DocBook documentation is consistent with the non-deprecated
  typedefs specified in include/plplot.h.  So that is an excellent
  start!

  However, there is obviously lots more to do here such as to
  propagate the use of our non-deprecated typedefs (many first defined
  in 5.12.0) to all our C and C++ code in our bindings (e.g., our C++
  binding itself as well as the swig-generated Python, Java, Octave,
  and Lua bindings that are implemented using swig-generated C and C++
  source code) and our drivers and examples that are written in either
  C or C++.  Finally I would also like to make all our C and C++ code
  const correct.  However, I have run out of time in this release
  cycle so I will put off these typedef propagation efforts and
  updating our code to improve const correctness until after the
  release.  For the same reason, I plan to put off working
  on the plfill bug and OCaml PostScript difference issues
  until after this release as well.

So where we stand is the first topic above is relatively close to
being done, and the last topic is done.  However, the second topic
will have a large degree of uncertainty with regard to when it will be
resolved until Arjen's further tests determine the source of those
peculiar noninteractive regressions on those two Windows platforms.

So we are clearly getting much closer to the release because we have
made a lot of progress in the last few weeks and we are now at the
stage where I feel comfortable about declaring the soft freeze.  Also,
I am pretty sure the release will be in August, but I cannot be more
definite than that right now until Arjen figures out the causes of
those two testing regressions.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to