Release Notes - Deployit

Version 3.7.1

Release Notes - Deployit Product Backlog - Version 3.7.1


** Story
    * [DEPLOYITPB-3320] - Improve import error handling when placeholder scanning fails

** Improvement
    * [DEPLOYITPB-3292] - Log DictionaryValueExceptions as WARN

** Bug
    * [DEPLOYITPB-3115] - AD-934: Password revealed during step "Waiting for AFS replication"
    * [DEPLOYITPB-3171] - Logger (PermissionEnforcer) is too much verbose 
    * [DEPLOYITPB-3241] - unable to delete CI's after migrating to 3.7.0
    * [DEPLOYITPB-3242] - Right-click menus do not scroll if the screen is too small
    * [DEPLOYITPB-3253] - User with "security edit" and "admin" permissions can't set permissions
    * [DEPLOYITPB-3259] - Deployables are not ordered alphabetically in the deployment editor
    * [DEPLOYITPB-3260] - Server includes spring-security-ldap version 3.0.5.RELEASE instead of 3.1.0.RELEASE
    * [DEPLOYITPB-3261] - Server includes spring-tx version 3.0.6.RELEASE instead of 3.1.1.RELEASE
    * [DEPLOYITPB-3263] - Package includes spurious __MACOSX files
    * [DEPLOYITPB-3265] - Security permissions printed in the CLI after an upgrade should correctly list local and global permissions
    * [DEPLOYITPB-3321] - Admin tab not shown in UI when user has "admin" right because he is a member of a group that has those privs instead of a user
    * [DEPLOYITPB-3322] - Release Dashboard: shows saved pipeline of other users of the same browser
    * [DEPLOYITPB-3323] - When logging out in the CLI, the previous credentials are remembered and a user can login with the same username and any credentials
    * [DEPLOYITPB-3324] - Double clicking on a CompositePackage in release dashboard does not show pipeline for version.
    * [DEPLOYITPB-3326] - Deployment pipelines boxes too small to fit timestamped versions generated by Deployit Maven plugin
    * [DEPLOYITPB-3338] - Cannot save udm.DeployedApplication entity


Version 3.7.0

** Major changes

    * Use the .NET plugin to deploy .NET applications to Microsoft middleware
    * The Release Dashboard gives real-time insight into applications’ progress through the release pipeline 
    * Combine project components into business service releases using composite packages
    * Fine-tune deployment strategy to new middleware stacks and customer environments by defining orchestrators 
    * View and edit security permissions in the GUI

