RubyCocoa Changelog

What's new in RubyCocoa 1.2.0

Jul 28, 2014
  • Improvements:
  • support ruby-2.0 or later, mostly works as same as on ruby-1.8.
  • we release RubyCocoa installers as separated packages for ruby-1.8/2.0. replace RubyCocoa.framework if you try to run your RubyCocoa application with OS X 10.9 buitin ruby-2.0.
  • when called method is not found on an Objective-C object, RubyCocoa raises NoMethodError. (before: OSX::OCMessageSendException)
  • Deprecates:
  • CocoaClass#objc_export() is deprecated. use objc_method().
  • OSX::NSObject#ocm_responds?() will be deprecated. use ocm_respond_to?().
  • OSX::NSData#dataWithRubyString(), OSX::NSMutableData#dataWithRubyString() will be deprecated. use [NSString dataUsingEncoding:]
  • Fixes:
  • Fixed build errors on Yosemite DP.

New in RubyCocoa 1.1.0 (Nov 18, 2013)

  • Improvements:
  • Support Xcode 5 "Modules".
  • Developers can disable internal Objective-C -> Ruby objects cache
  • via a new global variable $RUBYCOCOA_USE_OC2RBCACHE to avoid crashes
  • from inconsistency between the cache and Ruby's GC. [Experimental]
  • The crash may occurs delegate of NSTableView.
  • Fixes:
  • Fixed standaloneify.rb error with ruby-2.0 or rubygems-2.1.
  • Fixed SEGV at Object#dup for some Objective-C objects.
  • Deprecates:
  • Deprecated Objective-C class "RubyCocoa" in .
  • developers can use RBRuntime functions to call ruby from Objective-C.
  • bundleInitWithProgram:class:param: -> RBBundleInit()
  • applicationInitWithProgram:argc:argv:param: -> RBApplicationInit()
  • applicationMainWithProgram:argc:argv: -> RBApplicationMain()
  • Deprecated NSString|String methods depends "NKF" extension.
  • NSString.guess_nsencoding
  • NSString.guess_encoding
  • NSString.stringWithRubyString
  • NSMutableString.stringWithRubyString
  • String.nsencoding

New in RubyCocoa 1.0.7 (Oct 29, 2013)

  • Fixed boxed Objective-C object sometimes becomes wrong type OSX::CFTypeRef in Ruby world on 10.9 Mavericks.

New in RubyCocoa 1.0.6 (Jan 3, 2013)

  • Fixed some applications does not launch with 1.0.5.
  • Fixed standaloneifi-ed app does not work with rubygems 1.3.2 or later.

New in RubyCocoa 1.0.5 (Oct 8, 2012)

  • Improvements:
  • project templates are upgraded for Xcode 4.2-4.5. you can install the templates with the following command. $ ruby /Developer/Documentation/RubyCocoa/Templates/install_templates.rb Xcode4.x
  • Fixes:
  • Fixed standaloneify.rb not work.
  • Removals:
  • osx/active_record.rb was removed.

New in RubyCocoa 1.0.4 (Aug 27, 2012)

  • Fixed leaks at initializing RubyCocoa-1.0.3.
  • Fixed RubyCocoa does not load bridgesupport files under nested framework,
  • such as "QuartzCore.framework/Frameworks/CoreImage.framework"

New in RubyCocoa 1.0.2 (Sep 3, 2011)

  • Fixed SEGV at working with NSData or Ruby byte string.
  • Fixed some opaque becomes ABRecordRef.
  • Fixed build error with install.rb.
  • x86_64:
  • Fixed SEGV passing/getting small C struct contains C array,
  • such as NSDecimal.

New in RubyCocoa 1.0.1 (Oct 19, 2009)

  • Improvements:
  • RubyCocoa.framework built for 10.5 works on 10.6
  • NSString for same string returns same hash in Ruby world.
  • it enables NSString to become a key of Hash.
  • refactoring build system for universal binary
  • deprecate config option "--build-universal"
  • introduce config option "--target-archs"
  • upgrade project templates for Xcode 3.x
  • Fixes:
  • Snow Leopard:
  • Fixed application stops with errors for thread such as
  • "Assertion failed: (ctx->autoreleasePool ..."
  • Fixed some errors of invocation-based undo with NSUndoManager
  • x86_64:
  • correct value of OSX::NSNotFound (Foudation.bridgesupport is wrong)
  • Fixed debug log sometimes prints incorrect integer values
  • Fixed getting values for 64-bit from bridgesupport files
  • others:
  • Fixed SEGV irb at `require "osx/cocoa"'

New in RubyCocoa 1.0.0 (Jul 25, 2009)

  • bug fixes:
  • imcompatible NSString#split
  • cannot handle KVC/KVO autonotify
  • KVO willChangeValueForKey/didChangeValueForKey was invoked twice
  • NSBundle.bundleForClass: crashes on ruby uninitialized thread
  • libffi: ffi_call( return value buffer too small)
  • GraphicsContext.graphicsContextWithGraphicsPort_flipped crashes
  • DLOG macro: format string should be literal
  • avoid override Objective-C methods with syntax sugar methods
  • crash with "[BUG] object allocation during garbage collection phase" on 10.5.7
  • enhancements:
  • ruby 1.8.7 ready
  • crash with "[BUG] object allocation during garbage collection phase"
  • infinit loop of NSArray#count and NSDictionary#count
  • behavior of basic Ruby classes' methods was changed in 1.8.7
  • new sample PassengerPane
  • better build settings for 10.5
  • support formal protocols (10.5 or later)
  • rake install task: check finish of building
  • rake package task: use concrete configure settings from package/config/
  • misc:
  • change install destination of Xcode templates (enable templates on Xcode3.1)
  • add document for OSX.require_framework
  • fix failure of a test, test_loadlibs()

New in RubyCocoa 0.13.2 (Feb 16, 2008)

  • New features:
  • New sample: Growl.
  • New NSSize methods: #/, #*, # , #-
  • New NSPoint methods: # , #-
  • ActiveRecordSetController now allows to destroy a multiple selection.
  • Bug fixes:
  • Fixed a bug when direct-overriding a method in a subclass of an Objective-C class that implements the method.
  • Fixed a bug when returning C array (CARY) in struct.
  • Migrated from STR2CSTR() to StringValuePtr().
  • Marked some local VALUE variables as volatile to make sure they will stay on stack and won't be collected by mistake.
  • Made NSNumber#float? deprecated and added integer? to conform to Number#integer?.
  • Fixed a bug, NSString#scan(regexp){block} passed String to its block argument. It should be NSString.
  • Fixed a bug, NSString#split returned an array contains immutable NSString sometimes.
  • Fixed a bug, NSArray#delete always yielded a block.
  • NSNumber#to_f should use doubleValue.
  • ActiveRecord: Made speed improvements in the way records in a has many association are created.
  • ActiveRecord: Fixed a bug where calling #to_activerecord_proxy on the same record object would return a new different proxy object and thus resulting in a kvo error. The proxy instance is now cached in the record itself.
  • ActiveRecord: Fixed bug on case-sensitive filesystems where 'FileUtils' was required instead of 'fileutils'.
  • gen_bridge_doc: updated to read latest Apple docs.
  • Fixed a build problem, libffi should be built always for macosx-deployment-target=10.4.
  • Build process is now able to generate a release package for Tiger on Leopard.
  • Cannot handle objc types with qualifiers such as (in|out|inout).
  • Removed ENV['BRIDGE_SUPPORT_PATH']= debug calls in samples.
  • Resume caching method arguments of objc callbacks.