|
@@ -1,10 +1,35 @@
|
|
|
-2015-2-22 version 3.0.0-alpha-2 (Ruby/JavaNano):
|
|
|
+2015-02-22 version 3.0.0-alpha-2 (Ruby/JavaNano):
|
|
|
General
|
|
|
* Introduced two new language implementations (Ruby and JavaNano) to proto3.
|
|
|
* Various bug fixes since 3.0.0-alpha-1
|
|
|
|
|
|
Ruby:
|
|
|
- TODO(cfallin): Add descriptions here.
|
|
|
+ We have added proto3 support for Ruby via a native C extension.
|
|
|
+
|
|
|
+ The Ruby extension itself is included in the ruby/ directory, and details on
|
|
|
+ building and installing the extension are in ruby/README.md. The extension
|
|
|
+ will also be published as a Ruby gem. Code generator support is included as
|
|
|
+ part of `protoc` with the `--ruby_out` flag.
|
|
|
+
|
|
|
+ The Ruby extension implements a user-friendly DSL to define message types
|
|
|
+ (also generated by the code generator from `.proto` files). Once a message
|
|
|
+ type is defined, the user may create instances of the message that behave in
|
|
|
+ ways idiomatic to Ruby. For example:
|
|
|
+
|
|
|
+ - Message fields are present as ordinary Ruby properties (getter method
|
|
|
+ `foo` and setter method `foo=`).
|
|
|
+ - Repeated field elements are stored in a container that acts like a native
|
|
|
+ Ruby array, and map elements are stored in a container that acts like a
|
|
|
+ native Ruby hashmap.
|
|
|
+ - The usual well-known methods, such as `#to_s`, `#dup`, and the like, are
|
|
|
+ present.
|
|
|
+
|
|
|
+ Unlike several existing third-party Ruby extensions for protobuf, this
|
|
|
+ extension is built on a "strongly-typed" philosophy: message fields and
|
|
|
+ array/map containers will throw exceptions eagerly when values of the
|
|
|
+ incorrect type are inserted.
|
|
|
+
|
|
|
+ See ruby/README.md for details.
|
|
|
|
|
|
JavaNano:
|
|
|
JavaNano is a special code generator and runtime library designed especially
|