Files
RubyMotion/NEWS
Laurent Sansonetti 9258c66112 0.53
2012-03-03 02:29:45 +01:00

353 lines
16 KiB
Plaintext

= RubyMotion 0.53 =
* Added `motion support', which allows developers to submit support tickets.
* Added missing sections in the Runtime guide: Reading Objective-C
Interfaces, Shortcuts and C function pointers and Blocks.
= RubyMotion 0.52 =
* Added a new sample, locations, which demonstrates CoreData.
* Fixed `motion update' to use SSL when transmitting the license key. The
server will stop honoring non-SSL requests by the next build.
* Fixed `motion create' to now generate app/app_delegate.rb instead of
app/main.rb.
* Cleaned up a bit the samples.
* Split the reference manual into 3 separate documents.
* Fixed a bug when the calling stub of a retyped property could not be found
at runtime, because the target abstract class doesn't actually define the
message (ex: UIBarItem's setEnabled:).
* Fixed a bug when the runtime could not perform the -hash selector because
the calling stub wasn't precompiled.
* Fixed `rake simulator debug=1`' to work with Xcode 4.3.
= RubyMotion 0.51 =
* Forgot to bundle the ctags config file. `rake ctags' should work now.
* Fixed the VM build to use llvm-gcc and not clang again. This allows the
bundled interpreter to launch and do syntax check.
= RubyMotion 0.50 =
* Fixed a bug when compiling calls to certain structures (such as
CMTimeRange) which may contain anonymous types when used from APIs defined
in other frameworks (such as AVFoundation).
= RubyMotion 0.49 =
* The project build system will now check once a day if a new version of
RubyMotion is available for download, and print a message accordingly on
the terminal. The check only happens when you are using RubyMotion.
= RubyMotion 0.48 =
* Added support for Xcode 4.3. Previous Xcode releases in /Developer can be
safely removed. There is no need to install the command-line tool package.
Support for iOS 4.3 is temporarily removed, it will be added back as well
as support for 5.1 in an upcoming build.
* Removed the `platforms_dir' project variable, added `xcode_dir'.
* Added a `--check' optional argument to `motion update' that will check if
a new version of RubyMotion is available, and exit with 1 if yes, 0 if no.
* Fixed `motion update' to show changes for all versions since the previous
installed version.
= RubyMotion 0.47 =
* Added a `rake ctags' task that generates a `tags' file inside the project
directory, containing the symbols of all frameworks and vendor projects
used by the project.
* Fixed the build system to fail when building a vendor project that does not
create at least one .a library.
* Fixed the build system to fail with a proper error message in case the
current version of Xcode is below 4.x. Otherwise, the build fails later
during link because of a missing C++ ABI symbol.
= RubyMotion 0.46 =
* Implemented the `motion activate' and ` motion update' commands.
* Removed the docset from the main distribution (will be online).
* Fixed the `rake device' task to only depend on
`rake archive:development' (thanks Hugues).
= RubyMotion 0.45 =
* The `rake archive' is now a shortcut to `rake archive:development'
and `rake archive:release'. The later builds the project, removes all
symbols, and also creates an `.xcarchive' file that opens with Xcode 4,
and can be used for an App Store submission.
* The `rake deploy' task has been renamed `rake device'.
* Updated doc/ReferenceManual.html to follow these changes.
* Fixed a bug in the TestFlight integration where the optional
distribution_lists key wasn't actually optional (thanks Matt).
* Fixed a couple bugs in the internal Array erase routine, where some objects
could potentially leak or be double-released.
* Fixed a bug where the regular expression global backref object could be in
some cases prematurely released.
= RubyMotion 0.44 =
* Added support for C unions (for example, GLKVector3). Unions must be
created using methods or functions provided by iOS (#new won't work).
Unions behave like structures, and the compiler will only expose the
first variant/field.
* Better error reporting when the compiler fails to precompile a stub.
* Disables the TestFlight SDK when running the app in the simulator.
= RubyMotion 0.43 =
* Added support for custom fonts. Introduced a `fonts' project config
variable which defaults to the list of *.ttf and *.otf files in the
resources directory. The `fonts' variable is then used when generating
the bundle property list.
* Fixed a bug in the build system where an application compiled in spec
mode wouldn't properly install in the Simulator due to differencies in
the internal property lists.
* Fixed a bug when messaging an Objective-C method implementing forwarding
through a helper wouldn't work (and trigger method missing).
Example: `textField.autocapitalizationType = ...'.
* Fixed a bug in Array#delete and friends, where erased objects would be
destroyed before returned back to the caller.
= RubyMotion 0.42 =
* Added builtin support for TestFlight. It will be a gem once RubyMotion
launches. Basic documentation can be read in the file:
/Library/Motion/lib/motion/project/testflight.rb
(Thanks to Hugues Lismonde for the help.)
* Added the possibility to vendor 'static' projects (which contains
static libraries and header files). Used by the TestFlight support.
See the reference manual. (Thanks to Hugues Lismonde.)
* Fixed a bug in the compiler when attempting to precompile an Objective-C
method definition stub that doesn't have the same arity as the Ruby
definition.
* Fixed memory leaks (IO).
= RubyMotion 0.41 =
* New memory management system. Similar to ARC in design, uses the existing
autorelease pool infrastructure. No "real" GC. Works for CF objects, no
need to use CFRetain/CFRelease.
* Fixed a memory smasher in the dispatcher.
* Fixed a (pretty rare) crasher in the compiler.
* Fixed a bug in the simulator launcher, where environment variables would
not properly be propagated to the simulated app.
* Fixed a bug in the dependencies system, again.
* Fixed a problem when using attr_reader/accessor to override an Objective-C
method. Because the static compiler doesn't know the proper signature
ahead of time, we would be crashing later on. We now print a proper error
message and abort the program.
= RubyMotion 0.40 =
* Fixed a bug where multiple provisioned devices or application identifiers
in the provisioned profile would not be taken into account (thanks Matt
Aimonetti for the fix).
* Fixed a bug where the deployment_target could incidentally be nil and
break the build task when generating the Info.plist file.
= RubyMotion 0.39 =
* Fixed the build system to work with Ruby 1.9.3 (lulz!).
* Fixed a bug in the build system regarding file dependencies.
* Added a `deployment_target' config setting, which can be used to specify
which iOS version the compiler should target. It is different from
`sdk_version' which specify which SDK version installed the compiler will
use. The default value of `deployment_target' is `sdk_version'.
* Fixed the build system to use `xcode-select -printPath' to determine
the default `Platforms' directory (where SDKs are installed).
= RubyMotion 0.38 =
* Fixed the default provisioning profile to be one of those Xcode generates
by default (iOS Team Provisioning Profile).
* Fixed a couple bugs in the build system regarding file dependencies.
* Fixed the build system to work with Ruby 1.9.2.
= RubyMotion 0.37 =
* Improved the build system to automatically deal with framework dependencies.
For example, if you're specifying 'Foundation' in app.frameworks, there is
no need anymore to specify 'CoreFoundation'.
* Added support when passing Bignum objects to Objective-C types.
* Improved the `build' task to run the Ruby files compilation tasks
concurrently based on the number of CPU threads of the machine (by reading
the `machdep.cpu.thread_count' sysctl variable). This improves the build
time of projects having a significant number of files. It is possible to
override the number of tasks that will run in parallel by setting the
`jobs' environment variable. For example, to force files to be compiled
sequentially: `rake jobs=1'.
= RubyMotion 0.36 =
* Fixed a bug in the compiler where calls to Objective-C methods returning
C pointers would not be properly compiled.
* Fixed a bug in the compiler where calls to internal builtin Objective-C
extensions (such as Dispatch::Object#dispatch_object) would not be
properly compiled.
* Fixed the message of exceptions when running on the device, since we can't
symbolicate at runtime. Currently showing the list of callstack addresses.
* Fixed the backtraces of Objective-C exceptions.
* Added the generation of .dSYM bundles during build.
* Fixed uncaught exceptions to actually crash the process instead of exiting,
to make sure a crash report will be generated.
* Fixed exception backtraces to look more like those from CRuby. Removed
class name from debugging metadata as it causes problems in Ruby.
= RubyMotion 0.35 =
* Added symbolication support. Exception backtraces should have the file/line
of each entry (simulator only). Also, Ruby stack trace entries in crash
reports now show the class, method, file and line information (zomg!).
= RubyMotion 0.34 =
* Fixed a bug where certain informal protocol method calls would not be
properly pre-compiled.
* Fixed the build system to work with previous versions of rake, such as the
one that ships with OSX.
= RubyMotion 0.33 =
* Improved the build system. More robust. Smarter (won't try to perform
unnecessary tasks). More user-friendly output by default (pass `-v' to see
the command-line invocations as before).
* Fixed a compilation bug of structure constants (such as CGRectZero).
* Fixed `rake deploy' to fail with a proper error message in case the device
connected over USB is not provisioned (not mentionned in the project's
provisioning profile).
* Fixed `rake spec' to fail with a proper error message in case there are no
spec files to run.
* Fixed a race condition bug in `rake spec' when the specs would run and quit
before the simulator has a change to attach itself to the app.
= RubyMotion 0.32 =
* Fixed a bug where canceling the `rake simulator' task with ^C would not
properly terminate the simulator session.
* Added basic spec framework integration. See doc/ReferenceManual.html for
more information.
= RubyMotion 0.31 =
* Fixed the build system to avoid copying resource files each time.
* Fixed a bug where some class method calling stubs would not be properly
precompiled, such as NSTimer
+scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:.
* Added a `prerendered_icon' config setting, which, when set to true,
disables the reflective shine effect applied by default on the icons
files (thanks Watson).
* Changed the `simulator' task to honor the `device_family' environment
variable, which can be used to force the device family to be used by the
simulator when running a universal app. Values can be 'iphone' or 'ipad'.
(Thanks Matt Aimonetti for the idea.)
* Fixed the `simulator' task to no longer remove the app sandbox directory
by default. Instead, the `clean' environment variable must be provided.
(For example, `$ rake simulator clean=1').
= RubyMotion 0.30 =
* Fixed a bug where deploying large applications would fail during install.
* Fixed a bug where boolean values (true/false) would not be allowed in the
`plist' Hash (thanks Matt Aimonetti).
* Merged `tableview' and `mapview' samples into a new sample: `beers', which
also demonstrates the use of a tab bar controller and webview.
* Fixed a bug in the build system where old resource files, that have since
been deleted from the project, would still be present in the app bundle.
* Fixed the `simulator' task to empty the app sandbox directory before
running the simulator, to make sure old resource files will not be present.
= RubyMotion 0.29 =
* Improved some error messages.
* Added support for CFTypes. Before, nil values would be returned instead.
* Added support for C-level blocks and function pointers arguments.
* Fixed a bug when trying to retrieve compiled stubs for method types that
include type modifiers (like `const'). Example: NSValue's valueWithPointer:.
* Fixed a bug when the build system would fail when attempting to copy
resource files, if resources_dir does not exist.
= RubyMotion 0.28 =
* Fixed a bug when using APIs dealing with pointers to anonymous C structs.
Example: AVFoundation's copyCGImageAtTime:actualTime:error:.
* Fixed a bug in the build system when copying resource files into the app
bundle, where directories inside resources_dir would not be copied.
* Fixed the plist generator to generate properly-indented plists.
* Updated doc/ReferenceManual.html to track the changes above.
* Added the `libs' config setting, the list of libraries to link against.
Empty by default, can be used in case a project requires a specific C
library, for example libz.dylib.
* Added the `scheme' and `products' keys of `vendor_project'.
* Fixed a bug where the `xcodeproj' key of `vendor_project' would not be taken
into account.
= RubyMotion 0.27 =
* Added support for most iOS frameworks.
= RubyMotion 0.26 =
* Updated doc/ReferenceManual.html to track the new changes.
* Added the `entitlements' config setting, which exposes the
Entitlements.plist file as a Hash object that can be changed.
* Added the `seed_id' config setting, the provisioning app identifier.
* Improved the build system so that if the build_dir cannot be created, a
temporary build directory will be used instead. This can happen when trying
to build a project on a read-only directory.
* Fixed a bug where resource files would not be copied if the default rake
runs with Ruby 1.9.
* Added a new key to `vendor_project' with :xcode: `headers_dir'. Should be
set to the path that contains headers files.
= RubyMotion 0.25 =
* Fixed regressions in the build system.
= RubyMotion 0.24 =
* Updated doc/ReferenceManual.html to track the new changes and also to
mention the `files_dependencies' config setting.
* Added the `info_plist' config setting, which exposes the Info.plist file as
a Hash object that can be changed (for advanced settings).
* Added the `identifier' config setting, reverse DNS name for an app.
* Reorganized the rake interface. Existing projects should migrate from
`motion/rake' to `motion/project', and from `Motion::App' to
`Motion::Project::App'.
* Refined support for vendor libraries.
= RubyMotion 0.23 =
* Added basic support for vendor libraries. See doc/ReferenceManual.html for
how it works.
= RubyMotion 0.22 =
* Added the `no_continue' environment variable for `rake sim debug=1'.
* Fixed a bug when retrieving some C constants (wrong pointer dereferencing).
* Fixed a couple bugs when compiling setter methods (/^set[A-Z]/).
* Added support for QuickLook.framework.
= RubyMotion 0.21 =
* Renamed the `package' rake task to `archive'.
* Fixed the build system to use a different build directory per SDK version.
* Added support for QuartzCore.framework.
* Fixed a crash when attempting to freeze certain objects (associative
reference assertion).
* Better tweets sample code (thanks Johannes Fahrenkrug).
* Added support for attr_*.
* Fixed a crash when converting int64 CFNumbers into Ruby types.
= RubyMotion 0.20 =
* Fixed misc GC bugs.
* Added tweets sample code.
* Added reference manual (doc/ReferenceManual.html).
= RubyMotion 0.19 =
* Added support for app icons. Icon files can be created and copied into the
resources directory, then their filenames can be added to app.icons.
* Validate given sdk_version config variable.
Changelog not available for 0.18 or below.