* Added a 'pypad_live365.py' PyPAD script.
* Removed the 'rlm_live365' RLM.
* Fixed typos in the docstrings for 'PyPAD.Update::startDateTime()'
and 'PyPAD.Update::padField()'.
* Renamed the RD_RLM2_CLIENT_TCP_PORT define to RD_PAD_CLIENT_TCP_PORT.
* Renamed the RD_RLM_SOURCE_UNIX_ADDRESS define to
RD_PAD_SOURCE_UNIX_ADDRESS.
* Added a RD_PYPAD_SCRIPT_DIR define.
* Added an 'RDNotification::PypadType' value to the
'RDNotification::Type' enumeration.
* Added 'PypadOwner=' and 'PypadGroup=' directives to the
'[Identity]' section of rd.conf(5).
* Added an rdpadengined(8) service.
* Added a 'PYPAD_INSTANCES.IS_RUNNING' field to the database.
* Added a 'PYPAD_INSTANCES.EXIT_CODE' field to the database.
* Added a 'PYPAD_INSTANCES.ERROR_TEXT' field to the database.
* Incremented the database version to 304.
* Added a 'PYPAD_INSTANCES' table to the database.
* Incremented the database version to 303.
* Added a 'PyPAD Instances' button to the 'Edit Station' dialog
in rdadmin(1).
* Added a 'ListPyPAD Instances' dialog in rdadmin(1).
* Added an 'Edit PyPAD' Instance' dialog in rdadmin(1).
* Added a 'PyPAD.Receiver::setConfigFile()' method.
* Added a 'PyPAD.Update::shouldBeProcessed()' method.
* Updated the 'pypad_filewrite.py' script to use the
'PyPAD.Update::shouldBeProcessed()' method.
* Updated the 'pypad_udp.py' script to use the
'PyPAD.Update::shouldBeProcessed()' method.
* Added a 'make install' rule in 'apis/PyPAD/examples/' to install
PyPAD scripts in '${libdir}/rivendell/PyPAD/'.
* Fixed a typo in the pseudo-bangpath line in the example PyPAD
scripts.
* Renamed 'apis/PyPAD/examples/pypad_test.py' to
'apisPyPAD/tests/pad_test.py'.
* Added a 'hostName' field to the JSON PAD 'padUpdate' object.
* Added a 'PyPAD.Update::hostName()' method.
* Added a 'shortHostName' field to the JSON PAD 'padUpdate' object.
* Added a 'PyPAD.Update::shortHostName()' method.
* Added a 'PyPAD.Update::resolveFilepath()' method.
* Added 'apis/PyPAD/tests/filepath_test.py.
* Added 'api/PyPAD/examples/pypad_filewrite.py'.
* Renamed 'apis/PyPAD/examples/pypad_test.py' to
'apisPyPAD/tests/pad_test.py'.
* Added a 'hostName' field to the JSON PAD 'padUpdate' object.
* Added a 'PyPAD.Update::hostName()' method.
* Added a 'shortHostName' field to the JSON PAD 'padUpdate' object.
* Added a 'PyPAD.Update::shortHostName()' method.
* Added a 'PyPAD.Update::resolveFilepath()' method.
* Added 'apis/PyPAD/tests/filepath_test.py.
* Added 'api/PyPAD/examples/pypad_filewrite.py'.
* Added support for the 'ProcessNullUpdates=' directive in the
'pypad_udp.py' script.
* Added support for the log selection directives in the
'pypad_udp.py' script.
* Changed the name of the JSON PAD field 'logMachine' to 'machine'.
* Changed the name of the 'PyPAD.Update::logMachine()' method to
'PyPAD.Update::machine()'.
* Changed the name of the JSON PAD field 'logMode' to 'mode'.
* Added a 'PyPAD.Update::mode()' method.
* Added a 'cutNumber' field to the JSON PAD 'now' and 'next' objects.
* Added a 'PyPAD.FIELD_CUT_NUMBER' define.
* Added 'api/PyPAD/examples/pypad_test.py'.
* Renamed the 'PyPAD.Update::padFields()' method to
'PyPAD.Update::resolvePadFields()'.
* Added a 'PyPAD.Update::padField()' method.
* Added a 'PyPAD.Update::escape()' method.
* Renamed the 'PyPAD.Update::dateTime()' method to
'PyPAD.Update::dateTimeString()'.
* Changed the format of the 'dateTime' field in the PAD JSON structure
from RFC822 to ISO 8601.
* Added a 'startDateTime' field to the 'now' and 'next' objects in
the PAD JSON structure.
* Added a PAD Type enumeration for use in 'PyPAD.Update'.
* Added 'PyPAD.Update::hasPadType()' and 'PyPAD.Update.startDateTime()'
methods.
* Removed 'PyPAD.Update::hasNowPad()' and 'PyPAD.Update:hasNextPad()'
methods.
* Added support for '%d(<dt>)' and '%D(<dt>)' wildcards in
'PyPAD.Update::padFields()'.
* Changed the Python namespace of the PyPAD classes from
'rivendell.PyPAD' to 'PyPAD'.
* Renamed the 'PyPAD.PyPADReceiver' class to 'PyPAD.Receiver'.
* Renamed the 'PyPAD.PyPADUpdate' class to 'PyPAD.Update'.
* Added a 'port' argument to the 'PyPAD.Receiver::start()' method.
* Added an 'escaping' argument to the 'PyPAD.Update::padFields()'
method.
* Added support for the 'Encoding=' directive to the 'pypad_udp.py'
script.