Files
RubyMotion/NEWS
Laurent Sansonetti 400161b02b sync
2012-10-31 17:18:18 +01:00

564 lines
31 KiB
Plaintext

= RubyMotion 1.28 =
* Fixed the build system to set a 5 seconds timeout when accessing the
software updates server. Thanks Nick Quaranto for the patch.
= RubyMotion 1.27 =
* Fixed a bug where NSDecimalNumber.decimalNumberWithDecimal would not work
since 1.24 in development mode, because of a regression introduced after
changing the default set of optimization passes.
* Fixed a bug where the `dispatch_object' method would not return a proper
value on iOS 6.0, because it wasn't conforming to the new os/object.h
structure.
* Fixed a bug in `rake spec' where certain UIAutomation-based methods would
not be callable because of a regression introduced in the previous update.
* Fixed a bug in the compiler to compile references to C functions using the
weak linkage. If the symbol of a C function is not available at runtime,
the function will not be defined and respond_to? will return false.
This fixes applications linking against AddressBook.framework on 6.0 and
making conditional use of the new ABAddressBookCreateWithOptions().
* Fixed a bug in the runtime where calling `super' in certain methods
(ex. UISlider's thumbRectForBounds:trackRect:value:) would crash the
program due to an assertion.
* Fixed a bug in the compiler where certain structures could be returned as
an object of the wrong class (ex. MKCoordinateRegion.region returning
AudioValueRange instead of CLLocationCoordinate2D).
* Fixed a bug in Object#{dup,clone} where #{initialize_dup,initialize_clone}
would not be called.
* Fixed a bug in Object#instance_eval where the receiver object was not
properly yield to the block.
* Fixed a bug in Array#== and Marshal.dump where unnecessary private methods
were being looked up.
* Fixed a bug in Array#{rotate,rotate!} where it would not raise a TypeError
exception if nil was given.
* Fixed Array#{uniq, uniq!} and NSArray#{uniq, uniq!} to support blocks.
* Fixed a bug in Range#dup where the begin/end values were not copied.
* Fixed a bug in Range#step which would not behave like Numeric#step if given
a Float argument.
* Fixed a bug in String#<< with a codepoint argument where an exception would
be raised when called on US-ASCII/BINARY strings.
* Added .DS_Store, temporary files and project files into the default
.gitignore file. Thanks to Mark Rickert and Eric Summers for the patch.
= RubyMotion 1.26 =
* Fixed a bug in the build system where the Info.plist file would not be
generated with the right DT* values when targetting iOS 6.0. This fixes
AppStore submissions for apps made for the iPhone 5 new retina format.
* Fixed a bug in the build system when building .bridgesupport files where
it would fail to process header paths including space characters.
* Fixed a bug where the `rake static' task would not work with iOS 6.0.
* Fixed a compiler bug when using the
`TWTweetComposeViewController#setInitialText' method on iOS 5.1 or below
would trigger a crash at runtime.
* Fixed a bug in Pointer#cast! where symbol arguments could not be given to.
* Fixed a bug where methods that take variable arguments do not call
the appropriate function if an ArgumentError exception if raised.
* Fixed a bug where calling super from a #define_method block would fail.
* Fixed a bug in the compiler when compiling references to C constants which
might already exist in the kernel module (ex. kCFBooleanTrue).
* Fixed a bug when starting the simulator with the 'retina=true' option.
Thanks to Scott Pierce for the patch.
* Fixed the build system to build vendored Xcode projects into the `.build'
directory instead of `build', as some projects come with such a directory.
* Fixed a memory bug when calling `File.open' with a splat Array argument.
* Fixed a regression introduced in 1.21 which prevented the OCMock framework
to work, because the dispatcher was performing one additional selector on
NSProxy-based receivers and OCMock counts the number of messages.
* Fixed a bug in `rake spec' where the simulator launcher would exit with an
error status even if the spec suite was successful.
* Improved Hash#[]= performance when an Array is used for key to use a
MurmurHash function instead of hashing on the length. 400 times faster.
* Added the Pointer#value method which is alias for Pointer#[0].
* Added the `app.framework_search_paths' variable that lets you configure
the custom framework paths for the project build.
* Added the `RUBYMOTION_VERSION' Ruby constant at runtime which points to the
version of RubyMotion, as a String. Cleaned up other RUBY_ constants.
* Added the `spec:device' Rake task which will run the spec/test suite on the
device via the debugger.
= RubyMotion 1.25 =
* Fixed a bug when using Objective-C properties implemented using message
forwarding (ex. GKMatchRequest's maxPlayers).
* Fixed a bug in build system where the app.info_plist dictionary would not
be re-generated if app.info_plist is called before changing other settings
(ex. app.name).
* Fixed a bug in the build system where vendored Xcode projects (including
projects via CocoaPods) would not be built honoring the Rakefile
app.deployment_target variable.
* Fixed a bug in the `rake device' debugger task where the debugger would
fail to attach if the application name includes a space character.
* Fixed a bug in the build system where a project whose path includes a space
character would fail to build the second time.
* Fixed a bug in the runtime where methods defined with `define_method' that
are either aliased or created via a module inclusion would crash when
called at runtime.
* Fixed a bug in the build system where the `get-task-allow' entitlement
which is set to true by default could not be set to false. Thanks to
@andreas for the patch.
* Fixed a bug in `rake simulator' where a stty-related warning would be
printed in case the task is launched from a process where stdout is not a
tty. Thanks to Dennis Ushakov for the patch.
* Fixed a bug in Range's evaluation order, where the beginning part would not
be evaluated at first (ex. (x = 0)..(x + 1)).
* Improved the Regexp class to support octal literals and '\[hH]' matchers.
* Fixed Math.atan2 to follow the Ruby 1.9.3 specs when both arguments are 0.0.
= RubyMotion 1.24 =
* Added support for the GM version of the iOS 6 SDK.
* Added support for the iPhone5 architecture (armv7s).
* Added new values for the `retina' option of `rake simulator': `3.5' (for
iPhone4) and `4' (for iPhone5). A `true' value will default to `3.5' in
case the simulator target is lesser than 6.0, otherwise, `4' will be used.
* Added debugging support (experimental) for both simulator and device.
Simply set the `debug' parameter to any value to attach the debugger
(ex. `rake debug=1' for simulator and `rake device debug=1' for device).
The Ruby code compiles with relevant DWARF metadata and the debugger
used is gdb. Note that the debugger experience is a work in progress and
will be significantly improved in future releases.
Check out http://www.rubymotion.com/developer-center/articles/debugging
* Fixed the `development' mode to not compile with LLVM optimizations. This
results in faster compilation times and also better debugging support,
but the code might run a bit slower. The `release' mode builds with the
entire optimization passes.
* Added to the build system the `mode' option which can be used to specify
the build mode, either `development' (default) or `release'. You can now
test your app in release mode by using `rake mode=release' for simulator
and `rake device mode=release' for device.
* Fixed the build system not to execute the user-defined application setup
block twice, which is no longer necessary with the new `mode' option.
* Removed the `archive:development' and `archive:release' tasks which are
no longer necessary with the new `mode' option.
* Added the `archive:distribution' task which builds an .ipa with distribution
settings (certificate, default entitlements, symbols stripped).
* Fixed `rake spec' to produce an .app bundle that uses a different bundle
identifier than the regular app. This is necessary in Xcode 4.5 to avoid
simulator installation issues.
* Fixed a bug in the simulator launcher when output to stdout would not be
displayed in case the rake process was piped to another process
(ex. `rake spec | ...').
* Added the Dispatch.once method, which wraps the dispatch_once() function,
that can be useful to implement singletons. Usage: Dispatch.once { ... }.
* Added support for `define_method'. Like `attr_*', it cannot be used to
overwrite existing Objective-C methods due to limitations of the compiler.
* Fixed a bug when converting Bignum objects into 'long long' types.
* Fixed a bug in the build system where relative source paths pointing to the
parent directory would not properly be expanded and would trigger build
failures.
* Fixed several bugs in String#% related to arguments and precision format.
* Improved String#[]= performance. 50 times faster.
* Improved String#length performance with multibyte characters. If String
includes multibyte characters, its length will be cached and reused.
500 times faster.
* Improved String#reverse performance with ASCII-compatible string. 30 times
faster.
* Improved Fixnum/Float modulo performance. 2 times faster.
* Fixed memory leaks in String#{reverse, reverse!}
* Fixed a bug when calling a method on an uninitialized Regexp object.
(ex. Regexp.allocate.to_s).
* Fixed a bug when calling NSArray#flatten(level) with 0.
* Fixed bugs in NSArray#rindex, NSArray#values_at, NSArray#values_at,
NSDictionary#values_at and Kernel.#sprintf which could raise uncatchable
exceptions.
* Fixed a bug in Dispatch::Source.timer which couldn't handle the
Dispatch::TIME_FOREVER constant for interval.
* Fixed a bug in NSArray#delete_if where nil could not be returned if the
receiver did not change.
* Added the following methods: NSArray#rotate, NSMutableArray#rotate!,
NSMutableArray#sort_by!, NSMutableArray#select!, NSMutableArray#keep_if,
NSMutableDictionary#select!, NSMutableDictionary#keep_if.
= RubyMotion 1.23 =
* Fixed a bug where conformsToProtocol: would not return true on objects
implemented in Ruby for protocols using required/optional sections (ex.
AQGridView).
* Fixed a bug in the compiler metadata file for the CMSampleBufferRef type
which would prevent methods accepting this type to be called.
* Fixed a bug in the runtime where certain classes (ex. Random) would create
instances released twice, triggering malloc errors later on. Thanks to
Hugues Lismonde for the detective work.
* Changed `rake device' to honor the `id' environment variable that can be
used to specify the ID of the device where the app should be installed.
This is useful when you have several iOS devices connected on your machine
and don't want `rake device' to deploy to the first one.
* Fixed a bug in String#strip where certain multibyte characters would be
considered as whitespace. Thanks to Watson for the patch.
* Fixed vendor_project (:static) to create static libraries with an object-
file index, which is mandatory as of Mountain Lion.
* Fixed the build system to support nested directories containing xib and
storyboard files. Patch by Mike Kelley.
* Fixed a bug in the `tap' method of the `spec/ui' library to properly handle
the `at' option. Patch by Clay Allsopp and Marc Schwieterman.
* Added the RuntimeError#nsexception method which, in case the exception
comes from an Objective-C method, contains the original NSException object.
This can be useful when you need to access specific NSException-level
information (such as the `userInfo' dictionary).
* Fixed a bug where the REPL methods (ex. `sessions') were added on the
Kernel module, making them available to all objects. This was causing
collisions (ex. when creating a CoreData `Session' entity).
* Fixed the build system to pass -fobjc-arc to the linker in case the app
is built for the 4.3 deployment target. This is necessary so that the ARC
runtime is properly linked into the app, when vendoring 3rd-party projects
that are ARC-only (ex. SVPullToRefresh). Patch by Satoshi Ebisawa.
* Fixed the build system to no longer re-build all .rb files in case the
project's Rakefile changed.
= RubyMotion 1.22 =
* This release adds support for iOS 4.3 and 5.0 back which wasn't present in
1.21 due to a bug in the build system. Sorry folks!
= RubyMotion 1.21 =
* Fixed a regression in the BridgeSupport generator in Mountain Lion where
APIs dealing with CFTypeRef would accept or return Pointer objects instead
of genuine objects.
* Fixed a bug where C structures starting with a lower-case character could
potentially be registered more than once in the runtime, leading to weird
memory issues (ex. many cocos2d structures).
* Fixed a bug where certain bignums (ex. ALAssetsGroupAll) could not be
passed as `unsigned int' arguments.
* Fixed a bug in `rake static' where the static archives would not be created
with an object-file index, which is now mandatory in Mountain Lion.
* Fixed a bug in the runtime where Objective-C properties implemented using
message forwarding could not be called (ex. GKPlayer's alias or playerID).
= RubyMotion 1.20 =
* Fixed a bug in the runtime where apps compiled for iOS5 calling into APIs
using certain C typedefs would raise an exception in iOS6 because of an
ABI incompatibility (introduced by clang's new enumerator_attributes
extension).
* Fixed a bug in the runtime where an exception would occur when Objective-C
code would try to allocate a new instance of a class defined in Ruby using
the +new method (ex. RestKit).
* Fixed a memory bug in Hash.[] when a Hash was passed (ex. Hash[a:'a']).
* Fixed a bug in certain Dispatch APIs when the main Dispatch::Queue object
was passed causing an ArgumentError exception.
* Fixed a bug in #public_send where an exception would not be raised if the
method is marked private.
* Fixed a bug when preparing blocks for libdispatch where dynamic variables
could be prematurely collected.
* Fixed a bug when certain methods implemented using message forwarding
would not be properly precompiled and would be raising an exception at
runtime (ex. UITextInputTraits enablesReturnKeyAutomatically).
* Removed a dyld warning that was printed on stderr when generating the
backtrace of an exception (dyld: DYLD_ environment variables being ignored
because...). Mountain Lion only.
* Fixed the runtime to be able to use Objective-C classes whose names start
with a lower-case character by capitalizing the name, similar to how C
constants and enumerations are mapped. (Ex. ICarrousel.new for the
iCarrousel class).
* The iOS 6.0 version of the runtime has been recompiled for iOS 6.0 Beta 3.
= RubyMotion 1.19 =
* Fixed a compiler bug (segfault) that could happen when compiling files
using C opaque types.
= RubyMotion 1.18 =
* Fixed a problem introduced in 1.16 that was causing objects returned from
certain initializers to be autoreleased twice.
* Added the `motiondir' project variable that can be used to specify the path
of the RubyMotion distribution (defaults to /Library/RubyMotion/lib).
Patch by Marc Schwieterman.
* Added support to test Storyboards in the testing layer. Patch by Marc
Schwieterman.
* Added the `--force-version=X' argument to `motion update' which can be used
to downgrade to a specific version of RubyMotion. This can be useful to
reduce bugs. Ex: motion update --force-version=1.15
* Fixed the iOS 6.0 Rakefile to use Xcode 4.5 DP2 by default.
= RubyMotion 1.17 =
* Removed the Bundler support as it's apparently causing issues on certain
environments. It will be added back once we figure out the edge cases.
= RubyMotion 1.16 =
* Fixed a compiler bug in the way certain opaque types in the CoreMIDI
framework would not properly be handled, causing crashes at runtime.
* Fixed a regression in the build system where spec files in nested
directories would not be taken into account. Patch by Marc Schwieterman.
* Bundler is now optionally required by the build system. If you use bundler,
you do not need to require it in the project's Rakefile anymore. Patch by
Vladimir Pouzanov.
* Disabled exception logging when running in spec mode.
* Fixed a bunch of memory leaks due to a bug in the compiler that was not
properly autoreleasing objects returned from overloaded initializers.
Thanks to Satoshi Ebisawa for the detective work.
* Fixed a memory bug in Array that was happening when re-allocating the
storage after a #shift call.
* Fixed a compiler bug where C or Objective-C APIs returning 32-bit integers
whose values cannot fix in 30-bits would not be properly converted into
Bignum types.
* Fixed a bug in the simulator launcher where iPad projects could be started
in the iPad simulator but using an iPhone simulator frame.
* The iOS 6.0 version of the runtime has been recompiled for iOS 6.0 Beta 2.
= RubyMotion 1.15 =
* Improved the spec framework to leverage UIAutomation's functionality. This
lets you write functional tests on views and controllers by using the same
event generators, but in pure Ruby (and not Javascript).
Check http://www.rubymotion.com/developer-center/articles/testing for more
information about the new API. Feature contributed by Eloy Duran.
* Introduced spec helpers. `rake spec' will now honor the files inside the
`spec/helpers' directory (if it exists) and compile them before the spec
files.
* Introduced the `files' option to `rake spec', which can be used to filter
the spec files that should be run. Filters can be either the basename of
a spec file or its full path, and are separated by a comma.
Example: rake spec files=main_spec,kvo_spec,spec/foo_spec.rb
* Introduced the RUBYMOTION_ENV constant in the runtime which can have one of
the following string values: 'test', 'development' and 'release'.
* Introduced the `rake static' task which creates a universal static library
containing the project's object files and the RubyMotion runtime, which is
suitable for inclusion in Objective-C/Xcode projects.
* Introduced weak frameworks support. The `app.weak_frameworks' setting can
be set to an array of framework names, similar to how `app.frameworks'
works (ex. app.weak_frameworks += ['Twitter']). Patch by Satoshi Ebisawa.
* Fixed a bug in the build system where files within symlinks inside of the
resources directory would not be copied. Patch by Nick Quaranto.
= RubyMotion 1.14 =
* Fixed a bug in the Struct class where certain instances would be released
twice and triggering a malloc error.
* Fixed a bug where aliasing a method generated by attr_* would trigger an
assertion at runtime when being called.
* Fixed a bug where calling methods generated by attr_* from Objective-C
would return NSNull instead of nil in case the attribute is nil.
* Fixed a bug in the random number generator where the generator would not be
properly initialized in certain cases (ex. Array#sample), therefore always
returning the same values.
* Fixed a bug where using C structures containing bitfields (ex. NSDecimal)
would trigger an exception at compilation time.
* Added support for pointers to C strings (needed for glShaderSource()).
Usage: Pointer.new(:string, n) where n is the number of C strings, then
simply assign Ruby strings with #[]=.
* Changed the runtime to log all raised exceptions via NSLog(). This behavior
can be controlled via the Exception.log_exceptions variable (which is true
by default, but can be set to false).
* Introduced new project variables: short_version, background_modes and
status_bar_style. Patch by Francis Chong.
= RubyMotion 1.13 =
* Fixed a regression in `rake simulator' introduced by the last update.
Also, the environment variable used to set the SDK target is renamed to
`target' (ex. rake target=4.3).
* Fixed a bug in the build system where certain .rb files would be rebuilt
every time `rake build' was executed, because the object directory was not
touched.
* Fixed a bug in the build system where the RUBYOPT variable would not be
cleared when calling the gen_bridge_metadata tool, which would cause some
issues later on. Patch by Satoshi Ebisawa.
= RubyMotion 1.12 =
* Fixed a bug where sending an `init' message alone (without using `alloc'
before) would lead to a memory crash. This was possible when overloading
an initWith* method and doing `self.init' inside.
* Fixed a bug where performing Objective-C methods that accept CFType objects
would crash the program (ex. [ABPersonViewController setDisplayedPerson:]).
* Switched to clang++ to link the executable bits. This fixes linker crashes
on iOS 6.0.
* Added `fast' output for `rake spec'. Fixed a bug in the other outputs.
Patch by Marin Usalj.
* Improved the build system to let the user specify CPU archs that should be
used for a certain platform. The `app.archs' method returns a Hash that one
can tweak. This is so far only useful when you target 4.3 (which is armv6
and armv7) and want to link with a 3rd-party library that only supports
armv7 (ex. app.archs['iPhoneOS'] = ['armv7']).
* Improved `rake simulator' to honor the `deployment_target' environment
variable (ex. rake deployment_target=4.3). Patch by Satoshi Ebisawa.
* Fixed a bug in the build system where the compiler would not use the right
BridgeSupport files when using a lower deployment_target.
Patch by Satoshi Ebisawa.
* Fixed the build system to re-link the .app executable in case one of the
vendored libraries changed.
* Fixed bugs in both ARM/simulator compilers where structures smaller than
64 bits would not be following the ABI and causing unexpected behavior in
certain cases (ex. cocos2d). Thanks to Aaron Hurley for the detective work.
* Removed Kernel#select as it clashes with a private `select' method defined
by iOS and triggered when hitting the select button in a paste action.
Thanks to Francis Chong for the detective work.
= RubyMotion 1.11 =
* Fixed a bug where the runtime would not allow `nil' to be passed as a
C-level block argument.
* Fixed a bug where methods defined by attr_* would abort the program when
called by Objective-C.
* Improved `rake spec' to honor the `output' environment variable, which can
be used to select a different output format. Available formats: spec_dox,
test_unit, tap and knock (ex. rake spec output=test_unit).
* Support for the iOS 6.0 Beta 1 SDK can be generated after having installed
Xcode 4.5 by typing the following command:
$ cd /Library/RubyMotion/data/6.0; rake update
= RubyMotion 1.10 =
* Fixed the build system to validate the content of the `app.icons' variable,
since a wrong value may trigger an "unrecognized selector" exception in
Application Loader when trying to submit the app to the App Store.
* Fixed the Rakefile created by `motion create' to include the magic utf8
comment, as the file may contain multibyte characters and be parsed by
Ruby 1.9. Patch by @pchw.
* Fixed a memory bug when using symbols as Hash keys.
* Exposed iOS 4.3 (or greater) libdispatch APIs.
* The following NSString methods that used to raise a "does not work on
NSStrings" exception are no longer defined: byte_size, get_byte, set_byte,
force_encoding, valid_encoding?, ascii_only?, bytes, each_byte, to_data,
pointer. This allows the developer to use respond_to?. These methods
however are available on strings created in Ruby.
* Fixed a bug in `rake simulator' where the value of `deployment_target'
would be used as the SDK version, causing a `system_root != nil' assertion
in some cases.
* Fixed the compilation of empty symbols (:'').
* Fixed the generation of .bridgesupport files on Snow Leopard by not
passing the '--no-64-bit' flag (which was added in Lion).
* Fixed `motion create' to accept dash or underscore characters in the app
name. Patch by Mark Villacampa.
* Added a workaround for an iOS 5.1 bug that causes write(2) to return EBADF
when writing to stdout. The bug seems to happen on devices not configured
for development. Writing to stdout (using p/puts) in this scenario becomes
a no-op.
* Fixed the simulator launcher to properly propagate exit(2) status codes
from the simulated app. This fixes `rake spec' to properly exit with 1 in
case one or more specs failed to run.
* Fixed the RUBY_ENGINE constant to be 'rubymotion' (was 'macruby' before).
* Objective-C objects conforming to the NSFastEnumeration protocol can now be
iterated using the #each method. The method is created on demand on these
objects.
* Fixed a bug in the simulator REPL where hitting the Home button would
trigger an insane CPU usage.
= RubyMotion 1.9 =
* Fixed a bug in the build system where the paths of vendored libraries
would not be properly quoted and cause a build failure in case they
contain space characters.
* Fixed a bug in the build system where using a lower deployment_target
version would cause a link error at runtime because the application was
linking against a framework that does not exist (ex. CoreImage on 4.3).
* Fixed the `rake spec' task to not move the simulator window to the
foreground.
* Fixed a bug in the compiler where APIs accepting pointers to
CoreFoundation types could not be given Pointer objects of the :object
type (ex. CFErrorRef*).
* Added support for CoreAudio (experimental). At the very least, constants
pointing to four-bytes characters should be properly covered.
* Fixed a typo in "expected array of %d elements, got %d" exception message
where the numbers were inverted. Thanks Enrico Thierbach.
* Fixed a bug in the compiler where compiling strings containing only null
characters (ex. "\x00") would cause a crash.
= RubyMotion 1.8 =
* Fixed a bug in the generation of BridgeSupport files for multiple headers
directories.
* When building vendored projects, unset environment variables that could
potentially make the build to fail.
https://github.com/HipByte/motion-cocoapods/issues/12
= RubyMotion 1.7 =
* Fixed a bug in the compiler where the proper signature would not be used
when defining informal protocol methods with CF types as arguments.
* Fixed iOS constants to be looked up at demand (when being used) and not
when the app starts, because certain constants are not set until a certain
API is called (ex: the kAB... constants of the AddressBook framework).
This change should also speed up a little bit the app starting time.
* Fixed a bug in the compiler where very long selectors would be truncated
and causing exceptions later at runtime.
* Fixed a bug in the compiler where memory-related selectors (alloc, dealloc,
retain, release, etc.) could not be defined in Ruby.
* Fixed a bug in the compiler where NSObject instance methods could not be
called on classes (ex. MyClass.performSelector(...)).
* Fixed a bug in the build system where vendored 3rd-party APIs dealing with
types defined in iOS headers could not be used (ex: enums or structs).
= RubyMotion 1.6 =
* Fixed a regression in the build system introduced by the previous update
(when compiling .xib files).
* Fixed the vendoring system to include all source code files. Merged patch
from https://groups.google.com/d/msg/rubymotion/tPCxSMCA2f4/w2DIHFo2AVAJ
* Fixed the REPL to not crash if you give it an empty expression.
= RubyMotion 1.5 =
* Improved the REPL to support multi-line expressions.
* Fixed a bug when compiling Core Data model files where the `momc' utility
was not given absolute paths.
* Removed legacy MacRuby code that was using the private `isaForAutonotifying'
selector and causing a warning during an App Store submission.
* Fixed a bug in Enumerable#sort_by that would lead to a crash.
* Fixed a bug in the REPL where it would not detect the iOS Simulator window
if certain windows were in front or created later.
* Fixed a bug in the build system where framework dependencies would not be
properly handled.
* Added support for .lproj directories (i18n). Thanks Aaron Hurley.
* Fixed a bug where objects from pure Ruby classes sent to KVO would not be
properly handled later (because KVO inserts a new singleton class).
* Fixed attr_writer to emit KVO notifications (will/didChangeValueForKey).
= RubyMotion 1.4 =
* Added support for the compilation of .xcdatamodeld and .storyboard resource
files. Thanks Ian Phillips, Andrew Vega and Michail Pishchagin.
* Fixed a bug when the build system would fail in case the resources dir does
not exist. Thanks Watson.
* Fixed a bug in the Xcode project vendoring code when header files at
different directory levels would not be properly handled. This also fixes
the motion-cocoapods gem. Thanks Eloy Duran.
* Added a way to start the simulator in retina mode by setting the `retina'
environment variable to `true' (other values will be considered false).
For example: `rake retina=true'. Thanks Marcin Maciukiewicz for the idea.
* Fixed an ABI bug in the way we compile Ruby methods overloading Objective-C
methods returning small C structures that can fit in a 64-bit integer.
Thanks Kristoph Cichocki-Romanov for the report.
* Added support for the iOS 4.3 SDK.
= RubyMotion 1.3 =
* Fixed a bug in format strings with width / precision modifiers.
* Disabled the automatic loading of motion- gems.
* Added support for the compilation of Interface Builder resource files.
.xib files present in the `resources' directory will be compiled to .nib
files then copied in the app bundle. .nib files are added to the default
.gitignore and removed during `rake clean'. Thanks Ian Phillips.
* Improved the `rake device' error message to mention that Wi-Fi sync might
cause device deployments to fail.
* Fixed a bug in NSArray#reject where the new array would not be returned.
= RubyMotion 1.2 =
* Fixed a couple bugs in the project vendoring code that would be triggered
when using the motion-cocoapods gem. The fixes were merged from the
https://github.com/HipByte/motion-cocoapods/issues/1 discussion.
* Fixed codesign bugs in `rake archive:release'.
* Improved the Xcode detection code by printing a warning message in case
the user installed a recent Xcode in /Applications that has not been
set as the default Xcode in the system yet.
* Fixed a typo in the REPL help message (thanks Mike Clark).
= RubyMotion 1.1 =
* Fixed `rake device' to print a human-readable error message in case the
deployment might fail because another process is connected to the device.
* Fixed a bug in `rake simulator' where view detection would not work on
non-English desktops (error "Cannot locate the Simulator app").
Make sure to exit the Simulator app after applying this update.
= RubyMotion 1.0 =
* First release.