3 Now requires Qt6 or later.
5 Android: Qt6 bringup. Require API 26 and target API 31.
7 Android: Now uses the native file picker.
9 A few bug fixes. See ChangeLog for details.
11 Using version libpwmd-8.4.4 or later is recommended since this version fixes
12 an important bug when doing remote connections to pwmd.
17 Parse the new MODIFIED status message.
19 Doing 'make deb' now uses Qt6. It's worth checking out the 'qt6ct' Debian
20 package which sets font sizes and other things for Qt programs.
22 Added a timer setting to unlock an opened data file mutex. For people like me
23 that forget to close the main window which prevents other clients from opening
26 Android: Hide the main widget while obtaining credentials. Also default to
27 requiring any credentials.
29 Android: Update gradle stuff to prepare for API level bringup. It will happen.
32 Fixed a few build and warnings with Qt 6.4.
34 Android: Update dependencies.
39 Fixed deleting elements of a target during a multi-selection.
41 Enable Advanced Find on Android.
46 A few fixes to support Qt 6.x. Use 'qmake6' rather than 'qmake'. This is only
47 for the desktop version for now. Android support in qpwmc for Qt6 is not
50 Added an Advanced search dialog to search for element names, attribute names
51 and atitribute values. All matching elements may also be selected from this
52 dialog for further operations. This is only for the desktop version as there
53 still needs to be a way to do this on Android without having the dialog get
54 int the way of the main window.
56 Added icons for Next/Previous search result. Pressing Shift-Enter will also
57 select the previous result.
59 Added contrib/xmpp.xml.
61 Application forms can now be revisited after committing by selecting the Back
64 Added a checkbox to all forms to allow overwriting existing element content.
66 Added form element <placeholderText> for use with linedEdit's.
68 Fixed Pwmd::spawnEditor() to work with programs other than qpwmc. Oops.
70 Removed the SSH 'Needs passphrase' checkbox from PwmdSocketWidget. This is
71 determined automatically by recent libpwmd changes. An libssh2 built with the
72 OpenSSL crypto engine is recommended and is required if you want password
73 protected SSH identities.
75 A rather large speedup for operations on many selected elements.
77 A slew of multi-selection bugfixes.
79 A few other bugfixes. See ChangeLog for details.
84 Fix regression. There really should be some unit tests or similar.
89 Another round of bugfixes.
94 Various bugfixes. One nasty.
99 DnD operations can now work with with multi-element selections.
101 The Escape key now exits a multi-element selection.
103 Added a menu item, popup content menu item and hotkey to create a sibling
106 Android: Updated external libraries and fixed supporting all QtCreator
107 supported architectures.
109 A few bug and crash fixes. See ChangeLog for details.
114 Can now select more than one element to perform an operation. On the desktop
115 use Shift-Left-Click to select a range of elements or Ctrl-Left-Click to pick
116 elements. On Android, enable Multi-mode from the Element menu then pick
119 Added the ability to search and replace an attribute value with support for
120 back-references. Also works with multi-element selections.
125 Now appends the current git commit hash to the version string to aid in
128 android: Clear the clipboard when exiting the app.
130 w32/android: Rebuild with updated dependencies.
132 Now uses the new LIST --sexp switch of pwmd and requires pwmd version 3.3.0 or
133 later. This allows attributes for all elements be included in the element list
134 and prepares for multiple element selections and operations in a later
137 Releases are now signed using a new signing key. The fingerprint of the new
138 key is 6078FEB430EFA427499E6E78555B69666326961C and is cross-signed with my
139 new primary key which is cross-signed with my old primary key. I don't believe
140 the old keys to be compromised; it is only to rotate them and update to newer
143 A few bug fixes. See ChnageLog for details.
148 Added a calendar widget to XML forms.
150 Fixed crash when creating a new attribute.
152 android: Disable using the native file picker feature introduced in Qt 5.13.0.
157 android: Really fix clearing the clipboard. Setting the clipboard to an empty
158 string doesn't really clear it for some reason. So use a single space
159 character as the new content, then try clearing it again.
161 Now clears the clipboard upon exit when the clipboard expiration timer is
164 Fixed showing password content for an element with a target that has cached
165 content. It can be exposed during a lagged connection while fetching
166 attributes for the element with the target.
168 Disable the tab widgets entirely while busy.
173 android: Fixed clearing of the clipboard.
177 Fixed a potential crash when exiting the program.
179 A couple more fixes for the attribute tab time labels.
184 Added password constraints to PwmdGenPassWidget. This allows for adding
185 user-defined characters to the generated password at random. The percentage of
186 occurrence of the characters can be set in the Preferences and is a percentage
187 of the total length of the password. User-defined characters in a character
188 class can also be ignored when generating a password. This makes it easy to
189 adapt to the different password requirements of various providers.
191 Now uses QRandomGenerator::secure() since it provides access to the HWRNG for
192 various platforms when available.
194 Fixed actions for an element that hadn't yet been selected during a DnD
195 operation. After the popup is shown the attributes for an unvisited element
196 are fetched from pwmd. When successfully retrieved the valid actions are
199 Element searching is now case-sensitive when an uppercase letter is present.
201 Bug fixes and tweaks.
206 Content caching is now enabled by default.
208 Fixed a couple crasher bugs.
210 Fixed potentially sending the wrong command after a DnD operation.
212 Now remembers the expanded state of each element after a tree refresh.
214 Added a search text entry widget to the toolbar to replace the element tree
215 widget header search field.
217 Fixed the BULK command offset. Other commands were getting ran after a
220 The command queue now sets GPG_ERR_MISSING_ERRNO as the return code passed to
221 the commandResult() signal for commands being flushed rather than the return
222 code of the command that failed.
224 Forms specified on the command line will now return an non-zero exit code on
225 failure or cancellation.
227 Fixed PwmdClientDialog to update status for ourself and also make it non-modal
230 Try to keep the current view and element selection upon content update
233 Fixed the Save toolbutton when the file was a new one.
235 Added command line option -n to disable file locking for the current data
238 Double-clicking an element now expands rather than renames it. Use the
239 toolbutton or Element->Rename menu item to rename an element.
241 Miscellaneous tweaks and fixes.
243 Android: Require device unlock credentials (if any) when QPwmc is launched or
244 brought back into the foreground. Can be disable in the preferences.
246 Android: Prevent showing the window state in the Recent apps list.
248 Android: Check for storage permissions when required.
250 Android: Fix buggy popup context menus in the element tree.
252 Win32: Added a helper script to copy installer dependencies from an MXE build.
254 Win32: Added XML forms to the installer.
259 No longer minimize to the system tray when editing (-e) is passed.
261 Fixed the title of a few dialog windows.
263 Fixed random crash during the destroying of dialog windows.
265 Added instructions for building a win32 installable package.
267 Added win32 application icon.
272 Fixed connecting to a remote server via SSH on Android.
274 Fixed a potential crash when flushing the command queue.
279 Fixed creating "_target" attributes during Drag-and-Drop. This was due to an
280 search-and-replace messup during the internal namespace change of reserved
286 Fixed the password generate button to copy the password to the clipboad and
287 start the clipboard clear timer.
292 Added support for the BULK protocol command to speed up remote connections.
293 QPwmc now requires libpwmd-8.3.0 or later and pwmd-3.2.0 or later.
295 Updated android stuff and seems to fix check boxes among other UI glitches.
297 Added a preference to start in the system tray and command line option -y.
299 Removed Pwmd::lockTimeout() and Pwmd::setLockTimeout().
301 Removed PwmdInquireData::commandLine().
303 Element attributes are now refreshed with the content when explicitly
304 requested (refresh button or menu item).
306 Removed the auto-update feature. Element modifications are updated when needed
307 as if the old preference was enabled.
309 Added PwmdCommandQueueItem::setNeedsInquire() and
310 PwmdCommandQueueItem::needsInquire() to inform the command queue that this
311 command requires a server inquire to prevent syntax errors.
313 Added PwmdCommandQueueItem::errorList() to fetch the known error list for a
316 Miscellaneous fixes and tweaks.
321 Require pwmd 3.1.1 for new LS command output to include filesystem timestamps
322 which is shown in PwmdOpenDialog.
324 Added PwmdSaveWidget key binding Ctrl-F to focus the key search field. The
325 Enter key will also search for the next match rather than committing the
326 dialog. Focus to another widget (press TAB) then press Enter to commit the
327 dialog without using the mouse.
329 PwmdOpenDialog now shares the same widget with PwmdFileOptionsWidget. This
330 removes File->Lock menu item and adds it to PwmdFileOptionsWidget.
332 Added scaleable (SVG) icons to fix visibility problems on Android and possibly
333 other platforms. These icons are borrowed from openclipart.org. See THANKS for
336 Fixed the GUI sometimes getting stuck in the Busy state.
338 Fixed forms not sending all attributes when committing.
340 Fixed forms wanting to be saved more than once when committing.
342 Fixed setting the initial expiry when set from a form.
344 File selection dialog windows now remember the last folder/directory used. A
345 separate directive is used for forms.
347 Other bug fixes. See ChnageLog for details.
352 Added creation of a Debian package by doing 'make deb' after running qmake.
356 Added a button to obtain the user command inquire data from a filename.
358 Ask for confirmation before deleting a key in the Extended Save dialog.
360 Fixed crash introduced in previous version.
362 Added a system tray shortcut preference to close the data file but keep the
363 connection open. This also adds Pwmd::close().
365 Added searching of the element tree with a regular expression.
367 Changed how closing the main window behaves when there are changes to the
368 opened document to prevent unwanted data loss.
370 Added the "<expiry />" element to XML forms to add a button to select element
373 Other bugfixes. See ChangeLog for details.
378 Requires libpwmd-8.2 or later and pwmd-3.1-beta3 or later.
380 Experimental Android support. Please read README.android for details.
382 Added Pwmd::connectFd() to connect an existing socket file descriptor.
384 Added PwmdInquireData::commandLine() to determine if a command needs to do a
387 Bugfixes. See ChangeLog for details.
392 Requires libpwmd-8.1 or later.
394 Added Pwmd::isQueued() to determine if a command is in the command queue or in
395 the garbage collector queue.
397 Added Pwmd::genkey() to make use of new key generation feature.
399 Added PwmdKeyGenDialog.
401 PwmdSaveWidget: Added ability to generate a subkey for a primary key.
403 PwmdSaveWidget: Added ability to delete a key.
405 PwmdSaveWidget: At most one signer allowed.
407 A couple of expiry fixes.
412 Requires libpwmd-8.0 or later.
414 Now uses a QMainWindow with menus, toolbars, status bar and progress bar.
418 Rework for the removal of "literal" elements.
420 Content, attributes and command tabs are now on the main window.
422 New PwmdSaveWidget to select encryption and signing keys for a data file.
424 Lots of other tweaks, cleanups and fixes.