Skip to content

Fixes remotecode exec CVE with ghostscript#128

Closed
stevenwilliamson wants to merge 1 commit into
TritonDataCenter:joyent/feature/backports/2017Q4from
stevenwilliamson:freeagent/feature/backport/2017Q4/ghostscript
Closed

Fixes remotecode exec CVE with ghostscript#128
stevenwilliamson wants to merge 1 commit into
TritonDataCenter:joyent/feature/backports/2017Q4from
stevenwilliamson:freeagent/feature/backport/2017Q4/ghostscript

Conversation

@stevenwilliamson
Copy link
Copy Markdown

Backports ghostscript-gpl from trunk which has a few more CVE fix
patches applied.
Adds a patch that fixes issue that has been exploited in the wild (exploit is in
metasploit) by applying the patch that debian ship

(Newer pkgsrc branches switched to ghostscript-agpl which is more current and is updated so does not need the patch)

Backports ghostscript-gpl from trunk which has a few more CVE fix
patches applied.
Adds a patch that fixes issue that has been exploited in the wild (exploit is in
metasploit) by applying the patch that debian ship
jperkin added a commit that referenced this pull request Aug 8, 2018
Pulled from #128 with minor modifications.
@jperkin
Copy link
Copy Markdown
Collaborator

jperkin commented Aug 8, 2018

Applied, thanks! Sorry for the delay. I took out the buildlink3.mk part of the change as that has caused problems with the older pkgin before.

@jperkin jperkin closed this Aug 8, 2018
jperkin pushed a commit that referenced this pull request Jan 12, 2019
Changes since b127:

Beta #129 - 10.01.2019
- Prevent doing 64-bit MULs if the scopes are inactive (rate calculation)
- WaitVBL() function for scopes and video (when no vsync) has been changed to
  include fractional precision for "next frame time" counter. Note that this
  is a minor change and does not magically remove video stuttering.

Beta #128 - 06.01.2019
- If speed (ticks per row) is set to 0, reset it to the initial value when
  pressing play.
- Clamp BPM/speed when loading modules so that the values are not illegal
- Some other minor fixes
- Code cleanup
jperkin pushed a commit that referenced this pull request Sep 2, 2019
Changes since 1.5.2:

    Disable EGL on macOS
    Fix build on macOS [#176, Emmanuele Bassi]
    Add macOS tests
    Fix build with uClibc [#181, Emmanuele Bassi]
    Fix GLES3 symbol lookup [Adam Jackson]
    Fix conditional compilation [#184, Zhao Zhili]
    Require Meson 0.47
    Fix Autotools build with EGL-X11 support [#188, Emmanuele Bassi]

Changes since 1.5.1:

    Fix the detection of the -z,relro linker flag
    Query the EGL context version when bootstrapping on GLES [Adam Jackson]
    Avoid inadvertedly loading libraries when probing for them [Adam Jackson]
    Issue #169: Fix build on FreeBSD [Ting-Wei Lan]
    Consistently use abort() instead of exit() for internal state checks
    Issue #171: Fix a performance regression in the global function pointer
    trampolines introduced by using -Bsymbolic-functions
    Improve performance when using GL function pointers like glAlphaFunc [Adam Jackson]

Changes since 1.5.0:

    Do no add pkg-config dependencies on gl on systems that do not use
    pkg-config, like macOS and Windows [Tom Schoonjans, #156]
    Generalise checks for dlvsym [Ross Burton, #158]
    Add an option for disabling building the test suite [Ross Burton]
    Typo fixes in the comments and documentation [luz.paz, #159]
    Simplify the Meson configuration logic for EGL and GLX [Eric
    Engestrom, #162]
    Use assert when no context is found [Adam Jackson, #166]
    Remove a test superceded by GLVND [#165]
    Avoid Meson warnings when testing for linker arguments


Changes from Epoxy 1.4.3

    Bump the Meson dependency to 0.44.1
    Include Xlib.h in the tests that use X11 API
    Update the GL registry to OpenGL 4.6
    Add gl and egl private dependencies in the pkg-config file
    Allow building Epoxy without X11 support
    Rename the Meson configuration options to be more idiomatic
    New API:
        epoxy_set_resolver_failure_handler()
        epoxy_glsl_version()
        epoxy_extension_in_string()

Issues fixed

    #128 - Fix macOS linker flags [Tom Schoonjans]
    #129 - Use GLVND if available [Adam Jackson]
    #134 - Add fallback definition for EGL_CAST [Daniel Stone]
    #133 - Try even harder to not load GLX [Adam Jackson]
    #138 - Fix the libOpenGL soname [Adam Jackson]
    #137 - Update differences with GLEW [Nigel Stewart]
    #131 - Add epoxy_set_resolver_failure_handler() [Adam Jackson]
    #140 - Fix pointer mismatch on Windows 10 [danem]
    #141 - Define visibility flags for static builds [Dylan Baker]
    #136 - Expose epoxy_extension_in_string() [Lyude Paul]
    #151 - Use correct guard for Android builds [Robert Bragg]
    #154 - Fix dlwrap for glvnd [Adam Jackson]
    #155 - Respect DLOPEN_LIBS [Michał Górny]
    #143 - Fix printf family usage [Ikey Doherty]
    #152 - Do not use OPENGL_LIB on Android
    #145 - Add epoxy_glsl_version()
jperkin pushed a commit that referenced this pull request Sep 2, 2019
*******************************************************************************
Version 1.8.4
*******************************************************************************

2017-11-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	GitHub #57 - 1.8.3 broke ABI without changing SONAME
	Opened by jcowgill

	This change in 1.8.3 broke the ABI and therefore the SONAME should have
	been changed (ie: age reset to 0):

	EXPORT_SPEC int UpnpAddVirtualDir(
	        /*! [in] The name of the new directory mapping to add. */
	-       const char *dirName);
	+       const char *dirName,
	+       /*! [in] The cookie to associated with this virtual directory */
	+       const void *cookie,
	+       /*! [out] The cookie previously associated, if mapping is already present */
	+       const void **oldcookie);

	If only the cookie argument was added, you could probably get away with
	this because all that would happen is that a garbage value is passed
	around without being used. With the addition of oldcookie, any old
	programs will not initialise this value and will probably segfault when
	libupnp tries to write to it.

*******************************************************************************
Version 1.8.3
*******************************************************************************

2017-09-07 Dave Overton <david(at)insomniavisions.com>

	Add userdata/cookie to virtualDir callbacks

	As with the main Device APIs (UpnpRegisterRootDevice etc), it is useful
	to have a userdata/cookie pointer returned with each callback.

	This patch allows one cookie per registered path which enables a variety
	of functionality in client apps.

2017-09-03 Uwe Kleine-König <uwe@kleine-koenig.org>

	Fix large file system support

	libupnp uses large file support (if available). If a program linking to
	libupnp does not however it creates mismatches in callframes. See
	Issue #51 for the results.

	This simplifies LFS support by using AC_SYS_LARGEFILE_SENSITIVE instead of
	manually defining _LARGE_FILE_SOURCE and _FILE_OFFSET_BITS (which is
	useless on architectures where the size of off_t is fixed).

	Furthermore additional logic is introduced to catch a library user without
	64 bit wide off_t on such a platform.

	upnp.h also makes use of off_t, but as this file includes FileInfo.h, the
	latter is the single right place for this check.

	This fixes #52 which is a generalized variant of #51.

2017-08-19 Uwe Kleine-König <uwe@kleine-koenig.org>

	configure.ac: Drop copying of include files

	The comment suggests this is for windows compilation. It should be easily
	possible to add the source directory as an include path to the windows
	compiler, too, so drop this. (Otherwise this should better be done using
	AC_CONFIG_COMMANDS.)

2017-09-03 Uwe Kleine-König <uwe@kleine-koenig.org>

	Let source code use autoconfig.h not the public upnpconfig.h

	The former is the one supposed to be used for internal code. upnpconfig.h is only
	for public stuff.

2017-08-19 Uwe Kleine-König <uwe@kleine-koenig.org>

	configure.ac: Fix typo s/optionnal/optional/

2017-08-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	Fix broken samples when configured with --disable-ipv6.

*******************************************************************************
Version 1.8.2
*******************************************************************************

2017-07-24 Michael Osipov

	Initialize in_addr and in6_addr to avoid garbage output if never written

	If any of the address families isn't available in UpnpGetIfInfo(),
	especially IPv6, always init both structs with zero to avoid garbage
	output with inet_ntop() to gIF_IPV4 and gIF_IPV6.

	See v00d00/gerbera#112 (https://github.com/v00d00/gerbera/issues/112)
	for consequences: bind for IPv6 will fail.

2013-10-28 Vladimir Fedoseev <va-dos(at)users.sourceforge.net>

	Attached patch allows to register multiple clients from single app.

2014-11-14 Philippe <philippe44ca(at)users.sourceforge.net>

	Hi - I recently compiled libupnp on C++ Builder XE7 and had to do a few
	changes to make it work. In thase this helps, I've generated a small
	patch file.

2015-04-30 Hugo Beauzée-Luyssen <chouquette(at)users.sourceforge.net>

	When building using a strict mode (-std=c++11 instead of -std=gnu++11,
	for instance), the WIN32 macro isn't defined. The attached patch fixes
	it by using _WIN32 instead.

2015-02-06 Jean-Francois Dockes <jf@dockes.org>

	Queue events on their subscription object instead of adding them to the
	thread pool immediately.

	Events destined for a non-responding control point would flood the
	thread pool and prevent correct dispatching to other clients, sometimes
	to the point of disabling the device. Events are now queued without
	allocating thread resources and properly discarded when a client is not
	accepting them.

2015-02-03 Jean-Francois Dockes <jf@dockes.org>

	genaInitNotify()/genaInitNotifyExt() and
	genaNotifyAll()/genaNotifyAllExt() are relatively complicated methods
	which only differ by the format of an input parameter. This update
	extracts the common code for easier maintenance, esp. relating to the
	queueing modifications to follow.


*******************************************************************************
Version 1.8.1
*******************************************************************************

2017-04-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	Fix some compiler warning messages on md5.c

2017-03-07 Fabrice Fontaine <fontaine.fabrice(at)gmail.com>

	Enable IPv6 by default

2017-03-07 Fabrice Fontaine <fontaine.fabrice(at)gmail.com>

	Move threadutil source code to libupnp

	With this patch, threadutil library is removed as the only public
	header that has been kept in 1.8.x is ithread.h which is mainly a
	wrapper to pthread with inline functions.
	threadutil source code will now be a part of libupnp library.

*******************************************************************************
Version 1.8.0
*******************************************************************************

2014-01-15 Peng <howtofly(at)gmail.com>

	Fix memory leaks.

2013-04-27 Thijs Schreijer <thijs(at)thijsschreijer.nl>

	Renamed SCRIPTSUPPORT to IXML_HAVE_SCRIPTSUPPORT for consistency. Also
	updated autoconfig and automake files, so it also works on non-windows.
	Option is enabled by default, because it adds an element to the node
	structure. Not using an available field is better than accidentally
	using an unavailable field.

2012-07-11 Thijs Schreijer <thijs(at)thijsschreijer.nl>

	Changed param to const UpnpAcceptSubscriptionExt() for consistency

2012-06-07 Thijs Schreijer <thijs(at)thijsschreijer.nl>

	updated ixmlDocument_createAttributeEx() and ixmlDocument_createAttribute()
	to use parameter DOMString instead of char * (same but now consistent)

2012-05-06 Thijs Schreijer <thijs(at)thijsschreijer.nl>

	Added script support (directive SCRIPTSUPPORT) for better support of
	garbage collected script languages. The node element gets a custom tag
	through ixmlNode_setCTag() and ixmlNode_getCTag(). And a callback upon
	releasing the node resources can be set using ixmlSetBeforeFree()
	See updated readme for usage.

2012-03-24 Fabrice Fontaine <fabrice.fontaine(at)orange.com>

	SF Bug Tracker id 3510595 - UpnpDownloadXmlDoc : can't get the file

	Submitted: Marco Virgulti ( mvirg83 ) - 2012-03-23 10:08:08 PDT

	There is a problem, perhaps, during downloading a document by
	UpnpDownloadXmlDoc. During debugging i've found that in an not exported
	api (unfortunately i forgot the code line...) where it is setted a
	local variable "int timeout" to -1 then passed directly to another
	function for sending data through tcp socket. I patched this setting it
	to 0 (there is an IF section that exits if timeout < 0). It is normal
	behavior or it is a bug?

2012-03-08 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>

	Check for NULL pointer in TemplateSource.h

	calloc can return NULL so check for NULL pointer in CLASS##_new and
	CLASS##_dup.

2012-03-08 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>

	Replace strcpy with strncpy in get_hoststr

	Replace strcpy with strncpy to avoid buffer overflow.

2012-03-08 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>

	Memory leak fix in handle_query_variable

	variable was never freed.

2011-02-07 Chandra Penke <chandrapenke(at)mcntech.com>

	Add HTTPS support using OpenSSL. HTTPS support is optional and can
	be enabled by passing the --enable-open-ssl argument to the
	configure script.

	The following methods are introduced to the public API:
	UpnpInitOpenSslContext

	When enabled, HTTPS can be used by using "https://" instead of
	"http://" when passing URLs to the HTTP Client API.

2011-02-07 Chandra Penke <chandrapenke(at)mcntech.com>

	Refactor HTTP Client API to be more generic.

	The following features are added:

	- Support for persistent HTTP connections (reusing HTTP
	  connections). Tthis is still a work in progress and relies on
	  applications to interpret the 'Connection' header
	  appropriately.

	- Support for specifying request headers when making
	  requests. Useful for interacting with web services that require
	  custom headers.

	- Support for retrieving response headers (this is a API only
	  change, some more work needs to be done to implement the actual
	  functionality. Specifically copy_msg_headers in httpreadwrite.c
	  needs to be implemented)

	- Common API for all HTTP methods.

	- Support for PUT, and DELETE methods.

	The following methods are introduced to the public HTTP Client API

	UpnpOpenHttpConnection, UpnpCloseHttpConnection, UpnpMakeHttpRequest,
	UpnpWriteHttpRequest, UpnpEndHttpRequest, UpnpGetHttpResponse,
	UpnpReadHttpResponse.

	Removed a lot of duplicate code in httpreadwrite.c

2011-01-17 Chandra Penke <chandrapenke(at)mcntech.com>

	Include upnpconfig.h in FileInfo.h to automatically include large
	file macros

2011-01-17 Chandra Penke <chandrapenke(at)mcntech.com>

	Fix for warnings Apple systems related to macros defined in list.h.

	In list.h, in apple systems, undefine the macros prior to defining them.

2011-01-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	Fix for UpnpFileInfo_get_LastModified() in http_MakeMessage().

	UpnpFileInfo_get_LastModified() returns time_t, and http_MakeMessage()
	takes a "time_t *". Thanks to Chandra Penke for pointing the bug.

2010-11-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	Template object for ssdp_ResultData.

2010-11-10 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>

	Support for "polling" select in sock_read_write.

	Currently, in sock_read_write function, if the timeout is 0, pupnp
	realizes a "blocking" select (with an infinite timeout). With this
	patch, if timeout is set to 0, pupnp will realize a "polling" select
	and returns immediately if it can not read or write on the socket. This
	is very useful for GENA notifications when pupnp is trying to send
	events to a disconnected Control Point. "Blocking" select can now be
	done by putting a negative timeout value.

2010-09-18 Chandra Penke <chandrapenke(at)mcntech.com>

	This is a minor build fix. The new Template*.h files added in the latest
	code need to be exported. Patch against the latest sources is attached.

2010-08-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* upnp/src/api/Discovery.c: Fix a serious bug and memory leak in
	UpnpDiscovery_strcpy_DeviceType(). Thanks to David Blanchet for the
	patch.

2010-04-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	Separation of the ClientSubscription object.

2010-04-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	Protect the object destructors agains null pointers on deletion, which
	should be something valid.

2010-03-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	SF Patch Tracker [ 2987390 ] upnp_debug vs. ixml_debug
	Thanks for the load of updates, I'm still assimilating them ! Could I make
	a suggestion though? The addition of printNodes(IXML_Node) to upnpdebug a
	dds a new dependency on ixml.h for anything using upnpdebug.h. I'm making
	quite a bit of use of upnpdebug in porting things to version 1.8.0, and I'd
	prefer it if printNodes could be added to ixmldebug.h instead. I'm attach
	ing a patch, what do you think ?

	Nick

2010-03-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Forward port of svn revision 505:
	SF Patch Tracker [ 2836704 ] Patch for Solaris10 compilation and usage.
	Submitted By: zephyrus ( zephyrus00jp )

2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2969188 ] 1.8.0: patch for FreeBSD compilation
	Submitted By: Nick Leverton (leveret)
	Fix the order of header inclusion for FreeBSD.

2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Forward port of svn revision 502:
	SF Patch Tracker [ 2836704 ] Search for nested serviceList (not
	stopping at the first lis
	Submitted By: zephyrus ( zephyrus00jp )

	Internet Gateway Device description contains nested serviceList (rootdevice
	-> servicelist, subdevice
	and subdevice has the lower-level serviceList, etc..)

	Unfrotunately, the sample code sample_util.c used by tv_device sample,
	etc.
	has a code that looks for only the first top-level serviceList.
	This results in the failure to read all the services of an IGD xml
	description.

	Attached patch modifies this behavior and looks for the service by
	visiting all the serviceList in xml document in turn.

	With the modified patch (ad additional modification), I could
	simulate an IGD device and created a modified control program for that.

	Patch against 1.6.6

	TIA.

2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2973319 ] Problem in commit 499
	Submitted By: Nick Leverton (leveret)
	Afraid that this doesn't compile, it seems retval should be retVal in two
	places.

2010-03-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fix for the ithread_mutex_unlock() logic in UpnpInit().
	Thanks for Nicholas Kraft.

2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2962606 ] Autorenewal errors: invalid SID,
	too-short renewal interval
	Submitted By: Nick Leverton (leveret)

	Auto-renewals send an invalid SID due to a missing UpnpString_get_String
	call. They also send a renewal interval of 0 instead of copying it from
	the original subscription.

2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2964685 ] patch for avoiding inet_ntoa (1.8.0)
	Submitted By: Nick Leverton (leveret)

	Seems like SF's tracker won't let me add a patch to someone else's issue ?!
	This refers to https://sourceforge.net/support/tracker.php?aid=2724578

	The calls to inet_ntoa are in getlocalhostname(), which is called from
	UpnpInit when it is returning the bound IP address.
	UpnpInit/getlocalhostname hasn't been updated to IPv6, I presume this is
	deliberate so that it doesn't start returning IPv6 addresses and
	overwriting the caller's IPv4-sized allocation.

	The attached patch just updates getlocalhostname to use inet_ntop instead
	of inet_ntoa, and also documents the fact that UpnpInit is IPv4 only whilst
	UpnpInnit2 is both IPv4 and IPv6.

	A fuller solution might be to change UpnpInit to use some variant on
	UpnpGetIfInfo. UpnpInit could still be left as IPv4 only if desired -
	perhaps UpnpGetIfInfo could take an option for the desired address family.
	getlocalhostname and its own copy of the interface scanning code would then
	be redundant. I don't have IPv6 capability here though so I'm reluctant to
	change the IPv6 code, as I have no way to test it.

2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2724578 ] patch for avoiding memory leaks when
	add devices

	each time a device been added, UpnpInit() is called, on exit, UpnpFinish()
	is called, but the memories allocated by ThreadPoolInit() may lost because
	there's no code to call ThreadPoolShutdown() to release the memories. And
	inet_ntoa() is not thread safe, so in my patch, I substitute inet_ntoa()
	with inet_ntop().

2010-03-14 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2964687 ] Add new string based accessors to upnp
	object API

	As per email to pupnp-devel, this is the patch to add the _strget_
	accessors for string-like objects in the interface.

	Will add a further patch shortly to udpate the sample programs.

2008-06-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Nicholas Kraft's patch to fix some IPv6 copy/paste issues. He
	reported to be getting infinite loops with the svn code.

2008-06-13 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1984541 ]
	ixmlDocumenttoString does not render the namespace tag.
	Submitted By: Beliveau - belivo

	Undoing the patch that fixed this problem. In fact, there was no
	problem and the patch was wrong.

2008-06-11 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Ingo Hofmann's patch for "Content-Type in Subscription responses".
	Adds charset="utf-8" attribute to the CONTENT-TYPE header line.

	Hi,

	I have found an inconsistency regarding the text/xml content-type
	returned by libupnp. It looks like only subscription responses send
	"text/xml" where all other messages contain "text/xml; charset="utf-8"".
	Since I'm working on an DLNA device the latter behaviour is mandatory.
	I changed the according lines in gena_device.c (see attached patch).
	I'm not sure if it would be ok for other device to have the charset
	field but it would help me a lot :)

	Best regards,
	Ingo

2008-06-04 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1984541 ]
	ixmlDocumenttoString does not render the namespace tag.
	Submitted By: Beliveau - belivo

	The problem occurs when converting a xml document using
	ixmlDocumenttoString containing a namespace tag created with
	ixmlDocument_createElementNS. The namespace tag doesn't get rendered.

	example: The following code fragment prints:

	<?xml version="1.0"?>
	<root></root>

	instead of:
	<?xml version="1.0"?>
	<root xmlns="urn:schemas-upnp-org:device-1-0"></root>

	Code:

	#include <stdlib.h>
	#include <upnp/ixml.h>

	int main()
	{
		IXML_Document* wDoc = ixmlDocument_createDocument();
		IXML_Element* wRoot = ixmlDocument_createElementNS(wDoc,
			"urn:schemas-upnp-org:device-1-0", "root");
		ixmlNode_appendChild((IXML_Node *)wDoc,(IXML_Node *)wRoot);
		DOMString wString = ixmlDocumenttoString(wDoc);
		printf(wString);
		free(wString);
		ixmlDocument_free(wDoc);

		return 0;
	}

	The problem was in the printing routine, not in the library data
	structure.

2008-05-31 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Charles Nepveu's suggestion of not allocating a thread for
	MiniServer when it is not compiled.

2008-05-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Ported Peter Hartley's patch to compile with mingw.

2008-05-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added some debug capability to ixml.

2008-05-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Merged Charles Nepveu's IPv6 work. libupnp now is IPv6 enabled.

2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Breaking API so that we now hide internal data structures.

2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Rewrote Peter Hartley's patch to include a new extra header field in
	FileInfo.

*******************************************************************************
Version 1.6.22
*******************************************************************************

2017-07-07 James Cowgill <james410(at)cowgill.org.uk>

	Replace MD5 impmplementation with public-domain version

	Currently the RSA MD5 implementation is used. Unfortunately the license
	has some potential issues:
	* The license does not explicitly allow distributing derivative works.
	This was the original argument used in
	[Debian #459516](https://bugs.debian.org/459516).
	* The license contains an advertising clause similar to the BSD 4-clause
	license. This is incompatible with the GPL and if it were enforced,
	would require RSA to be mentioned by pretty much everyone who uses pupnp.

	The simple solution is to replace it with a public domain
	implementation. I've taken OpenBSDs implementation and tweaked it
	slightly for use by pupnp by:
	- Adjusting the includes.
	- Removing the __bounded__ attributes which are specific to OpenBSD.
	- Using the standard integer types from stdint.h.
	- Using memset instead of explicit_bzero.

2016-12-16 Peter Pramberger <peterpramb(at)users.sf.net>

	ixml/test/test_document.c is missing the string.h include, therefore
	the compiler complains about an implicit declaration.

*******************************************************************************
Version 1.6.21
*******************************************************************************

2016-12-16 Gabriel Burca <gburca(at)github>

	If the error or info log files can not be created, use stderr and
	stdout instead.

2016-12-08 Uwe Kleine-König <uwe(at)kleine-koenig.org>

	Fix out-of-bound access in create_url_list() (CVE-2016-8863)

	If there is an invalid URL in URLS->buf after a valid one, uri_parse is
	called with out pointing after the allocated memory. As uri_parse writes
	to *out before returning an error the loop in create_url_list must be
	stopped early to prevent an out-of-bound access

	Bug: https://sourceforge.net/p/pupnp/bugs/133/
	Bug-CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8863
	Bug-Debian: https://bugs.debian.org/842093
	Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=1388771

2016-11-30 Uwe Kleine-König <uwe(at)kleine-koenig.org>

	miniserver: fix binding to ipv6 link-local addresses

	Linux requires to have sin6_scope_id hold the interface id when binding to
	link-local addresses. This is already in use in other parts of upnp, so
	portability shouldn't be in the way here. Without this bind(2) fails with
	errno=EINVAL (although ipv6(7) from manpages 4.08 specifies ENODEV in this
	case).

	Fixes: https://bugs.debian.org/813249

2016-09-15 Mathew Garret <(at)mjg59 (twitter)>

	SF Bug Tracker #132 CVE-2016-6255: write files via POST

	Submitted by: Balint Reczey in 2016-08-02

	From Debian's BTS https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831857 :
	From: Salvatore Bonaccorso carnil@debian.org
	To: Debian Bug Tracking System submit@bugs.debian.org
	Subject: libupnp: write files via POST
	Date: Wed, 20 Jul 2016 11:03:34 +0200
	Source: libupnp
	Version: 1:1.6.17-1
	Severity: grave
	Tags: security upstream
	Justification: user security hole
	Hi
	See http://www.openwall.com/lists/oss-security/2016/07/18/13 and
	https://twitter.com/mjg59/status/755062278513319936 .
	Proposed fix:
	mjg59/pupnp-code@be0a01b
	Regards,
	Salvatore

	From Mathew Garret's commit: Don't allow unhandled POSTs to write to the filesystem by default

*******************************************************************************
Version 1.6.20
*******************************************************************************

2016-02-22 Jean-Francois Dockes <medoc(at)users.sf.net>

	SF Bugs #131, Creator: Jean-Francois Dockes

	I know it sounds crazy that nobody ever saw this, but the CONTENT-LENGTH
	value in GENA NOTIFY messages is too small by one.

	It appears that most current control points don't notice the extra
	character (an LF, which is validly there but not included in
	Content-Length), probably because their protocol handler is reasonably
	lenient, and because the missing body LF does not prevent parsing the
	XML. But there is a least one anal CP (Linn Kazoo) which barfs, because
	it reads all data until connection close and the size mismatch triggers
	a bug.

	"Proof":
	In gena_device.c:217 (notify_send_and_recv())

	ret_code = http_SendMessage(&info, &timeout,
	    "bbb",
	    start_msg.buf, start_msg.length,
	    propertySet, strlen(propertySet),
	    CRLF, strlen(CRLF));

	start_msg has all the headers, including the empty line.
	Content-length should be strlen(propertySet) + strlen(CRLF) (2)
	In gena_device.c:433 (AllocGenaHeaders())

	rc = snprintf(headers, headers_size, "%s%s%"PRIzu"%s%s%s",
	    HEADER_LINE_1,
	    HEADER_LINE_2A,
	    strlen(propertySet) + 1,
	    HEADER_LINE_2B,
	    HEADER_LINE_3,
	    HEADER_LINE_4);

	HEADER_LINE_2A is "CONTENT-LENGTH: ".
	The following value should be strlen(propertySet) + 2

2016-01-07 Marcelo Roberto Jimenez <mroberto(at)users.sourceforge.net>

	Fix for a reported integer overflow

2016-01-07 Jean-Francois Dockes <medoc(at)users.sf.net>
2016-01-07 Nick Leverton <nick(at)leverton.org>
	SF Patches #60, Creator: Jean-Francois Dockes

	When libupnp is configured with --enable-ipv6 but ipv6 is not available
	on the system (for example because the ipv6 code is not loaded in a Linux
	kernel as is the case by default on Raspbian), the ipv6 socket creation
	call will fail in miniserver.c and the library init will fail, even if
	the ipv4 initialisation would have succeeded.

	Let a library configured with --enable-ipv6 initialize in ipv4-only
	mode if ipv6 is not available instead of failing. This can happen
	if no ipv6 code is configured or loaded in the kernel.

	Don't fail if IPv6 is unavailable.
	We might be an IPv6 enabled distro build running on an IPv4-only custom kernel.

2016-01-07 Nick Leverton <nick(at)leverton.org>

	SF Bug Tracker #128, Creator: Nick Leverton
	redefining strndup causes "error: expected identifier or '(' before '__extension__'"

	Fix redefinition of strnlen and strndup
	These are available when HAVE_STRNDUP and HAVE_STRNLEN are defined, but
	libupnp provides an extern prototype anyway.  Recent versions of glibc
	define this prototype differently, causing the following compile error:

	src/api/UpnpString.c:47:15: error: expected identifier or '(' before  '__extension__'
		extern char *strndup(__const char *__string, size_t __n);

2016-01-07 Nick Leverton <nick(at)leverton.org>

	SF Bug Tracker #129, Creator: Nick Leverton
	shutdown() on UDP sockets logs ENOTCONN message.
	https://sourceforge.net/p/pupnp/bugs/129/

	Fix ENOTCONN "Error in shutdown: Transport endpoint is not connected"

	When logging is enabled, ssdpserver logs bursts of
	"Error in shutdown: Transport endpoint is not connected"
	This is because shutdown() is not supported for UDP sockets and under
	recent UNIX specifications it returns ENOTCONN if used.

2016-01-07 Nick Leverton <nick(at)leverton.org>

	SF Bug Tracker #127, Creator: Klaus Fischer
	Miniserver uses INADDR_ANY instead of HostIP
	https://sourceforge.net/p/pupnp/bugs/127/

	The internal miniserver.c uses INADDR_ANY instead of the HostIP/IfName
	provided when initializing libupnp. But, this HostIP/IfName gets used
	for the UDP socket when multicasting SSDP messages.  Because of this,
	miniserver may end up sending from different IP address than ssdpserver.
	This patch causes miniserver to use the already known interface address.

2016-01-07 Marcelo Roberto Jimenez <mroberto(at)users.sourceforge.net>

	SF Bug Tracker #130, Creator: Shaddy Baddah
	infinite loop in UpnpGetIfInfo() under WIN32

	Original code makes no sense. This patch should fix it.

2015-02-04 Shaun Marko <semarko@users.sf.net>

	Bug tracker #124 Build fails with --enable-debug

	Build environment
	Fedora 21
	X86-64
	* gcc 4.9.2

	How to repeat
	$ ./configure --enable debug
	$ make
	libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../upnp/inc -I./inc -I../threadutil/inc
	-I../ixml/inc -I./src/inc -pthread -g -O2 -Wall -MT src/api/libupnp_la-UpnpString.lo
	-MD -MP -MF src/api/.deps/libupnp_la-UpnpString.Tpo -c src/api/UpnpString.c
	-fPIC -DPIC -o src/api .libs/libupnp_la-UpnpString.o src/api/UpnpString.c:47:16:
	error: expected identifier or '(' before 'extension'
	extern char *strndup(const char *string, size_t __n);
	^
	Makefile:1016: recipe for target 'src/api/libupnp_la-UpnpString.lo' failed

	Reason for failure
	Build enables -O2 optimization flags which causes the inclusion of a
	macro implementation of strndup from include/bits/string2.h.

	Workarounds
	Disable optimization when configuring or making:
	$ configure CFLAGS='-g -pthread -O0' --enable-debug
	$ make
	or
	$ configure --enable-debug
	$ make CFLAGS='-g -pthread -O0' Define NO_STRING_INLINES
	$ export CFLAGS="-DNO_STRING_INLINES -O2"
	$ ./configure --enagble-debug
	$ make

	Fix
	* Don't declare strndup in src/api/UpnpString.c if it exists

2015-02-01 Jean-Francois Dockes <medoc@users.sf.net>

	Out-of-tree builds seem to be currently broken, because ixml and
	threadutil files need an include path to include UpnpGlobal.h, and
	configure tries to copy files into a directory which it does not create.
	The patch fixes both issues.

2014-01-03 Peng <howtofly(at)gmail.com>

	rewrite soap_device.c

	1) separate HTTP handling from SOAP handling
	2) remove repeated validity check, each check is performed exactly once
	3) fix HTTP status code per UPnP spec, SOAP spec and RFC 2774
