Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 630 lines (423 sloc) 13.592 kb
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
1 = NEWS
2
3 This document is a list of user visible feature changes made between
bfe370c @knu * NEWS: Reword and improve entries.
knu authored
4 releases except for bug fixes.
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
5
6 Note that each entry is kept so brief that no reason behind or
7 reference information is supplied with. For a full list of changes
8 with all sufficient information, see the ChangeLog file.
9
da8eea0 @knu reword a bit
knu authored
10 == Changes since the 1.8.6 release
3a5edae import OpenSSL from trunk
technorama authored
11
6305529 @knu Tag for 1.8.7.
knu authored
12 === Configuration changes
13
14 * vendor_ruby directory
15
16 A new library directory named `vendor_ruby' is introduced in
17 addition to `site_ruby'. The idea is to separate libraries
18 installed by the package system (`vendor') from manually (`site')
19 installed libraries preventing the former from getting overwritten
20 by the latter, while preserving the user option to override vendor
21 libraries with site libraries. (`site_ruby' takes precedence over
22 `vendor_ruby')
23
24 If you are a package maintainer, make each library package configure
25 the library passing the `--vendor' option to `extconf.rb' so that
26 the library files will get installed under `vendor_ruby'.
27
28 You can change the directory locations using configure options such
29 as `--with-sitedir=DIR' and `--with-vendordir=DIR'.
30
11b638c @knu * NEWS: Mention new constants.
knu authored
31 === Global constants
32
33 * new constants
34
35 * RUBY_COPYRIGHT
36 * RUBY_DESCRIPTION
37
75a7621 @knu * NEWS: Merge some of the sub-sections, as the differences were
knu authored
38 === Library updates (outstanding ones only)
ee8ce5e @akr * lib/securerandom.rb: new file.
akr authored
39
75a7621 @knu * NEWS: Merge some of the sub-sections, as the differences were
knu authored
40 * new library
ee8ce5e @akr * lib/securerandom.rb: new file.
akr authored
41
75a7621 @knu * NEWS: Merge some of the sub-sections, as the differences were
knu authored
42 * securerandom
43
44 * builtin classes
45
3bf0dbc @knu * array.c (rb_ary_flatten, rb_ary_flatten_bang): Take an optional
knu authored
46 * Array#flatten
47 * Array#flatten!
48
49 Takes an optional argument that determines the level of recursion
50 to flatten.
51
6bd0ea7 @knu Merge everything from ruby_1_8.
knu authored
52 * Array#eql?
53 * Array#hash
54 * Array#==
55 * Array#<=>
56
57 Handle recursive data properly.
58
ad620c5 @knu Update.
knu authored
59 * Array#index
60 * Array#rindex
61
62 Take a block instead of an argument.
63
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
64 * Array#collect!
65 * Array#map!
0c7a3cd @knu Update.
knu authored
66 * Array#each
67 * Array#each_index
68 * Array#reverse_each
c85dd0b @knu Array#reject too.
knu authored
69 * Array#reject
0c7a3cd @knu Update.
knu authored
70 * Array#reject!
71 * Array#delete_if
72
73 Return an enumerator if no block is given.
74
47b87b4 @knu Add notes about {Array,Enumerable}#{map,collect}, which still return
knu authored
75 Note that #map and #collect still return an array unlike Ruby 1.9
76 to keep compatibility.
77
51a595d @knu * array.c (rb_ary_first, rb_ary_last): Return a shared array when
knu authored
78 * Array#pop
79 * Array#shift
80
81 Take an optional argument specifying the number of elements to
82 remove.
83
3bf0dbc @knu * array.c (rb_ary_flatten, rb_ary_flatten_bang): Take an optional
knu authored
84 * Array#choice
85 * Array#combination
86 * Array#cycle
87 * Array#drop
88 * Array#drop_while
89 * Array#permutation
90 * Array#product
91 * Array#shuffle
92 * Array#shuffle!
93 * Array#take,
94 * Array#take_while
95
96 New methods.
97
3135c26 @knu Merge from ruby_1_8.
knu authored
98 * Binding#eval
99
100 New method.
101
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
102 * Dir#each
103 * Dir#foreach
104
105 Return an enumerator if no block is given.
106
07ba935 @knu Sort entries.
knu authored
107 * Enumerable::Enumerator
108
109 New class for various enumeration defined by the enumerator library.
c17cb6b @akr Integer#ord described.
akr authored
110
2062886 @knu Add items about the enumerator module.
knu authored
111 * Enumerable#each_slice
112 * Enumerable#each_cons
07ba935 @knu Sort entries.
knu authored
113 * Object#to_enum
114 * Object#enum_for
2062886 @knu Add items about the enumerator module.
knu authored
115
116 New methods for various enumeration defined by the enumerator library.
117
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
118 * Enumerable#count
1e46931 @knu * enum.c: New methods: Enumerable#one?, #none?, #minmax, #min_by,
knu authored
119 * Enumerable#cycle
090fbe8 @knu * enum.c New methods: Enumerable#take, #take_while, #drop and
knu authored
120 * Enumerable#drop
121 * Enumerable#drop_while
95df8f6 @knu * enum.c (enum_count, enum_find_index): New methods:
knu authored
122 * Enumerable#find_index
17fdf7b @knu * enum.c (enum_first, enum_group_by): New methods:
knu authored
123 * Enumerable#first
124 * Enumerable#group_by
1e46931 @knu * enum.c: New methods: Enumerable#one?, #none?, #minmax, #min_by,
knu authored
125 * Enumerable#max_by
126 * Enumerable#min_by
127 * Enumerable#minmax
128 * Enumerable#minmax_by
129 * Enumerable#none?
130 * Enumerable#one?
090fbe8 @knu * enum.c New methods: Enumerable#take, #take_while, #drop and
knu authored
131 * Enumerable#take
132 * Enumerable#take_while
17fdf7b @knu * enum.c (enum_first, enum_group_by): New methods:
knu authored
133
134 New methods.
135
a5a4f71 @knu * enum.c (enum_find, enum_reject): Return an enumerator if no
knu authored
136 * Enumerable#find
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
137 * Enumerable#find_all
138 * Enumerable#partition
a5a4f71 @knu * enum.c (enum_find, enum_reject): Return an enumerator if no
knu authored
139 * Enumerable#reject
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
140 * Enumerable#select
141 * Enumerable#sort_by
142
143 Return an enumerator if no block is given.
144
47b87b4 @knu Add notes about {Array,Enumerable}#{map,collect}, which still return
knu authored
145 Note that #map and #collect still return an array unlike Ruby 1.9
146 to keep compatibility.
147
1e46931 @knu * enum.c: New methods: Enumerable#one?, #none?, #minmax, #min_by,
knu authored
148 * Enumerable#inject
149
150 Accepts a binary operator instead of a block.
151
152 * Enumerable#reduce
153
154 New alias to #inject.
155
6bd0ea7 @knu Merge everything from ruby_1_8.
knu authored
156 * Hash#eql?
157 * Hash#hash
158 * Hash#==
159
160 Handle recursive data properly.
161
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
162 * Hash#delete_if
163 * Hash#each
164 * Hash#each_key
165 * Hash#each_pair
166 * Hash#each_value
167 * Hash#reject!
168 * Hash#select
169 * ENV.delete_if
170 * ENV.each
171 * ENV.each_key
172 * ENV.each_pair
173 * ENV.each_value
174 * ENV.reject!
175 * ENV.select
176
177 Return an enumerator if no block is given.
178
038a522 @znz * signal.c, gc.c: New methods: GC.stress, GC.stress=;
znz authored
179 * GC.stress
180 * GC.stress=
181
182 New methods.
183
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
184 * Integer#ord
185 * Integer#odd?
186 * Integer#even?
187 * Integer#pred
188
189 New methods.
190
191 * Integer#downto
192 * Integer#times
193 * Integer#upto
194
195 Return an enumerator if no block is given.
196
a5a4f71 @knu * enum.c (enum_find, enum_reject): Return an enumerator if no
knu authored
197 * IO#each
198 * IO#each_line
199 * IO#each_byte
200 * IO.foreach
201 * ARGF.each
202 * ARGF.each_line
203 * ARGF.each_byte
204
205 Return an enumerator if no block is given.
206
663bee0 @knu Merge from ruby_1_8.
knu authored
207 * IO#bytes
208 * IO#chars
209 * IO#each_char
210 * IO#getbyte
211 * IO#lines
212 * IO#readbyte
213 * ARGF.bytes
214 * ARGF.chars
215 * ARGF.each_char
216 * ARGF.getbyte
217 * ARGF.lines
218 * ARGF.readbyte
219
220 New methods.
221
da4550b @znz * eval.c (method_receiver, method_name, method_owner): New
znz authored
222 * Method#name
223 * Method#owner
663bee0 @knu Merge from ruby_1_8.
knu authored
224 * Method#receiver
aa2c73f @knu Merge -r16241:16456 from ruby_1_8.
knu authored
225 * UnboundMethod#name
226 * UnboundMethod#owner
da4550b @znz * eval.c (method_receiver, method_name, method_owner): New
znz authored
227
228 New methods.
229
f88546d @knu Fix typos and move misplaced entries.
knu authored
230 * Module#class_exec
231 * Module#module_exec
232
233 New methods.
234
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
235 * Numeric#step
236
237 Return an enumerator if no block is given.
2062886 @knu Add items about the enumerator module.
knu authored
238
f0ade85 @knu Merge from ruby_1_8, including r16205.
knu authored
239 * Object#instance_exec
240 * Object#tap
241
242 New methods.
8b5d69e @znz update NEWS
znz authored
243
03a5d1c @knu * array.c (rb_ary_collect_bang, rb_ary_select): Return an
knu authored
244 * ObjectSpace.each_object
245
246 Return an enumerator if no block is given.
247
8b5d69e @znz update NEWS
znz authored
248 * Process.exec implemented.
249
64063ca @knu * range.c (range_each, range_step): Return an enumerator if no
knu authored
250 * Range#each
251 * Range#step
252
253 Return an enumerator if no block is given.
254
75a7621 @knu * NEWS: Merge some of the sub-sections, as the differences were
knu authored
255 * Regexp.union accepts an array of patterns.
3a5edae import OpenSSL from trunk
technorama authored
256
aa2c73f @knu Merge -r16241:16456 from ruby_1_8.
knu authored
257 * String#bytesize
258
259 New method, returning the size in bytes. (alias length and size)
260
eb93ce2 @knu * string.c (rb_str_each_char): New methods: String#chars and
knu authored
261 * String#chars
262 * String#each_char
9f7c96d @knu * string.c (rb_str_partition, rb_str_rpartition,
knu authored
263 * String#partition
264 * String#rpartition
265 * String#start_with?
266 * String#end_with?
267
268 New methods. These are $KCODE aware unlike #index, #rindex and
269 #include?.
270
eb93ce2 @knu * string.c (rb_str_each_char): New methods: String#chars and
knu authored
271 * String#each_byte
272 * String#each
6305529 @knu Tag for 1.8.7.
knu authored
273 * String#each_line
a5a4f71 @knu * enum.c (enum_find, enum_reject): Return an enumerator if no
knu authored
274 * String#gsub(pattern)
eb93ce2 @knu * string.c (rb_str_each_char): New methods: String#chars and
knu authored
275
276 Return an enumerator if no block is given.
277
6305529 @knu Tag for 1.8.7.
knu authored
278 * String#upto
279
280 An optional second argument is added to specify if the last value
281 should be included.
282
8b85487 @knu * enumerator.c (rb_eStopIteration), eval.c (rb_f_loop), ruby.h:
knu authored
283 * StopIteration
284
285 New exception class that causes Kernel#loop to stop iteration when
286 raised.
287
64063ca @knu * range.c (range_each, range_step): Return an enumerator if no
knu authored
288 * Struct#each
289 * Struct#each_pair
290
291 Return an enumerator if no block is given.
292
64ad39d @knu Merge from ruby_1_8.
knu authored
293 * Symbol#to_proc
294
295 New method.
296
10899ae @knu Merge from ruby_1_8.
knu authored
297 * __method__
298
299 New global function that returns the name of the current method as
300 a Symbol.
301
2062886 @knu Add items about the enumerator module.
knu authored
302 * enumerator
303
8b85487 @knu * enumerator.c (rb_eStopIteration), eval.c (rb_f_loop), ruby.h:
knu authored
304 * Enumerator is now a built-in module. The #next and #rewind
305 methods are implemented using the "generator" library. Use with
306 care and be aware of the performance loss.
2062886 @knu Add items about the enumerator module.
knu authored
307
5ea1459 @knu Mention ipaddr enhancements. Prepend stars to list items while I'm here...
knu authored
308 * ipaddr
309
310 * New methods
311 * IPAddr#<=>
312 * IPAddr#succ
313
314 IPAddr objects are now comparable and enumerable having these
315 methods. This also means that it is possible to have a Range
316 object between two IPAddr objects.
317
318 * IPAddr#to_range
319
320 A new method to create a Range object for the (network) address.
321
322 * Type coercion support
323 * IPAddr#&
324 * IPAddr#|
325 * IPAddr#==
326 * IPAddr#include?
327
328 These methods now accept a string or an integer instead of an
329 IPAddr object as the argument.
330
3cb6aa5 @znz update NEWS
znz authored
331 * net/smtp
332
333 * Support SSL/TLS.
334
3a5edae import OpenSSL from trunk
technorama authored
335 * openssl
336
5ea1459 @knu Mention ipaddr enhancements. Prepend stars to list items while I'm here...
knu authored
337 * New classes
338 * OpenSSL::PKey::EC
339 * OpenSSL::PKey::EC::Group
340 * OpenSSL::PKey::EC::Point
341 * OpenSSL::PKey::PKCS5
342 * OpenSSL::SSL::Session
3a5edae import OpenSSL from trunk
technorama authored
343
344 * Documentation!
345
346 * Various new methods (see documentation).
347
348 * Remove redundant module namespace in Cipher, Digest, PKCS7, PKCS12.
349 Compatibility classes are provided which will be removed in Ruby 1.9.
fdd427e @akr * lib/tmpdir.rb (Dir.mktmpdir): new method.
akr authored
350
25fffc2 @knu * NEWS: Mention shellwords and tempfile enhancements.
knu authored
351 * shellwords
352
353 * Add methods for escaping shell-unsafe characters:
5ea1459 @knu Mention ipaddr enhancements. Prepend stars to list items while I'm here...
knu authored
354 * Shellwords.join
355 * Shellwords.escape
356 * Array#shelljoin
357 * String#shellescape
25fffc2 @knu * NEWS: Mention shellwords and tempfile enhancements.
knu authored
358
359 * Add shorthand methods:
5ea1459 @knu Mention ipaddr enhancements. Prepend stars to list items while I'm here...
knu authored
360 * Shellwords.split (alias shellwords)
361 * String#shellsplit
25fffc2 @knu * NEWS: Mention shellwords and tempfile enhancements.
knu authored
362
663bee0 @knu Merge from ruby_1_8.
knu authored
363 * stringio
364
365 * StringIO#getbyte
366 * StringIO#readbyte
367
368 New methods. (aliases for compatibility with 1.9)
369
370 * StringIO#each_char
371 * StringIO#chars
372
373 New methods.
374
375 * StringIO#each
376 * StringIO#each_line
377 * StringIO#each_byte
378
379 Return an enumerator if no block is given.
380
25fffc2 @knu * NEWS: Mention shellwords and tempfile enhancements.
knu authored
381 * tempfile
382
383 * Tempfile.open and Tempfile.new now accept a suffix for the
384 temporary file to be created. To specify a suffix, pass an array
385 of [basename, suffix] as the first argument.
386
387 Tempfile.open(['image', 'jpg']) { |tempfile| ... }
388
f88546d @knu Fix typos and move misplaced entries.
knu authored
389 * tmpdir
390
391 * New method:
392
393 * Dir.mktmpdir
394
64bcdea @znz * lib/uri.rb, lib/uri/ldaps.rb: added LDAPS scheme; backported from 1.9....
znz authored
395 * uri
396
397 * added LDAPS scheme.
daca2bc @knu Merge this too.
knu authored
398 * Change for RFC3986:
399 * FTP
400 * URI('ftp://example.com/foo').path #=> 'foo'
401 * URI('ftp://example.com/%2Ffoo').path #=> '/foo'
402 * URI::FTP.build([nil, 'example.com', nil, '/foo', 'i').to_s #=> 'ftp://example.com/%2Ffoo;type=i'
403 * URI merge
404 * URI('http://a/b/c/d;p?q').merge('?y') == URI('http://a/b/c/d;p?y')
405 * URI('http://a/b/c/d;p?q').merge('/./g') == URI('http://a/g')
406 * URI('http://a/b/c/d;p?q').merge('/../g') == URI('http://a/g')
407 * URI('http://a/b/c/d;p?q').merge('../../../g') == URI('http://a/g')
408 * URI('http://a/b/c/d;p?q').merge('../../../../g') == URI('http://a/g')
64bcdea @znz * lib/uri.rb, lib/uri/ldaps.rb: added LDAPS scheme; backported from 1.9....
znz authored
409
37d5371 @kou * fixed commit miss in r13747: committed a missing file.
kou authored
410 * rss
411
49f59ad @kou * lib/rss/rss.rb (RSS::VERSION), test/rss/test_version.rb, NEWS:
kou authored
412 * 0.1.6 -> 0.2.4
37d5371 @kou * fixed commit miss in r13747: committed a missing file.
kou authored
413
414 * Fix image module URI
415
416 * Atom support
417
418 * ITunes module support
419
420 * Slash module support
421
30c5711 @kou * lib/rss/rss.rb, test/rss/test_version.rb: 0.2.0 -> 0.2.1.
kou authored
422 * content:encoded with RSS 2.0 support
423
64ad39d @knu Merge from ruby_1_8.
knu authored
424 === Interpreter Implementation
425
f0ade85 @knu Merge from ruby_1_8, including r16205.
knu authored
426 * passing a block to a Proc [experimental]
427
428 This implementation in current shape is known to be buggy/broken,
429 especially with nested block invocation. Take this as an
430 experimental feature.
431
64ad39d @knu Merge from ruby_1_8.
knu authored
432 * stack trace
433
434 On non-SystemStackError exception, full stack trace is shown.
435
25fffc2 @knu * NEWS: Mention shellwords and tempfile enhancements.
knu authored
436 === Compatibility issues (excluding feature bug fixes)
437
5b792fe @knu Merge from ruby_1_8.
knu authored
438 * String#slice! had some unintentional bugs and they have been fixed
439 because either they disagreed with documentation or their respective
440 behavior of #slice. Unfortunately, this causes some
441 incompatibilities in the following (somewhat rare) cases.
442
443 * #slice! no longer expands the array when an out-of-boundary value
444 is given.
445
446 # Ruby 1.8.6
447 a = [1,2]
448 a.slice!(4,0) #=> nil
449 a #=> [1,2,nil,nil]
450
451 # Ruby 1.8.7
452 a = [1,2]
453 a.slice!(4,0) #=> nil
454 a #=> [1,2]
455
456 * #slice! no longer raises an exception but returns nil when a
457 negative length or out-of-boundary negative position is given.
458
459 # Ruby 1.8.6
460 a = [1,2]
461 a.slice!(1,-1) #=> (raises IndexError)
462 a.slice!(-5,1) #=> (raises IndexError)
463
464 # Ruby 1.8.7
465 a = [1,2]
466 a.slice!(1,-1) #=> nil
467 a.slice!(-5,1) #=> nil
468
a8887c4 @knu Merge a NEWS entry from ruby_1_8.
knu authored
469 * String#to_i, String#hex and String#oct no longer accept a sequence
470 of underscores (`__') as part of a number.
471
472 # Ruby 1.8.6
473 '1__0'.to_i #=> 10
474 '1__0'.to_i(2) #=> 2 # 0b10
475 '1__0'.oct #=> 8 # 010
476 '1__0'.hex #=> 16 # 0x10
477
478 # Ruby 1.8.7
479 '1__0'.to_i #=> 1
480 '1__0'.to_i(2) #=> 1
481 '1__0'.oct #=> 1
482 '1__0'.hex #=> 1
483
484 The old behavior was inconsistent with Ruby syntax and considered as
485 a bug.
486
853864b @knu Merge from ruby_1_8.
knu authored
487 * date
488
489 * Date.parse
490
491 '##.##.##' (where each '#' is a digit) is now taken as 'YY.MM.DD'
492 instead of 'MM.DD.YY'. While the change may confuse you, you can
493 always use Date.strptime() when you know what you are dealing
494 with.
495
663bee0 @knu Merge from ruby_1_8.
knu authored
496 * stringio
497
498 * StringIO#each_byte
499
500 The return value changed from nil to self. This is what the
501 document says and the same as each_line() does.
502
25fffc2 @knu * NEWS: Mention shellwords and tempfile enhancements.
knu authored
503 * tempfile
504
505 * The file name format has changed. No dots are included by default
506 in temporary file names any more. See above for how to specify a
507 suffix.
508
daca2bc @knu Merge this too.
knu authored
509 * uri
510
511 * See above for details.
25fffc2 @knu * NEWS: Mention shellwords and tempfile enhancements.
knu authored
512
da8eea0 @knu reword a bit
knu authored
513 == Changes since the 1.8.5 release
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
514
515 === New platforms/build tools support
516
517 * IA64 HP-UX
518
519 * Visual C++ 8 SP1
520
521 * autoconf 2.6x
522
11b638c @knu * NEWS: Mention new constants.
knu authored
523 === Global constants
524
525 * RUBY_PATCHLEVEL
526
527 New constant since 1.8.5-p1.
528
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
529 === Library updates (outstanding ones only)
530
75a7621 @knu * NEWS: Merge some of the sub-sections, as the differences were
knu authored
531 * builtin classes
532
533 * New method: Kernel#instance_variable_defined?
534
535 * New method: Module#class_variable_defined?
536
537 * New feature: Dir::glob() can now take an array of glob patterns.
538
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
539 * date
540
541 * Updated based on date2 4.0.3.
542
543 * digest
544
545 * New internal APIs for C and Ruby.
546
547 * Support for autoloading.
548
bfe370c @knu * NEWS: Reword and improve entries.
knu authored
549 require 'digest'
550
551 # autoloads digest/md5
552 md = Digest::MD5.digest("string")
553
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
554 * New digest class methods: file
555
bfe370c @knu * NEWS: Reword and improve entries.
knu authored
556 * New digest instance methods: clone, reset, new, inspect,
557 digest_length (alias size or length), block_length()
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
558
559 * New library: digest/bubblebabble
560
561 * New function: Digest(name)
562
563 * fileutils
564
565 * New option for FileUtils.cp_r(): :remove_destination
566
75a7621 @knu * NEWS: Merge some of the sub-sections, as the differences were
knu authored
567 * nkf
568
569 * Updated based on nkf as of 2007-01-28.
570
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
571 * thread
572
8033a9c @knu * NEWS: Add a note about the new `date' library defining
knu authored
573 * Replaced with much faster mutex implementation in C. The former
574 implementation, which is slow but considered to be stable, is
575 available with a configure option `--disable-fastthread'.
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
576
75a7621 @knu * NEWS: Merge some of the sub-sections, as the differences were
knu authored
577 * tk
578
579 * Updated Tile extension support based on Tile 0.7.8.
580
581 * Support --without-X11 configure option for non-X11 versions of
582 Tcl/Tk (e.g. Tcl/Tk Aqua).
583
584 * New sample script: irbtkw.rbw -- IRB on Ruby/Tk. It has no trouble
585 about STDIN blocking on Windows.
586
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
587 * webrick
588
589 * New method: WEBrick::Cookie.parse_set_cookies()
590
591 === Compatibility issues (excluding feature bug fixes)
592
593 * builtin classes
594
fc74c7e @knu * NEWS: Add a note for String#intern.
knu authored
595 * String#intern now raises SecurityError when $SAFE level is greater
596 than zero.
597
8033a9c @knu * NEWS: Add a note about the new `date' library defining
knu authored
598 * date
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
599
8033a9c @knu * NEWS: Add a note about the new `date' library defining
knu authored
600 * Time#to_date and Time#to_datetime are added as private methods.
601 They cause name conflict error in ActiveSupport 1.4.1 and prior,
602 which comes with Rails 1.2.2 and prior. Updating ActiveSupport
603 and/or Rails to the latest versions fixes the problem.
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
604
605 * digest
606
bfe370c @knu * NEWS: Reword and improve entries.
knu authored
607 * The constructor does no longer take an initial string to feed.
608 The following examples show how to migrate:
6c355c6 @knu * NEWS: Add NEWS, a document file to keep user visible feature
knu authored
609
610 # Before
611 md = Digest::MD5.new("string")
612 # After (works with any version)
613 md = Digest::MD5.new.update("string")
614
615 # Before
616 hd = Digest::MD5.new("string").hexdigest
617 # After (works with any version)
618 hd = Digest::MD5.hexdigest("string")
8033a9c @knu * NEWS: Add a note about the new `date' library defining
knu authored
619
620 * fileutils
621
622 * A minor implementation change breaks Rake <=0.7.1.
623 Updating Rake to 0.7.2 or higher fixes the problem.
25fffc2 @knu * NEWS: Mention shellwords and tempfile enhancements.
knu authored
624
625 * tk
626
627 * Tk::X_Scrollable (Y_Scrollable) is renamed to Tk::XScrollable
628 (YScrollable). Tk::X_Scrollable (Y_Scrollable) is still available,
629 but it is an alias name.
Something went wrong with that request. Please try again.