Preview pane has Copy and Paste rendering settings. See #11552
Image Viewer rdef Copy and Paste
Handle copy and paste of unsaved rdef OR imageId
Save settings to copied image, then revert after applying
Simple salting of MD5 passwords (See #1387)

While waiting on a more complete hashing system,
adding a simple salt to the 'hash' column reduces
the benefit to any attacker who may gain access to
the postgresql data.

Passwords are updated as they are changed.
Update PasswordUtil and db.py for parsing from the CLI
Check for None args arguments
Allow hash to be null in log INFO when closing table
Fix copyrights, headers, and some whitespace
Change true to Boolean.TRUE
Only close table if it hasn't already been closed
Add to javadoc of comparePasswords
Clarify PasswordUtil usage
Retrieve group details at initialisation if not provided
Only update OriginalFile if table was modified.

modified flag added to HdfStorage, TableI.close() checks this flag
fix #11693: prevent rename of user's current group
Add MATLAB ScriptFileType
Propagate 'omero.launcher' value to processor.py

For each launcher type, an 'omero.launcher.<TYPE>' configuration
setting is available so that an executable can be passed to the
processor.py service. For 'omero.launcher.python' special handling
of the empty string is available in order to make use of
sys.executable.
Use try-finally to ensure writes are always flushed
Hard-code better mimetypes in script.py

The plugin will eventually need to use a service
to set the value since third-parties can configure
some unknown file-ending / mimetype pair.

See: https://trac.openmicroscopy.org.uk/ome/ticket/11741