SproutCore 1.11.0 Release Candidate 2

written by SproutCore

The next release candidate for version 1.11.0 is now available.

This release candidate addresses a few bugs, makes some important under-the-hood improvements (e.g. SC.View layout update performance, reducing SC.Event memory churn, avoiding leaking arguments) and updates the API of SC.ActionSupport. The detailed change log can be viewed here: https://github.com/sproutcore/sproutcore/blob/master/CHANGELOG.md

To install SproutCore 1.11.0.rc2 for testing, please upgrade your previous version of SproutCore by running the following:

gem update sproutcore --prerelease

We will be using your feedback over the next few weeks to finalize 1.11.0, so please be sure to try it out and let us know what issues remain: Github Issues. To discuss the next version or to discuss SproutCore in general, as always please use #sproutcore on IRC or email to sproutcore@googlegroups.com.

SproutCore 1.11.0 Release Candidate 1

written by SproutCore

We are pleased to announce the pre-release of SproutCore 1.11.0. Where version 1.10 drastically reduced the memory use of SproutCore, 1.11 goes even further to ferret out bottlenecks and improve the overall performance for SproutCore apps.

This new version also introduces many API improvements and additions to further ease the development of modern large scale web applications. When 1.11.0 final is released in the coming weeks, we will post an in-depth look at the major changes, but until then, the full list can be viewed here: https://github.com/sproutcore/sproutcore/blob/master/CHANGELOG.md

To install SproutCore 1.11.0.rc1 for testing, please upgrade your previous version of SproutCore by running the following:

gem update sproutcore –prerelease

We will be using your feedback over the next few weeks to finalize 1.11.0, so please be sure to try it out and let us know what you think: Github Issues, #sproutcore on IRC or email to sproutcore@googlegroups.com.

SproutCore 1.10.1 Release

written by SproutCore

The first patch release of SproutCore 1.10 is now available. This update includes the following fixes:

  • Allows inline text fields to work with automatic child view layout.
  • Fixed SC.Module loading for IE11 and future versions.
  • Fixed SC.Drag cancellation with the Escape key to call dragEnded for cleanup.
  • Added a retina image for the default theme of SC.MenuPane.
  • Fixed the touch selection of SC.CollectionView to prevent an item from appearing deselected when touched twice in a row.
  • Fixed the insertion point code for SC.GridView in order to show an insertion view when dragging and dropping onto grid views.
  • Fixed an issue with SC.ScrollView which would cause the HW accelerated content offset to be incorrect when the content view re-renders.
  • Improved the deceleration animation of SC.ScrollView for better performance.
  • Fixed an error in the deceleration animation of SC.ScrollView that could throw an exception when stopped very quickly.
  • Changed the SC.EmptyTheme class name to sc-empty-theme to avoid conflicts with the use of sc-empty. This fixes a bug where SC.ProgressView would always appear empty when used with the empty theme.
  • Fixed incorrect behavior of SC.Statechart sendEvent that allowed events to be sent during a state transition.
  • Fixed a bug that prevented queued events due to a state transition from being sent when the state transition was complete.
  • Fixed a caching problem with SC.routes that would allow the location property to be incorrect depending on how it was changed.
  • Fixed a regression in determining the OS of Linux and Android in SC.browser.

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.2 Released

written by Tyler Keating

We are pleased to announce the immediate release of SproutCore 1.9.2.  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 have 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:

Build Tools

  • We’ve softened the build tools dependency requirements from being ultra-pessimistic (i.e. within the minor version) to being just pessimistic (i.e. within the major version).  This helps to prevent Bundler conflicts.
  • Fixes the snake case generator for ‘sproutcore gen‘, so that names like ‘SCProject’ get properly transformed to ‘sc_project‘ and not ‘s_c_project‘.
  • Fixes the ‘$repeat: repeat‘ property used with the @slice SCSS directive when generating the @2x version.  It was incorrectly appending @2x to the end of the whole path (ex. /resources/images/image-sliced-from.png@2x) instead of inserting it before the extension (ex. /resources/images/image-sliced-from@2x.png).
  • Fixes incorrectly named “responder” generator to “state” generator for generating SC.State subclasses.  You can now generate an SC.State file using ‘sproutcore gen state‘ or ‘sc-gen state‘.
  • Added support for un-prefixed background-size CSS attribute when spriting.  This allows spriting to work properly in retina Firefox.
  • Fixes inconsistencies and improper syntax in several templates created with ‘sproutcore gen‘.  Generated files are now cleaner and provide more descriptive help comments.
  • Fixes missing stylesheet warnings on a clean app generated with ‘sproutcore gen app‘ or ‘sproutcore gen statechart_app‘ by adding a default stylesheet to the app. Also adds a default stylesheet to a design, when using ‘sproutcore gen design‘ (i.e. creating an SC.Page resource).

Framework

  • Fixes regression in IE7 and IE8 which caused XHR requests to fail to notify.
  • Fixes improper binary search used by SC.ManyArray.prototype.addInverseRecord that resulted in an infinite loop when using addInverseRecord with an orderBy function.
  • Fixes bug that allowed the context menu to appear regardless of overriding contextMenu in a view or setting SC.CONTEXT_MENU_ENABLED (globally) or isContextMenuEnabled (on a view) to false.  This makes the context menu event handling behave the same as the key, mouse, etc. event handling.
  • Fixes actions: insertNewLine, deleteForward, deleteBackward, moveLeft, moveRight, selectAll, moveUp and moveDown to be always handled by the SC.TextFieldView element when it has focus.
  • Fixes the hint value for SC.LabelView so that it will appear when the label has no value and isEditable is true.
  • No longer modifies the underlying items given to an SC.SegmentedView directly so that we don’t dirty the original objects.
  • Fixes debug files being included in builds. These files (one of which is a 2.5MB test image) would get included into every build, because they were at the wrong path.  These files should not ever be loaded in an app, but if you created an app manifest based on the contents of the built static directory, you could invariably cause the client to download over 2.5MB of files that are never used.
  • Fixes determination of touch support in Chrome on Win 8.
  • Adds missing un-prefixed border-radius rules to the default theme for browsers that have dropped the prefix.

As always, every bug fix includes an accompanying unit test to ensure that the bug does not re-appear in the future.

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.

SproutCore 1.7 Beta Released

written by Peter Wagenet

I’m pleased to announce that SproutCore 1.7 beta is now available. This release is largely a bug fix release and the addition of some minor features so if you’re using 1.6 and like the cutting edge you should check it out. Installers are available for Mac and Windows. If you’re using RubyGems, just run gem install sproutcore --pre. A word of warning, however: if you’re using the installers the beta will overwrite any previously installed versions of SproutCore. As always, share any issues you encounter on Github Issues.

Read on for more information on the changes. Continue reading