|
|
|
@ -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 |
|
|
|
|