blob: a87cd4d5dfcf5676474a57e5d881979af0c5ca4c [file] [log] [blame]
Jan Tattermusch84fa3e22015-04-16 09:55:22 -07001===============================================================================
2Welcome to the C# port of Google Protocol Buffers, written by Jon Skeet
3(skeet@pobox.com) based on the work of many talented people.
4
Jan Tattermusche77878e2015-04-16 10:21:42 -07005===============================================================================
6RELEASE NOTES - Code imported into Google's main protobuf repository
7===============================================================================
Jan Tattermusch84fa3e22015-04-16 09:55:22 -07008
Jan Tattermusche77878e2015-04-16 10:21:42 -07009Everything below note this represents history of protobuf-csharp-port project
10before the code was merged into csharp/ subtree of GitHub google/protobuf
11repository.
12Frozen legacy version of the original project is available in
13https://github.com/jskeet/protobuf-csharp-port.
14
Jan Tattermusch84fa3e22015-04-16 09:55:22 -070015===============================================================================
16RELEASE NOTES - Version 2.4.1.555
17===============================================================================
18
19Changes:
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
28Fixes:
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===============================================================================
41RELEASE NOTES - Version 2.4.1.521
42===============================================================================
43
44Changes:
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
49Fixes:
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===============================================================================
61RELEASE NOTES - Version 2.4.1.473
62===============================================================================
63
64Features:
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
84Fixes:
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
101Other:
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===============================================================================
108RELEASE NOTES - Version 2.3.0.277
109===============================================================================
110
111Features:
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
126Fixes:
127- Issue 9: Class cannot be static and sealed error
128- Issue 12: default value for enumerate fields must be filled out
129
130Other:
Dongjoon Hyun7b08d492016-01-11 14:52:01 -0800131- Rewrite of build using MSbuild instead of NAnt
Jan Tattermusch84fa3e22015-04-16 09:55:22 -0700132- Moved to NUnit Version 2.2.8.0
133- Changed to using secure .snk for releases
134
135===============================================================================
136RELEASE NOTES - Version 0.9.1
137===============================================================================
138
139Fixes:
140- issue 10: Incorrect encoding of packed fields when serialized
141
142===============================================================================
143RELEASE NOTES - Version 0.9.0
144===============================================================================
145
146- Initial release
147
148===============================================================================