Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breaking Changes for FastSerialization #2121

Merged

Commits on Oct 14, 2024

  1. - Rename SerializationConfiguration --> SerializationSettings.

     - Require an instance of SerializationSettings for serializers and
       deserializers.
    brianrob committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    e8e2daa View commit details
    Browse the repository at this point in the history
  2. Require a SerializationSettings property for both IStreamReader and

    IStreamWriter to allow writers to directly create readers.
    brianrob committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    1a58e5d View commit details
    Browse the repository at this point in the history
  3. Refactor SerializationSettings to clone on mutation. This ensures that

    usres can't change the set of allowed types after it is set and handed
    to the deserialization code.
    brianrob committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    a6e3ac3 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. Refactor FastSerialization factories and add known types.

    Remove the ability for FastSerialization to create arbitrary types that
    are specified in serialized files.  Instead, force users to register all
    types before or during serialization.  Types can be registered via calls
    to Deserializer.RegisterType and Deserializer.RegisterFactory.  Users
    can also implement Deserializer.OnUnregisteredType to handle
    unregistered types encountered during deserialization.  It is incumbent
    on the implementor to not just blindly call Type.GetType in
    OnUnregisteredType, and instead only create known types.
    brianrob committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    2b78019 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. Add tests and remove RegisterType(string) because users will need to

    provide enough context to find the right assembly.
    brianrob committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    855e4f9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    083763a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7dd0e16 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2024

  1. Configuration menu
    Copy the full SHA
    3327d90 View commit details
    Browse the repository at this point in the history
  2. Simplify based on feedback.

    brianrob committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    3afba20 View commit details
    Browse the repository at this point in the history