js: improve connection check
[gpgme.git] / lang / python / doc / src / what-was-new.org
1 # -*- mode: org -*-
2 #+TITLE: What Was New in the GPGME Python Bindings and Documentation
3 #+AUTHOR: Ben McGinnes
4 #+LATEX_COMPILER: xelatex
5 #+LATEX_CLASS: article
6 #+LATEX_CLASS_OPTIONS: [12pt]
7 #+LATEX_HEADER: \usepackage{xltxtra}
8 #+LATEX_HEADER: \usepackage[margin=1in]{geometry}
9 #+LATEX_HEADER: \setmainfont[Ligatures={Common}]{Times New Roman}
10 #+LATEX_HEADER: \author{Ben McGinnes <ben@gnupg.org>}
11
12
13 * What Was New
14   :PROPERTIES:
15   :CUSTOM_ID: new-stuff
16   :END:
17
18 | Version:        | 0.0.1                                    |
19 | GPGME Version:  | 1.13.0                                   |
20 | Author:         | Ben McGinnes <ben@gnupg.org>             |
21 | Author GPG Key: | DB4724E6FA4286C92B4E55C4321E4E2373590E5D |
22 | Language:       | Australian English, British English      |
23 | xml:lang:       | en-AU, en-GB, en                         |
24
25 The following are all the past /What's New/ sections for the Python
26 Bindings HOWTO and other documentation.
27
28
29 ** What Was New in GPGME 1·12·0
30    :PROPERTIES:
31    :CUSTOM_ID: gpgme-1-12-0
32    :END:
33
34 The most obviously new point for those reading this guide is this
35 section on other new things, but that’s hardly important. Not given
36 all the other things which spurred the need for adding this section
37 and its subsections.
38
39
40 *** New in GPGME 1·12·0
41     :PROPERTIES:
42     :CUSTOM_ID: new-stuff-1-12-0
43     :END:
44
45 There have been quite a number of additions to GPGME and the Python
46 bindings to it since the last release of GPGME with versions 1.11.0
47 and 1.11.1 in April, 2018.
48
49 The bullet points of new additiions are:
50
51 - an expanded section on [[file:gpgme-python-howto#installation][installing]] and [[file:gpgme-python-howto#snafu][troubleshooting]] the Python
52   bindings.
53 - The release of Python 3.7.0; which appears to be working just fine
54   with our bindings, in spite of intermittent reports of problems for
55   many other Python projects with that new release.
56 - Python 3.7 has been moved to the head of the specified python
57   versions list in the build process.
58 - In order to fix some other issues, there are certain underlying
59   functions which are more exposed through the [[file:gpgme-python-howto#howto-get-context][gpg.Context()]], but
60   ongoing documentation ought to clarify that or otherwise provide the
61   best means of using the bindings.  Some additions to =gpg.core= and
62   the =Context()=, however, were intended (see below).
63 - Continuing work in identifying and confirming the cause of
64   oft-reported [[file:gpgme-python-howto#snafu-runtime-not-funtime][problems installing the Python bindings on Windows]].
65 - GSOC: Google's Surreptitiously Ordered Conscription ... erm ... oh,
66   right; Google's Summer of Code.  Though there were two hopeful
67   candidates this year; only one ended up involved with the GnuPG
68   Project directly, the other concentrated on an unrelated third party
69   project with closer ties to one of the GNU/Linux distributions than
70   to the GnuPG Project.  Thus the Python bindings benefited from GSOC
71   participant Jacob Adams, who added the key_import function; building
72   on prior work by Tobias Mueller.
73 - Several new methods functions were added to the gpg.Context(),
74   including: [[file:gpgme-python-howto#howto-import-key][key_import]], [[file:gpgme-python-howto#howto-export-key][key_export]], [[file:gpgme-python-howto#howto-export-public-key][key_export_minimal]] and
75   [[file:gpgme-python-howto#howto-export-secret-key][key_export_secret]].
76 - Importing and exporting examples include versions integrated with
77   Marcel Fest's recently released [[https://github.com/Selfnet/hkp4py][HKP for Python]] module.  Some
78   [[file:gpgme-python-howto#hkp4py][additional notes on this module]] are included at the end of the HOWTO.
79 - Instructions for dealing with semi-walled garden implementations
80   like ProtonMail are also included.  This is intended to make things
81   a little easier when communicating with users of ProtonMail's
82   services and should not be construed as an endorsement of said
83   service.  The GnuPG Project neither favours, nor disfavours
84   ProtonMail and the majority of this deals with interacting with the
85   ProtonMail keyserver.
86 - Semi-formalised the location where [[file:gpgme-python-howto#draft-editions][draft versions]] of this HOWTO may
87   periodically be accessible.  This is both for the reference of
88   others and testing the publishing of the document itself.  Renamed
89   this file at around the same time.
90 - The Texinfo documentation build configuration has been replicated
91   from the parent project in order to make to maintain consistency
92   with that project (and actually ship with each release).
93 - a reStructuredText (=.rst=) version is also generated for Python
94   developers more used to and comfortable with that format as it is
95   the standard Python documentation format and Python developers may
96   wish to use it with Sphinx.  Please note that there has been no
97   testing of the reStructuredText version with Sphinx at all.  The
98   reST file was generated by the simple expedient of using [[https://pandoc.org/][Pandoc]].
99 - Added a new section for [[file:gpgme-python-howto#advanced-use][advanced or experimental use]].
100 - Began the advanced use cases with [[file:gpgme-python-howto#cython][a section]] on using the module with
101   [[https://cython.org/][Cython]].
102 - Added a number of new scripts to the =example/howto/= directory;
103   some of which may be in advance of their planned sections of the
104   HOWTO (and some are just there because it seemed like a good idea at
105   the time).
106 - Cleaned up a lot of things under the hood.