Steps to reproduce:
- Create a Custom Type e.g. for Environments, name v1, and in there, create a dynamic property (name it "/password") of type "protected". In the Custom Type definition, don't set a value. Activate the new Custom Type:
- name: /password
- protected: false
- highlighted: false
- type: Protected
- allowCustomValues: false
- Create an Environment of this Custom Type (v1). It will surely have the DynProp /password. Set it to "test123" or any other non-empty value.
- Create some workflow that reads out that value (via an Application-Component-Profile-bla-structure), e.g. via a custom action that simply echos that value. Result: The encrypted value (--10.....).
- Create an updated version of the Custom Type, e.g. v2. Don't do any changes to it, just activate it.
- Perform a type upgrade of the Environment created in step 2.
- Re-run the workflow.
Expected result: The password still exists and has the same value as set. The workflow outputs --10... again.
Observed result: The password was deleted. The DynProp still exists, but with an empty value. The output is just "--10", the encryption of an empty string.