= 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.