2013-11-27  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.66.

2013-11-04  Jiri Popelka  <jpopelka@redhat.com>

	* Python3 compatibility

2013-11-27  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.65.

2013-07-31  Jiri Popelka  <jpopelka@redhat.com>

	* cupsconnection.c (PyObject_from_attr_value): Fix getting of booleans.

2013-04-12  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (UTF8_from_PyObj): Propagate UTF-8 decoding
	errors.

2013-04-10  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c: Don't just append printer name to base URI
	to get printer URI. Need to actually encode the name.

2013-04-03  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c: Fixed documentation typo for
	Connection.getPPDs2.

2013-03-20  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.63.

2013-03-20  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (set_ipp_error): IPPError tuple now
	contains a string describing the specific error encountered,
	if available.

2012-08-01  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.62.

2012-03-28  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c: Define all constants regardless of which
	version of CUPS is built against.

2012-03-22  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (PPD_dealloc): Add missing NULL check for
	debugging message (Ubuntu #951001).  Patch from Till Kamppeter.

2012-03-06  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.61.

2011-12-08  Tim Waugh  <twaugh@redhat.com>

	* cupsipp.c (IPPRequest_getAttributes): Hardened for Py*
	failures.

	* cupsppd.c (PPD_emitString): Fixed some more reference count
	issues (trac #17).

	* cupsipp.c: Fixed reference count issue with called object
	result (trac #17).
	(cupsipp_iocb_read): Prevent NULL dereference when
	Py_BuildValue fails (trac #17).

2011-12-06  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c, cupsmodule.c, cupsppd.c: Use
	Py_RETURN_NONE where appropriate.

	* cupsmodule.c, cupsppd.c: Fixed reference count issues with
	Py_None (trac #17).

2011-11-28  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c: Fixed typo in fix for trac #16.

2011-11-25  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c: HTTP_AUTHORIZATION_CANCELED constant requires
	CUPS 1.4 (trac #16).

	* cupsppd.c: Object lifecycle debugging.

2011-10-11  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.60.

2011-10-06  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c: New constants defined.

2011-10-03  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.59.

2011-10-03  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (do_password_callback), cupsconnection.c
	(password_callback): Return NULL instead of the empty string
	when handling an exception or when the callback returned an
	empty string, and handle the callback returning None.

2011-07-26  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.58.

2011-07-25  Tim Waugh  <twaugh@redhat.com>

	* MANIFEST.in: New file.
	* Makefile: Use sdist for creating tarballs.

	* setup.py: Added more information ready for PyPI.

2011-07-18  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c: Applied patch from Gowtham Narisipalli to
	add adminExportSamba method.

2011-06-27  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Link against libiconv on darwin (trac #15).

	* cupsppd.c: Fixed feature test for getline() (trac #15).

2011-06-16  Tim Waugh  <twaugh@redhat.com>

	* postscriptdriver.prov: Increase timeout for dynamic driver
	listing.

2011-06-09  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.57.

	* postscriptdriver.prov: Get RPM_BUILD_ROOT from environment
	if not provided on command line (bug #712027).

2011-06-02  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.56.

2011-05-24  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPPD3): Only provide this
	binding for CUPS >= 1.4.

	* cupsmodule.c (cups_setPasswordCB): Fixed build against
	CUPS < 1.4.

2011-05-23  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (do_password_callback): Fixed typo preventing
	build against CUPS < 1.4.

2011-03-20  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.55.

2011-02-24  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): IPP orientation and quality
	constants.

	* cupsconnection.c (PyObject_from_attr_value): Support for
	IPP_TAG_RESOLUTION.

	* cupsmodule.c (initcups): IPP_RES_PER_CM and IPP_RES_PER_INCH.

2011-02-23  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.54.

2011-02-23  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_begin_allow_threads): Avoid
	'unused variable' warning.

2011-02-23  Tim Waugh  <twaugh@redhat.com>

	* psdriver.attr, postscriptdriver.prov: RPM hooks for tagging
	packages with Device IDs of models supported by drivers.
	* Makefile: Install RPM hooks if rpm is available.

2011-02-03  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_deletePrinterFromClass): More
	defensive coding (bug #673468).

2010-12-15  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.53.

2010-12-15  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.h: Declare new function get_TLS and its data
	structure.
	* cupsmodule.c: Implement it.
	* cupsmodule.c, cupsconnection.c: Use thread-local storage for
	CUPS password callback (bug #662805).

2010-11-01  Tim Waugh  <twaugh@redhat.com>

	* setup.py: Version 1.9.52.

2010-10-18  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection.getPPDs2): New method as
	getPPDs but with attribute values as lists.

2010-05-11  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c: New HTTP_NOT_MODIFIED int constant.
	* cupsconnection.c (Connection_getPPD3): New method.

2010-05-05  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): The
	member-names attribute is always a list.

2010-04-28  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinter): Clear
	printer-state-reasons if the PPD has been
	changed (bug #510926).

2010-04-26  Tim Waugh  <twaugh@redhat.com>

	* Makefile, setup.py: Define VERSION in setup.py (trac #14).

	* cupsipp.c: Added compatibility code to allow compilation
	with Python < 2.5 (trac #14).

2010-04-25  Scott Balneaves  <sbalneav@ltsp.org>

	* cupsmodule.c: PPD order constants.
	* cupsconnection.c: Support for ppdEmit* functions.

2010-04-22  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getJobs): Optional
	requested_attributes argument (bug #584806).

	* cupsconnection.c (Connection_getPPDs, Connection_getDevices,
	Connection_getJobs, Connection_getJobAttributes): Avoid memory
	leak when argument parsing fails.

2010-02-23  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_dealloc): Be more cautious when
	removing the Connection object from the list (bug #567386).

2010-01-06  Tim Waugh  <twaugh@redhat.com>

	* cupsipp.c (IPPRequest_getAttributes): Continue to next
	attribute if we can't translate a value.

2010-01-04  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_cancelJob): Optional second
	argument is now a keyword.

2009-12-22  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_init): Use more descriptive
	exception message (trac #10).

2009-12-21  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (cups_setPasswordCB2): Allow None.

2009-12-18  Jiri Popelka  <jpopelka@redhat.com>

	* cupsconnection.c (Connection.cancelJob):
	Added optional purge_job patameter.

2009-12-16  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (password_callback,
	Connection_setPasswordCB): New method.

2009-12-08  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_printFile): If cupsPrintFile2()
	fails it returns zero, not -1 (trac #9).

2009-09-03  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getDevices): Added optional timeout
	parameter.

2009-08-18  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c: Define some IPP attribute tag constants.

	* cupsipp.c (IPPRequest_getAttributes): Handle IPP_TAG_ZERO
	attributes which have no attribute name.

2009-08-17  Tim Waugh  <twaugh@redhat.com>

	* cupsipp.c: New file implementing IPPRequest and IPPAttribute
	types.
	* setup.py: Include it as part of the module.
	* Makefile: Add to SOURCES.
	* cupsmodule.c: Define IPP constants.

2009-08-10  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c: Fixed missing newline in documentation for
	getPPDs.

2009-07-07  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_moveJob): New method.

2009-06-19  Tim Waugh  <twaugh@redhat.com>

	* examples/cupstree.py (getippqueue): IPP printers won't support
	CUPS-Get-Printers so don't try recursing.
	(getqueue): Slightly prettier display.

2009-06-18  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.46.

2009-06-18  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (do_model_compare): Handle wide characters.
	(cups_modelSort): Coersce arguments to Unicode and convert them to
	wide character strings (trac #8).

2009-06-18  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getDevices): Removed unused
	variable.

2009-04-14  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (cups_ppdSetConformance): New method (trac #3).

2009-03-20  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getDevices): New optional arguments
	limit, exclude_schemes and include_schemes.

2009-03-18  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPPDs): New optional arguments
	limit, exclude_schemes, include_schemes, ppd_device_id, ppd_make,
	ppd_make_and_model, ppd_model_number, ppd_product, ppd_psversion,
	ppd_type and ppd_natural_language (trac #5).

2009-03-10  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): The marker-*
	attributes are lists.

2009-01-08  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.45.

2008-12-23  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getServerPPD): Fixed version
	check.
	(Connection_getDocument): Likewise.
	* cupsmodule.c (initcups): Likewise.

2008-12-23  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (PPD_localizeIPPReason): New method.
	(PPD_localizeMarkerName): Likewise.

2008-12-17  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_printTestPage): Look for
	"testprint" as well as "testprint.ps", as that is the name of the
	test page file in CUPS 1.4 (bug #476612).

2008-12-17  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_printTestPage): Only set a
	document-format attribute if one is specified.

2008-12-17  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_printTestPage): Avoid crash when
	given bad parameters.

