2022-10-04  Sean Young  <sean@mess.org>

	Update for 0.10.2

2022-10-03  Sean Young  <sean@mess.org>

	On Fedora 36, PYTHON_LIBS is empty. Use PYTHON_CFLAGS instead

	Fix make distcheck

	HAVE_KERNEL_LIRC_H is unused

	Make run-tests work again

2022-10-02  Sean Young  <sean@mess.org>

	always disable all kernel decoding protocols

2022-10-01  Sean Young  <sean@mess.org>

	lircd cpu usage may jump to 100%
	If the release time is set from a previous button press, then tv
	will be updated accordingly. If the release time has already
	passed, then tv might be 0, in which case poll gets a timeout of
	0 milliseconds and the loop is executed again (eating all available
	cpu).

	Next version will be 0.10.2

2022-09-26  Sean Young  <sean@mess.org>

	Update NEWS

2022-09-19  Sean Young  <sean@mess.org>

	reguire_version needed before import

2022-09-18  Thomas Uhle  <thomas.uhle@mailbox.tu-dresden.de>

	SafeConfigParser class has been renamed to ConfigParser in Python 3.2
	The current version of LIRC produces a warning message with more or less
	up-to-date versions of Python 3. You can find such messages in syslog for
	instance (date and hostname stripped):

	lircd-setup[828]: /usr/sbin/lircd-setup:37: DeprecationWarning: The SafeConfigParser class has been renamed to ConfigParser in Python 3.2. This alias will be removed in future versions. Use ConfigParser directly instead.