** Bug
    * [DEPLOYITPB-792] - Removing repository directory gives errors in server.
    * [DEPLOYITPB-1166] - Clicking on buttons or tabs is already possible, even when the GUI is not yet fully loaded
    * [DEPLOYITPB-1177] - Remove INFO logging of authorization on each request
    * [DEPLOYITPB-1180] - Allow pretty printing of all DTOs in the CLI
    * [DEPLOYITPB-1368] - Calling TaskProxy.abort on a stopped task results in an NPE in the core
    * [DEPLOYITPB-1402] - Cannot set the Deployit server's bind address via the configuration
    * [DEPLOYITPB-1433] - Boolean values are marked as different in compare even if they are the same
    * [DEPLOYITPB-1446] - Impossible to *clear* a CI reference via the UI
    * [DEPLOYITPB-1601] - In an upgraded mapping , the placeholders are not upgraded if they are not detected 
    * [DEPLOYITPB-1612] - SSH SUDO the permissions between the user and the sudo users may not match
    * [DEPLOYITPB-1661] - recovery.dat already exists
    * [DEPLOYITPB-2123] - Pressing tab in the last cell of the placeholder component should add a new row
    * [DEPLOYITPB-2149] - Set-valued properties can contain no members even if "required"
    * [DEPLOYITPB-2183] - CLI: invoking print on a instance of com.xebialabs.deployit.core.api.dto.Deployment displays nothing
    * [DEPLOYITPB-2192] - OutOfMemory Error when importing packages with large (300MB) file(s) in it
    * [DEPLOYITPB-2194] - Cannot import package that has a CI or SET_OF_CIS reference where the referencedType is abstract or an interface
    * [DEPLOYITPB-2195] - Cannot import package that has an optional CI reference property that is not filled
    * [DEPLOYITPB-2203] - Unable to set value of non-required property to empty (i.e. "")  if it has a default value
    * [DEPLOYITPB-2228] - Auto-generated Deployables contain fields of type 'string' for booleans of the corresponding Deployeds
    * [DEPLOYITPB-2233] - Retrying a ScriptExecutionStep after initial failure causes an NPE in SshSftpFile:60
    * [DEPLOYITPB-2235] - Support a "file" FreeMarker property (generic-plugin) that uploads the artifact file and returns the remote path for all Artifacts, not just BaseDeployableArtifact
    * [DEPLOYITPB-2257] - The application should be on read only 
    * [DEPLOYITPB-2294] - Missing value in Deployit server startup messages
    * [DEPLOYITPB-2383] - When uploading the package, the resteasy framework leaves temporary files
    * [DEPLOYITPB-2559] - The -help option is not recognized
    * [DEPLOYITPB-2570] - When importing a package that contains an entry with an incorrect name, the error message is not very helpful
    * [DEPLOYITPB-2582] - Properties are not shown in the expected order
    * [DEPLOYITPB-2626] - Encoding problems with French caracters
    * [DEPLOYITPB-2703] - Getting a property's value via PropertyDescriptor.get() method should not return null for Map_String_String and Set_of_? types, but empty Map or Set instead.
    * [DEPLOYITPB-2726] - java.lang.IllegalArgumentException: Prefix string too short
    * [DEPLOYITPB-2755] - The copied python script doesn't work on Windows host configured with WinRM since the run time is not copied.
    * [DEPLOYITPB-2758] - Validation error when saving a CI on the repository browser leads to an XML popup
    * [DEPLOYITPB-2804] - The spinners on the Reports tab are active and hogging the CPU.
    * [DEPLOYITPB-2813] - Clean script : provide a way to select packages older than 3 months
    * [DEPLOYITPB-2820] - When the JCR repository contains nodes of unknown types, no node are returned from a search
    * [DEPLOYITPB-2822] - Hidden properties are persisted and persisted values override the values from deployit-defaults.properties
    * [DEPLOYITPB-2834] - Spurious NPE when shutting down the server by sending a POST request to the /deployit/server/shutdown resource
    * [DEPLOYITPB-2843] - NPE during import
    * [DEPLOYITPB-2856] - Generated upgrade deployeds still contains the old deployable data in some cases. 
    * [DEPLOYITPB-2857] - Problem using getArchivedTasks(begin,end) in the CLI
    * [DEPLOYITPB-2865] - Ghost window with dead buttons appears if there are unresolved placeholders
    * [DEPLOYITPB-2872] - Deployment fails with error message: org.apache.lucene.search.BooleanQuery$TooManyClauses: maxClauseCount is set to 1024
    * [DEPLOYITPB-2883] - Required hidden values can be set to '' (empty string) using deployit-defaults.properties
    * [DEPLOYITPB-2885] - Property values added to deployit-defaults.properties are not inherited
    * [DEPLOYITPB-2894] - Archives in generic.Folders processed by TrueZIP for placeholders are not copied to target machine
    * [DEPLOYITPB-2902] - Tag-based deployment : unmatched tag forbids manual mapping
    * [DEPLOYITPB-2904] - No valid error message on import / no message in GUI
    * [DEPLOYITPB-2907] - Uploaded classpathResources for ExecutedScript are not released and cannot be executed
    * [DEPLOYITPB-2909] - Type modification that sets a set_of_string property to an empty value (overriding a non-empty parent value) is ignored
    * [DEPLOYITPB-2910] - NPE when saving an artifact using CLI
    * [DEPLOYITPB-2918] - Unable to import DAR file
    * [DEPLOYITPB-2924] - File-not-found during drag-and-drop
    * [DEPLOYITPB-2940] - Packages downloaded from a URL are saved as temporary files with missing/invalid extensions
    * [DEPLOYITPB-2941] - Faulty repository directory after inital setup on windows
    * [DEPLOYITPB-2949] - Jetty Session fails to be invalidated. IllegalException is thrown. As seen during demo.
    * [DEPLOYITPB-2956] - When the DN of a user entry contains a comma, it will not receive the permissions granted to the groups it is a member of
    * [DEPLOYITPB-2966] - CLI changes control characters
    * [DEPLOYITPB-2976] - HTML encoding of dictionary values is wrong
    * [DEPLOYITPB-2985] - Dictionary substitution with <empty> does not work
    * [DEPLOYITPB-3006] - Inserting a new entry in a resourcebundle after sorting gives problems
    * [DEPLOYITPB-3013] - Default deployed property value defined in dictionary
    * [DEPLOYITPB-3015] - Modification checking of deployed with a map_string_string property
    * [DEPLOYITPB-3017] - Deployed is regarded as modified when a property goes from 'no value' to 'default value'
    * [DEPLOYITPB-3067] - Cannot import package with cli if the location is an URL
    * [DEPLOYITPB-3074] - Starting the Deployit server takes 40 seconds
    * [DEPLOYITPB-3076] - recovery.dat should be removed when no tasks are executing
    * [DEPLOYITPB-3084] - Creating two CIs referring to each other (circular dependency) leads to a stackoverflow exception on the server.
    * [DEPLOYITPB-3095] - Ensure XML in user input is encoded and not interpreted (WEB-002)
    * [DEPLOYITPB-3096] - Ensure user input to queries is filtered (WEB-003)
    * [DEPLOYITPB-3099] - Can <generate-deployable> the same type twice
    * [DEPLOYITPB-3120] - A subcontext menu is impossible to reach when the context menu is so low that the subcontext menu is shown higher
    * [DEPLOYITPB-3124] - Don't include HTML snippets in error messages to prevent XSS attacks (WEB-001)
    * [DEPLOYITPB-3125] - Show as root fails with empty environments in Deployed Applications
    * [DEPLOYITPB-3128] - Delta-analysis does not see different when adding a STRING to a SET_OF_STRING
    * [DEPLOYITPB-3146] - Repository not shut down properly when the server process is terminated
    * [DEPLOYITPB-3184] - Actual error not shown when wsadmin/wlst won't start
    * [DEPLOYITPB-3185] - Output sent to stderr is sometimes lost when running with the Python daemon
    * [DEPLOYITPB-3186] - Spurious "None" printed when an exception is thrown by a script running in the Python daemon
    * [DEPLOYITPB-1402] - Cannot set the Deployit server's bind address via the configuration
    * [DEPLOYITPB-1731] - When granting the deploy#upgrade permission to a principal, you also need to grant him the read permission on the corresponding Infrastructure.
    * [DEPLOYITPB-2149] - Set-valued properties can contain no members even if "required"
    * [DEPLOYITPB-2233] - Retrying a ScriptExecutionStep after initial failure causes an NPE in SshSftpFile:60
    * [DEPLOYITPB-2294] - Missing value in Deployit server startup messages
    * [DEPLOYITPB-2296] - LDAP configuration ignores the 'principalProvider' argument
    * [DEPLOYITPB-2302] - LdapPrincipalProvider caches the result of a "get groups for user" query even if the user credentials are invalid
    * [DEPLOYITPB-2383] - When uploading the package, the resteasy framework leaves temporary files
    * [DEPLOYITPB-2559] - The -help option is not recognized
    * [DEPLOYITPB-2570] - When importing a package that contains an entry with an incorrect name, the error message is not very helpful
    * [DEPLOYITPB-2626] - Encoding problems with French caracters
    * [DEPLOYITPB-2703] - Getting a property's value via PropertyDescriptor.get() method should not return null for Map_String_String and Set_of_? types, but empty Map or Set instead.
    * [DEPLOYITPB-2755] - The copied python script doesn't work on Windows host configured with WinRM since the run time is not copied.
    * [DEPLOYITPB-2758] - Validation error when saving a CI on the repository browser leads to an XML popup
    * [DEPLOYITPB-2804] - The spinners on the Reports tab are active and hogging the CPU.
    * [DEPLOYITPB-2820] - When the JCR repository contains nodes of unknown types, no node are returned from a search
    * [DEPLOYITPB-2822] - Hidden properties are persisted and persisted values override the values from deployit-defaults.properties
    * [DEPLOYITPB-2834] - Spurious NPE when shutting down the server by sending a POST request to the /deployit/server/shutdown resource
    * [DEPLOYITPB-2843] - NPE during import
    * [DEPLOYITPB-2856] - Generated upgrade deployeds still contains the old deployable data in some cases. 
    * [DEPLOYITPB-2857] - Problem using getArchivedTasks(begin,end) in the CLI
    * [DEPLOYITPB-2883] - Required hidden values can be set to '' (empty string) using deployit-defaults.properties
    * [DEPLOYITPB-2885] - Property values added to deployit-defaults.properties are not inherited
    * [DEPLOYITPB-2894] - Archives in generic.Folders processed by TrueZIP for placeholders are not copied to target machine
    * [DEPLOYITPB-2907] - Uploaded classpathResources for ExecutedScript are not released and cannot be executed
    * [DEPLOYITPB-2909] - Type modification that sets a set_of_string property to an empty value (overriding a non-empty parent value) is ignored
    * [DEPLOYITPB-2910] - NPE when saving an artifact using CLI
    * [DEPLOYITPB-2940] - Packages downloaded from a URL are saved as temporary files with missing/invalid extensions
    * [DEPLOYITPB-2941] - Faulty repository directory after inital setup on windows
    * [DEPLOYITPB-2949] - Jetty Session fails to be invalidated. IllegalException is thrown. As seen during demo.
    * [DEPLOYITPB-2956] - When the DN of a user entry contains a comma, it will not receive the permissions granted to the groups it is a member of
    * [DEPLOYITPB-2966] - CLI changes control characters
    * [DEPLOYITPB-2972] - When saving a CI, errors in the server don't show up in the GUI
    * [DEPLOYITPB-2976] - HTML encoding of dictionary values is wrong
    * [DEPLOYITPB-3006] - Inserting a new entry in a resourcebundle after sorting gives problems
    * [DEPLOYITPB-3011] - Security permissions are not enforced when reading multiple CIs
    * [DEPLOYITPB-3015] - Modification checking of deployed with a map_string_string property
    * [DEPLOYITPB-3017] - Deployed is regarded as modified when a property goes from 'no value' to 'default value'
    * [DEPLOYITPB-3026] - NamespaceException: deployit: is not a registered namespace prefix. in <script> at line number 1