2008-11-28  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.44.

2008-11-25  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getFile): Save thread state during
	call.
	(Connection_putFile): Likewise.
	(Connection_getDests): Likewise.
	(Connection_getDefault): Likewise.
	(Connection_getPPD): Likewise.
	(Connection_printFile): Likewise.
	(Connection_printFiles): Likewise.

2008-11-24  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_adminGetServerSettings): Save
	thread state during call.
	(Connection_adminSetServerSettings): Likewise.

2008-11-21  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.43.

2008-11-13  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_begin_allow_threads,
	Connection_end_allow_threads): Fix these functions so they
	actually work.

2008-11-13  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getJobs): Set printer-uri
	attribute instead of job-uri attribute.

2008-11-12  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection): Store thread state in Connection
	data.
	(Connection_begin_allow_threads): Save current thread state.
	(Connection_end_allow_threads): Restore current thread state.
	(Connection_init): Use new functions.
	(Connection_getPPDs): Likewise.
	(Connection_getServerPPD): Likewise.
	(Connection_getDocument): Likewise.
	(Connection_getDevices): Likewise.

2008-08-28  Tim Waugh  <tim@localhost.localdomain>

	* cupsconnection.c (Connection_methods): Documentation fix for
	getJobAttributes.

2008-08-28  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getJobAttributes): New parameter
	requested_attributes.

2008-08-28  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (get_requested_attrs): New function for
	extracting requested attributes from list.
	(free_requested_attrs): Deallocate memory.
	(Connection_getPrinterAttributes): Use get/free_requested_attrs.

2008-08-22  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getJobs): Support limit and
	first-job-id attributes (trac #1).

2008-07-15  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPPDs): Return all attributes,
	not just a selection.

2008-07-14  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.41.

2008-07-14  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_putFile): Allow destination to be a
	file descriptor or a Python file object, and call cupsPutFd() in
	those cases.

2008-07-09  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): Fixed
	requested_attributes parameter.

2008-06-20  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.40.

2008-06-20  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (Attribute_repr): New method.
	(cups_AttributeType): Set repr function.

	* cupsppd.c (Group_repr): New method.
	(cups_GroupType): Set repr function.

	* cupsppd.c (Option_repr): New method.
	(cups_OptionType): Set repr function.

	* cupsconnection.c (Dest_repr): New method.
	(cups_DestType): Set repr function.

	* cupsconnection.c (Connection): New structure member, host.
	(Connection_init): Store connected host name.
	(Connection_dealloc): Free it.
	(Connection_repr): New method.  Include host name in repr string.
	(cups_ConnectionType): Set repr function.

	* cupsconnection.c (Connection_init): New optional arguments host,
	port, and encryption.

2008-06-17  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): Enum-type
	attributes may be lists.

2008-05-30  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): New
	optional requested_attributes argument.

2008-05-29  Tim Waugh  <twaugh@redhat.com>

	* configure.in: Version 1.9.39.

2008-05-29  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_authenticateJob): Allow auth
	parameter to be optional in order to allow for Kerberos
	authentication.

2008-05-27  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (free_string_list): New helper function.
	(Connection_printFiles): New method.
	Patch from Fabian Knittel.

	* cupsconnection.c (Connection_printFile): New method.  Patch from
	Fabian Knittel.

2008-04-09  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_printTestPage): Test for existence
	of testprint.ps before performing operation, and look around for
	it if necessary.

2008-04-03  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.38.

2008-04-03  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getDocument): Fixed missing
	argument to snprintf.

2008-04-01  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getFile): Allow destination to be a
	file descriptor or a Python file object, and call cupsGetFd() in
	those cases.

2008-03-17  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.37.

2008-03-15  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): Prevent
	memory leak.
	(Connection_getNotifications): Likewise.
	(Dest_getOptions): Likewise.

2008-03-14  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): Add CUPS_PRINTER_DISCOVERED constant.

2008-03-12  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_authenticateJob): New method.

2008-03-10  Tim Waugh  <twaugh@redhat.com>

	* Makefile (PYTHONVERS): Removed.

2008-03-05  Norm Jacobs <Norm.Jacobs@Sun.COM>

	* cupsppd.c (getline): emulate getline() for systems without it.
	  (PPD_writeFd): replace strndup with calloc/strncpy for portability.
	* cupsconnection.c (Connection_getDocument): generate tempfile template
	with snprintf instead of alloc, copy, copy.
	(Connection_addPrinter): generate tempfile template with snprintf
	instead of strpcpy, strcpy.
	(PyObject_to_String): avoid using alloca() by declaring a buffer at
	the top of the function.
	(Connection_getServerPPD): test for CUPS version using cups.h supplied
	values.
	(Connection_getDocument): test for CUPS version using cups.h supplied
	values.
	* cupsmodule.c: test for CUPS version using cups.h supplied values.

2008-03-05  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.36.

2008-03-01  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_renewSubscription): New optional
	parameter lease_duration.

2008-02-28  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getNotifications): State reasons
	are always a list.
	(Connection_getJobAttributes): Likewise.

2008-02-19  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.35.

2008-02-19  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getJobAttributes): New method.

2008-02-07  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_cancelAllJobs): New method.
	(Connection_getPrinterAttributes): Don't free name string before
	use.
	(Connection_getPrinterAttributes): Construct the URI in the
	correct buffer.
	(Connection_printTestPage): Avoid compiler warning.

2008-02-06  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): The
	printer-state-reasons attribute is always a list.

2008-02-04  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.34.

2008-02-04  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getNotifications): Pass through the
	sequence numbers.

2008-01-29  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_printTestPage): Don't default to
	user guest.

2008-01-23  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.33.

2008-01-23  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_cancelJob): Revert back to using
	job-uri since it is a required attribute.

2008-01-02  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setJobHoldUntil): Fixed typo
	(Ubuntu #179520).

2007-12-17  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.32.

2007-12-14  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinter): Don't deallocate
	the Python objects that are our arguments.

2007-12-11  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (Option_getChoices): Don't leak Unicode objects.
	(Option_getChoices): Add 'marked' attribute, based on patch by
	Romain Jacquet.

2007-11-30  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (do_printer_request): Fixed debugging output.

2007-11-27  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_cancelJob): Use job-id instead of
	job-uri.
	(Connection_getPrinterAttributes): New uri keyword to allow
	non-CUPS URIs.

2007-11-22  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): Fixed
	job-sheets-default tuple.

2007-11-22  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.31.

2007-11-22  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getDocument): New method.
	* cupsmodule.h: Check for CUPS 1.4.

2007-11-21  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getDefault): New method.

	* cupsmodule.c (cups_require): Don't read uninitialised memory.

	* cupsconnection.c (Connection_printTestPage): Don't use
	uninitialised variables (bug #390431).

2007-11-19  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.30.

2007-11-19  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinter): Fixed typo.
	(Connection_addPrinter): Fixed double-free.
	(Connection_getDests): Handle there being no default printer.

2007-11-15  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.29.

2007-11-15  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getDests): Don't leak each
	destobj.
	(build_list_from_attribute_strings): Don't leak each string
	object.
	(Connection_getPrinters): Don't leak each dict.
	(Connection_getClasses): Don't leak each members list.
	(Connection_getPPDs): Don't leak each dict.
	(Connection_getDevices): Likewise.
	(Connection_addPrinter): Don't leak converted strings.
	(Connection_getPrinterAttributes): Removed unused code.
	(Connection_adminGetServerSettings): Don't leak each setting
	value.
	(Connection_getSubscriptions): Don't leak each value and
	subscription.
	(Connection_getNotifications): Don't leak each value, event and
	item.

2007-11-14  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (PyObj_from_UTF8): New function.  Used in lots
	of places where text attributes are decoded (part of bug #382291).
	(UTF8_from_PyObj): New function.  Used in lots of places where
	text attributes are given in a request (rest of bug #382291).

2007-10-15  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.28.

2007-10-15  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getDests): Add a (None,None) entry
	for the default printer.

2007-09-19  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.27.

2007-09-19  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (PyObject_from_attr_value): IPP_TAG_NOVALUE
	tags are now handled, and are translated as None.

2007-09-12  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c: Missed some doc strings.

2007-09-12  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.26.

2007-09-12  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c: Better doc strings throughout.

2007-09-11  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c: Start of better doc strings for PPD functions.

2007-09-07  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c: Better doc strings throughout.

2007-09-06  Tim Waugh  <twaugh@redhat.com>

	* Makefile (doc): New rule.

	* cupsconnection.c: Start of better documentation.

2007-08-30  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.25.

2007-08-30  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_adminGetServerSettings): Fix
	compilation with CUPS 1.3.
	(Connection_adminSetServerSettings): Likewise.

	* Makefile: Removed 'tag' target, updated 'dist' target for svn.

	* cupsconnection.c (Connection_getServerPPD): New method.

	* cupsmodule.c (initcups): Define CUPS_SERVER_REMOTE_ANY.

	* cupsmodule.h: Check for CUPS 1.3.

2007-07-06  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c: Better docstring for PPD.markOption.

2007-06-08  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Ship examples directory correctly.

2007-06-08  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.24.

2007-06-08  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_adminSetServerSettings): In Python
	2.5, PyDict_Next() uses a ssize_t-like type for the position, not
	int (bug #239805).

	* cupsconnection.c (Connection_getClasses): Fixed typo in
	debugging output.

2007-06-07  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.23.

2007-06-07  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_adminSetServerSettings): Debug
	output.

	* cupsppd.c (cautious_PyUnicode_DecodeUTF8): New function to
	safe-guard against supposed UTF-8 strings that are incorrect (bug
	#242962).

2007-05-18  Tim Waugh  <twaugh@redhat.com>

	* examples/cupstree.py: New file.

2007-05-17  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (cups_require): New method.

	* Makefile: Build with VERSION set.

2007-05-17  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.22.

2007-05-16  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPPDs): Allow threads during
	cupsDoRequest.
	(Connection_getDevices): Likewise.

2007-05-04  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_printTestPage): New optional
	parameters in order to perform maintenance functions.

2007-04-16  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.21.

2007-04-11  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getSubscriptions): New method.
	(Connection_createSubscription): New method.
	(Connection_getNotifications): New method.
	(Connection_renewSubscription): New method.
	(Connection_cancelSubscription): New method.

2007-04-10  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): CUPS_PRINTER_COMMANDS.

2007-04-04  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.20.

2007-04-04  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinters): printer-state-reasons
	is a list.

2007-03-27  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.19.

2007-03-27  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): Job state constants.

2007-03-18  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.18.

2007-03-18  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getJobs): Include job-state
	attribute.
	(Connection_getJobs): Include job-preserved attribute.
	(Connection_getJobs): Include time-at-creation, time-at-processing
	and time-at-completed attributes.
	(Connection_getJobs): Include job-media-sheets and
	job-media-sheets-completed attributes.
	(Connection_getJobs): New optional parameters 'which_jobs' and
	'my_jobs'.
	(Connection_setJobHoldUntil): New method.
	(Connection_restartJob): New Method.

2007-01-03  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.17.