2022-09-05  Thomas Betker  <thomas.betker@freenet.de>

	visit_rc() leaks file descriptor
	visit_rc() opens /sys/class/rc/rc1/protocols O_RDONLY, but never closes it, so
	the file stays open forever. [fd is overwritten by another O_WRONLY open a few
	lines later; that one is closed correctly, though.]

	In my case (lirc-0.10.1 on openSUSE Leap 15.4, 'irw' running, 'lircd' failing
	to open /dev/lirc1 due to permission issues), this means that 'lircd' creates
	a new /sys/class/rc/rc1/protocols file descriptor every second, sometimes
	resulting in hundreds of /proc/$PID/fd/ entries.

	Apparently, this was introduced by commit 06bd6d "plugins/default: Just check
	lirc protocol if read-only access (#133)." on 17-Sep-2015.

2022-06-26  Sean Young  <sean@mess.org>

	Support lirc overflows

	Sync lirc.h with linux 5.18

	Always use bundled lirc.h header file
	This ensure less breakage if the system header changes, and allows us
	to use a newer version of lirc.h than is available on all distributions.

	Update download link and remove merge conflict

2022-06-26  Alec Leamas  <leamas.alec@gmail.com>

	contrib: release-process: update.

	build: Mute libtool when V=0.

	plugins: Update driver_version.

2022-06-03  Alec Leamas  <leamas.alec@nowhere.net>

	python 3.10: Fix new Queue interface

2022-06-03  Debian Lirc Team  <team+debian-lirc@tracker.debian.org>

	python3.8
	===================================================================

2022-06-03  Alec Leamas  <leamas.alec@gmail.com>

	logging: Don't use broken LOG_CONS syslog flag.

2022-06-03  Alec Leamas  <leamas.alec@nowhere.net>

	database.py: Handle new PyYAML interface.

2022-05-30  Sean Young  <sean@mess.org>

	Only enable the lirc protocol if present
	linux kernel 4.16 and newer no longer have the lirc chardev connected as
	a protocol decoder, but it is baked into rc-core. So, it is not necessary
	to enable the lirc protocol any more if lirc is not present in the
	protocols file.

	Note that lirc is still in the protocols file in current versions of the
	kernel (at the time of writing), but it would be nice to be able to remove
	this in the distant future.

2022-05-30  Sean Young  <sean@mess.org>

	Ensure LIRC_MODE2_TIMEOUT and LIRC_MODE2_FREQUENCY are handled correctly
	Based on https://github.com/neuralassembly/raspi/blob/master/lirc-gpio-ir-0.10.patch
	Bug-Debian: bugs.debian.org/931078

2022-05-29  Matej Drobnič  <matejdro@gmail.com>

	plugins: irtoy: gracefully handle buffer overflow error

2022-05-29  Sean Young  <sean@mess.org>

	The Irdroid hangs after transmit intermittently
	When this occurs, the device led remains on and does not respond to any
	command. It has to unplugged and lirc has to be restarted.

	See https://gist.github.com/Irdroid/384d5144d24cba7c94e58dde75388968

2022-05-29  b'Sean Young  <allura@localhost>

	Merge /u/craigandrews/lirc/ branch RuntimeDirectory into master
	https://sourceforge.net/p/lirc/git/merge-requests/42/

	Merge /u/greenbird/lirc/ branch uname into master
	https://sourceforge.net/p/lirc/git/merge-requests/36/

2022-05-25  Sergei Trofimovich  <slyich@gmail.com>

	lircd: drop support for LIRC_CAN_SET_REC_FILTER and LIRC_CAN_NOTIFY_DECODE features
	linux-headers-5.18 dropped LIRC_CAN_SET_REC_FILTER and
	LIRC_CAN_NOTIFY_DECODE define in
	    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b2a90f4fcb146d0e033203ab646f0fd22cfa947f
	as no drivers implement it.

	Without the change lircd build fails on linux-headers-5.18 as:

	    lircd.cpp: In function 'int setup_hardware()':
	    lircd.cpp:492:49: error: 'LIRC_CAN_SET_REC_FILTER' was not declared in this scope; did you mean 'LIRC_CAN_SET_REC_CARRIER'?
	      492 |                     || (curr_driver->features & LIRC_CAN_SET_REC_FILTER)) {
	          |                                                 ^~~~~~~~~~~~~~~~~~~~~~~
	          |                                                 LIRC_CAN_SET_REC_CARRIER

2019-09-15  Craig Andrews  <candrews@integralblue.com>

	systemd: ensure lirc runtime directory exists

2019-05-05  Cédric Schieli  <cschieli@gmail.com>

	python-pkg: fix: async iterator should stop if an exception occurs in the select loop

	python-pkg: test: async iterator should stop if an exception occurs in the select loop

	python-pkg: fix: async readline should reraise if an exception occurs during select loop

	python-pkg: async_client: enqueue exceptions that occur during the select loop so they can be handled

	python-pkg: test: async readline should reraise if an exception occurs during select loop

	python-pkg: test: if the connection is lost while using sync code, a ConnectionResetError should be raised

	python-pkg: suppress ConnectionResetError and TimeoutException in testReceiveAsyncDisconnectDontBlock

	python-pkg: selectively suppress captured exceptions

	python-pkg: capture uncaught async exception in event_loop context manager

	python-pkg: fix: if the connection is lost while using async code, the loop should not block infinitely

	python-pkg: test: if the connection is lost while using async code, the loop should not block infinitely

	python-pkg: ensure testing code cannot run infinitely
	The assertCompletedBeforeTimeout context manager can be used to prevent
	a test case from blocking the whole run.

	python-pkg: prepare for multiple async code test cases
	Each async code test case should run on its own newly created loop and
	the loop should be closed after each test.
	The event_loop context manager can be used to ensure that.

2019-01-01  William Manley  <will@williammanley.net>

	systemd support: Notify systemd on successful startup
	This allows systemd to detect the case where we've failed to startup
	due to a failure to parse our config files.

2018-12-30  Alec Leamas  <leamas.alec@gmail.com>

	lircd: Fix --connect option parsing error (#343).

2018-11-18  Bernhard M. Wiedemann  <bwiedemann@suse.de>

	Do not store build date and kernel ver [#301]
	See https://reproducible-builds.org/ for why this is good.

2018-02-23  Alec Leamas  <leamas.alec@gmail.com>

	lircd.conf: Update <pre> documentation (#319).

2018-02-12  Alec Leamas  <leamas.alec@gmail.com>

	configure: Clean up man2html test.

2018-02-11  Alec Leamas  <leamas.alec@gmail.com>

	configure: Enhance test for usable man2html (#316).

2018-02-11  Felix Schmidt  <https://sourceforge.net/u/fesc2000/>

	irexec: Handle non-working shells gracefully (#314).

2018-01-16  jrie  <u/jrie@sf.net>

	 repeat in lircd-uinput by using reps instead of is_release

2017-09-27  Alec Leamas  <leamas.alec@gmail.com>

	lircd: Help message polish.

2017-09-14  Baruch Siach  <baruch@tkos.co.il>

	lirc.org: fix Buildroot link
	Busybox is not a Linux distro. Commit bd6f04e0ddda most likely meant to
	add a reference to Buildroot, a Linux system generator that shares some
	of its history with Busybox. Fix this.

2017-09-12  Alec Leamas  <leamas.alec@gmail.com>

	doc: lirc.org: Add busybox link.

2017-09-12  Baruch Siach  <baruch@tkos.co.il>

	build: Fix python client cross compile
	The setup.py setuptools wrapper needs to use a version of python built
	specifically for cross compiling to cross compile successfully. Allow
	setting that in the environment using the SETUPTOOLS_ENV variable.

	Fixes the following build failure:

	/usr/bin/ld: skipping incompatible \
	    .../lirc-tools-0.10.0/lib/.libs/liblirc_client.so \
	    when searching for -llirc_client
	/usr/bin/ld: cannot find -llirc_client
	collect2: error: ld returned 1 exit status

2017-09-12  Alec Leamas  <leamas.alec@gmail.com>

	NEWS: update.

2017-09-10  Alec Leamas  <leamas.alec@gmail.com>

	plugins: srm7500: Fix device enumeration.

	plugins: srm7500: Split some long lines.

2017-09-10  Henning Glawe  <glaweh@debian.org>

	plugins: srm7500: Add timeout to args of philipsrf_output().

	plugins: srm7500: Add timeout to args of philipsrf_input().

	plugins: srm7500: move usb_init() back to find_usb_device()
	calling 'usb_find_devices' a second time (e.g. restarting irw)
	caused a exception 'corrupted double-linked list', which is fixed by
	this revert.

	plugins: srm7500: Add macro SLEEP_NANO_500_us.

	plugins: srm7500: Add macro SLEEP_NANO_20_ms.

	plugins: srm7500: Fix whitespace/indent.

	plugins: srm7500: Explicitly close pipe on child exit.
	Explicitly close sending end of pipe before child exit

	plugins: srm7500: Debug-log exit of child.

	plugins: srm7500: Close receiving pipe as early as possible.
	Close receiving end of pipe as early as possible in child process

	plugins: srm7500: Deinitialize srm7500 receiver in main loop.

	plugins: srm7500: Move usb_init to before the srm7500 main loop.

	plugins: srm7500: Wait for usb receiver being available.
	wait for presence of usb receiver instead of repeatedly failing

	plugins: srm7500: deinit() error handling and nanosleep.
	uadd error handling and nanosleep to srm7500_deinitialize_usbdongle

	plugins: srm7500: Improve logging for 802.15.4 MAC initialization.

	plugins: srm7500: Replace wait-for-mac by generic queue-flush
	most probably due to the fixed low-level initialization code, there is
	no MLME_SET_confirm.PIB_ATTR_macExtendedAddress packet observed
	anymore.
	Just in case, read all packets before setting up 802.15.4 mac layer

	plugins: srm7500: Add philipsrf_output error* logging.
	Add error logging to philipsrf_input and philipsrf_output wrapper functions

	plugins: srm7500: Log usb_close on level debug.

	plugins: srm7500: Clean up logging in first device init phase.

	plugins: srm7500: Close dev_handle at error_label, if necessary.

	plugins: srm7500: Introduce 'error_label' goto target.
	introduce goto label 'error_label' to srm7500_initialize_usbdongle

	plugins: srm7500: Add 500 us sleep (usb_control_msg fix).
	Add some 500 microsecond sleeps in the hope to resolve the
	usb_control_msg issue

	plugins: srm7500: Explicitly initialize dev_handle to NULL.

	plugins: srm7500: log_perror_err() -> log_error().
	Use log_error instead of log_perror_err when detaching kernel driver

	plugins: srm7500: Device reset: sleep 1s -> 20 ms.
	sleep for 20ms instead of 1s after usb device reset

	plugins: srm7500: Read loop sleep: 2s -> 20 us.
	sleep for 20 microseconds instead of 2 seconds after usb_read_loop

	plugins: srm7500: Add SLEEP_NANO wrapper around nanosleep.

	plugins: srm7500: Add log msgs to usb device init.

	plugins: srm7500: add usb_reset call (undef state cleanup).
	clean up undefined state of usb dongle

	plugins: srm7500: Add log messages.
	 Åre-initialization phase of SRM7500 usb dongle

	plugins: srm7500: Add error messages
	Messages for dongle and 802.15.4 initialization failure

	plugins: srm7500: Fix typo in warning log msg.

2017-09-10  Alec Leamas  <leamas.alec@gmail.com>

	build: configure.ac and lirc-postinstall cleanup.

2017-09-10  Alec Leamas  <leamas.alec@gmail.com>

	build: Fix build without Python.
	Don't define HAVE_PYTHON35 when PYTHON_LIBS is empty.

	Also, don't build Python dependent code when HAVE_PYTHON35 is not
	defined.

	This fixes build failures like:

	Makefile:1616: recipe for target 'python-pkg/dist/lirc-0.10.0.tar.gz' failed
	make[3]: *** [python-pkg/dist/lirc-0.10.0.tar.gz] Error 1
	python-pkg/lirc/_client.c:1:20: fatal error: Python.h: \
	    No such file or directory

2017-09-10  Bengt Martensson  <barf@bengt-martensson.de>

	lircd: Silly driver options to lircd should be fatal (#304).

2017-09-07  Baruch Siach  <baruch@tkos.co.il>

	build: Fix lirc version detection when cross compiling.
	The setup.py script that runs on the host can't use the client library
	built for target. So setup.py falls back to a wrong hard-coded VERSION
	value.

	Instead of importing the target library, use exec() to read
	lirc/config.py directly for its VERSION value.

	Fixes build failure:

	/usr/bin/install -c -m 644 ./python-pkg/dist/lirc-0.10.0.tar.gz \
	    '.../output/host/arm-buildroot-linux-musleabihf/sysroot/usr/share/lirc'
	/usr/bin/install: cannot stat './python-pkg/dist/lirc-0.10.0.tar.gz': \
	    No such file or directory

2017-09-05  Alec Leamas  <leamas.alec@gmail.com>

	build: Mute automake warning.

2017-09-03  Alec Leamas  <leamas.alec@gmail.com>

	build: Don't drop user CFLAGS (#306).

	mode2: Fix inconsistent loglevel/debug option (#307).

2017-09-02  Alec Leamas  <leamas.alec@gmail.com>

	python-pkg: pylint indentation fic.

	NEWS: update.

2017-09-02  Bengt Martensson  <barf@bengt-martensson.de>

	girs.c: Implemented Removed LIRC_SET_REC_TIMEOUT support (#302).
	Removed LIRC_SET_REC_TIMEOUT support, and similar. Doc update.
	Instead new driver option: ending_timeout.  Cleaned logging.

2017-08-31  Alec Leamas  <leamas.alec@gmail.com>

	build: Fix make "always build all" error.

2017-08-26  Alec Leamas  <leamas.alec@gmail.com>

	lib: Drop support for the GOLDSTAR flag in lircd.conf.

	NEWS: update

2017-08-24  Alec Leamas  <leamas.alec@gmail.com>

	irdb-get: Support reproducible builds [#301].

2017-08-24  Ayke van Laethem  <aykevanlaethem@gmail.com>

	plugins: devinput: Fix glob "no match" error [#285].
	See [63e041cc] and LIRC issue #285 (Debian: #860551).

2017-08-23  Alec Leamas  <leamas.alec@gmail.com>

	Update for 0.11.0

	build: Don't generate table.html in build - #286 part 2.

2017-08-22  Alec Leamas  <leamas.alec@gmail.com>

	lirc-postinstall: Update external driver docs.

2017-08-21  Alec Leamas  <leamas.alec@gmail.com>

	build: Add lirc-postinstall - #286 part 1.

2017-08-19  Alec Leamas  <leamas.alec@gmail.com>

	doc: Remove lirc.hwdb support.

	doc: build typo.

	build: Fix missing media/lirc.h (BTS #872074).

2017-06-30  Alec Leamas  <leamas.alec@gmail.com>

	doc: lirc.org: Update packaging linux distro list.

	Build: walk-around autoconf bug 19964 (#297).
	Build breaks if lirc top-level dir parent contains files like
	install.sh. This is the knownn and open autoconf bug
	https://lists.gnu.org/archive/html/bug-automake/2015-02/msg00003.html
	with this work-around provided by upstream.

2017-06-28  Alec Leamas  <leamas.alec@gmail.com>

	build:  Makefile.am: kill duplicated line.

2017-06-24  Alec Leamas  <leamas.alec@gmail.com>

	build: Align with release-0.10 branch.

2017-06-24  Baruch Siach  <baruch@tkos.co.il>

	lib/curl_poll.h: fix header guard collision with musl libc
	The musl libc uses the _POLL_H macro as a double include guard for the poll.h
	header. This breaks compilation of files the include curl_poll.h:

	In file included from driver.h:32:0,
	                 from driver.c:12:
	lirc/curl_poll.h:38:29: error: array type has incomplete element type ‘struct pollfd’
	 int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
	                             ^~~~

	Rename the curl_poll.h header guard macro to avoid collision. Don't use a name
	that starts with an underscore and a capital letter since these names are
	reserved according to the ANSI C standard.

	https://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html

2017-06-24  Alec Leamas  <leamas.alec@gmail.com>

	build: Missing dep, repeated builds and clean fixes.

	python-pkg: Don't distribute test if python < 3.5.

	build: Update ABI version info for 0.10.0.

	doc: Updates.

	lircmd: Don't write on non-existing socket (#295).

	Don't distribute generated config.h, config.py and paths.h (#294).

	build: Fix VPATHS builds (#294).

	doc: Fix python document generation.
	Add missing python filters to distribution, and ensure it works
	with alternative  python interpreters.

	build: Don't hardcode python3 interpreter name.
	Fixes build errors on hosts where python3 is invoked e. g.,
	as python3.5.

	Build: fix bad link tools/lirc-setup/config.py

	Build: Fix timestamps in generated tarball.
	The debian buildchain requires generated tarballs to have the
	same timestamps to be considered equal. So, set the timestamps
	of generated files to the git commit date.

	Build: fix linking issue.

	Build: Use correct python interpreter.

	doc: Mute annoying build error message.

	doc: Deprecate lirc.hwdb, NEWS update.

2017-06-24  Alec leamas  <al@mageia.localdomain>

	build: Mageia fixes

2017-06-24  Alec Leamas  <leamas.alec@gmail.com>

	build: Let configure update also lib/lirc/config.h

	lib: Fix missing #include config.h

	doc: Update.

	build: Make it more quiet.

2017-06-16  Alec Leamas  <leamas@nowhere.net>

	tests: Overall portability fixes.
	  - Use correct lircrcd binary from development tree.
	  - Use explicit /bin/bash shebang, don't trust /bin/sh to be bash.
	  - Use lirc_set_verbose() to kill silly output.

	lib:lirc_client: Add lirc_set_verbose() function.
	There has been no way to dynamically set the output flag defined
	by lirc_init. The tests are a simple usecase requiring this, but it
	aseems general enough to motivate a new function.

2017-06-16  Alec Leamas  <leamas.alec@gmail.com>

	lircd: Reformat long lines

	lib, lircd: Remove --release support.

	irlog: enhance logging.

2017-06-16  Alec Leamas  <al@localhost>

	Build: Disable non-linkable plugins on kfreebsd.

2017-06-16  Alec Leamas  <leamas.alec@gmail.com>

	python-pkg: tests: Don't hardcode socat and expect paths.

	Build: more distcheck.

	Build: distribute python test files.

	Build: fix "make clean".

	Build: Revert timestamp fix.

	Update for 0.10.0-rc2

	Build: distcheck fixes.

	Build: non-linux FTBS fixes.

	Build: More python installation clean-up.
	  - Move and install lirctool wrapper (but no link).
	  - Don't hardcode python3 shebang

	attic: Remove attic from release branch.

	build: Rectify "make clean"

	python-pkg: tests: Use socat instead of ncat (#289).
	Turns out that ncat exists in several version on Debian, all of
	them broken somehow. socat seems more uniform and works in both
	Fedora and Debian stretch.

	mode2: Actually parse the [mode2] config file section [#292].
	Although the manpage describes how mode2 reads the [mode2] section
	in the config file, the actual code for this was missing.

	irsimsend: Fix log setup typo.

	lirc-setup: Clean up paths handling (#290)

	doc: Update.
	  - Kill all 0.9.5 references.
	  - Review lircd-uinput repeat handling after deprecating lircd
	    --release option.
	  - Rewrite intro chapter in Configuration guide.
	  - Typos and clean-up.

	build: m4: Clean up AX_PYTHON_MODULE
	Attempt tp fix timed out builds on Debian m68k builders. Use
	standard autoconf control flow functions, fix under-quoted
	arguments, fix indentations.

2017-06-05  Christoph Bartelmus  <lirc@users.sourceforge.net>

	doc: lirc.org: Set left margin to 0

2017-05-20  Alec Leamas  <leamas.alec@gmail.com>

	irpipe: Use system lirc.h.

	NEWS:update

	lircd: Deprecate --release option.

	doc: Add release into index.html

	build: Make it more quiet.

	build: Update ABI version info (added interfaces).

	doc: Move upstreamed lirc.4 manpage to attic.

	plugins/commandir: Mute compiler warnings (somewhat shaky).

	build: Fix recent GCC compiler warnings.

2017-05-19  Alec Leamas  <leamas.alec@gmail.com>

	formatting: checkpatch fixes.