jperkin pushed a commit that referenced this pull request Sep 9, 2019
libcec (4.0.4.1~#DIST#) #DIST#; urgency=medium

  * fixed: only prevent TV polls when a Samsung TV is detected instead of
    suppressing all logical addresses. issue #424 #444

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 21 Dec 2018 22:34:14 +0100

libcec (4.0.3.1~#DIST#) #DIST#; urgency=medium

  * fixed:
    * detect debian based distros properly when installing python. closes #314
    * don't filter out broadcast in HandleDeviceVendorCommandWithId(). issue
      #309
    * send an active source message when a routing change has been received with
      libCEC's address as new route and no active source message has been sent
      yet. issue #309 #205 #233
    * vs2015 c++ redistributables
    * fix missing tinfo linking in cec-client. #341
    * set wrong variable. #343 #352
    * LG - don't activate the source when receiving vendor command 0xB. #344
    * LG TV always changing input when turned on #307
    * Fix menu language string. #360
    * correct python lib path for python 2.7+/3+. #356
    * Fix build if tinfo library is not present. #398
    * disable autonomous mode when a Samsung TV is connected. Samsung 2017+ TVs
      will power on randomly (Samsung bug). don't poll the TV. #424
    * CRPiCECAdapterMessageQueue::Write() accessed the queue without locking.
      #423
    * use sig_atomic_t for shared object between sig handler and main. #425
    * python 3.5+ import. #356
    * TDA995x: Fix logical address readback. #303
    * TDA995x: Handle physical address change, optimize logical address setup.
      #303
    * Pulse-Eight USB CEC adapter detection on macOS Mojave. #434
    * Fix broken Python version check and failure to build on cmake < 3.7. #409
    * 13 char device name got truncated

  * changed:
    * log a warning when we detect that RPi's CEC service is used by something
      else, blocking libCEC. issue #191
    * const IAdapterCommunication::GetLogicalAddresses(), making the mutex
      mutable for now without changing the platform lib. closes #259
    * Add a Reinitialze action.  Useful for after the device has been powered
      down. #299
    * Panasonic media control info to the readme
    * detect WIN64 in cmake automatically. #322
    * README.developers.md. #330
    * instructions for hdmi_force_hotplug=1 on the pi
    * eventghost plugin install/create. #375
    * Include C version of libCEC loader when installing. #397
    * Explicitly use python3 in pyCecClient. #433
    * build with vs 2015

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Thu, 8 Nov 2018 18:05:36 +0100

libcec (4.0.2.1~#DIST#) #DIST#; urgency=medium

  * fixed:
    * windows: device detection. credits: @Portisch
    * don't automatically assume that an AVR is active in some situations
    * don't take Panasonic's vendor id when emulating an AVR
    * drm EDID parser not compiled in. credits @gdachs
    * python: have Swig generate Python threading support
    * python: only pass unsigned
    * python: allow empty callback parameters
    * python: install demo app as executable
    * python: correct install path. credits @Lo0k @mkreisl. #284 #288 #289 #291
    * python: possible crash when passing an invalid callback

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Mon, 23 Jan 2017 16:28:00 +0100

libcec (4.0.1.1~#DIST#) #DIST#; urgency=medium

  * fixed:
    * TransmitVolumeDown to use CEC_USER_CONTROL_CODE_VOLUME_DOWN. credits:
      @michaelarnauts
    * HAVE_AOCEC_API missing in if in AdapterFactory. credits: @gdachs
    * env.h had 'ON' instead of '1' for some values

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 3 Jan 2017 19:12:00 +0100

libcec (4.0.0.3~#DIST#) #DIST#; urgency=medium

  * fixed:
    * headers weren't installed after package name changes

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 14 Nov 2016 10:15:00 +0100

libcec (4.0.0.2~#DIST#) #DIST#; urgency=medium

  * changed:
    * updated readme files
    * renamed 'libcec-dev' to 'libcec4-dev'

  * fixed:
    * removed debian Replaces/Provides/Conflicts
    * crash in drm edid code. credits: @zivillian
    * compilation with -DHAVE_AOCEC_API=1

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 7 Nov 2016 22:43:00 +0100

libcec (4.0.0.1~#DIST#) #DIST#; urgency=medium

  * API cleaned up for v4
  * changed:
    * signature for GetDeviceMenuLanguage() changed
    * signature for GetDeviceOSDName() changed
    * signature for libcec_get_device_menu_language() changed
    * signature for get_device_osd_name() changed
    * cec_datapacket size reduced to 16 bytes
    * callbacks changed to pass pointers instead of copies
    * obsolete entries removed from libcec_configuration
    * removed deprecated FindAdapters() and MuteAudio()
    * send volume change commands to the TV if no audio system is present. Only
      some TVs support this. closes #223

  * added:
    * bAutoWakeAVR entry in libcec_configuration, which controls whether to
      automatically power on the avr or not when the source is activated. issue
      #156
    * iDoubleTapTimeoutMs replacing iDoubleTapTimeout50Ms. time is now in
      milliseconds
    * new AO CEC adapter. credits: @gdachs

  * fixed:
    * compilation with full debugging enabled
    * handling of LG vendor command 0x0B. Issue #256. Credits @Vollstrecker
    * return value wasn't checked correctly in CLibCEC::RegisterClient()
    * Raspberry Pi fixes for issues #252 and #191

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 26 Oct 2016 18:08:00 +0100

libcec (3.2.0.1~#DIST#) #DIST#; urgency=medium

  * Slit up repositories for libCEC and .Net utilities.

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Wed, 19 Oct 2016 16:57:00 +0100

libcec (3.1.0.1~#DIST#) #DIST#; urgency=medium

  * changed / added:
    * bump platform lib (windows)
    * use a template that can be used by scripts for the changelog
    * make released key polling wait for exact time until key gets released.
      credits @popcornmix
    * keep track of time since initial button press and last button update
      credits @popcornmix
    * support repeating button presses with configurable repeat rate. credits
      @popcornmix
    * pass through duration on all button repeats. credits @popcornmix
    * updated README.md
    * moved the buffer in CDRMEdidParser::GetPhysicalAddress() from the stack
      to heap
    * added #include to make the IDE happy. not actually used when compiling
    * clean up device detection code a bit and replace winapi calls with
      CM_* calls. issue #130
    * replaced lockdev by flock. closes #141
    * use a single number as major SO version like others. credits @rbalint
    * Sharp uses vendor id 0x534850 too. issue #36
    * use p8-platform instead of platform
    * detect dirty trees
    * support for vs2015 to build scripts
    * update build scripts for vs2015 and win10uni

  * fixed:
    * missing version.h when installing on windows
    * skip double press removal. It is handled through other means. credits
      @popcornmix
    * don't generate an invalid env.h when not built with the .git dir present.
      closes #112
    * fix multi-arch libdir locations. credits @wsnipex
    * fix for holding buttons on remotes of Philips TVs. credits @mrgreywater
    * initialisation issue found on Raspberry Pi with Buildroot. credits
      @elouet
    * crash on systems without /sys/class/drm. credits @rbalint
    * segfault when an empty EDID blob is passed to
      GetPhysicalAddressFromEDID()
    * combo key (stop by default) in the EventGhost plugin. fixes #128
    * silence compiler warnings
    * git-rev.sh script
    * clean/fix platform detection
    * display a nice error message if LibCecSharp failed to load
    * limit the log in cectray to 100k
    * open cec-tray minimised if configured. don't open and minimise. issue
      #158
    * cosmetics: persist -> save
    * query commands in eventghost. fixes #160
    * eventghost demo config
    * don't call PowerOnDevices() if no devices to wake have been configured.
      issue #97
    * Don't skip checking for Rasperry Pi library (Fixes #166). credits
      @kingosticks
    * TDA99x check
    * disable DRM for FreeBSD

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Wed, 20 Jan 2016 00:37:32 +0100

libcec (3.0.1-1~#DIST#) #DIST#; urgency=low

  * changed / added:
    * autodetect physical ID from DRM. credits @PoppyPop
    * cmake command line options for raspberry pi distributions that don't use
      standard system paths for libs for some reason
    * convenience methods for compilation on the raspberry pi with non-standard
      system directories and cross compilation
    * explanation in README.md for Exynos and TDA995x
    * don't treat failed acks from the tv as error when sending an active
      source message
    * compilation info when building libCEC
    * build shared libraries by default
    * cec-client: 'tx' command parsing

  * fixed:
    * return code of CCECClient callbacks after async changed. credits: @mk01
    * polling addresses on RPi. credits: @mk01
    * interruptable Sleep() in RPiCECAdapterMessageQueue
    * Exynos support. credits: @YamashitaRen
    * XCASE got removed from posix termios in some recent version
    * don't return an abort code if sending a response code fails

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 03 Jul 2015 15:19:00 +0200

libcec (3.0.0-2) unstable; urgency=low

  * fixed:
    * build fixes on non-linux

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 01 May 2015 01:41:00 +0200

libcec (3.0.0-1) unstable; urgency=low

  * changed / added:
    * initial version of an EventGhost plugin
    * Python API added through Swig, based on the C++ API
    * switched from autotools to cmake
    * added curses support. credits @joao29a
    * added cecc-client (testclient for the C api)
    * added runtime libCEC loading for C
    * updated the C interface to include new features and no longer use a
      global library instance
    * some AVRs fail to be powered up by the TV when it powers up. power up the
      AVR explicitly
    * added support for CEC_DEVICE_TYPE_TV (useful for testing)
    * compile with c++11
    * removed CStdString
    * drop 'using namespace std'
    * autogenerated version numbers, drop some backwards compat code
    * LibCecSharp: added PhysicalAddressToString()
    * CecSharpClient: better formatting of the scan command

  * fixed:
    * Debian packaging cleaned up. Credits @PimentNoir
    * fixed Raspberry Pi compilation. Credits @NHellFire
    * ignore vendor command with id from pioneer AVRs. bugzid: 3853
    * update the vendor id of a device when receiving a vendor command with id
      before receiving a vendor id
    * XBMC->Kodi rebranding
    * don't delete m_client when m_cec hasn't been deleted yet in
      CLibCEC::~CLibCEC(). issue #63
    * change device types in CCECProcessor::Process(), not directly. issue #63
    * use shared_ptr<CPVRClient> instead of passing raw pointers around that
      can be unregistered from another thread and crash
    * check if the port or device actually changed in CCECClient::SetHDMIPort()
    * potential buffer overflow
    * fixed setting the physical address at startup when using default settings
    * don't call callbacks directly in libCEC, but queue them and process from
      a worker thread
    * libCEC Tray: crash when retrying to find adapters
    * libCEC Tray: don't show the "no device found" warning when resuming
      from standby
    * libCEC Tray: reconnect to the adapter after resuming from standby
    * libCEC Tray: send key presses to the active window when none of the
      predefined (wmc/kodi) ones are active
    * libCEC Tray: fixed key combinations with the windows key

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 03 Apr 2015 21:13:00 +0200
jperkin pushed a commit that referenced this pull request Nov 6, 2019
SoftHSM2 is not a drop-in replacement for SoftHSM version 1, so this
is added as a separate package.  See softhsm2-migrate(1) for
migration instructions.

Upstream changes since SoftHSM version 1.x:

SoftHSM 2.5.0 - 2018-09-24

* Issue #323: Support for EDDSA with vendor defined mechanisms.
  (Patch from Francis Dupont)
* Issue #362: CMake Build System Support for SoftHSM.
  (Patch from Constantine Grantcharov)
* Issue #368: Support migrating 32-bit SoftHSMv1 DB on 64-bit system (LP64).
* Issue #385: Default is not to build EDDSA since it has not been released in
  OpenSSL.
* Issue #387: Windows: Add VS2017 detection to Configure.py.
  (Patch from Jaroslav Imrich)
* Issue #412: Replace PKCS11 headers with a version from p11-kit.
  (Patch from Alexander Bokovoy)

Bugfixes:
* Issue #366: Support cross-compilation.
  (Patch from Michael Weiser)
* Issue #377: Duplicate symbol error with custom p11test.
* Issue #386: Use RDRAND in OpenSSL if that engine is available.
* Issue #388: Update DBTests.cpp to fix x86 test failure.
  (Patch from tcely)
* Issue #393: Not setting CKA_PUBLIC_KEY_INFO correctly.
  (Patch from pkalapat)
* Issue #401: Wrong key and keyserver mentioned in installation documentation.
  (Patch from Berry A.W. van Halderen)
* Issue #408: Remove mutex callbacks after C_Finalize().
  (Patch from Alexander Bokovoy)


SoftHSM 2.4.0 - 2018-02-27

* Issue #135: Support PKCS#8 for GOST.
* Issue #140: Support for CKA_ALLOWED_MECHANISMS.
  (Patch from Brad Hess)
* Issue #141: Support CKA_ALWAYS_AUTHENTICATE for private key objects.
* Issue #220: Support for CKM_DES3_CMAC and CKM_AES_CMAC.
* Issue #226: Configuration option for Windows build to enable build with
  static CRT (/MT).
* Issue #325: Support for CKM_AES_GCM.
* Issue #334: Document that initialized tokens will be reassigned to another
  slot (based on the token serial number).
* Issue #335: Support for CKM_RSA_PKCS_PSS.
  (Patch from Nikos Mavrogiannopoulos)
* Issue #341: Import AES keys with softhsm2-util.
  (Patch from Pavel Cherezov)
* Issue #348: Document that OSX needs pkg-config to detect cppunit.
* Issue #349: softhsm2-util will check the configuration and report any
  issues before loading the PKCS#11 library.

Bugfixes:
* Issue #345: Private objects are presented to security officer in search
  results.
* Issue #358: Race condition when multiple applications are creating and
  reading object files.


SoftHSM 2.3.0 - 2017-07-03

* Issue #130: Upgraded to PKCS#11 v2.40.
  * Minor changes to some return values.
  * Added CKA_DESTROYABLE to all objects. Used by C_DestroyObject().
  * Added CKA_PUBLIC_KEY_INFO to certificates, private, and public key
    objects. Will be accepted from application, but SoftHSM will
    currently not calculate it.
* Issue #142: Support for CKM_AES_CTR.
* Issue #155: Add unit tests for SessionManager.
* Issue #189: C_DigestKey returns CKR_KEY_INDIGESTIBLE when key
  attribute CKA_EXTRACTABLE = false. Whitelist SHA algorithms to allow
  C_DigestKey in this case.
* Issue #225: Show slot id after initialization.
* Issue #247: Run AppVeyor (Windows CI) for each PR and merge.
* Issue #257: Set CKA_DECRYPT/CKA_ENCRYPT flags on key import to true.
  (Patch from Martin Domke)
* Issue #261: Add support for libeaycompat lib for FIPS on Windows.
  (Patch from Matt Hauck)
* Issue #262: Support importing ECDSA P-521 in softhsm-util.
* Issue #276: Support for Botan 2.0.
* Issue #279: Editorial changes from Mountain Lion to Sierra.
  (Patch from Mike Neumann)
* Issue #283: More detailed error messages when initializing SoftHSM.
* Issue #285: Support for LibreSSL.
  (Patch from Alon Bar-Lev)
* Issue #286: Update .gitignore.
  (Patch from Alon Bar-Lev)
* Issue #291: Change to enable builds and reports on new Jenkinks
  environment.
* Issue #293: Detect cppunit in autoconf.
  (Patch from Alon Bar-Lev)
* Issue #309: CKO_CERTIFICATE and CKO_PUBLIC_KEY now defaults to
  CKA_PRIVATE=false.
* Issue #314: Update README with information about logging.
* Issue #330: Adjust log levels for failing to enumerate object store.
  (Patch from Nikos Mavrogiannopoulos)

Bugfixes:
* Issue #216: Better handling of CRYPTO_set_locking_callback() for OpenSSL.
* Issue #265: Fix deriving shared secret with ECC.
* Issue #280: HMAC with sizes less than L bytes is strongly discouraged.
  Set a lower bound equal to L bytes in ulMinKeySize and check it when
  initializing the operation.
* Issue #281: Fix test of p11 shared library.
  (Patch from Lars Silvén)
* Issue #289: Minor fix of 'EVP_CipherFinal_ex'.
  (Patch from Viktor Tarasov)
* Issue #297: Fix build with cppunit.
  (Patch from Ludovic Rousseau)
* Issue #302: Export PKCS#11 symbols from the library.
  (Patch from Ludovic Rousseau)
* Issue #305: Zero pad key to fit the block in CKM_AES_KEY_WRAP.
* Issue #313: Detecting CppUnit when using Macports.
  (Patch from mouse07410)


SoftHSM 2.2.0 - 2016-12-05

* Issue #143: Delete a token using softhsm2-util.
* Issue #185: Change access mode bits for /var/lib/softhsm/tokens/
  to 1777. All users can now create tokens, but only access their own.
  (Patch from Rick van Rein)
* Issue #186: Reinitializing a token will now keep the token, but all
  token objects are deleted, the user PIN is removed and the token
  label is updated.
* Issue #190: Support for OpenSSL 1.1.0.
* Issue #198: Calling C_GetSlotList with NULL_PTR will make sure that
  there is always a slot with an uninitialized token available.
* Issue #199: The token serial number will be used when setting the slot
  number. The serial number is set after the token has been initialized.
  (Patch from Lars Silvén)
* Issue #203: Update the command utils to use the token label or serial
  to find the token and its slot number.
* Issue #209: Possibility to test other PKCS#11 implementations with the
  CppUnit test.
  (Patch from Lars Silvén)
* Issue #223: Mark public key as non private by default.
  (Patch from Nikos Mavrogiannopoulos)
* Issue #230: Install p11-kit module, to disable use --disable-p11-kit.
  (Patch from David Woodhouse)
* Issue #237: Add windows continuous integration build.
  (Patch from Peter Polacko)

Bugfixes:
* Issue #201: Missing new source file and test configuration in the
  Windows build project.
* Issue #205: ECDSA P-521 support for OpenSSL and better test coverage.
* Issue #207: Fix segmentation faults in loadLibrary function.
  (Patch from Jaroslav Imrich)
* Issue #215: Update the Homebrew install notes for OSX.
* Issue #218: Fix build warnings.
* Issue #235: Add the libtool install command for OSX.
  (Patch from Mark Wylde)
* Issue #236: Use GetEnvironmentVariable instead of getenv on Windows.
  (Patch from Jaroslav Imrich)
* Issue #239: Crash on module unload with OpenSSL.
  (Patch from David Woodhouse)
* Issue #241: Added EXTRALIBS to Windows utils project.
  (Patch from Peter Polacko)
* Issue #250: C++11 not detected.
* Issue #255: API changes in Botan 1.11.27.
* Issue #260: Fix include guard to check WITH_FIPS.
  (Patch from Matt Hauck)
* Issue #268: p11test fails on 32-bit systems.
* Issue #270: Build warning about "converting a string constant".
* Issue #272: Fix C++11 check to look for unique_ptr.
  (Patch from Matt Hauck)


SoftHSM 2.1.0 - 2016-03-14

* Issue #136: Improved guide and build scripts for Windows.
  (Thanks to Jaroslav Imrich)
* Issue #144: The password prompt in softhsm2-util can now be
  interrupted (ctrl-c).
* Issue #166: Add slots.removable config option.
  (Patch from Sumit Bose)
* Issue #180: Windows configure script improvements.
  (Patch from Arnaud Grandville)

Bugfixes:
* Issue #128: Prioritize the return values in C_GetAttributeValue.
  (Patch from Nicholas Wilson)
* Issue #129: Fix errors reported by Visual Studio 2015.
  (Patch from Jaroslav Imrich)
* Issue #132: Handle the CKA_CHECK_VALUE correctly for certificates
  and symmetric key objects.
* Issue #154: Fix the Windows build and destruction order of objects.
  (Patch from Arnaud Grandville)
* Issue #162: Not possible to create certificate objects containing
  CKA_CERTIFICATE_CATEGORY, CKA_NAME_HASH_ALGORITHM, or
  CKA_JAVA_MIDP_SECURITY_DOMAIN.
* Issue #163: Do not attempt decryption of empty byte strings.
  (Patch from Michal Kepien)
* Issue #165: Minor changes after a PVS-Studio code analysis, and
  C_EncryptUpdate crash if no ciphered data is produced.
  (Patch from Arnaud Grandville)
* Issue #169: One-byte buffer overflow in call to EVP_DecryptUpdate.
* Issue #171: Problem while closing library that is initialized but
  improperly finalized.
* Issue #173: Adjust return values for the template parsing.
* Issue #174: C_DeriveKey() error with leading zero bytes.
* Issue #177: CKA_NEVER_EXTRACTABLE set to CK_FALSE on objects
  created with C_CreateObject.
* Issue #182: Resolve compiler warning.
  (Patch from Josh Datko)
* Issue #184: Stop discarding the global OpenSSL libcrypto state.
  (Patch from Michal Trojnara)
* SOFTHSM-123: Fix library cleanup on BSD.


SoftHSM 2.0.0 - 2015-07-17

* SOFTHSM-121: Test cases for C_DecryptUpdate/C_DecryptFinal.
* Support C_DecryptUpdate/C_DecryptFinal for symmetric algorithms.
  (Patch from Thomas Calderon)

Bugfixes:
* SOFTHSM-120: Segfault after renaming variables.


SoftHSM 2.0.0b3 - 2015-04-17

* SOFTHSM-113: Support for Botan 1.11.15
* SOFTHSM-119: softhsm2-util: Support ECDSA key import
  (Patch from Magnus Ahltorp)
* SUPPORT-139: Support deriving generic secrets, DES, DES2, DES3, and AES.
  Using DH, ECDH or symmetric encryption.

Bugfixes:
* SOFTHSM-108: A marked as trusted certificate cannot be imported.
* SOFTHSM-109: Unused parameter and variable warnings.
* SOFTHSM-110: subdir-objects warnings from autoreconf.
* SOFTHSM-111: Include FIPS-NOTES.md in dist.
* SOFTHSM-112: CKM_AES_KEY_WRAP* conflict in pkcs11.h.
* SOFTHSM-114: Fix memory leak in a test script.
* SOFTHSM-115: Fix static analysis warnings.
* SUPPORT-154: A marked as non-modifiable object cannot be generated.
* SUPPORT-155: auto_ptr is deprecated in C++11, use unique_ptr.
* SUPPORT-157: Derived secrets were truncated after encryption and
  could thus not be decrypted.
* Mutex should call MutexFactory wrapper functions.
  (Patch from Jerry Lundstrom)
* Return detailed error message to loadLibrary().
  (Patch from Petr Spacek)


SoftHSM 2.0.0b2 - 2014-12-28

* SOFTHSM-50: OpenSSL FIPS support.
* SOFTHSM-64: Updated build script for Windows.
* SOFTHSM-100: Use --free with softhsm2-util to initialize the first
  free token.
* SOFTHSM-103: Allow runtime configuration of log level.
* SOFTHSM-107: Support for CKM_<symcipher>_CBC_PAD.
* Add support for CKM_RSA_PKCS_OAEP key un/wrapping.
  (Patch from Petr Spacek)
* Use OpenSSL EVP interface for AES key wrapping.
  (Patch from Petr Spacek)
* Allow reading configuration file from user's home directory.
  (Patch from Nikos Mavrogiannopoulos)

Bugfixes:
* SOFTHSM-102: C_DeriveKey() uses OBJECT_OP_GENERATE.
* Coverity found a number of issues.


SoftHSM 2.0.0b1 - 2014-09-10

* SOFTHSM-84: Check that all mandatory attributes are given during
  the creation process.
* SOFTHSM-92: Enable -fvisibility=hidden on per default
* SUPPORT-137: Implement C_EncryptUpdate and C_EncryptFinal
  (Patch from Martin Paljak)
* Add support for CKM_RSA_PKCS key un/wrapping
  (Patch from Petr Spacek)

Bugfixes:
* SOFTHSM-66: Attribute handling when using multiple threads
* SOFTHSM-93: Invalid C++ object recycling.
* SOFTHSM-95: umask affecting the calling application.
* SOFTHSM-97: Check if Botan has already been initialized.
* SOFTHSM-98: Handle mandatory attributes for DSA, DH, and ECDSA
  correctly.
* SOFTHSM-99: Binary encoding of GOST values.
* SUPPORT-136: softhsm2-keyconv creates files with sensitive material
  in insecure way.


SoftHSM 2.0.0a2 - 2014-03-25

* SOFTHSM-68: Display a better configure message when there is a
  version of Botan with a broken ECC/GOST/OID implementation.
* SOFTHSM-70: Improved handling of the database backend.
* SOFTHSM-71: Supporting Botan 1.11.
* SOFTHSM-76: Do not generate RSA keys smaller than 1024 bit when
  using the Botan crypto backend.
* SOFTHSM-83: Support CKA_VALUE_BITS for CKK_DH private key object.
* SOFTHSM-85: Rename libsofthsm.so to libsofthsm2.so and prefix the
  command line utilties with softhsm2-.
* SOFTHSM-89: Use constants and not strings for signaling algorithms.
* SUPPORT-129: Possible to use an empty template in C_GenerateKey.
  The class and key type are inherited from the generation mechanism.
  Some mechanisms do however require a length attribute. [SOFTHSM-88]
* SUPPORT-131: Support RSA-PSS using SHA1, SHA224, SHA256, SHA384,
  or SHA512. [SOFTHSM-87]

Bugfixes:
* SOFTHSM-39: Fix 64 bit build on sparc sun4v.
* SOFTHSM-69: GOST did not work when you disabled ECC.
* SOFTHSM-78: Correct the attribute checks for a number of objects.
* SOFTHSM-80: Prevent segfault in OpenSSL GOST HMAC code.
* SOFTHSM-91: Fix a warning from static code analysis.
* Fixed a number of memory leaks.


SoftHSM 2.0.0a1 - 2014-02-10

This is the first alpha release of SoftHSMv2. It focuses on a higher
level of security by encrypting sensitive information and using
unswappable memory. There is also a more generalized crypto backend,
where you can use Botan or OpenSSL.
jperkin pushed a commit that referenced this pull request Mar 12, 2020
Vala 0.48.0
===========
 * Various improvements and bug fixes:
  - vala:
    + Fix circular reference in Property/EnumValueType
    + Report an internal error for unavailable context and bail
    + Prevent possible stack-overflow in Class.is_subtype_of()
  - Add missing CodeContext.pop() calls
  - codegen: Add more "low-level" includes of "glib.h"
  - girparser: Decrease return_array_length_idx for transformed function
  - girparser: Delay adding of "GLib.Object" prerequisite to interfaces
  - manual: Update from wiki.gnome.org

 * Bindings:
  - vapi: Update GIR-based bindings

 * Contributors:
   Alberto Fanjul, Arnaud Bonatti, Corentin Noël, Evan Nemerson, Florian Brosch,
   Jeremy Philippe, Michael Gratton, Ole André Vadla Ravnås, Princeton Ferro,
   Rico Tzschichholz, Simon Werbeck

Vala 0.47.92
============
 * Various improvements and bug fixes:
  - Add support for sealed classes in bindings [#278]
  - codegen: Don't initialize stack-allocated array with local-constant
    length [#910]
  - vala: Improve robustness of analyzer pass for language-servers [#911]
  - vala: Add local-variables to current scope regardless its error state
  - testrunner: Pass G_DEBUG=fatal-warnings to invalid test

 * Bindings:
  - Add some fundamental deps files to improve --nostdpkg support [#911]

Vala 0.47.91
============
 * Various improvements and bug fixes:
  - vala:
    + Fix base-access check for compact classes (2)
    + Don't ignore errors in Parameter and acknowledge them further
    + Properly set CodeNode.error when reporting an error
  - girparser: Report a warning for conflicting class and instance methods
  - testrunner: Invalid tests and therefore expected failures must return 1
  - manual: Update from wiki.gnome.org

 * Bindings:
  - Add harfbuzz-gobject binding [#909]
  - gstreamer: Update from 1.17.0+ git master
  - gtk+-*.0,gtk4: Fix iter parameter of TextIter.order() [#908]
  - gtk4: Update to 3.98.0+410dbdf6
  - pango: Update and add harfbuzz-gobject as dependency
  - webkit2gtk-4.0: Update to 2.27.90

Vala 0.47.4
===========
 * Various improvements and bug fixes:
  - codegen:
    + Skip StructRegisterFunction for boolean/integer/floating types [#901]
    + Handle different type-symbols in visit_base_access() [#901]
    + Explicitly include header for length-type of arrays
    + Explicitly include <glib.h> as needed for null-literal
    + Make *_try_id specific to emit-context instead being global states
  - vala:
    + Improve detection of recursive struct declarations [#902]
    + Inline allocated arrays require length or initializer [#903]
  - parser: Improve robustness and behavior of --keep-going

 * Bindings:
  - javascriptcoregtk-4.0: Make JSC.Class usable by defining the right callback
  - gtk4: Update to 3.96.0+4ab12ab7
  - vapi: Update GIR-based bindings

Vala 0.47.3
===========
 * Highlights:
  - Add further support for params arrays [#128]

 * Various improvements and bug fixes:
  - codegen:
    + Don't set implemenation of interface property to its own [#891]
    + Use result value of assignment rather than its computation [#895]
    + Cast instance parameter in member-initializer for base-properties [#899]
  - vala:
    + Infer target_type in coalescing expressions [#892]
    + Non-nullable value-type in coalesce expression needs to be copied [#893]
    + Fix short-circuiting behavior of coalescing operator [#534]
    + Always bail if there are semantic errors
  - girparser: Apply explicitly given ctype metadata attributes on callables

 * Bindings:
  - glib-2.0: Let (u)int.try_parse() return false if there is an unparsed part
  - gtk4: Update to 3.96.0+7e2e92a8
  - gstreamer: Update from 1.17.0+ git master
  - vapi: Update GIR-based bindings
  - webkit2gtk-4.0: Update to 2.27.4

Vala 0.47.2
===========
 * Highlights:
  - compiler: Add "--depfile" option writing package dependencies to given file

 * Various improvements and bug fixes:
  - codegen:
    + Fix support of dynamic DBus methods
    + Fix vfunc signature of delegate-typed property in interface
    + Fix precondition in creation method of structs
    + Remove unreachable code in TypeRegisterFunction.init_from_type()
    + Improve *_get_type() fast path (requires glib >= 2.58) [#879]
  - vala:
    + Report error for async creation expression without yield
    + Don't require constant initializer in fast-vapi [#461]
    + VoidType is actually compatible with itself [#878]
    + Improve handling of "void" as generic type [#878]
    + Keep formal_target_type on transform of method-call/object-creation [#835]
    + Add a basic parameter check for [Print] methods
    + Let the parser have set namespace members as static
    + Don't ignore inner errors in Block and acknowledge them further
    + Improve error message for unsupported inner types and declarations
    + Don't allow "va_list" as return-type or type of fields [#884]
    + Check before accessing "name" of parent_symbol which might be null
    + Allow to override base interface properties explicitly
  - gidl/girparser: Creation methods must not be marked as static
  - parser: Implicit "main" method of main-block is public and static
  - scanner: "\x" requires two hex digits at most
  - scanner: Improve check of "\u" escape sequence
  - genie: Fix parser's inner state when a struct is declared after a class

 * Bindings:
  - glib-2.0: Add to_string() for GLib.PollFd and GLib.Pid
  - glib-2.0: Add new symbols from 2.64
  - glib-2.0: Reset errno before calling strto*() functions.
  - gstreamer: Update from 1.17.0+ git master
  - gtk4: Update to 3.96.0+448a4023
  - pango: Update to 1.44+
  - vapi: Update GIR-based bindings
  - webkit2gtk-4.0: Update to 2.27.3

Vala 0.47.1
===========
 * Highlights:
  - Various improvements for the POSIX profile
  - codegen:
    + Allow passing/retrieving any delegate to/from varargs parameter
    + Support gobject property of null-terminated array without length [#855]
    + Support gobject property of delegates not carrying their target [#856]
    + Warn when directly accessing member of silent cast-expression
  - vala:
    + Add DelegateType.target/destroy fields to access its user-data [#857]
    + Accept interface as inner type for object-type symbols [#697]
    + Add GenericType.dup/destroy fields [#190]
    + Support "unowned var" to declare local variables [#152]
  - compiler: Add "--list-sources" options to output list of all sources [#872]

 * Various improvements and bug fixes:
  - codegen:
    + Move type-argument checks to SemanticAnalyzer
    + Make CCodeBaseModule.generate_method_declaration() return bool
    + Fix custom reference-counting for compact classes
    + G_DEFINE_AUTOPTR_CLEANUP_FUNC must not declared more than once
    + Use SemanticAnalyzer.get_data_type_for_symbol()
    + Commonize the determining of return-type for delegates and methods
  - vala:
    + Rename DataType.data_type property to DataType.type_symbol
    + Unify backing symbol instance of data-types
    + Respect --abi-stability in Class/Interface.accept_children()
    + Don't mark method as used on recursive usage of itself [#100]
    + Set GLib.Error as symbol of error-types if no error-domain was given
    + Make Callable derive from Symbol
  - libvaladoc: Remove TypeReference.pass_ownership API
  - valadoc: Rename FormalParameter to Parameter
  - girwriter: Fix position of priv field (--abi-stability) [#850]

 * Bindings:
  - glib-2.0: Add binding for "gettext()" [#864]
  - glib-2.0: Add new symbols from 2.64
  - glib-2.0: Add optional "base" parameter to *.parse/try_parse() of integers
    and check errno for EINVAL and ERANGE in *.try_parse() [#223]
  - glib-2.0: Add (u)int.try_parse() [#649]
  - glib-2.0: Add "has_typedef = false" to custom MarkupParser*Func delegates
  - gtk+-*.0: Fix iter parameter of TextBuffer.backspace()
  - gtksourceview-2.0: Fix iter parameter in SourceBuffer.backward/forward/...
  - libusb-1.0: Use a wrapper for Context.get_device_list() [#151]
jperkin pushed a commit that referenced this pull request Mar 25, 2020
Update ruby-airbrussh to 1.4.0.


1.4.0 (2019-10-13)

New Features

* Allow ConsoleFormatter context to be configurable (#131) @pblesi


1.3.4 (2019-09-15)

Housekeeping

* Add issues, source code URLs to gemspec metadata (#129) @mattbrictson
* Add changelog_uri to metadata to easily link from rubygems.org (#128)
  @nickhammond


1.3.3 (2019-08-18)

Bug Fixes

* Fix LoadError when airbrussh is used without rake installed (#127)
  @mattbrictson

Housekeeping

* Migrate to new GitHub Actions config format (#125) @mattbrictson
* Remove chandler from rake release process (#124) @mattbrictson
* Set up release-drafter (#123) @mattbrictson
* Eliminate double CI builds on PRs (#122) @mattbrictson


1.3.2 (2019-06-15)

* #121: Gracefully handle SSH output that has invalid UTF-8 encoding instead
   of raising an exception - @mattbrictson
jperkin pushed a commit that referenced this pull request Mar 25, 2020
Update ruby-childprocessto 3.0.0.


### Version 3.0.0 / 2019-09-20

* [#156](enkessler/childprocess#156 unused `rubyforge_project` from gemspec
* [#160](enkessler/childprocess#160): Remove extension to conditionally install `ffi` gem on Windows platforms
* [#160](enkessler/childprocess#160): Remove runtime dependency on `rake` gem

### Version 2.0.0 / 2019-07-11

* [#148](enkessler/childprocess#148): Drop support for Ruby 2.0, 2.1, and 2.2
* [#149](enkessler/childprocess#149): Fix Unix fork reopen to be compatible with Ruby 2.6
* [#152](https://github.com/enkessler/childprocess/pull/152)/[#154](https://github.com/enkessler/childprocess/pull/154): Fix hangs and permission errors introduced in Ruby 2.6 for leader processes of process groups

### Version 1.0.1 / 2019-02-03

* [#143](enkessler/childprocess#144): Fix installs by adding `rake` gem as runtime dependency
* [#147](enkessler/childprocess#147): Relax `rake` gem constraint from `< 12` to `< 13`

### Version 1.0.0 / 2019-01-28

* [#134](enkessler/childprocess#134): Add support for non-ASCII characters on Windows
* [#132](enkessler/childprocess#132): Install `ffi` gem requirement on Windows only
* [#128](enkessler/childprocess#128): Convert environment variable values to strings when `posix_spawn` enabled
* [#141](enkessler/childprocess#141): Support JRuby on Java >= 9
jperkin pushed a commit that referenced this pull request May 31, 2020
- Updates a patch.

Changes since 2.1.1:

Library:

  * A library view showing recent books and reading progress (#119)
  * Search books by metadata
  * E-book discovery with OPDS (#6, #253)

New supported formats:

  * FictionBook (.fb2, .fb2.zip) (#128)
  * Comic book archive (.cbr, .cbz, .cbt, .cb7) (#254)
  * Plain text (.txt) (#226)
  * Unpacked EPUB files

Layout:

  * Option to set maximum page width (#192)
  * The "Automatic" layout will now show four columns when the page width is
    wide (#257)

Image viewer:

  * Improved image viewer, with new shortcuts and the ability to rotate (#299)
    and invert images
  * Option to disable image viewer, or to open images on double, middle, or
    right click (#315)

Text-to-speech:

  * Improved text-to-speech configuration UI
  * Ability to set text-to-speech voice based on book language (#134)

Annotations

  * Import annotations from JSON
  * Search in annotations
  * Annotations are now sorted in the same order as they appear in the book
    (#318)

Security:

  * "Allow Unsafe Content" now only enables JavaScript; external content will no
    longer be loaded. This is an important security fix. If you are running an
    old version of Foliate and cannot upgrade, you should disable "Allow Unsafe
    Content".
  * WebKit processes are now sandboxed

Other featues and fixes:

  * Improved support for vertical and right-to-left books
  * Support for StarDict dictionaries (#302) (requires new optional dependency
    sdcv)
  * Fixed current location not preserved when resizing (#152, #204)
  * Fixed auto-hiding header bar under some themes (#316)
  * Command-line options for showing version and adding books to library
  * Option to clear or disable cache
  * When an HTML page contains invalid self-closing anchor tags, it is now
    parsed as XHTML (#275, #288)

Technical changes:

  * Foliate now stores file locations in
    ~/.local/share/com.github.johnfactotum.Foliate/library/uri-store.json, and
    saves book covers to ~/.cache/com.github.johnfactotum.Foliate. Both can be
    disabled.
  * New optional dependency tracker (gir1.2-tracker-2.0 on Debian based
    distributions), which can be used to get file locations.
  * New optional dependency libhandy (gir1.2-handy-0.0). It's not absolutely
    required, but installing it would make the experience better on larger as
    well as smaller screens.
  * To open remote files, Foliate now optionally depends on libsoup
    (gir1.2-soup-2.4).

Foliate now bundles two additional libraries:

  * libarchivejs, which is MIT licensed. It is a WASM port of the popular
    libarchive C library.
  * crypto-js, which is MIT licensed. The MD5 module is used to generate
    identifiers for files that don't have unique identifiers.
jperkin pushed a commit that referenced this pull request Jun 7, 2020
Update ruby-jekyll-archives to 2.2.1.


2.2.1 (2019-03-23)

Minor Enhancements

* Make Archive subclass of Page (#67)
* Don't limit slugs/title to strings (#41)
* Enable incremental operation (#58)
* Remove deprecated defs (#89)

Development Fixes

* Target Ruby 2.3
* Allow testing and using with Jekyll 4.x (#133)
* Update Travis config and Gemfile for Ruby < 2.2.2 support (#68)
* Consolidate History file to work with jekyllbot (#80)
* Remove Travis test for Ruby 1.9 (#87)
* Inherit Jekyll's rubocop config for consistency (#65)
* Bump travis ruby versions (#91)
* Fix Travis build error (#93)
* Define path with dir (#105)
* Appease Rubocop (#104)
* update Rubocop and Travis config (#110)
* Update .travis.yml (#111)
* Modernize tests & linting (#114)
* Test against Ruby 2.5 (#118)
* Lint with rubocop-jekyll (#128)

Documentation

* Update Installation Guide (#116)
* docs/configuration: GitHub table display was messed up (#96)
* Small updates for consistency across document (#130)
jperkin pushed a commit that referenced this pull request Jul 14, 2020
### All Platforms
- Allow the RPC server to listen on an IPv6 address ([#161](transmission/transmission#161))
- Change `TR_CURL_SSL_VERIFY` to `TR_CURL_SSL_NO_VERIFY` and enable verification by default ([#334](transmission/transmission#334))
- Go back to using hash as base name for resume and torrent files (those stored in configuration directory) ([#122](transmission/transmission#122))
- Handle "fields" argument in "session-get" RPC request; if "fields" array is present in arguments, only return session fields specified; otherwise return all the fields as before
- Limit the number of incorrect authentication attempts in embedded web server to 100 to prevent brute-force attacks ([#371](transmission/transmission#371))
- Set idle seed limit range to 1..40320 (4 weeks tops) in all clients ([#212](transmission/transmission#212))
- Add Peer ID for Xfplay, PicoTorrent, Free Download Manager, Folx, Baidu Netdisk torrent clients ([#256](transmission/transmission#256), [#285](transmission/transmission#285), [#355](transmission/transmission#355), [#363](transmission/transmission#363), [#386](transmission/transmission#386))
- Announce `INT64_MAX` as size left if the value is unknown (helps with e.g. Amazon S3 trackers) ([#250](transmission/transmission#250))
- Add `TCP_FASTOPEN` support (should result in slight speedup) ([#184](transmission/transmission#184))
- Improve ToS handling on IPv6 connections ([#128](transmission/transmission#128), [#341](transmission/transmission#341), [#360](transmission/transmission#360), [#692](transmission/transmission#692), [#737](transmission/transmission#737))
- Abort handshake if establishing DH shared secret fails (leads to crash) ([#27](transmission/transmission#27))
- Don't switch trackers while announcing (leads to crash) ([#297](transmission/transmission#297))
- Improve completion scripts execution and error handling; add support for .cmd and .bat files on Windows ([#405](transmission/transmission#405))
- Maintain a "session ID" file (in temporary directory) to better detect whether session is local or remote; return the ID as part of "session-get" response (TRAC-5348, [#861](transmission/transmission#861))
- Change torrent location even if no data move is needed ([#35](transmission/transmission#35))
- Support CIDR-notated blocklists ([#230](transmission/transmission#230), [#741](transmission/transmission#741))
- Update the resume file before running scripts ([#825](transmission/transmission#825))
- Make multiscrape limits adaptive ([#837](transmission/transmission#837))
- Add labels support to libtransmission and transmission-remote ([#822](transmission/transmission#822))
- Parse `session-id` header case-insensitively ([#765](transmission/transmission#765))
- Sanitize suspicious path components instead of rejecting them ([#62](transmission/transmission#62), [#294](transmission/transmission#294))
- Load CA certs from system store on Windows / OpenSSL ([#446](transmission/transmission#446))
- Add support for mbedtls (formely polarssl) and wolfssl (formely cyassl), LibreSSL ([#115](transmission/transmission#115), [#116](transmission/transmission#116), [#284](transmission/transmission#284), [#486](transmission/transmission#486), [#524](transmission/transmission#524), [#570](transmission/transmission#570))
- Fix building against OpenSSL 1.1.0+ ([#24](transmission/transmission#24))
- Fix quota support for uClibc-ng 1.0.18+ and DragonFly BSD ([#42](transmission/transmission#42), [#58](transmission/transmission#58), [#312](transmission/transmission#312))
- Fix a number of memory leaks (magnet loading, session shutdown, bencoded data parsing) ([#56](transmission/transmission#56))
- Bump miniupnpc version to 2.0.20170509 ([#347](transmission/transmission#347))
- CMake-related improvements (Ninja generator, libappindicator, systemd, Solaris and macOS) ([#72](transmission/transmission#72), [#96](transmission/transmission#96), [#117](transmission/transmission#117), [#118](transmission/transmission#118), [#133](transmission/transmission#133), [#191](transmission/transmission#191))
- Switch to submodules to manage (most of) third-party dependencies
- Fail installation on Windows if UCRT is not installed

### Mac Client
- Bump minimum macOS version to 10.10
- Dark Mode support ([#644](transmission/transmission#644), [#722](transmission/transmission#722), [#757](transmission/transmission#757), [#779](transmission/transmission#779), [#788](transmission/transmission#788))
- Remove Growl support, notification center is always used ([#387](transmission/transmission#387))
- Fix autoupdate on High Sierra and up by bumping the Sparkle version ([#121](transmission/transmission#121), [#600](transmission/transmission#600))
- Transition to ARC ([#336](transmission/transmission#336))
- Use proper UTF-8 encoding (with macOS-specific normalization) when setting download/incomplete directory and completion script paths ([#11](transmission/transmission#11))
- Fix uncaught exception when dragging multiple items between groups ([#51](transmission/transmission#51))
- Add flat variants of status icons for message log ([#134](transmission/transmission#134))
- Optimize image resources size ([#304](transmission/transmission#304), [#429](transmission/transmission#429))
- Update file icon when file name changes ([#37](transmission/transmission#37))
- Update translations

### GTK+ Client
- Add queue up/down hotkeys ([#158](transmission/transmission#158))
- Modernize the .desktop file ([#162](transmission/transmission#162))
- Add AppData file ([#224](transmission/transmission#224))
- Add symbolic icon variant for the Gnome top bar and when the high contrast theme is in use ([#414](transmission/transmission#414), [#449](transmission/transmission#449))
- Update file icon when its name changes ([#37](transmission/transmission#37))
- Switch from intltool to gettext for translations ([#584](transmission/transmission#584), [#647](transmission/transmission#647))
- Update translations, add new translations for Portuguese (Portugal)

### Qt Client
- Bump minimum Qt version to 5.2
- Fix dropping .torrent files into main window on Windows ([#269](transmission/transmission#269))
- Fix prepending of drive letter to various user-selected paths on Windows ([#236](transmission/transmission#236), [#307](transmission/transmission#307), [#404](transmission/transmission#404), [#437](transmission/transmission#437), [#699](transmission/transmission#699), [#723](transmission/transmission#723), [#877](transmission/transmission#877))
- Fix sorting by progress in presence of magnet transfers ([#234](transmission/transmission#234))
- Fix .torrent file trashing upon addition ([#262](transmission/transmission#262))
- Add queue up/down hotkeys ([#158](transmission/transmission#158))
- Reduce torrent properties (file tree) memory usage
- Display tooltips in torrent properties (file tree) in case the names don't fit ([#411](transmission/transmission#411))
- Improve UI look on hi-dpi displays (YMMV)
- Use session ID (if available) to check if session is local or not ([#861](transmission/transmission#861))
- Use default (instead of system) locale to be more flexible ([#130](transmission/transmission#130))
- Modernize the .desktop file ([#162](transmission/transmission#162))
- Update translations, add new translations for Afrikaans, Catalan, Danish, Greek, Norwegian Bokmål, Slovenian

### Daemon
- Use libsystemd instead of libsystemd-daemon (TRAC-5921)
- Harden transmission-daemon.service by disallowing privileges elevation ([#795](transmission/transmission#795))
- Fix exit code to be zero when dumping settings ([#487](transmission/transmission#487))

### Web Client
- Fix tracker error XSS in inspector (CVE-?)
- Fix performance issues due to improper use of `setInterval()` for UI refresh (TRAC-6031)
- Fix recognition of `https://` links in comments field ([#41](transmission/transmission#41), [#180](transmission/transmission#180))
- Fix torrent list style in Google Chrome 59+ ([#384](transmission/transmission#384))
- Show ETA in compact view on non-mobile devices ([#146](transmission/transmission#146))
- Show upload file button on mobile devices ([#320](transmission/transmission#320), [#431](transmission/transmission#431), [#956](transmission/transmission#956))
- Add keyboard hotkeys for web interface ([#351](transmission/transmission#351))
- Disable autocompletion in torrent URL field ([#367](transmission/transmission#367))

### Utils
- Prevent crash in transmission-show displaying torrents with invalid creation date ([#609](transmission/transmission#609))
- Handle IPv6 RPC addresses in transmission-remote ([#247](transmission/transmission#247))
- Add `--unsorted` option to transmission-show ([#767](transmission/transmission#767))
- Widen the torrent-id column in transmission-remote for cleaner formatting ([#840](transmission/transmission#840))
jperkin pushed a commit that referenced this pull request Sep 9, 2020
4.23 2020-09-05 (rurban)
        - Fixup t/54_stringify change for JSON 2.09 (really use PR #169 madsen)

4.22 2020-09-04 (rurban)
        - Fix t/54_stringify needs JSON 2.09 for allow_unknown (PR #169 madsen)
        - Fix t/118_type.t for 5.6
        - Fix t/96_interop.t for missing JSON::XS (GH #83 ribasushi)
        - Possible fix for s390x with long double, untested (GH #83)

4.21 2020-08-13 (rurban)
        - Fix not enough HEK memory allocation for the new canonical tied hashes
          feature. (GH #168)
        - TODO broken JSON::PP::Boolean versions 2.9x - 4.0 with threads::shared in
          125_shared_boolean.t

4.20 2020-08-12 (rurban)
        - New feature: sort tied hashes with canonical. (GH #167)
        - Fix encode of threads::shared boolean (#166 Sam Bingner).
          This was broken with 4.00.
        - Fix some stringify overload cases via convert_blessed (GH #105)
        - Fix a compat case with JSON::XS, when convert_blessed is set, but
          allow_blessed not. (GH #105)
        - Improve blessed and stringify tests
        - Work on better inf/nan detection on AIX (#165 Peter Heuchert)
        - Fix documentation for booleans and their types (#162 by Karen Etheridge)

4.19 2020-02-06 (rurban)
        - Fix typed decode memory leak (#160 by Pali).

4.18 2019-12-13 (rurban)
        - Add new method ->type_all_string (#156 by Pali).
          When type_all_string is set then encode method produce stable deterministic
          string types in result JSON.
          This can be an alternative to Cpanel::JSON::XS::Type when having
          deterministic output is required but string JSON types are enough for any
          output.
        - Move SvGETMAGIC() from encode_av() and encode_hv() to encode_sv()
          (#156 by Pali)
        - Add Math::BigInt and Math::BigFloat as recommended dependences
          (#157 by Pali and Grinnz)

4.17 2019-11-04 (rurban)
        - Add Changes tests and fixups (see #155)

4.16 2019-11-04 (rurban)
        - Use Perl_strtod instead of self-made atof (via pow), to
          minimize differences from core string-to-float conversions.
          (#154). Fixes float representation regressions (in the 1e-6
          to 1e-16 range) since 5.22.

4.15 2019-10-21 (rurban)
        - Fix more tests for nvtype long double

4.14 2019-10-15 (rurban)
        - Fix tests for nvtype long double (#153)
        - Fix PREREQ's. E.g. CentOS 7 has not Test::More anymore. (#152 by Pali)

4.13 2019-10-14 (rurban)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT allow to encode numeric values
          above 2^64 in PV slot via Math::BigInt/Float (#145, #148, #149 by Pali)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT encoder allow to pass Math::BigInt
          and Math::BigFloat objects with allow_bignum. (#147 by Pali)
        - Fix encoding floating point values above 2^64 in PV slot to JSON_TYPE_INT
          (#148, #150 by Pali)
        - Do not allow serializing objects when convert_blessed is not enabled.
          (#146 by Pali)

4.12 2019-06-11 (rurban)
        - Make encoder independent on Math::BigInt version (#140 by Pali)
        - Rethrow error from eval_sv and eval_pv() (#138, #139 by Pali),
          e.g. when Math::BigInt/BigFloat fails.
        - Fix encoding Inf and NaN from PV and NV slots to JSON_TYPE_INT
          (#137 by Pali)
        - Fix memory corruption in sv_to_ivuv() function (#136 by Pali)
        - Add new method ->require_types (#135 by Pali)
        - Fix typed json encoder conversion from scalar's PV and NV slot to
          JSON_TYPE_INT (#133, #134 by Pali)
        - Fix inconsistency with warnings in typed json encoder (#131 by Pali)
        - Fix Perl 5.8.0 support (#130 by Pali)
        - Fixed minor pod typo (#129 by sheeit)
        - Document invalid recursive callbacks or overloads (#128)

4.11 2019-03-26 (rurban)
        - Fix unicode strings with BOM corrupt ->utf8 state (#125)
          The BOM encoding effects only its very own decode call,
          not its object.

4.10 2019-03-18 (rurban)
        - Fix incr_text refcounts (#123)
        - Add incr_rest testcase (#123)
        - Fix encode_stringify string-overload refcnt problem (#124)
          "Attempt to free unreferenced scalar" with convert_blessed and overload.

4.09 2019-02-15 (rurban)
        - Add seperate allow_dupkeys property, in relaxed (#122)
        - Fixed allow_dupkeys for the XS slow path
        - Silence 2 -Wunused-value warnings
        - Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali)
jperkin pushed a commit that referenced this pull request Sep 21, 2020
# cli 2.0.2

* The status bar now does not simplify multiple spaces by a single space.

* cli now does not crash if it fails to detect whether the RStudio theme
  is a dark theme (#138).

* cli now works better with wide Unicode characters, for example emojis.
  In particular, a status bar containing emojis is cleared properly (#133).

* The status bar now does not flicker when updated, in terminals (#135).

# cli 2.0.1

* Symbols (`symbol$*`) are now correctly printed in RStudio on Windows (#124).

* The default theme for `cli_code()` output looks better now, especially
  in RStudio (#123).

* Remove spurious newline after a `cli_process_start()` was cleared
  manually, and also at the end of the function.

* Use Oxford comma when listing 3 or more items (@jonocarroll, #128).

# cli 2.0.0

## Semantic command line interface tools

cli 2.0.0 has a new set of functions that help creating a CLI using a set
of higher level elements: headings, paragraphs, lists, alerts, code blocks,
etc. The formatting of all elements can be customized via themes.
See the "Building a semantic CLI" article on the package web site:
https://cli.r-lib.org

## Bug fixes:

* Fix a bug in `is_dynamic_tty()`, setting `R_CLI_DYNAMIC="FALSE"` now
  properly turns dynamic tty off (#70).
 CVS: ----------------------------------------------------------------------
jperkin pushed a commit that referenced this pull request Oct 24, 2020
This is an ABI breaking update so security/libfido2 must also be updated.

v0.8.0
  BREAKING: Fix cbor_tag_item not increasing the reference count on the tagged item reference it returns [Fixes #109] (discovered bt JohnGilmour)
  BREAKING: CBOR_DECODER_EBUFFER removed from cbor_decoder_status
  Fixed several minor manpage issues [#159] (discovered by kloczek@)
v0.7.0
  Fix bad encoding of NaN half-floats [Fixes #53] (discovered by BSipos-RKF)
  Fix potentially bad encoding of negative half-float with exponent < -14 [Fixes #112] (discovered by yami36)
  BREAKING: Improved bool support [Fixes #63]
  Fix memory_allocation_test breaking the build without CBOR_CUSTOM_ALLOC [Fixes #128] (by panlinux)
  Fix a potential build issue where cJSON includes may be misconfigured
  Breaking: Add a limit on the size of the decoding context stack (by James-ZHANG)
  Enable LTO/IPO based on CheckIPOSupported [#143] (by xanderlent)
v0.6.1
    Fix bad shared library version number
v0.6.0
    Correctly set .so version [Fixes #52].
    Fix & prevent heap overflow error in example code [#74] [#76] (by @nevun)
    Correctly set OSX dynamic library version [Fixes #75]
    Fix misplaced 0xFF bytes in maps possibly causing memory corruption
    BREAKING: Fix handling & cleanup of failed memory allocation in constructor
    and builder helper functions [Fixes #84]
    Globally enforced code style [Fixes #83]
    Fix issue possible memory corruption bug on repeated
    cbor_(byte)string_add_chunk calls with intermittently failing realloc calls
    Fix possibly misaligned reads and writes when endian.h is uses or when
    running on a big-endian machine [Fixes #99, #100]
jperkin pushed a commit that referenced this pull request Jan 2, 2021
Changelog:
1.75.0
New Libraries

  * JSON: JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and
    Krystian Stasiowski.
      + Fast compilation requiring only C++11
      + Easy and safe modern API with allocator support
      + Compile without Boost, define BOOST_JSON_STANDALONE
      + Optional header-only, without linking to a library
  * LEAF: A lightweight error-handling library for C++11, from Emil Dotchevski.
      + Small single-header format, no dependencies.
      + Designed for maximum efficiency ("happy" path and "sad" path).
      + No dynamic memory allocations, even with heavy payloads.
      + O(1) transport of arbitrary error types (independent of call stack
        depth).
      + Can be used with or without exception handling.
  * PFR: Basic reflection without macro or boilerplate code for user defined
    types, from Antony Polukhin.

Updated Libraries

  * Asio:
      + Enabled support for UNIX domain sockets on Windows.
      + Added executor-converting construction and assignment to ip::
        basic_resolver.
      + Added compatibility between polymorphic executors and the (deprecated)
        handler invocation hook.
      + Added the experimental::as_single completion token adapter.
      + Added support for MSG_NOSIGNAL on more platforms by using
        _POSIX_VERSION to detect whether it is supported.
      + Added the ability to compile using libpthread on Windows.
      + Added workarounds for the Intel C++ compiler.
      + Added more support for detecting and optimising for handlers that have
        no custom executor.
      + Reduced lock contention for timer cancellation on Windows.
      + Reinstated a previously removed null-pointer check, as it had a
        measurable impact on performance.
      + Fixed the executor concept to test for a const-qualified execute().
      + Fixed any_executor support for builds without RTTI support.
      + Fixed the thread_pool unit test to work without RTTI support.
      + Fixed C++20 coroutines compatibility with clang on Windows.
      + Fixed some compatibility issues with Windows Runtime.
      + Fixed shadow name warnings caused by addition of asio::query.
      + Fixed a "logical ‘or’ of equal expressions" warning on linux.
      + Fixed a benign switch fallthrough warning.
      + Added missing push/pop_options.hpp includes.
      + Suppressed zero-as-null-pointer-constant warnings.
      + Fixed a comma-operator warning.
      + Updated the documentation to clarify when the select reactor is used on
        Windows.
      + Fixed potential ambiguity caused by any_executor comparisons and
        conversion.
      + Added detection of non-experimental C++20 coroutines on MSVC 19.8.
      + Fixed compatibility with uClibc.
      + Fixed strand<> adaptation of Networking TS executors when targeting
        older C++ versions or less conformant compilers.
      + Consult the Revision History for further details.
  * Atomic:
      + Implemented SSE2 and SSE4.1 versions of address lookup algorithm, which
        is used in the internal lock pool implementation. This may improve
        performance of waiting and notifying operations in heavily contended
        cases.
      + Fixed a possible compilation error on AArch64 targets caused by
        incorrect instructions generated for bitwise (logical) operations with
        immediate constants. (#41)
  * Beast:
      + This update brings bug fixes and support for the
        BOOST_ASIO_ENBALE_HANDLER_TRACKING compile flag from Boost.Asio:
      + We'd love to know how you or your company use Beast, consider adding an
        entry to the Companies and Individuals Using Beast list.
      + See the full Release Notes for a complete list of changes.
  * Container:
      + New devector container.
      + Fixed bugs/issues:
          o #152 Tree-based containers have troubles with move-only types.
          o #156 Compile error with vector.
          o PR#157 Add missing include.
          o #159: pmr::monotonic_buffer_resource crashes on large single
            allocations.
          o #160: Usage of uses_allocator needs a remove_cvref_t.
          o #162: small_vector on MSVC x86 call-by-value crash.
          o #161: polymorphic_allocator(memory_resource*) non-standard
            extension causes headache.
          o PR#163: container_rebind for small_vector with options.
          o #165: Link error with shared library and memory_resource inline
            members.
          o PR#166: Fix encoding error in copyright headers.
          o PR#167: error: the address of 'msg' will always evaluate as 'true'
            warning with GCC 4.4.
          o #169: flood of warnings building dlmalloc_ext_2_8_6.c on clang11.
  * Endian:
      + endian_arithmetic no longer inherits from endian_buffer
      + When BOOST_ENDIAN_NO_CTORS is defined, the unaligned endian_buffer and
        endian_arithmetic are C++03 PODs, to enable use of __attribute__((
        packed))
  * Filesystem:
      + New: Added creation_time operation, which allows to obtain file
        creation time. (Inspired by PR#134)
      + The returned value of last_write_time(p, ec) operation in case of
        failure has been changed to a minimal value representable by std::
        time_t instead of -1.
      + The returned value of hard_link_count(p, ec) operation in case of
        failure has been changed to static_cast<uintmax_t>(-1) instead of 0.
      + On POSIX systems, file_size will now indicate error code errc::
        function_not_supported if the path resolves to a non-regular file.
        Previously, errc::operation_not_permitted was reported.
      + On Linux, many operations now use statx system call internally, when
        possible, which allows to reduce the amount of information queried from
        the filesystem and potentially improve performance. The statx system
        call was introduced in Linux kernel 4.11.
      + Removed const-qualification from return types of some path methods.
        This could prevent move construction and move assignment at the call
        site in some cases. (#160)
      + On OpenBSD 4.4 and newer, use statvfs system call to obtain filesystem
        space information. (Inspired by PR#162)
      + On Windows, space now returns with an error if the provided path does
        not idendify an existing file. (#167)
  * GIL:
      + BREAKING: In next release, we are going to drop support for GCC 5. We
        may also change the required minimum C++ version from C++11 to C++14.
  * Histogram:
      + This update brings
          o Bug-fixes for corner-cases
          o Small documentation improvements
          o Fixes for new warnings from latest compilers and when compiling
            against the C++20 standard
      + See the full Release Notes for a complete list of changes.
  * Interprocess:
      + Fixed bugs:
          o #127: static assertion failure with boost interprocess 1.74 and
            basic_managed_shared_memory.
  * Intrusive:
      + Fixed bugs:
          o PR#48: MSVC "assignment within conditional" warning fix.
          o PR#49: Fix empty control statement warnings.
          o #52: Invalid casting in BOOST_INTRUSIVE_BSR_INTRINSIC.
  * Log:
      + Bug fixes:
          o Corrected the file counter that would be used in text_file_backend
            when generating the target file name (based on the pattern set by
            set_target_file_name_pattern method) when the log file is rotated.
            (#125)
          o Replaced a volatile version counter in basic_sink_frontend with an
            atomic. (#128)
          o In the asynchronous_sink frontend, resolved a possible conflict
            between flush and run methods, if run is called from a user's
            thread instead of the internal dedicated thread spawned by the
            frontend. (#131)
      + See changelog for more details.
  * Move:
      + Fixed bugs:
          o #30: (void) C-cast is a non-portable way of suppressing compiler
            warnings.
  * Mp11:
      + Added mp_pairwise_fold (suggested by Barry Revzin)
      + Removed mp_invoke (use mp_invoke_q)
  * Optional:
      + boost::none is constexpr-declared.
      + Fixed issue #78.
  * Outcome:
      + Announcements:
          o After a year and three major Boost releases announcing this
            upcoming change, this is the FINAL RELEASE of the v2.1 branch. From
            Boost 1.76 onwards, the v2.2 branch becomes the default. This
            branch has a number of major breaking changes to Outcome v2.1, see
            the documentation for details.
      + Enhancements:
          o The ADL discovered event hooks have been replaced with
            policy-specified event hooks instead. This is due to brittleness
            (where hooks would quietly self-disable if somebody changed
            something), compiler bugs (a difference in compiler settings causes
            the wrong hooks, or some but not all hooks, to get discovered), and
            end user difficulty in using them at all. The policy-specified
            event hooks can be told to default to ADL discovered hooks for
            backwards compatibility: set OUTCOME_ENABLE_LEGACY_SUPPORT_FOR to
            less than 220 to enable emulation.
          o Improve configuring OUTCOME_GCC6_CONCEPT_BOOL. Older GCCs had
            boolean based concepts syntax, whereas newer GCCs are standards
            conforming. However the precise logic of when to use legacy and
            conforming syntax was not well understood, which caused Outcome to
            fail to compile depending on what options you pass to GCC. The new
            logic always uses the legacy syntax if on GCC 8 or older, otherwise
            we use conforming syntax if and only if GCC is in C++ 20 mode or
            later. This hopefully will resolve the corner case build failures
            on GCC.
      + Bug fixes:
          o Boost.Outcome should now compile with BOOST_NO_EXCEPTIONS defined.
            Thanks to Emil, maintainer of Boost.Exception, making a change for
            me, Boost.Outcome should now compile with C++ exceptions globally
            disabled. You won't be able to use boost::exception_ptr as it can't
            be included if C++ exceptions are globally disabled.
          o #236 In the Coroutine support the final_suspend() was not noexcept,
            despite being required to be so in the C++ 20 standard. This has
            been fixed, but only if your compiler implements noop_coroutine.
            Additionally, if noop_coroutine is available, we use the much more
            efficient coroutine handle returning variant of await_suspend()
            which should significantly improve codegen and context switching
            performance.
  * Polygon:
      + C++20 fixes for event_comparison_type, vertex_equality_predicate_type,
        and voronoi_predicates. (Glen Fernandes)
  * Preprocessor:
      + When variadic data is empty in C++20 mode with __VA_OPT__ support the
        variadic size has been corrected to be 0. This also means that in this
        C++20 mode it is now valid to convert to and from empty arrays and
        lists and variadic data. The end-user can read the "C++20 Support For
        Variadic Macros" part of the "variadic macros" topic for more
        information about empty variadic data in the library.
      + The macro BOOST_PP_IS_STANDARD() has been added for identifying if the
        currently used preprocessor is a C++ standard conforming preprocessor.
        A number of preprocessors which generally work correctly with the
        library but need various internal workarounds, including the currently
        default VC++ preprocessor, are not considered C++ standard conforming
        preprocessors. However most preprocessors, including among others gcc,
        clang, and the new but currently non-default VC++ preprocessor in
        VS2019, are C++ standard conforming preprocessors.
      + For C++ standard conforming preprocessors a number of the limits
        defined in the config/limits.hpp can now be changed to higher amounts
        for a TU. The end-user should read the "limitations" topic to
        understand how and which limits can be changed.
      + For C++ standard conforming preprocessors, in order to allow the
        maximum number of FOR and WHILE iterations, the beginning 'r' and 'd'
        iteration numbers in the user-defined macros start at 1 and not 2, as
        it did in previous releases. This could be a breaking change if these
        iteration numbers are used in the user-defined macros ( they probably
        would not be ), but the change was necessary to fix some arcane bugs
        when dealing with numerical/logical operations with maximum numbers as
        well to allow the user-defined macros to be called the correct possible
        maximum number of times. For non-C++ conforming preprocessors, this
        change was not made because those non-conforming C++ preprocessors
        generally have limitations which disallow the maximum number of looping
        constructs to be run, and it was felt not to introduce a possible
        breaking change to those more fragile preprocessors would be better. It
        was also felt that besides fixing some arcane preprocessor bugs and
        providing the possible maximum number of user-defined macro
        invocations, this change could be made because it has never been
        documented what the starting 'r' and 'd' iteration numbers actually are
        but only that these numbers are incremented for each iteration.
      + The library has been upgraded to assume variadic macro support for any
        compiler working with the library. Ostensibly this means that the
        library is now a C++11 on up library, yet most of the major compilers,
        including gcc, clang, and VC++, also support variadic macros in C++98/
        C++03 mode as long as strict compliance to C++98/C++03 is not turned on
        when using one of those compilers.
  * Rational:
      + Fix Rational operators to not break under new C++20 operator==
        rewriting rules. (Glen Fernandes)
  * Signals2:
      + Correct C++ allocator model support to fix compilation in C++20
        standards mode. (Glen Fernandes)
  * System:
      + The platform-specific headers windows_error.hpp, linux_error.hpp, and
        cygwin_error.hpp emit deprecation messages and are slated for removal.
      + The old names for generic_category() and system_category() emit
        deprecation messages and are slated for removal.
      + error_condition::failed is deprecated and is slated for removal.
        operator bool() for error_condition has been reverted to its old
        meaning of value() != 0. This is done for compatibility with std::
        error_condition as the next release is expected to improve
        interoperability with <system_error> even further. Note that this does
        not affect error_code::failed, which is still alive and well.
      + The overload of error_condition::message that takes a buffer is
        deprecated and is slated for removal, for the same reasons. Note that
        this does not affect error_code::message.
  * uBLAS:
      + Correct C++ allocator model support to fix compilation in C++20
        standards mode. (Glen Fernandes and Conrad Poelman)
  * VMD:
      + The VMD number parsing has been upgraded to support the ability for the
        end-user to change the number limits in the Preprocessor library.
      + The macro BOOST_VMD_IS_GENERAL_IDENTIFIER has been added to support the
        parsing of input that represents a preprocessor token which matches the
        VMD identifier syntax, without having to register the identifier as a
        specific identifier.
  * Wave:
      + Added new C++20 tokens, including the spaceship operator <=>
      + Fixed bugs:
          o #94: fix incorrect behavior of __LINE__ and __FILE__ under
            rescanning

1.74.0
New Libraries

  * STLInterfaces: A library of CRTP bases to ease the writing of STL views,
    iterators, and sequence containers, from Zach Laine.

Updated Libraries

  * Asio:
      + Added an implementation of the proposed standard executors (P0443r13,
        P1348r0, and P1393r0).
      + Added support for the proposed standard executors to Asio's I/O
        facilities.
          o The supplied executors now meet the requirements for the proposed
            standard executors. These classes also continue to meet the
            existing requirements for the Networking TS model of executors.
          o All I/O objects, asynchronous operations, and utilities will
            interoperate with both new proposed standard executors, and with
            existing Networking TS executors.
          o The any_io_executor type alias has been introduced as the default
            runtime-polymorphic executor for all I/O objects. This defaults to
            the execution::any_executor<> template. If required for backward
            compatibility, BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT can be defined
            to use the old asio::executor polymorphic wrapper instead.
          o Support for the existing Networking TS model of executors can be
            disabled by defining BOOST_ASIO_NO_TS_EXECUTORS.
      + Added converting move construction and assignment to
        basic_waitable_timer.
      + Enabled C++20 coroutine support when using gcc 10.
      + Added overloads of co_spawn that launch an awaitable.
      + Added a new constructor overload to use_awaitable_t's default executor
        adapter, to enable conversion between executor types.
      + Added support for using detached_t as a default completion token, by
        adding members as_default_on() and as_default_on_t<>.
      + Added a move constructor to ssl::stream<>.
      + Changed ssl::stream<> write operations to linearise gather-write buffer
        sequences.
      + Added compile-time detection of the deprecated asio_handler_invoke,
        asio_handler_allocate, and asio_handler_deallocate hooks, when
        BOOST_ASIO_NO_DEPRECATED is defined.
      + Implemented a number of performance optimisations.
      + Added source location support to handler tracking.
      + Implemented various improvements to the handlerviz.pl tool.
      + Added the handlerlive.pl tool, which processes handler tracking output
        to produce a list of "live" handlers.
      + Added the handlertree.pl tool, which filters handler tracking output to
        include only those events in the tree that produced the nominated
        handlers.
      + Added changes for clang-based Embarcadero C++ compilers.
      + Fixed a deadlock that can occur when multiple threads concurrently
        initialise the Windows I/O completion port backend.
      + Fixed async_compose to work with copyable handlers when passed by
        lvalue.
      + Fixed completion signature deduction in co_spawn.
      + Removed a spurious Executor base class from the executor_binder
        implementation.
      + Various fixes and improvements in the documentation and examples.
      + Consult the Revision History for further details.
  * Atomic:
      + Added missing const qualifiers to some operations in atomic_ref.
      + Added support for yield instruction on ARMv8-A. The instruction is used
        internally in spin loops to reduce CPU power consumption.
      + Added support for C++20 waiting and notifying operations. The
        implementation includes generic backend that involves the internal lock
        pool, as well as specialized backends for Windows, Linux, FreeBSD,
        DragonFly BSD and NetBSD. Atomic types provide a new method
        has_native_wait_notify, a static boolean constant
        always_has_native_wait_notify and a set of capability macros that allow
        to detect if the implementation supports native waiting and notifying
        operations for a given type.
      + Changed internal representation of atomic_flag to use 32-bit storage.
        This allows for more efficient waiting and notifying operations on
        atomic_flag on some platforms.
      + Added support for build-time configuration of the internal lock pool
        size. The user can define the BOOST_ATOMIC_LOCK_POOL_SIZE_LOG2 macro to
        specify binary logarithm of the size of the lock pool. The default
        value is 8, meaning that the size of the lock pool is 256, up from 64
        used in the previous release.
      + Added support for a new set of atomic types dedicated for inter-process
        communication: ipc_atomic_flag, ipc_atomic and ipc_atomic_ref. Users
        are recommended to port their code using non-IPC types for
        inter-process communication to the new types. The new types provide the
        same set of operations as their non-IPC counterparts, with the
        following differences:
          o Most operations have an added precondition that is_lock_free
            returns true for the given atomic object. The library will issue a
            compile time error if this precondition is known to be not
            satisfied at compile time.
          o All provided operations are address-free, meaning that the atomic
            object (in case of ipc_atomic_ref - the referenced object) may be
            located in process-shared memory or mapped into the same process at
            multiple different addresses.
          o The new has_native_wait_notify operation and
            always_has_native_wait_notify constant indicate support for native
            inter-process waiting and notifying operations. When that support
            is not present, the operations are implemented with a busy loop,
            which is less efficient, but still is address-free. A separate set
            of capability macros is also provided to indicate this support.
      + Added new atomic_unsigned_lock_free and atomic_signed_lock_free types
        introduced in C++20. The types indicate the atomic object type for an
        unsigned or signed integer, respectively, that is lock-free and
        preferably has native support for waiting and notifying operations.
      + Added new gcc assembler backends for ARMv8-A (for both AArch32 and
        AArch64). The new backends are used to implement operations not
        supported by compiler intrinsics (including 128-bit operations on
        AArch64) and can also be used when compiler intrinsics are not
        available. Both little and big endian targets are supported. AArch64
        backend supports extensions defined in ARMv8.1 and ARMv8.3.
      + Added support for big endian targets in the legacy ARM backend based on
        gcc assembler blocks (this backend is used on ARMv7 and older targets).
        Previously, the backend assumed little endian memory layout, which is
        significant for 64-bit operations.
      + Improved performance of seq_cst stores and thread fences on x86 by
        using lock-prefixed instructions instead of mfence. This means that the
        operations no longer affect non-temporal stores, which was also not
        guaranteed before. Use specialized instructions and intrinsics to order
        non-temporal memory accesses.
      + Fixed capability macros for 80-bit long double on x86 targets not
        indicating lock-free operations even if 128-bit atomic operations were
        available.
      + Fixed compilation of gcc asm blocks on Alpha targets.
      + In the gcc __sync* intrinsics backend, fixed that store and load
        operations of large objects (larger than a pointer size) could be
        non-atomic. The implementation currently assumes that small objects can
        be stored with a single instruction atomically on all modern
        architectures.
  * Beast:
      + This update brings bug fixes and support for the following changes
        changes in Boost.Asio:
      + Beast supports BOOST_ASIO_NO_DEPRECATED. Define this to help identify
        areas of your Beast and Asio code which use deprecated Asio interfaces.
      + Beast also supports BOOST_ASIO_NO_TS_EXECUTORS. Define this to identify
        uses of executors from the now potentially outdated Networking TS
      + Asio will use the Standard Executors model by default. You can prevent
        this behaviour by defining BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT in
        which the Networking TS model will be used by default. Setting this
        flag does not prevent a program from using executors from the Standard
        Executors model explicitly.
      + We'd love to know how you or your company use Beast, consider adding an
        entry to the Companies and Individuals Using Beast list.
      + See the full Release Notes for a complete list of changes.
  * Bimap:
      + Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
  * Config:
      + Implement BOOST_NO_CXX11_OVERRIDE and BOOST_OVERRIDE. (Glen Fernandes)
  * Core:
      + Implemented the allocator access utilities which provide a replacement
        for allocator_traits with individual traits and functions for each
        facility. They support the C++11 allocator model when possible and
        provide a fallback for C++98 compatibility. These are now used in
        Circular_Buffer, Wave, Lockfree, Heap, Smart_Ptr, Dynamic_Bitset,
        Format, Bimap and more. (Glen Fernandes)
  * DLL:
      + Multiple fixes for the library_info work on empty shared objects.
      + Compilation fixes for C++98 and C++11 modes (#28).
      + Fixes for smart_library manglings (thanks to XiaLiChao82 #37).
  * Endian:
      + Enabled scoped enumeration types in endian_reverse.
      + Enabled bool, enum, float, double in endian_reverse_inplace.
      + Added an overload of endian_reverse_inplace for arrays.
  * Filesystem:
      + Removed compile-time checks for support for symlinks and hardlink on
        Windows. Instead, a runtime check is used. (PR#142)
      + Fixed handling of reparse points in canonical and read_symlink on
        Windows. This also affects other algorithms that involve canonical and
        read_symlink in their implementation. (PR#100, #85, #99, #123, #125)
      + Fixed that read_symlink on Windows could potentially fail or cause
        failures elsewhere with a sharing violation error, if the same symlink
        was opened concurrently. (#138)
      + Fixed that is_symlink(directory_entry) would always return false, even
        if the directory entry actually referred to a symlink. (PR#148)
      + Added missing status inspection operation overloads for directory_entry
        and error_code (e.g. is_directory(directory_entry, error_code&)).
        Removed incorrect noexcept specifications for the overloads not taking
        the error_code arguments.
      + copy_file implementation has been updated to perform checks on the
        source and target files, as required by C++20 ([fs.op.copy.file]/4.1).
        In particular, the operation will fail if the source or target file is
        not a regular file or the source and target paths identify the same
        file.
      + copy_file on POSIX systems will now also copy the source file
        permissions to the target file, if the target file is overwritten.
      + New: Added copy_file implementations based on sendfile and
        copy_file_range system calls on Linux, which may improve file copying
        performance, especially on network filesystems.
      + Deprecated: The copy_option enumeration that is used with the copy_file
        operation is deprecated. As a replacement, the new enum copy_options
        (note the trailing 's') has been added. The new enum contains values
        similar to the copy_options enum from C++20. The old enum values are
        mapped onto the new enum. The old enum will be removed in a future
        release.
      + New: Added copy_options::skip_existing option, which allows copy_file
        operation to succeed without overwriting the target file, if it exists.
      + New: Added copy_options::update_existing option, which allows copy_file
        operation to conditionally overwrite the target file, if it exists, if
        its last write time is older than that of the replacement file.
      + New: copy_file now returns bool, which indicates whether the file was
        copied.
      + New, breaking change: copy operation has been extended and reworked to
        implement behavior specified in C++20 [fs.op.copy]. This includes
        support for copy_options::recursive, copy_options::copy_symlinks,
        copy_options::skip_symlinks, copy_options::directories_only,
        copy_options::create_symlinks and copy_options::create_hard_links
        options. The operation performs additional checks based on the
        specified options. Applying copy to a directory with default
        copy_options will now also copy files residing in that directory (but
        not nested directories or files in those directories).
      + New: Added create_directory overload taking two paths. The second path
        is a path to an existing directory, which is used as a source of
        permission attributes to use in the directory to create.
      + Deprecated: copy_directory operation has been deprecated in favor of
        the new create_directory overload. Note that the two operations have
        reversed order of the path arguments.
      + equivalent on POSIX systems now returns the actual error code from the
        OS if one of the paths does not resolve to a file. Previously the
        function would return an error code of 1. (#141)
      + equivalent no longer considers file size and last modification time in
        order to test whether the two paths refer to the same file. These
        checks could result in a false negative if the file was modified during
        the equivalent call.
      + New: Added absolute overloads taking error_code argument.
      + Operations that have current_path() as the default value of their
        arguments and also have an error_code argument will use the
        current_path(error_code& ec) overload to obtain the current path, so
        that its failure is reported via the error_code argument instead of an
        exception.
      + space now initializes the space_info structure members to -1 values on
        error, as required by C++20 ([fs.op.space]/1).
      + space on Windows now accepts paths referring to arbitrary files, not
        only directories. This is similar to POSIX systems and corresponds to
        the operation description in C++20. (#73)
      + New: Added implementation of temp_directory_path for Windows CE. (PR#25
        )
      + New: Improved compatibility with WASI platform. (PR#144)
      + New: Improved support for Embarcadero compilers. (PR#130)
      + New: Added implementations of unique_path operation based on getrandom
        (Linux), arc4random_buf (OpenBSD/FreeBSD/CloudABI) and BCrypt (Windows)
        system APIs.
      + Deprecated: Auto-linking against system libraries on Windows with
        MSVC-compatible compilers is deprecated and will be removed in a future
        release. This affects users linking against static library of
        Boost.Filesystem. Users are advised to update their project build
        systems to either use a shared library of Boost.Filesystem, or
        explicitly specify the dependencies of Boost.Filesystem in the linker
        command line. Users of shared library of Boost.Filesystem are not
        affected.
  * Flyweight:
      + Maintenance work.
  * Format:
      + Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
  * Geometry:
      + Improvements
          o PR#720 Additional R-tree constructors (thanks to Caian Benedicto).
          o Various improvements in buffer, set and relational operations.
      + Solved issues
          o #709 memcpy called for object with no trivial copy-assignment.
          o #721 Compilation error in bgi::detail::rtree::visitors::insert.
          o #727 MSVC warning: conditional expression is constant.
      + Bugfixes
          o PR#700 Missing cases for default strategies in distance algorithm.
          o PR#738 Longitudes out of range in direct geodesic formulas.
  * GIL:
      + Added
          o Added new constructor initializing any_image from r-value reference
            to any image (PR#486).
          o Implemented mechanism to reverse kernel_2d (PR#489).
      + Changed
          o BREAKING: Replace Boost.Variant with Boost.Variant2 (PR#474) which
            completes removal on uses of Boost.MPL (missing from Boost 1.72.0
            change added PR#274).
          o Use perfect forwarding from apply_operation to visit (PR#491).
      + Removed
          o BREAKING: Removed dependency on Boost.Variant
      + Fixed
          o Fixed invalid conversion from RGB8 to CMYK32 due to overflow (PR#
            470).
          o Fixed image constructor from other image (PR#477).
          o Fixed error plane_view_t is not a class or namespace name (PR#481).
          o Fixed interleaved_view factory using point<std::ptrdiff_t> for
            dimension (PR#487).
          o Fixed documentation replacing uses MPL with MP11 in tutorial (PR#
            494).
          o Fixed missing header in numeric/kernel.hpp to make it
            self-contained (PR#502).
      + Acknowledgements
          o Samuel Debionne, Pranam Lashkari, Mateusz Loskot, Debabrata Mandal
  * Heap:
      + Correct destruction of top node in skew_heap. (Glen Fernandes)
      + Correct and simplify allocator use. (Glen Fernandes)
  * Integer:
      + Fixed compilation of gcd in C++20 mode with clang 10.
      + Improved support for Embarcadero compilers. (PR#21)
  * Iterator:
      + boost/function_output_iterator.hpp header is now deprecated. Users
        should replace its inclusion with boost/iterator/
        function_output_iterator.hpp. (PR#51)
      + Improved support for Embarcadero compilers. (PR#55)
  * LexicalCast:
      + Fixed warnings on missing override (thanks to EugeneZelenko #35, #34).
      + Fixes for the the Embarcadero compilers (thanks to Edward Diener).
  * Log:
      + Bug fixes:
          o The syslog sink backend now verifies the IP version of the local
            and target addresses set by user. The addresses must have the same
            IP version as was specified in the ip_version named parameter on
            the sink backend construction (by default, IPv4 is assumed). When
            an address is obtained as a result of host name resolution, only
            addresses with matching IP version are considered. (#119)
      + New Features:
          o Move constructors and assignment operators of various components
            were marked noexcept.
          o Added a new range_manip stream manipulator that can be used for
            outputting elements of a range, optionally separated by a
            delimiter.
          o Added a new tuple_manip stream manipulator that can be used for
            outputting elements of a tuple or any other heterogeneous sequence,
            optionally separated by a delimiter.
          o Added a new optional_manip stream manipulator that can be used for
            outputting optionally present values.
      + See changelog for more details.
  * Mp11:
      + Improved compilation performance of mp_with_index<N> for large N.
      + Added tuple_transform (contributed by Hans Dembinski.)
  * Multi-index Containers:
      + Added node extraction and insertion following the analogous interface
        of associative containers as introduced in C++17. This feature has also
        been extended to non key-based indices, in contrast to C++ standard
        library sequence containers, which do not provide such functionality.
      + Clarified documentation on read/write key extractors (issue #32).
      + Maintenance work.
  * Nowide:
      + The library now requires a C++11-compliant compiler and stdlib
      + LFS: Add support for files > 2 GB where the underlying system supports
        it
      + Generic UTF conversion functions are now available in the boost::nowide
        ::utf namespace
      + Add support for stat with UTF-8 paths
  * Outcome:
      + Announcements:
          o The v2.1 branch is expected to be retired end of 2020, with the
            v2.2 branch becoming the default. You can use the future v2.2
            branch now using better_optimisation. This branch has a number of
            major breaking changes to Outcome v2.1, see the front page for
            details.
      + Enhancements:
          o BREAKING CHANGE void results and outcomes no longer default
            construct types during explicit construction. Previously if you
            explicitly constructed a result<T> from a non-errored result<void>,
            it default constructed T. This was found to cause unhelpful
            surprise, so it has been disabled.
          o New macro OUTCOME_ENABLE_LEGACY_SUPPORT_FOR. The macro
            OUTCOME_ENABLE_LEGACY_SUPPORT_FOR can be used to enable aliasing of
            older naming and features to newer naming and features when using a
            newer version of Outcome.
          o Concepts now have snake case style naming instead of camel case
            style. When Outcome was first implemented, it was thought that C++
            20 concepts were going to have camel case style. This was changed
            before the C++ 20 release, and Outcome's concepts have been renamed
            similarly. This won't break any code in Outcome v2.1, as
            compatibility aliases are provided. However code compiled against
            Outcome v2.2 will need to be upgraded, unless
            OUTCOME_ENABLE_LEGACY_SUPPORT_FOR is set to 210 or lower.
          o Concepts now live in OUTCOME_V2_NAMESPACE::concepts namespace.
            Previously concepts lived in the convert namespace, now they live
            in their own namespace.
          o New concepts basic_result<T> and basic_outcome<T> added. End users
            were finding an unhelpful gap in between is_basic_result<T> and
            value_or_error<T> where they wanted a concept that matched types
            which were basic_result, but not exactly one of those. Concepts
            filling that gap were added.
          o Operation TRY works differently from Outcome v2.2 onwards. This is
            a severely code breaking change which change the syntax of how one
            uses OUTCOME_TRY(). A regular expression suitable for upgrading
            code can be found in the list of changes between Outcome v2.1 and
            v2.2.
      + Bug fixes:
          o #224 The clang Apple ships in Xcode 11.4 (currently the latest) has
            not been patched with the fixes to LLVM clang that fix noexcept(std
            ::is_constructible<T, void>) failing to compile which I originally
            submitted years ago. So give up waiting on Apple to fix their
            clang, add a workaround to Outcome.
          o Spare storage could not be used from within no-value policy
            classes. Due to an obvious brain fart when writing the code at the
            time, the spare storage APIs had the wrong prototype which
            prevented them working from within policy classes. Sorry.
  * PolyCollection:
      + Fixed internal ambiguity problem between boost::type_erasure::any and
        boost::any (issue #17).
      + Maintenance work.
  * SmartPtr:
      + Added owner_equals to shared_ptr, weak_ptr, local_shared_ptr.
      + Added owner_hash_value to shared_ptr, weak_ptr.
      + Added owner_equal_to, owner_hash.
      + Added std::hash specializations for shared_ptr, local_shared_ptr.
      + Added boost::hash support to, and std::hash, std::equal_to
        specializations for, weak_ptr.
  * Stacktrace:
      + Fixed a build error when compiled with -fno-exceptions (thanks to
        Jeremiah Rodriguez #91).
  * System:
      + operator bool() now returns failed() instead of value() != 0.
  * Type_Traits:
      + Implemented conjunction, disjunction, negation, is_trivially_copyable,
        is_scoped_enum, and is_unscoped_enum. (Glen Fernandes)
  * Variant:
      + Fixed warnings on missing override (thanks to EugeneZelenko #78).
      + Fixes for the the Embarcadero compilers (thanks to Edward Diener #79).
      + Updated header locations to avoid warnings about using deprecated
        headers (thanks to Andrey Semashev #80)
  * Variant2:
      + Added support for derived types in visit.
      + Improved compilation performance for many (hundreds of) alternatives.
      + Added support for visit<R>.
  * Wave:
      + Implement C++20 features for variadics, including __VA_OPT__ (PR#75)
      + Implement __has_include (PR#102)
      + Introduce new sample: check_macro_naming, useful with Boost itself (PR#
        97)
      + Fix compilation issue caused by std::allocator member removal in C++20
        (PR#72)
      + Repair Xpressive lexer and token_statistics sample (PR#79)
      + Repair lexertl lexer (PR#78)
      + Ensure hooks are run on predefined macros as well (PR#87)
      + Various minor bug fixes
      + C++98/03 support is now deprecated and will be removed in 1.77
  * YAP:
      + Fixed compilation errors for placeholders; they now work in the general
        case, and in particular work with yap::print().
      + constexpr all the YAP.
      + Fix printing of correct value category in yap::print().
      + Doc clarification.

Updated Tools

  * Boostbook:
      + Change encoding of generated documentation from US-ASCII to UTF-8.
        (Glen Fernandes)
jperkin pushed a commit that referenced this pull request Apr 18, 2021
-Add support for Elvish (#174)
-Use Nushell from Nixpkgs unstable (#171)
-Make z exclude current directory (#173)
-Append __zoxide_hook to front of PROMPT_COMMAND (#170)
-Add support for Nushell (#164)
-Find zoxide in Xonsh shells (#168)
-Reference integration with nnn (autojump plugin) (#166)
-Fix CI (#161)
-Remove barely-used aliases (#158)
-Use variable to prevent hook redefinition (#154)
-Use /dev/null on Unix shells (#152)
-Specified external call to cd for fish (#146)
-Remove cargo-udeps
-Handle write errors gracefully (#143)
-Use builtin in shells (#141)
-Use zero copy deserialization (#138)
-Forcibly disable backtraces (#130)
-Start fish in an isolated env (#128)
-Run shell tests in a clean env
-Add NetBSD and Alpine Linux install instructions
-Use Nix for testing
-Split tests
-Change install instructions, add third-party integrations and update README
-Add Termux install instructions
-Update installation instructions
jperkin pushed a commit that referenced this pull request Apr 18, 2021
Vala 0.52.1
===========
 * Various improvements and bug fixes:
  - codegen:
    + Improve handling of ellipsis parameter in get_ccode_name()
    + Fix default value of get_ccode_destroy_notify_pos()
    + Don't override valid target/destroy of previous lambda argument [#59]
    + Don't call *_instance_init() in compact class chainup
  - vala: Mark tranformed static member-access as qualified [#270]
  - parser: Stricter mode for chained member initializer with --keep-going [#1158]
  - girwriter: namespace expects "c:symbol-prefixes" attribute [#1038]
  - girwriter: Don't use instance-parameter inside callback [#1167]
  - girparser,libvaladoc/girimporter: Don't guess length of xml header, iterate
    forward to <repository>
  - libvaladoc/girimporter: parse_constant() use "c:identifier" attribute first

 * Bindings:
  - gsl: Add BLAS module [#1149]
  - rest-0.7: Fix OAuthProxyAuthCallback binding
  - gtk+-3.0: Fix ModuleInitFunc binding
  - gio-2.0: Fix TlsPassword.get_value() binding
  - Fix several bindings which lead to invalid code by using them in:
    javascriptcoregtk-4.0, libusb, libusb-1.0, pixman-1,
    webkit2gtk-web-extension-4.0, x11, zlib,

Vala 0.52.0
===========
 * Various improvements and bug fixes:
  - codegen: Include "glib.h" for deprecated symbols (GOBJECT) [#1155]
  - vala: Improve error for incompatible expressions in conditional expression
  - vala: Check for unused attributes unconditionally
  - girparser: Allow overriding of "Compact" attribute for classes
  - girparser: Handle empty "<type/>" element and report an error
  - girparser: Add support for NoWrapper metadata for methods
  - build: Add --enable-test-asan configure option

 * Bindings:
  - gio-2.0: Add some missing NoWrapper and CCode.has_typedef attributes
  - gnutls: Fix some binding errors
  - gsl: Fix some binding errors
  - gstreamer: Update from 1.19.0+ git master
  - gtk4: Add Gtk.INVALID_LIST_POSITION [#1151]
  - gtk4-unix-print: Switch to gir
  - gtk4: Update to 4.1.2
  - linux: Provide Input.Event.input_event_sec/input_event_usec fields [#1152]
  - vapi: Fix a couple of attribute typos
  - webkit2gtk-4.0: Update to 2.31.91

Vala 0.51.91
============
 * Various improvements and bug fixes:
  - codegen:
    + Error for missing type-arguments of HashTable (de)serialization [#1147]
    + Free intermediate temp-variables of postcondition expression [#80]
    + Use the one available source_reference for internal error [#436]
    + Fix access to captured generics in async method of interfaces [#537]
    + Don't ever create null-aware free macro for GenericType
    + Don't add generics arguments/parameters to async finish method
    + Drop inner casts before converting between generics and integers
  - vala:
    + Add missing null-check in DataType.get_type_signature()
    + Check array type of declarations for errornous type-arguments
    + Check (optional) type-arguments of array creation expression
    + Replace all type parameter occurances in parameters for signal delegate

 * Bindings:
  - glib-2.0,gio-2.0: Add some missing type-arguments
  - vapi: Update GIR-based bindings

Vala 0.51.90
============
 * Various improvements and bug fixes:
  - codegen:
    + More use of get_ccode_type_name()
    + "_first_array" parameter for params-array is variadic too
    + Inherit GType from base struct of SimpleType structs
  - vala:
    + Report warning if --target-glib=auto was not evaluated successfully
    + Fix ownership inheritance of "unowned var" in foreach statement
    + Use pre-resolved symbol/type of SemanticAnalyzer if possible
  - gdbus: Don't leak memory of deserialized arguments on error in wrapper method
  - girparser: Reuse populated Node.gtype_struct_for instead of resolving again
  - girparser: Evaluate "glib:type-struct" twice to pick up reparented structs
  - testrunner: Include Gio-2.0/gio-2.0 for GIR tests too

 * Bindings:
  - gtk4: Update to 4.1.1+f8f90d85

Vala 0.51.3
===========
 * Various improvements and bug fixes:
  - codegen:
    + Don't use volatile modifier in glib API when targetting >= 2.68 [glib!1719]
    + CCodeBaseModule.get_type_id_expression () won't return null
    + Don't wrongly emit declaration for default-handler of signals
    + Include "string.h" for strcmp() (POSIX)
  - vala:
    + Generics value holding struct pointer requires casting on access [#347]
    + Infer needle type for "in" expression on enum [#1138]
    + Don't allow "in" operation with different enum types [#1139]
    + Improve context check whether property is writeable on assignments
    + Include "stdlib.h" for Enum.to_string() (POSIX) [#1143]
    + Set proper source_reference for implicit "this" and "result" variables
    + Report error for invalid inner operand of unary expressions
  - girwriter: Output default handler of signals

 * Bindings:
  - glib-2.0: Add new symbols from 2.68
  - webkit2gtk-4.0: Update to 2.31.90
  - vapi: Update GIR-based bindings

Vala 0.51.2
===========
 * Various improvements and bug fixes:
  - vala:
    + Check type-arguments in base-types/prerequisites of class/interface [#404]
    + Include type-checks in preconditions of methods for type narrowing [#894]
    + Capturing va_list parameters/variables is not allowed [#1136]
    + Properly parse and handle chained initialization of members [#1137]
  - codewriter: Output valid vala syntax for LoopStatement and don't write
    trailing ";" after body of WithStatement

 * Bindings:
    + gstreamer: Update from 1.19.0+ git master
    + vapi: Update GIR-based bindings

Vala 0.51.1
===========
 * Highlights:
  - Support "binding" to bind GtkCallback to class of given property [#1093]
  - Add support for type narrowing [#894]
  - Support chain up to simple generics constructor [#342]
  - Perform runtime version check of libvala [#88]
  - girparser: Handle anonymous delegate not backed by virtual-method or signal
  - Add support for 'opaque' compact classes [#1129]
  - Add further support for params arrays in constructors [#128]
  - Improve handling of "NoWrapper" attribute
  - Improve support of SimpleType struct constructors
  - Use __attribute__ instead of G_GNUC_* in POSIX profile
  - Add SDL 2.x bindings [#1032] amd drop SDL 1.x

 * Various improvements and bug fixes:
  - codegen:
    + Improve GValueModule.visit_cast_expression()
    + Drop obsolete dedicated handling of property value-parameter
    + Apply CCodeModifiers.PRINTF to "string_printf" (POSIX)
    + Allow CCode.type_cname for classes and use get_ccode_type_name()
    + Always use G_TYPE_INSTANCE_GET_CLASS/INTERFACE for external symbols
    + Also check array type of variable argument for ref parameters
    + Don't leak array memory after it was implicitly copied
    + Use g_boxed_free in free-wrapper for heap-allocated GLib.Value
    + Don't leak GLib.Value when implicitly unboxing it
    + Don't leak memory moving heap-allocated struct to stack
    + Chain up to base struct destroy function
    + Use g_memdup2 if target glib >= 2.68 is set
    + Replace "g_memdup" with "_vala_memdup2" for target glib < 2.68
    + Correctly retrieve symbol_reference of nested cast expressions [#1134]
    + Strip all nested occurances of CCodeCastExpression [#1134]
  - vala:
    + Improve detection of duplicate package source files
    + GtkChild fields/properties must be declared as unowned [#1121]
    + Don't allow assigning GtkChild fields/properties [#1121]
    + Apply stricter condition for lambda to delegate assignment
    + Don't allow disposable SimpleType structs
    + Rename Loop to LoopStatement and introduce a common base class
    + GLib.Value unboxing returns unowned value
    + Don't allow GLib.Value casting to nullable struct/simple types
    + Add Block.unreachable_exit and have it set by FlowAnalyzer [#838]
    + Convert Report.*() to real printf-like functions
    + Avoid taking extra reference of foreach collection for index iteration
    + Make sure parent_symbol for special async parameters is available
    + Require a valid DataType instance for every TargetValue
  - girparser:
    + Minor improvement to field getter detection
    + Apply "delegate_target" metadata for methods and parameters
    + Apply "destroy_notify_cname" metadata for fields
    + Apply "type_get_function" metadata for classes and inferfaces
    + Set CCode.type_cname for classes if it doesn't match our default
  - girwriter: Infer gir_namespace/version from target GIR filename [#606]
  - girwriter: Write instance-parameter elements [#1128]
  - libvaladoc/html: Don't sort struct fields to keep their original order
  - libvaladoc: Correctly retrieve value for Api.Class.is_compact
  - libvaladoc: Add wrapper for "agedge" of graphviz
  - valadoc: Correctly set verbose flag on CodeContext
  - valadoc: Replace png icons with elementary's svg version

 * Bindings:
  - Add enchant-2 bindings for Enchant 2.x
  - Add gnu.vapi with binding for getopt_long() and some other GNU APIs
  - Add libunwind-generic binding
  - Fix several bindings which lead to invalid code by using them in:
    cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3,
    libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4,
    fuse, libxml-2.0
  - curses: Remove initial “w” from some Window method names for consistency
  - gdk-pixbuf-2.0: Fix Pixbuf.save_to_streamv_async()
  - gdk-pixbuf-2.0: Update to 2.42.3~
  - gio-2.0: Fix binding of PollableOutputStream.write*_nonblocking()
  - gio-2.0,gtk+-3.0,gtk4: Drop explicit c-type attributes of va_list parameters
  - gio-2.0: Pick up missing invoker for some AppInfo/File.*() methods
  - gio-2.0: Update to 2.67.3
  - glib-2.0: Add GLib.[S]List.is_empty() convenience methods for non-null
  - glib-2.0: Add new symbols from 2.68
  - glib-2.0: Bind assert_cmp* functions [#395]
  - glib-2.0: Improve type of OptionEntry.flags field
  - glib-2.0: Make PtrArray a subclass of GenericArray
  - gobject-2.0: Add new symbols from 2.68
  - gstreamer-1.0: Set CCode.type_id of MiniObject to G_TYPE_BOXED [#1133]
  - gstreamer: Update from 1.19.0+ git master
  - gtk+-2.0,javascriptcoregtk-4.0: Wrong usage of CCode.type_cname attribute
  - gtk+-3.0,gtk4: Fix some delegate return values and parameters
  - gtk4: Update to 4.1.0+2712f536
  - posix: Add POSIX, GNU and BSD Regex APIs
  - webkit2gtk-4.0: Update to 2.31.1
jperkin pushed a commit that referenced this pull request Jun 15, 2021
htmltools 0.5.1.1
--------------------------------------------------------------------------------

* Added shiny as a suggested package.


htmltools 0.5.1
--------------------------------------------------------------------------------

## New Features & Improvements

* Added a new `tagFunction()` for generating `tags` and/or
  `htmlDependency()`s conditional on the rendering context. For an
  example, see `?tagFunction`. (#180)

* Closed #104: `save_html()`'s `file` argument now properly handles
  relative paths. (@haozhu233, #105, #192)

* `save_html()` now has a `lang` parameter that can be used to set the
  lang attribute of `<html>`. (@ColinFay, #185)

* Closed #101: `htmlDependency` & `renderDependencies` now allow the
  `script` argument to be given as a named list containing the
  elements: `src`, `integrity`, `crossorigin`. (@matthewstrasiotto,
  #188)

* Closed #189: `validateCssUnit()` now accepts `fit-content`. (#190)

* `htmlPreserve()` can now optionally use the Pandoc `raw_attribute`
  extension to enclose HTML.

## Breaking Changes

* Closed #161: `parseCssColors(x)` now requires `x` to be a character
  vector (it no longer accepts a `list()` of strings) and an error is
  no longer thrown when `mustWork = FALSE` and `x` contains `NA`
  value(s). (#194)

## Bug fixes

* `print(as.tags(x))` no longer results in error when `x` is a generic
  `list()` of tag-like objects. (#181)


htmltools 0.5.0
--------------------------------------------------------------------------------

* `tags` is now generated by a script which collects all
  [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Element) and
  [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG/Element) element tags
  documented in [MDN Web Docs](https://developer.mozilla.org).  This feature
  only appends to the existing set of `tags` (#159)

* Removed the Rcpp depedency and the compiled code now uses C rather than C++ (#158)

* BREAKING CHANGE: Fixed #57, #153: `htmlTemplate` output no longer inserts
  extra whitespace around {{...}} replacement values. (#154)

* `HTML()` now takes `.noWS` argument, which can be used to suppress surrounding
  whitespace (similar to the new argument for tags in htmltools 0.4.0). (#154)

* `css()` now returns `NULL` instead of `""` when no non-empty properties are
  specified. (#145)

* `save_html(tags$body(...))` no longer results in double <body> tags being
  written to the .html file. (Note that `save_html(tags$html(...))` is not
  supported at this time.) (#145)

* Trailing commas now permited in `...` arguments to `css()`, `tagList()`, and
  the var-arg mutation functions: `tagAppendAttributes()`, `tagSetChildren()`,
  and `tagAppendChildren()`. (#145)

* Added `capturePlot` and `plotTag` functions, for easily creating image files
  and HTML <img> tags (respectively) from plot expressions. (#150)

* Added `parseCssColors` function, for normalizing the various CSS
  color formats into #RRGGBB(AA) strings. (#155)

* Fixed #156: Now `extractPreserveChunks()` handles strings contain
  Emoji Unicode strings correctly on Windows. (#157)

* The `.noWS` parameter for suppressing whitespace can now take an `"inside"`
  value (equivalent to `c("after-start", "before-end")`). (#163)

htmltools 0.4.0
--------------------------------------------------------------------------------

* Fixed #128: Added support for trailing commas in tagLists and the predefined
  tags. (#135)

* Added some HTML tag functions to `tags` that were missing. (#111)

* Updated RcppExports for new version of Rcpp. (#93)

* `as.character.shiny.tags()` will handle non-ASCII attributes correctly if they
  are not encoded in native encoding.

* Fixed #99: `NA` attributes were sometimes rendered as `"NA"` in the HTML,
  instead of being blank. (#100)

* The error message for trailing commas in tag functions now provides context
  and useful information. (#109)

* Stopped using inline styles to set background color for `save_html`, as doing so
  makes it difficult to override using other CSS rules. (#123)

* Added a `.noWS` argument to `tag()` and `tags` which can be used to suppress
  the automatically generated whitespace around a particular tag. (#131)

* Added a shim for `system.file()` so that htmltools works with `htmlDependency`
  objects created by a package that was loaded with `devtools::load_all()`.
  (#129)

* `validateCssUnit()` now accepts `ch`, `rem`, and `calc()`. (#134)

* Fixed #125: `print.html` removes html dependencies. (#126)

* Stopped extra carriage returns from being inserted by `save_html` on Windows.
  (#137)
jperkin pushed a commit that referenced this pull request Jun 15, 2021
(devel/R-repr) Updated 1.0.1 to 1.1.3

https://github.com/IRkernel/repr/releases
1.1.3
@flying-sheep flying-sheep released this Jan 21, 2021

  * [82041bf] Switch to testthat 3
  * [68bf64e,#139] Fix URLs in README

1.1.2
@flying-sheep flying-sheep released this Jan 21, 2021

  * [#135] Fix time series not supporting 1-row output
  * [04239d0] Switch from dplyr::tbl to tibble::tibble

1.1.1
@flying-sheep flying-sheep released this Aug 19, 2020

  * [#128] Add class="dataframe" to the HTML <table/> tags
  * [9af4e98] Fixes reprs of lists with identical(names(l), '') #133

1.1.0
@flying-sheep flying-sheep released this Jan 28, 2020

  * [#125] Add option repr.vector.max.items to limit displayed vectors (by
    default to maximally 400 items)
  * [#125] Prettify HTML representation of vectors by displaying style tags
    with them

1.0.2
@flying-sheep flying-sheep released this Dec 16, 2019

  * [d25aad0] Optimize has_row_names using .row_names_info to speed up reprs of
    large data.frames (Issue #119)
  * [7ca5bb9] Fix column specification in repr_latex.matrix
  * [ddeb9fc] Add repr_vega5, repr_vegalite3 and repr_vegalite4
jperkin pushed a commit that referenced this pull request Jun 15, 2021
# cpp11 0.2.7

* Fix a transient memory leak for functions that return values from
  `cpp11::unwind_protect()` and `cpp11::safe` (#154)

# cpp11 0.2.6

* `cpp_register()` now uses symbols exclusively in the `.Call()`
  interface. This allows it to be more robust in interactive use with
  the pkgload package.

# cpp11 0.2.5

* `cpp_source()` gains a `cxx_std` argument to control which C++
  standard is used.  This allows you to use code from `C++14` and
  later standards with cpp_source(). (#100)

* The cpp11 knitr engine now allows you to set the `cxx_std` chunk
  option to control the C++ standard used.

* `cpp_source()` now has much more informative error messages when
  compilation fails (#125, #139)

* `cpp_source()` now uses a unique name for the DLL, so works when run
  multiple times on the same source file on Windows (#143)

* `writable::list_of<T>` now supports modification of vectors as
  intended (#131).

* Errors when running
  `tools::package_native_routine_registration_skeleton()` are no
  longer swallowed (#134)

* `cpp_source()` can now accept a source file called `cpp11.cpp`
  (#133)

* `named_arg` now explicitly protect their values, avoiding protection
  issues when using large
  inputs. [tidyverse/readr#1145](tidyverse/readr#1145)

* `r_string(std::string)` now uses `Rf_mkCharLenCE()` instead of
  `Rf_mkChar()`, which avoids the performance cost of checking the
  string length.

* Writable vector classes now properly set their lengths as intended
  when being copied to a read only class (#128).
jperkin pushed a commit that referenced this pull request Aug 17, 2021
Changelog:
22 July 2021: Wouter
	- tag 4.3.7 release, with the fixes between rc1 and this release.

20 July 2021: Wouter
	- Fix typo in xfrd-tcp.c.

15 July 2021: Wouter
	- tag for 4.3.7rc1.
	- Fix compile of cookies on FreeBSD without IPv6.
	- Fix for loop initial declaration for nonc99 compiler.

14 July 2021: Wouter
	- Fix truncate test for EDNS COOKIE making one less RR is added.
	- Attempt to fix gcc11 warning.

13 July 2021: Willem
	- Fixes for child server processes getting out of sync with the
	  dnstap-collector process

13 July 2021: Willem
	- Interoperable DNS Cookies support as per RFC7873 and RFC9018

9 July 2021: Willem
	- Client side DNS Zone Transfer-over-TLS (XoT) support as per
	  draft-ietf-dprive-xfr-over-tls

29 June 2021: Willem
	- Fix #168: Buffer overflow in the dname_to_string() function

14 June 2021: Wouter
	- Update configure nonblocking test to use host.

25 May 2021: Wouter
	- Fix #179: log notice and server-count.

21 May 2021: Wouter
	- Test code has -q option for quiet output.

17 May 2021: Wouter
	- Update the ACX_CHECK_NONBLOCKING_BROKEN test for the configure
	  script.

7 May 2021: Wouter
	- Fix #176: please review Loglevel on missing zonefile.

6 May 2021: Wouter
	- Fix #174: NS Records below delegation are not ignored (nsd-checkzone
	  also does not raise any issue).

4 May 2021: Wouter
	- Fix SVCB sort call sizeof to be the size of the elements sorted.

29 April 2021: Tom
	- Implement Syntax of SVCB and HTTPS RR type as per draft-ietf-dnsop-svcb-https

13 April 2021: Wouter
	- Fix for #128: Skip over sendmmsg invalid argument when port is zero.
	- Fix #171: Invalid negative response (NSEC3) after IXFR.
	- Fix to make nsec3_chain_find_prev return NULL if one nsec3 left.
	- remove debug settings from unit test.

9 April 2021: Wouter
	- Fix for #170: Fix build warnings when IPv6 is disabled.
	- Fix #170: Disabled IPv6 and DNSTAP enabled triggers a build error.

30 March 2021: Wouter
	- Fix configure failure for enable systemd because of autoconf.
	- This became release 4.3.6, the repository continues for 4.3.7
	  in development.

29 March 2021: Wouter
	- Note unlisted changes in RELNOTES and prepare for 4.3.6rc1 tag.

29 March 2021: Willem
	- Per zone Access Control List for queries
	  with an allow-query: option.

24 March 2021: Wouter
	- Update acx_nlnetlabs.m4 to version 38, fix deprecation test.
	- Fix configure to use header checks with compile.
	- Fix warning about unused function log_addr.

18 March 2021: Tom
	- Add Extended DNS Errors RFC8914

15 March 2021: Wouter
	- Fix double config.h include in configlexer.c
	- Fix to remove configyyrename from makedist.sh and also
	  update the flex and bison rules there to add the "c_" prefix.

13 March 2021: Willem
	- Fix #154: TXT with parentheses fails in 4.3.5.
	- Align parsing of TXT elements with how bind does it.
	- A -p option to nsd-checkzone to print a successfully read zone.

12 March 2021: Wouter
	- Fix that wildcard is printed as a star instead of escaped, in
	  logs and in written zone files.
	- Fix unit test for wildcard printout change.

11 March 2021: Wouter
	- Fix #163: A TSIG noncompliance with RFC 2845.

9 March 2021: Willem
	- Enable configuring a control-interface by interface name.

19 February 2021: Wouter
	- Fix segfault on high verbosity for TLS channels with dnstap log
	  local address.

18 February 2021: Wouter
	- Fix #146 with #147: DNSTAP log the local address of the server
	  with the dnstap logs.

16 February 2021: Wouter
	- Man page documentation for dnstap options.

8 February 2021: Wouter
	- Fix AF_LOCAL compile error for Solaris.
	- Fix ifaddrs compile error for Solaris.
	- Fix ifaddrs.h compile error for Solaris.

4 February 2021: Wouter
	- Merge PR #153 from fobser: Repair -fno-common linker errors
	  automatically.
	- Fix uninitialized access of log_buf in error printout on apply ixfr.

26 January 2021: Wouter
	- Prevent a few more yacc clashes.
jperkin pushed a commit that referenced this pull request Aug 23, 2021
0.5.1 (2021-07-27)

* New: Allow expiration to be turned off globally #128
* Fixed: Support for ruby-head #132
* Maintainance: Drop support for EOL'ed Rubies (< 2.6.0) and Rails 4.2


0.5.2 (2021-08-02)

* Add back Ruby 2.5 support so gem install rails works out of the box,
  thereby satisfying Rails' Ruby version requirement.  See rails/rails#42931
jperkin pushed a commit that referenced this pull request Sep 8, 2021
# development  openxlsx 4.2.4

## Fixes

* `Write.xlsx()` now successfully passes `withFilter`
  ([#151](ycphs/openxlsx#151))
* code clean up PR [#168](ycphs/openxlsx#168)
* removal of unused variables PR
  [#168](ycphs/openxlsx#168)

## New features

* adds `buildWorkbook()` to generate a `Workbook` object from a
  (named) list or a data.frame
  ([#192](ycphs/openxlsx#192),
  [#187](ycphs/openxlsx#187))
  * this is now recommended rather than the `write.xlsx(x, file) ; wb
    <- read.xlsx(file)` functionality before
  * `write.xlsx()` is now a wrapper for `wb <- buildWorkbook(x);
    saveWorkbook(x, file)`
  * parameter checking from `write.xlsx()` >> `buildWorkbook()` are
    now held off until passed to `writeData()`, `writeDataTable()`,
    etc
  * `row.names` is now deprecated for `writeData()` and
    `writeDataTable()`; please use `rowNames` instead
* `read.xlsx()` now checks for the file extension `.xlsx`; previously
  it would throw an error when the file was `.xls` or `.xlm` files

* memory allocation improvements
* global options added for `minWidth` and `maxWidth`

* `write.xlsx()` >> `buildWorkbook()` can now handle `colWidths`
  passed as either a single element or a `list()`

* Added ability to change positioning of summary columns and rows.
  * These can be set with the `summaryCol` and `summaryRow` arguments
    in `pageSetup()`.

* `activeSheet` allows to set and get the active (displayed) sheet of a worbook.

* Adds new global options for workbook formatting
  ([#165](ycphs/openxlsx#165); see
  `?op.openxlsx`)


# openxlsx 4.2.3

## New Features

* Most of functions in openxlsx now support non-ASCII arguments
  better. More specifically, we can use non-ASCII strings as names or
  contents for `createNamedRegion()`
  ([#103](ycphs/openxlsx#103)),
  `writeComment()`, `writeData()`, `writeDataTable()` and
  `writeFormula()`. In addition, openxlsx now reads comments and
  region names that contain non-ASCII strings correctly on
  Windows. Thanks to @shrektan for the PR
  [#118](ycphs/openxlsx#118).

* `setColWidths()` now supports zero-length `cols`, which is
  convinient when `cols` is dynamically provided
  [#128](ycphs/openxlsx#128). Thanks to
  @shrektan for the feature request and the PR.

## Fixes for Check issues

* Fix to pass the tests for link-time optimization type mismatches

* Fix to pass the checks of native code (C/C++) based on static code
  analysis

## Bug Fixes

* Grouping columns after setting widths no longer throws an error
  ([#100](ycphs/openxlsx#100))

* Fix inability to save workbook more than once
  ([#106](ycphs/openxlsx#106))

* Fix `loadWorkbook()` sometimes importing incorrect column attributes

# openxlsx 4.2.2

## New Features

* Added features for `conditionalFormatting` to support also 'contains
  not', 'begins with' and 'ends with'

* Added return value for `saveWorkbook()` the default value for
  `returnValue` is `FALSE`
  ([#71](ycphs/openxlsx#71))

* Added Tests for new parameter of `saveWorkbook()`

## Bug Fixes

* Solved CRAN check errors based on the change disussed in
  [PR#17277](https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=17277)

# openxlsx 4.2.0

## New Features

* Added `groupColumns()`, `groupRows()`, `ungroupColumns()`, and
  `ungroupRows()` to group/ugroup columns/rows
  ([#32](ycphs/openxlsx#32))

## Bug Fixes

* Allow xml-sensitve characters in sheetnames
  ([#78](ycphs/openxlsx#78))

## Internal

* Updated roxygen2 to 7.1.1

# openxlsx 4.1.5.1

## Bug Fixes

*  fixed issue [#68](ycphs/openxlsx#68])

# openxlsx 4.1.5

## New Features

*  Add functions to get and set the creator of the xlsx file

*  add function to set the name of the user who last modified the xlsx file

## Bug Fixes

*  Fixed NEWS hyperlink

*  Fixed writing of mixed EST/EDT datetimes

* Added description for `writeFormula()` to use only english function
   names

*  Fixed validateSheet for special characters

## Internal

*  applied the tidyverse-style to the package `styler::style_pkg()`

*  include tests for `cloneWorksheet`

# openxlsx 4.1.4

## New Features

* Added `getCellRefs()` as
   function. [#7](ycphs/openxlsx#7)

*  Added parameter for customizing na.strings

## Bug Fixes

*  Use `zip::zipr()` instead of `zip::zip()`.

* Keep correct visibility option for
   loadWorkbook. [#12](ycphs/openxlsx#12])

* Add space surrounding "wrapText"
   [#17](ycphs/openxlsx#17)

* Corrected Percentage, Accounting, Comma, Currency class on column
   level


*  update to rogygen2 7.0.0

# openxlsx 4.1.3

## New Features

*  Added a `NEWS.md` file to track changes to the package.
*  Added `pkgdown` to create site.

## Bug Fixes

*  Return values for cpp changed to R_NilValue for r-devel tests

*  Added empty lines at the end of files

# openxlsx 4.1.2

*  Changed maintainer

# openxlsx 4.1.1

## New Features

* `sep.names` allows choose other separator than '.' for variable
   names with a blank inside

* Improve handling of non-region names in `getNamedRegions` and add
   related test
jperkin pushed a commit that referenced this pull request Jan 18, 2022
Fixes:
-Fixed empty context menu when right-clicking empty spaces (#122).
-Fixed not updating playlist when deleting a track (#128).
-Fixed incorrect track order after deleting a track in a playlist (#130).
-Fixed paging not working with some lists (#145).
-Fixed not removing extra spacing when using system title bar.
-Fixed issues with followed playlists by other users not updating properly.
-Fixed issue when attempting to search for nothing.
-Fixed issues resuming playback when last used device was no longer available.

Changes:
-Added an option to show desktop notification on track change (#99).
-Added support for repeating a single track (#108).
-Added support for podcasts (#110).
-New and improved volume slider (#112).
-Already opened artists are now re-used (#113).
-Added support for mirrored title bar buttons (#120).
-Added support for creating new playlists (#139).
-Added support for following, and unfollowing, playlists.
-New status messages, replacing the status bar and desktop notifications.
-Added a custom font for the custom dark theme.
-Now continues playing tracks from search results.
-Now shows more artists links, for example social media links.
-Removed broken "PulseAudio volume control" setting.
-Tracks in albums now show an added date for when the album released.
-New categories in settings for logs and for troubleshooting.
jperkin pushed a commit that referenced this pull request May 1, 2022
# 1.4.0

* `cran_check_results()` now downloads results in parallel, so it is
  much faster.

* `rcmdcheck_process` now redirects the standard error to the standard
  output, to make sure that they are correctly interleaved (#148).

* rcmdcheck now puts Rtools on the PATH, via pkgbuild (#111).

* rcmdcheck now builds the manual when building the package, if it is
  needed for `\Sexpr{}` expressions (#137).

* This version fixes a rare race condition that made rcmdcheck fail (#139).

* rcmdcheck now safeguards against R deleting the user's home directory
  via an `R CMD build` bug (#120).

* rcmdcheck can now ignore files in `inst/doc` when building a package.
  See the `Config/build/clean-inst-doc` package option in
  `?"rcmdcheck-config"` (#130).

* It is now possible to turn on/off ANSI colors for rcmdcheck only,
  without affecting the checked package. See `?"rcmdcheck-config" and the
  `RCMDCHECK_NUM_COLORS` environment variable and the `rcmdcheck.num_colors`
  option (#119, @jimhester).

* `print.rcmdcheck()` now has a `test_output` argument and
  `rcmdcheck.test_output` global option, to control whether to print the full
  test output or not. (#121)

* RStudio's Pandoc is now on the path during `rcmdcheck()`
  and `rcmdcheck_process` (#109, #132, @dpprdan).

* `rcmdcheck()` now errors if the check process crashes (#110, #163).

* `rcmdcheck()` prints the check ouptut better interactively, especially
  when the package has multiple test files (#145, #161).

* rcmdcheck can now ignore `NOTE`s, if requested, see `?rcmdcheck` for
  details (#12, #160).

* rcmdcheck now always converts its output to UTF-8 from the native
  encoding. It also handles parsing check output in a non-native encoding
  better (#152).

* rcmdcheck now ignored time stamps when comparing two check results (#128).

* rcmdcheck now does not print extra empty lines in the interactive output
  on GitHub Actions.

* rcmdcheck now uses a more robust implementation to extract the session
  info from the check process (#164).
jperkin pushed a commit that referenced this pull request May 1, 2022
Upstream changes:
 Changes for version 1.58 - 2022-04-18

    Fixed tests so that they ignore the value set in the `PERL_DATETIME_DEFAULT_TZ` env var, if one exists. Reported by Ian Gibbs. GH #128.
jperkin pushed a commit that referenced this pull request Sep 1, 2023
Change log:

1.1.0 (2023-08-22)
=====
- Update copyright year
- Allow passing arguments to custom commands
- Fully translate strings in unsafe paste dialog
- window: Properly sync always-show-tabs
- cleanup: Include gdkx.h in one place
- preferences: Remove unused class member
- preferences: Check if channel itself exists instead of check property
- screen: Review image loader memory management
- image-loader: Review cache management
- Add keywords to .desktop files (Fixes #50)
- screen: Take window scaling into account when drawing (Fixes #71)
- Remove obsolete GNOME default-app file (Fixes #109)
- Add "Open File Manager Here" action (Fixes #133)
- Properly manage default encoding (Fixes #128)
- Move general include in private.h
- dropdown: Disable systray icon on Wayland
- Fix startup with GDK_BACKEND=x11 (Fixes #177)
- shortcuts: Restore broken action toggle-menubar
- shortcuts: Fix non-consumed key event for show-menubar
- main: Allow GTK to parse its options first (Fixes #216)
- search: Add missing sanity check
- Use GLib logging functions and do not translate warnings
- Fix typo
- Remove obsolete CHECK_VERSION()
- Use g_new() instead of malloc()
- Fix Xfconf memory management
- search-dialog: Fix memory leak
- Remove extra separator at the end of context menu
- Missing shortcut keys in the standalone preferences dialog (Issue
#198)
- Apply 1 suggestion(s) to 1 file(s)
- Enable kinetic scrolling in VteTerminal
- Extend --disable-server description wrt. process model
- End all full sentences with a period
- Drop obsolete --disable-server translations
- prefs-dialog: Fix untranslated strings
- Add sixel support
- Add icons at missing sizes, clean up SVG metadata
- build: Fix autoconf warnings
- build: Add GLib requirement
- Add accel entries for scrolling pages (Issue #221)
- Remove documentation for dead anti-aliasing option
- Make strings translatable (Issue #222)
- Fix shortcuts-editor include
- Indentation
- Support hyperlinks (Issue #21)
- fix typo
- Fix argument type for xfce_shortcuts_editor_new
- fix background_notify
- fixed typo
- Remove disable-help preference.
- MR: !51 transitioned to Xfconf (#134)
- typos in MR !48 fixed
- Remove all references to terminal-preferences.glade
- Remove one more mention of terminal-preferences.glade
- Remove trailing slash
- Remove terminal-preferences-ui.h from makefile
- Remove terminal-preferences.glade
- MR: !48 shortcuts editor embedded into preferences-dialog (#195)
- MR: !48 preferences-dialog rewritten in C (#195)
- MR: !46 Change in implementation for TAB accels (#150)
- Implementation of MiscShiftArrowsToScroll as accelerators.
- Add PCRE2 build dependency
- Remove libxfce4ui 4.17 version guards
- Replace with xfce_gtk_menu_append_separator
- Tweak toolbar
- Translation Updates:
  , Albanian, Arabic, Armenian (Armenia), Basque, Belarusian,
  Bulgarian, Catalan, Chinese (China), Chinese (Taiwan), Croatian,
  Czech, Danish, Dutch, Eastern Armenian, English (Australia), English
  (United Kingdom), Estonian, Finnish, French, Galician, German, Greek,
  Hebrew, Hungarian, Icelandic, Indonesian, Interlingue, Italian,
  Japanese, Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål,
  Occitan (post 1500), Persian (Iran), Polish, Portuguese, Portuguese
  (Brazil), Romanian, Russian, Serbian, Slovak, Slovenian, Spanish,
  Swedish, Thai, Turkish, Ukrainian
jperkin pushed a commit that referenced this pull request Sep 1, 2023
Added

    Add Hungarian localization (#131) @gy-balint
    Revise Turkish localization (#139) @geekdinazor
    Translate "thousand" to "千" for zh_CN (#127) @dofine

Changed

    Update docs link to https://humanize.readthedocs.io (#128) @hugovk

Fixed

    Move logic to convert aware datetime to naive into function (#123) @ErikKalkoken
    Docs: fix formatting of return value (#137) @hugovk
jperkin pushed a commit that referenced this pull request Sep 1, 2023
1.5.0 (2023-08-25)

* Fix to prevent distutils deprecation warning (#159)
  (Christopher Dilks)

* Drop Python 2.7 support

* Fix memory leak of Python objects.  (#129) This should fixes #128 and
  maybe also fixes #164.
  (mknkmyza)
jperkin pushed a commit that referenced this pull request Oct 23, 2023
This is the biggest update ever, with 36 new features, 24 bug fixes,
and 3 performance improvements.

Thank you to every contributor for making Yazi better and better!
What's Changed

    feat: add Mintty (Git Bash) image preview support by @sxyazi in #103
    refactor: use Url instead of PathBuf by @sxyazi in #107
    fix: mime of javascript by @XYenon in #106
    perf: load large folders in chunks by @sxyazi in #117
    fix: set cursor block after closing input prompt from insert mode
         by @auvred in #109
    fix: doesn't redirect the stderr of the clipboard command to null
         by @sxyazi in #119
    feat: suspend process (Ctrl-Z) by @sxyazi in #120
    fix: notification of file changes in linked directories by @sxyazi in #121
    feat: file size sorting under the simplified file system by @sxyazi in #123
    fix: show_hidden not properly applied to hovered folder by @sxyazi in #124
    fix: recognize symlink directories as files by @sxyazi in #125
    fix: respect symlink paths without canonicalizing them by @sxyazi in #126
    feat: make Input streamable by @sxyazi in #127
    perf: doesn't wait for the process of killing by @sxyazi in #128
    feat: find by @sxyazi in #104
    feat: tab-specific sorting by @sxyazi in #131
    feat: new V, D, C keybinding for Input component by @sxyazi in #139
    fix: swap description for search commands by @knutwalker in #141
    fix: image position calculation by @sxyazi in #144
    feat: support for image preview within tmux by @sxyazi in #147
    feat: show keywords when in search mode by @sxyazi in #152
    feat: fallback to built-in highlighting if jq is not installed
          by @ndtoan96 in #151
    feat: make the glob expr case insensitive by default, and prepend \s to
          make it sensitive by @sxyazi in #156
    fix: check relative path on expand_path by @sxyazi in #165
    feat: support for FreeBSD permission type by @yggdr in #169
    feat: multiple openers for a single rule by @Linus789 in #154
    fix: leave upwards only if an IO error occurs in current by @sxyazi in #172
    docs: add archlinuxcn installation guide by @Integral-Tech in #176
    fix: image preview not working on Zellij by @Eric-Song-Nop in #181
    feat: make trash optional by @sxyazi in #178
    fix: inconsistent Shift key behavior on Unix and Windows
         by @ndtoan96 in #174
    feat: new force option added for the remove command, which does not show
          the confirmation dialog on trashing/deleting by @sxyazi in #173
    fix: typo of LICENSE file by @conradojordan in #201
    feat: add flake.nix by @XYenon in #205
    feat: include ignored files on search when hidden files are shown
          by @PhotonQuantum in #212
    feat: new orphan option for opener rules, to keep the process running even
          when Yazi exited by @sxyazi in #216
    feat: scroll half/full page with arrow percentage supported, and new
          Vi-like <C-u>, <C-d>, <C-b>, and <C-f> keybindings added by
          @TD-Sky in #213
    feat: highlight matching words on finding by @PhotonQuantum in #211
    feat: add BackTab support by @sxyazi in #209
    fix: set stdio to null when orphan is true by @sxyazi in #229
    feat: new force option for creating and renaming by @sxyazi in #208
    feat: loop through to find by @ndtoan96 in #234
    feat: backward/forward by @ndtoan96 in #230
    perf: reimplement optimized natural sorting algorithm, speed up ~6 times
          for case-insensitive sorting by @sxyazi in #237
    chore: changing the finding key to n/N to keep with Vim's conventions
           by @sxyazi in #238
    feat: added new options to the `find' command for smart-case/
          case-insensitive finds by @ndtoan96 in #240
    feat: add new --no-cwd-file option to quit command for flexible cwd-file
          setting by @XOR-op in #245
    fix: avoid adding non-regular paths to backstack by @ndtoan96 in #249
    fix: support RGBA16 images by @sxyazi in #250
    feat: support trash for NetBSD by @sxyazi in #251
    feat: support environment variable in cd path by @ndtoan96 in #241
    feat: new theme system by @sxyazi in #161
    fix: cannot cd if there is whitespace in path by @ndtoan96 in #255
    fix: add application/x-wine-extension-ini to text mime by @ndtoan96 in #259
    fix: collect and fix all hard coded themes and color
         by @Eric-Song-Nop in #221
    fix: some colors not readable in light mode by @sxyazi in #264
    feat: better file hover state by @sxyazi in #269
    refactor: split commands into separate files by @sxyazi in #272
    feat: cancel selected items automatically on entering, leaving, copying, or
          cutting by @sxyazi in #273
    feat: add a new Bar component, and make border styles customizable
          by @sxyazi in #278
    fix: adapt another $TERM value of foot-extra for foot by @sxyazi in #277
    refactor: simplify building conditions by @sxyazi in #280
    chore: add git rev to nix pkg version by @XYenon in #206
    feat: new Manager component for better style extensions by @sxyazi in #284
    feat: cross-system opener rule support by @sxyazi in #289
    fix: delegate the SIGINT signal of processes with orphan=true to their
    parent by @sxyazi in #290
    feat: line mode by @sxyazi in #291
    feat: shell completions & auto releasing by @TD-Sky in #282
jperkin pushed a commit that referenced this pull request Nov 30, 2023
1.10.14 (2023-11-26)

Changelog:

* PR #112: Put glue and pieces parameters to implode in correct order for
  PHP 7.4+
* PR #121: Fix PHP bug 81653: Typo in install-pear-nozlib.phar
* PR #122: add %S EXPECTF capability
* PR #124: Fix: Creation of dynamic property PEAR_Error::$callback is
  deprecated
* PR #125: Fixed extension loaded check for pecl binaries
* PR #126: Remove -n option from pecl.bat for shared extensions
* PR #127: fix Using ${var} in strings is deprecated
* PR #128: fix lingering license references to PHP license
* PR #129: Exclude tests from composer classmap
* PR #131: fix private lastError name
jperkin pushed a commit that referenced this pull request Dec 18, 2023
18.0.0 (2022-03-24)

Added
* Support for EcmaScript modules (aka ESM) (#1756)
* New optional name property on the Hook schema (#1914)

Changed
* JSON Schema: some array fields now have "minItems": 1.
* Generate Java code that uses Optional in getters.
* Setters are removed.
* Classes without required fields have public empty constructors, and
  static of methods for each field. (#1858 aslakhellesoy)
* Java: Make this library more null safe.

19.0.0 (2022-05-31)

Added
* Expand the messages protocol with keyword types (#1966)

Changed
* [Java] the PickleStep constructor has changed - it now needs an
  extra PickleStepType argument.
* [Java] the Step constructor has changed - it now needs an extra
  StepKeywordType argument.

19.1.0 (2022-06-20)

Added
* [Javascript] Adding the json schemas of the messages to the NPM
  package (PR#2010)

19.1.1 (2022-06-22)

Fixed
* [Javascript] Schema are actually missing from 19.1.0 (PR#2016)

19.1.2 (2022-06-22)

Fixed
* [Javascript] Schema was still missing in 19.1.1 due to how npm
  manages the files attribute in package.json (PR#2020)

19.1.3 (2022-09-20)

Fixed
* Add name field to package.cjs.json (#36)

19.1.4 (2022-09-22)

Changed
* Update dependencies

20.0.0 (2022-11-14)

Changed
* Add workerId field to TestCaseStarted message (#34)
* [Java] Enabled reproducible builds

Fixed
* Change Go module name to match repo (#101)

21.0.0 (2022-12-17)

Added
* [Java] Add javadoc to messages (#124)

Changed
* Add exception to TestStepFinished TestRunFinished (#122)

21.0.1 (2022-12-17)

Fixed
* [Java] Suppress warnings for missing javadoc (#128)

22.0.0 (2023-04-06)

Added
* Added source reference to parameter type (#45)

Fixed
* Corrected Java and PHP generators to allow running using Docker on
  Windows (#146)

23.0.0 (2023-11-01)

Added
* Added C++ implementation (#152)

Changed
* [Ruby] Updated minimum Ruby version to 2.5 - (#177 luke-hill)

24.0.0 (2023-11-24)

Added
* Add stackTrace prop to Exception message (#182)
jperkin pushed a commit that referenced this pull request Jul 1, 2024
Changelog:
### GMime 3.2.15

* Fixed the g_mime_object_get_header API definition to note that it can return null
* Fixed a memory leak in address_parse() (issue #159)
* Added custom header folding logic for the Newsgroups: header (issue #162)
* Fixed a configure issue regarding ac_cv_sys_file_offset_bits (issue #158)
* Fixed an infinite loop in the Content-Type and Content-Disposition parameter
  serialization logic (issue #165)

### GMime 3.2.14

* Avoid clearing the header list of a GMimeMessage when adding addresses to an address header. (issue #129)
* Added the internet_address_list_append_parse() prototype definition to internet-address.h. (issue #128)
* Use gtk-doc ulink syntax in doc comments instead of `<a href=...>`. (issue #131)
* Fixed rfc2047 token decoding logic for base64 encodings. (issue #133)
* Properly handle GDateTime UTC offsets with non-zero seconds. (issue #134)
* Improved introspection data for bindings such as Vala.
* Improved address name quoting.
* Added a GNotifyDestroy to the GMimeParserOptions callback.
* Fixed the URL linkifier logic to properly handle links without a '/' before the query string.
* Fixed the URL linkifier logic to handle domains that start with numbers. (issue #152)
* Reverted base64 decoder optimizations from 3.2.10 and 3.2.11 to support chunked base64. (issue #150)

### GMime 3.2.13

* Optimized parsing of messages with lots of address headers. (issue #126)

### GMime 3.2.12

* Fixed a memory leak in g_mime_gpgme_get_decrypt_result().

* Updated vapigen.m4, introspection.m4, and gpgme.m4 to improve cross-platform builds.

* Add and use ax_lib_socket_nsl.m4 so that systems that do not require linkage with libnsl
  are not forced to link with it unnecessesarily.

* Changed the build system to no longer use dolt (which is obsolete).

### GMime 3.2.11

* Fixed a bug in the base64 decoder. D'oh!

### GMime 3.2.10

* Improved performance of base64 encoder by ~5%.

* Improved performance of base64 decoder by ~25%.

* Unref the autocrypt header after adding it to the list. (issue #118)

* Work around a bug in g_time_zone_new_offset() by using identifiers instead. (issue #120)

### GMime 3.2.9

* g_mime_multipart_signed_verify() now allows type/subtype and type/x-subtype signature parts. (issue #115)

* Fixed header folding logic to avoid folding the first line of a header value. (issue #112 and issue #113)

* Fixed bugs discovered by static analysis. (issue #110)

* Fixed GMimeStreamPipe to set errno to ESPIPE for seek/tell/length methods.

* Fixed GMimeCertificates to prefer gpgme_user_id_t's address field over the email field. (issue #102)

### GMime 3.2.8

* Various fixes to Vala (and other?) language bindings. (issue #96 and issue #101)

* Enabled build for PPC64LE architecture (issue #100)

* Added g_mime_object_write_content_to_stream() (issue #97)

* Fixed parameter list parsing logic to not report a warning when everything is valid.

* Fixed the parser to handle MIME parts without headers -or- content of any kind.
jperkin pushed a commit that referenced this pull request Aug 24, 2024
1.65 -- 2024-08-06
	[BUGFIXES]
	 * Update exotic names test to avoid single quote package separator
	   (GH #128)
	 * Don't loop forever in uniqnum.t (GH #130)
github-actions Bot pushed a commit that referenced this pull request Oct 13, 2024
Changelog:
da30b211 Version 2.9.31
2e01fce4 Bugfix: #128 - Crash when replacing a MapCenter with another map
81974822 Version 2.9.30
d5f7fc05 Bugfix: #126 Save user flags in XML export
a4347c29 Add io.github.insilmaril.vym.appdata.xml (#123)
b6182c6c Added Evgeniy Nochevnov for Russian translations
e01bff3f Update vym.ru.ts (#115)
8f4e86ca Version 2.9.28
github-actions Bot pushed a commit that referenced this pull request Oct 21, 2024
1.8.2 (2024-09-24)

What's Changed

* Drop commented-out line by @olleolleolle in #108
* Add Ruby 3.1 & 3.2 to CI matrix by @tricknotes in #109
* Fix/redos by @ooooooo-q in #114
* Raise HTTPStatus::BadRequest for requests with invalid/duplicate
  content-length headers by @jeremyevans in #120
* Bump actions/checkout from 3 to 4 by @dependabot in #121
* Improve CI by @hsbt in #123
* Fix WEBrick::TestFileHandler#test_short_filename test not working on mswin
  by @KJTsanaktsidis in #128
* Fix bug chunk extension detection by @jeremyevans in #125
* Fix CI. by @ioquatix in #131
* Merge multiple cookie headers, preserving semantic correctness. by
  @ioquatix in #130
* Test on macos-latest by @byroot in #132
* Require CRLF line endings in request line and headers by @jeremyevans in
  #138
* Prefer squigly heredocs. by @ioquatix in #143
* Only strip space and horizontal tab in headers by @jeremyevans in #141
* Treat missing CRLF separator after headers as an EOFError by @jeremyevans
  in #142
* Return 400 response for chunked requests with unexpected data after chunk
  by @jeremyevans in #136
* Fix reference to URI::REGEXP::PATTERN::HOST by @casperisfine in #144
* Prevent request smuggling by @jeremyevans in #146

New Contributors

* @tricknotes made their first contribution in #109
* @ooooooo-q made their first contribution in #114
* @KJTsanaktsidis made their first contribution in #128
* @byroot made their first contribution in #132
* @casperisfine made their first contribution in #144
github-actions Bot pushed a commit that referenced this pull request Dec 2, 2024
# wk 0.9.4

- Ensure package tests pass against sf 1.0-18 (#224, #225).

# wk 0.9.3

- Ensure package compiles with `STRICT_R_HEADERS=1` (#222).

# wk 0.9.2

- Add `wk_crs()` and `wk_set_crs()` methods for `bbox` (#213)
- Fix wk_trans inconsistent meta flags handling (#217)
- Ensure package builds on arm64 for Windows (#220)

# wk 0.9.1

- Fix format strings/arguments for R-devel (#209).

# wk 0.9.0

## Breaking changes

- The common well-known binary representation of POINT EMPTY (i.e.,
  POINT (nan nan)) is now handled as POINT EMPTY allowing empty points
  to roundtrip through `wkb()` vectors (#196, #204).
- `xy(NA, NA)` is now read as a null feature instead of POINT EMPTY. This
  preserves the invariant that null features can also be identified using
  `is.na()` (#205).
- `xy(NaN, NaN)` is now read as POINT EMPTY and `is.na(xy(NaN, NaN))`
  now returns `FALSE`. This means that both EMPTY and null points can roundtrip
  through `xy()` (#205).

## Bugfixes and improvements

- `wk_meta()` now contains a new column `is_empty`, which is `TRUE`
  for any feature that contains at least one non-empty coordinate. This allows
  more efficient detection of features with zero coordinates (#197, #199).
- Updated PROJ data to use the latest pull of the database packaged with
  PROJ 9.3.0 (#201).
- The wk package now compiles once again on gcc 4.8 (#203, #206).
- Fixed `sfc_writer()` to correctly attach the `classes` attribute to
  sfc output with mixed geometry types (#195).
- Function `sfc_writer()` now has an argument `promote_multi` to write any
  input as the MULTI variant. This makes it more likely that an input vector
  will be read as a single geometry type (#198).
- The `wk_collection_filter()` now correctly increments the `part_id` when
  calling the child handler (@brownag, #194).

# wk 0.8.0

* Added `wkb_to_hex()` (@anthonynorth, #183).
* Implemented `vctrs::vec_proxy_equal()` for `wkb()` vctrs
  (@anthonynorth, #183).
* Fixed `sfc_writer()`, which had returned NULL for some inputs
  (e.g., via `wk_collection()`) (@anthonynorth, #182, #186).
* Added `wk_clockwise()` and `wk_counterclockwise()` to re-wind polygon rings
  (@anthonynorth, #188).
* New replacement-function mode for `wk_coords<-()` for in-place modification
  of coordinates (@mdsumner, #187).
* New function `wk_trans_explicit()` migrated from crs2crs (@mdsumner, #187).

# wk 0.7.3

* Fix tests for updated waldo package (#178).

# wk 0.7.2

* Fix use-after-free warnings.

# wk 0.7.1

* Fix implicit reliance on error `as.data.frame.default()`,
  which no longer occurs in r-devel (#166).

# wk 0.7.0

* Remove legacy headers that are no longer used by any downstream package
  (#146).
* `validate_wk_wkt()` now errors for an object that does not inherit from
  'wk_wkt' (#123, #146).
* Added `wk_crs_projjson()` to get a JSON representation of a CRS object.
  To make lookup possible based on shortcut-style CRS objects (e.g.,
  `"EPSG:4326"` or `4326`), added data objects `wk_proj_crs_view` and
  `wk_proj_crs_json` that contain cached versions of rendered PROJJSON
  based on the latest PROJ version (#147).
* Added a `wk_crs_proj_definition()` method for `wk_crs_inherit()` (#136,
  #147).
* Conversion to sf now uses the `sfc_writer()` for all wk classes, making
  conversions faster and fixing at least one issue with conversion of NA
  geometries to sf (#135).
* `wk_plot()` now plots `NULL`/`NA` geometries and mixed geometry types
  more reliably (#142, #143, #149).
* Exported EMPTY geometries to well-known text now include dimension
  (e.g., `POINT Z EMPTY`) (#141, #150).
* Fixed bug where `wk_polygon()` doubled some points when the input contained
  closed rings (#134, #151).
* Fixed bug where `wk_count()` exposed uninitialized values for empty input
  (#139, #153).
* The `xy_writer()` now opportunistically avoids allocating vectors for Z
  or M values unless they are actually needed (#131, #154).
* Added example WKT for all geometry types and dimensions plus helper
  `wk_example()` to access them and set various properties (#155).
* Fixes warnings when compiling with `-Wstrict-prototypes` (#157, #158).
* Removed `wk_chunk_map_feature()` in favour of using chunking strategies
  directly (#132, #159).
* Optimized `wk_coords()` for `xy()` objects (#138, #160).
* Added accessor methods for record-style vectors: `rct_xmin()`, `rct_xmax()`,
  `rct_ymin()`, `rct_ymax()`, `rct_width()`, `rct_height()`, `crc_center()`,
  `crc_x()`, `crc_y()`, `crc_r()`, `xy_x()`, `xy_y()`, `xy_z()`, and `xy_m()`
  (#144, #161).
* Added rectangle operators `rct_intersects()`, `rct_contains()`,
  and `rct_intersection()` (#161).

# wk 0.6.0

* Fixed `wk_affine_rescale()` to apply the translate and scale
  operations in the correct order (#94).
* Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support
  a chunk + apply workflow when working with large vectors (#101, #107).
* C and R code was rewritten to avoid materializing ALTREP vectors
  (#103, #109).
* Added a `wk_crs_proj_definition()` generic for foreign CRS objects
  (#110, #112).
* Added `wk_crs_longlat()` helper to help promote authority-compliant
  CRS choices (#112).
* Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic`
  in `wkt()` and `wkb()` as a flag for objects whose edges must
  be interpolated along a spherical/ellipsoidal trajectory (#112).
* Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry
  vectors for better integration with sf (#113, #114).
* Refactored well-known text parser to be more reusable and faster
  (#115, #104).
* Minor performance enhancement for `is.na()` and `validate_wk_wkb()`
  when called on a very long `wkb()` vector (#117).
* Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed
  for most valid objects (#119).
* Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise
  bounding boxes (#120, #122).
* Fixed headers and tests to pass on big endian systems (#105, #122).
* Incorporated the geodesic attribute into vctrs methods, data frame
  columns, and bbox/envelope calculation (#124, #125).
* Fix `as_xy()` for nested data frames and geodesic objects (#126, #128).
* Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`,
  and `wkt_format()` (#129).
* `wk_plot()` is now an S3 generic (#130).

# wk 0.5.0

* Fixed bugs relating to the behaviour of wk classes as
  vectors (#64, #65, #67, #70).
* `crc()` objects are now correctly exported as polygons
  with a closed loop (#66, #70).
* Added `wk_vertices()` and `wk_coords()` to extract individual
  coordinate values from geometries with optional identifying
  information. For advanced users, the `wk_vertex_filter()`
  can be used as part of a pipeline to export coordinates
  as point geometries to another handler (#69, #71).
* Added `wk_flatten()` to extract geometries from collections.
  For advanced users, the `wk_flatten_filter()` can be used as
  part of a pipeline (#75, #78).
* `options("max.print")` is now respected by all vector classes
  (#72, #74).
* Moved implementation of plot methods from wkutils to wk to
  simplify the dependency structure of both packages (#80, #76).
* Added `wk_polygon()`, `wk_linestring()`, and `wk_collection()`
  to construct polygons, lines, and collections. For advanced
  users, `wk_polygon_filter()`, `wk_linestring_filter()`, and
  `wk_collection_filter()` can be used as part of a pipeline
  (#77, #84).
* Added a C-level transform struct that can be used to simplify
  the the common pattern of transforming coordinates. These
  structs can be created by other packages; however, the
  `wk_trans_affine()` and `wk_trans_set()` transforms are
  also built using this feature. These are run using the
  new `wk_transform()` function and power the new
  `wk_set_z()`, `wk_set_m()`, `wk_drop_z()`, `wk_drop_m()`,
  functions (#87, #88, #89).

# wk 0.4.1

* Fix LTO and MacOS 3.6.2 check errors (#61).

# wk 0.4.0

* Removed `wksxp()` in favour of improved `sf::st_sfc()` support
  (#21).
* Rewrite existing readers, writers, and handlers, using
  a new C API (#13).
* Use new C API in favour of header-only approach for all
  wk functions (#19, #22).
* Use cpp11 to manage safe use of callables that may longjmp
  from C++.
* Vector classes now propagate `attr(, "crs")`, and check
  that operations that involve more than one vector have
  compatable CRS objects as determined by `wk_crs_equal()`.
* Added an R-level framework for other packages to implement
  wk readers and handlers: `wk_handle()`, `wk_translate()`,
  and `wk_writer()` (#37).
* Added a native reader and writer for `sf::st_sfc()` objects
  and implemented R-level generics for sfc, sfg, sf, and bbox
  objects (#28, #29, #38, #45).
* Implement `crc()` vector class to represent circles (#40).
* Added a 2D cartesian bounding box handler (`wk_bbox()`) (#42).
* Refactored unit tests reflecting use of the new API and
  for improved test coverage (#44, #45, #46).
* Added `wk_meta()`, `wk_vector_meta()`, and `wk_count()` to
  inspect properties of vectors (#53).
* Modified all internal handlers such that they work with vectors
  of unknown length (#54).

# wk 0.3.4

* Fixed reference to `wkutils::plot.wk_wksxp()`, which
  no longer exists.

# wk 0.3.3

* Fixed WKB import of ZM geometries that do not use EWKB.
* Added `xy()`, `xyz()`, `xym()` and `xyzm()` classes
  to efficiently store point geometries.
* Added the `rct()` vector class to efficiently store
  two-dimensional rectangles.
* Fixed the CRAN check  failure caused by a circular
  dependency with  the wkutils package.
* Added S3 methods to coerce sf objects to and from
  `wkt()`, `wkb()` and `wksxp()`.

# wk 0.3.2

* Fixed EWKB output for collections and multi-geometries
  that included SRID (#3).
* Fixed CRAN check errors related to exception handling on
  MacOS/R 3.6.2.

# wk 0.3.1

* Added a `NEWS.md` file to track changes to the package.
github-actions Bot pushed a commit that referenced this pull request Dec 17, 2024
What's Changed

    Fix typo, add links, and formatting by @grahammiln in #128
    README change binary name in usage example by @mikelolasagasti in #126
    gha: update golangci-lint to v1.62.2 by @thaJeztah in #131
    Preserve compatibility with go <= 1.17 by @thaJeztah in #130
    update minimum go version to go1.12, and test in gh by @thaJeztah in #129
github-actions Bot pushed a commit that referenced this pull request Dec 30, 2024
# downlit 0.4.4

* Use simpler parsing algorithm for R 4.0, which avoids crash with
  certain UTF-8 characters (#189).

# downlit 0.4.3

* Fix for upcoming R-devel (#169).

# downlit 0.4.2

* `highlight()` no longer errors if a package imputed to have been attached
  isn't installed.

* Correctly link `requireNamespace(MASS)` (#151).

# downlit 0.4.1

## Syntax highlighting

* Supports new base pipe `|>` syntax (#126).

* Every line get its own `<span>` to match pandoc (#122).

* Multi-line tokens (e.g. strings) now get a `<span>` per line (#139).

* Very long strings or other tokens are no longer truncated (@dmurdoch, #128).

## Auto-linkg

* Function calls (in inline and code blocks) will no longer to non-function
  topics (#135).

* Re-exports detection no longer relies on name of `.Rd` file (#134).

* Link to correct topic with `::()` and `utils::help()` (@IndrajeetPatil, #131).

* Generate correct link for Bioconductor vignettes (@zeehio, #145)
github-actions Bot pushed a commit that referenced this pull request Jan 4, 2025
# Changes in 0.24.4

* Added Ethan B. Smith as a contributor. Thanks Ethan!

### NEW FEATURES

- Added a `TR()` function to calculate the true high, true low, and true
  range. Refactored `ATR()` to use the `TR()` function. Thanks to @openbmsjsc
  and Steve Bronder for the reports, and Ethan B. Smith for the PR.
  (#18, #114, #124)

### BUG FIXES

* Fix `stockSymbols()` for ticker "NA". `read.table()` converts the string "NA"
  to a missing value (NA) because `na.strings = "NA"` by default. This causes
  an issue because there's actually a company with "NA" for the ticker. (#128)

- `CTI()` did not pad its result with leading NA when the input was not
  coerced to an xts object. This was different from other TTR functions
  (e.g. `SMA()`, `RSI()`, `ROC()`). (#127)

- Removed the `VMA()` function, which was never correct because the
  results made no sense.

- Check that the `wma()` C function has enough non-NA values and throw
  an error if it doesn't. This could cause the `WMA()` function to crash
  the user's R session. (#126)

- `runMean(..., cumulative = TRUE)` didn't account for leading NA in the
  denominator. (#122)

- `runSD(x, cumulative = TRUE)` returned all NA when `x` had any leading
  NA. Thanks to Ethan B. Smith for the report. (#121)

- The `TRIX()` signal line did not use `nSig` unless `maType` was provided.
  Thanks to @SatoshiReport for the... report. (#120)

### MISCELLANEOUS

- Use symbols for native routine entry points to make them explicit and
  unable to be found accidentally. (#123)
github-actions Bot pushed a commit that referenced this pull request Jan 19, 2025
## In Lablgtk-3.1.5

2024.06.10 [Jacques]
  * Prepare for release
  * Fix typos in README.md (#182) [Sylvain Chiron]

2024.05.20 [Jacques]
  * Typo in ml_gtk_text_buffer_get_iter_at_line_index. (#181) [Hugo Herbelin]

2024.05.14 [Jacques]
  * Support windows sockets in Glib.IO.channel_of_descr (#176)
    [with Michael Soegtrop]

2024.03.24 [Jacques]
  * fix pointer incompatibility in ml_gtk_style_context_list_classes (#178)

## In Lablgtk-3.1.4

2024.01.31 [Jacques]
  * use Bytes rather than String
  * Various missing bindings, including lablgtk3-rsvg2 (#128)
  * GtkStyleContext: Add missing class and provider functions (#163)
  * Add GdkEvent.Scroll.delta_{x,y} (#173) [Thomas Leonard]
github-actions Bot pushed a commit that referenced this pull request Feb 6, 2025
What's Changed

    feat(logging): Add configurable logging system with documentation by @TomPlanche in #126
    Fix Multiplayer Connection Issues with Improved Socket Handling and Logging by @TomPlanche in #128
    [FIX] Corrected moves history display by @TomPlanche in #130
    fix: esc key bug when playing bot by @thomas-mauran in #129
github-actions Bot pushed a commit that referenced this pull request May 6, 2025
 - Increase the HTTP request timeout to 30 seconds (#128)
 - Fix issues with proxies (#111 (comment))
github-actions Bot pushed a commit that referenced this pull request Sep 27, 2025
v1.10.1
What's Changed

    fix: license compatibility matrix embed by @anistark in #145

v1.10.0
What's Changed

    refactor: process project detection in parallel using rayon by @anistark in #125
    Add license matrix by @anistark in #126
    Bump tracing-subscriber from 0.3.19 to 0.3.20 in the cargo group across 1 directory by @dependabot[bot] in #127
    refactor: Implement concurrent requests with rate limiting by @anistark in #128
    refactor: remove redundancy in license compatibility check by @anistark in #132
    add: new --sbom flag by @anistark in #133
    update: rpm install instructions by @anistark in #135
    add: sbom model and spdx generation by @anistark in #134
    fix: implement license parsing with config. by @anistark in #136
    update: go dependency tracking with depth by @anistark in #137
    update: config validation by @anistark in #138
    add: cyclonedx 1.5 support by @anistark in #139
    Fix/feluda ci by @anistark in #140
    Feat/cpp support by @anistark in #141
    feat: OSI status in verbose, gui and supported output formats. by @anistark in #142
    fix: version pattern mismatch and generate notes race by @anistark in #143
jperkin pushed a commit that referenced this pull request Oct 23, 2025
Added

    cargo as is now available (#137)

Fixed

    Fixed metadata error when using --manifest-path outside of a project folder.
    Fixed incorrect parsing of -Z flags causing them to not be considered (#128)
    Improve help messages (#126, #131)

Changed

    The llvm-tools-preview component was renamed to llvm-tools
    MSRV Changed to 1.70.0
    Bump rust-cfg to 0.5, cargo_metadata to 0.18, clap to 4 and toml to 0.8
    Output better error messages on build failures (#154)
github-actions Bot pushed a commit that referenced this pull request Dec 4, 2025
What's Changed

    Bump clap from 4.4.16 to 4.4.17 by dependabot[bot] in #4
    Add .rustfmt.toml by akiomik in #5
    Bump nostr-sdk version to 0.27 by akiomik in #6
    Use nostr_sdk::Metadata instead of create::nostr::Metadata by akiomik in #7
    Use nip-21 by akiomik in #8
    Add NetBSD, fix typo and grammar by 0323pin in #9
    Bump clap from 4.4.17 to 4.4.18 by dependabot[bot] in #12
    Bump chrono from 0.4.31 to 0.4.33 by dependabot[bot] in #13
    Bump serde from 1.0.195 to 1.0.196 by dependabot[bot] in #15
    Bump serde_json from 1.0.111 to 1.0.113 by dependabot[bot] in #16
    Bump strum from 0.25.0 to 0.26.1 by dependabot[bot] in #14
    Bump config from 0.13.4 to 0.14.0 by dependabot[bot] in #18
    Bump tokio from 1.35.1 to 1.36.0 by dependabot[bot] in #20
    Bump ratatui version to v0.26.0 by akiomik in #21
    Bump ratatui from 0.26.0 to 0.26.1 by dependabot[bot] in #24
    Bump tui-widget-list from 0.7.0 to 0.7.1 by dependabot[bot] in #23
    Bump clap from 4.5.0 to 4.5.1 by dependabot[bot] in #27
    Bump chrono from 0.4.33 to 0.4.34 by dependabot[bot] in #22
    Bump serde_json from 1.0.113 to 1.0.114 by dependabot[bot] in #30
    Bump serde from 1.0.196 to 1.0.197 by dependabot[bot] in #29
    Bump mio from 0.8.10 to 0.8.11 by dependabot[bot] in #33
    Bump log from 0.4.20 to 0.4.21 by dependabot[bot] in #32
    Bump strum from 0.26.1 to 0.26.2 by dependabot[bot] in #36
    Bump chrono from 0.4.34 to 0.4.35 by dependabot[bot] in #35
    Bump clap from 4.5.1 to 4.5.2 by dependabot[bot] in #34
    Bump clap from 4.5.2 to 4.5.3 by dependabot[bot] in #39
    Bump color-eyre from 0.6.2 to 0.6.3 by dependabot[bot] in #38
    Bump regex from 1.10.3 to 1.10.4 by dependabot[bot] in #40
    Bump tokio from 1.36.0 to 1.37.0 by dependabot[bot] in #43
    Bump serde_json from 1.0.114 to 1.0.115 by dependabot[bot] in #42
    Bump chrono from 0.4.35 to 0.4.37 by dependabot[bot] in #41
    Bump h2 from 0.3.24 to 0.3.26 by dependabot[bot] in #44
    Bump clap from 4.5.3 to 4.5.4 by dependabot[bot] in #45
    Bump ratatui from 0.26.1 to 0.26.2 by dependabot[bot] in #48
    Bump rstest from 0.18.2 to 0.19.0 by dependabot[bot] in #46
    Bump chrono from 0.4.37 to 0.4.38 by dependabot[bot] in #47
    Bump serde from 1.0.197 to 1.0.198 by dependabot[bot] in #52
    Bump rustls from 0.21.10 to 0.21.11 in the cargo group across 1 directory by dependabot[bot] in #50
    Bump serde_json from 1.0.115 to 1.0.116 by dependabot[bot] in #51
    Bump human-panic from 1.2.3 to 2.0.0 by dependabot[bot] in #53
    Bump serde from 1.0.198 to 1.0.199 by dependabot[bot] in #55
    Bump unicode-width from 0.1.11 to 0.1.12 by dependabot[bot] in #54
    Bump tokio-util from 0.7.10 to 0.7.11 by dependabot[bot] in #59
    Bump serde from 1.0.199 to 1.0.200 by dependabot[bot] in #58
    Bump libc from 0.2.153 to 0.2.154 by dependabot[bot] in #56
    Bump serde_json from 1.0.116 to 1.0.117 by dependabot[bot] in #62
    Bump serde from 1.0.200 to 1.0.201 by dependabot[bot] in #61
    Fix clippy::assigning_clones by akiomik in #69
    Use rust-toolchainstable instead of nightly by akiomik in #68
    Bump serde from 1.0.201 to 1.0.203 by dependabot[bot] in #67
    Bump ratatui from 0.26.2 to 0.26.3 by dependabot[bot] in #65
    Bump libc from 0.2.154 to 0.2.155 by dependabot[bot] in #64
    Bump tokio from 1.37.0 to 1.38.0 by dependabot[bot] in #72
    Bump rstest from 0.19.0 to 0.21.0 by dependabot[bot] in #71
    Bump clap from 4.5.4 to 4.5.7 by dependabot[bot] in #76
    Bump regex from 1.10.4 to 1.10.5 by dependabot[bot] in #73
    Bump nostr-sdk version to 0.28.0 by akiomik in #77
    Bump unicode-width from 0.1.12 to 0.1.13 by dependabot[bot] in #75
    Bump nostr-sdk version to 0.29 by akiomik in #78
    Bump strum from 0.26.2 to 0.26.3 by dependabot[bot] in #81
    Bump lazy_static from 1.4.0 to 1.5.0 by dependabot[bot] in #79
    Bump clap from 4.5.7 to 4.5.8 by dependabot[bot] in #83
    Bump serde_json from 1.0.117 to 1.0.120 by dependabot[bot] in #85
    Bump serde from 1.0.203 to 1.0.204 by dependabot[bot] in #86
    Bump log from 0.4.21 to 0.4.22 by dependabot[bot] in #89
    Bump clap from 4.5.8 to 4.5.9 by dependabot[bot] in #92
    Bump serde_json from 1.0.120 to 1.0.121 by dependabot[bot] in #94
    Bump rstest from 0.21.0 to 0.22.0 by dependabot[bot] in #97
    Bump human-panic from 2.0.0 to 2.0.1 by dependabot[bot] in #98
    Bump serde_json from 1.0.121 to 1.0.125 by dependabot[bot] in #100
    Bump clap from 4.5.9 to 4.5.16 by dependabot[bot] in #102
    Bump libc from 0.2.155 to 0.2.158 by dependabot[bot] in #103
    Bump regex from 1.10.5 to 1.10.6 by dependabot[bot] in #104
    Bump tokio-util from 0.7.11 to 0.7.12 by dependabot[bot] in #105
    Bump pretty_assertions from 1.4.0 to 1.4.1 by dependabot[bot] in #107
    Bump serde_json from 1.0.125 to 1.0.132 by dependabot[bot] in #108
    Bump human-panic from 2.0.1 to 2.0.2 by dependabot[bot] in #109
    Bump config from 0.14.0 to 0.14.1 by dependabot[bot] in #110
    Bump sorted-vec from 0.8.3 to 0.8.5 by dependabot[bot] in #111
    Bump libc from 0.2.158 to 0.2.164 by dependabot[bot] in #112
    Bump futures from 0.3.30 to 0.3.31 by dependabot[bot] in #114
    Bump libc from 0.2.164 to 0.2.168 by dependabot[bot] in #116
    Bump chrono from 0.4.38 to 0.4.39 by dependabot[bot] in #117
    Bump tokio from 1.38.0 to 1.42.0 by dependabot[bot] in #118
    Bump tracing-error from 0.2.0 to 0.2.1 by dependabot[bot] in #119
    Bump serde from 1.0.204 to 1.0.217 by dependabot[bot] in #120
    Bump tracing-subscriber from 0.3.18 to 0.3.19 by dependabot[bot] in #121
    Bump serde_json from 1.0.132 to 1.0.137 by dependabot[bot] in #122
    Bump regex from 1.10.6 to 1.11.1 by dependabot[bot] in #123
    Bump log from 0.4.22 to 0.4.25 by dependabot[bot] in #124
    Bump libc from 0.2.168 to 0.2.169 by dependabot[bot] in #126
    Bump unicode-width from 0.1.13 to 0.2.0 by dependabot[bot] in #127
    Bump serde_json from 1.0.137 to 1.0.139 by dependabot[bot] in #128
    Bump libc from 0.2.169 to 0.2.170 by dependabot[bot] in #129
    Bump ring from 0.17.7 to 0.17.13 in the cargo group by dependabot[bot] in #130
    Bump config from 0.14.1 to 0.15.11 by dependabot[bot] in #131
    Bump chrono from 0.4.39 to 0.4.40 by dependabot[bot] in #133
    build: fix rust toolchain channel by akiomik in #135
    Bump tokio from 1.42.0 to 1.43.1 in the cargo group by dependabot[bot] in #134
    Bump log from 0.4.25 to 0.4.27 by dependabot[bot] in #136
    Bump tokio from 1.43.1 to 1.44.2 by dependabot[bot] in #137
    Bump clap from 4.5.16 to 4.5.18 by dependabot[bot] in #139
    Bump strum from 0.26.3 to 0.27.1 by dependabot[bot] in #140
    Bump chrono from 0.4.40 to 0.4.41 by dependabot[bot] in #141
    Bump sorted-vec from 0.8.5 to 0.8.6 by dependabot[bot] in #142
    Bump config from 0.15.11 to 0.15.13 by dependabot[bot] in #143
    build(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 in the cargo group by dependabot[bot] in #145
    build(deps): bump tokio from 1.44.2 to 1.46.1 by dependabot[bot] in #144
    build(deps): bump serde from 1.0.217 to 1.0.226 by dependabot[bot] in #148
    build(deps): bump tokio-util from 0.7.12 to 0.7.16 by dependabot[bot] in #149
    build(deps): bump directories from 5.0.1 to 6.0.0 by dependabot[bot] in #150
    build(deps): bump color-eyre from 0.6.3 to 0.6.5 by dependabot[bot] in #151
    build(deps): bump serde from 1.0.226 to 1.0.228 by dependabot[bot] in #152
    fix: update human-panic API usage for v2.0 compatibility by akiomik in #153
    test: fix config test to work with existing config files by akiomik in #154
    build: upgrade Rust toolchain to 1.91.1 and fix clippy warnings by akiomik in #155
    feat: update TUI dependencies with API compatibility fixes by akiomik in #156
    refactor: migrate from deprecated ListableWidget to PreRender trait by akiomik in #157
    feat: update TUI dependencies to latest versions by akiomik in #158
    refactor: migrate to tui-widget-list ListView API and remove deprecated warnings by akiomik in #159
    feat: upgrade nostr-sdk to 0.31.0 with Tag API migration by akiomik in #160
    feat: add EventSet collection to replace manual event deduplication by akiomik in #161
    feat: upgrade nostr-sdk to 0.32.0 and fix TagStandard API changes by akiomik in #162
    feat: upgrade-nostr-sdk-to-0.33.0 by akiomik in #163
    feat: upgrade nostr-sdk to 0.35.0 and fix deprecated API usage by akiomik in #164
    feat: update nostr-sdk to 0.36.0 by akiomik in #165
    feat: upgrade nostr-sdk to 0.37.0 by akiomik in #166
    feat: upgrade nostr-sdk to 0.38.0 with API parameter fixes by akiomik in #167
    feat: upgrade to nostr-sdk 0.39.0 with separate timeline and profile subscriptions by akiomik in #168
    feat: upgrade to nostr-sdk 0.40.0 and simplify EventId::to_bech32() usage by akiomik in #169
    feat: upgrade nostr-sdk to 0.44.0 by akiomik in #170
    feat: add lib.rs by akiomik in #171
    ci: add spelling workflow by akiomik in #172
    chore: bump version to 0.1.1 by akiomik in #173
github-actions Bot pushed a commit that referenced this pull request Apr 20, 2026
Updates

    Improve start up time to near instant by moving update checker to a separate thread

Changes

    Update checker by @TheRustyPickle in #127
    Version bump by @TheRustyPickle in #128
jperkin pushed a commit that referenced this pull request May 14, 2026
1.10.0						2016/11/24

* add Readme docs for .worker_number
* Do not call kill method if thread is nil
* Adds comment to readme for trappig TERM
* make undumpable exceptions traceable

1.11.0						2017/03/11

* make version not be required twice when using via git source
* Simplify Array initialization with slight performance improvement
* Added failing tests for handling Parallel::Break in work_direct
* Handle kill and break exceptions in work_direct (closes #128 and #130)
* Replace "rescue StandardError" with "rescue ... $!"
* Added any? and all?

1.11.1						2017/03/12

* Fix typo (bracktrace => backtrace), and use attr_reader
* Added failing test to simulate stack trace added by better_errors gem
* Remove bindings stack that is added by the better_errors gem

1.11.2						2017/05/07

* syncronize worker replacement to avoid #196

1.12.0						2017/07/25

* Update to rails 4.2.8 or higher for ruby 2.4 support
* Run bundle update to fix some errors and warnings.
* Reference the Tempfile so it's not GC'd/removed too early
* use Tempfile.open for automatic cleanup
* fix #149
jperkin pushed a commit that referenced this pull request May 14, 2026
2.2.0 / 2017-12-14

* JRuby Support, thanks to @mach-kernel (#168)
* Add support to reset trained classifiers to their initial state (#143)
* Classifier evaluation and validation (#142)
* Abbility to add custom stopwords at classifier initialization (#129)
* Don't train/untrain the Bayesian classifier with empty word hashes (#132)
* Enable auto categorization if no initial categories (#128)
* Bayes integration test of Memory and Redis backends with real data (#92)
* Memory and Redis backend support (#84)

Minor Enhancements

* improved turkish stopwords (#159)
* Set Redis keys only if they don't exist (#156)
* Require bayes_redis_backend (#157)
* Validation documentation improvements (#150)
* Updated Dokcer image to Ruby 2.4 (#149)
* Classifier validation user documenation (#145)
* Fixed persistance for BayesMemoryBackend (#147)
* Fixed error on requiring 'classifier-reborn' without using Redis (#146)
* Removed magic train untrain methods from docs, (#141)
* Links corrected to point to the new domain (#139)
* Minor docs improvements (#138)
* Return the status of the training/untraining when run (#137)
* Refactoring of backend tests to move duplicate login in the common file (#134)
* Deal with Infinity score in test (#133)
* README file cleaned up to point to the documentation site (#121)
* Added and corrected RDoc for ceratin classes and methods (#122)
* Added favicon link and forced display (#120)
* Updated the truncated LICENSE file (#116)
* Docs visual improvement and refactoring (#119)
* Fixed relative URL issue on nav links and added benchmark data (#118)
* Added custom layout with navigation (#117)
* Created a static site for documentation (#115)
* Removed redis gem from Dockerfile as it is added in gemspec (#113)
* Speed up Docker image rebilding (#112)
* Improved Docker based development documentation (#106)
* Benchmark refactoring, improving efficiency, enhanced reporting (#107)
* Add Vietnamese stopwords (#110)
* Added stop words for Arabic, Bengali, Chinese, Hindi, and Russian (#105)
* Dockerfile and documentation (#104)
* Remove hard dep on Redis and update bin (#96)
* Documented Redis backend performance (#103)
* Rename Bayes memory test class (#102)
* Added Bayes backend benchmarks (#98)
* Disabled Redis disc persistence and refactored integration test (#97)
* Removed useless intermediate variables (#90)
jperkin pushed a commit that referenced this pull request May 14, 2026
Changes since b127:

Beta #129 - 10.01.2019
- Prevent doing 64-bit MULs if the scopes are inactive (rate calculation)
- WaitVBL() function for scopes and video (when no vsync) has been changed to
  include fractional precision for "next frame time" counter. Note that this
  is a minor change and does not magically remove video stuttering.

Beta #128 - 06.01.2019
- If speed (ticks per row) is set to 0, reset it to the initial value when
  pressing play.
- Clamp BPM/speed when loading modules so that the values are not illegal
- Some other minor fixes
- Code cleanup
jperkin pushed a commit that referenced this pull request May 14, 2026
Changes since 1.5.2:

    Disable EGL on macOS
    Fix build on macOS [#176, Emmanuele Bassi]
    Add macOS tests
    Fix build with uClibc [#181, Emmanuele Bassi]
    Fix GLES3 symbol lookup [Adam Jackson]
    Fix conditional compilation [#184, Zhao Zhili]
    Require Meson 0.47
    Fix Autotools build with EGL-X11 support [#188, Emmanuele Bassi]

Changes since 1.5.1:

    Fix the detection of the -z,relro linker flag
    Query the EGL context version when bootstrapping on GLES [Adam Jackson]
    Avoid inadvertedly loading libraries when probing for them [Adam Jackson]
    Issue #169: Fix build on FreeBSD [Ting-Wei Lan]
    Consistently use abort() instead of exit() for internal state checks
    Issue #171: Fix a performance regression in the global function pointer
    trampolines introduced by using -Bsymbolic-functions
    Improve performance when using GL function pointers like glAlphaFunc [Adam Jackson]

Changes since 1.5.0:

    Do no add pkg-config dependencies on gl on systems that do not use
    pkg-config, like macOS and Windows [Tom Schoonjans, #156]
    Generalise checks for dlvsym [Ross Burton, #158]
    Add an option for disabling building the test suite [Ross Burton]
    Typo fixes in the comments and documentation [luz.paz, #159]
    Simplify the Meson configuration logic for EGL and GLX [Eric
    Engestrom, #162]
    Use assert when no context is found [Adam Jackson, #166]
    Remove a test superceded by GLVND [#165]
    Avoid Meson warnings when testing for linker arguments


Changes from Epoxy 1.4.3

    Bump the Meson dependency to 0.44.1
    Include Xlib.h in the tests that use X11 API
    Update the GL registry to OpenGL 4.6
    Add gl and egl private dependencies in the pkg-config file
    Allow building Epoxy without X11 support
    Rename the Meson configuration options to be more idiomatic
    New API:
        epoxy_set_resolver_failure_handler()
        epoxy_glsl_version()
        epoxy_extension_in_string()

Issues fixed

    #128 - Fix macOS linker flags [Tom Schoonjans]
    #129 - Use GLVND if available [Adam Jackson]
    #134 - Add fallback definition for EGL_CAST [Daniel Stone]
    #133 - Try even harder to not load GLX [Adam Jackson]
    #138 - Fix the libOpenGL soname [Adam Jackson]
    #137 - Update differences with GLEW [Nigel Stewart]
    #131 - Add epoxy_set_resolver_failure_handler() [Adam Jackson]
    #140 - Fix pointer mismatch on Windows 10 [danem]
    #141 - Define visibility flags for static builds [Dylan Baker]
    #136 - Expose epoxy_extension_in_string() [Lyude Paul]
    #151 - Use correct guard for Android builds [Robert Bragg]
    #154 - Fix dlwrap for glvnd [Adam Jackson]
    #155 - Respect DLOPEN_LIBS [Michał Górny]
    #143 - Fix printf family usage [Ikey Doherty]
    #152 - Do not use OPENGL_LIB on Android
    #145 - Add epoxy_glsl_version()
jperkin pushed a commit that referenced this pull request May 14, 2026
*******************************************************************************
Version 1.8.4
*******************************************************************************

2017-11-17 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	GitHub #57 - 1.8.3 broke ABI without changing SONAME
	Opened by jcowgill

	This change in 1.8.3 broke the ABI and therefore the SONAME should have
	been changed (ie: age reset to 0):

	EXPORT_SPEC int UpnpAddVirtualDir(
	        /*! [in] The name of the new directory mapping to add. */
	-       const char *dirName);
	+       const char *dirName,
	+       /*! [in] The cookie to associated with this virtual directory */
	+       const void *cookie,
	+       /*! [out] The cookie previously associated, if mapping is already present */
	+       const void **oldcookie);

	If only the cookie argument was added, you could probably get away with
	this because all that would happen is that a garbage value is passed
	around without being used. With the addition of oldcookie, any old
	programs will not initialise this value and will probably segfault when
	libupnp tries to write to it.

*******************************************************************************
Version 1.8.3
*******************************************************************************

2017-09-07 Dave Overton <david(at)insomniavisions.com>

	Add userdata/cookie to virtualDir callbacks

	As with the main Device APIs (UpnpRegisterRootDevice etc), it is useful
	to have a userdata/cookie pointer returned with each callback.

	This patch allows one cookie per registered path which enables a variety
	of functionality in client apps.

2017-09-03 Uwe Kleine-König <uwe@kleine-koenig.org>

	Fix large file system support

	libupnp uses large file support (if available). If a program linking to
	libupnp does not however it creates mismatches in callframes. See
	Issue #51 for the results.

	This simplifies LFS support by using AC_SYS_LARGEFILE_SENSITIVE instead of
	manually defining _LARGE_FILE_SOURCE and _FILE_OFFSET_BITS (which is
	useless on architectures where the size of off_t is fixed).

	Furthermore additional logic is introduced to catch a library user without
	64 bit wide off_t on such a platform.

	upnp.h also makes use of off_t, but as this file includes FileInfo.h, the
	latter is the single right place for this check.

	This fixes #52 which is a generalized variant of #51.

2017-08-19 Uwe Kleine-König <uwe@kleine-koenig.org>

	configure.ac: Drop copying of include files

	The comment suggests this is for windows compilation. It should be easily
	possible to add the source directory as an include path to the windows
	compiler, too, so drop this. (Otherwise this should better be done using
	AC_CONFIG_COMMANDS.)

2017-09-03 Uwe Kleine-König <uwe@kleine-koenig.org>

	Let source code use autoconfig.h not the public upnpconfig.h

	The former is the one supposed to be used for internal code. upnpconfig.h is only
	for public stuff.

2017-08-19 Uwe Kleine-König <uwe@kleine-koenig.org>

	configure.ac: Fix typo s/optionnal/optional/

2017-08-08 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	Fix broken samples when configured with --disable-ipv6.

*******************************************************************************
Version 1.8.2
*******************************************************************************

2017-07-24 Michael Osipov

	Initialize in_addr and in6_addr to avoid garbage output if never written

	If any of the address families isn't available in UpnpGetIfInfo(),
	especially IPv6, always init both structs with zero to avoid garbage
	output with inet_ntop() to gIF_IPV4 and gIF_IPV6.

	See v00d00/gerbera#112 (https://github.com/v00d00/gerbera/issues/112)
	for consequences: bind for IPv6 will fail.

2013-10-28 Vladimir Fedoseev <va-dos(at)users.sourceforge.net>

	Attached patch allows to register multiple clients from single app.

2014-11-14 Philippe <philippe44ca(at)users.sourceforge.net>

	Hi - I recently compiled libupnp on C++ Builder XE7 and had to do a few
	changes to make it work. In thase this helps, I've generated a small
	patch file.

2015-04-30 Hugo Beauzée-Luyssen <chouquette(at)users.sourceforge.net>

	When building using a strict mode (-std=c++11 instead of -std=gnu++11,
	for instance), the WIN32 macro isn't defined. The attached patch fixes
	it by using _WIN32 instead.

2015-02-06 Jean-Francois Dockes <jf@dockes.org>

	Queue events on their subscription object instead of adding them to the
	thread pool immediately.

	Events destined for a non-responding control point would flood the
	thread pool and prevent correct dispatching to other clients, sometimes
	to the point of disabling the device. Events are now queued without
	allocating thread resources and properly discarded when a client is not
	accepting them.

2015-02-03 Jean-Francois Dockes <jf@dockes.org>

	genaInitNotify()/genaInitNotifyExt() and
	genaNotifyAll()/genaNotifyAllExt() are relatively complicated methods
	which only differ by the format of an input parameter. This update
	extracts the common code for easier maintenance, esp. relating to the
	queueing modifications to follow.


*******************************************************************************
Version 1.8.1
*******************************************************************************

2017-04-26 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	Fix some compiler warning messages on md5.c

2017-03-07 Fabrice Fontaine <fontaine.fabrice(at)gmail.com>

	Enable IPv6 by default

2017-03-07 Fabrice Fontaine <fontaine.fabrice(at)gmail.com>

	Move threadutil source code to libupnp

	With this patch, threadutil library is removed as the only public
	header that has been kept in 1.8.x is ithread.h which is mainly a
	wrapper to pthread with inline functions.
	threadutil source code will now be a part of libupnp library.

*******************************************************************************
Version 1.8.0
*******************************************************************************

2014-01-15 Peng <howtofly(at)gmail.com>

	Fix memory leaks.

2013-04-27 Thijs Schreijer <thijs(at)thijsschreijer.nl>

	Renamed SCRIPTSUPPORT to IXML_HAVE_SCRIPTSUPPORT for consistency. Also
	updated autoconfig and automake files, so it also works on non-windows.
	Option is enabled by default, because it adds an element to the node
	structure. Not using an available field is better than accidentally
	using an unavailable field.

2012-07-11 Thijs Schreijer <thijs(at)thijsschreijer.nl>

	Changed param to const UpnpAcceptSubscriptionExt() for consistency

2012-06-07 Thijs Schreijer <thijs(at)thijsschreijer.nl>

	updated ixmlDocument_createAttributeEx() and ixmlDocument_createAttribute()
	to use parameter DOMString instead of char * (same but now consistent)

2012-05-06 Thijs Schreijer <thijs(at)thijsschreijer.nl>

	Added script support (directive SCRIPTSUPPORT) for better support of
	garbage collected script languages. The node element gets a custom tag
	through ixmlNode_setCTag() and ixmlNode_getCTag(). And a callback upon
	releasing the node resources can be set using ixmlSetBeforeFree()
	See updated readme for usage.

2012-03-24 Fabrice Fontaine <fabrice.fontaine(at)orange.com>

	SF Bug Tracker id 3510595 - UpnpDownloadXmlDoc : can't get the file

	Submitted: Marco Virgulti ( mvirg83 ) - 2012-03-23 10:08:08 PDT

	There is a problem, perhaps, during downloading a document by
	UpnpDownloadXmlDoc. During debugging i've found that in an not exported
	api (unfortunately i forgot the code line...) where it is setted a
	local variable "int timeout" to -1 then passed directly to another
	function for sending data through tcp socket. I patched this setting it
	to 0 (there is an IF section that exits if timeout < 0). It is normal
	behavior or it is a bug?

2012-03-08 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>

	Check for NULL pointer in TemplateSource.h

	calloc can return NULL so check for NULL pointer in CLASS##_new and
	CLASS##_dup.

2012-03-08 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>

	Replace strcpy with strncpy in get_hoststr

	Replace strcpy with strncpy to avoid buffer overflow.

2012-03-08 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>

	Memory leak fix in handle_query_variable

	variable was never freed.

2011-02-07 Chandra Penke <chandrapenke(at)mcntech.com>

	Add HTTPS support using OpenSSL. HTTPS support is optional and can
	be enabled by passing the --enable-open-ssl argument to the
	configure script.

	The following methods are introduced to the public API:
	UpnpInitOpenSslContext

	When enabled, HTTPS can be used by using "https://" instead of
	"http://" when passing URLs to the HTTP Client API.

2011-02-07 Chandra Penke <chandrapenke(at)mcntech.com>

	Refactor HTTP Client API to be more generic.

	The following features are added:

	- Support for persistent HTTP connections (reusing HTTP
	  connections). Tthis is still a work in progress and relies on
	  applications to interpret the 'Connection' header
	  appropriately.

	- Support for specifying request headers when making
	  requests. Useful for interacting with web services that require
	  custom headers.

	- Support for retrieving response headers (this is a API only
	  change, some more work needs to be done to implement the actual
	  functionality. Specifically copy_msg_headers in httpreadwrite.c
	  needs to be implemented)

	- Common API for all HTTP methods.

	- Support for PUT, and DELETE methods.

	The following methods are introduced to the public HTTP Client API

	UpnpOpenHttpConnection, UpnpCloseHttpConnection, UpnpMakeHttpRequest,
	UpnpWriteHttpRequest, UpnpEndHttpRequest, UpnpGetHttpResponse,
	UpnpReadHttpResponse.

	Removed a lot of duplicate code in httpreadwrite.c

2011-01-17 Chandra Penke <chandrapenke(at)mcntech.com>

	Include upnpconfig.h in FileInfo.h to automatically include large
	file macros

2011-01-17 Chandra Penke <chandrapenke(at)mcntech.com>

	Fix for warnings Apple systems related to macros defined in list.h.

	In list.h, in apple systems, undefine the macros prior to defining them.

2011-01-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	Fix for UpnpFileInfo_get_LastModified() in http_MakeMessage().

	UpnpFileInfo_get_LastModified() returns time_t, and http_MakeMessage()
	takes a "time_t *". Thanks to Chandra Penke for pointing the bug.

2010-11-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>

	Template object for ssdp_ResultData.

2010-11-10 Fabrice Fontaine <fabrice.fontaine(at)orange-ftgroup.com>

	Support for "polling" select in sock_read_write.

	Currently, in sock_read_write function, if the timeout is 0, pupnp
	realizes a "blocking" select (with an infinite timeout). With this
	patch, if timeout is set to 0, pupnp will realize a "polling" select
	and returns immediately if it can not read or write on the socket. This
	is very useful for GENA notifications when pupnp is trying to send
	events to a disconnected Control Point. "Blocking" select can now be
	done by putting a negative timeout value.

2010-09-18 Chandra Penke <chandrapenke(at)mcntech.com>

	This is a minor build fix. The new Template*.h files added in the latest
	code need to be exported. Patch against the latest sources is attached.

2010-08-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* upnp/src/api/Discovery.c: Fix a serious bug and memory leak in
	UpnpDiscovery_strcpy_DeviceType(). Thanks to David Blanchet for the
	patch.

2010-04-25 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	Separation of the ClientSubscription object.

2010-04-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	Protect the object destructors agains null pointers on deletion, which
	should be something valid.

2010-03-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	SF Patch Tracker [ 2987390 ] upnp_debug vs. ixml_debug
	Thanks for the load of updates, I'm still assimilating them ! Could I make
	a suggestion though? The addition of printNodes(IXML_Node) to upnpdebug a
	dds a new dependency on ixml.h for anything using upnpdebug.h. I'm making
	quite a bit of use of upnpdebug in porting things to version 1.8.0, and I'd
	prefer it if printNodes could be added to ixmldebug.h instead. I'm attach
	ing a patch, what do you think ?

	Nick

2010-03-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Forward port of svn revision 505:
	SF Patch Tracker [ 2836704 ] Patch for Solaris10 compilation and usage.
	Submitted By: zephyrus ( zephyrus00jp )

2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2969188 ] 1.8.0: patch for FreeBSD compilation
	Submitted By: Nick Leverton (leveret)
	Fix the order of header inclusion for FreeBSD.

2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Forward port of svn revision 502:
	SF Patch Tracker [ 2836704 ] Search for nested serviceList (not
	stopping at the first lis
	Submitted By: zephyrus ( zephyrus00jp )

	Internet Gateway Device description contains nested serviceList (rootdevice
	-> servicelist, subdevice
	and subdevice has the lower-level serviceList, etc..)

	Unfrotunately, the sample code sample_util.c used by tv_device sample,
	etc.
	has a code that looks for only the first top-level serviceList.
	This results in the failure to read all the services of an IGD xml
	description.

	Attached patch modifies this behavior and looks for the service by
	visiting all the serviceList in xml document in turn.

	With the modified patch (ad additional modification), I could
	simulate an IGD device and created a modified control program for that.

	Patch against 1.6.6

	TIA.

2010-03-20 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2973319 ] Problem in commit 499
	Submitted By: Nick Leverton (leveret)
	Afraid that this doesn't compile, it seems retval should be retVal in two
	places.

2010-03-16 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Fix for the ithread_mutex_unlock() logic in UpnpInit().
	Thanks for Nicholas Kraft.

2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2962606 ] Autorenewal errors: invalid SID,
	too-short renewal interval
	Submitted By: Nick Leverton (leveret)

	Auto-renewals send an invalid SID due to a missing UpnpString_get_String
	call. They also send a renewal interval of 0 instead of copying it from
	the original subscription.

2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2964685 ] patch for avoiding inet_ntoa (1.8.0)
	Submitted By: Nick Leverton (leveret)

	Seems like SF's tracker won't let me add a patch to someone else's issue ?!
	This refers to https://sourceforge.net/support/tracker.php?aid=2724578

	The calls to inet_ntoa are in getlocalhostname(), which is called from
	UpnpInit when it is returning the bound IP address.
	UpnpInit/getlocalhostname hasn't been updated to IPv6, I presume this is
	deliberate so that it doesn't start returning IPv6 addresses and
	overwriting the caller's IPv4-sized allocation.

	The attached patch just updates getlocalhostname to use inet_ntop instead
	of inet_ntoa, and also documents the fact that UpnpInit is IPv4 only whilst
	UpnpInnit2 is both IPv4 and IPv6.

	A fuller solution might be to change UpnpInit to use some variant on
	UpnpGetIfInfo. UpnpInit could still be left as IPv4 only if desired -
	perhaps UpnpGetIfInfo could take an option for the desired address family.
	getlocalhostname and its own copy of the interface scanning code would then
	be redundant. I don't have IPv6 capability here though so I'm reluctant to
	change the IPv6 code, as I have no way to test it.

2010-03-15 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2724578 ] patch for avoiding memory leaks when
	add devices

	each time a device been added, UpnpInit() is called, on exit, UpnpFinish()
	is called, but the memories allocated by ThreadPoolInit() may lost because
	there's no code to call ThreadPoolShutdown() to release the memories. And
	inet_ntoa() is not thread safe, so in my patch, I substitute inet_ntoa()
	with inet_ntop().

2010-03-14 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Patch Tracker [ 2964687 ] Add new string based accessors to upnp
	object API

	As per email to pupnp-devel, this is the patch to add the _strget_
	accessors for string-like objects in the interface.

	Will add a further patch shortly to udpate the sample programs.

2008-06-27 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Nicholas Kraft's patch to fix some IPv6 copy/paste issues. He
	reported to be getting infinite loops with the svn code.

2008-06-13 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1984541 ]
	ixmlDocumenttoString does not render the namespace tag.
	Submitted By: Beliveau - belivo

	Undoing the patch that fixed this problem. In fact, there was no
	problem and the patch was wrong.

2008-06-11 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Ingo Hofmann's patch for "Content-Type in Subscription responses".
	Adds charset="utf-8" attribute to the CONTENT-TYPE header line.

	Hi,

	I have found an inconsistency regarding the text/xml content-type
	returned by libupnp. It looks like only subscription responses send
	"text/xml" where all other messages contain "text/xml; charset="utf-8"".
	Since I'm working on an DLNA device the latter behaviour is mandatory.
	I changed the according lines in gena_device.c (see attached patch).
	I'm not sure if it would be ok for other device to have the charset
	field but it would help me a lot :)

	Best regards,
	Ingo

2008-06-04 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* SF Bug Tracker [ 1984541 ]
	ixmlDocumenttoString does not render the namespace tag.
	Submitted By: Beliveau - belivo

	The problem occurs when converting a xml document using
	ixmlDocumenttoString containing a namespace tag created with
	ixmlDocument_createElementNS. The namespace tag doesn't get rendered.

	example: The following code fragment prints:

	<?xml version="1.0"?>
	<root></root>

	instead of:
	<?xml version="1.0"?>
	<root xmlns="urn:schemas-upnp-org:device-1-0"></root>

	Code:

	#include <stdlib.h>
	#include <upnp/ixml.h>

	int main()
	{
		IXML_Document* wDoc = ixmlDocument_createDocument();
		IXML_Element* wRoot = ixmlDocument_createElementNS(wDoc,
			"urn:schemas-upnp-org:device-1-0", "root");
		ixmlNode_appendChild((IXML_Node *)wDoc,(IXML_Node *)wRoot);
		DOMString wString = ixmlDocumenttoString(wDoc);
		printf(wString);
		free(wString);
		ixmlDocument_free(wDoc);

		return 0;
	}

	The problem was in the printing routine, not in the library data
	structure.

2008-05-31 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Charles Nepveu's suggestion of not allocating a thread for
	MiniServer when it is not compiled.

2008-05-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Ported Peter Hartley's patch to compile with mingw.

2008-05-24 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Added some debug capability to ixml.

2008-05-02 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Merged Charles Nepveu's IPv6 work. libupnp now is IPv6 enabled.

2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Breaking API so that we now hide internal data structures.

2008-02-06 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
	* Rewrote Peter Hartley's patch to include a new extra header field in
	FileInfo.

*******************************************************************************
Version 1.6.22
*******************************************************************************

2017-07-07 James Cowgill <james410(at)cowgill.org.uk>

	Replace MD5 impmplementation with public-domain version

	Currently the RSA MD5 implementation is used. Unfortunately the license
	has some potential issues:
	* The license does not explicitly allow distributing derivative works.
	This was the original argument used in
	[Debian #459516](https://bugs.debian.org/459516).
	* The license contains an advertising clause similar to the BSD 4-clause
	license. This is incompatible with the GPL and if it were enforced,
	would require RSA to be mentioned by pretty much everyone who uses pupnp.

	The simple solution is to replace it with a public domain
	implementation. I've taken OpenBSDs implementation and tweaked it
	slightly for use by pupnp by:
	- Adjusting the includes.
	- Removing the __bounded__ attributes which are specific to OpenBSD.
	- Using the standard integer types from stdint.h.
	- Using memset instead of explicit_bzero.

2016-12-16 Peter Pramberger <peterpramb(at)users.sf.net>

	ixml/test/test_document.c is missing the string.h include, therefore
	the compiler complains about an implicit declaration.

*******************************************************************************
Version 1.6.21
*******************************************************************************

2016-12-16 Gabriel Burca <gburca(at)github>

	If the error or info log files can not be created, use stderr and
	stdout instead.

2016-12-08 Uwe Kleine-König <uwe(at)kleine-koenig.org>

	Fix out-of-bound access in create_url_list() (CVE-2016-8863)

	If there is an invalid URL in URLS->buf after a valid one, uri_parse is
	called with out pointing after the allocated memory. As uri_parse writes
	to *out before returning an error the loop in create_url_list must be
	stopped early to prevent an out-of-bound access

	Bug: https://sourceforge.net/p/pupnp/bugs/133/
	Bug-CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8863
	Bug-Debian: https://bugs.debian.org/842093
	Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=1388771

2016-11-30 Uwe Kleine-König <uwe(at)kleine-koenig.org>

	miniserver: fix binding to ipv6 link-local addresses

	Linux requires to have sin6_scope_id hold the interface id when binding to
	link-local addresses. This is already in use in other parts of upnp, so
	portability shouldn't be in the way here. Without this bind(2) fails with
	errno=EINVAL (although ipv6(7) from manpages 4.08 specifies ENODEV in this
	case).

	Fixes: https://bugs.debian.org/813249

2016-09-15 Mathew Garret <(at)mjg59 (twitter)>

	SF Bug Tracker #132 CVE-2016-6255: write files via POST

	Submitted by: Balint Reczey in 2016-08-02

	From Debian's BTS https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831857 :
	From: Salvatore Bonaccorso carnil@debian.org
	To: Debian Bug Tracking System submit@bugs.debian.org
	Subject: libupnp: write files via POST
	Date: Wed, 20 Jul 2016 11:03:34 +0200
	Source: libupnp
	Version: 1:1.6.17-1
	Severity: grave
	Tags: security upstream
	Justification: user security hole
	Hi
	See http://www.openwall.com/lists/oss-security/2016/07/18/13 and
	https://twitter.com/mjg59/status/755062278513319936 .
	Proposed fix:
	mjg59/pupnp-code@be0a01b
	Regards,
	Salvatore

	From Mathew Garret's commit: Don't allow unhandled POSTs to write to the filesystem by default

*******************************************************************************
Version 1.6.20
*******************************************************************************

2016-02-22 Jean-Francois Dockes <medoc(at)users.sf.net>

	SF Bugs #131, Creator: Jean-Francois Dockes

	I know it sounds crazy that nobody ever saw this, but the CONTENT-LENGTH
	value in GENA NOTIFY messages is too small by one.

	It appears that most current control points don't notice the extra
	character (an LF, which is validly there but not included in
	Content-Length), probably because their protocol handler is reasonably
	lenient, and because the missing body LF does not prevent parsing the
	XML. But there is a least one anal CP (Linn Kazoo) which barfs, because
	it reads all data until connection close and the size mismatch triggers
	a bug.

	"Proof":
	In gena_device.c:217 (notify_send_and_recv())

	ret_code = http_SendMessage(&info, &timeout,
	    "bbb",
	    start_msg.buf, start_msg.length,
	    propertySet, strlen(propertySet),
	    CRLF, strlen(CRLF));

	start_msg has all the headers, including the empty line.
	Content-length should be strlen(propertySet) + strlen(CRLF) (2)
	In gena_device.c:433 (AllocGenaHeaders())

	rc = snprintf(headers, headers_size, "%s%s%"PRIzu"%s%s%s",
	    HEADER_LINE_1,
	    HEADER_LINE_2A,
	    strlen(propertySet) + 1,
	    HEADER_LINE_2B,
	    HEADER_LINE_3,
	    HEADER_LINE_4);

	HEADER_LINE_2A is "CONTENT-LENGTH: ".
	The following value should be strlen(propertySet) + 2

2016-01-07 Marcelo Roberto Jimenez <mroberto(at)users.sourceforge.net>

	Fix for a reported integer overflow

2016-01-07 Jean-Francois Dockes <medoc(at)users.sf.net>
2016-01-07 Nick Leverton <nick(at)leverton.org>
	SF Patches #60, Creator: Jean-Francois Dockes

	When libupnp is configured with --enable-ipv6 but ipv6 is not available
	on the system (for example because the ipv6 code is not loaded in a Linux
	kernel as is the case by default on Raspbian), the ipv6 socket creation
	call will fail in miniserver.c and the library init will fail, even if
	the ipv4 initialisation would have succeeded.

	Let a library configured with --enable-ipv6 initialize in ipv4-only
	mode if ipv6 is not available instead of failing. This can happen
	if no ipv6 code is configured or loaded in the kernel.

	Don't fail if IPv6 is unavailable.
	We might be an IPv6 enabled distro build running on an IPv4-only custom kernel.

2016-01-07 Nick Leverton <nick(at)leverton.org>

	SF Bug Tracker #128, Creator: Nick Leverton
	redefining strndup causes "error: expected identifier or '(' before '__extension__'"

	Fix redefinition of strnlen and strndup
	These are available when HAVE_STRNDUP and HAVE_STRNLEN are defined, but
	libupnp provides an extern prototype anyway.  Recent versions of glibc
	define this prototype differently, causing the following compile error:

	src/api/UpnpString.c:47:15: error: expected identifier or '(' before  '__extension__'
		extern char *strndup(__const char *__string, size_t __n);

2016-01-07 Nick Leverton <nick(at)leverton.org>

	SF Bug Tracker #129, Creator: Nick Leverton
	shutdown() on UDP sockets logs ENOTCONN message.
	https://sourceforge.net/p/pupnp/bugs/129/

	Fix ENOTCONN "Error in shutdown: Transport endpoint is not connected"

	When logging is enabled, ssdpserver logs bursts of
	"Error in shutdown: Transport endpoint is not connected"
	This is because shutdown() is not supported for UDP sockets and under
	recent UNIX specifications it returns ENOTCONN if used.

2016-01-07 Nick Leverton <nick(at)leverton.org>

	SF Bug Tracker #127, Creator: Klaus Fischer
	Miniserver uses INADDR_ANY instead of HostIP
	https://sourceforge.net/p/pupnp/bugs/127/

	The internal miniserver.c uses INADDR_ANY instead of the HostIP/IfName
	provided when initializing libupnp. But, this HostIP/IfName gets used
	for the UDP socket when multicasting SSDP messages.  Because of this,
	miniserver may end up sending from different IP address than ssdpserver.
	This patch causes miniserver to use the already known interface address.

2016-01-07 Marcelo Roberto Jimenez <mroberto(at)users.sourceforge.net>

	SF Bug Tracker #130, Creator: Shaddy Baddah
	infinite loop in UpnpGetIfInfo() under WIN32

	Original code makes no sense. This patch should fix it.

2015-02-04 Shaun Marko <semarko@users.sf.net>

	Bug tracker #124 Build fails with --enable-debug

	Build environment
	Fedora 21
	X86-64
	* gcc 4.9.2

	How to repeat
	$ ./configure --enable debug
	$ make
	libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../upnp/inc -I./inc -I../threadutil/inc
	-I../ixml/inc -I./src/inc -pthread -g -O2 -Wall -MT src/api/libupnp_la-UpnpString.lo
	-MD -MP -MF src/api/.deps/libupnp_la-UpnpString.Tpo -c src/api/UpnpString.c
	-fPIC -DPIC -o src/api .libs/libupnp_la-UpnpString.o src/api/UpnpString.c:47:16:
	error: expected identifier or '(' before 'extension'
	extern char *strndup(const char *string, size_t __n);
	^
	Makefile:1016: recipe for target 'src/api/libupnp_la-UpnpString.lo' failed

	Reason for failure
	Build enables -O2 optimization flags which causes the inclusion of a
	macro implementation of strndup from include/bits/string2.h.

	Workarounds
	Disable optimization when configuring or making:
	$ configure CFLAGS='-g -pthread -O0' --enable-debug
	$ make
	or
	$ configure --enable-debug
	$ make CFLAGS='-g -pthread -O0' Define NO_STRING_INLINES
	$ export CFLAGS="-DNO_STRING_INLINES -O2"
	$ ./configure --enagble-debug
	$ make

	Fix
	* Don't declare strndup in src/api/UpnpString.c if it exists

2015-02-01 Jean-Francois Dockes <medoc@users.sf.net>

	Out-of-tree builds seem to be currently broken, because ixml and
	threadutil files need an include path to include UpnpGlobal.h, and
	configure tries to copy files into a directory which it does not create.
	The patch fixes both issues.

2014-01-03 Peng <howtofly(at)gmail.com>

	rewrite soap_device.c

	1) separate HTTP handling from SOAP handling
	2) remove repeated validity check, each check is performed exactly once
	3) fix HTTP status code per UPnP spec, SOAP spec and RFC 2774
jperkin pushed a commit that referenced this pull request May 14, 2026
libcec (4.0.4.1~#DIST#) #DIST#; urgency=medium

  * fixed: only prevent TV polls when a Samsung TV is detected instead of
    suppressing all logical addresses. issue #424 #444

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 21 Dec 2018 22:34:14 +0100

libcec (4.0.3.1~#DIST#) #DIST#; urgency=medium

  * fixed:
    * detect debian based distros properly when installing python. closes #314
    * don't filter out broadcast in HandleDeviceVendorCommandWithId(). issue
      #309
    * send an active source message when a routing change has been received with
      libCEC's address as new route and no active source message has been sent
      yet. issue #309 #205 #233
    * vs2015 c++ redistributables
    * fix missing tinfo linking in cec-client. #341
    * set wrong variable. #343 #352
    * LG - don't activate the source when receiving vendor command 0xB. #344
    * LG TV always changing input when turned on #307
    * Fix menu language string. #360
    * correct python lib path for python 2.7+/3+. #356
    * Fix build if tinfo library is not present. #398
    * disable autonomous mode when a Samsung TV is connected. Samsung 2017+ TVs
      will power on randomly (Samsung bug). don't poll the TV. #424
    * CRPiCECAdapterMessageQueue::Write() accessed the queue without locking.
      #423
    * use sig_atomic_t for shared object between sig handler and main. #425
    * python 3.5+ import. #356
    * TDA995x: Fix logical address readback. #303
    * TDA995x: Handle physical address change, optimize logical address setup.
      #303
    * Pulse-Eight USB CEC adapter detection on macOS Mojave. #434
    * Fix broken Python version check and failure to build on cmake < 3.7. #409
    * 13 char device name got truncated

  * changed:
    * log a warning when we detect that RPi's CEC service is used by something
      else, blocking libCEC. issue #191
    * const IAdapterCommunication::GetLogicalAddresses(), making the mutex
      mutable for now without changing the platform lib. closes #259
    * Add a Reinitialze action.  Useful for after the device has been powered
      down. #299
    * Panasonic media control info to the readme
    * detect WIN64 in cmake automatically. #322
    * README.developers.md. #330
    * instructions for hdmi_force_hotplug=1 on the pi
    * eventghost plugin install/create. #375
    * Include C version of libCEC loader when installing. #397
    * Explicitly use python3 in pyCecClient. #433
    * build with vs 2015

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Thu, 8 Nov 2018 18:05:36 +0100

libcec (4.0.2.1~#DIST#) #DIST#; urgency=medium

  * fixed:
    * windows: device detection. credits: @Portisch
    * don't automatically assume that an AVR is active in some situations
    * don't take Panasonic's vendor id when emulating an AVR
    * drm EDID parser not compiled in. credits @gdachs
    * python: have Swig generate Python threading support
    * python: only pass unsigned
    * python: allow empty callback parameters
    * python: install demo app as executable
    * python: correct install path. credits @Lo0k @mkreisl. #284 #288 #289 #291
    * python: possible crash when passing an invalid callback

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Mon, 23 Jan 2017 16:28:00 +0100

libcec (4.0.1.1~#DIST#) #DIST#; urgency=medium

  * fixed:
    * TransmitVolumeDown to use CEC_USER_CONTROL_CODE_VOLUME_DOWN. credits:
      @michaelarnauts
    * HAVE_AOCEC_API missing in if in AdapterFactory. credits: @gdachs
    * env.h had 'ON' instead of '1' for some values

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 3 Jan 2017 19:12:00 +0100

libcec (4.0.0.3~#DIST#) #DIST#; urgency=medium

  * fixed:
    * headers weren't installed after package name changes

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 14 Nov 2016 10:15:00 +0100

libcec (4.0.0.2~#DIST#) #DIST#; urgency=medium

  * changed:
    * updated readme files
    * renamed 'libcec-dev' to 'libcec4-dev'

  * fixed:
    * removed debian Replaces/Provides/Conflicts
    * crash in drm edid code. credits: @zivillian
    * compilation with -DHAVE_AOCEC_API=1

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 7 Nov 2016 22:43:00 +0100

libcec (4.0.0.1~#DIST#) #DIST#; urgency=medium

  * API cleaned up for v4
  * changed:
    * signature for GetDeviceMenuLanguage() changed
    * signature for GetDeviceOSDName() changed
    * signature for libcec_get_device_menu_language() changed
    * signature for get_device_osd_name() changed
    * cec_datapacket size reduced to 16 bytes
    * callbacks changed to pass pointers instead of copies
    * obsolete entries removed from libcec_configuration
    * removed deprecated FindAdapters() and MuteAudio()
    * send volume change commands to the TV if no audio system is present. Only
      some TVs support this. closes #223

  * added:
    * bAutoWakeAVR entry in libcec_configuration, which controls whether to
      automatically power on the avr or not when the source is activated. issue
      #156
    * iDoubleTapTimeoutMs replacing iDoubleTapTimeout50Ms. time is now in
      milliseconds
    * new AO CEC adapter. credits: @gdachs

  * fixed:
    * compilation with full debugging enabled
    * handling of LG vendor command 0x0B. Issue #256. Credits @Vollstrecker
    * return value wasn't checked correctly in CLibCEC::RegisterClient()
    * Raspberry Pi fixes for issues #252 and #191

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Tue, 26 Oct 2016 18:08:00 +0100

libcec (3.2.0.1~#DIST#) #DIST#; urgency=medium

  * Slit up repositories for libCEC and .Net utilities.

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Wed, 19 Oct 2016 16:57:00 +0100

libcec (3.1.0.1~#DIST#) #DIST#; urgency=medium

  * changed / added:
    * bump platform lib (windows)
    * use a template that can be used by scripts for the changelog
    * make released key polling wait for exact time until key gets released.
      credits @popcornmix
    * keep track of time since initial button press and last button update
      credits @popcornmix
    * support repeating button presses with configurable repeat rate. credits
      @popcornmix
    * pass through duration on all button repeats. credits @popcornmix
    * updated README.md
    * moved the buffer in CDRMEdidParser::GetPhysicalAddress() from the stack
      to heap
    * added #include to make the IDE happy. not actually used when compiling
    * clean up device detection code a bit and replace winapi calls with
      CM_* calls. issue #130
    * replaced lockdev by flock. closes #141
    * use a single number as major SO version like others. credits @rbalint
    * Sharp uses vendor id 0x534850 too. issue #36
    * use p8-platform instead of platform
    * detect dirty trees
    * support for vs2015 to build scripts
    * update build scripts for vs2015 and win10uni

  * fixed:
    * missing version.h when installing on windows
    * skip double press removal. It is handled through other means. credits
      @popcornmix
    * don't generate an invalid env.h when not built with the .git dir present.
      closes #112
    * fix multi-arch libdir locations. credits @wsnipex
    * fix for holding buttons on remotes of Philips TVs. credits @mrgreywater
    * initialisation issue found on Raspberry Pi with Buildroot. credits
      @elouet
    * crash on systems without /sys/class/drm. credits @rbalint
    * segfault when an empty EDID blob is passed to
      GetPhysicalAddressFromEDID()
    * combo key (stop by default) in the EventGhost plugin. fixes #128
    * silence compiler warnings
    * git-rev.sh script
    * clean/fix platform detection
    * display a nice error message if LibCecSharp failed to load
    * limit the log in cectray to 100k
    * open cec-tray minimised if configured. don't open and minimise. issue
      #158
    * cosmetics: persist -> save
    * query commands in eventghost. fixes #160
    * eventghost demo config
    * don't call PowerOnDevices() if no devices to wake have been configured.
      issue #97
    * Don't skip checking for Rasperry Pi library (Fixes #166). credits
      @kingosticks
    * TDA99x check
    * disable DRM for FreeBSD

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Wed, 20 Jan 2016 00:37:32 +0100

libcec (3.0.1-1~#DIST#) #DIST#; urgency=low

  * changed / added:
    * autodetect physical ID from DRM. credits @PoppyPop
    * cmake command line options for raspberry pi distributions that don't use
      standard system paths for libs for some reason
    * convenience methods for compilation on the raspberry pi with non-standard
      system directories and cross compilation
    * explanation in README.md for Exynos and TDA995x
    * don't treat failed acks from the tv as error when sending an active
      source message
    * compilation info when building libCEC
    * build shared libraries by default
    * cec-client: 'tx' command parsing

  * fixed:
    * return code of CCECClient callbacks after async changed. credits: @mk01
    * polling addresses on RPi. credits: @mk01
    * interruptable Sleep() in RPiCECAdapterMessageQueue
    * Exynos support. credits: @YamashitaRen
    * XCASE got removed from posix termios in some recent version
    * don't return an abort code if sending a response code fails

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 03 Jul 2015 15:19:00 +0200

libcec (3.0.0-2) unstable; urgency=low

  * fixed:
    * build fixes on non-linux

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 01 May 2015 01:41:00 +0200

libcec (3.0.0-1) unstable; urgency=low

  * changed / added:
    * initial version of an EventGhost plugin
    * Python API added through Swig, based on the C++ API
    * switched from autotools to cmake
    * added curses support. credits @joao29a
    * added cecc-client (testclient for the C api)
    * added runtime libCEC loading for C
    * updated the C interface to include new features and no longer use a
      global library instance
    * some AVRs fail to be powered up by the TV when it powers up. power up the
      AVR explicitly
    * added support for CEC_DEVICE_TYPE_TV (useful for testing)
    * compile with c++11
    * removed CStdString
    * drop 'using namespace std'
    * autogenerated version numbers, drop some backwards compat code
    * LibCecSharp: added PhysicalAddressToString()
    * CecSharpClient: better formatting of the scan command

  * fixed:
    * Debian packaging cleaned up. Credits @PimentNoir
    * fixed Raspberry Pi compilation. Credits @NHellFire
    * ignore vendor command with id from pioneer AVRs. bugzid: 3853
    * update the vendor id of a device when receiving a vendor command with id
      before receiving a vendor id
    * XBMC->Kodi rebranding
    * don't delete m_client when m_cec hasn't been deleted yet in
      CLibCEC::~CLibCEC(). issue #63
    * change device types in CCECProcessor::Process(), not directly. issue #63
    * use shared_ptr<CPVRClient> instead of passing raw pointers around that
      can be unregistered from another thread and crash
    * check if the port or device actually changed in CCECClient::SetHDMIPort()
    * potential buffer overflow
    * fixed setting the physical address at startup when using default settings
    * don't call callbacks directly in libCEC, but queue them and process from
      a worker thread
    * libCEC Tray: crash when retrying to find adapters
    * libCEC Tray: don't show the "no device found" warning when resuming
      from standby
    * libCEC Tray: reconnect to the adapter after resuming from standby
    * libCEC Tray: send key presses to the active window when none of the
      predefined (wmc/kodi) ones are active
    * libCEC Tray: fixed key combinations with the windows key

 -- Pulse-Eight Packaging <packaging@pulse-eight.com>  Fri, 03 Apr 2015 21:13:00 +0200
jperkin pushed a commit that referenced this pull request May 14, 2026
SoftHSM2 is not a drop-in replacement for SoftHSM version 1, so this
is added as a separate package.  See softhsm2-migrate(1) for
migration instructions.

Upstream changes since SoftHSM version 1.x:

SoftHSM 2.5.0 - 2018-09-24

* Issue #323: Support for EDDSA with vendor defined mechanisms.
  (Patch from Francis Dupont)
* Issue #362: CMake Build System Support for SoftHSM.
  (Patch from Constantine Grantcharov)
* Issue #368: Support migrating 32-bit SoftHSMv1 DB on 64-bit system (LP64).
* Issue #385: Default is not to build EDDSA since it has not been released in
  OpenSSL.
* Issue #387: Windows: Add VS2017 detection to Configure.py.
  (Patch from Jaroslav Imrich)
* Issue #412: Replace PKCS11 headers with a version from p11-kit.
  (Patch from Alexander Bokovoy)

Bugfixes:
* Issue #366: Support cross-compilation.
  (Patch from Michael Weiser)
* Issue #377: Duplicate symbol error with custom p11test.
* Issue #386: Use RDRAND in OpenSSL if that engine is available.
* Issue #388: Update DBTests.cpp to fix x86 test failure.
  (Patch from tcely)
* Issue #393: Not setting CKA_PUBLIC_KEY_INFO correctly.
  (Patch from pkalapat)
* Issue #401: Wrong key and keyserver mentioned in installation documentation.
  (Patch from Berry A.W. van Halderen)
* Issue #408: Remove mutex callbacks after C_Finalize().
  (Patch from Alexander Bokovoy)


SoftHSM 2.4.0 - 2018-02-27

* Issue #135: Support PKCS#8 for GOST.
* Issue #140: Support for CKA_ALLOWED_MECHANISMS.
  (Patch from Brad Hess)
* Issue #141: Support CKA_ALWAYS_AUTHENTICATE for private key objects.
* Issue #220: Support for CKM_DES3_CMAC and CKM_AES_CMAC.
* Issue #226: Configuration option for Windows build to enable build with
  static CRT (/MT).
* Issue #325: Support for CKM_AES_GCM.
* Issue #334: Document that initialized tokens will be reassigned to another
  slot (based on the token serial number).
* Issue #335: Support for CKM_RSA_PKCS_PSS.
  (Patch from Nikos Mavrogiannopoulos)
* Issue #341: Import AES keys with softhsm2-util.
  (Patch from Pavel Cherezov)
* Issue #348: Document that OSX needs pkg-config to detect cppunit.
* Issue #349: softhsm2-util will check the configuration and report any
  issues before loading the PKCS#11 library.

Bugfixes:
* Issue #345: Private objects are presented to security officer in search
  results.
* Issue #358: Race condition when multiple applications are creating and
  reading object files.


SoftHSM 2.3.0 - 2017-07-03

* Issue #130: Upgraded to PKCS#11 v2.40.
  * Minor changes to some return values.
  * Added CKA_DESTROYABLE to all objects. Used by C_DestroyObject().
  * Added CKA_PUBLIC_KEY_INFO to certificates, private, and public key
    objects. Will be accepted from application, but SoftHSM will
    currently not calculate it.
* Issue #142: Support for CKM_AES_CTR.
* Issue #155: Add unit tests for SessionManager.
* Issue #189: C_DigestKey returns CKR_KEY_INDIGESTIBLE when key
  attribute CKA_EXTRACTABLE = false. Whitelist SHA algorithms to allow
  C_DigestKey in this case.
* Issue #225: Show slot id after initialization.
* Issue #247: Run AppVeyor (Windows CI) for each PR and merge.
* Issue #257: Set CKA_DECRYPT/CKA_ENCRYPT flags on key import to true.
  (Patch from Martin Domke)
* Issue #261: Add support for libeaycompat lib for FIPS on Windows.
  (Patch from Matt Hauck)
* Issue #262: Support importing ECDSA P-521 in softhsm-util.
* Issue #276: Support for Botan 2.0.
* Issue #279: Editorial changes from Mountain Lion to Sierra.
  (Patch from Mike Neumann)
* Issue #283: More detailed error messages when initializing SoftHSM.
* Issue #285: Support for LibreSSL.
  (Patch from Alon Bar-Lev)
* Issue #286: Update .gitignore.
  (Patch from Alon Bar-Lev)
* Issue #291: Change to enable builds and reports on new Jenkinks
  environment.
* Issue #293: Detect cppunit in autoconf.
  (Patch from Alon Bar-Lev)
* Issue #309: CKO_CERTIFICATE and CKO_PUBLIC_KEY now defaults to
  CKA_PRIVATE=false.
* Issue #314: Update README with information about logging.
* Issue #330: Adjust log levels for failing to enumerate object store.
  (Patch from Nikos Mavrogiannopoulos)

Bugfixes:
* Issue #216: Better handling of CRYPTO_set_locking_callback() for OpenSSL.
* Issue #265: Fix deriving shared secret with ECC.
* Issue #280: HMAC with sizes less than L bytes is strongly discouraged.
  Set a lower bound equal to L bytes in ulMinKeySize and check it when
  initializing the operation.
* Issue #281: Fix test of p11 shared library.
  (Patch from Lars Silvén)
* Issue #289: Minor fix of 'EVP_CipherFinal_ex'.
  (Patch from Viktor Tarasov)
* Issue #297: Fix build with cppunit.
  (Patch from Ludovic Rousseau)
* Issue #302: Export PKCS#11 symbols from the library.
  (Patch from Ludovic Rousseau)
* Issue #305: Zero pad key to fit the block in CKM_AES_KEY_WRAP.
* Issue #313: Detecting CppUnit when using Macports.
  (Patch from mouse07410)


SoftHSM 2.2.0 - 2016-12-05

* Issue #143: Delete a token using softhsm2-util.
* Issue #185: Change access mode bits for /var/lib/softhsm/tokens/
  to 1777. All users can now create tokens, but only access their own.
  (Patch from Rick van Rein)
* Issue #186: Reinitializing a token will now keep the token, but all
  token objects are deleted, the user PIN is removed and the token
  label is updated.
* Issue #190: Support for OpenSSL 1.1.0.
* Issue #198: Calling C_GetSlotList with NULL_PTR will make sure that
  there is always a slot with an uninitialized token available.
* Issue #199: The token serial number will be used when setting the slot
  number. The serial number is set after the token has been initialized.
  (Patch from Lars Silvén)
* Issue #203: Update the command utils to use the token label or serial
  to find the token and its slot number.
* Issue #209: Possibility to test other PKCS#11 implementations with the
  CppUnit test.
  (Patch from Lars Silvén)
* Issue #223: Mark public key as non private by default.
  (Patch from Nikos Mavrogiannopoulos)
* Issue #230: Install p11-kit module, to disable use --disable-p11-kit.
  (Patch from David Woodhouse)
* Issue #237: Add windows continuous integration build.
  (Patch from Peter Polacko)

Bugfixes:
* Issue #201: Missing new source file and test configuration in the
  Windows build project.
* Issue #205: ECDSA P-521 support for OpenSSL and better test coverage.
* Issue #207: Fix segmentation faults in loadLibrary function.
  (Patch from Jaroslav Imrich)
* Issue #215: Update the Homebrew install notes for OSX.
* Issue #218: Fix build warnings.
* Issue #235: Add the libtool install command for OSX.
  (Patch from Mark Wylde)
* Issue #236: Use GetEnvironmentVariable instead of getenv on Windows.
  (Patch from Jaroslav Imrich)
* Issue #239: Crash on module unload with OpenSSL.
  (Patch from David Woodhouse)
* Issue #241: Added EXTRALIBS to Windows utils project.
  (Patch from Peter Polacko)
* Issue #250: C++11 not detected.
* Issue #255: API changes in Botan 1.11.27.
* Issue #260: Fix include guard to check WITH_FIPS.
  (Patch from Matt Hauck)
* Issue #268: p11test fails on 32-bit systems.
* Issue #270: Build warning about "converting a string constant".
* Issue #272: Fix C++11 check to look for unique_ptr.
  (Patch from Matt Hauck)


SoftHSM 2.1.0 - 2016-03-14

* Issue #136: Improved guide and build scripts for Windows.
  (Thanks to Jaroslav Imrich)
* Issue #144: The password prompt in softhsm2-util can now be
  interrupted (ctrl-c).
* Issue #166: Add slots.removable config option.
  (Patch from Sumit Bose)
* Issue #180: Windows configure script improvements.
  (Patch from Arnaud Grandville)

Bugfixes:
* Issue #128: Prioritize the return values in C_GetAttributeValue.
  (Patch from Nicholas Wilson)
* Issue #129: Fix errors reported by Visual Studio 2015.
  (Patch from Jaroslav Imrich)
* Issue #132: Handle the CKA_CHECK_VALUE correctly for certificates
  and symmetric key objects.
* Issue #154: Fix the Windows build and destruction order of objects.
  (Patch from Arnaud Grandville)
* Issue #162: Not possible to create certificate objects containing
  CKA_CERTIFICATE_CATEGORY, CKA_NAME_HASH_ALGORITHM, or
  CKA_JAVA_MIDP_SECURITY_DOMAIN.
* Issue #163: Do not attempt decryption of empty byte strings.
  (Patch from Michal Kepien)
* Issue #165: Minor changes after a PVS-Studio code analysis, and
  C_EncryptUpdate crash if no ciphered data is produced.
  (Patch from Arnaud Grandville)
* Issue #169: One-byte buffer overflow in call to EVP_DecryptUpdate.
* Issue #171: Problem while closing library that is initialized but
  improperly finalized.
* Issue #173: Adjust return values for the template parsing.
* Issue #174: C_DeriveKey() error with leading zero bytes.
* Issue #177: CKA_NEVER_EXTRACTABLE set to CK_FALSE on objects
  created with C_CreateObject.
* Issue #182: Resolve compiler warning.
  (Patch from Josh Datko)
* Issue #184: Stop discarding the global OpenSSL libcrypto state.
  (Patch from Michal Trojnara)
* SOFTHSM-123: Fix library cleanup on BSD.


SoftHSM 2.0.0 - 2015-07-17

* SOFTHSM-121: Test cases for C_DecryptUpdate/C_DecryptFinal.
* Support C_DecryptUpdate/C_DecryptFinal for symmetric algorithms.
  (Patch from Thomas Calderon)

Bugfixes:
* SOFTHSM-120: Segfault after renaming variables.


SoftHSM 2.0.0b3 - 2015-04-17

* SOFTHSM-113: Support for Botan 1.11.15
* SOFTHSM-119: softhsm2-util: Support ECDSA key import
  (Patch from Magnus Ahltorp)
* SUPPORT-139: Support deriving generic secrets, DES, DES2, DES3, and AES.
  Using DH, ECDH or symmetric encryption.

Bugfixes:
* SOFTHSM-108: A marked as trusted certificate cannot be imported.
* SOFTHSM-109: Unused parameter and variable warnings.
* SOFTHSM-110: subdir-objects warnings from autoreconf.
* SOFTHSM-111: Include FIPS-NOTES.md in dist.
* SOFTHSM-112: CKM_AES_KEY_WRAP* conflict in pkcs11.h.
* SOFTHSM-114: Fix memory leak in a test script.
* SOFTHSM-115: Fix static analysis warnings.
* SUPPORT-154: A marked as non-modifiable object cannot be generated.
* SUPPORT-155: auto_ptr is deprecated in C++11, use unique_ptr.
* SUPPORT-157: Derived secrets were truncated after encryption and
  could thus not be decrypted.
* Mutex should call MutexFactory wrapper functions.
  (Patch from Jerry Lundstrom)
* Return detailed error message to loadLibrary().
  (Patch from Petr Spacek)


SoftHSM 2.0.0b2 - 2014-12-28

* SOFTHSM-50: OpenSSL FIPS support.
* SOFTHSM-64: Updated build script for Windows.
* SOFTHSM-100: Use --free with softhsm2-util to initialize the first
  free token.
* SOFTHSM-103: Allow runtime configuration of log level.
* SOFTHSM-107: Support for CKM_<symcipher>_CBC_PAD.
* Add support for CKM_RSA_PKCS_OAEP key un/wrapping.
  (Patch from Petr Spacek)
* Use OpenSSL EVP interface for AES key wrapping.
  (Patch from Petr Spacek)
* Allow reading configuration file from user's home directory.
  (Patch from Nikos Mavrogiannopoulos)

Bugfixes:
* SOFTHSM-102: C_DeriveKey() uses OBJECT_OP_GENERATE.
* Coverity found a number of issues.


SoftHSM 2.0.0b1 - 2014-09-10

* SOFTHSM-84: Check that all mandatory attributes are given during
  the creation process.
* SOFTHSM-92: Enable -fvisibility=hidden on per default
* SUPPORT-137: Implement C_EncryptUpdate and C_EncryptFinal
  (Patch from Martin Paljak)
* Add support for CKM_RSA_PKCS key un/wrapping
  (Patch from Petr Spacek)

Bugfixes:
* SOFTHSM-66: Attribute handling when using multiple threads
* SOFTHSM-93: Invalid C++ object recycling.
* SOFTHSM-95: umask affecting the calling application.
* SOFTHSM-97: Check if Botan has already been initialized.
* SOFTHSM-98: Handle mandatory attributes for DSA, DH, and ECDSA
  correctly.
* SOFTHSM-99: Binary encoding of GOST values.
* SUPPORT-136: softhsm2-keyconv creates files with sensitive material
  in insecure way.


SoftHSM 2.0.0a2 - 2014-03-25

* SOFTHSM-68: Display a better configure message when there is a
  version of Botan with a broken ECC/GOST/OID implementation.
* SOFTHSM-70: Improved handling of the database backend.
* SOFTHSM-71: Supporting Botan 1.11.
* SOFTHSM-76: Do not generate RSA keys smaller than 1024 bit when
  using the Botan crypto backend.
* SOFTHSM-83: Support CKA_VALUE_BITS for CKK_DH private key object.
* SOFTHSM-85: Rename libsofthsm.so to libsofthsm2.so and prefix the
  command line utilties with softhsm2-.
* SOFTHSM-89: Use constants and not strings for signaling algorithms.
* SUPPORT-129: Possible to use an empty template in C_GenerateKey.
  The class and key type are inherited from the generation mechanism.
  Some mechanisms do however require a length attribute. [SOFTHSM-88]
* SUPPORT-131: Support RSA-PSS using SHA1, SHA224, SHA256, SHA384,
  or SHA512. [SOFTHSM-87]

Bugfixes:
* SOFTHSM-39: Fix 64 bit build on sparc sun4v.
* SOFTHSM-69: GOST did not work when you disabled ECC.
* SOFTHSM-78: Correct the attribute checks for a number of objects.
* SOFTHSM-80: Prevent segfault in OpenSSL GOST HMAC code.
* SOFTHSM-91: Fix a warning from static code analysis.
* Fixed a number of memory leaks.


SoftHSM 2.0.0a1 - 2014-02-10

This is the first alpha release of SoftHSMv2. It focuses on a higher
level of security by encrypting sensitive information and using
unswappable memory. There is also a more generalized crypto backend,
where you can use Botan or OpenSSL.
jperkin pushed a commit that referenced this pull request May 14, 2026
Upstream changes (from NEWS):

v1.8.6

* python: Fix broken python interface problem(#128), reported by @fd00.

* build: Introduce VPATH build support(#56), suggested by @tkelman.
jperkin pushed a commit that referenced this pull request May 14, 2026
Vala 0.48.0
===========
 * Various improvements and bug fixes:
  - vala:
    + Fix circular reference in Property/EnumValueType
    + Report an internal error for unavailable context and bail
    + Prevent possible stack-overflow in Class.is_subtype_of()
  - Add missing CodeContext.pop() calls
  - codegen: Add more "low-level" includes of "glib.h"
  - girparser: Decrease return_array_length_idx for transformed function
  - girparser: Delay adding of "GLib.Object" prerequisite to interfaces
  - manual: Update from wiki.gnome.org

 * Bindings:
  - vapi: Update GIR-based bindings

 * Contributors:
   Alberto Fanjul, Arnaud Bonatti, Corentin Noël, Evan Nemerson, Florian Brosch,
   Jeremy Philippe, Michael Gratton, Ole André Vadla Ravnås, Princeton Ferro,
   Rico Tzschichholz, Simon Werbeck

Vala 0.47.92
============
 * Various improvements and bug fixes:
  - Add support for sealed classes in bindings [#278]
  - codegen: Don't initialize stack-allocated array with local-constant
    length [#910]
  - vala: Improve robustness of analyzer pass for language-servers [#911]
  - vala: Add local-variables to current scope regardless its error state
  - testrunner: Pass G_DEBUG=fatal-warnings to invalid test

 * Bindings:
  - Add some fundamental deps files to improve --nostdpkg support [#911]

Vala 0.47.91
============
 * Various improvements and bug fixes:
  - vala:
    + Fix base-access check for compact classes (2)
    + Don't ignore errors in Parameter and acknowledge them further
    + Properly set CodeNode.error when reporting an error
  - girparser: Report a warning for conflicting class and instance methods
  - testrunner: Invalid tests and therefore expected failures must return 1
  - manual: Update from wiki.gnome.org

 * Bindings:
  - Add harfbuzz-gobject binding [#909]
  - gstreamer: Update from 1.17.0+ git master
  - gtk+-*.0,gtk4: Fix iter parameter of TextIter.order() [#908]
  - gtk4: Update to 3.98.0+410dbdf6
  - pango: Update and add harfbuzz-gobject as dependency
  - webkit2gtk-4.0: Update to 2.27.90

Vala 0.47.4
===========
 * Various improvements and bug fixes:
  - codegen:
    + Skip StructRegisterFunction for boolean/integer/floating types [#901]
    + Handle different type-symbols in visit_base_access() [#901]
    + Explicitly include header for length-type of arrays
    + Explicitly include <glib.h> as needed for null-literal
    + Make *_try_id specific to emit-context instead being global states
  - vala:
    + Improve detection of recursive struct declarations [#902]
    + Inline allocated arrays require length or initializer [#903]
  - parser: Improve robustness and behavior of --keep-going

 * Bindings:
  - javascriptcoregtk-4.0: Make JSC.Class usable by defining the right callback
  - gtk4: Update to 3.96.0+4ab12ab7
  - vapi: Update GIR-based bindings

Vala 0.47.3
===========
 * Highlights:
  - Add further support for params arrays [#128]

 * Various improvements and bug fixes:
  - codegen:
    + Don't set implemenation of interface property to its own [#891]
    + Use result value of assignment rather than its computation [#895]
    + Cast instance parameter in member-initializer for base-properties [#899]
  - vala:
    + Infer target_type in coalescing expressions [#892]
    + Non-nullable value-type in coalesce expression needs to be copied [#893]
    + Fix short-circuiting behavior of coalescing operator [#534]
    + Always bail if there are semantic errors
  - girparser: Apply explicitly given ctype metadata attributes on callables

 * Bindings:
  - glib-2.0: Let (u)int.try_parse() return false if there is an unparsed part
  - gtk4: Update to 3.96.0+7e2e92a8
  - gstreamer: Update from 1.17.0+ git master
  - vapi: Update GIR-based bindings
  - webkit2gtk-4.0: Update to 2.27.4

Vala 0.47.2
===========
 * Highlights:
  - compiler: Add "--depfile" option writing package dependencies to given file

 * Various improvements and bug fixes:
  - codegen:
    + Fix support of dynamic DBus methods
    + Fix vfunc signature of delegate-typed property in interface
    + Fix precondition in creation method of structs
    + Remove unreachable code in TypeRegisterFunction.init_from_type()
    + Improve *_get_type() fast path (requires glib >= 2.58) [#879]
  - vala:
    + Report error for async creation expression without yield
    + Don't require constant initializer in fast-vapi [#461]
    + VoidType is actually compatible with itself [#878]
    + Improve handling of "void" as generic type [#878]
    + Keep formal_target_type on transform of method-call/object-creation [#835]
    + Add a basic parameter check for [Print] methods
    + Let the parser have set namespace members as static
    + Don't ignore inner errors in Block and acknowledge them further
    + Improve error message for unsupported inner types and declarations
    + Don't allow "va_list" as return-type or type of fields [#884]
    + Check before accessing "name" of parent_symbol which might be null
    + Allow to override base interface properties explicitly
  - gidl/girparser: Creation methods must not be marked as static
  - parser: Implicit "main" method of main-block is public and static
  - scanner: "\x" requires two hex digits at most
  - scanner: Improve check of "\u" escape sequence
  - genie: Fix parser's inner state when a struct is declared after a class

 * Bindings:
  - glib-2.0: Add to_string() for GLib.PollFd and GLib.Pid
  - glib-2.0: Add new symbols from 2.64
  - glib-2.0: Reset errno before calling strto*() functions.
  - gstreamer: Update from 1.17.0+ git master
  - gtk4: Update to 3.96.0+448a4023
  - pango: Update to 1.44+
  - vapi: Update GIR-based bindings
  - webkit2gtk-4.0: Update to 2.27.3

Vala 0.47.1
===========
 * Highlights:
  - Various improvements for the POSIX profile
  - codegen:
    + Allow passing/retrieving any delegate to/from varargs parameter
    + Support gobject property of null-terminated array without length [#855]
    + Support gobject property of delegates not carrying their target [#856]
    + Warn when directly accessing member of silent cast-expression
  - vala:
    + Add DelegateType.target/destroy fields to access its user-data [#857]
    + Accept interface as inner type for object-type symbols [#697]
    + Add GenericType.dup/destroy fields [#190]
    + Support "unowned var" to declare local variables [#152]
  - compiler: Add "--list-sources" options to output list of all sources [#872]

 * Various improvements and bug fixes:
  - codegen:
    + Move type-argument checks to SemanticAnalyzer
    + Make CCodeBaseModule.generate_method_declaration() return bool
    + Fix custom reference-counting for compact classes
    + G_DEFINE_AUTOPTR_CLEANUP_FUNC must not declared more than once
    + Use SemanticAnalyzer.get_data_type_for_symbol()
    + Commonize the determining of return-type for delegates and methods
  - vala:
    + Rename DataType.data_type property to DataType.type_symbol
    + Unify backing symbol instance of data-types
    + Respect --abi-stability in Class/Interface.accept_children()
    + Don't mark method as used on recursive usage of itself [#100]
    + Set GLib.Error as symbol of error-types if no error-domain was given
    + Make Callable derive from Symbol
  - libvaladoc: Remove TypeReference.pass_ownership API
  - valadoc: Rename FormalParameter to Parameter
  - girwriter: Fix position of priv field (--abi-stability) [#850]

 * Bindings:
  - glib-2.0: Add binding for "gettext()" [#864]
  - glib-2.0: Add new symbols from 2.64
  - glib-2.0: Add optional "base" parameter to *.parse/try_parse() of integers
    and check errno for EINVAL and ERANGE in *.try_parse() [#223]
  - glib-2.0: Add (u)int.try_parse() [#649]
  - glib-2.0: Add "has_typedef = false" to custom MarkupParser*Func delegates
  - gtk+-*.0: Fix iter parameter of TextBuffer.backspace()
  - gtksourceview-2.0: Fix iter parameter in SourceBuffer.backward/forward/...
  - libusb-1.0: Use a wrapper for Context.get_device_list() [#151]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants