NEWS
----

New since 1.9.3:

* cups.Connection.enablePrinter() uses IPP_PAUSE_PRINTER
* cups.Connection.disablePrinter() uses IPP_RESUME_PRINTER
* cups.Connection.deleteClass()
* cups.Connection.setPrinterLocation() and
  cups.Connection.setPrinterInfo() now handle classes

New since 1.9.2:

* cups.PPD.* now convert from the PPD character set encoding
* cups.Connection.setPrinterPublished() is now renamed to
  cups.Connection.setPrinterShared()
* cups.Connection.setPrinterUsersAllowed()
* cups.Connection.setPrinterUsersDenied()

New since 1.9.1:

* fixed cups.Connection.setPrinterInfo()
* fixed cups.Connection.setPrinterLocation()
* cups.Connection.getPrinterAttributes()
* cups.Connection.setPrinterJobSheets()
* cups.Connection.setPrinterErrorPolicy()
* cups.Connection.setPrinterOpPolicy()
* cups.PPD.nondefaultsMarked()
* cups.IPP_* error constants

New since 1.9.0:

* cups.Constraint type
* cups.IPPError now includes the cupsLastErrorString()
* cups.IPP_PRINTER_* constants
* cups.setPort()
* cups.getUser()
* cups.getServer()
* cups.getPort()
* cups.getEncryption()

* cups.PPD.constraints attribute
* cups.PPD.getOptionGroups() method changed to optionGroups attribute
* cups.PPD.Group.options is a list, not a dict
* cups.PPD.findOption()
* cups.PPD.writeFd()

* cups.Connection.addPrinter now allows ppdname="foo.ppd" keyword for
  installed PPDs; also info, location, device and ppd keywords
* cups.Connection.getPPDs()
* cups.Connection.getDevices()
* cups.Connection.getClasses()
* cups.Connection.setPrinterInfo()
* cups.Connection.setPrinterLocation()
* cups.Connection.setPrinterPublished()
