aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/CHANGES.txt
blob: a87cd4d5dfcf5676474a57e5d881979af0c5ca4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
===============================================================================
Welcome to the C# port of Google Protocol Buffers, written by Jon Skeet
(skeet@pobox.com) based on the work of many talented people.

===============================================================================
RELEASE NOTES - Code imported into Google's main protobuf repository
===============================================================================

Everything below note this represents history of protobuf-csharp-port project
before the code was merged into csharp/ subtree of GitHub google/protobuf
repository.
Frozen legacy version of the original project is available in
https://github.com/jskeet/protobuf-csharp-port.

===============================================================================
RELEASE NOTES - Version 2.4.1.555
===============================================================================

Changes:
- Upgrade solution format to Visual Studio 2012.
- Add the ability to print a builder (not just a message)
- TextGenerator introduces a new overload of PrintTo
- Munge protoc's error format into a VS-C#-compatible output format.
- Work to make ProtoGen clone that acts as a protoc.exe plugin.
- Added the AllowPartiallyTrustedCallers attribute
- Optimized enum parsing.

Fixes:
- Fix for bug in limited input stream's Position, Introduced Position on 
  output stream
- Fix for writing a character to a JSON output overflows allocated buffer
- Optimize FromBase64String to return Empty when presented with empty string.
- Use string.Concat instead of operator to avoid potential import problems
- Issue 81: quoting for NUnit parameters.
- Issue 56: NuGet package is noisy
- Issue 70: Portable library project has some invalid Nunit-based code.
- Issue 71: CodedInputStream.ReadBytes go to slow path unnecessarily
- Issue 84: warning CS0219: The variable `size' is assigned but never used

===============================================================================
RELEASE NOTES - Version 2.4.1.521
===============================================================================

Changes:
- Add generated_code_attributes option, defaulted to false
- Added support for Portable library
- Added 'Unsafe' static type in ByteString to allow direct buffer access

Fixes:
- Issue 50: The XML serializer will fail to deserialize a message with empty 
  child message
- Issue 45: Use of 'item' as a field name causes AmbiguousMatchException
- Issue 49: Generated nested static Types class should be partial
- Issue 38: Disable CLSCompliant warnings (3021)
- Issue 40: proto_path does not work for command-line file names
- Issue 54: should retire all bytes in buffer (bufferSize)
- Issue 43: Fix to correct identical 'umbrella_classname' options from trying 
  to write to the same filename.

===============================================================================
RELEASE NOTES - Version 2.4.1.473
===============================================================================

Features:
- Added option service_generator_type to control service generation with
  NONE, GENERIC, INTERFACE, or IRPCDISPATCH
- Added interfaces IRpcDispatch and IRpcServerStub to provide for blocking
  services and implementations.
- Added ProtoGen.exe command-line argument "--protoc_dir=" to specify the 
  location of protoc.exe.
- Extracted interfaces for ICodedInputStream and ICodedOutputStream to allow
  custom implementation of writers with both speed and size optimizations.
- Addition of the "Google.ProtoBuffers.Serialization" assembly to support
  reading and writing messages to/from XML, JSON, IDictionary<,> and others.
- Several performance related fixes and tweeks
- Issue 3:	Add option to mark generated code with attribute
- Issue 20:	Support for decorating classes [Serializable]
- Issue 21:	Decorate fields with [deprecated=true] as [System.Obsolete]
- Issue 22:	Reusable Builder classes
- Issue 24:	Support for using Json/Xml formats with ICodedInputStream
- Issue 25: Added support for NuGet packages
- Issue 31: Upgraded protoc.exe and descriptor to 2.4.1

Fixes:
- Issue 13:	Message with Field same name as message causes uncompilable .cs
- Issue 16:	Does not integrate well with other tooling
- Issue 19:	Support for negative enum values
- Issue 26:	AddRange in GeneratedBuilder iterates twice.
- Issue 27:	Remove XML documentation output from test projects to clear 
  warnings/errors.
- Issue 28: Circular message dependencies result in null default values for 
  Message fields.
- Issue 29: Message classes generated have a public default constructor.  You
  can disable private ctor generation with the option generate_private_ctor.
- Issue 35: Fixed a bug in ProtoGen handling of arguments with trailing \
- Big-endian support for float, and double on Silverlight
- Packed and Unpacked parsing allow for all repeated, as per version 2.3
- Fix for leaving Builder a public ctor on internal classes for use with
  generic "where T: new()" constraints.

Other:
- Changed the code signing key to a privately held key
- Reformatted all code and line-endings to C# defaults
- Reworking of performance benchmarks to produce reliable results, option /v2
- Issue 34: Silverlight assemblies are now unit tested

===============================================================================
RELEASE NOTES - Version 2.3.0.277
===============================================================================

Features:
- Added cls_compliance option to generate attributes indicating 
  non-CLS-compliance.
- Added file_extension option to control the generated output file's extension.
- Added umbrella_namespace option to place the umbrella class into a nested
  namespace to address issues with proto files having the same name as a 
  message it contains.
- Added output_directory option to set the output path for the source file(s).
- Added ignore_google_protobuf option to avoid generating code for includes 
  from the google.protobuf package.
- Added the LITE framework (Google.ProtoBuffersLite.dll) and the ability to
  generate code with "option optimize_for = LITE_RUNTIME;".
- Added ability to invoke protoc.exe from within ProtoGen.exe.
- Upgraded to protoc.exe (2.3) compiler.

Fixes:
- Issue 9:	Class cannot be static and sealed error
- Issue 12:	default value for enumerate fields must be filled out

Other:
- Rewrite of build using MSbuild instead of NAnt
- Moved to NUnit Version 2.2.8.0
- Changed to using secure .snk for releases

===============================================================================
RELEASE NOTES - Version 0.9.1
===============================================================================

Fixes:
- issue 10:	Incorrect encoding of packed fields when serialized

===============================================================================
RELEASE NOTES - Version 0.9.0
===============================================================================

- Initial release

===============================================================================