Properly check for an integer overflow in Chunk#initialize.
[ruby-eet.git] / ChangeLog
1 --
2 $Id: ChangeLog 68 2005-06-29 16:50:47Z tilman $
3 ++
4
5 2005-06-29 Tilman Sauerbeck (tilman at code-monkey de)
6         * ext/ext.c: Store the result of rb_intern("pack") in a
7           global variable
8         * ext/ext.c: Remove unneeded StringValue() calls in
9           chunk_serialize()
10         * ext/ext.c: Properly check for an integer overflow when
11           computing the total buffer size in Chunk#initialize
12
13 2005-06-28 Tilman Sauerbeck (tilman at code-monkey de)
14         * ext/ext.c: Removed stray backslash
15
16 2005-06-27 Tilman Sauerbeck (tilman at code-monkey de)
17         * ext/ext.c: Tweaked Stream#serialize to be more GC-friendly
18
19 2005-06-09 Tilman Sauerbeck (tilman at code-monkey de)
20         * ext/ext.c: Object#to_eet: Don't put the final chunk in a stream
21           again, it's not needed
22         * ext/ext.c, test/test_stream.rb: If Stream#serialize is called on
23           a stream that includes non-Chunk elements, BadElementError is
24           raised
25         * ext/ext.c: Tweaked for_each_prop; use rb_ary_push() to add
26           chunks to the stream instead of calling Stream#push
27
28 2005-06-08 Tilman Sauerbeck (tilman at code-monkey de)
29         * ext/ext.c, lib/eet.rb, test/test_basic.rb:
30           Re-implemented Float#to_eet_chunks in C and switched format to
31           the one libeet uses.
32         * ext/ext.c, lib/eet.rb: Re-implemented Integer#to_eet_chunks
33           in C
34
35 2005-06-02 Tilman Sauerbeck (tilman at code-monkey de)
36         * Released version 0.1.3
37
38 2005-06-02 Tilman Sauerbeck (tilman at code-monkey de)
39         * ext/ext.c: Fixed to work on Ruby 1.8.{0,1} again
40         * lib/eet.rb: Bumped version number to 0.1.3
41         * ext/ext.c: Fixed RDoc comment for Object#to_eet
42         * Rakefile: If the CC environment variable is set, use its value
43           instead of calling "cc".
44         * NEWS: Updated for 0.1.3
45
46 2005-05-31 Tilman Sauerbeck (tilman at code-monkey de)
47         * ext/ext.c: Optimized Object#to_eet slightly
48
49 2005-05-30 Tilman Sauerbeck (tilman at code-monkey de)
50         * lib/eet.rb, ext/ext.c: Re-implemented Chunk#initialize in C
51         * ext/ext.c: Code cleanup
52         * lib/eet.rb, ext/ext.c: Re-implemented Object#to_eet in C
53         * ext/ext.c: Code cleanup
54
55 2005-05-25 Tilman Sauerbeck (tilman at code-monkey de)
56         * test/test_array_sub.rb: Added a test for the :sub format
57           specifier
58         * lib/eet.rb, test/test_chunk.rb: Chunk.deserialize doesn't
59           modify its argument any more, instead, the number of bytes
60           consumed is now returned, too.
61         * lib/eet.rb: Stream.deserialize fails if the given buffer is
62           empty
63         * lib/eet.rb: Chunk.deserialize fails if the given buffer is
64           empty
65
66 2005-05-19 Tilman Sauerbeck (tilman at code-monkey de)
67         * Rakefile: Code cleanup
68
69 2005-05-18 Tilman Sauerbeck (tilman at code-monkey de)
70         * lib/eet.rb: Grammar fix
71         * lib/eet.rb: Don't use Array#pack when the result is constant
72
73 2005-05-13 Tilman Sauerbeck (tilman at code-monkey de)
74         * ext/ext.c: Work around RDoc's limitations
75
76 2005-05-11 Tilman Sauerbeck (tilman at code-monkey de)
77         * ext/ext.c: Don't define BSWAP16, it's not used
78         * lib/eet.rb: Don't specify the parent class of Eet::Stream when
79           we re-open it
80
81 2005-05-10 Tilman Sauerbeck (tilman at code-monkey de)
82         * ext/ext.c: Store the result of rb_intern("include?") in a
83           global variable, since it's used very often
84
85 2005-04-30 Tilman Sauerbeck (tilman at code-monkey de)
86         * lib/eet.rb: Tweaked Stream#serialize for performance
87         * lib/eet.rb, ext/ext.c: Re-implemented Stream#serialize and
88           Chunk#serialize in C
89
90 2005-04-19 Tilman Sauerbeck (tilman at code-monkey de)
91         * Rakefile: Code cleanup
92
93 2005-04-12 Tilman Sauerbeck (tilman at code-monkey de)
94         * ext/ext.c: Code cleanup
95         * ext/ext.c: Don't pass VALUEs to rb_raise()
96         * ext/ext.c: Sanitized StringValue() usage
97
98 2005-04-11 Tilman Sauerbeck (tilman at code-monkey de)
99         * ext/ext.c: Use StringValue() instead of
100           Check_Type(blah, T_STRING)
101
102 2005-04-09 Tilman Sauerbeck (tilman at code-monkey de)
103         * Released version 0.1.2
104
105 2005-04-09 Tilman Sauerbeck (tilman at code-monkey de)
106         * Rakefile: Updated for rake 0.5.3
107         * lib/eet.rb: Bumped version number to 0.1.2
108         * NEWS: Updated for 0.1.2
109
110 2005-03-29 Tilman Sauerbeck (tilman at code-monkey de)
111         * Released version 0.1.1
112
113 2005-03-29 Tilman Sauerbeck (tilman at code-monkey de)
114         * README: Grammar fix
115         * Rakefile: Tweak lookup of PKG_VERSION
116         * NEWS, Rakefile: Added NEWS
117         * lib/eet.rb: Bumped version number to 0.1.1
118
119 2005-03-28 Tilman Sauerbeck (tilman at code-monkey de)
120         * Rakefile: Fixed casing of "Ruby-EET"
121         * Rakefile: explicitly require compositepublisher
122
123 2005-03-27 Tilman Sauerbeck (tilman at code-monkey de)
124         * README: Fixed casing of "Ruby-EET"
125         * ext/ext.c: Added support for compression parameters
126           to Eet::File#write_image and Eet::File#read_image
127
128 2005-03-27 Tilman Sauerbeck (tilman at code-monkey de)
129         * Released version 0.1.0
130
131 2005-03-27 Tilman Sauerbeck (tilman at code-monkey de)
132         * Rakefile: Added a publish task that uploads the current
133           tarball and the RDoc documentation to code-monkey.de
134         * README: Added a link to the online documentation
135         * Rakefile: Use Kernel#raise instead of Kernel#fail
136         * README: Improved project description
137         * Rakefile: Fixed the install task; eet.rb needs to be copied
138           to sitelibdir instead of sitearchdir
139         * README: Added a link to enlightenment.org to the description
140
141 2005-03-26 Tilman Sauerbeck (tilman at code-monkey de)
142         * README, Rakefile: Require Rake 0.5.0 or greater
143         * Rakefile: Added a PackageTask
144         * test/common.rb: Removed unused assertion
145         * lib/eet.rb: Bumped version number to 0.1.0
146
147 2005-03-25 Tilman Sauerbeck (tilman at code-monkey de)
148         * test/test_broken_classes.rb: Code cleanup
149
150 2005-03-23 Tilman Sauerbeck (tilman at code-monkey de)
151         * ext/ext.c, test/test_misc.rb: Eet::File methods check whether
152           EET entry keys contain binary zeroes
153
154 2005-03-16 Tilman Sauerbeck (tilman at code-monkey de)
155         * lib/eet.rb: Fixed Eet::Stream#initialize
156
157 2005-03-06 Tilman Sauerbeck (tilman at code-monkey de)
158         * Rakefile: fixed file permissions for eet.rb
159
160 2005-03-05 Tilman Sauerbeck (tilman at code-monkey de)
161         * Rakefile: use FileUtils to install eet.rb and eet_ext.so
162
163 2005-03-03 Tilman Sauerbeck (tilman at code-monkey de)
164         * ext/ext.c: EET_FILE_MODE_RW has been renamed to
165           EET_FILE_MODE_READ_WRITE
166
167 2005-02-15 Tilman Sauerbeck (tilman at code-monkey de)
168         * lib/eet.rb, test/hash.rb: Removed the :hash format hack
169         * test/basic.rb: Renamed to test_basic.rb
170         * test/broken_classes.rb: Renamed to test_broken_classes.rb
171         * test/chunk.rb: Renamed to test_chunk.rb
172         * test/hash.rb: Renamed to test_hash.rb
173         * test/list.rb: Renamed to test_list.rb
174         * test/misc.rb: Renamed to test_misc.rb
175         * test/stream.rb: Renamed to test_stream.rb
176         * test/sub.rb: Renamed to test_sub.rb
177         * README: Removed documentation for the :hash format hack
178         * lib/eet.rb: Added :sub format specifier to Array#to_eet_chunks
179         * lib/eet.rb, README: Removed edd_name entry from property hash
180
181 2005-02-14 Tilman Sauerbeck (tilman at code-monkey de)
182         * ext/ext.c: Enable highest compression for images
183         * lib/eet.rb: Added Eet::VERSION
184
185 2005-02-13 Tilman Sauerbeck (tilman at code-monkey de)
186         * lib/eet.rb: If a hash is encoded with the :hash type
187           specifier, make sure that the keys/values are strings
188         * README: Documentation update
189         * Rakefile: Split out eet-config calls, to catch missing libeet
190           early
191
192 2005-02-10 Tilman Sauerbeck (tilman at code-monkey de)
193         * lib/eet.rb, test/broken_classes.rb:
194           Implemented Object#to_eet_name and Object#to_eet_properties.
195           Adapted Object#to_eet's error checking and the broken classes
196           test.
197         * test/misc.rb: Use the new implementations of
198           #to_eet_name and #to_eet_properties
199         * test/misc.rb: Added a test for Object#to_eet_name and
200           Object#to_eet_properties
201         * Rakefile, test/hash.[rb,c], test/utils.c:
202           Reworked the hash test to not depend on hash.c/utils.c
203           anymore.
204         * lib/eet.rb: Added documentation for Object#to_eet_name and
205           Object#to_eet_properties
206
207 2005-02-09 Tilman Sauerbeck (tilman at code-monkey de)
208         * test/sub.rb, test/sub.c: Reworked the sub test to not
209           depend on sub.c anymore
210         * test/list.rb, test/list.c: Reworked the list test to not
211           depend on list.c anymore
212
213 2005-02-08 Tilman Sauerbeck (tilman at code-monkey de)
214         * lib/eet.rb: Eet::Chunk.new checks the tag for binary zeroes
215           again
216         * test/chunk.rb: Added a test for binary zeroes in tags
217         * lib/eet.rb: Added Eet::Chunk.deserialize
218         * test/chunk.rb: Added a test for Eet::Chunk.deserialize
219         * lib/eet.rb: Make sure Eet::Chunk.new is passed strings only
220         * lib/eet.rb: Added Eet::ChunkError
221         * test/chunk.rb: Added tests for the error handling in
222           Eet::Chunk.deserialize
223         * lib/eet.rb, test/stream.rb: Added Eet::Stream.deserialize
224         * test/basic.rb, test/basic.c: Rewrote basic test to not
225           depend on basic.c anymore
226
227 2005-02-07 Tilman Sauerbeck (tilman at code-monkey de)
228         * test/list.rb, test/sub.rb: Make sure to use an array as
229           the hash values in Object#to_eet_properties
230         * lib/eet.rb: Perform more aggressive type checking in
231           Object#to_eet. Added Eet::EetError, Eet::PropertyError and
232           Eet::NameError.
233         * test/chunk.rb, test/stream.rb: Added tests for the Eet::Chunk
234           and Eet::Stream classes
235         * ext/ext.c, test/misc.rb: Raise IOError if Eet::File#list is
236           called in write-only mode
237         * test/broken_classes.rb: Added tests for the errors that
238           Object#to_eet may raise
239         * test/basic.[c,rb]: Added a test for 64bit integers
240         * lib/eet.rb: Pack 32bit integers with the "V" specifier instead
241           of "i", to enforce little-endian format
242
243 2005-02-05 Tilman Sauerbeck (tilman at code-monkey de)
244         * ext/ext.c: Added Eet::File#read_image
245
246 2005-02-04 Tilman Sauerbeck (tilman at code-monkey de)
247         * test/misc.rb: Removed nested assertions
248         * ext/ext.c: raise IOError on zero writes
249         * test/misc.rb: added test_zero_write
250
251 2005-02-03 Tilman Sauerbeck (tilman at code-monkey de)
252         * test/misc.rb: Added some test for Eet::File#read and improved
253           other tests
254         * lib/eet.rb: Don't check for binary zeroes in tags
255
256 2005-02-01 Tilman Sauerbeck (tilman at code-monkey de)
257         * lib/eet.rb: Reworked Stream/Chunk interfaces
258         * lib/eet.rb: Validate input data in Chunk.new
259
260 2005-01-20 Tilman Sauerbeck (tilman at code-monkey de)
261         * Added some documentation