Version 3.6.4

** Major functional changes

    * Upgraded to Overthere 1.0.16:
        * Default value of overthere.SshHost.allocateDefaultPty is now false to prevent problems with OpenSSH on AIX or WinSSHD. Set to true 
        * Added hidden property overthere.SshHost.sudoOverrideUmask that, when set, causes permissions to be explicitly changed with chmod -R go+rX after uploading a file or directory with scp.

** Improvements
    * [DEPLOYITPB-2900] - Surpress the CLI banner when executing a script.
    * [DEPLOYITPB-2961] - Make it possible to change the server's context root.

** Bug fixes
    * [DEPLOYITPB-2233] - Retrying a ScriptExecutionStep after initial failure causes an NPE in SshSftpFile:60.
    * [DEPLOYITPB-2302] - LdapPrincipalProvider caches the result of a "get groups for user" query even if the user credentials are invalid.
    * [DEPLOYITPB-2686] - LDAP user/search base documentation is missing.
    * [DEPLOYITPB-2758] - Validation error when saving a CI on the repository browser leads to an XML popup.
    * [DEPLOYITPB-2804] - The spinners on the Reports tab are active and hogging the CPU.
    * [DEPLOYITPB-2894] - Archives in generic.Folders processed by TrueZIP for placeholders are not copied to target machine.
    * [DEPLOYITPB-2902] - Tag-based deployment : unmatched tag forbids manual mapping.
    * [DEPLOYITPB-2904] - No valid error message on import / no message in GUI.
    * [DEPLOYITPB-2907] - [generic-plugin] Uploaded classpathResources for ExecutedScript are not released and cannot be executed.
    * [DEPLOYITPB-2918] - Unable to import DAR file.
    * [DEPLOYITPB-2939] - Save packages downloaded from a URL for import under their original filename.
    * [DEPLOYITPB-2940] - Packages downloaded from a URL are saved as temporary files with missing/invalid extensions.
    * [DEPLOYITPB-2941] - Cannot use absolute directory to store the JCR repository on Windows.
    * [DEPLOYITPB-2956] - Fixed bug where a user DN with spaces caused its group membership check to not return anything.
    * [DEPLOYITPB-2959] - When the DN of a user entry contains a comma, it will not receive the permissions granted to the groups it is a member of.
    * [DEPLOYITPB-2976] - Placeholder are incorrectly replaced with HTML encoded values.
    * [DEPLOYITPB-2985] - Dictionary substitution with <empty> does not work.
    * [DEPLOYITPB-3010] - Cannot execute existing files (.bat, .exe) on Windows using SSH/Cygwin (e.g. needed by the WAS and WLS plugins).


