SproutCore 1.10.0 Release Candidate 3

written by SproutCore

The third release candidate of Version 1.10.0 is now available. This version wraps up several internal changes to boost the performance of SproutCore views and closes a few more smaller bugs. If you’ve already installed the previous release candidate, please run:

gem update sproutcore —pre

Changes in 1.10.0.rc.3

  • Bug fixes.
  • Performance improvements.

SproutCore 1.10.0 Release Candidate 2

written by SproutCore

We’ve just published the second release candidate of Version 1.10.0. The first candidate gem was incorrectly packaged and would not work with a regular install. If you’ve already installed the first release candidate, please run:

gem update sproutcore --pre

Changes in 1.10.0.rc.2

  • Fixes gem problem, which resulted in `gem_original_require': no such file to load -- bundler/setup errors when trying to run any of the SproutCore command line tools.
  • Removes a developer warning when animating with a duration of 0, which can be valid if the duration is calculated. In any case, animating a duration of 0 has always been supported by SC.View.prototype.animate.
  • Improves the regular expression used by SC.RenderContext to escape strings so that HTML entities like ' or à are preserved.
  • Fixes a regression with SC.RadioView that failed to add the disabled class to disabled radio items.
  • Fixes some internal SproutCore unit tests.

SproutCore 1.10.0 Release Candidate 1

written by SproutCore

The SproutCore team is pleased to announce the pre-release of SproutCore 1.10.0. Version 1.10 is, without a doubt, the fastest and most feature-rich version of SproutCore to-date and includes several new features, internal improvements and bug fixes and is a recommended upgrade for all SproutCore developers.

To install SproutCore for the first time, please visit http://sproutcore.com/install/ for instructions. If you are upgrading from a previous version of SproutCore, simply run the following:

gem update sproutcore --prerelease

Highlights of Version 1.10.0

In this release we dug deep into the core of SproutCore to improve the entire development and runtime experience from start-to-finish. This includes clean-ups of the developer API to improve consistency and memorability, brand new features for automatic layout, transition animations, live updates and more and working through extensive internal refactors of key components to boost speed and reduce memory consumption.

Continue reading

SproutCore 1.9.1 Released

written by SproutCore

We are pleased to announce the immediate release of SproutCore 1.9.1.  This release contains important fixes to the 1.9 code-base and is fully backwards compatible.  We recommend that all users of SproutCore upgrade to this latest version in order to get the best development experience.  To upgrade to the latest version, simply run:

gem update sproutcore

This is a patch release and contains the following bug fixes:

  • Fixes a bug that left childView elements in the DOM when they were rendered as part of their parent’s layer and the child was later removed.
  • Fixes improper implementation of SC.SelectionSet:constrain() that prevented the last object in the set from being constrained.
  • Fixes minor memory leak due to implicit globals in SC.MenuPane.
  • Fixes memory leak with child views of SC.View. The ‘owner’ property prevented views from being able to be garbage collected when they were destroyed.
  • Fixes SC.stringFromLayout() to include all the layout properties.
  • Fixes the excess calling of parentViewDidResize() on child views when the view’s position changes, but it’s size doesn’t.
  • Fixes an issue that occurs with SC.ImageView’s viewDidResize implementation, where it fails to resize appropriately.
  • Fixes a bug in SC.Locale that caused localizations to be overwritten by the last language localized.
  • Fixes SC.Request’s application of the Content-Type header. It was incorrectly adding the header for requests that don’t have a body which would cause some servers to reject GET or DELETE requests.
  • Fixes a bug where SC.Record relationships modified within a nested store, would fail to propagate the changes to the parent store if isMaster was NO in the toOne or toMany attribute.

As always, every bug fix includes an accompanying unit test to ensure that the bug does not re-appear in the future.  For further details, please view the complete Change Log.

Welcome to Dave Porter, SproutCore Committer

written by SproutCore

It’s our pleasure to announce that Dave Porter will be the newest SproutCore Committer.  He has shown a strong interest in supporting SproutCore and its community and we look forward to working more closely with him in the future.

As a SproutCore Committer, Dave will have his own branches in the repo and have better access to SproutCore’s Reviewers and Project Owners to help drive SproutCore forward.

As has been mentioned in previous announcements, contributing to the project can be a thankless and demanding task, so please take a moment to catch Dave (dcporter) on #sproutcore and sproutcore@googlegroups.com and pass on your support.

As well, if you yourself are interested in the evolution of SproutCore, there’s really only one requirement;  contribute!

Introducing the SproutCore Showcase

written by SproutCore

As you may have noticed above, there is a new section to the sproutcore.com website, Showcase.  This page is meant to act as your one-stop reference for all of SproutCore’s Views and Controls.

Previously, you would have had to install SproutCore and run it locally to view the Test Controls app and would have had to search the source code of that app to figure out how the Controls were configured.  Now you can visit http://showcase.sproutcore.com at any time and copy code snippets directly from within the page.  Even better, we’ve expanded the examples significantly to include all of the available Views and Controls with many more configuration examples.

On a technical note, the Showcase page is actually a SproutCore app itself deployed on Github pages.  The app is open-source and you can browse its source and contribute to it on Github.

In the coming weeks, we will work to consolidate the various SproutCore demos and deploy them on this page as well, ensuring easy access to up-to-date demos.

SproutCore 1.8.2 Released

written by SproutCore

[edit] Due to a mistake in the included files of the published 1.8.2 gem, the gem needed to be re-built.  Therefore the current working version of the gem for SproutCore 1.8.2 is sproutcore-1.8.2.1.  Sorry for any confusion.

We are pleased to announce the release of SproutCore 1.8.2. This release contains minor fixes to the 1.8 code-base and will likely be the last patch of 1.8 prior to the 1.9.0 release. To upgrade to the latest version, simply run:

gem update sproutcore

This is a patch release and contains the following bug fixes:

  • Fixed syntax error in Datastore unit test.
  • SC.SplitView can now mixin SC.SplitChild.
  • Thinned picker pane border divs so that they don’t overlap the content view.
  • Prevents target property conflict when configuring button targets with SC.AlertPane.
  • Changed the aria-orientation of horizontal SC.ScrollView to ‘horizontal’ from ‘vertical’.
  • Allows SC.CollectionFastPath to work with sparse content by always returning an item view even when content isn’t yet available.
  • Prevents SC.GridView from iterating over its content array in order to work with sparse content.
  • The ‘mobile-safari’ body class name is no longer being added in all browsers.
  • Enables pasting in SC.TextFieldView to notify that the value changed.
  • Prevents default touch behavior being intercepted on <textarea> and <select> elements.

Announcing SproutCore 1.8.1!

written by SproutCore

We’re pleased to announce the release of SproutCore 1.8.1.  To upgrade to the latest version, simply run:

gem update sproutcore

If you installed SproutCore using the installer, please note that due to the strain that maintaining the installers puts on the release process, we will not be updating the installer for each patch level release.   Therefore, to get the very latest stable version, it is recommended that you install the SproutCore gem.

Installing the gem is actually quite easy and there are detailed instructions for each platform at http://sproutcore.com/install/.  Simply find your platform and go to the Advanced Install tab, which helps you get Ruby properly installed.  If you’ve already got Ruby 1.9 installed, it is as simple as gem install sproutcore.

Continue reading

To Do: Build a SproutCore App

written by SproutCore

In this 10-minute screencast, Tom Dale takes you from creating an empty SproutCore project to building a simple todos application. You’ll learn about defining model objects, crafting a user interface using HTML, then connecting them together with controllers. While doing so, Tom explains how thinking of your app in terms of its state, instead of how to respond to events, will change the way you build applications.