My favorites | Sign in
Project Logo
                
Search
for
Updated Nov 25, 2009 by marc.gravell
Labels: Featured
ChangeHistory  
What's new in each version

Work In Progress

== 25 Nov 2009; r276

  • uri encoding fix
  • support IDictionary<,>
  • optimised constructor calls

== 09 Oct 2009: r274

  • flags enums support; ushort support
  • better custom attribute support
  • WCF endpoint configuration support

Releases

Avaialable via Downloads.

16 Jul 2009: r262

  • Visual Studio support (early)

01 Jul 2009: r261

  • BREAKING CHANGE: protogen using wrong type for fixed-length ints
  • VB support
  • Automatic case handling in .proto ($fixCase - C# only at the moment)
  • Namespace fixes
  • BUGFIX: assembly resolution from attribute
  • Allow unknown enums to carry through without raising an exception; stored in the
extension object if supported, else drops

02 Jun 2009: r255

  • Packed encoding support for lists, arrays, etc
  • Support for packed and deprecated from .proto
  • Updated protoc 2.1

22 May 2009

02 Apr 2009

26 Mar 2009

02 Mar 2009

19 Feb 2009

16 Feb 2009

13 Feb 2009: r230

  • Support {name}Specified pattern
  • xslt changes for above (includes ComponentModel etc); general xslt tidy
  • Better trace info when deserialization explodes (in exception data)
  • Complain if ProtoInclude conflicts with an existing tag

09 Feb 2009: r225

  • Fixed inheritance issue when a property (or list) is defined a subtype of a contract; deserializes starting
  • from the highest contract ancestor (previously started from member type)
  • Consider abstract types as contracts (allows for abstract contract ancestors for above change)
  • Fixed inheritance issue when deserializing via Serializer
  • Removed ProtoContract from Extensible - breaks derived classes

10 Dec 2008: r219

  • Allow offset via attribute for WCF (data-member) usage; allows compatibility between WCF client/LINQ server
  • Thread safety of Build() method (per-type lock, with zero-lock short-circuit once built)
  • Workaround for mono compiler (generics) bug; verifies constraint at runtime rather than compile
  • Integrated mono/nant into build script and zip

25 Nov 2008: r214

  • ProtoGen: simpler field names; default unspecified field-type to double (not int)
  • Fixed private class issue on CF 2.0

21 Nov 2008: r212

  • Implicit fields skips delegates (including event-backers) and NonSerialized
  • Detect CF 2.0 non-public runtime bug and offer advice

20 Nov 2008: r211

  • Allow (optional) implicit serialization of fields (like BinaryFormatter) or the entire public API
  • Make QuickStart customer/contact public for CF 2.0 security glitch
  • Bugfix with inheritance (affected all except MemoryStream)

11 Nov 2008: r202

  • Minor buffer / encoding optimisations
  • .proto parser (ProtoGen)
  • Support dictionary / keyvaluepair
  • Buildkit
  • Start of RPC stack

13 Oct 2008: r177

  • Allow creation via non-public constructors, and allow Merge on objects without any parameterless constructor
  • Clarified error message for (failed) creation without a parameterless constructor
  • Support fields in addition to properties
  • Add quotes to string-based defaults (waiting on escape clarification)

06 Oct 2008: r172

  • Allow negative enum values
  • Changed GetPassThru to side-step Mono compiler issue (note compiler bug fixed in mono 2.0)
  • QuickStart sample begun; SubStream re-introduced for NetworkStream sample
  • "WithLengthPrefix" methods added to assist with sockets-based usage

18 Sep 2008: r164

  • DateTime/TimeSpan support for tick-level precision and/or Fixed64 encoding
  • Moved WCF unit tests to non-default port (false positive failures due to conflicts)
  • Fixed Int64 encoding bug (whoops!)
  • Allow tag inference (comparable to WCF behaviour, opt-in only)
  • Removed class/new constraints for most Serializer methods
  • Support direct serialization of IList<T>/T[]/IEnumerable<T>+Add(T) objects
  • Added global default for InferTagFromName
  • Enabled WCF serialization of list/array
  • Primatives / string / etc can now be serialized directly (without an entity)

20 Aug 2008: r153

Oops - a bit of a change gap...

  • Refactored property implementation for performance
  • Support for multiple readers for a single property
  • Various .proto emitter fixes
  • Support for DateTime etc as "bcl" messages
  • Uses optimistic length guess (rather than full length calculation) for sub-messages
  • Support for full streaming (IEnumerable
    <t>
    /Add rather than IList
    <t>
    )
  • Re-worked array/list to peek for next item (replaces naïve from r90)
  • Multi-byte utf8 fixes
  • Various other fixes

24 Jul 2008: r90

  • Performance; "workspace" buffer now always 0-based; uses lightweight recursion check up to threshold; length prediction streamlined; encode now writes to stream (not workspace)
  • Support for single-dimension arrays (naïve implementation)
  • Support for Compact Framework 2.0 & 3.5
  • Support for extension fields encoded as groups (includes dropping data for inextensible objects)
  • Fixed handling of type-init / dynamic-invoke exceptions
  • Code tidied as per code analysis / source analysis

23 Jul 2008: r72

  • Support for deserializing known sub-object fields encoded using groups (data is serialized as length-prefixed; not supported for extension fields)
  • Support for extension fields
  • Recursion detection when serializing

22 Jul 2008: r53

  • Optimised field lookup during deserialization
  • Wcf example
  • Silverlight example
  • Support for enums
  • Compatibility tweaks (C# 2 / mono / .NET 2.0 / VS2005 / Sliverlight)

Sign in to add a comment
Hosted by Google Code