Version 3.6.3

** Major functional changes

    * Repository garbage collection - when Deployit server is shutdown, the repository garbage collector is invoked to reclaim disk space freed up by deleting artifacts from the repository.

** Improvements
    * [DEPLOYITPB-2809] - Garbage collect JCR DataStore

** Bug fixes
    * [DEPLOYITPB-2856] - Generated upgrade deployeds still contains the old deployable data in some cases. 
    * [DEPLOYITPB-2857] - Problem using getArchivedTasks(begin,end) in the CLI


Version 3.6.2

** Major functional changes

    * Default tty allocation - the setting overthere.SshHost.allocateDefaultPty now defaults to _false_ instead of _true_ since this is the more common case. 

** Improvements
    * [DEPLOYITPB-2301] - Make the LdapPrincipalProvider's group cache timeout configurable
    * [DEPLOYITPB-2686] - Support 'userSearchBase' and 'groupSearchBase' options in LdapLoginModule/LdapPrincipalProvider
    * [DEPLOYITPB-2836] - Allow user to filter/query CI's based on the lastModified date
    * [DEPLOYITPB-2867] - Exclude files from placeholder scanning and replacing using a regular expression

** Bugs fixed
    * [DEPLOYITPB-1402] - Cannot set the Deployit server's bind address via the configuration
    * [DEPLOYITPB-2282] - deployit dictionary plugin: boolean values are not saved
    * [DEPLOYITPB-2296] - LDAP configuration ignores the 'principalProvider' argument
    * [DEPLOYITPB-2383] - When uploading the package, the resteasy framework leaves temporary files
    * [DEPLOYITPB-2626] - Encoding problems with French caracters
    * [DEPLOYITPB-2755] - The copied python script doesn't work on Windows host configured with WinRM since the run time is not copied.
    * [DEPLOYITPB-2843] - NPE during import
    * [DEPLOYITPB-2865] - Ghost window with dead buttons appears if there are unresolved placeholders
    * [DEPLOYITPB-2872] - Deployment fails with error message: org.apache.lucene.search.BooleanQuery$TooManyClauses: maxClauseCount is set to 1024
    * [DEPLOYITPB-2873] - Deployit repository retains history of deleted CIs


