Naoki Hiroshima
n+rub****@h7a*****
Sun Nov 25 03:03:25 JST 2007
Congratulations to all of you! The new release seems working great so far in my environment ;-) There is one thing I have noticed while installing the package, however. Why doesn't RubyCocoa use the official Ruby logo? As some of you remember, Ruby team held the contest and finally decided its official logo some weeks ago. So, I'd suggest RubyCocoa to use the logo. See http://rubyidentity.org/ I should've come up with this before the release but you never came across this kind of thing until you actually run the installer. -- Hiroshima On 11/24/07, Laurent Sansonetti <laure****@gmail*****> wrote: > Hi, > > I am honored to announce the immediate release of RubyCocoa 0.13.0. > > RubyCocoa is a Mac OS X framework that allows Cocoa programming in the > object-oriented scripting language Ruby. In other words, it is a > bridge that let you access Objective-C objects from Ruby, and > vice-versa. > > You can learn more about RubyCocoa on our website: > > http://rubycocoa.sf.net > > A source tarball as well as binary installers for Mac OS X 10.4 and > 10.5 are provided. > > This is mostly a bugs fix release, addressing many critical issues, > but it also brings some nice enhancements. All users are encouraged to > upgrade, and report us feedback. > > Mac OS X 10.5, Leopard, is as you can see supported by this release. > Installing this release using the binary installer or manually with > the default build parameters won't override the system version, it > will go in /Library while the system version is in /System. > > The release notes are following. Enjoy! > > Laurent > > New features: > > - NSArray and NSDictionary now respond to the same messages of their > Ruby equivalents, respectively Array and Hash. NSString responds to > the String messages too, except #=~ and #match. The implementation is > fast and reliable, but respects the Cocoa semantics. The > #method_missing hack has been removed. > > - Added utility methods to NSRect, NSPoint, NSSize and NSRange. > > - Added useful inspect methods to NSString, NSNumber, NSArray, > NSDictionary, NSCFBoolean and NSDate. Added pretty print support to > NSString, NSArray, NSDictionary. > > - Added a #to_ns method to Array, Hash, String, Numeric, TrueClass, > FalseClass, Time, to convert them to their Cocoa equivalent. > > - Added ObjcPtr#cast_as(encoding) for more generic casting from void*. > > - Added Leopard-only samples. > > Bugs fixed: > > - Fixed various memory leaks in the RubyCocoa initialization code, and > in the bridge support parsing code. No memory should now be leaked > during initialization. > > - Improved the ruby obj -> ocid and ruby obj -> SEL conversions performance. > > - Fixed a crash when passing a pointer to an ObjC object, then trying > to convert it as a Ruby object after the API call, but crashing > because the pointer wasn't touched by the API. Now preparing > passed-by-reference pointers to NULL. > > - Fixed an error, "Please install again" on reinstalling using the > binary installer. > > - Do not translate 'set' methods that get more than one argument. > > - Create the slave objects at demand, if they do not exist yet. This > fixes a bindings / CoreData problem in 10.5. > > - Now resetting the context autorelease pools on every thread restore. > > - Fixed a bug when an object that was being allocated from a Ruby > thread was still in the cache while the thread was killed, resulting > in a corrupted cache. > > - Make sure we do not cache CF-based objects. > > - Fixed a circular retain cycle from ObjC objects allocated from an > NSObject-based Ruby class, resulting in a leak of both the ObjC object > and its Ruby proxy. > > - Hook [copyWithZone:] and reset the slave object so that every ObjC > object has a different slave object. This fixes a crash when releasing > a slave object that could be shared by multiple ObjC objects. > > - #objc_send will now pass a frozen selector to the core, where > underscore characters won't be transformed as ':'. This is a > convenience utility to call ObjC methods that contain underscores as > part of their selector, like for example [__rbobj__]. > > - Better OvMix retain cycle: if an OvMix object is created from Ruby, > we by default don't retain its Ruby proxy, and start tracking > retain/release messages, and appropriately re-retain/re-release the > Ruby proxy. > > - Removed the old __slave_nsobj__ ivar hook. Now all pure-Ruby objects > will be wrapped in an autoreleased RBObject. > > - Fixed a bug, when ObjC arguments that were passed from an ObjC > closure to Ruby were not retained, as they should. Added a test case. > > - Better facility (10.5 only) that dispatches messages from threads to > the thread where RubyCocoa was initialized. It was previously assuming > that RubyCocoa was run in the main thread, which may not be always > true (Ruby could be ran in a different thread). > > - Now allow the send the of 'new' message to any ObjC class that will > respond to it. Keep the old behavior (raising an exception) for > classes that don't implement new. > > - Added threading support for 10.5. > > - Updated metaconfig and Rakefile to use '--gen-bridge-support=no' on 10.5. > > - New metaconfig option --sdkroot. Fix setup error > --macosx-deployment-target=10.4 on 10.5. > > - Fixed String#to_nsstring for 10.5. > > - String#nsenconding, to_nsstring, to_nsmutablestring are now > deprecated. Developers are encouraged to switch to #to_ns. > > - Fixed a bug, calling to_ns for a Ruby String which has illegal utf-8 > sequences caused a bus error. > > - Avoid an infinite loop when creating the slave proxy, which could be > caused by an attempt to pass an object to Objective-C in its > #initialize method. > > - sample/Scripts/darkroom.rb: fix SEGV of darkroom.rb on 10.5. > > - Added CoreData.define_wrapper_for_entity(). This feature was part of > CoreData.define_wrapper(). Removed "to_a" for NSArray in CoreData > module. > > - Load the libSystem.bridgesupport file if it exists (10.5 only). > > - rb_nibtool: Fixed a crash when the provided Ruby script only defines > actions but no outlets, or vice-versa. > > - rb_nibtool: Fixed bug where #each was called on nil if there were > either no actions OR outlets in the class. > > - rb_nibtool: Fixed bug where a new class from a source file would not > show up in the class list in IB because the superclass is unknown to > the classes list in IB. If the superclass const is not found it will > default to NSObject. This change is not effective when rb_nibtool is > used with rubynode. > > - rb_nibtool: Fixed problem when not detecting existing classes. > > - standaloneify: Now sets the environment variable > ENV['RUBYCOCOA_STANDALONEIFYING?']. This is to be able to prevent code > from being ran when an application is being standaloneified. > > - standaloneify: Will now skip all the source files at any depth in Resources. > > - gen_bridge_doc: Updated to work with the latest Apple documentation and 10.5. > > - gen_bridge_doc: Fixed a bug where </i> tags weren't replaced by '_'. > > - gen_bridge_doc: Added documentation for the translated bool methods, > eg: isRunning -> running?. > > _______________________________________________ > Rubycocoa-devel mailing list > Rubyc****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel >