mirror of
https://github.com/zhigang1992/RubyMotion.git
synced 2026-04-05 17:40:51 +08:00
261 lines
14 KiB
Plaintext
261 lines
14 KiB
Plaintext
= 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.
|