aboutsummaryrefslogtreecommitdiff
path: root/CHANGES.txt
diff options
context:
space:
mode:
authorChris Fallin <cfallin@c1f.net>2015-02-20 17:32:06 -0800
committerChris Fallin <cfallin@google.com>2015-02-20 17:35:17 -0800
commit1d4f321327dd0826211e0efb983a1087310a2ce3 (patch)
tree3c82a94ebf938a3a7a95fce5cea6f6dfcfd5a1da /CHANGES.txt
parent32f5d0178c216a0f748edafa8bd31b2150aa6502 (diff)
downloadprotobuf-1d4f321327dd0826211e0efb983a1087310a2ce3.tar.gz
protobuf-1d4f321327dd0826211e0efb983a1087310a2ce3.tar.bz2
protobuf-1d4f321327dd0826211e0efb983a1087310a2ce3.zip
Updated CHANGES.txt to mention Ruby extension.
Change-Id: I3c3ec4aecf4ea2ce786d8d674baeca875e71801f
Diffstat (limited to 'CHANGES.txt')
-rw-r--r--CHANGES.txt29
1 files changed, 27 insertions, 2 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 02c964cb..e0c02084 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -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