2007-01-03  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (ppd_encoding_is_utf8): Handle there being no known
	encoding for the PPD file (bug #220136).

2006-12-15  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (PPD_localize): New method.

2006-12-07  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.16.

2006-12-07  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinters): Include
	printer-state-reasons attribute.

2006-11-30  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinters): Include
	printer-state-message attribute.
	(do_printer_request): Set printer-state-message if reason given.
	(Connection_methods): Updated help strings.
	(Connection_adminSetServerSettings): Fixed small memory leak.
	(Connection_init): More debug.
	(Connection_dealloc): Likewise.
	(do_printer_request): Likewise.
	(Connection_getDests): Likewise.
	(Connection_getPrinters): Likewise.
	(set_http_error): Likewise.
	(set_ipp_error): Likewise.
	(build_list_from_attribute_strings): Likewise.
	(Connection_getClasses): Likewise.
	(Connection_getPPDs): Likewise.
	(Connection_getDevices): Likewise.
	(Connection_getJobs): Likewise.
	(Connection_getFile): Likewise.
	(Connection_putFile): Likewise.

2006-11-29  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getJobs): Include job-priority
	attribute.

2006-11-10  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.15.

2006-11-10  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getJobs): New method.
	(Connection_cancelJob): New method.

2006-11-02  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.14.

2006-11-02  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (Option_getChoices): Handle enum values already set
	outside the range (bug #213136).

2006-10-24  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.h: Removed bit-rotten CUPS 1.1.x compatibility code.

2006-10-02  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.13.

2006-10-02  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): Export HTTP_FORBIDDEN as well.

2006-07-05  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.12.

2006-07-05  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinterOptionDefault): Send
	strings as strings, not character sequences.

2006-05-25  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.11.

2006-05-25  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): Selected HTTP status codes.

2006-05-16  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (PPD_writeFd): Follow upstream behaviour for
	PaperDimension and ImageableArea (see STR #1689).

2006-05-15  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.10.

2006-05-15  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinter): Put debug messages
	in.

	* cupsmodule.c (debugprintf): Implemented.

	* cupsmodule.h: Declare debugprintf().

2006-05-05  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getClasses): Handle IPP_NOT_FOUND,
	which is returned when there are no classes.
	(Connection_getPrinterAttributes): 'finishings-supported' is a
	list.
	(Connection_addPrinterOptionDefault): Prevent buffer overrun.

2006-05-04  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.9.

2006-05-04  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): Make
	'requesting-user-name-*' attributes lists.
	(Connection_getPrinters): Handle IPP_NOT_FOUND, which is returned
	when there are no queues.

2006-05-03  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): IPP finishings.

	* cupsconnection.c (Connection_getPrinterAttributes): Multi-valued
	network default options should appear as lists.

2006-04-21  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinterOptionDefault): Support
	lists as values.

2006-04-19  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.8.

2006-04-19  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): String constants from adminutil.h.

	* cupsconnection.c (Connection_addPrinterOptionDefault): Handle
	different types for the value.
	(Connection_adminGetServerSettings): Implemented.
	(Connection_adminSetServerSettings): Implemented.

2006-04-15  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.7.

2006-04-15  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPrinterAttributes): Fetch all of
	the printer attributes, not just a named selection.
	(Connection_deletePrinterOptionDefault): Implemented.

2006-04-14  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Dest_new): cups.Dest type.
	(Connection_getDests): Use cups.Dest type.
	(Dest_getName): New method.
	(Dest_getInstance): New method.

2006-04-13  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setPrinterOptionDefault):
	Implemented.
	(Connection_getDests): Implemented.

2006-04-07  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_init): Allow threads during
	httpConnectEncrypt().

2006-04-04  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.6.

2006-04-03  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPPD): Better exception when
	cupsGetPPD2() fails.

2006-03-28  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c, cupsppd.h, cupsmodule.c: Added Attribute object,
	  and PPD.attributes attribute.
	  (PPD_findAttr): Implemented.
	  (PPD_findNextAttr): Implemented.

2006-03-24  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.5.

