CHANGES.txt 6.9 KB

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