-
Notifications
You must be signed in to change notification settings - Fork 3
/
ChangeLog
114 lines (84 loc) · 3.71 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
= BinData Changelog
== Version 1.1.0 (2009-11-24)
* Allow anonymous fields in Records and Primitives.
* Add the ability to skip over unused data.
* Allow Records, Primitives and Wrappers to be derived from.
* Classes for integers are now defined on demand.
== Version 1.0.0 (2009-09-13)
* Is now compatible with Ruby 1.9
* Added reference manual.
* Added #rel_offset to Base.
* Removed support for deprecated functionality.
== Version 0.11.1 (2009-08-28)
* Allow wrapped types to work with struct's :onlyif parameter
* Use Array#index instead of #find_index for compatibility with Ruby 1.8.6
(patch courtesy of Joe Rozner).
== Version 0.11.0 (2009-06-28)
* Sanitizing code was refactored for speed.
* Arbitrary sized integers and bit fields are now automatically instantiated.
* Add ability to wrap existing types and override their parameters.
== Version 0.10.0 (2009-04-17)
* Arbitrary byte sized integers are now supported (e.g. 24bit, 808bit).
* Renamed String :trim_value parameter to :trim_padding.
* BinData::Array now behaves more like Ruby's Array.
* Added debug_name
* Added ability to trace reading
* Primitives now behave as their value. Calling #value is no longer needed.
* Renamed #to_s -> #to_binary_s to avoid confusion with Ruby's #to_s.
* Added #assign as the generic way to assign values to objects.
* Added :copy_on_change parameter to Choice.
* Implement #offset for all objects.
* Renamed Single -> BasePrimitive.
* Renamed SingleValue -> Primitive.
* Renamed MultiValue -> Record.
* The :onlyif parameter now only applies to fields inside Structs.
* LazyEvaluator can now supply arguments when invoking methods
== Version 0.9.3 (2008-12-03)
* Arrays can now :read_until => :eof
* TCPSocket and UDPSocket can now be used as input streams (patch courtesy
of Peter Suschlik).
* Added 128 bit integers.
* Significant memory usage reduction.
* Added custom mandatory and default parameters for user defined MultiValues.
== Version 0.9.2 (2008-07-18)
* Added lazy instantiation to allow recursive definitions.
* Array elements can be appended at any position.
* Deprecated the :readwrite parameter.
* Removed feature where Struct fields names could be nil.
* Reworked sanitizing system.
== Version 0.9.1 (2008-06-15)
* Implemented bit fields.
* Added :onlyif parameter to Base for specifying optional fields.
* Fixed IO offset bug with SingleValues.
== Version 0.9.0 (2008-06-02)
* Added :adjust_offset option to automatically seek to a given offset.
* Modified #read to accept strings as well as IO streams.
* Choice now accepts sparse arrays and hashes as :choice.
* Added BinData::Rest to help with debugging.
* Major internal restructuring - memory usage is much better.
* Improved documentation.
== Version 0.8.1 (2008-01-14)
* Reduced memory consumption.
* Increased execution speed.
* Deprecated BinData::Base.parameters.
* Fixed spec syntax (thanks to David Goodlad).
== Version 0.8.0 (2007-10-14)
* Add reserved field names to Struct.
* Prevent warnings about method redefinition.
* Allow Struct to masquerade as one of its fields.
* Renamed String param :initial_length to :read_length.
* BinData::Array now behaves more like the internal Ruby array.
== Version 0.7.0 (2007-08-26)
* Arrays now support terminating conditions as well as fixed length reads.
* Updated specs to new rspec syntax (0.9).
* Added scoped resolution of variables in lambdas.
* Added ability to append elements to arrays.
== Version 0.6.0 (2007-03-28)
* Added 64 bit integers.
* Added floating point numbers.
* Added endian keyword to Struct to reduce the amount of typing needed.
== Version 0.5.1 (2007-03-21)
* Updated documentation.
* Struct now raises an error if a field name shadows an existing method.
== Version 0.5.0 (2007-03-14)
* Initial public release.