2006-03-23  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_printTestPage): Implemented.
	(Connection_getPPDs): Handle broken UTF-8 strings, since CUPS
	1.1.x doesn't transcode PPD strings for CUPS_GET_PPDS.
	(Connection_printTestPage): Return job ID.

2006-03-22  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPPDs): Include ppd-make
	attribute.
	(Connection_getPPDs): Use Unicode objects for any string that
	comes from a PPD file.

	* cupsmodule.c (do_model_compare): Fix comparisons where one
	string is a substring of the other.

2006-03-20  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setPrinterShared): Handle classes.
	(Connection_setPrinterJobSheets): Likewise.
	(Connection_setPrinterErrorPolicy): Likewise.
	(Connection_setPrinterOpPolicy): Likewise.
	(do_requesting_user_names): Likewise.
	(Connection_getPrinterAttributes): Likewise.

2006-03-17  Tim Waugh  <twaugh@redhat.com>

	* cupsmodule.c (initcups): Added IPP_MAX_NAME.

2006-03-17  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.4.

2006-03-16  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinter): Initialise local ppd
	variable.
	(docstrings): Better doc strings for addPrinterToClass and
	deletePrinterFromClass.
	(Connection_deleteClass): Implemented.
	(Connection_setPrinterInfo): Handle classes.
	(Connection_setPrinterLocation): Handle classes.

2006-03-14  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Support DESTDIR.

2006-03-14  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_disablePrinter): Use
	IPP_PAUSE_PRINTER.
	(Connection_enablePrinter): Use IPP_RESUME_PRINTER.
	(Connection_setPrinterJobSheets): Fixed typo.

2006-03-10  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.3.

2006-03-10  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setPrinterShared): Renamed.
	(Connection_getPrinterAttributes): Find
	requesting-user-name-allowed and requesting-user-name-denied
	attributes.
	(Connection_setPrinterUsersAllowed): Implemented.
	(Connection_setPrinterUsersDenied): Implemented.

2006-03-09  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getClasses): Handle empty classes.

	* cupsmodule.c (initcups): Always define CUPS 1.2.x CUPS_PRINTER_*
	constants.

	* cupsmodule.h (CUPS_PRINTER_*): More CUPS 1.1.x compatibility
	stuff.

2006-03-08  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (PPD_init): Handle fopen failure.
	(utf8_to_ppd_encoding): Nul-terminate the string.
	(Option_getseters) Better docstring for conflicted attribute.

2006-03-07  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.h (PPD struct): New members for encoding conversion.
	* cupsppd.c (PPD_new): Initialise encoding conversion members in
	PPD struct.
	(PPD_init): Likewise.
	(PPD_dealloc): Deallocate encoding conversion handles.
	(ppd_encoding_is_utf8): New function.
	(make_PyUnicode_from_ppd_string): New function.
	(utf8_to_ppd_encoding): New function.
	(Option_getKeyword): Convert to Unicode.
	(Option_getDefchoice): Likewise.
	(Option_getText): Likewise.
	(Option_getChoices): Likewise.
	(Group_getText): Likewise.
	(Group_getName): Likewise.
	(Constraint_getOption1): Likewise.
	(Constraint_getChoice1): Likewise.
	(Constraint_getOption2): Likewise.
	(Constraint_getChoice2): Likewise.
	(PPD_markOption): Convert to PPD encoding.

2006-03-03  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.2.

2006-03-03  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (do_printer_request): Watch out for exceptions
	from the password callback.
	(Connection_addPrinter): Likewise.
	(Connection_setPrinterDevice): Likewise.
	(Connection_setPrinterInfo): Likewise.
	(Connection_setPrinterLocation): Likewise.
	(Connection_setPrinterPublished): Likewise.
	(Connection_setPrinterJobSheets): Likewise.
	(Connection_setPrinterErrorPolicy): Likewise.
	(Connection_setPrinterOpPolicy): Likewise.
	(Connection_addPrinterToClass): Likewise.
	(Connection_deletePrinterFromClass): Likewise.

