Issues with botbuilder core's pinned version of jsonpickle with Python 3.11
botbuilder-core==4.16.1 jsonpickle==1.4.2 Python 3.11
Describe the bug We have implemented our custom storage class for storing conversation/dialog/user state in redis. We use jsonpickle library to serialize and deserialize data. Since botbuilder-core 4.16.1 depends on jsonpickle<1.5 and >=1.2, we use version 1.4.2. We upgraded recently from Python 3.9 to 3.11, after which we started noticing problems with inconsistent behaviour of jsonpickle 1.4.2, which we have detailed under the "To Reproduce" section.
We saw that older versions of jsonpickle had an issue with Python 3.11: https://github.com/jsonpickle/jsonpickle/issues/395, which they fixed in later versions. Once we forcefully installed jsonpickle==3.3.0 in our environment, we noticed that the issue was resolved. So, it would be good if the pinned version of jsonpickle can be updated.
To Reproduce Steps to reproduce the behavior:
For this, you will need to implement your custom storage class, overriding botbuilder core's Storage class.
The method to read data should use jsonpickle's Unpickler class's restore method The method to write data should use jsonpickle's Pickler class's flatten method Save the dialog state using this custom storage class, and read it back. Expected behavior The contents of the object after writing and reading should be the same as the contents of the original object.