1 =============================================================================== 2 Welcome to the C# port of Google Protocol Buffers, written by Jon Skeet 3 (skeet (a] pobox.com) based on the work of many talented people. 4 5 =============================================================================== 6 RELEASE NOTES - Code imported into Google's main protobuf repository 7 =============================================================================== 8 9 Everything below note this represents history of protobuf-csharp-port project 10 before the code was merged into csharp/ subtree of GitHub google/protobuf 11 repository. 12 Frozen legacy version of the original project is available in 13 https://github.com/jskeet/protobuf-csharp-port. 14 15 =============================================================================== 16 RELEASE NOTES - Version 2.4.1.555 17 =============================================================================== 18 19 Changes: 20 - Upgrade solution format to Visual Studio 2012. 21 - Add the ability to print a builder (not just a message) 22 - TextGenerator introduces a new overload of PrintTo 23 - Munge protoc's error format into a VS-C#-compatible output format. 24 - Work to make ProtoGen clone that acts as a protoc.exe plugin. 25 - Added the AllowPartiallyTrustedCallers attribute 26 - Optimized enum parsing. 27 28 Fixes: 29 - Fix for bug in limited input stream's Position, Introduced Position on 30 output stream 31 - Fix for writing a character to a JSON output overflows allocated buffer 32 - Optimize FromBase64String to return Empty when presented with empty string. 33 - Use string.Concat instead of operator to avoid potential import problems 34 - Issue 81: quoting for NUnit parameters. 35 - Issue 56: NuGet package is noisy 36 - Issue 70: Portable library project has some invalid Nunit-based code. 37 - Issue 71: CodedInputStream.ReadBytes go to slow path unnecessarily 38 - Issue 84: warning CS0219: The variable `size' is assigned but never used 39 40 =============================================================================== 41 RELEASE NOTES - Version 2.4.1.521 42 =============================================================================== 43 44 Changes: 45 - Add generated_code_attributes option, defaulted to false 46 - Added support for Portable library 47 - Added 'Unsafe' static type in ByteString to allow direct buffer access 48 49 Fixes: 50 - Issue 50: The XML serializer will fail to deserialize a message with empty 51 child message 52 - Issue 45: Use of 'item' as a field name causes AmbiguousMatchException 53 - Issue 49: Generated nested static Types class should be partial 54 - Issue 38: Disable CLSCompliant warnings (3021) 55 - Issue 40: proto_path does not work for command-line file names 56 - Issue 54: should retire all bytes in buffer (bufferSize) 57 - Issue 43: Fix to correct identical 'umbrella_classname' options from trying 58 to write to the same filename. 59 60 =============================================================================== 61 RELEASE NOTES - Version 2.4.1.473 62 =============================================================================== 63 64 Features: 65 - Added option service_generator_type to control service generation with 66 NONE, GENERIC, INTERFACE, or IRPCDISPATCH 67 - Added interfaces IRpcDispatch and IRpcServerStub to provide for blocking 68 services and implementations. 69 - Added ProtoGen.exe command-line argument "--protoc_dir=" to specify the 70 location of protoc.exe. 71 - Extracted interfaces for ICodedInputStream and ICodedOutputStream to allow 72 custom implementation of writers with both speed and size optimizations. 73 - Addition of the "Google.ProtoBuffers.Serialization" assembly to support 74 reading and writing messages to/from XML, JSON, IDictionary<,> and others. 75 - Several performance related fixes and tweeks 76 - Issue 3: Add option to mark generated code with attribute 77 - Issue 20: Support for decorating classes [Serializable] 78 - Issue 21: Decorate fields with [deprecated=true] as [System.Obsolete] 79 - Issue 22: Reusable Builder classes 80 - Issue 24: Support for using Json/Xml formats with ICodedInputStream 81 - Issue 25: Added support for NuGet packages 82 - Issue 31: Upgraded protoc.exe and descriptor to 2.4.1 83 84 Fixes: 85 - Issue 13: Message with Field same name as message causes uncompilable .cs 86 - Issue 16: Does not integrate well with other tooling 87 - Issue 19: Support for negative enum values 88 - Issue 26: AddRange in GeneratedBuilder iterates twice. 89 - Issue 27: Remove XML documentation output from test projects to clear 90 warnings/errors. 91 - Issue 28: Circular message dependencies result in null default values for 92 Message fields. 93 - Issue 29: Message classes generated have a public default constructor. You 94 can disable private ctor generation with the option generate_private_ctor. 95 - Issue 35: Fixed a bug in ProtoGen handling of arguments with trailing \ 96 - Big-endian support for float, and double on Silverlight 97 - Packed and Unpacked parsing allow for all repeated, as per version 2.3 98 - Fix for leaving Builder a public ctor on internal classes for use with 99 generic "where T: new()" constraints. 100 101 Other: 102 - Changed the code signing key to a privately held key 103 - Reformatted all code and line-endings to C# defaults 104 - Reworking of performance benchmarks to produce reliable results, option /v2 105 - Issue 34: Silverlight assemblies are now unit tested 106 107 =============================================================================== 108 RELEASE NOTES - Version 2.3.0.277 109 =============================================================================== 110 111 Features: 112 - Added cls_compliance option to generate attributes indicating 113 non-CLS-compliance. 114 - Added file_extension option to control the generated output file's extension. 115 - Added umbrella_namespace option to place the umbrella class into a nested 116 namespace to address issues with proto files having the same name as a 117 message it contains. 118 - Added output_directory option to set the output path for the source file(s). 119 - Added ignore_google_protobuf option to avoid generating code for includes 120 from the google.protobuf package. 121 - Added the LITE framework (Google.ProtoBuffersLite.dll) and the ability to 122 generate code with "option optimize_for = LITE_RUNTIME;". 123 - Added ability to invoke protoc.exe from within ProtoGen.exe. 124 - Upgraded to protoc.exe (2.3) compiler. 125 126 Fixes: 127 - Issue 9: Class cannot be static and sealed error 128 - Issue 12: default value for enumerate fields must be filled out 129 130 Other: 131 - Rewrite of build using MSbuild instead of NAnt 132 - Moved to NUnit Version 2.2.8.0 133 - Changed to using secure .snk for releases 134 135 =============================================================================== 136 RELEASE NOTES - Version 0.9.1 137 =============================================================================== 138 139 Fixes: 140 - issue 10: Incorrect encoding of packed fields when serialized 141 142 =============================================================================== 143 RELEASE NOTES - Version 0.9.0 144 =============================================================================== 145 146 - Initial release 147 148 ===============================================================================