aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS
Commit message (Collapse)AuthorAgeFilesLines
* class.c: TypeError when superclass mismatchnobu2015-06-281-0/+4
| | | | | | | * class.c (rb_define_class_id_under): raise TypeError exception same as ruby level class definition when superclass mismatch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-06-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: mention Array#bsearch_index and Hash#fetch_values. [ci skip]kazu2015-06-211-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: add a reference to a ticket. [ci skip]kazu2015-06-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-06-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: mention about $SAFE.kazu2015-06-191-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: ArgumentError if no blocknobu2015-06-191-0/+5
| | | | | | | * proc.c (rb_mod_define_method): now requires a block direct to this method call. [ruby-core:69655] [Bug #11283] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS: NameError#receiver [Feature #10881]nobu2015-06-181-0/+3
| | | | | | [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS: update for socket API changes [ci skip]normal2015-06-151-3/+9
| | | | | | [Feature #11242] [Feature #11229] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/pathname/lib/pathname.rb (descend): Blockless form supported.akr2015-06-141-0/+4
| | | | | | | | | (ascend): Ditto. [ruby-core:68820] [Feature #11052] Patch by Piotr Szotkowski. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c (enum_chunk_while): New method Enumerable#chunk_while.akr2015-06-141-0/+1
| | | | | | | | [ruby-core:67738] [Feature #10769] proposed by Tsuyoshi Sawada. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add ticket numbers.akr2015-06-141-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* On Windows File::Stat#ino always returned 0, butnaruse2015-06-131-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* move a new feature to correct sectionnaruse2015-06-131-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add news about inode for Windows [Feature #11216]naruse2015-06-131-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add Thread.name and Thread.name= docs Feature #11251 [ci skip]naruse2015-06-131-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * pack.c (pack_{un,}pack): new template character `j` and `J`, pointerusa2015-06-121-0/+4
| | | | | | | | | | with signed and unsigned integers. * NEWS: mention bout this featre. [Feature #11215] [ruby-dev:49015] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * file.c (File::SHARE_DELETE): new flag to be able to delete opened fileusa2015-06-121-0/+6
| | | | | | | | | | | | | | on Windows. * include/win32/win32.c (O_SHARE_DELETE): new pseudo file mode flag. * win32/win32.c (rb_w32_{w,}open): support above flag. [EXPERIMENTAL] * NEWS: mention about this feature. [Feature #11218] [ruby-dev:49022] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: add two methods to debug internals.ko12015-05-281-0/+2
| | | | | | | | | | | * ObjectSpace.internal_class_of: return RBASIC_CLASS(obj). * ObjectSpace.internal_super_of: return RCLASS_SUPER(cls). * NEWS: add information about both methods. * test/objspace/test_objspace.rb: add tests for both methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: added news for net-telnet and rakehsbt2015-05-221-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: Numeric#positive? and Numeric#negative?nobu2015-05-171-0/+5
| | | | | | | | | | | | * numeric.c (num_positive_p, num_negative_p): add methods Numeric#positive? and Numeric#negative?. [ruby-core:69173] [Feature #11151] * numeric.c (flo_positive_p, flo_negative_p): specialiazed functions for Float. * complex.c (Init_Complex): Complex do not have positive? and negative? methods git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-05-161-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c (enum_grep_v, grep_i, grep_iter_i, Init_enum):sorah2015-05-141-0/+4
| | | | | | Implement Enumerable#grep_v. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS: note IO#wait_readable change in r50263normal2015-04-151-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* connect_nonblock supports "exception: false"normal2015-04-121-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is for consistency with accept_nonblock arguments and gives a minor speedup from avoiding exceptions. [ruby-core:68838] [Feature #11024] * ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): support `exception: false' * (get_no_exception): move function location * ext/socket/socket.c (sock_connect_nonblock): support `exception: false' * test/openssl/test_pair.rb (test_connect_accept_nonblock_no_exception): test `exception: false' on connect, rename from `test_accept_nonblock_no_exception' * test/socket/test_nonblock.rb (test_connect_nonblock_no_exception): new test Benchmark results: default 0.050000 0.100000 0.150000 ( 0.151307) exception: false 0.030000 0.080000 0.110000 ( 0.108840) ----------------------------8<----------------------- require 'socket' require 'benchmark' require 'io/wait' require 'tmpdir' host = '127.0.0.1' serv = TCPServer.new(host, 0) # UNIX sockets may not hit EINPROGRESS nr = 5000 # few iterations to avoid running out of ports addr = serv.getsockname pid = fork do begin serv.accept.close rescue => e warn "#$$: #{e.message} (#{e.class})" end while true end at_exit { Process.kill(:TERM, pid) } serv.close Benchmark.bmbm do |x| x.report("default") do nr.times do s = Socket.new(:INET, :STREAM) s.setsockopt(:SOL_SOCKET, :SO_REUSEADDR, 1) begin s.connect_nonblock(addr) rescue IO::WaitWritable s.wait_writable end s.close end end x.report("exception: false") do nr.times do s = Socket.new(:INET, :STREAM) s.setsockopt(:SOL_SOCKET, :SO_REUSEADDR, 1) case s.connect_nonblock(addr, exception: false) when :wait_writable s.wait_writable end s.close end end end git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: add ObjectSpace.count_imemo_objects methodko12015-04-101-0/+3
| | | | | | | | | | to count imemo objects for each type. * test/objspace/test_objspace.rb: add a test. * NEWS: describe about this addition. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c: Enumerable#chunk and Enumerable#slice_before no longer takesakr2015-04-061-0/+5
| | | | | | | | the initial_state argument. [Feature #10958] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* accept_nonblock supports "exception: false"normal2015-03-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is analogous to functionality found in IO#read_nonblock and IO#wait_nonblock. Raising exceptions for common failures on non-blocking servers is expensive and makes $DEBUG too noisy. Benchmark results: user system total real default 2.790000 0.870000 3.660000 ( 3.671597) exception: false 1.120000 0.800000 1.920000 ( 1.922032) exception: false (cached arg) 0.820000 0.770000 1.590000 ( 1.589267) --------------------- benchmark script ------------------------ require 'socket' require 'benchmark' require 'tmpdir' nr = 1000000 Dir.mktmpdir('nb_bench') do |path| sock_path = "#{path}/test.sock" s = UNIXServer.new(sock_path) Benchmark.bmbm do |x| x.report("default") do nr.times do begin s.accept_nonblock rescue IO::WaitReadable end end end x.report("exception: false") do nr.times do begin s.accept_nonblock(exception: false) rescue IO::WaitReadable abort "should not raise" end end end x.report("exception: false (cached arg)") do arg = { exception: false } nr.times do begin s.accept_nonblock(arg) rescue IO::WaitReadable abort "should not raise" end end end end end * ext/socket/init.c (rsock_s_accept_nonblock): support exception: false [ruby-core:66385] [Feature #10532] * ext/socket/init.c (rsock_init_socket_init): define new symbols * ext/socket/rubysocket.h: adjust prototype * ext/socket/socket.c (sock_accept_nonblock): support exception: false * ext/openssl/ossl_ssl.c (ossl_ssl_accept_nonblock): ditto * ext/socket/socket.c (Init_socket): adjust accept_nonblock definition * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto * ext/socket/tcpserver.c (rsock_init_tcpserver): ditto * ext/socket/unixserver.c (rsock_init_unixserver): ditto * ext/socket/tcpserver.c (tcp_accept_nonblock): adjust rsock_s_accept_nonblock call * ext/socket/unixserver.c (unix_accept_nonblock): ditto * ext/openssl/ossl_ssl.c (ossl_start_ssl): support no_exception * ext/openssl/ossl_ssl.c (ossl_ssl_connect): adjust ossl_start_ssl call * ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): ditto * ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto * test/socket/test_nonblock.rb (test_accept_nonblock): test for "exception :false" * test/socket/test_tcp.rb (test_accept_nonblock): new test * test/socket/test_unix.rb (test_accept_nonblock): ditto * test/openssl/test_pair.rb (test_accept_nonblock_no_exception): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens.marcandre2015-03-051-0/+3
| | | | | | [Fixes GH-802] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/coverage/coverage.c: Add Coverage.peek_result. Allows you totenderlove2015-02-131-0/+4
| | | | | | | | | capture coverage information without stopping the coverage tool. [ruby-core:67940] [Feature #10816] * test/coverage/test_coverage.rb: test for change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/base64.rb: make urlsafe mode user-friendly.mame2015-02-131-0/+6
| | | | | | | | | | | | | * lib/base64.rb (Base64.urlsafe_encode64): a new option "padding" to suppress the padding character ("="). * lib/base64.rb (Base64.urlsafe_decode64): now it accepts not only correctly-padded input but also unpadded input. [Feature #10740][ruby-core:67570] * test/base64/test_base64.rb: Test for above git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: reduce to_ary callnobu2015-01-251-0/+3
| | | | | | | * array.c (flatten): no need to call to_ary method on elements beyond the given level. [ruby-core:67637] [Bug #10748] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* #10714 is a feature.akr2015-01-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: References to tickets added.akr2015-01-211-2/+2
| | | | | | | [ruby-core:67701] [Bug #10760] Suggested by Zachary Scott. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Describe IO#close.akr2015-01-151-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: linear performancenobu2015-01-151-0/+5
| | | | | | | * array.c (rb_ary_select_bang, ary_reject_bang): linear performance. [ruby-core:67418] [Feature #10714] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/drb/drb.rb: removed unused argument. Patch by @vipulnswardhsbt2015-01-041-0/+3
| | | | | | [fix GH-515] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: added compatibility entry of r49101.hsbt2015-01-031-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* old ChangeLog and NEWS move to dockazu2014-12-251-328/+2
| | | | | | | | | * doc/NEWS-2.2.0: moved from NEWS * doc/ChangeLog-2.2.0: moved ChangeLog older than created ruby_2_2 branch * NEWS: NEWS for 2.3.0 that describes changes since 2.2.0 * ChangeLog: ChangeLog since branch point of ruby_2_2 branch git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2014-12-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: mention about IO#fsync (and IO#flush). adviced by kosaki.usa2014-12-161-3/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: ObjectSpace.memsize_of(obj) returnsko12014-12-151-0/+4
| | | | | | | | | | | | with sizeof(RVALUE). [Bug #8984] * gc.c (obj_memsize_of): ditto. * NEWS: add a NEWS entry. * test/objspace/test_objspace.rb: catch up this fix. * test/ruby/test_file_exhaustive.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_latest_gc_info): return :state field to show currentko12014-12-121-0/+1
| | | | | | | | | GC state (none/marking/sweeping). [Feature #10590] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: add obsolete callcc.kazu2014-11-271-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (objspace_malloc_increase): enable lazy sweep on GC by malloc()ko12014-11-271-0/+1
| | | | | | | | | | (malloc_increase) to make GC incrementally. This change can increase memory consumption. Report us if you find any problem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Describe about TSort.each_*akr2014-11-271-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.h: export keyword argument functionsnobu2014-11-261-0/+3
| | | | | | | * include/ruby/ruby.h (rb_get_kwargs, rb_extract_keywords): export keyword argument functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Move the description about vfork.akr2014-11-251-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: add an "Implementation changes" section.ko12014-11-251-0/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rake: Update to rake 10.4.0drbrain2014-11-251-0/+5
| | | | | | | | | | | * test/rake: ditto. * NEWS: ditto. * test/lib/minitest/unit.rb: Add compatibility shim for minitest 5. This only provides minitest 5 unit test naming compatibility. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e