Version 3.6.1

** Major functional changes

    * Upgraded to Overthere 1.0.11


Version 3.6.0

** Bugs fixed

    * [DEPLOYITPB-601] - The letters in the Deployit logo are not correctly aligned
    * [DEPLOYITPB-1137] - upgrade: delete/edit mapping button should be disabled incase of upgrade till the new package is dropped
    * [DEPLOYITPB-1164] - Change final server startup message to mention the actual host the server is running on instead of 'localhost'
    * [DEPLOYITPB-1178] - Dummy extension file is included in the distribution
    * [DEPLOYITPB-1179] - Must be able to issue a command in the CLI to display initial help messages again
    * [DEPLOYITPB-1187] - Include CLI command to shutdown server
    * [DEPLOYITPB-1197] - Distribution includes a .gitignore file
    * [DEPLOYITPB-1223] - repository: Location field should be grayed out in Editing a package artifact
    * [DEPLOYITPB-1244] - repository: tab titles should show distinguishing information
    * [DEPLOYITPB-1698] - SCP directory copy does not support Windows-to-Unix copies
    * [DEPLOYITPB-2209] - Generated CI Reference should indicate which properties are required for discovery (@InspectionProperty)
    * [DEPLOYITPB-2258] - Placeholder scanning and replacement only supported in archives with 'correct' (undocumented) extensions
    * [DEPLOYITPB-2262] - Cannot undeploy file.File artifact
    * [DEPLOYITPB-2267] - SSH/SFTP connectionType : errors when Overthere try to clean the temporary directory
    * [DEPLOYITPB-2278] - Bug in the documentation about importer
    * [DEPLOYITPB-2282] - deployit dictionary plugin: boolean values are not saved
    * [DEPLOYITPB-2293] - Typos in Deployit server startup messages
    * [DEPLOYITPB-2297] - Missing documentation for LDAP configuration option 'userAttribute'
    * [DEPLOYITPB-2303] - Multiple concurrent login requests at UI startup can lock out a user if invalid credentials are presented
    * [DEPLOYITPB-2305] - Unable to import package with a file.Folder CI that contains TrueZIP-readable archives (e.g. JARs)
    * [DEPLOYITPB-2550] - Problem with Security Permission : given read access to an environment give full read access
    * [DEPLOYITPB-2553] - Missing CLI help documentation for public List<String> search(String ciType, String parent) in RepositoryClient
    * [DEPLOYITPB-2569] - Cannot undeploy a application if not steps are generated
    * [DEPLOYITPB-2594] - Cannot perform upgrade deployment in UI
    * [DEPLOYITPB-2597] - Required validation for SET_OF_STRING broken
    * [DEPLOYITPB-2598] - Property tags on udm.Deployable and udm.Container should not be required
    * [DEPLOYITPB-2601] - Property schema on sql.OracleClient should be renamed to SID
    * [DEPLOYITPB-2606] - Cannot undeploy a package with only SQL files if the user does not provide rollback SQL files
    * [DEPLOYITPB-2618] - Execution of control tasks not covered by security permission
    * [DEPLOYITPB-2621] - CI property that is transient (@Property(isTransient=true) ) is still stored to the repository.
    * [DEPLOYITPB-2637] - "server.sh -setup -reinitialize" should mention it only works for the default configuration.
    * [DEPLOYITPB-2640] - Keys and/or values in map_string_string properties are not resolved against the environment dictionaries
    * [DEPLOYITPB-2641] - ci and set_of_ci properties are not resolved against the environment dictionaries
    * [DEPLOYITPB-2643] - LDAP security is broken: group membership incorrectly determined
    * [DEPLOYITPB-2648] - Cannot generate a deployable that extends another generated deployable
    * [DEPLOYITPB-2651] - The packaging format for set_of_string contains a superfluous -EntryValue
    * [DEPLOYITPB-2655] - Placeholders not being validated on next. Validation errors for placeholders key with no values entered appear as an
 alert box. It should appear as validation errors label.Example:  9 error(s) found
    * [DEPLOYITPB-2679] - Password are not stored encrypted in the repository
    * [DEPLOYITPB-2683] - file property not set on Deployed on undeployment
    * [DEPLOYITPB-2684] - Spurious ActionScript error (TypeError) when dragging a deployable to a container
    * [DEPLOYITPB-2685] - Jboss plugin start.sh script hangs when executed on localhost
    * [DEPLOYITPB-2690] - Deployit 3.5.2 : regression on propagation of default values to sub-types
    * [DEPLOYITPB-2693] - Non-Deployment tasks should not be written to the recovery file.
    * [DEPLOYITPB-2694] - Placeholder validation throwing exception. See stack trace
    * [DEPLOYITPB-2699] - index.html for riatest is not templated to point to the latest swf
    * [DEPLOYITPB-2701] - Recovery fails with class not found exception
    * [DEPLOYITPB-2704] - Able to define duplicate properties 'id', 'name', 'type', etc
    * [DEPLOYITPB-2709] - Top 5 dasboard reports do not show data on last day for month with 31 days.
    * [DEPLOYITPB-2711] - Nested objects are no longer found using the base functions in python-plugin
    * [DEPLOYITPB-2720] - Creating a deployed by drag and drop should choose the most specific one and if more than one choices are available then only should show the selection popup
    * [DEPLOYITPB-2733] - In deployments done in date range report deployments from one day before selected begin date show up on ui.
    * [DEPLOYITPB-2734] - "Key Deployment Indicators in a date range" report title should be "Key deployment indicators in a date range"
    * [DEPLOYITPB-2747] - Placeholder are not replaced when the deployed is a generic.ExecutedScript


** Improvements fixed 

    * [DEPLOYITPB-1527] - CLI : command to display all the available CI's type
    * [DEPLOYITPB-2204] - as a deployer, I want to manage the attributes values of the Deployed by the dictionary
    * [DEPLOYITPB-2255] - Preserve order in which steps are added to the planning context by a contributor
    * [DEPLOYITPB-2285] - Use the ci.py CLI extension to simplify writing integration tests
    * [DEPLOYITPB-2632] - Show only the keys of visible properties in the comparison screen
    * [DEPLOYITPB-2635] - All packages downloaded from a URL are saved as ".dar" files which confuses additional importers
    * [DEPLOYITPB-2636] - Allow placeholder scanning in artifacts to be disabled
    * [DEPLOYITPB-2644] - Load Python script when a PythonStep is executed, not when it is created
    * [DEPLOYITPB-2670] - Add targetPath property to file.File, file.Folder, file.Archive
    * [DEPLOYITPB-2707] - Render checkboxes _in front of_ their labels
    * [DEPLOYITPB-2708] - Show full ID and type when hovering over an item in any of the browsers or selection widgets