2006-03-01  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (set_ipp_error): Use ippErrorString().
	(Connection_getPrinters): Fixed typo.

	* cupsmodule.c (initcups): IPP error codes.

	* cupsppd.c (PPD_writeFd): Treat PageRegion specially, like CUPS
	does.
	(nondefaults_are_marked): New function.
	(PPD_nondefaultsMarked): Implemented.

2006-02-27  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setPrinterInfo): Use IPP_TAG_TEXT
	here.
	(Connection_setPrinterLocation): Likewise.
	(get_printer_attributes_request): Removed.

	* cupsconnection.c (do_printer_request): Use ippNewRequest().
	(Connection_getPrinters): Likewise.
	(Connection_getClasses): Likewise.
	(Connection_getPPDs): Likewise.
	(add_modify_printer_request): Likewise.
	(Connection_addPrinterToClass): Likewise.
	(Connection_deletePrinterFromClass): Likewise.

	* cupsmodule.h (ippNewRequest): Implemented, for compatibility
	with CUPS 1.1.x.

	* cupsconnection.c (get_printer_attributes_request): New function.
	(build_list_from_attribute_strings): New function.
	(Connection_getPrinterAttributes): Implemented.
	(Connection_setPrinterJobSheets): Implemented.
	(Connection_setPrinterErrorPolicy): Implemented.
	(Connection_setPrinterOpPolicy): Implemented.
	(Connection_getClasses): Use build_list_from_attribute_strings().

2006-02-23  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Better 'dist' target.

2006-02-23  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.1.

2006-02-23  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setPrinterPublished): Implemented.
	(Connection_getPrinters): Add 'printer-is-shared' Boolean into
	requested attributes.

	* cupsmodule.c (cups_getUser): Implemented.
	(cups_getServer): Implemented.
	(cups_getPort): Implemented.
	(cups_getEncryption): Implemented.

	* cupsppd.h (PPD): Moved this here from..
	* cupsppd.c: ..here.
	(PPD_writeFd): No longer static.
	(PPD_findOption): Implemented.

	* cupsconnection.c (Connection_addPrinter): Accept 'ppd' keyword,
	for cups.PPD object.

	* cupsppd.c (PPD_init): Open handle to PPD file.
	(PPD_dealloc): Close it.
	(PPD_writeFd): Implemented.

	* cupsmodule.c (cups_setPort): Implemented.

2006-02-22  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinterToClass): Implemented.
	(Connection_deletePrinterFromClass): Implemented.
	(Connection_addPrinter): Added 'info', 'location', and 'device'
	keywords.
	(add_modify_printer_request): New utility function.
	(Connection_setPrinterInfo): Implemented.
	(Connection_setPrinterLocation): Implemented.
	(Connection_getClasses): Implemented.

	* cupsmodule.c (initcups): Added printer states constants.

	* cupsconnection.c: More consistent error handling.
	(do_printer_request): Fixed ipp_t leak.
	(Connection_addPrinter): Likewise.
	(Connection_setPrinterDevice): Likewise.
	(set_ipp_error): Make use of cupsLastErrorString conditional on
	CUPS 1.2.

	* cupsconnection.c (Connection_putFile): Fixed ipp_t leak.
	(set_ipp_error): "i" -> "(is)" for IPPError.

	* cupsmodule.h: New file.

	* cupsconnection.c (Connection_getDevices): Implemented.

2006-02-21  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPPDs): Implemented.

	* cupsppd.c (Group_getOptions): Return a list, not a dict, to
	preserve the order of options.
	* test.py (test_cups_module): Updated.

	* cupsconnection.c (Connection_addPrinter): Allow adding a printer
	from a ppd-name instead of a filename.

	* cupsconnection.c (Connection_getFile): Fixed ipp_t leak.

	* cupsppd.c (PPD_getOptionGroups): Make this an attribute not a
	method.
	* test.py (test_cups_module): Updated.

	* cupsppd.c: Implement 'Constraint' type.
	* cupsppd.h: Declare cups_ConstraintType.
	* cupsmodule.c (initcups): Add 'Constraint' type.

	* cupsconnection.c (Connection_getPrinters): Do this inline
	instead of in a separate function.

