----------------
Version 0.9.10 Changes by contributors on GitHub - azawawi, joenio
6fab323 Modernize hashbang #! to be more perlbrew friendly
58c36df Add relative link to Changes file
efaf173 Simple installation/development commmands
cfbcf48 More README.md simplification
a7889bc Fix README.md
43c2182 Fix warning: Useless use of greediness modifier '?' in regex
db4bc44 Fix#17, page parameter should be optional
f93ed16 "utf8" pragma solves issue with characters rendered wrong
e69524e fix script that test issue #15
5d5628f avoid warnind about use of greediness modifier
--------------
0.02 2016-02-02 NEILB
- Moved Ru.pm to lib/Lingua/Stem/Ru.pm
- Moved testsuite and test data into t/
- Switched to Dist::Zilla, in the process addressing RT#107485
- Changed the format of this file to follow CPAN::Changes::Spec
Originally packaged in pkgsrc-wip by ryoon@ and then updated by nros@ and
myself.
GLFW is a free, Open Source, multi-platform library for creating
OpenGL contexts and managing input, including keyboard, mouse,
joystick and time. It is intended to be simple to integrate into
existing applications and does not lay claim to the main loop.
GLFW has native support for Windows, Mac OS X and many Unix-like
systems using the X Window System, such as Linux and FreeBSD.
GLFW is licensed under the zlib/libpng license.
- avcodec/jpeg2000dec: More completely check cdef
- avutil/opt: check for and handle errors in av_opt_set_dict2()
- avcodec/flacenc: fix calculation of bits required in case of custom sample rate
- avformat: Document urls a bit
- avformat/libquvi: Set default demuxer and protocol limitations
- avformat/concat: Check protocol prefix
- doc/demuxers: Document enable_drefs and use_absolute_path
- avcodec/mjpegdec: Check for end for both bytes in unescaping
- avcodec/mpegvideo_enc: Check for integer overflow in ff_mpv_reallocate_putbitbuffer()
- avformat/avformat: Replace some references to filenames by urls
- avcodec/wmaenc: Check ff_wma_init() for failure
- avcodec/mpeg12enc: Move high resolution thread check to before initializing threads
- avformat/img2dec: Use AVOpenCallback
- avformat/avio: Limit url option parsing to the documented cases
- avformat/img2dec: do not interpret the filename by default if a IO context has been opened
- avcodec/ass_split: Fix null pointer dereference in ff_ass_style_get()
- mov: Add an option to toggle dref opening
- avcodec/gif: Fix lzw buffer size
- avcodec/put_bits: Assert buf_ptr in flush_put_bits()
- avcodec/tiff: Check subsample & rps values more completely
- swscale/swscale: Add some sanity checks for srcSlice* parameters
- swscale/x86/rgb2rgb_template: Fix planar2x() for short width
- swscale/swscale_unscaled: Fix odd height inputs for bayer_to_yv12_wrapper()
- swscale/swscale_unscaled: Fix odd height inputs for bayer_to_rgb24_wrapper()
- avcodec/aacenc: Check both channels for finiteness
- asfdec_o: check for too small size in asf_read_unknown
- asfdec_o: break if EOF is reached after asf_read_packet_header
- asfdec_o: make sure packet_size is non-zero before seeking
- asfdec_o: prevent overflow causing seekback
- asfdec_o: check avio_skip in asf_read_simple_index
- asfdec_o: reject size > INT64_MAX in asf_read_unknown
- asfdec_o: only set asf_pkt->data_size after sanity checks
- Merge commit '8375dc1dd101d51baa430f34c0bcadfa37873896'
- dca: fix misaligned access in avpriv_dca_convert_bitstream
- brstm: fix missing closing brace
- brstm: also allocate b->table in read_packet
- brstm: make sure an ADPC chunk was read for adpcm_thp
- vorbisdec: reject rangebits 0 with non-0 partitions
- vorbisdec: reject channel mapping with less than two channels
- ffmdec: reset packet_end in case of failure
- avformat/ipmovie: put video decoding_map_size into packet and use it in decoder
- avformat/brstm: fix overflow
Kicad is an open source (GPL) software for the creation of electronic schematic
diagrams and printed circuit board artwork.
Designed and written by Jean-Pierre Charras, a researcher at LIS (Laboratoire
des Images et des Signaux) and a teacher in IUT de Saint Martin d'Heres
(France), in the field of electrical engineering and image processing.
Kicad is a set of four softwares and a project manager:
* Eeschema: Schematic entry.
* Pcbnew: Board editor.
* Gerbview: GERBER viewer (photoplotter documents).
* Cvpcb: footprint selector for components used in the circuit design.
* Kicad: project manager.
This package contains the user interface translations for Kicad
Kicad is an open source (GPL) software for the creation of electronic schematic
diagrams and printed circuit board artwork.
Designed and written by Jean-Pierre Charras, a researcher at LIS (Laboratoire
des Images et des Signaux) and a teacher in IUT de Saint Martin d'Heres
(France), in the field of electrical engineering and image processing.
Kicad is a set of four softwares and a project manager:
* Eeschema: Schematic entry.
* Pcbnew: Board editor.
* Gerbview: GERBER viewer (photoplotter documents).
* Cvpcb: footprint selector for components used in the circuit design.
* Kicad: project manager.
This package contains the component footprints for Kicad
Changes unknown, but probably new components, and convertion to the
new library format.
Note that the footprints are now in a separate package, kicad-footprints.
Major changes:
New graphics rendering backend GAL (OpenGL and Cairo) [currently pcbnew
only and does not yet support all legacy tools]
New s-expression based pcb format (.kicad_pcb)
New footprint library format (.pretty folder with .kicad_mod footprints)
Updated footprint editor (only usable with GAL renderer)
More advanced footprint manager concept called footprint library
table (fp-lib-table)
Ability to download footprints on the fly from git repositories
Official libraries are now stored on github and regularly updated
Awesome/Advanced Push and Shove (PnS) router (only usable with GAL renderer)
Interactive differential trace routing and tuning
Interactive trace length tuning
Much more realistic 3D board rendering
Intelligent library search with preview in Eeschema
Initial Python api for Pcbnew
Notes:
Symbols have changed size, been renamed, etc to follow the new KiCad library
conventions so you need to take care when working with older schematics if
you used the symbols packaged with KiCad.
The new pcb format cannot be loaded in older versions of KiCad.
Regularly scheduled feature release. There's also an overview of new features available.
1.1. commands
merge: don't try to merge subrepos twice (issue4988)
pull: advance current active bookmark at pull --update correctly
templater: abort if infinite recursion detected while evaluation (issue4758)
annotate: add missing period to help
annotate: mention that -n is suppressed in help
backout: disable --merge with --no-commit (issue4874)
bookmark: deprecate 'bmstore.write' method
bookmarks: hoist getbkfile out of bmstore class
bookmarks: make _readactive safe when readlines raises ENOENT
branch: reword help text
clone: move bookmarks and checkouts before pull help
clonebundles: improve BUNDLESPEC documentation
clonebundles: remove advertisement of feature
commands.summary: switch to mergestate.read()
commands: inline definition of localrepo.parents() and drop the method (API)
commands: make backout acquire locks before processing
commands: make commit acquire locks before processing (issue4368)
commands: use context manager for opened bundle file
commandserver: drop tell() and seek() from channels (issue5049)
commandserver: reset state of progress bar per command
commit: add a way to return more information from the chunkselector
commit: add amend mode for commit -i
commit: add some help examples (issue4963)
commit: adjust the quoting in the examples to be Windows friendly
commit: fix rest syntax of examples
commit: make commit acquire store lock before processing for consistency
commit: preserve extra when amending with commit --amend
fileset: add missing() predicate (issue4925)
fileset: use set instead of list to mark predicates for efficiency (API)
graft: clarify in help that '-r' is not just optional
graft: copy extra (except branch) when copying changesets
graft: hook afterresolvedstates
graft: improve --continue abort message
help: fix quoting for bundle1 options
import: add word to help text
import: limit scope of msg in tryimportone
import: reorder help text
log: speed up single file log with hidden revs (issue4747)
log: add 'hg log' example for full hashes
log: help provide sort by date example
log: mention ordering
log: speed up hg log <file|folder>
merge.graft: add option to keep second parent
merge: add options to warn or ignore on colliding unknown files
merge: move almost all change/delete conflicts to resolve phase (BC) (API)
merge: refuse update/merge if there are unresolved conflicts (BC)
mergestate: raise structured exception for unsupported merge records
patch: disable nobinary when HGPLAIN=1
pull: make a single call to obsstore.add (issue5006)
pull: return 255 value on update failure (issue4948) (BC)
push: specify default-push and default as fallback paths
status: back out changeset 89f49813526c
status: change + back out == clean (API)
status: revert + flag-change == modified
summary: add troubles list to the output of hg summary
summary: mention graft
summary: print unstable, bumped and divergent as unconditionally plural
tags: mention --quiet switch in help (issue4920)
verify: add a hook that can let extensions manipulate file lists
verify: clean up weird error/warning lists
verify: get rid of some unnecessary local variables
verify: move checklog() onto class
verify: move exc() function onto class
verify: remove unreachable code to reraise KeyboardInterrupt
1.2. core
context: don't use util.cachefunc due to cycle creation (issue5043)
context: use a the nofsauditor when matching file in history (issue4749)
parsers: check results of PyInt_FromLong (issue4771)
repoview: fix corrupted hiddencache crash Mercurial (issue5042)
revlog: avoid string slice when decompressing u* chunks
revlog: clarify which revision is added to 'tested' when using cached delta
revlog: don't consider nullrev when choosing delta base
revlog: improve documentation
revlog: make calls to _isgooddelta() consistent
revlog: make clearcaches() more effective
revlog: return offset from _chunkraw()
revsetbenchmarks: support benchmarking changectx loading
ui: optionally ignore sub-options from configitems()
ui: support declaring path push urls as sub-options
util: disable floating point stat times (issue4836)
wireproto: config options to disable bundle1
wireproto: support disabling bundle1 only if repo is generaldelta
1.3. extensions
crecord: fix help bar display issue (issue5063)
histedit: add progress support
histedit: explain basics of histedit commands
histedit: pick an appropriate base changeset by default (BC)
largefiles: actions will now always have a file - drop check
largefiles: fall back to the original for change/delete conflicts
largefiles: fix commit of missing largefiles
largefiles: make prompt order deterministic
largefiles: specify where .orig files are kept
largefiles: use a context manager in _getfile
largefiles: use util.readfile in lfconvert
largefiles: use util.readfile in overrides
largefiles: fix an explicit largefile commit after a remove (issue4969)
largefiles: prevent committing a missing largefile
mq: check for reserved patch name with qimport -r (issue5033)
mq: let the user choose where .orig files are kept
rebase: add date parameter to concludenode function
rebase: better error message when rebased changes are all in destination
rebase: create a new variable to make the next patch more legible
rebase: hook afterresolvedstates
rebase: only clear rebase status after the rebase transaction has completed
rebase: pass date parameter to concludenode
rebase: prevent creating divergence
rebase: propagate extra dict from rebase source changeset
rebase: remove extra "if" from check of collapsing named branches
rebase: better way to detect non-detaching revisions (issue5044)
rebase: restore help for rebase w/o args (issue5059)
shelve: choose where .orig file locations are kept
shelve: execute checkunfinished inside wlock scope
shelve: hook afterresolvedstates
shelve: lowercase flag description
shelve: permit shelves to contain unknown files
shelve: remove redundant acquisition of wlock for sub commands of unshelve
shelve: switch to mergestate.read()
shelve: use a context manager for file I/O in listcmd
shelve: widen wlock scope of shelve for consistency while processing
shelve: widen wlock scope of unshelve for consistency while processing
unshelve: add -k as short form of --keep
unshelve: add support for custom merge tools
unshelve: shed spurious space
1.4. hgweb
hgweb: eliminate duck-typing to select hgweb or hgwebdir by command option
hgweb: load server settings from --web-conf (issue4699)
hgweb: make sure command options are set to all ui objects
hgweb: support rendering a sub-topic
hgweb: support rendering sub-topic indexes
hgweb: update canvas.width before dynamically redrawing graph (issue2683)
1.5. unsorted
addrevision: only use the incoming base if it is a good delta (issue4975)
backout: commit changeset by default (BC)
backout: fix --no-commit option (issue5054)
batchget: add support for backing up files
builddeb: add --distid option to specify Distributor ID
changegroup: introduce cg3, which has support for exchanging treemanifests
changelog: add a new method to get files modified by a changeset
checkunknownfiles: make control flow clearer
crecord: edit during hg crecord should preserve cursor position (issue5041)
debugignore: find out why a file is being ignored (issue4856)
demandimport: add support for PyPy
demandimport: don't enable when running under PyPy
destutil: use scmutil.revrange for desthistedit (issue5001)
diff: don't crash when merged-in addition was removed (issue4786)
discovery: properly filter changeset in 'peer.known' (issue4982)
dispatch: copy inferrepo attribute to alias commands
dispatch: report similar names consistently
dispatch: use print function
dispatch: use versiontuple()
dockerrpm: fix CentOS 5 RPMs (issue4977)
encoding: handle UTF-16 internal limit with fromutf8b (issue5031)
encoding: re-escape U+DCxx characters in toutf8b input (issue4927)
error: add a structured exception for unsupported merge records
extdiff: correctly handle deleted subrepositories (issue3153)
extdiff: use @command decorator to set up diff commands
filemerge: add a 'leave unresolved' option to change/delete prompts
filemerge: add a 'leave unresolved' option to regular prompts
filemerge: add support for change/delete conflicts to the ':local' merge tool
filemerge: add support for change/delete conflicts to the ':other' merge tool
filemerge: add support for change/delete conflicts to the ':prompt' tool
filemerge: default change/delete conflicts to 'leave unresolved' (BC)
filemerge: default regular prompts to 'leave unresolved' (BC)
graphlog: make node symbol templatable by ui.graphnodetemplate option
graphlog: rename glog function
hghave: support HGMODULEPOLICY for pure
localrepo: don't reference transaction from hook closure (issue5043)
lsprof: support PyPy (issue4573)
mac: fix percent-encoding of non-utf-8 characters (issue4999)
match: add option to return line and lineno from readpattern
mercurial: pass ui to extensions.load (issue5007)
mercurial: support loading modules from zipimporter
paths: do not process default-push as pushurl of default path (issue5000)
posix: work around "posix" systems without os.link available (issue4974)
run-tests: skip threading for a single test (issue5040)
scmutil: support background file closing
sslutil: fix reversed logic (issue5034)
streamclone: use backgroundfilecloser (issue4889)
streamclone: use context manager for writing files
streamclone: use read()
templates: make earlycommands and othercommands optional
templates: use canvaswidth instead of fixed width for canvas (issue2683)
test-extension: do not depend on demandimport (issue5012)
unionrepo: fix wrong rev being checked in iscensored (issue5024)
webcommands: get correct parents when comparing a removed file (issue4962)
webcommands: stop using ersatz if-else ternary operator for rename variable
webcommands: test that fctx is not None in filediff()
zeroconf: access repo on hgweb_mod properly (issue5036)
Changes:
=================
WebKitGTK+ 2.10.7
=================
What's new in WebKitGTK+ 2.10.6?
- Fix the build with GTK+ < 3.16.
=================
WebKitGTK+ 2.10.6
=================
What's new in WebKitGTK+ 2.10.6?
- Fix a deadlock in the Web Process when JavaScript garbage collector was running for a web worker
thread that made google maps to hang.
- Fix media controls displaying without controls attribute.
- Fix a Web Process crash when quickly attempting many DnD operations.
Changelog:
------------
Qhull 2015.2 2016/01/18 (7.2.0)
- Fixed memory leak in ~QhullQh [M. Sandim]
QhullQh.cpp: call checkAndFreeQhullMemory() in the destructor. Otherwise memT is not freed.
Remove checkAndFreeQhullMemory() from Qhull.h. It is not needed.
Remove calls to checkAndFreeQhullMemory in qhulltest. It is called by ~QhullQh()
libqhull_r.h: Document qh_ASvornoi and facetT.center
qh_freeqhull: if qh_NOmem, use qh_ALL
qh_memalloc: short memory is freed by qh_memfreeshort unless qh_NOmem
qh_memstatistics (mem.c): call qh_memcheck() as done in mem_r.c
qh_new_qhull calls qh_memcheck
qh_newvertex: free vertex on error
qh_projectinput: Free memory allocations on error
qh_rboxpoints: free simplex on error
qh_sethalfspace_all: Fixed memory leak on error QH8032 feasible not inside halfspace
qh_triangulate_facet: For TRInormals ('Q11') replace qh_copypoints with qh_memalloc
qh_triangulate_facet: Document qh.TRInormals
qh_voronoi_center: Free center on error
qhulltest: Fixed memory leak of s_testcases by calling RoadTest::deleteTests()
qhulltest: The 'add_*_test' functions append the test object to RoadTest::s_testcases
~RoadTest: declare virtual for Q_OBJECT, removeAll not needed
user_eg2: Check memory at end of each run
user_r.h: Add QHULL_CRTDBG for invoking Microsoft's memory leak detector
use _MSC_VER instead of QHULL_OS_WIN for QHULL_CRTDBG
Call qh_freeqhull with qh_ALL/!qh_ALL instead of 'True/False'
Include user_r.h with RoadError,h for QHULL_CRTDBG
Invoke _CrtSetDbgFlag... at beginning of program
Moved user_r.h/libqhull_r.h/qhull_ra.h as first include (for QHULL_CRTDBG)
Moved QHULL_OS_WIN from qhull_ra.h to user_r.h
Removed __CYGWIN__ from QHULL_OS_WIN (same as Qt's qglobal.h)
- check_dupridge: A bounding box is not sufficient to avoid dupridge errors
- qh_findbestneighor: Error if qh.CENTERtype is qh_ASvoronoi (i.e., no merging now)
- qh_printstatlevel: Remove unused parameter, 'start'
- QhullLinkedList::last() and back(): Return T instead of T& (T is computed)
- qh-code.htm: "How to convert code to reentrant Qhull"
Update "Nearly coincident points on an edge"
Add 2012 size of data structures to "Qhull on 64-bit computers"
- html/index.htm: Add CGAL to "When to use"
- qh-optq.htm: Add documentation for option 'Q12'
- Move suggestions from Changes.txt to qh-code.htm#enhance
- user_r.h: Fixed qh-us_r.html links
- Fixed links in html pages
- QhullIterator and QhullLinkedList: Include <iterator> [B. Boeckel]
- Moved include file for each C++ source file to the top of the includes
- Prepend cpp includes with "libqhullcpp/"
- RoadLogEvent includes RoadLogEvent.h
- QhullIterator.h: Only QHULL_DECLARE_SEQUENTIAL_ITERATOR is used.
- Compared src/libqhull/* to src/libqhull_r/* and resolved differences
- qh_printpoint in io.c skips qh_IDnone like io_r.c
- qhull_p-exports.def: Added three missing exports
- set_r.h: Removed countT. Too many issues
- libqhull_r/Makefile: Add help prompts to 'make qtest'
- libqhull.pro: Add '../libqhull/' to sources and headers
- libqhull/Makefile: Fixed -I,./,,/src
- qhull-zip.sh: Add CMakeModules to tarball [C. Rosenvik]
- CMakeLists.txt: Add targets qhullp and user_egp for qh_QHpointer and libqhull_p
- Reorganized 'make help'
- Makefile cleanall: Delete testqset and qhulltest from bin/
- Fix filetype of Unix-only files
- Fix Unix line endings for Makefile and check in qhull-zip.sh
- Fix Windows line-endings and check in qhull-zip.sh
- qhull-zip.sh: Check for Unix text files
------------
Qhull 2015.1 2016/01/03 (7.1.0)
- Add Rbox option 'Cn,r,m' to add nearly coincident points. Trigger for duplicate ridges
- Add Qhull option 'Q12' to ignore error on wide merge due to duplicate ridge
- qh_findbestlower: Call qh_findfacet_all to fix rare "flipped or upper Delaunay" error QH6228.
QH6228 input provided by J. Metz. Reported (date order): L. Fiaschi, N. Bowler, A. Liebscher, V. Vieira, N. Rhinehart, N. Vance, P. Shafer
- qh_check_dupridge: Check if wide merge due to duplicate ridge from nearly coincident points
- qh_initialhull: Fix error messages for initial simplex is flat
- qh_determinant: increased 2-d and 3-d nearzero by 10x due to a counter-example
- rbox: Add qh_outcoord() to output coordinates w/ or w/o iscdd
- qh_meminit (mem.c): Add call to qh_memcheck
- Compare libqhull/... to libqhull_r/... and resolve differences
- Update builds for DevStudio (qhull.sln for msdev 2005..2009, qhull-32.sln and qhull-64.sln for recent releases)
- qh-impre.htm: Add a section about precision errors for 'Nearly coincident points on an edge'
- html/index.htm#geomview: Document how to install, build, and use Geomview.
- html/index.htm: Emphasize program links and move related urls to end
- qhull/index.htm: Emphasize manual, geomview, and imprecision
- Fix documentation links in libqhull_r/index.htm
- Add 'Functions' link to documentation headers
- Change '<A>...</A>' to '<a>...</a>'
- libqhull_r/index.htm -- Add instructions for configuring web browsers for source links.
- libqhull_r/ -- Fix source links for ..._r.htm files
------------
Qhull 2015.0.7 2015/11/09 (7.0.7)
- Fix return type of operator-> in QhullLinkedList and other collection classes [F. Jares]
- Fix return types for QhullLinkedList
- Fix return types for QhullPoints
- Simplify return type for Coordinates::operator[] (same as QList)
- Add const to operators for QhullSet::iterator and add documentation
- Coordinates.h: Fix return types for operations of iterator and const_iterator
- Drop use of Perforce changelist number in qhull_VERSION of CMakeLists.txt
- Rename the md5sum files as *.tgz.md5sum instead of *-tgz.md5sum
- Fix build dependency for testqset_r [asekez]
- rbox.c depends on Qhull due to qh_lib_check which uses qh_version2 for error messages
- QhullFacet_test.cpp: Annotate Qhull invocations. Allows their repetition.
- QhullFacet_test.cpp: Adjust epsilon on distance tests
- Do not create libqhullcpp as a shared library. Qhull C++ classes may change layout and size.
- qhull-cpp.xml: Make a relative path to road-faq.xsl
------------
Qhull 2015.0.6 2015/10/20 (7.0.6.2013)
- In the libraries, exit() is only called from qh_exit(). qh_exit may be redefined.
- Add qh_fprintf_stderr to usermem.c. May be overridden to avoid use of stderr [D. Sterratt]
Add usermem to testqset builds
Used by qh_fprintf_rbox
- Remove most instances of stderr/stdout from libqhull, libqhull_r, and libqhullcpp [D. Sterratt]
qh_fprintf_stderr may be redefined. qh_meminit and qh_new_qhull use stderr as the default ferr
- qh_initflags: Use qh.fout instead of stdout for 'TO file'. A library caller may define a different qh.fout.
- qh_settemppush: Call qh_fprintf() instead of fprintf() on error.
- Rename qh_call_qhull as "Qhull-template" from user.c. Updated its references.
- qh-code.htm: "How to avoid</a> exit(), fprintf(), stderr, and stdout"
- html/index.htm: Fix table of contents for qh-code
- libqhull_r/index.htm: Rewrite introduction to Reentrant Qhull
- qh-faq.htm: Rewrite "Can Qhull use coordinates without placing them in a data file?"
- qh-get.html: Link to github
- Remove qhull_interface.cpp from the documentation
------------
Qhull 2015.0.5 2015/10/12 (7.0.5.1995)
- qh_new_qhull: default 'errfile' is 'stderr'. outfile and errfile are optional [B. Pearlmutter]
- qh_new_qhull: returns qh_ERRinput instead of exit() if qhull_cmd is not "qhull ..." [B. Pearlmutter]
- qhalf_r.c,etc: Add clear of qh.NOerrexit
- global.c: gcc 4.4.0 mingw32 segfault cleared by adding comment
- usermem_r-cpp.cpp: Optional file to redefine qh_exit() as throw "QH10003.." [B. Pearlmutter]
qh_exit() is called by qhull_r when qh_errexit() is not available.
- html/index.htm: Add bibliographic reference to Golub & van Loan and annotated the source references
- qhalf.htm: A halfspace is the points on or below a hyperplane [D. Strawn]
- qh-opto.htm#n: Defined inside, outside, on, above, and below a hyperplane [D. Strawn]
- qhalf.htm#notes: Recast the linear program using negative halfspaces (as used by Qhull) [D. Strawn]
- qhull_a.h: Fix comment '#include "libqhull/qhull_a.h" [fe rew]
- build/qhull*.pc.in: Templates for pkg-config (derived from Fedorra) [P. McMunn]
c1bf12afe0/pkg-config-spec.txt
- Makefile: Remove user_eg3.o from LIBQHULLCPP_OBJS
- Makefile: Add .h dependencies for unix_r.o, etc.
- libqhull/Makefile: Fix build of rbox
- libqhull_r/Makefile: Fix build -I
- qhull.sln/user_eg3: Add dependency on libcpp
- Removed bin/libqhull_r.dll (should be qhull_r.dll)
- Removed build/qhulltest.vcproj (see build/qhulltest/qhulltest.vcproj)
------------
Qhull 2015.0.4 2015/9/30 (7.0.4.1984)
- qh-get.htm: Unix tarball includes version number (e.g., qhull-2015-src-7.1.0.1940.tgz) [Hauptman]
- qglobal.c: Add qh_version2 with Unix version for "-V" option [Hauptman]
- build/qhull-32.sln, *-32.vcxproj: Add Visual Studio 32-bit build for 2010+
- build/qhull-64.sln, *-64.vcxproj: Add Visual Studio 64-bit build for 2010+ [G. Lodron]
- make-vcproj.sh: Restore to eg/... It is required for Visual Studio builds
- README.txt: updated builds and reentrant Qhull
- Add documentation for QHULL_LIB_CHECK
- qh_lib_check: Check for unknown QHULL_LIB_TYPE
- qh-code.htm: Add memory requirements for 32- and 64-bit
------------
Qhull 2015.0.3 2015/9/22
- qh_mem, qh_merge: Log before 'delete' instead of afterwards [Coverity, K. Schwehr]
- qh_merge: Test for NULL horizon in qh_checkzero [Coverity, K. Schwehr]
- qh_matchneighbor: Check for matchfacet not a neighbor of facet [Coverity, K. Schwehr]
- qh_triangulate: Explicit check for visible==NULL [Coverity, K. Schwehr]
- qh_findbestfacet (unused by qhull): Fix test of isoutside [Coverity, K. Schwehr]
- qh_check_maxout: Check bestfacet!=0 for logging its id [Coverity, K. Schwehr]
- qh_nearvertex: Check for bestvertex not found [Coverity, K. Schwehr]
- qh_checkfacet: Check for missing neighbors of simplicial facets [Coverity, K. Schwehr]
- qh_setdelnth: Check 'nth' before using it [Coverity, K. Schwehr]
- Annotate code for Coverity warnings (most of these protected by qh_errexit) [K. Schwehr]
- qh_printfacet3math: explicit format string (duplicates change to io.c) [B. Pearlmutter]
- libqhull_r.h: fix spelling error (duplicates change to libqhull.h) [B. Pearlmutter]
- unix_r.c: fix spelling error (duplicates change to unix.c) [B. Pearlmutter]
- qhull_a.h: define qhullUnused() only if defined(__cplusplus) [R. Stogner]
- qh_version: Use const char str[]= "string" instead of const char * str= "string" [U. Drepper, p. 27]
- qh_newvertex: Use UINT_MAX instead of 0xFFFFFFFF
- qh_newridge: Use UINT_MAX instead of 0xFFFFFFFF
- Reviewed FIXUP notes
- QhullRidge_test: t_foreach use 'foreach(const QhullVertex &v, vertices)
- Made '#include "RoadTest.h" consistent across all C++ tests
- qh-code.htm: May also use libqhull_r (e.g., FOREACHfacet_(...))
- qh-get.htm: Add list of download build repositories
- Add CMakeModules/CheckLFS.cmake: Enables Large File Support [B. Pearlmutter]
- Makefile: Use -fpic at all times instead of -fPIC, [U. Drepper p. 15]
------------
Qhull 2015.0.2 2015/9/1
- global_r.c: Fixed spelling of /* duplicated in...qh_clear_outputflags */ [K. Schwehr]
- Replaced Gitorious with GitHub
- Moved 'to do' comments into Changes.txt
------------
Qhull 2015.0.1 2015/8/31
Source code changes
- Increased size of vertexT.id and ridgeT.id to 2^32 [H. Strandenes, C. Cantwell]
Reworded the warning message for ridgeT.id overflow. It does not affect Qhull output
- Add qh_lib_check to check for a compatible Qhull library.
Programs should call QHULL_LIB_CHECK before calling Qhull.
- Include headers prefixed with libqhull/, libqhull_r/, or libqhullcpp/
- Renamed debugging routines dfacet/dvertex to qh_dfacet/qh_dvertex
- Rewrote user_eg, user_eg2, and user_eg3 as reentrant code
- Renamed 'qh_rand_seed' to 'qh_last_random'. Declare it as DATA
- qh_initqhull_start2 sets qh->NOerrexit on initialization
User must clear NOerrexit after setjmp()
Other source code changes
- Define ptr_intT as 'long long' for __MINGW64__ [A. Voskov]
- poly_r.c: initialize horizon_skip [K. Schwehr]
- Removed vertexT.dim and MAX_vdim. It is not used by reentrant Qhull.
- Removed qhull_inuse. Not used by C++
- Removed old __MWERKS__/__POWERPC__ code that speed up SIOUX I/O
- Moved #include libqhull/... before system includes (e.g., <stdio.h>
- Comment-out _isatty declaration. Avoids "C4273 ... inconsistent dll linkage"
- Add random.h/random_r.h as an include file to random.c/random_r.c
- Rename rbox routines to qh_roundi/qh_out1/qh_out2n/qh_out3n
- Rename dfacet and dvertex to qh_dfacet and qh_dvertex
- Replace 'qhmem .zzz' with 'qhmem.zzz'
- Removed spaces between function name and parentheses
- Rename 'enum statistics' to 'enum qh_statistics'
- Declare rbox as DATA in qhull-exports.def and qhull_p-exports.def
- In comments, use 'qh.zzz' to reference qhT fields
- In qh_fprintf, use qhmem.ferr to report errors
- qh_fprintf may be called for errors in qh_initstatistics and qh_meminit
- qh_pointid returns qh_IDnone, qh_IDinterior, qh_IDunknown in place of -3, -2, -1 resp.
- getid_() returns qh_IDunknown in place of -1
- After qh_meminit, qhmem.ferr is non-zero (stderr is the default)
- Update qh_MEMalign in testqset.c to user.h (with realT and void*)
- Split rboxT into a header file
- Add rboxlib.h to libqhull_a.h
- Rename PI to qh_PI and extend to 30 digits
- Rename MAXdim to qh_MAXdim
- Change spacing for type annotations '*' and '&' in C++ header files
- Test for !rbox_output/cpp_object in qh_fprintf_rbox
- Remove 'inline' annotation from explicit inline declarations
- Column 25 formatting for iterators, etc.
- Use '#//!\name' for section headers
- QhullFacet.cpp: zinc_(Zdistio);
- Clear qhT.ALLOWrestart in qh_errexit
- Replace longjmp with qh_errexit_rbox in qh_rboxpoints
- Add jmpExtra after rbox_errexit to protect against compiler errors
- Add qh.ISqhullQh to indicate initialization by QhullQh()
- Add library warnings to 'rbox D4', user_eg, user_eg2, user_eg3
- Add headers to q_eg, q_egtest, and q_test
- Check that qh.NOerrexit is cleared before call to qh_initflags
Qhull documentation
- README.txt: Added references to qh-code.htm
- README.txt: Added section 'Calling Qhull from C programs'
- qh-code.htm: Moved Performance after C++ and C interface
- qh-code.htm: Moved Cpp Questions to end of the C++ section
- qh-code.htm: Fixed documentation for 'include' path. It should be include/libqhull
- qconvex.htm: Fixed documentation for 'i'. It triangulates in 4-d and higher [ref]
- Clarified qhalf space documentation for the interior point [J. Santos]
- rbox.c: Version is same date as qh_version in global.c
- gobal_r.c: Version includes a '.r' suffix to indicate 'reentrant'
Qhull builds
- Development moved to http://github.com/qhull/qhull
git clone git@github.com:qhull/qhull.git
- Exchanged make targets for testing.
'make test' is a quick test of qhull programs.
'make testall' is a thorough test
- Added 'make help' and 'make test' to libqhull and libqhull_r Makefiles
- CMakeLists.txt: Remove libqhull, libqhull_r, and libqhullcpp from include_directories
- CMakeLists.txt: Add qhull_SHAREDR for qhull_r
- CMakeLists.txt: Retain qhull_SHARED and qhull_SHAREDP (qh_QHpointer)
- CMakeLists.txt: Move qhull_SHARED and qhull_SHAREDP (qh_QHpointer) to qhull_TARGETS_OLD
Drop qhull_STATICP (use qhull_SHAREDP or qhull_STATIC)
Set SOVERSION and VERSION for shared libraries
- Move qhull_p-exports.def back to libqhull
- Switched to mingw-w64-install for gcc
- Improved prompts for 'make'
- qhull-all.pro: Remove user_eg3.cpp from OTHER_FILES
- libqhull.pro: Ordered object files by frequency of execution, as done before
- Add the folder name to C++ includes and remove libqhullcpp from INCLUDEPATH
- Changed CONFIG+=qtestlib to QT+=testlib
- Changed Makefile to gcc -O3 (was -O2)
- Changed libqhull/libqhull_r Makefiles to both produce rbox, qhull, ..., user_eg, and user_eg2
- Removed Debian 'config/...'. It was needed for Qhull 2012.
libqhull_r (reentrant Qhull)
- Replaced qh_qh with a parameter to each procedure [P. Klosterman]
No more globally defined data structures in Qhull
Simplified multithreading and C++ user interface
All functions are reentrant (Qt: "A reentrant function can ... be called simultaneously from multiple threads, but only if each invocation uses its own data.")
No more qh_QHpointer.
See user_eg3 and qhulltest
New libraries
libqhull_r -- Shared library with reentrant sources (e.g., poly_r.h and poly_r.c which replace libqhull's poly.h and poly.c)
libqhullstatic_r -- Static library with the same sources as libqhull_r
libqhullcpp -- The C++ interface using libqhullstatic_r (further notes below)
New executables
testqset_r -- Test qset_r.c (the reentrant version of qset.c
Source code changes for libqhull_r
- Add qh_zero() to initialize and zero memory for qh_new_qhull
- Remove qh_save_qhull(), qh_restore_qhull(), and qh.old_qhstat from global_r.c
- Remove qh_freeqhull2() (global_r.c)
- Remove qh_freestatistics() (stat_r.c)
- Remove qh_compare_vertexpoint (qhT is not available, unused code)
- Remove conditional code for __POWERPC__ from unix_r.c and rbox_r.c
- Move qh_last_random into qh->last_random (random_r.c)
- Rename sources files with a '_r' suffix. qhull_a.h becomes qhull_ra.h
- Replace 'qh' macro with 'qh->'
- Replace global qhT with parameter-0
- Add qhmemT to beginning of qhT. It may not be used standalone.
- Add qhstatT to end of qhT
- Remove qhull_inuse
- Change qhmem.zzz to qh->qhmem.zzz
- Replace qh_qhstat with qh->qhstat
- Remove qh_freestatistics
- Replace qh_last_random with qh->last_random
- Replace rboxT with qh->rbox_errexit, rbox_isinteger, rbox_out_offset
- Replace rbox.ferr/fout with qh->ferr/fout
- No qh for qh_exit, qh_free, qh_malloc, qh_strtod, qh_strtol, qh_stddev
- New qmake include files qhull-app-c_r.pri, qhull-app-shared_r.pri, qhull-libqhull-src_r.pri
- Replace 'int' with 'countT' and 'COUNTmax' for large counts and identifiers
- qhset converted to countT
- Removed vertexT.dim -- No longer needed by cpp
Removed MAX_vdim
- Guarantee that qh->run_id!=0. Old code assumed that qh_RANDOMint was 31 bits
Changes to libqhullcpp
- Added QhullVertexSet.h to libqhullcpp.pro and libqhullpcpp.pro
- QhullVertexSet: error if qhsettemp_defined at copy constructor/assignment (otherwise double free)
- Enable QhullSet.operator=. Copy constructor and assignment only copies pointers
- Changed QhullPoint.operator==() to sqrt(distanceEpsilon)
- Added assignment of base class QhullPoints to PointCoordinates.operator=
- Enable QhullPoints.operator=
- Rename PointCoordinates.point_comment to describe_points
- Add 'typename T' to definition of QhullSet<T>::value()
C++ interface
- Reimplemented C++ interface on reentrant libqhull_r instead of libqhull
- Prepend include files with libqhullcpp/
- Replaced UsingLibQhull with QhullQh and macro QH_TRY
Removed UsingLibQhull.currentAngleEpsilon and related routines
Removed UsingLibQhull_test.cpp
Replaced globalDistanceEpsilon with QhullQh.distanceEpsilon
Replaced globalAngleEpsilon with QhullQh.angleEpsilon
Moved UsingQhullLib.checkQhullMemoryEmpty to QhullQh.checkAndFreeQhullMemory
Replaced FACTORepsilon=10 with QhullQh.factor_epsilon=1.0
- To avoid -Wshadow for QhullQh*, use 'qqh' for parameters and 'qh()' for methods
- Moved messaging from Qhull to QhullQh
- Add check of RboxPoints* in qh_fprintf_rbox
- Renamed Qhull.initializeQhull to Qhull.allocateQhullQh
Added qh_freeqhull(!qh_ALL) as done by unix.c and other programs
- Moved QhullPoints.extraCoordinatesCount into QhullPoints.cpp
- Replaced section tags with '#//!\name ...'
- Removed qhRunId from print() to ostream.
- Removed print() to ostream. Use '<< qhullPoint' or '<< qhullPoint.print("message")'
C++ interface for most classes
- Remove qhRunId
- Add QhullQh *qh_qh to all types
Pointer comparisons of facetT,etc. do not test corresponding qh_qh
Added to end of type for debugging information, unless wasteful alignment
- Add QhullQh * to all constructors
- All constructors may use Qhull & instead of QhullQh *
- For inherited QhullQh types, change to 'protected'
- Renamed 'o' to 'other' except where used extensively in iterators
- Except for conditional code, merged the Conversion section into GetSet
- Removed empty(). Use isEmpty() instead
- Add operator= instead of keeping it private
- print_message=0 not allowed. Use "" instead.
- Rename isDefined() to isValid() to match Qt conventions
C++ interface by class
- Coordinates
Removed empty(). Use isEmpty() instead
Added append(dim, coordT*)
Reformated the iterators
Convert to countT
- PointCoordinates
Added constructors for Qhull or QhullQh* (provides access to QhullPoint.operator==)
Removed PointCoordinates(int pointDimension) since PointCoordinates should have a comment. Also, it is ambiguous with PointCoordinates(QhullQh*)
Renamed point_comment to describe_points
Convert to countT
- Qhull
Remove qhull_run_i
Remove qh_active
Replace property feasiblePoint with field feasible_point and methods setFeasiblePoint/feasiblePoint
Returns qh.feasible_point if defined
Moved useOutputStream to QhullQh use_output_stream
Renamed useOutputStream() to hasOutputStream()
Replaced qhull_dimension with qh->input_dim //! Dimension of result (qh.hull_dim or one less for Delaunay/Voronoi)
Removed global s_qhull_output= 0;
Move qhull_status, qhull_message, error_stream, output_stream to QhullQh
Renamed qhullQh() to qh()
Added check of base address to allocateQhullQh(), Was not needed for qhullpcpp
- QhullFacet
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Dropped implicit conversion from facetT
Dropped runId
Add print("message") to replace print()
- QhullFacetList
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Dropped runId
- QhullFacetSet
Removed empty(). Use isEmpty() instead
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Dropped runId
Add operator=
Implement print("message")
- QhullHyperplane
Add hyperplaneAngle() method
Rewrite operator== to use hyperplaneAngle()
Reorganize fields to keep pointers aligned
Except for default constructor requires Qhull or QhullQh* pointer
Enable copy assignment
Reorganized header
- QhullLinkedList
Add operator=
Removed empty(). Use isEmpty() instead
Convert to countT
iterator(T) made iterator(const T &)
const_iterator(T) made const_iterator(const T &)
const_iterator(iterator) made const_iterator(const iterator &)
- QhullPoint
Add constructors for Qhull or QhullQh* pointer (for id() and operator==)
Add defineAs(coordT*)
Add getBaseT() and base_type for QhullSet<QhullPoint>
Added checks for point_coordinates==0
Removed static QhullPoint::id(), use QhullPoint.id() instead
distance() throws an error if dimension doesn't agree or if a point is undefined
Convert to countT
If !qh_qh, operator==() requires equal coordinates
Use cout<<p instead of cout<<p.print()
Reorganized
- QhullPoints
Add constructors for Qhull and QhullQh* (for qh.hull_dim, QhullPoint::operator==)
Remove QhullPoints(int pointDimension) since it is ambiguous with QhullPoints(QhullQh *qqh)
Add operator=
Removed empty(). Use isEmpty() instead
Convert to countT
operator==() tests if pointers are the same. Ituses distanceEpsilon if qh_qh is defined
Reorganized
- QhullPoints::Iterator and ConstIterator
Removed default constructors
Add constructors for Qhull and QhullQh* (for qh.hull_dim, QhullPoint::operator==)
Moved test of dimension from QHULL_ASSERT to operator==
Added QHULL_ASSERT of qh_qh
Convert to countT
- QhullPointSet
Constructor requires Qhull or QhullQh* instead of dimension()
Add operator=
Removed empty(). Use isEmpty() instead
Convert to countT
Always print print_message
Drop print(). Replace with print("")
- QhullQh
Added methods hasOutputStream(), disableOutputStream(), and enableOutputStream() (was Qhull UseOutputStream)
Add test of qh.NOerrexit to maybeThrowQhullMessage()
Add qhull_status, qhull_message, error_stream, output_stream from Qhull
Add factor_epsilon
- QhullRidge
Constructor requires Qhull or QhullQh* pointer
Dropped implicit conversion from ridgeT
Converted otherFacet() to 'const &'
Converted nextRidge3d() to 'const &'
Message for '<< QhullRidge' replaces " - " instead of preceding it
- QhullSet
Removed empty(). Use isEmpty() instead
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Add operator=
- QhullVertex
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Dropped implicit conversion from vertexT
Add message to '<< QhullVertex'
- QhullVertexSet
Removed empty(). Use isEmpty() instead
Constructor requires Qhull or QhullQh* pointer
Convert to countT
- UsingQhullLib
Removed
Replace setGlobalDistanceEpsilon with setFactorEpsilon
Replace globalDistanceEpsilon with distanceEpsilon
------------
Qhull 2012.1 2012/02/18 6.3.1.1494
- Fix CMakeLists for libqhull with MATCHES [P. Gajdos]
------------
Qhull 2012.1 2012/02/18 6.3.1.1490
Code changes
- Require option 'Qz' for Delaunay triangulation/Voronoi diagram
of cocircular/cospherical points [D. Sheehy]
- qh_errexit: Do not call qh_printsummary or qh_printstats on qh_ERRinput
- Change error QH6227 (all degenerate) from qh_ERRinput to qh_ERRprec
- Change error QH6159 (ID overflow) from qh_ERRinput to qh_ERRqhull
- eg/q_eg, q_egtest, q_test: Run if qconvex is in $PATH [M. Atzeri]
Build changes [M. Atzeri]
- Install to share/doc/qhull instead of share/doc/packages/qhull
- On Unix systems, install to share/man/man1 instead of man/man1
- CMakeLists: Remove the installation of user_eg* and testqset
- CMakeLists: Remove VERSION from qhull executables and libraries
- CMakeLists: Define qhull_SOVERSION instead of qhull_MAJOR
- CMakeLists: Set SOVERSION for shared libraries
- Rename libraries to qhull, qhull_d, qhull_p, and qhull_pd
libqhull6_p.vcproj is now libqhull_p.vcproj
mingw builds as libqhull.dll
cygwin builds as cygqhull-6.dll
linux builds as libqhull.so.6.3.1 with symbolic link as libqhull.so
- Developers using qhull 2011:
libqhull6.so is now libqhull_p.so. Do not use libqhull.so.
qhull6.dll is now qhull_p.dll. Do not use qhull.dll.
- Merged road/ into libqhullcpp/ and qhulltest/
Moved RoadLogEvent.* and RoadError.* to libqhullcpp
Moved RoadTest.* to qhulltest (requires Qt)
Installed RoadTest.h in libqhullcpp
Doc changes
- index.htm: Mathworks uses qhull for n-d
- qhull.htm: Fix qhull for qconvex
- qdelaun.htm/qvoronoi.htm: Use option 'Qz' for circular/cospherical inputs
- make help: Display targets
- Makefile: Better messaging
------------
Qhull 2012.1 2012/02/02 6.3.0.1483
Bug fixes
- Fixed qset.c for -fno-strict-aliasing. This gcc option is no longer needed
(disallow two pointers of differing types to the same memory location)
- Fixed error in qh_setappend_set if first set full and second set empty
- qh_setdelnth, qh_setdelnth_sorted: fixed wording of error message
- qh_setcheck: error message listed size and max backwards.
- qh_setequal: Allow NULL set as documented
- qh_setindex: Allow NULL set as documented
- qh_settemppush: report error if NULL
Code changes
- Add testqset: low level test of qset.c with mem.c
- qh_setendpointer: Implements QSet::endPointer()
- Assigned unique error code for qh_gethash
Build changes
- Added qhull.dll(.so) for Octave and other Debian builds
The global data structure qh_qh is statically defined (no qh_QHpointer)
Linked user_eg2 with qhull.dll (libqhull.so) instead of qhullstatic
Added qh_dllimport to libqhull.h for qhull.dll with MSVC
Changed qhull-app-shared.pri to use libqhull (without qh_QHpointer)
- Renamed libqhull6.so to libqhull6_p.so
Renamed qhull6.dll to qhull6_p.dll
The _p libraries (e.g., libqhull6_p.so) require -Dqh_QHpointer
Renamed qhull6.vcproj to libqhull6_p.vcproj
Added libqhullp/libqhullp.pro for shared library (libqhull6_p.so)
Added qhull-app-sharedp.pri for shared libraries with qh_QHpointer
- Install libqhull/*.htm files into include/libqhull
- Removed libqhull/qhull.h-deprecated [J. Eaton]
- Other changes to Makefile builds
Added 'make qtestall' as a smoketest of each qhull program
src/libqhull/Makefile: Use 'ar -rs ...' instead of ranlib
src/libqhull/Makefile: Fixed targets for cleanall
- Other changes to DevStudio builds
Moved pdb files for qhull libraries to lib/
AdditionalIncludeDirectories: Removed ../src/libqhullcpp
Use build-cmake/ for the DevStudio CMake build
- Other changes to Qt builds
Renamed qhull-libsrc.pri to qhull-libqhull-src.pri
- Added explicit d2u conversions to qhull-zip.sh
- Fixed \n vs. \r\n issues for Windows source files
Draft of Debian/AutoConf build (untested)
- Adjusted the Makefile.am's for the new directory structure.
- Added testqset to bin_PROGRAMS
- config/bootstrap.sh copies program sources into src/libqhull
- Kept qh_QHpointer=0 (static global data structure, qh_qh). It is faster.
Planning a new interface (qhull7?) which passes qh_qh as a parameter
- Added config/changelog from the 2003.1 Debian build
- Moved the debian/patches directory to config/
Optional patches to change smoketest message and turn on qh_QHpointer
- Deleted the debian directory. It was the old Debian build from 2003.1
Rafael Laboissiere's config directory replaced this build..
- Deleted Make-conf.sh (also the old Debian build)
Doc changes
- FAQ: Updated notes on computing volume of a Voronoi region
- Added direct link to ACM Digital Library for downloading the qhull paper
- Added link to Qhull in R
- qset.c: Updated notes about NULL sets
- qh_setappend: clarify qh_setappend for NULL newelem
- qh_setdellast: Fix head note
- Add build/README.txt
- Add uninstall instructions to README.txt and CMakeLists.txt
- Added instructions to create build/*.vcproj to CMakeLists.txt
- Update copyright to 2012
- Updated page links. Added Google books, patents, and blogs.
-----------
Qhull 2009.1.3 2011/12/06
configure: Add -fno-strict-aliasing if $GCC, Required for gcc 4.1+
------------
Qhull 2011.2 2011/11/29 6.2.1.1446
Bug fixes
- qh_new_qhull: Call qh_prepare_output if !outfile [A. Aldoma]
No effect on qhull users since qh_prepare_output is always called.
- Replace Qhull-go.pif with Qhull-go.lnk for Windows 7 64-bit [lots]
- Error if qh_newhashtable, qh_setnew, or qh_memalloc overflows [X. Cheng]
For example, 'rbox 64 D32' overflows hash table for qh_matchnewfacets
Qhull uses 32-bit ints for identifiers, counts, and sizes. See "WARN64"
- q_eg, q_test: change tail +3 to tail -n +3 [N. Dubray, M. Atzeri]
- Qhull-go.bat: Changed 'cmd' to '%comspec%'
Build changes
- Added src/libqhull/Makefile for simple gcc build of executables and lib
- qhulltest.vcproj: Replaced full path to QT with $QTDIR (e.g., c:/qt/4.7.4)
- Split userprintf_rbox.c from userprintf.c,
Otherwise qhull brings in rboxlib and rbox brings in libqhull
- Makefile: qhullx target must be after LIBQHULLS_OBJS
- Makefile: Explicitly list rbox dependencies for qhullx target
- MBorland: Fixed tabs
- Placed $LIBQHULLS_OBJS in same order. Frequently called ones together.
- Update file lists for Make-config.sh [O. Lahaye]
- CMakeLists: add README.txt,etc. to DOC_INSTALL_DIR [M. Atzeri]
- Restored qhull.h-deprecated.
qhull.h conflicts with Qhull.h on Windows systems [C. Abela]
- make-config.sh: Add warning that it is out-of-date
- Remove extra space in '#! /bin/sh' in q_eg, etc. [P. Cheeseman]
Source changes
- libqhull.h: Added qh_True and qh_False for True/False [A. Mutzel]
Did not remove or replace True/False since it is used everywhere
- Moved error message from qh_argv_to_command to caller. Avoids dependency.
- user_eg3.c: Use '10 D2' as default rbox (e.g., 'user_eg3 rbox qhull d')
- user.c, user_eg2.c: Add test of qh_qh as done in user_eg.c
- q_test: Removed duplicate test of qhull C-0.02
Documentation
- index.html: Added ACM Authorizer link to ACM Trans. Math. Software
- Split Delaunay and Voronoi FAQs
- FAQ: How to compute the volume of a Voronoi region [C, Brinch]
- Add 'FS' to qconvex prompt (total area and volume)
- Add clarification to 'Fv' about corner input sites [O. Can]
- Qhull-go.bat: Removed out-of-date advice. Added title.
- qh-code.htm: Updated the discussion of multi-threading for C++ [I. Pirwani]
Qhull 2009.1.2 2011/11/21
- Revert to LF line endings [P. Cheeseman]
- Remove out-of-date material from qhull-go.bat
- Replaced QHULL-GO with a lnk file
Qhull 2011.1 2011/05/23 6.2.0.1385 (exe/dll files unchanged)
- delaunay.vcproj: Fixed qhullstatic_d.lib for debug and minrelsize builds
- Did not redate the distribution
Qhull 2011.1 2011/05/18 6.2.0.1385 (exe/dll files unchanged)
- Add 'm' library to shared and static targets on Unix [A. Bouchard]
Qhull 2011.1 2011/05/14 6.2.0.1383 (exe/dll files unchanged)
- PointCoordinates.cpp: Add #include <iterator> [R. Richter, S. Pasko]
- Remove deprecated libqhull/qhull.h
Use libqhull/libqhull.h instead. Avoids confusion with libqhullcpp/Qhull.h
- Makefile: Add LIBDIR, INCDIR, and DESTDIR to install [L.H. de Mello]
Separate MAN install from DOC install
Create install directories
Installs headers to include/libqhull, include/libqhullcpp, include/road
- CMakeLists.txt: Add MAN_INSTALL_DIR for qhull.1 and rbox.1 man pages
Add RoadTest.h to include/road for Qt users (road_HEADERS)
- Renamed md5sum files to avoid two extensions
- qh-get.htm: Add Readme links and 2009.1 note.
- qh-optf.htm: Fix link
- index.htm: Updated Google Scholar link
- qhull-zip.sh: Improved error message.
------------
Qhull 2011.1 2011/04/17 6.2.0.1373
Changes to deliverables
- qvoronoi: Deprecated 'Qt' and 'QJn'. Removed from documentation and prompts.
These options produced duplicate Voronoi vertices for cospherical data.
- Removed doskey from Qhull-go.bat. It is incompatible with Windows 7
- Added 'facets' argument to user_eg3.cpp
- user_eg links with shared library
- qhulltest.cpp: Add closing prompt.
Changes to build system
- Reorganized source directories
- Moved executables to bin directory
- Add CMake build for all targets (CMakeFiles.txt) [M. Moll assisted]
- Add gcc build for all targets (Makefile)
- Fixed location of qhull.man and rbox.man [M. Moll]
- Add DevStudio builds for all targets (build/*.vcproj)
- Added shared library (lib/qhull6.dll)
Added qh_QHpointer_dllimport to work around problems with MSVC
- Added static libraries with and without qh_QHpointer (lib/qhullstatic.lib)
- Added eg/make-vcproj.sh to create vcproj/sln files from cmake and qmake
- Document location of qh_QHpointer
- Use shadow build directory
- Made -fno-strict-aliasing conditional on gcc version
- Added src/qhull-app-cpp.pri, src/qhull-app-c.pri, etc. for common settings
- Add .gitignore with ignored files and directories.
- Use .git/info/exclude for locally excluded files.
- Fixed MBorland for new directory structure
- cleanall (Makefile): Delete 'linked' programs due to libqhull_r and libqhull/Makefile
Changes to documentation
- qvoronoi.htm: Remove quotes from qvoronoi example
- qhull-cpp.xml: Add naming conventions
- index.htm: Add Google Scholar references
- qh-optf.htm: Add note about order of 'Fn' matching 'Fv' order [Q. Pan]
- Add patch for old builds in qh-get.htm
- Added C++ compiling instructions to README.txt
- Add instructions for fixing the DOS window
- Changed DOS window to command window
- Fixed html links
- qh-get.htm: Dropped the Spanish mirror site. It was disabled.
Changes to C code
- mem.h: Define ptr_intT as 'long long' for Microsoft Windows _win64 builds.
On Linux and Mac, 'long' is 64-bits on a 64-bit host
- Added qh_QHpointer_dllimport to work around MSVC problem
- qconvex.c,etc.: Define prototype for _isatty
- Define MSG_QHULL_ERROR in user.h
- Move MSG_FIXUP to 11000 and updated FIXUP QH11...
Changes to test code
- Add note to q_test than R1e-3 may error (qh-code.htm, Enhancements)
- Add test for executables to q_eg, etc.
- Fixed Qhull-go.bat. QHULL-GO invokes it with command.com,
Changes to C++ interface
- QhullFacet: Added isSimplicial, isTopOrient, isTriCoplanar, isUpperDelaunay
- Added Qhull::defineVertexFacetNeighbors() for facetNeighbors of vertices.
Automatically called for facet merging and Voronoi diagrams
Do not print QhullVertex::facetNeighbors is !facetNeighborsDefined()
- Assigned FIXUP identifiers
- QhullError: Add copy constructor, assignment operator, and destructor
- Add throw() specifiers to RoadError and QhullError
- Renamed RoadError::defined() to RoadError::isDefined()
- Add #error to Qhull.h if qh_QHpointer is not defined
Changes to C++ code
- Fixed bug reported by renangms. Vertex output throws error QH10034
and defineVertexNeighbors() does not exist.
- Define QHULL_USES_QT for qt-qhull.cpp [renangms]
- Reviewed all copy constructors and copy assignments. Updated comments.
Defined Qhull copy constructor and copy assignment [G. Rivet-Sabourin]
Disabled UsingQhullLib default constructor, copy construct, and copy assign
- Merged changes from J. Obermayr in gitorious/jobermayrs-qhull:next
- Fix strncat limit in rboxlib.c and global.c
- Changes to CMakeLists.txt for openSUSE
- Fixed additional uses of strncat
- Fixed QhullFacet::PrintRidges to check hasNextRidge3d()
- Removed gcc warnings for shadowing from code (src/qhull-warn.pri)
- Removed semicolon after extern "C" {...}
- Removed experimental QhullEvent/QhullLog
- Use fabs() instead of abs() to avoid accidental conversions to int
- Fixed type of vertex->neighbors in qh_printvoronoi [no effect on results]
- Removed unnecessary if statement in qh_printvoronoi
------------
qhull 2010.1 2010/01/14
- Fixed quote for #include in qhull.h [U.Hergenhahn, K.Roland]
- Add qt-qhull.cpp with Qt conditional code
- Add libqhullp.proj
- Add libqhull5 to Readme, Announce, download
- Reviewed #pragma
- Reviewed FIXUP and assigned QH tags
- All projects compile with warnings enabled
- Replaced 'up' glyphs with »
- Moved cpp questions to qh-code.htm#questions-cpp
- Moved suggestions to qh-code.htm#enhance
- Moved documentation requests to qh-code.htm#enhance
- Add md5sum file to distributions
- Switched to DevStudio builds to avoid dependent libraries, 10% slower
Removed user_eg3.exe and qhullcpp.dll from Windows build
Fix qhull.sln and project files for qh_QHpointer
- Add eg/qhull-zip.sh to build qhull distribution files
------------
qhull 2010.1 2010/01/10
- Test for NULL fp in qh_eachvoronoi [D. Szczerba]
qhull 2010.1 2010/01/09
Changes to build and distribution
- Use qh_QHpointer=0 for libqhull.a, qhull, rbox, etc.
Use -Dqh_QHpointer for libqhullp.a, qhullcpp.dll, etc.
qh_QHpointer [2010, gcc] 4% time 4% space, [2003, msvc] 8% time 2% space
- Add config/ and project/debian/ for Autoconf build [R. Laboissiere]
from debian branch in git and http://savannah.nongnu.org/cvs/?group=qhull
- Add CMakeLists.txt [kwilliams]
- Fix tabs in Makefile.txt [mschamschula]
- Add -fno-strict-aliasing to Makefile for gcc 4.1, 4.2, and 4.3 qset segfault
- Remove user_eg.exe and user_eg2.exe from Windows distribution
- Order object files by frequency of execution for better locality.
Changes to source
- Remove ptr_intT from qh_matchvertices. It was int since the beginning.
- user.h requires <time.h> for CLOCKS_PER_SEC
- Move ostream<<QhullFacetList from inline to compiled.
- Removed ConvexHull/ from git. Not used.
------------
qhull 2009.1.1 2010/01/09
- Patch release of 2009.1.
qh_gethash allowed a negative result, causing overwrite or segfault
See git:qhull/project/patch/qhull-2003.1/poly.c-qh_gethash.patch
Compared results of q_test, q_eg, q_egtest with patched poly.c, qhull-2003.1
------------
qhull 2010.1 2010/01/07
- Assign type to qh.old_qhstat and memT.tempstack [amorilia]
- Replace tabs with spaces.
- Fix qh_pointid in case ptr_intT is unsigned
qhull 2010.1 2010/01/06
- Fixed serious bug in qh_gethash [poly.c]
- Documentation and build system are incomplete (see above)
- First release of C++ interface [qh-code.htm]
- Development moved to http://gitorious.org/qhull
git clone git@gitorious.org:qhull/qhull.git
- Did not fix conformant tesselations for 'Qt'.
For details, see http://www.qhull.org/news#bugs of May 2007 and Dec 2006.
- Use g++ builds for Windows distribution (10% faster than msvc2005)
Combined vcproj/ and qtproj/ into project/
vcproj will be replaced by qmake generated files
------------
qhull 2010.0.3 2010/01/05
Fixed bugs
- 'QJn': Fix qh.STOPcone in qh_build_withrestart(). It was not cleared.
- qh_initqhull_outputflags [global.c]: warn about Qc only if QHULLfinished
otherwise set if needed
qhull 2010.0.2 2010/01/04
Fixed bugs
- qh_gethash [poly.c]: fix sign conversion.
Previously, the result may be negative, leading to a segfault.
The bug is more likely with large address spaces
Reviewed all uses of %(modulo) for remainder with negative arguments
- Reviewed output of q_test and compared to results from 2003.1
Breaking code changes
- Return type of qh_gethash changed from unsigned to int. Matches 'size'
- addhash takes a signed hash
qh_addhash( newelem, hashtable, hashsize, hash )
Code changes
- Test for qh_qh in qh_printf
- Makefile.txt corrected for libqhull build [amorilia]
- Renamed index to idx to avoid shadowing BSD strings.h [kwilliams]
qhull 2010.0.1 2010/01/03
New Features:
- Added option 'Ta' to annotate output with message codes
Preliminary C++ support:
- C++ declarations may change without warning
- Preliminary documentation for Qhull's C++ interface [qh-code.htm#cpp, qhull-cpp.xml]
- Added user_eg3 as an example of Qhull.cpp
- Removed qhull_interface.cpp. Use Qhull.cpp instead.
If math.h breaks '#include qhull_a.h', preceed it with '#include math.h'
Changes to qhull options and results
- Allow 'd' and 'v' as the filename for 'TO ..' and 'TI ...' in qdelaunay [M. Jambon]
- 'rbox tN' requires an integer (previously allowed floats)
- Allow quoted filenames for 'TO ...' and 'TI ...'
- Prefix error messages and warnings with a message code (e.g., QH6012)
- Fixed rbox ignoring flags that were not separated by spaces
- Report all hidden options before exiting in qh_checkflags()
- Defined qh_OPTIONline [user.h] as max length of option line ('FO')
- Report error if negative arguments to rbox 'G', 'L', 'Z'
- Unknown rbox flag changed from a warning to an error
- Set error status 4 qh_ERRmem if rbox runs out of memory
- Removed extra spaces at end of line
Breaking Code Changes:
- Renamed qh.coplanarset to coplanarfacetset. Avoids conflict with facetT.coplanarset
- qh_restore_qhull() zeroes out qh.old_qhstat and qh.old_tempstack. Ownership moved.
- Rewrote save_qhull/restore_qhull
- Add Ztotcheck to zzdef_ [R. Gardener]
- Changed qh_malloc to size_t (was unsigned long)
- Declare qh_PRINT instead of int [kwilliams]
- In qh_printafacet(), changed error output to 'qh ferr'
Bug fixes to C code:
- Use gcc 4.4.0 or later. gcc 4.2.1, 4.2.2, and 4.3.2 -O2 segfaults in qset.c . gcc 4.1.1 was OK
See bug report http://gcc.gnu.org/ml/gcc-bugs/2007-09/msg00474.html
- Rewrite qh_setappend to avoid g++ 4.1, 4.2, and 4.3 strict_aliasing error.
Orion Poplawski (orion@cora.nwra.com)
http://www.rpmfind.net/linux/RPM/fedora/12/ppc/qhull-devel-2003.1-13.fc12.ppc64.html
- Fixed qh_findfacet_all(), "REALmin" should be "-REALmax" [L.A. Taylor].
Effects library users for convex hulls and halfspace intersections.
- qh_printfacet [io.c] Removed extra space for neighboring facets
- Report error if d points, Delaunay, and not Qz
- Fixed double-free of facet->centrum for triangulated facets
- Fixed mindist initialization if !testcentrum in io.c findbest_test [Ratcliff]
- Fixed parentheses around warning for missing 'Qc' [qh_initqhull_outputflags]
- Fixed rbox buffer overflow of 'command' when appending seedbuf
- Fixed option string for 'rbox t t999'. Although seed was correctly set to 999,
a random seed was appended to the rbox comment (e.g., 'rbox t t999 t32343')
- Fixed upper bound of sanity check for qh_RANDOMmax in qh_initqhull_globals()
Changes to C code
- Reordered #include from specific to general. Move up .h for module.
- Removed qh.old_stat -- never used
- Removed qh_clearcenters from qh_freeqhull. Duplicated by qh_delfacet
- qh_printcenter [io.c] removed unreachable fprintf argument
- qh_getarea() [geom2.c] ignored on multiple calls (qh.hasAreaVolume)
- qh_getarea() [geom2.c] checks facet->isarea. Set by QhullFacet.facetArea()
- qh_triangulate() [poly2.c] ignored on multiple calls (qh.hasTriangulation)
- Add statistics for vertex_visit and visit_id to buildtracing
- Defined scale and offset parameters for qh_randomfactor
Bug fixes and changes to mem.c/mem.h
- Fixed qhmem.totshort (total short memory in use)
- Memory tracing (T5) redone for sort order by object
- Added full tracing for short memory allocations.
- Added qhmem.totfree (total short memory on freelists)
Increases size of qh_memalloc_ and qh_memfree_
- Added qhmem.totdropped (leftover freesize at end of each short buffer)
- Added qhmem.totunused (short size - request size)
- Added qhmem.totbuffer (total short memory buffer w/o links)
- Added memory statistics to qh_NOmem;
- Added qh_memtotal to track allocated memory
- Renamed qh_memfree parameter to 'insize' for consistency with qh_memalloc
- Removed qhmem.curlong. qa_memfreeshort computes curlong from cntlong and cntfree
- In mem.h, changed ptr_intT to long. qh_meminit() checks that it holds a 'void*'
Fixed g++ and devstudio warnings
- Except for bit field conversions, compiles cleanly with
-Wall -Wextra -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-conversion -Wconversion
- Fixed warnings at VC8, level 4
- Fix data types to remove conversion warnings [kwilliams]
- Use size_t for calls to malloc,etc [kwilliams]
Retained int sizes for qset.h and mem.h. Follows Qt convention
and is easier to work with. int can be 64-bits if 2 billion facets
- Change literal strings to const char* [kwilliams]
- Added type casts to SETfirst and SETsecond [amorilia+alphax]
- getid_() returns an int [kwilliams]
- Add missing const annotations [kwilliams]
- Fixed 64-bit warnings (marked with "WARN64")
- Convert sizeof to (int) for int parameters
- In libqhull.c, added explicit casts from long to float, Avoids warning
- In global.c, cast time() to int for QRandom-seed. Avoids warning
Changes to C code for C++ support
- Add sln, vcproj, and qtpro files for building Qhull -- add to README notes
- Added dim to vertexT for cpp interface. Reduced size of qh.vertex_visit
- qh_produce_output [io.c] may be called multiple times (C++ interface)
- Moved SETsizeaddr_() to qset.h for use by QhullSet.cpp
- Option 'Tz' sets flag qh.USEstdout for QhullPoints.cpp
- Added support for multiple output runs from QhullPoints.outputQhull
- qh_clear_outputflags() resets the output flags
- qh_initqhull_outputflags split from qh_initqhull_globals
- Added qh.run_id, a random identifier for this instance of Qhull (QhullPoints)
- For qh.run_id, initqhull_start initializes qh_RANDOMseed to time instead of 1
- Extracted qh_argv_to_command (random.c) from qh_init_qhull_command and fixed a buffer overflow
- Moved qh_strtod/qh_strtol from global.c to random.c for use in rboxlib.c
- Split out random functions into random.c
- Added message codes to qh_fprintf(). See its definition in user.c
- Replaced exit, malloc, free, fprintf, and fputs with qh_malloc,...[J.W. Ratcliff]
- Added qh_fprintf, qh_malloc, qh_free, ph_printhelp_narrowhull to user.c
- Moved qh_printhelp_degenerate and qh_printhelp_singular from io.c to user.c
- Clear qh.ERREXITcalled at end of qh_errexit().
Documentation:
- Fixed out-of-date CiteSeer references
- Renamed html/qh-in.htm to html/qh-code.htm
- Add reference to 'Qt' to 'i'
- Add reference to 'FS' to 'FA'
- qh-impre.htm discusses precision issues for halfspace intersection
- Add cross references between options 'FA' and 'FS'
- Added link to Wolfram Research's MathWorld site
- Updated Fukuda's links
- Changed copyright to C.B. Barber for C++, documentation, and merge.c
- Updated Qhull citation with page numbers.
- Proposed project: constructing Voronoi diagram
- Proposed project: computing Voronoi volumes
- Replaced tabs with spaces in qhull.txt and rbox.txt
------------
qhull 2009.1 2009/6/11
This is a maintenance release done by Rafael Laboissiere <rafael@debian.org>.
- src/rbox.c (main): Avoid problems of evaluation order when
pre-incrementing arguments of strtod
- src/io.c (qh_produce_output), src/stat.c (qh_initstatistics): Use %lu
instead of %d in the format string for arguments of type size_t
- html/qhull.man, html/rbox.man: Fix several syntax, macros, and hyphen
problems in man pages
- The Autotools files have been generated with modern version of autoconf (2.63),
automake/aclocal (1.10.2), and libtool (2.2.6)
- Some character issues in the man pages are fixed
* GnuTLS: compatibility with GnuTLS-3.4.2
* Nethttpd_plex: the post_add_hook was not called by accident
(since OCamlnet-4); this is now fixed.
* Nethtml: new option case_sensitive
* GnuTLS: initializing the library on-demand. This avoids that
/dev/random is kept open all the time since program start, and
works around incompatibilities with Netplex. (Thomas Calderon
found the problem.)
* GnuTLS: setting DH parameters on certificates (this was forgotten in
previous releases). (Thomas Calderon found the problem.)
* GnuTLS: supporting GnuTLS versions where SRP is disabled.
Supporting GnuTLS-3.4.
* OpenBSD build: fix linker option (Christopher Zimmermann)
* Equeue: There is a new method request_proxy_notification,
which is only used by Uq_engines.qseq_engine (but unfortunately
needs to appear in the public type of the object). This new
method permits that chains of Uq_engines.qseq_engine pairs
can now be arbitrarily long without consuming too much memory
and without the danger of getting stack overflows.
This fixes issues where notification chains got too long. In
particular, we saw a stack overflow when retrieving a video
stream via HTTP. The stream was sent with many chunks, resulting
in a long Uq_engines.qseq_engine chain.
Implementers of engines can simply define request_proxy_notification
as no-ops.
* Nethttp.set_content_range: this function generated an incorrect
header (the "bytes" word was missing). (Török Edwin)
* _oasis is generated from _oasis.in
* Netplex: the Netplex socket directory has a different default
if not specified in the config file.
* Netshm: the POSIX specifier has now two args
* IPv6: automatically enabled if there is a global IPv6 address
* Unicode tables: Moved them to a separate netunidata library.
This library needs to be linked in for getting access to the
tables (this is no longer the default).
* Renamings: Http_client, Ftp_client etc. => Nethttp_client,
Netftp_client
Mimestring => Netmime_string
Xdr => Netxdr
* Netmime: moved functions to Netmime_header and Netmime_channels
* Netmech_scram: Removed the check that passwords only consist of
ASCII chars. The user can now call Netsaslprep.saslprep.
* Removed: rpc-auth-dh, nethttpd-for-netcgi2
* Http_client: the authentication mechanisms are now encapsulated
in a first-class module HTTP_MECHANISM. So far, there is Digest
authentication in this form. The signature of HTTP_MECHANISM
is similar to SASL_MECHANISM.
Another visible change is that the insecure Basic authentication
is no longer enabled for non-TLS-secured connections. This can be
changed back by setting flags, though.
Some fixes in the design improve Digest authentication for proxy
connections.
* Netpop: implementating SASL authentication for POP3. Moved Netpop
into netclient.
* Netsmtp: implementing SASL authentication for SMTP. Moved Netsmtp
into netclient.
* Adding a framework for SASL, and a number of mechanisms
(PLAIN, CRAM-MD5, DIGEST-MD5, SCRAM-SHA1).
* fcgi/scgi/ajp connectors: exporting a handle_connection function,
and unifying existing such functions (Christopher Zimmermann)
* adding support for modular cryptography (symmetric ciphers and
digests)
* SCRAM is now implemented with the new crypto providers
* removing dependency on Cryptokit
* removed library netgssapi; now part of netsys/netstring
* removed library netmech-scram; now part of netstring
Ocamlnet-4 adds:
- new library netgss-system
- new library nettls-gnutls
- removed equeue-ssl and rpc-ssl
- X.500 modules Netasn1, Netdn, Netx509
- Crypto definitions Netsys_crypto_types, Netsys_crypto
- TLS modules Netsys_tls, Nettls_support
- Support for SASL and GSSAPI
- Moved many functions from Uq_engines to new modules in
the equeue library (Uq_client, Uq_server, Uq_multiplex,
Uq_transfer)
-------------------
1.28 2016-02-01 16:10:00 MANWAR
- Removed +x attribute from some of the test scripts.
- Added test scripts t/meta-json.t and t/meta-yml.t.