Which version...

Richard Gaskin ambassador at fourthworld.com
Thu Jan 15 10:06:29 EST 2015

John Dixon wrote:

> Why are there different versions of liveCode being updated..
> LC 7.0    - updated 23 October 2014
> LC 7.0.1 - updated 18 December 2014
> LC 6.7.0 - updated 18 December 2014
> LC 6.7.1 - updated   9 January 2015
> Which one is considered to be the 'one' to use ?

As with most software, version numbers indicate the evolution of the 
code base over time, with higher numbers reflecting a more recent build.

Just as OS X 10.1 has been superseded by OS X 10.10, older versions of 
LiveCode are generally just that, lacking in fixes and/or features found 
in more recent versions.

When a trinomial version number is used, the most common pattern employs 
this set of unique communicative roles for each element:

     <majorChanges> . <minorFeatures> . <bugFixesOnly>

So the differences between 6.0.0 and 7.0.0 can be understood to be very 
significant, between 6.6.0 and 6.7.0 less so, and the differences 
between 7.0.0 and 7.0.1 can be expected to be comprised primarily of 
just bug fixes.  There may be occasions when a point-point release may 
also include new features, but those are very rare.

The 'one' so use is version 8, which will include all features 
implemented to date plus the Open Language/Widgets framework needed to 
complete the rest of the items remaining on the current Road Map.

But version 8 does not yet exist.  It's coming soon, but in the meantime 
we're in a transitional state between the old world of relatively minor 
changes in the engine and, as Tiemo calls it, the "brave new world" of 
an xTalk far more capable than anything before it.

V6.7's focus was Cocoa for Mac, a very major overhaul to object handling 
and messaging that has on the whole gone surprisingly well.

V7.0's focus is Unicode for all platforms and GTK integration for Linux. 
  V7 includes all changes  done in v6.7, making it the most 
feature-complete version available at this time.

V7 is also the first version to deliver a 64-bit compatible Linux 
engine, making it essential on many Linux desktops and most Linux servers.

When you see X.X.0 and X.X.1 versions, it's generally good to upgrade to 
the latter.  Being a point-point release there are few if any new 
features meaning less likelihood of regression errors, but more useful 
is that its purpose is to deliver fixes for issues found in the X.X.0 
build that weren't found during test of that version prior to release.

As a general rule, you can expect the version with the highest version 
number listed as "Stable" here to be the most feature-complete:

All that said, V7 is measurably slower than earlier versions for many 
operations, understandable given the scope of Unicode and how that 
affects so many elements throughout the language.

This speed difference is often negligible on the desktop, but coupled 
with a suboptimal boot sequence makes it not merely measurably slower on 
servers, but noticeably so.

Since v7 is necessary for modern 64-bit servers and performance in 
general is recognized as a valuable feature for all platforms, the team 
is exploring options for optimizing v7 to bring its performance more in 
line with that of v6.7.  I don't think any of us expected we'd have both 
feature completion and optimization in the same build, so the necessity 
of this optimization phase is appreciated even if it requires some patience.

Given the tradeoffs between the two version currently maintained, v6.7.x 
and v7.0.x, those whose work is critically dependent on performance 
often use v6.7.x, while those who need Unicode use v.7.0.x.

  Richard Gaskin
  LiveCode Community Manager
  richard at livecode.com

More information about the Use-livecode mailing list