diff --git a/NEWS b/NEWS index 3a68eb4c..5091474d 100644 --- a/NEWS +++ b/NEWS @@ -1,479 +1,3 @@ -= RubyMotion 0.69 = += RubyMotion 1.0 = - * Removed the samples from the distribution. They will be online on GitHub. - * Removed the documentation from the distribution. It will be online in the - website's developer center. - * Removed the testflight/cocoapods files. They will be online as gems. - * RubyMotion is now installed into /Library/RubyMotion. - * This is very likely the last release before RubyMotion launches. Thanks to - everyone who beta-tested it :-) - -= RubyMotion 0.68 = - - * Added a new sample, trollify, that demonstrates gestures, image editing, - camera picture acquisition and interacting with the photo library roll. - The code was graciously contributed by Johannes Fahrenkrug. - * Fixed a crash that could happen in the REPL when working on an application - that makes use of CoreImage, because CoreImage bundles its own version of - the LLVM JIT with all symbols exposed. - -= RubyMotion 0.67 = - - * Fixed a regression in the compiler introduced by new changes in the - previous build. - -= RubyMotion 0.66 = - - * Added support for calling variadic functions or methods. Currently, the - number of varargs must not be higher than 15. - * Improved the mustache sample with swipe gestures, in order to browse the - builtin photos. - -= RubyMotion 0.65 = - - * Changes for the new installer. - -= RubyMotion 0.64 = - - * Added a new sample code, gesture_table, which demonstrates a table view - that can be manipulated with gestures (similar to the Clear iOS app). - Thanks Josh Ballanco for contributing the initial version of the code. - * Added a new sample code, mustache, a port of the famous MacRuby sample - to iOS. Demonstrates CoreImage's face detection feature. Thanks to Josh - Ballanco for the matrix algebra. - -= RubyMotion 0.63 = - - * Changed #methods and others to not return Objective-C methods whose names - start with an underscore ('_') character. The REPL won't list them. - * Fixed the REPL to support calling C functions or Objective-C methods with - calling stubs not already precompiled in the project. - * Changed the REPL to save the value of the last evaluated expression in the - '_' local variable. - * Improved the REPL to support class definitions, method definitions and - exception handlers. - * Fixed a bug in the REPL where ^C would cause a deadlock and not exit the - process as it used to. - -= RubyMotion 0.62 = - - * Fixed a bug when `rake spec' would start the REPL. - * Added persistent REPL history. - * Changed the REPL to not exit with an error status in case of a broken pipe. - * Changed `motion create' to generate a .gitignore file, which currently - lists `build' and `.repl_history'. - * Added completion functionality to the REPL. Use the key to complete - methods, constants, instance variables and local variables. - -= RubyMotion 0.61 = - - * Fixed a bug when doing `rake clean' on a project with vendored projects. - * Fixed a bug when the terminal echo could be off after an app crashes in - the simulator, due to the REPL's readline. - * Changed the compiler to not save local variables when creating blocks. - * The REPL now exposes special methods: #repl, #quit, #sessions and #help. - Use #help to know more. - * Fixed `motion support' to properly collect the version of Xcode for - installations in /Applications. - * Fixed the REPL to refresh the prompt in capture mode using a different - technique, to make it work in iTerm. - -= RubyMotion 0.60 = - - * Fixed various bugs in the REPL (also, make it work under Snow Leopard). - -= RubyMotion 0.59 = - - * Changed `motion create' to now print the files it creates on screen. - * Changed #methods and others to now return Objective-C selectors by default. - * Added a REPL, which automatically starts with the simulator. The REPL - is implemented as a shared library and loaded at demand in the simulator, - to make sure a RubyMotion app built for the simulator remains identical - to an app built for an iOS device. The REPL is asynchronous, it does not - block the simulator, however, expressions are forced to be evaluated in - the main thread (to allow UIKit calls). The REPL can capture views if you - maintain the Command key then click on a view in the simulator window. - The REPL is a work-in-progress. - -= RubyMotion 0.58 = - - * This build contains changes non visible to end users. - -= RubyMotion 0.57 = - - * Fixed a bug in the cocoapods integration where custom cflags would not - properly be taken into account (thanks Eloy). - * Fixed the compilation of vendored project source files to use clang/clang++ - instead of gcc, since only the former supports ARC (thanks Eloy). - -= RubyMotion 0.56 = - - * Fixed a regression in the testflight integration. - * Added support for Snow Leopard (OSX 10.6). - -= RubyMotion 0.55 = - - * Added CocoaPods integration. It will be gemified when RubyMotion goes - public, currently, you can do `require 'motion/project/cocoapods' in your - Rakefile, then `app.pods { dependency 'JSONKit' }' in order to use the - JSONKit library. CocoaPods must be installed and set up before use. There - are still bugs when covering header files with certain pods. - * Added support for iOS 5.1. - -= RubyMotion 0.54 = - - * Fixed a bug in the installer where empty resources directories in some - samples would not be created. - -= 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. + * First release. diff --git a/NEWS.old b/NEWS.old new file mode 100644 index 00000000..3a68eb4c --- /dev/null +++ b/NEWS.old @@ -0,0 +1,479 @@ += RubyMotion 0.69 = + + * Removed the samples from the distribution. They will be online on GitHub. + * Removed the documentation from the distribution. It will be online in the + website's developer center. + * Removed the testflight/cocoapods files. They will be online as gems. + * RubyMotion is now installed into /Library/RubyMotion. + * This is very likely the last release before RubyMotion launches. Thanks to + everyone who beta-tested it :-) + += RubyMotion 0.68 = + + * Added a new sample, trollify, that demonstrates gestures, image editing, + camera picture acquisition and interacting with the photo library roll. + The code was graciously contributed by Johannes Fahrenkrug. + * Fixed a crash that could happen in the REPL when working on an application + that makes use of CoreImage, because CoreImage bundles its own version of + the LLVM JIT with all symbols exposed. + += RubyMotion 0.67 = + + * Fixed a regression in the compiler introduced by new changes in the + previous build. + += RubyMotion 0.66 = + + * Added support for calling variadic functions or methods. Currently, the + number of varargs must not be higher than 15. + * Improved the mustache sample with swipe gestures, in order to browse the + builtin photos. + += RubyMotion 0.65 = + + * Changes for the new installer. + += RubyMotion 0.64 = + + * Added a new sample code, gesture_table, which demonstrates a table view + that can be manipulated with gestures (similar to the Clear iOS app). + Thanks Josh Ballanco for contributing the initial version of the code. + * Added a new sample code, mustache, a port of the famous MacRuby sample + to iOS. Demonstrates CoreImage's face detection feature. Thanks to Josh + Ballanco for the matrix algebra. + += RubyMotion 0.63 = + + * Changed #methods and others to not return Objective-C methods whose names + start with an underscore ('_') character. The REPL won't list them. + * Fixed the REPL to support calling C functions or Objective-C methods with + calling stubs not already precompiled in the project. + * Changed the REPL to save the value of the last evaluated expression in the + '_' local variable. + * Improved the REPL to support class definitions, method definitions and + exception handlers. + * Fixed a bug in the REPL where ^C would cause a deadlock and not exit the + process as it used to. + += RubyMotion 0.62 = + + * Fixed a bug when `rake spec' would start the REPL. + * Added persistent REPL history. + * Changed the REPL to not exit with an error status in case of a broken pipe. + * Changed `motion create' to generate a .gitignore file, which currently + lists `build' and `.repl_history'. + * Added completion functionality to the REPL. Use the key to complete + methods, constants, instance variables and local variables. + += RubyMotion 0.61 = + + * Fixed a bug when doing `rake clean' on a project with vendored projects. + * Fixed a bug when the terminal echo could be off after an app crashes in + the simulator, due to the REPL's readline. + * Changed the compiler to not save local variables when creating blocks. + * The REPL now exposes special methods: #repl, #quit, #sessions and #help. + Use #help to know more. + * Fixed `motion support' to properly collect the version of Xcode for + installations in /Applications. + * Fixed the REPL to refresh the prompt in capture mode using a different + technique, to make it work in iTerm. + += RubyMotion 0.60 = + + * Fixed various bugs in the REPL (also, make it work under Snow Leopard). + += RubyMotion 0.59 = + + * Changed `motion create' to now print the files it creates on screen. + * Changed #methods and others to now return Objective-C selectors by default. + * Added a REPL, which automatically starts with the simulator. The REPL + is implemented as a shared library and loaded at demand in the simulator, + to make sure a RubyMotion app built for the simulator remains identical + to an app built for an iOS device. The REPL is asynchronous, it does not + block the simulator, however, expressions are forced to be evaluated in + the main thread (to allow UIKit calls). The REPL can capture views if you + maintain the Command key then click on a view in the simulator window. + The REPL is a work-in-progress. + += RubyMotion 0.58 = + + * This build contains changes non visible to end users. + += RubyMotion 0.57 = + + * Fixed a bug in the cocoapods integration where custom cflags would not + properly be taken into account (thanks Eloy). + * Fixed the compilation of vendored project source files to use clang/clang++ + instead of gcc, since only the former supports ARC (thanks Eloy). + += RubyMotion 0.56 = + + * Fixed a regression in the testflight integration. + * Added support for Snow Leopard (OSX 10.6). + += RubyMotion 0.55 = + + * Added CocoaPods integration. It will be gemified when RubyMotion goes + public, currently, you can do `require 'motion/project/cocoapods' in your + Rakefile, then `app.pods { dependency 'JSONKit' }' in order to use the + JSONKit library. CocoaPods must be installed and set up before use. There + are still bugs when covering header files with certain pods. + * Added support for iOS 5.1. + += RubyMotion 0.54 = + + * Fixed a bug in the installer where empty resources directories in some + samples would not be created. + += 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.