bit-struct 0.16
-
updated for ruby 2.4
bit-struct 0.15
-
modernize rakefile and gemspec
-
switch to minitest
bit-struct 0.14
-
updated for ruby 2.0
bit-struct 0.13.6
-
Fixed bug in to_a. Thanks Michael Edgar.
bit-struct 0.13
-
Packaged as a gem using bones.
-
Added nest fields defined with blocks. (Markus Fischer)
-
Vector length may be specified as argument or :length option. (Markus Fischer)
bit-struct 0.12
-
Added vectors.
-
BitStruct#initialize can take an IO argument.
bit-struct 0.11
-
Allow unaligned fields to cross up to two byte boundaries. See examples/byte-bdy.rb.
bit-struct 0.10
-
Fixed a bug when calling to_yaml on a BitStruct with a pad field. Thanks to Jay Reitz for reporting it and providing the solution.
-
Added BitStruct.default_options. Particularly useful for default endian settings–see examples/native.rb.
-
Fixed a bug that prevented warning about field name conflicts with existing methods when the name is given as a symbol.
-
Fixed point fields may now have fractional divisors (like :fixed => 0.001).
bit-struct 0.9
-
Added examples/field-ripper.rb.
-
Added BitStruct#field_by_name.
-
Added more warnings about nested field accessors returning a copy of the nested data.
-
Added “pad” fields. See documentation in pad-field.rb and examples/pad.rb.
-
The initial_value method now yields the value to a block, if given.
-
A BitStruct class is only closed when an instance is created. (After this point no fields can be added.) Formerly, a class was closed when any method requested the total length of the structure. This change makes it easier to add groups of fields modularly, each with their own initial_value block.
-
Added examples/modular-def.rb to explain how to factor a BitStruct definition into modules.
bit-struct 0.8
-
Signed fields can now (like unsigned fields) be any multiple of 8 bits, and are accessed as fixnums or bignums, as needed.
-
It's easier to subclass BitStruct::OctetField. BitStruct::HexOctetField is now implemented in this way, just by defining three constants and two trivial class methods.
bit-struct 0.7
-
BitStruct.describe now takes an option hash, and the :expand=>true option causes nested fields to be expanded in the description.
-
Unsigned integer fields can now be any multiple of 8 bytes: 8, 16, 24, 32, 40, … (Fields of 1..15 bits in length are of course still supported.)
-
Added the :endian => :little option to signed integer, unsigned integer, and float fields. The full set of endian options is now [:little, :big, :network, :native]. The default is always :network.
-
Option names may be strings or symbols. Values that can be symbols can also be strings.
-
Added examples/bignum.rb.
-
Added support for the YAML in ruby 1.8.2 (the YAML in 1.8.4 was already supported).
bit-struct 0.6
-
Added the :endian => :native option for numerical fields (signed, unsigned, float).
-
Fixed error message with 9..15 bit fields aligned on byte boundary.
-
The initial_value is now inherited (before applying defaults).
-
New examples: raw.rb, native.rb.
bit-struct 0.5
-
Integer fields may now cross byte boundaries, as long as the field fits within two whole bytes.
bit-struct 0.4
-
Fixed a bug in reading text and char fields in YAML: if the value was interpreted by YAML as something other than a string, an error would result.
-
When BitStructs are loaded from yaml, the key is treated as a setter method, rather than a field. This is useful in case there is a field that needs special setters to accept humanly readable input. (For example, a char field with length-prefixed subfields.)
bit-struct 0.3
-
BitStruct classes are now YAML friendly.
-
The default behavior of BitStruct#inspect and BitStruct#inspect_detailed is changed to print out the “rest” field, if any. This can be disabled by passing inspect an options hash with :include_rest => false. See BitStruct::DEFAULT_INSPECT_OPTS and BitStruct::DETAILED_INSPECT_OPTS. See examples/ip.rb and examples/rest.rb.
-
The default behavior of BitStruct#to_h is changed to include the “rest” field. As above, this can be disabled by passing to_h an options hash with :include_rest => false.
-
The default behavior of BitStruct#to_a is changed to include the “rest” field. As above, this can be disabled by passing false as an argument to to_a.
bit-struct 0.2
-
first public release
bit-struct 0.1
-
first release