\input texinfo    @c -*- texinfo -*-
@c %**start of header
@setfilename what-was-new.info
@settitle What Was New in the GPGME Python Bindings and Documentation
@documentencoding utf-8
@documentlanguage en
@c %**end of header

@finalout
@titlepage
@title What Was New in the GPGME Python Bindings and Documentation
@author Ben McGinnes
@end titlepage

@contents

@ifnottex
@node Top
@top What Was New in the GPGME Python Bindings and Documentation
@end ifnottex

@menu
* What Was New::

@detailmenu
--- The Detailed Node Listing ---

What Was New

* What Was New in GPGME 1·12·0::

What Was New in GPGME 1·12·0

* New in GPGME 1·12·0::

@end detailmenu
@end menu

@node What Was New
@chapter What Was New

@multitable {aaaaaaaaaaaaaaa} {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
@item Version:
@tab 0.0.1
@item GPGME Version:
@tab 1.13.0
@item Author:
@tab Ben McGinnes <ben@@gnupg.org>
@item Author GPG Key:
@tab DB4724E6FA4286C92B4E55C4321E4E2373590E5D
@item Language:
@tab Australian English, British English
@item xml:lang:
@tab en-AU, en-GB, en
@end multitable

The following are all the past @emph{What's New} sections for the Python
Bindings HOWTO and other documentation.

@menu
* What Was New in GPGME 1·12·0::
@end menu

@node What Was New in GPGME 1·12·0
@section What Was New in GPGME 1·12·0

The most obviously new point for those reading this guide is this
section on other new things, but that’s hardly important. Not given
all the other things which spurred the need for adding this section
and its subsections.

@menu
* New in GPGME 1·12·0::
@end menu

@node New in GPGME 1·12·0
@subsection New in GPGME 1·12·0

There have been quite a number of additions to GPGME and the Python
bindings to it since the last release of GPGME with versions 1.11.0
and 1.11.1 in April, 2018.

The bullet points of new additiions are:

@itemize
@item
an expanded section on @uref{gpgme-python-howto#installation, installing} and @uref{gpgme-python-howto#snafu, troubleshooting} the Python
bindings.
@item
The release of Python 3.7.0; which appears to be working just fine
with our bindings, in spite of intermittent reports of problems for
many other Python projects with that new release.
@item
Python 3.7 has been moved to the head of the specified python
versions list in the build process.
@item
In order to fix some other issues, there are certain underlying
functions which are more exposed through the @uref{gpgme-python-howto#howto-get-context, gpg.Context()}, but
ongoing documentation ought to clarify that or otherwise provide the
best means of using the bindings.  Some additions to @samp{gpg.core} and
the @samp{Context()}, however, were intended (see below).
@item
Continuing work in identifying and confirming the cause of
oft-reported @uref{gpgme-python-howto#snafu-runtime-not-funtime, problems installing the Python bindings on Windows}.
@item
GSOC: Google's Surreptitiously Ordered Conscription @dots{} erm @dots{} oh,
right; Google's Summer of Code.  Though there were two hopeful
candidates this year; only one ended up involved with the GnuPG
Project directly, the other concentrated on an unrelated third party
project with closer ties to one of the GNU/Linux distributions than
to the GnuPG Project.  Thus the Python bindings benefited from GSOC
participant Jacob Adams, who added the key@math{_import} function; building
on prior work by Tobias Mueller.
@item
Several new methods functions were added to the gpg.Context(),
including: @uref{gpgme-python-howto#howto-import-key, key@math{_import}}, @uref{gpgme-python-howto#howto-export-key, key@math{_export}}, @uref{gpgme-python-howto#howto-export-public-key, key@math{_export}@math{_minimal}} and
@uref{gpgme-python-howto#howto-export-secret-key, key@math{_export}@math{_secret}}.
@item
Importing and exporting examples include versions integrated with
Marcel Fest's recently released @uref{https://github.com/Selfnet/hkp4py, HKP for Python} module.  Some
@uref{gpgme-python-howto#hkp4py, additional notes on this module} are included at the end of the HOWTO.
@item
Instructions for dealing with semi-walled garden implementations
like ProtonMail are also included.  This is intended to make things
a little easier when communicating with users of ProtonMail's
services and should not be construed as an endorsement of said
service.  The GnuPG Project neither favours, nor disfavours
ProtonMail and the majority of this deals with interacting with the
ProtonMail keyserver.
@item
Semi-formalised the location where @uref{gpgme-python-howto#draft-editions, draft versions} of this HOWTO may
periodically be accessible.  This is both for the reference of
others and testing the publishing of the document itself.  Renamed
this file at around the same time.
@item
The Texinfo documentation build configuration has been replicated
from the parent project in order to make to maintain consistency
with that project (and actually ship with each release).
@item
a reStructuredText (@samp{.rst}) version is also generated for Python
developers more used to and comfortable with that format as it is
the standard Python documentation format and Python developers may
wish to use it with Sphinx.  Please note that there has been no
testing of the reStructuredText version with Sphinx at all.  The
reST file was generated by the simple expedient of using @uref{https://pandoc.org/, Pandoc}.
@item
Added a new section for @uref{gpgme-python-howto#advanced-use, advanced or experimental use}.
@item
Began the advanced use cases with @uref{gpgme-python-howto#cython, a section} on using the module with
@uref{https://cython.org/, Cython}.
@item
Added a number of new scripts to the @samp{example/howto/} directory;
some of which may be in advance of their planned sections of the
HOWTO (and some are just there because it seemed like a good idea at
the time).
@item
Cleaned up a lot of things under the hood.
@end itemize

@bye