Skip to content

Latest commit

 

History

History
116 lines (83 loc) · 7.35 KB

CHANGELOG.md

File metadata and controls

116 lines (83 loc) · 7.35 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

  • Versions suffixed with b* are in beta and can be installed with pip install --pre betterproto.

[2.0.0b2] - 2020-11-24

  • Add support for deprecated message and fields #126

  • Add support for recursive messages #130

  • Add support for bool(Message) #142

  • Improve support for Python 3.9 #140 #173

  • Improve keyword sanitisation for generated code #137

  • Fix missing serialized_on_wire when message contains only lists #81

  • Fix circular dependencies #100

  • Fix to_dict enum fields when numbering is not consecutive #102

  • Fix argument generation for stub methods when using import with proto definition #103

  • Fix missing async/await keywords when casing #104

  • Fix mutable default arguments in generated code #105

  • Fix serialisation of default values in oneofs when calling to_dict() or to_json() #110

  • Fix static type checking for grpclib client #124

  • Fix python3.6 compatibility issue with dataclasses #124

  • Fix handling of trailer-only responses #127

  • Refactor plugin.py to use modular dataclasses in tree-like structure to represent parsed data #121

  • Refactor template compilation logic #136

  • Replace use of platform provided protoc with development dependency on grpcio-tools #107

  • Switch to using poe from make to manage project development tasks #118

  • Improve CI platform coverage #128

[2.0.0b1] - 2020-07-04

Upgrade Guide

Several bugfixes and improvements required or will require small breaking changes, necessitating a new version. 2.0.0 will be released once the interface is stable.

  • Add support for gRPC and stream-stream #83

  • Switch from pipenv to poetry for development #75

  • Fix two packages with the same name suffix should not cause naming conflict #25

  • Fix Import child package from root #57

  • Fix Import child package from package #58

  • Fix Import parent package from child package #59

  • Fix Import root package from child package #60

  • Fix Import root package from root #61

  • Fix ALL_CAPS message fields are parsed incorrectly. #11

1.2.5 - 2020-04-27

  • Add .j2 suffix to python template names to avoid confusing certain build tools #72

1.2.4 - 2020-04-26

  • Enforce utf-8 for reading the readme in setup.py #67
  • Only import types from grpclib when type checking #52
  • Improve performance of serialize/deserialize by caching type information of fields in class #46
  • Support using Google's wrapper types as RPC output values #40
  • Fixes issue where protoc did not recognize plugin.py as win32 application #38
  • Fix services using non-pythonified field names #34
  • Add ability to provide metadata, timeout & deadline args to requests #32

1.2.3 - 2020-04-15

  • Exclude empty lists from to_dict by default #16
  • Add include_default_values parameter for to_dict #12
  • Fix class names being prepended with duplicates when using protocol buffers that are nested more than once #21
  • Add support for python 3.6 #30

1.2.2 - 2020-01-09

  • Mention lack of Proto 2 support in README.
  • Fix serialization of constructor parameters #10
  • Fix casing parameter propagation #7

1.2.1 - 2019-10-29

  • Fix comment indentation bug in rendered gRPC methods.

1.2.0 - 2019-10-28

  • Generated code output auto-formatting via Black
  • Simplified gRPC helper functions

1.1.0 - 2019-10-27

  • Better JSON casing support
  • Handle field names which clash with Python reserved words
  • Better handling of default values from type introspection
  • Support for Google Duration & Timestamp types
  • Support for Google wrapper types
  • Documentation updates

1.0.1 - 2019-10-22

  • README to the PyPI details page

1.0.0 - 2019-10-22

  • Initial release