Changes:
5.1.1
-----
* Fixed Docker images not starting due to missing shell
5.1
---
** Major Changes **
* Initial Support for TLS 1.3
** Full Changelog **
* Reduce leaf certificate validity to one year due to upcoming browser
changes (@mhils)
* Rename mitmweb's web_iface option to web_host for consistency (@oxr463)
* Sending a SIGTERM now exits mitmproxy without prompt, SIGINT still
asks (@ThinkChaos)
* Don't force host header on outgoing requests (@mhils)
* Additional documentation and examples for WebSockets (@Kriechi)
* Gracefully handle hyphens in domain names (@matosconsulting)
* Fix header replacement count (@naivekun)
* Emit serverconnect event only after a connection has been
established (@Prinzhorn)
* Fix ValueError in table mode of server replay flow (@ylmrx)
* HTTP/2: send all stream reset types to other connection (@rohfle)
* HTTP/2: fix WINDOW_UPDATE swallowed on closed streams (@Kriechi)
* Fix wrong behavior of --allow-hosts options (@BlownSnail)
* Additional and updated documentation for examples, WebSockets,
Getting Started (@Kriechi)
Changes since 20.1.1:
Ensure that relative paths to other packages have the canonical form
../../category/package.
Add notes about pathname patters that mention ${WRKSRC} even though they
are already defined to be relative to WRKSRC.
Fix check for redundantly added categories. The check had previously
reported that the included file would be redundant, which was wrong.
It's always the including file that provides the redundancy.
* Privilege Separation
* Linux default hostname is (none), everyone is is a blank string
* Leases are now dumped over the control socket - you get RA's now as well.
* Better support for many IPv6 routers
* NetBSD: RTM_MISS filtering
* RA: Deprecate stale addresses by setting pltime 0
* DHCP6: Deprecate stale addresses by setting pltime 0
* Linux: Improve router reachability detection
Note that the kernel will still say it's failed when deleting the entry
* Linux: Note router preference in ip -6 route output
* Linux: Fix compile warning if HAVE_IN6_ADDR_GEN_MODE_NONE isn't supported
* Linux: Fix syslog support when /dev/log isn't in /dev
* privsep: configure defaults to user dhcpcd if _dhcpcd or _dhcp are unsuitable
* privsep: Improve error when we don't have permission to write lease
* privsep: Fix hooks restarting other daemons
The gopls command is an LSP server for Go. The Language Server Protocol
allows any text editor to be extended with IDE-like features; see
https://langserver.org/ for details.
Updated devel/p5-GitLab-API-v4 to 0.25
Updated devel/p5-Hash-Case to 1.050
Updated devel/p5-IO-Stty to 0.04
Updated devel/p5-IPC-System-Simple to 1.30
Updated devel/p5-Inline to 0.86
0.86 Wed Jan 8 21:19:58 PST 2020
- Fix various test problems
0.85 Mon Jan 6 07:33:52 PST 2020
- Fix a taint issue @mohawk2++
0.84 Mon Jan 6 07:04:31 PST 2020
- https://github.com/ingydotnet/inline-pm/pull/75 Make correct PERL5LIB to
pass on including -I flags @mohawk2++
(pkgsrc)
- Add two TEST_DEPENDS
(upstream)
1.30 2020-03-23 21:16 America/New York
* SUBSTANCE: On MSWin32, make Win32::Process a prerequisite (needed
for non-Strawberry Perl builds). As recommended by A Sinan Unur.
1.29 2020-03-22 08:22 America/New York
* SUBSTANCE: Better workaround for bug in perl-5.8.9
(GHI 23); contributed by Slaven Rezić.
1.28 2020-03-21 21:39 America/New York
* SUBSTANCE: Improved handling of shell commands on Windows,
mostly per suggestions by David Wheeler. This should get us
closer to resolving Win32-related issues. (There should be no
change of functionality on Unix-like platforms.)
* TESTING: Add t/args.t per David Wheeler. Modify t/win32.t per
@dylanstreb.
* META: Added Travis and AppVeyor configuration files.
Eliminated use of Dist::Zilla for build. Using older, but
more reliable and better understood (by maintainer)
ExtUtils::MakeMaker-based configuration. Add LICENSE, README,
Makefile.PL, MANIFEST and MANIFEST.SKIP; remove dist.ini. Move author
testing to xt/directory.
1.28_001 2020-03-21 16:42 America/NewYork
TRIAL RELEASE only
Attempting to resolve numerous Win32 issues
1.26 2020-01-24 20:47 America/NewYork
* BUILD: Update FAIL_POSIX warning message
Per: https://github.com/pjf/ipc-system-simple/pull/28. Thanks to scop.
* TEST: t/07_taint.t: Use executable name as source of taintedness
Addresses https://github.com/pjf/ipc-system-simple/issues/21
Thanks to Petr Písař.
* OTHER: Typographic corrections:
rt.cpan.org 60211; leonerd++
rt.cpan.org 86403; dsteinbrunner++
Add Travis configuration.
1.26-TRIAL 2020-01-24 03:43:20 GMT
TRIAL release only
0.04 Sat Jan 18 2020
- Switch to EU::MM
- Address a few deficiencies in the way how the stty() sub processes its arguments
- Enable testing on Github actions.
version 1.005: Wed Jun 18 09:02:28 CEST 2008
- require perl 5.6.0 [cpantesters]
- minor distribution clean-ups
version 1.004: Fri Jun 8 15:37:31 CEST 2007
- fixed 2 typo's in POD (Thanks to CPANTS)
- add t/pod.t
- use oodist to create docs.
0.25 2020-02-12T22:20:48Z
- Add the delete_pipeline method.
0.24 2020-02-12T22:09:39Z
- Add all the container registry methods.
- Add http_tiny_request and http_tiny_response to ::RESTClient. This
should help people debug issues easier.
(pkgsrc)
- convert BUILD_DEPENDS to TEST_DEPENDS
(upstream)
0.105 2020-02-26 09:40:36+11:00 Australia/Melbourne
- one_of suboptions now get accessors (thanks, Michael McClimon!)
Changes:
2.28.1
======
- Fix position of default option element popup windows under Wayland.
- Fix rendering after a cross site navigation with PSON enabled and
hardware acceleration forced.
- Fix a crash in nested wayland compositor when closing a tab with
PSON enabled.
- Update Chrome and Firefox versions in user agent quirks.
- Fix a crash with bubblewrap sandbox enabled.
- Fix a crash in JavaScriptCore in ppc64el.
- Fix the build with GStreamer 1.12.
- Fix several crashes and rendering issues.
Release Notes - Xerces-C++ - Version 3.2.3
** Bug
* [XERCESC-1963] - Custom HTTP headers missing with CURL NetAccessor
* [XERCESC-2126] - Type Confusion from DTDGrammar to SchemaGrammar
* [XERCESC-2146] - Patch to build with older GCC
* [XERCESC-2155] - fix build without pthread
* [XERCESC-2158] - XMLUTF8Transcoder: One multibyte UTF8 character is swallowed from the srcData when the resulting surrogate pair does not fit in toFill at the end
* [XERCESC-2160] - Postpone freeing the memory being used by CURL
* [XERCESC-2161] - No rule to make target '/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg'
* [XERCESC-2168] - Memory leak in ValueVectorOf
* [XERCESC-2172] - There is an error in the parameters of the ThreadTtest8 script in Apache xerces-c++ XML's tests/script
* [XERCESC-2176] - Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
* [XERCESC-2177] - invalid windows version check for `onXPOrLater`
* [XERCESC-2180] - Handle surrogate pairs when reading a QName instead of ASSERTing
* [XERCESC-2185] - Janitor.hpp fails to compile on Solaris with Solaris Studio 12.2 and 12.4
* [XERCESC-2186] - undef symbols on HPUX for ArrayJanitor
* [XERCESC-2187] - DOM tests crash on AIX
* [XERCESC-2189] - XMLChar with NEED_TO_GEN_TABLE has 2 buffer out of bounds reads
* [XERCESC-2194] - Including Xerces_autoconf_config.hpp on Windows fails due to undefined ssize_t
Vala 0.48.3
===========
* Various improvements and bug fixes:
- codegen:
+ Append initializer for "_*_size_" of array field in internal struct
+ Avoid critical trying to serialize an unsupported type to Variant [#952]
+ Don't free value if property setter takes ownership [#953]
+ Correct field declaration for captured inline-allocated array [#954]
+ Include "glib.h" for G_BEGIN_DECLS/G_END_DECLS usage
+ Correctly handle transformation of translated string-literal constants
+ Don't pass CCodeCastExpression to NULL-aware free macro [#953]
- vala:
+ Support struct initializer list in non-constant array [#949]
+ Handle unlock() statement in CodeWriter
+ Handle all ctors and dtors in CodeWriter
+ Consider boolean types are compatible with each other
+ Parse standalone integer/real literals as expression statement [#961]
+ Warn about usage of override to implement abstract interface methods
* Bindings:
- gio-2.0: Update to 2.65.0~a136776e
- gstreamer: Update from 1.17.0+ git master
- gtk4: Update to 3.98.2+11495027
Summary of bugs fixed for version 5.2.0:
Improvements
- Lock amd and symbfact to avoid segmentation fault with SuiteSparse
- Fix segfault when calculating patch vertex normals
- Fix segfault in constructing patch normals for lighting
- mat2str.m: Fix for logical matrix (add `transpose`).
- improve file equality check for MS Windows
- ismember.m: Fix second return argument when values are complex
- findobj.m: Fix typo and correctly handle numeric properties
- Correctly display integer types with format hex
- Cast `winqueryreg` `REG_DWORD` types to `DWORD`
- Fix numerous errors in `audiowrite` / `audioread`
- print.m: Pass quoted path to `octave-svgconvert`
- dir.m: Fix occasionally returning incorrect folder field
- Stop segfault when calling 3-input form of `diag` with cell arrays
- improve message for setting breakpoint in nonexistent function
- Use framebuffer object for printing invisible Qt figures on mac
- Escape backslash characters in `EPS` output
- Use replacement characters to display non UTF-8 strings in figures
- inputrc: Add warning about modification
- documentation.cc (global_search): just return if query string is empty
- Default (c)transpose for old style class arrays
- Always reserve at least 1 element of storage for sparse matrices
- Don't segfault at exit after reading malformed HDF5 file
- Fix pause() with no arguments called on Windows
- refactor minimum eigenvalue index search in `qp`
- qp: fix obscure corner case when calculating `qp` caused by a typo
- use `std::streampos` instead of `std::ios::streampos`.
- fix `pause` and `kbhit` with glibc 2.28 end-of-file state behavior
- Fix return of left-handed vectors when inputs are complex
- waitbar.m: Fix hang when using `createcancelbtn` property
- shading.m: Fix unexpected error when multiple `hggroups` present
- dec2base.m: Correctly handle zero matrix input
- eliminate duplicate graphics callback object stack
- Improve performance when closing figures
- Reduce time to process `pkg -forge list` by 30X
- Feed `fig2dev` with PDF files converted from svg
- Improve error checking for `iconv_open`.
- poly.m: fix the fix for input of complex conjugate pairs
- mkoctfile: use the `TMPDIR` environment variable if set
- line.m: Fix creation of unwanted axes
- Accept 4-input form for quiver3
- pkg.m: restore installing packages from zip archives
- axis.m: Fix issues with `equal` argument
- ordeig.m: Do not fail on 1x1 matrices
GUI
- fix editors search and replace in selection
- undo a complete replace all action in the editor
- fix missing unlock of mutex when gui editor is not present
- prevent unnamed editor tab from being closed by `rmdir`
- prevent editor from closing files that are not affected by `rmdir`
- fix creating keyword files for editor autocompletion
- fix dock widget position when being dragged out of the main window
Build system / Tests
- configure: prevent overlinking when SUNDIALS is disabled
- use QtCore and Qt5Gui modules instead of Qt5OpenGL
- make building with Qt4 QGLWidget work again
- build: adapt mk-qthelp.pl to changes in Texinfo 6.7.
- BIST should not rely on the current directory to be writable.
- bp-table.cc: Fix test.
- maint: Make old style class tests Matlab compatible.
- Add BIST tests for `unlink`
Documentation
- fix many spelling errors
- help: improve documentation for the `startup.m` user script.
- avoid conflict with @seealso macro in Texinfo 6.6
- mk-doc-cache.pk: Also translate `@seealso` here.
- __makeinfo__.m: Also translate `@seealso` here
- polar.m: Document that input is expected to be in radians
- gallery.m: Fix typo in docstring for poisson
- Add 1024x1024 Octave logo icon
- add `.editorconfig` for default file encoding and indentation.
- octave.doap: Copy localized (short) description over from appdata
- org.octave.Octave.appdata.xml: Add German and French description
- languages/*.ts: updated language files
- quiver3.m: Fix texinfo typo in docstring from cset f7b10bd40045.
- doc: fix `.` Operator Index entry to build with Texinfo 6.7.
- doc: improve example of using global variables from oct-files.
- doc: Create en-dashes and em-dashes correctly in documentation.
- doc: expand `page_output_immediately` doc string, mention `page_screen_output`.
- doc: Clarify documentation of `history_file`
- doc: Improve documentation for `get_help_text`, `get_help_text_from_file`.
- doc: Add documentation for `GNUTERM` variable used with gnuplot
- doc: Improve `contour` docstring example
- doc: Add example to show limitations of the given BLAS integer size.
- doc: Improve documentation of sparse functions.
- doc: Improve spelling of `bicgstab`
- doc: Remove `Map` functions `keys`, `values`, `remove` from unimplemented list
- doc: Add function index entry for alias `inverse`
- add content rating declaration to AppStream metadata
- doc: Remove stray semicolons from `pie`, `pie3` calling forms.
- doc: Redo documentation for `rats` function.
- doc: Specify `position` property for text objects is a three-element vector
- doc: state that Octave can only load HDF5 files created by itself
- doc: Fix names of options in `issorted`
- doc: Small fixes to `mat2cell` and `polyeig` docstrings
- doc: Improve example code for using `-pdflatexstandalone`
- doc: Refer to "root object" rather than "root figure object".
- doc: Place cross-reference from list of graphics object properties back to object
- doc: document the newline character in warning messages
- doc: pkg versions can be more general than "x.y.z"
0.16.0, 2020-03-24
* No major updates but Python 2 support no longer guaranteed.
* Fix#192, 'ignore_extra' for 'pvector_field'. Thanks @ss18 for this!
* Fix#191, include LICENCE in distribution. Thanks @johnthagen for this!
* Fix#190, minor MyPy errors. Thanks @Qhesz for this!
Qhull 2019.1 (7.3.2):
bugs fixed
- Fixed broken HTML links identified by Firefox Link Analyzer. Replace old links with web.archive.org (archive.is)
- Moved live code out of qh_NOtrace regions
- qh-faq.htm#learn: fixed the Delaunay examples (rbox generates a square, but does not generate two squares)
- geom2_r.c/qh_maxmin: qh_scalelast for 'd Qbb' to qh.MAXabs_coord instead of qh.MAXwidth [J.R. Roussel, D. Sterratt]
- geom2_r.c/qh_maxsimplex: estimate targetdet as prevdet*qh.MAXwidth, set mindet to 10*qh_RATIOmaxsimplex [J.R. Roussel, D. Sterratt]
- global_r.c/qh_freebuild: in high-D, simplicial facets may use long memory
- global_r.c/qh_initqhull_globals: set qh.DOcheckmax and qh.KEEPnearinside if qh.APPROXhull ('Wn', rbox 100 D3 W1e-1 | qhull QJ W1e-1 Tv)
- libqhull_r.c/qh_addpoint: add qh.lastmerges to qh_addpoint trace
- libqhull_r.c/qh_buildcone_mergepinched: called qh_partitioncoplanar with uninitialized 'dist'
- libqhull_r.c/qh_build_withrestart: if qh_joggle_restart, set v.partitioned for qh.del_vertices. Avoid error in qh_delvertex from qh_freebuild
- libqhull_r.c/qh_partitionall: if qh.KEEPnearinside, qh_partitionpoint for non-outside pointset
- libqhull_r.c/qh_partitioncoplanar: define qh.coplanar_apex to prevent infinite loop of repartition point
- merge_r.c/qh_checkzero: check opposite vertex against -2*qh.DISTround to account for qh_distround and 'Rn'
- merge_r.c/qh_comparevisit: fix compare of 'unsigned int'
- poly2_r.c/qh_findbestfacet: for Delaunay triangulations, may be an adjacent triangle [F. Drielsma]
Updated discussion at qh-code.htm/findfacet and examples at user_eg_r.c and user_eg2_r.c
- poly2_r.c/qh_findfacet_all: do not search visible facets, and if qh_NOupper, f.upperdelaunay facets [P. Virtanen, S. Dominguez, J.Arkin]
- poly2_r.c/qh_initialhull: reverse orientation if clearly flipped. qh_ERRsingular if maybe flipped [S. Caron, P. Virtanen, D. Sterratt, others]
- poly2_r.c/qh_initialhull: test for coplanar qh.interior_point with 'allerror' (dist >= -qh.DISTround) [S. Caron, P. Virtanen, D. Sterratt, others]
- poly2_r.c/qh_initialhull: call qh_joggle_restart for qh.DELAUNAY if cospherical input sites [P. Celba]
- poly2_r.c/qh_initbuild: qh_scalelast for 'd Qbb' to qh.MAXabs_coord instead of qh.MAXwidth [J.R. Roussel, D. Sterratt]
- random_r.c/qh_argv_to_command_size: returned size may be < 1. If so, rbox.c/main reports an error
- rboxlib_r.c/qh_rboxpoints: report error for coincident, regular points 'rbox r C1,1e-13'
- stat_r.c/qh_initstatistics: missing call to qh_allstatistics for qh_newstats. qh_checkoutput ignored
- userprintf.c/qh_fprintf: fixed 2019.0.1 bug if 'qh_qh' is NULL for qh_QHpointer
- Qhull.cpp/outputQhull: fixed missed conditional if qh.GOODvertex == -qh.GOODpoint
documentation and web site
- Add notes that Qhull 64-bit code uses 50% more memory than 32-bit code. This slows down Qhull.
A future version of Qhull will include memory and performance improvements for 64-bit code.
- Add the Qhull identity pipeline to html/qhalf.htm
- Enabled PDF download from portal.acm.org
- Error exit from qhull,qconvex,etc. returns a 6xxx error code if available
- Rename md5sum files back to *-tgz.md5sum and *-zip.md5sum
Both Firefox and IE convert *.tgz.md5sum and *.zip.md5sum as .tgz/.zip files
- html/qh-code.htm: add sections on debugging Qhull
- html/qh-faq.html: reviewed startup questions for Qhull
- html/qh-opto.htm: the centrum indices for option 'i' are one more than the centrum indices for option 'Ft'
build and test
- CMakeLists.txt: export QhullTargets for config.cmake.in and find_package [tamasmeszaros]
- eg/q_benchmark: add 'uname -a' for host identification
- eg/q_test.bat: update for changes to q_test
removed redirects on every line (invoke with redirection)
- eg/q_test: add some tests for option warnings and errors
- Makefile: add dependencies for 'install', 'test', 'qtest', and 'qconvex-prompt' [V. Delecroix]
- Makefile: set -m32 as default for gcc builds. Uses less memory on 64-bit hosts.
disable with 'make M32='
- Remove 'unused parameter' warnings if qh_NOmerge
- Tested qh_QHpointer, qh_NOmem, qh_NOmerge, qh_NOtrace, qh_KEEPstatistics 0
- Tested qh_NOmerge with qh_NOtrace and qh_KEEPstatistics 0. Simpler code, fewer errors, 35% smaller
- Tested random qh_distplane and qh_setplane qh_RANDOMdist 1e-5, qh_RANDOMdist 1e-13
- user_r.h: define qh_RANDOMdist to perturb all calls to qh_distplane, qh_newfacetplane by 'Rn'
other changes
- Replace 'unsigned' with 'unsigned int', for consistency
- Replace warning 6263 with 7079 in qconvex_r.c, etc.
- Resolved C warnings for -Wsign-conversion, mostly type casts
Continue to use -Wno-sign-conversion for C++ due to countT, boolT, int vs. size_t mismatches
- Reviewed gcc 8.1.0 warnings. See Makefile CC_WARNINGS and CXX_WARNINGS
Type cast (int)sizeof(facetT),etc. as needed
- Reviewed error and warning codes for multiple instances of the same code
- Reviewed file references such as libqhull_r.c vs libqhull.c
- Reviewed multi-line, error message width for 80 column output
- global.c/qh_initflags: Add 'qh_QHpointer' to qh_option for option list
- geom2_r.c/qh_joggleinput: report QH6010, current joggle is too large, as qh_ERRinput
- geom2_r.c/qh_maxsimplex: report error if qh.MAXwidth not defined, for estimating the determinates
- geom2_r.c/qh_minmax: if tracing, log min and max coordinates [J.R. Roussel, D. Sterratt]
- io_r.c/qh_printbegin: rewrote warning QH7053, use 'p' or 'o' for Voronoi centers
- io_r.c/qh_produce_output2: fflush to maintain execution order of output
- libqhull_r.c/qh_buildtracing: change qh.lastfacets, qh.lastplanes, qh.lastdist to 'int'
- libqhull_r.c/qh_build_withrestart: change error QH6229, 101 attempts to joggle input, to qh_ERRinput and 51 attempts
- merge_r.c/qh_renameridgevertex: report error if old vertex not found
- poly_r.c/qh_update_vertexneighbors: use qh_setappend instead of qh_setunique for newly created facets (restores 2015.2 code)
- poly2_r.c/qh_check_point: limit 'Tv' errors to qh_MAXcheckpoint per facet
- poly2_r.c/qh_initialhull: rewrite QH6329 for cospherical input sites and add qh_printvertexlist [P. Celba]
- qset_r.c/qh_setlarger_quick: optimize qh_setlarger for quick memory
- rboxlib_r.c/qh_rboxpoints2: fix strncat to resolve -Wstringop-truncation warning [D. Sterratt]
increased command[] to 250 and decreased seedbuf[] to 50
- user_r.h/qh_JOGGLEmaxretry: reduced from 100 iterations to 50 iterations
- user_r.c/qh_new_qhull: allow "qhull" for the qhull_cmd parameter
- user_eg_r.c/findDelaunay: qh_findbestfacet returns the closest Delaunay triangle or an adjacent triangle
- user_eg2_r.c/findDelaunay: qh_findbestfacet returns the closest Delaunay triangle or an adjacent triangle
- userprintf_r.c/qh_fprintf: set qh.last_errcode for MSG_ERROR (6000) codes
- RboxPoints::qh_fprintf_rbox: print error message to stderr if cpp_object undefined
Qhull 2019.0.1 (7.3.1)
Qhull options
- Disallow unknown options and other option errors, allow option warnings with 'Qw'
- New option 'Qallow-short': allow input with fewer or more points than coordinates
- New option 'Qwarn-allow': allow option warnings
- New option 'TAn': stop after adding n vertices
- New option 'Tf': flush after qh_fprintf for debugging segfaults
- New experimental option 'Q14-merge-pinched-vertices': merge pinched vertices due to dupridge
Excessive merging leads to additional topological and wide facet errors
- New experimental option 'Q15-check-duplicates': check for duplicate ridges with the same vertices
- Option 'Q1' merges by mergetype/angle instead of mergetype/distance, coplanar merges first
In 2015.2 by default, Qhull merged by mergetype/angle with lower angles first
- Option 'TP-1' turns on tracing after qh_buildhull and qh_postmerge
It traces qh_check_maxout, qh_prepare_output, qh_triangulate, qh_voronoi_center
- Options '--help', '-?', and '--' display a short help message
Qhull does not support '--' options. Git for Windows v2.21.0 does not support isatty ('winpty qhull' is OK)
- Allow Qhull extra options Q12 and Q14 for qconvex/qdelaunay/qhalf/qvoronoi
- Allow option 'QRn' (random rotate) for qdelaunay/qhalf/qvoronoi
- Alphabetize short prompts (qhull .)
- Alphabetize long prompts w/ normal options first (qhull -)
- Alphabetize option help by option code
- Add 'Number of merged pinched vertices' to summary ('s')
- Add 'TI file' to help message for qconvex/qdelaunay/qhalf/qvoronoi
- Dropped experimental option 'Q16-simplex-merge'. Centrums are required for convexity
- Error if 'd', 'v', or 'Hn,n,n' are used together
- Ignore missing space after 'TI' or 'TO'. Allow 'TIinputfile' and 'TOoutputfile'
- Prefix option errors and warnings with 'qhull option error:' or 'qhull option warning:'
- Remove hidden option 'normals' from help prompts for qdelaunay, qhalf, qvoronoi
- Reword short prompts to 'Pdrop-d0:0D0', 'QbBound-0:0.5', and 'off_format'
- Updated qh-quick.htm, 'qhull -', and 'qhull .' for 'T...' and 'Q...' options.
Separate help prompts for 'T options' and 'Trace options'
- Use '-' instead of '_' for word delimiter in option names
Qhull builds, scripts, and debugging
- Add qh.traceridge, qh.traceridge_id, and qh_delridge for debugging by ridge in qh_fprintf
- Check for qhull with 'which qhull' instead of 'qhull', avoids hangs in git bash
- Makefile/CC_WARNINGS: Add instructions for collecting and testing gcc warnings
- Makefile/benchmark: Add q_benchmark, 10 runs of each
- Makefile/clean: Delete linked files from src/libqhull and src/libqhull_r, as in their Makefiles
- Makefile/help: Add 'make all' to 'make help' prompts
- Makefile/qhullx: Add test of testqset and testqset_r
- Makefile/qhullx: Create bin/ directory if missing
- Makefile/test: Add user_eg3 help prompt
- Makefile/testall: Add q_benchmark, 1 run of each
- eg/make-vcproj.sh/qhullx: Build bin/qhullx from src/qhullx/ for comparison
- eg/q_benchmark: new script for measuring Qhull precision and performance with qtest.sh
- eg/q_test: update error messages for missing bin/ and bin/libqhull_r.dll
- eg/q_test: tests of Tf and TAn
- eg/qhull-zip.sh: add note that it requires road-script.sh from http://www.qhull.org/road/
- eg/qhull-zip.sh: check source depencencies for prompts
- eg/qtest.sh: new script for testing Qhull and summarizing its trace files
- libqhull_r/Makefile: install target creates $INCDIR/libqhull_r and $LIBDIR
- libqhull_r.h/qh_ERRdebug: define error status for debugging exits
Qhull fixed bugs
- html/qh-optp.htm: options 'PDk' and 'Pdk' require option 'Pg' to return the closest facet
- Makefile/qhullx: fixed qhullx compile of testqset and testqset_r
- PointCoordinates.cpp/appendPoints: read 'in >> p' instead of 'in >> p >> ws'
otherwise istream fails if file does not end with whitespace
- geom_r.c/qh_findbesthorizon: fix test for Zfindjump (bestdist jumps by searchdist)
- geom_r.c/qh_findbesthorizon: increased minsearch of coplanar facets if ischeckmax and more than 100 neighbors
- geom_r.c/qh_sethyperplane_det: dropped precision statistic Znearlysingular (it's Zminnorm)
- geom2_r.c/qh_detjoggle: use 'En' (roundoff) if specified by options
- geom2_r.c/qh_distround: move adjustment for 'Rn' into qh_distround. 'QJn' did not account for 'Rn'
- global_r.c/qh_checkflags: handle two-digit Q options in hiddenflags
- global_r.c/qh_freebuild: do not delete unattached ridges, otherwise a double delete. Should not occur
- global_r.c/qh_option: fix potential overflow of qh.qhull_options
- global_r.c/qh_initflags: fixed incorrect indentation for option 'TO file'
- global_r.c/qh_initqhull_start2: set qh.NOerrexit True
- io_r.c/qh_eachvoronoi: allow fp==NULL for QhullQh::qh_fprintf to appendQhullMessage
- io_r.c/qh_readpoints: error if 'd' or 'v' with 'H', otherwise memory corruption
- libqhull_r.h/qh.MERGEvertices: fixed comment, 'Q3' disables this feature
- libqhull_r.c/qh_buildcone_onlygood: cannot qh_delfacet inside FORALLnew_facets
- libqhull_r.c/qh_partitionpoint: if qh.NARROWhull and bestdist>qh.MINoutside and isnewoutside,
may need to move facet to qh.newfacet_list for qh.next_facet
- libqhull_r.c/qh_printsummary: Zdistconvex is for checking convexity instead of testing convexity
- libqhull_r.c/qh_findhorizon: coplanar horizon if apex >= -qh.MAXcoplanar, instead of > -qh.MAXcoplanar
- mem_r.c/qh_memcheck: define null qh_memcheck if qh_NOmem
- merge_r.c/qh_mergecycle_all: turn on tracing, 'TMn', for coplanar horizon merge of one facet
- merge_r.c/qh_mergefacet2d: do not create ridges for neighborB. The opposite neighbor may be tested
- merge_r.c/qh_test_centrum_merge: coplanar if centrum >= -qh.centrum_radius, instead of > -qh.centrum_radius
- merge_r.c/qh_test_nonsimplicial_merge: coplanar if centrum >= -qh.centrum_radius, instead of > -qh.centrum_radius
- merge_r.c/qh_tracemerging: fixed "qhull has merged" prompt
- merge_r.c/qh_willdelete: empty f.neighbors and f.ridges, references are no longer valid, will be deleted
- poly_r.c/qh_checkflipped: flipped if qh.interior_point >= -qh.DISTround, instead of > -qh.DISTround
- poly2_r.c/qh_addfacetvertex: initialize vertex_i in case f.vertices is empty
- poly2_r.c/qh_check_maxout: need to include qh.DISTround when checking f.maxoutside with qh.maxoutside
- poly2_r.c/qh_checkconvex: fix documentation for qh_DATAfault. It is restricted to qh_initialhull with qh.ZEROcentrum
- poly2_r.c/qh_checkconvex: coplanar if >= -qh.DISTround, instead of > -qh.DISTround
- poly2_r.c/qh_checkconvex: check simplicial ridges if !qh.MERGING && qh.ZEROcentrum (unlikely or not-possible)
- poly2_r.c/qh_findgood: restrict qh.GOODvertex ('QVn') to good facets
- poly2_r.c/qh_findgood_all: unless 'Pg', ignore qh.GOODclosest for nearest facet to thresholds.
'PdD' reports 0 good facets
- poly2_r.c/qh_replacefacetvertex: initialize vertex_n in case f.vertices is empty
- qconvex.c,qdelaunay.c,etc.: remove automatic 'Qx' for 5-d and higher. Set by default in qh_initqhull_globals
- qvoronoi_r.c/qh_prompt: remove disabled option 'TRn' from help prompt
- random_r.c/qh_argv_to_command: fixed missing braces, same behavior as before
- rbox_r.c: return 0 exit status on prompt
- rboxlib.c/qh_rboxpoints: use qh_fprintf_stderr instead of qh_fprintf_rbox. Avoid qh_errexit_rbox
- rboxlib.c/qh_rboxpoints2: clear rbox_inuse on exit, as in error exit
- rboxlib_r.c/qh_rboxpoints2: incorrect string arg to 'rbox error: unknown flag'
- rboxlib_r.c/qh_rboxpoints2: remove superfluous qh_free(*simplex)
- stat_r.c/qh_initstatistics: due to NOerrors cannot use qh_fprintf, use qh_fprintf_stderr instead
- stat_r.c/qh_stddev: return sqrt of absolute value
- testqset_r.c: if qh_NOmem, do not call qh_memfreeshort
- user_eg_r.c,user_eg2_r.c: if qh_NOmem, call qh_freeqhull(qh, qh_ALL) instead of qh_memfreeshort
- user_eg3_r.cpp: return 0 exit status on prompt
Qhull fixed bugs introduced by 2018.0
- libqhull_r.c/qh_addpoint: clear qh.retry_addpoint on success
- libqhull_r.c/qh_buildcone_mergepinched: cannot qh_delfacet inside FORALLnew_facets
- libqhull_r.c/qh_partitioncoplanar: clear qh.repart_id on exit for infinite recursion detect
- geom2_4.c/qh_detmaxoutside: move qh_option call to qh_errexit
- merge_r.c/mergetypes[]: fixed order by mergeT
- merge_r.c/qh_all_vertexmerges: fix retryfacet for repeated calls
- merge_r.c/qh_forcedmerge: f.dupridge retained after MRGdupridge
hides MRGdegenerate in qh_test_degen_neighbors and qh_test_redundant_neighbors
- merge_r.c/qh_postmerge: call qh_freemergesets
- merge_r.c/qh_test_nonsimplicial_merge: clear iscoplanar if isconcave and any vertex is not coplanar
- poly2_r.c/qh_triangulate: move reset of f.degenerate into delete facet loop
Qhull C++
- QhullFacet.cpp: add hasNext() and hasPrevious()
- QhullVertex.cpp: add hasNext() and hasPrevious()
- qhulltest-64/QhullFacet_test.cpp,QhullVertex_test.cpp: test hasNext, hasPrevious, and hasPrevious iterator
- user_eg3.cpp: use 'qhull-cout' for option 'Tz' (trace to cout)
Qhull errors, warnings, and tracing
- Error messages rewritten and error codes changed (see qh_fprintf)
Renumbered Qhull warnings as 'QH7xxx' if needed (e.g., QH9375)
Reused unused error and message codes ("def counters" in user_r.h/msgcode)
Please check your code if it depends on error and message codes
- Initialize variables to avoid potential uninitialized warnings
- Use qh_ERRqhull for Qhull internal errors, "qhull internal error (qh_...): ..."
- Use 'defined()' for qh_QHpointer_dllimport and qh_dllimport (-Wundef)
- Use 'defined()' for __cplusplus, _MSC_VER, __MWERKS__, and __POWERPC__ (-Wundef)
- Use 'Early exit' instead of 'At a premature exit'
- libqhull_r.h/qh_ERRother: define error status for non-internal errors
- libqhull_r.h/qh_ERRtopology: define error status for qhull topology errors
- libqhull_r.h/qh_ERRwide: define error status for wide facets due to qhull precision error
- geom_r.c/qh_setfacetplane: add qh_printfacet if qh.tracefacet for qh.tracefacet_id
- global_r.c/qh_freebuild: record previousfacet/ridge/vertex in case a memory fault occurs
- global_r.c/qh_init_flags: improved error message for 'cannot open file' for 'TO f'
- global_r.c/qh_init_flags: improved warning message for 'unknown option'
- global_r.c/qh_initbuild: add trace options to "Trace level ..."
- global_r.c/qh_initqhull_globals: error if qh.VORONOI without qh.DELAUNAY
- global_r.c/qh_initqhull_globals: error if numpoints is <1 or >qh_POINTSmax (INT_MAX-16)
- global_r.c/qh_lib_check: use C-style comment for _CrtSetBreakAlloc
- io_r.c/qh_printfacetheader: add "max" if f.merges==qh_MAXnummerge (511)
- io_r.c/qh_readpoints: error if numinput is <1 or >qh_POINTSmax (INT_MAX-16)
- io_r.c/qh_readpoints: moved up 'chop' of qh.rbox_command to report short input errors
- io_r.c/qh_readpoints: replace warning QH7073 with error message. Override with Qallow-short
- libqhull_r.c/qh_addpoint: if 'T4', check qh.visible_list before qh_partitionvisible
- libqhull_r.c/qh_buildtracing: add delta cpu/facets/hyperplanes to QH1049 'qh_addpoint: add p%d...'
- merge_r.c/qh_findbest_pinchedvertex: replaced assert with a 'qhull internal error'
- merge_r.c/qh_check_dupridge: drop advice about reporting wide merges for error QH6271
- merge_r.c/qh_mark_dupridges: topological error if multiple dupridges for one facet, not handled
- merge_r.c/qh_test_nonsimplicial_merge: if Qx and many merges, replace centrum_radius with maxoutside
- poly_r.c/qh_matchneighbor: drop extra warnings for duplicate facet (QH7084)
- poly_r.c/qh_matchnewfacets: check for simplicial facets on qh.newfacet_list, otherwise memory overwrite by qh_matchneighbor
- poly2_r.c/qh_checkconvex: identify simplicial checking of vertices (qh.ZEROcentrum, default)
- poly2_r.c/qh_checkconvex: distinguish above from coplanar for non-convex initial simplex
- poly2_r.c/qh_checkconvex: "non-convex initial simplex" for qh_joggle_restart
- poly2_r.c/qh_checkfacet: check f.id and f.vertex_visit
- poly2_r.c/qh_checklists: check and repair facet and vertex lists for infinite loops or overwritten facets/vertices
- poly2_r.c/qh_checkpolygon: if qh.NEWfacets, check visible facets for empty f.neighbors and f.ridges
- poly2_r.c/qh_checkpolygon: add qh_checkvertex
- poly2_r.c/qh_checkpolygon: check f.previous and v.previous links (for C++)
- poly2_r.c/qh_checkvertex: add parameters for allchecks and waserror (like qh_checkfacet)
- poly2_r.c/qh_checkvertex: check v.id and v.vertex_visit
- qvoronoi.c/hidden_options: hide option 'FM'. Maple output is not available
- rboxlib_r.c/qh_rboxpoints: use QH6... for error codes instead of warnings
- stat_r.c/qh_stddev: check for division by 0
- testqset_r.c: send all messages, except 'OK' to stderr
- testqset_r.c: reassign unique QH8nnn codes, 8001/etc in use by libqhull_r
- user_r.c/qh_printhelp_internal: add descriptive message for a Qhull internal error
- user_r.c/qh_printhelp_narrowhull: add option 'Qs' (search all points)
- user_r.c/qh_printhelp_topology: add descriptive message for a Qhull topology error
- user_r.c/qh_printhelp_wide: add descriptive message for a wide merge error
- user_eg_r.c: add fflush and '=======' markers to interleave stdout with stderr (MSYS2)
- user_eg2_r.c: add fflush and '=======' markers to interleave stdout with stderr (MSYS2)
- user_eg2_r.c: add warning about calling qh_addpoint after qh_qhull with 'QJ' (joggle)
Qhull documentation and statistics
- Add Index to README.txt
- Add links to Wiki, http://github.com/qhull/qhull/wiki
- Add links to local home page (index.htm)
- Add GitHub, Scholar, and Code to navigation bar on home page
- Change numbered fixups to 'QH110nn FIX:' and renamed as MSG_FIX
- Chrome and Internet Explorer load '.c' and '.h' files as text/html from the Web
These browsers along with Firefox do not read disk files as text/html
Changed 'Functions' link from a local link to "http://www.qhull.org/src/libqhull_r/index.htm"
- Document implicit parameters at end of parameter list with '/* qh. ... */'
- Limit maximum length of literals to 1800 characters
- Move 'called by' comments to start of 'notes:'
- Option 'QRn' appends the actual QRn to the summary line ('s')
- Remove references to 'Qx' in 5-d and higher. It is automatically set by default.
- Replace references to 'src/libqhull/*.htm' with reentrant 'src/libqhull_r/*_r.htm'
- Retitle 'Qhull internals' as 'Qhull code'
- Use 'nearly adjacent vertices' instead of 'nearly coincident points'
- Use 'dupridge' instead of 'duplicate ridge' for ridges with more than two neighbors.
Reserve 'duplicate ridge' for two ridges with the same vertices.
- Various edits to documentation (*.htm)
- Update copyright to 2019
- eg/q_test: Add examples to q_test "front ends"
- html/index.htm: Add 'Limitations of merged facets' to the Qhull manual
- html/index.htm: Add links to qdelaun_f.htm and qvoroin_f.htm (furthest-site)
- html/qconvex.htm,etc: update synopsis and options
- html/qh-code.htm: Add 'qh_addpoint' trace to 'Performance of Qhull'
- html/qh-code.htm: Add a section on 'Debugging Qhull' with subsections for error codes,
infinite loops, trace options, core dumps, segfaults, qtest.sh, and memory errors.
- html/qh-impre.htm: Add 'Topological error' to 'Precision problems'
- html/qh-impre.htm: Add 'Topological errors' to 'Limitations of merged facets'
- html/qh-impre.htm: Add "narrow range of values" to 'Uneven dimensions'
- html/qh-optq.htm: Add note to 'QJ' (joggle) about calls to qh_addpoint
- html/qh-optt.htm#'Tc': 'T4' makes additional checks beyond check-frequently
- html/qhalf.htm: Split the first example to clarify the "feasible point" for qhalf
- html/qhalf.htm: Use 'feasible point' instead of 'interior point' for halfspace intersection
Same as Qhull::feasiblePoint and distinguished from qh.interior_point
- html/qhull.man,qhull.txt: updated man page
- libqhull_r.h: update documentation for PRINTgood, GOODpoint, GOODvertex
- qhull_ra.h: include '<limits.h>'. Used for INT_MAX,etc.
- stat.h: add zretryadd stats for qh_merge_pinchedvertices
- stat.h: add zvertextests for distance tests of vertices for merging
- libqhull_r/*: document global variables as 'qh.'
- libqhull_r/*: fix libqhull/... links
- libqhull_r.c/qh_partitioncoplanar: reword Zpartflip as Zpartcorner with updated messages
- merge_r.c/qh_merge_degenredundant: rename statistic Zneighbor to Zredundant
- stat_r.c: new or reworded statistics for Zpartcorner, Zparthidden, Zparttwisted, Zpinchduplicate, Zpinchedvertex
- stat_r.c: rename 'renamed vertex statistics' to 'statistics for vertex merges'
- stat_r.c: add merge statistics for MRGconcavecoplanar
- stat_r.c/qh_allstat: add ' ' before parens in statistics
- user_eg_r.c,user_eg2_r.c: rewrote prompt
Qhull changes
- For simple initializers, remove spaces (e.g., 'for (i=0; ...')
- Normalize spacing for libqhull
- Normalize spacing as 'for (i=0; ...' for simple initializers
- Review use of '>' for comparison to negative quantities. Usually should be '>=', e.g., for coplanar tests
- Reassigned 8xxx and 9xxx codes as trace codes if traced at T3 or lower
- Remove unused variables
- Test floating point values with 0.0 instead of 0 (qh.premerge_centrum,lower_bound,upper_bound)
- Use SETsecondt_() and SETelemt_() instead of SETelem_() when assigning to a specific type
- Use '(type *)' for pointer casts. It makes the cast more visible.
- Use void for empty parameter lists
- geom_r.c/qh_findbesthorizon: mark startfacet visited, avoids unnecessary visit
- geom2_r.c/qh_detmaxoutside: determine precision target qh.MAXoutside (option _maxoutside at error exit)
replaces 'maxoutside' computation
- geom2_r.c/qh_maxsimplex: add ratio test for false narrow hull with search for prevdet [J. Romain]
- global_r.c/qh_freebuild: free global sets first instead of last, otherwise dangling references
- io_r.c/qh_compare_nummerge: renamed qh_compare_facetmerge due to conflict with merge_r.h
- io_r.c/qh_compare_vertexpoint: remove this routine. Not usable in libqhull_r due to 'qh'
- io_r.c/qh_printfacetridges: do not print ridge if already printed (e.g., duplicate neighbors for merge of simplicial facets)
- io_r.c/qh_produce_output2: fflush of qh.fout to show statistics and verification after output (MSYS2)
- libqhull_r.h/qh.ALLOWwide: rename qh.NOwide to qh.ALLOWwide for 'Q12-allow-wide'
- libqhull_r.h/qh.IGNOREpinched: replaced qh.MERGEpinched with reversed meaning
- libqhull_r.c/qh_addpoint: 'TVn' stops after qh_all_vertexmerges, not before qh_resetlists. Matches documentation
- merge_r.h/MRGdupridge: renamed MRGridge
- merge_r.h/qh_ANGLEconcave,etc.: replace mergetype indicators with qh_ANGLEnone and m.mergetype
- merge_r.c/qh_all_vertexmerges: replace qh_getmergeset_initial with qh_getmergeset. No facets created
- merge_r.c/qh_all_vertexmerges: move while loop into qh_all_vertexmerges
- merge_r.c/qh_append_mergeset: ignore merges into a MRGdegen facet (f.degenerate)
- merge_r.c/qh_buildcone_mergepinched: clean up code and design documentation
- merge_r.c/qh_compare_anglemerge: renamed qh_compareangle and sort by mergetype as well as angle
- merge_r.c/qh_compare_facetmerge: merge MRGcoplanar before MRGconcave, opposite order from 2015.2
sort MRGanglecoplanar by angle
- merge_r.c/qh_degen_redundant_facet,qh_test_degen_neighbors: moved into qh_mergefacet due to qh_willdelete
- merge_r.c/qh_getmergeset,qh_getmergeset_initial: set f.tested after testing ridges, not before
- merge_r.c/qh_next_facetmerge: split out next merge from qh_all_merges and replace qsort
- merge_r.c/qh_findbest_pinchedvertex,qh_findbest_ridgevertex: dropped selecting merge direction via qh_vertex_isbelow. Expensive and evidence mixed
- merge_r.c/qh_freemergesets,qh_initmergesets: pair qh_initmergesets with qh_freemergesets
- merge_r.c/qh_freemergesets,qh_initmergesets: drop the 'all' parameter
- merge_r.c/qh_mergecycle_all: move qh_merge_degenredundant, etc. to end from qh_premerge
- merge_r.c/qh_mergesimplex: delete facet1 from facet2.neighbors at end, not at ridge
- merge_r.c/qh_post_merges,qh_all_merges: remove setting of v.delridge on all vertices, not needed
- merge_r.c/qh_premerge: replace parameter 'apex' with 'apexpointid'. Only used for logging
- merge_r.c/qh_premerge: add qh.newfacet_list as an implicit parameter
- merge_r.c/qh_test_degen_neighbors: split from qh_degen_redundant_neighbors and qh_mergefacet
- merge_r.c/qh_test_redundant_neighbors: split from qh_degen_redundant_neighbors and qh_mergefacet
- poly_r.c/qh_attachnewfacets: clear f.neighbors and f.ridges for visible facets, will be deleted
- poly_r.c/qh_matchnewfacets: remove call to qh_checkflipped_all for qh.FORCEoutput, checked by qh_setfacetplane
- poly_r.c/qh_update_vertexneighbors: renamed qh_updatevertices. A future version will optimize
qh_update_vertexneighbors_cone: optimization for cone of new facets
- poly2_r.c/qh_checkconvex: immediate skip of f.tricoplanar facets. Tricoplanar facets not tested. Called before qh_triangulate
- poly2_r.c/qh_initbuild: move 'create sentinels' before qh_createsimplex so that qh.vertex_tail is v0 like f0
- poly2_r.c/qh_initialvertices: cleaned up code for qh_INITIALmax (8-d)
- poly2_r.c/qh_makenewfacets: clear f.neighbors and f.ridges for visible facets, will be deleted
- poly2_r.c/qh_matchdupridge: optimize dupridge for flipped->!flipped, good merge, not !flipped->flipped
- poly2_r.c/qh_matchdupridge_coplanarhorizon: dropped routine. Results same or slightly worse. Complex addition, rarely used
- poly2_r.c/qh_triangulate: rename facet and vertex lists as triangulated_facet_list,etc.
qh_triangulate does not maintain qh.newfacet_list or qh.visible_list
- poly2_r.c/qh_triangulate: ignore qh.NEWfacets. qh_checkpolygon is not valid inside qh_triangulate
- rboxlib_r.c/qh_rboxpoints2: split function from qh_rboxpoints to avoid -Wclobbered
- stat_r.c/qh_printstatlevel: remove unused NULLfield
Qhull C++ changes
- Use NULL instead of 0 for pointers
- Remove old style casts such as '(size_t)...'
- Define initializers for default constructors even if explicitly assigned
- Update static initializer list for s_empty_facet, s_empty_ridge, s_empty_vertex
- Coordinates.h: default constructor clears coordinate_array
- Coordinates.h: default iterator constructor clears i
- RboxPoints.cpp/qh_fprintf_rbox: add empty default to switch statement