...
String fixes
When generating sphinx documentation from command line usage/options, try to recognize and mark references to option in the help text
Refactor toolbar creation code for eventual user customizability
Edit Book: Allow customization of toolbars
Refactor the code to embed metadata into format files to enable re-use
RTF metadata: Add proper support for unicode characters when reading and writing metadata to RTF files

Also fix failure to write metadata to RTF files that do not already have
a \info block
New tool to set metadata in the actual book files in the calibre library from the updated metadata in the calibre database. To use it go to Preferences->Toolbars and add the "Embed metadata" tool to the main toolbar. Then simply select the books whose files you want to update and click the Embed metadata button. Normally, calibre updated metadata in the book files whenever a file is exported from calibre. This tool is useful for people who want the files int he calibre library to have updated metadata as well.
calibredb: Add a new 'embed_metadata' command to update metadata in the actual book files in the calibre library from the calibre database.
version 1.41.0
...
...
Port compiling of .ui forms
Port imports
Port build script for building PyQt extensions to PyQt5
Port the progress indicator extension to PyQt5
Allow controlling PyQt5 import path via the env var PYQT5_IMPORT_PATH
faster builds
Get rid of the PyQt4 string from everywhere
Port: setMargin() reset() QStringList()

setMargin(): QLayout no longer has a setMargin() function, replace with
setContentsMargins()

reset(): QAbstractListModel no longer has reset(), replace with
beginResetModel(), endResetModel()

QStringList: No longer exists, a simply python list of strings works
instead