docs: Update to add LIST --sexp.
[pwmd.git] / NEWS
blob9e0627325799bc5af788820b2f361160e37f0f4d
1 PWMD v3.2.2
2 -----------
3 Disable gpg-agent caching of the key for symmetrically encrypted data files.
4 The gpg-agent options to do this were previously mentioned in the pwmd
5 documentation, but we will pass the option to gpgme explicitly to prevent
6 misuse.
8 Portability fix.
11 PWMD v3.2.1
12 -----------
13 Fixed creating a Debian package from a tarball.
15 Fixed a crash during recursion loop detection.
17 Fixed a crash in the LIST command.
19 Fixed the GENKEY command to work properly when passed --expire due to a typo.
21 Fixed the BULK command to sometimes not work when not used as an --inquire.
23 Fixed the cache potentially returning a stale document.
25 Fixed the OPEN command to update the checksum for a reopened file.
27 Fixed a bug in the STORE command refusing the create an element path even with
28 proper access rights.
31 PWMD v3.2
32 ---------
33 Add the BULK protocol command to allow sending multiple commands using an
34 (semi) s-expression syntax. This can speed up remote connections quite a bit
35 since less socket IO is needed. This also adds a BULK status message to inform
36 the client of the current bulk command being run which may be needed when a
37 command inquires data from the client.
39 No longer flood a TLS client with assuan protocol comment lines when spinning
40 in a read.
42 The _mtime and _ctime element attributes can no longer be modified or removed
43 by a client.
45 All known attributes to pwmd are now prefixed with an _:
46     "target" -> "_target"
47     "expire" -> "_expire"
48     "expire_increment" -> "_age"
50 Added a "_version" attribute to the document root element to hold the current
51 version of pwmd.
54 PWMD v3.1.1
55 -----------
56 The XFER status message is now sent only once and before the transfer starts
57 leaving it to the client to calculate the amount of data transferred.
59 Added "LS --verbose" to include the filesystem atime, mtime and ctime
60 timestamps of data files.
62 Build, portability and other bug fixes. See ChangeLog for details.
65 PWMD v3.1
66 ---------
67 The project has moved to GitLab (https://gitlab.com/bjk/pwmd/wikis). Downloads
68 are still available at SourceForge but the issue tracker, git repository and
69 wiki are now hosted at GitLab.
71 Re-added the "tls_use_crl" configuration parameter although it is disabled by
72 default.
74 DELETE no longer does any confirmation before deleting public and private
75 keys.
77 Portability and undefined behavior bugfixes. See ChangeLog for details.
80 PWMD v3.1-beta3
81 ---------------
82 The LS command now sorts filenames.
84 Fixed a long standing memory leak related to a client's thread name.
86 Key expiration is now ignored when OPEN'ing a data file. The next SAVE will
87 fail if using an expired key. See docs for details about what to do.
89 The CACHETIMEOUT command now requires an opened data file and no longer
90 considers an "invoking_user". The syntax has also changed to require only a
91 timeout parameter.
93 Added GENKEY --no-expire to allow creating keys that do not expire.
95 GENKEY now requires an opened data file.
97 Bug fixes. See ChangeLog for details.
100 PWMD v3.1-beta2
101 ---------------
102 New GENKEY command to generate a new keypair or subkey of an existing key
103 without saving the data file to disk.
105 Removed key generation altogether from the SAVE command. You must generate a
106 new key with the GENKEY command or use an existing key and pass the
107 fingerprint to the --keyid option.  The --sign-keyid option is also required
108 for new data files.
110 The SAVE command now allows only a single signer. Although, multiple
111 recipients may be specified.
113 LISTKEYS no longer requires an open data file.
115 Added configuration parameter "strict_open" to prevent a (non-invoking) client
116 from creating a new data file.
118 New command DELETEKEY to remove the private key associated with the currently
119 opened data file from the keyring.
121 Added copy-on-write for commands that modify the document.
123 The DUMP command no longer does a checksum test.
126 PWMD v3.1-beta1
127 ---------------
128 Ported to libgpgme. Data files are now OpenPGP encrypted and signed. A signer
129 is required when using asymmetric encryption and optional if using symmetric
130 encryption.
132 New global configuration parameter "gpg_homedir". The default is
133 ~/.pwmd/.gnupg which will spawn a gpg-agent process with this as it's homedir.
134 The secret and public keyrings live here. To use your regular keyring set this
135 to ~/.gnupg. This removes the "gpg_agent_socket" configuration parameter.
137 Added the pwmd-dump(1) utility to dump the contents of a v3.0.x data file. The
138 output file can then be imported by using 'pwmd --import'. pwmd-dump can also
139 update a v3.1 raw XML file to the latest element or attribute changes by
140 passing the --xml option. See the pwmd-dump(1) manual page for details.
142 Removed the notion of "literal" elements. Targets are always followed for
143 elements that have a 'target' attribute. This changes how the ATTR command
144 works. See the pwmd texinfo or html docs for details. Also note the inherited
145 and reserved attributes for elements with a target.
147 The LIST command now always implies the deprecated '--verbose' and
148 '--with-target' switches and adds the '--recurse' switch to replace the also
149 deprecated '--all' switch.
151 Rewrote the LIST command to better handle recursion loops. Still needs some
152 work, though. See KnownBugs.
154 New special attributes 'expire' and 'expire_increment'. See docs for details.
155 This also adds a new STATUS_EXPIRE status message.
157 New command LISTKEYS to show available (secret) keyid's.
159 New command KEYINFO to show encryption and signing keyid's for an opened data
160 file and --learn to create private key stubs for keys stored on a smartcard.
162 New global configuration parameters "encrypt_to" and "always_trust".
164 Added connected timestamp field to 'GETINFO --verbose CLIENTS'.
166 New status messages PASSPHRASE_HINT and PASSPHRASE_INFO when pinentry is
167 disabled.
169 New global configuration option "backlog" to set the TCP backlog for TLS
170 connections. The default is 128 (Linux default, too).
172 All clients now are cancelled upon SIGINT and SIGTERM without waiting for them
173 to disconnect themselves.
175 Added OPTION CLIENT-STATE to allow a client to opt-in to receive client STATE
176 status messages. By default, no client state is sent.
178 CACHETIMEOUT now allows access to an invoking user.
180 TLS rehandshake support upon SIGHUP.
182 New configuration option "tls_dh_params_file". This removes "tls_dh_level".
184 Removed configuration option "tcp_wait".
186 OPEN: Always allow an invoking user.
188 CLEARCACHE: Reworked to test the client ACL for each data file.