Home Bug Reports

In version 3.6 struct Ice.Optional is not backward compatible with previous versions

PapayPapay Member Dmitriy EvsyukovOrganization: AigrindProject: Best MMORPG
In version 3.6 the structure Ice.Optional marked attribute [Serializable] and implemented interface ISerializable. Because defined method GetObjectData, now serialization occurs by different rules, not because it was in the previous version - default on public properties. This is nowhere mentioned in the documentation, there is no mention of it in the list of changes in the new version. Perhaps such similar changes also affected other parts of the code. It would be nice if the documentation listed these important changes.


  • mesmes CaliforniaAdministrators, ZeroC Staff Mark SpruiellOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    Hi Dmitriy,

    Thanks for reporting this. I believe you're referring to the fact that the serialized format of an Ice.Optional value changed in Ice 3.6? Did this affect your application?

  • PapayPapay Member Dmitriy EvsyukovOrganization: AigrindProject: Best MMORPG
    For example, Otional<int> x = 1;
    in 3.5 json serialized to: {"HasValue": true, "Value": 1}
    in 3.6 json serializied to: {"isSet": true, "value": 1}

    After update Ice to version 3.6 deserialization was failed, because json format changed.
Sign In or Register to comment.