Release Notes for Sencha Cmd 5.0.3
Date: October 16, 2014
Version Number: 5.0.3.324
Windows -
Mac OS X -
Linux/64 -
Linux/32
Noteworthy
If your html/markup file is located in a folder other than the app's root folder (where app.json resides), the relative paths for dev mode, generated into bootstrap.json, are now going to pick up your changes to indexHtmlPath (see SDKTOOLS-960). With this fix the previous workaround based on editing the "bootstrap" object in app.json is no longer needed. If you have changed the "bootstrap" properties to fix this issue, you should revert to the default which is:
"bootstrap": {
"base": "${app.dir}",
"manifest": "bootstrap.json",
"microloader": "bootstrap.js",
"css": "bootstrap.css"
},
You will also most likely need to deal with the framework's appFolder config. In
you Ext.app.Application-derived class and in your call to Ext.application
you will need to specify the correct relative path for appFolder. This is a framework
limitation since the loader path for your application in the bootstrap data is being
replaced by that config property.
New Features
- Build (1)
-
SDKTOOLS-943 Change internal Ant project names to start with "x-" so that custom targets sort first in IDE's
Total: 1
Bugs Fixed
- AutoDepedency (1)
-
SDKTOOLS-951 Classes referenced by Ext.app.Profiles are not detected as dependencies
- Build (7)
-
SDKTOOLS-919 Production build is generating malformed URL in remote path
-
SDKTOOLS-921 microloader.js is not minified if app does not embed it in index.html
-
SDKTOOLS-936 Ext.manifest is not populated when microloader is disabled
-
SDKTOOLS-941 Cannot control optimizer settings via app.json in Touch 2.3 apps
-
SDKTOOLS-953 Touch 2.x builds include overrides in json before bootstrap.js
-
SDKTOOLS-960 Paths in dev mode bootstrap do not respect indexHtmlPath in app.json by default
-
SDKTOOLS-962 Package example apps generate invalid loader paths in bootstrap
- Compiler (2)
-
SDKTOOLS-946 Optimizer does not always generate correct form for callSuper or mixinConfig
-
SDKTOOLS-954 Optimizer does not properly inject alternateClassNames for Touch 2.x
- CordovaPhoneGap (1)
-
SDKTOOLS-966 Building native app from Touch examples fails due to incorrect resources path
- Generator (1)
-
SDKTOOLS-952 Generate app does not honor "." for target directory on the command line
- Microloader (1)
-
SDKTOOLS-940 Touch microloader does not eval into global scope properly when delta patching JavaScript
- Misc (5)
-
SDKTOOLS-948 UNC paths on Windows are sometimes handled incorrectly
-
SDKTOOLS-956 JsonP fails in Touch when using the production microloader
-
SDKTOOLS-964 Upgrades do not respect 'ext.dir' for Sencha Cmd 5
-
SDKTOOLS-965 Cannot build native Android Touch 2.4.1 examples using Cmd 5.0.2
-
SDKTOOLS-968 Sencha app watch not working with named build profiles
- Sass (1)
-
SDKTOOLS-635 compass configs are not being picked up when set in a theme's config.rb (prevents compass' spriting feature from being used)
- Upgrade (1)
-
SDKTOOLS-961 Sencha app upgrade --noframework forces framework version to 5.0.0
Total: 20
Known Issues
Release Notes for Sencha Cmd 5.0.2
Date: September 9, 2014
Version Number: 5.0.2.270
Windows -
Mac OS X -
Linux/64 -
Linux/32
Noteworthy
The fix for SDKTOOLS-898 (see below) means that packages with extra content in their package.json
file built by this version of Sencha Cmd will not be usable by older versions of Sencha Cmd. This is because
the extra content is included in the package "signature" hash but is not by older versions. This is only an
issue if the package.json file contains properties that older versions of Sencha Cmd did not expect.
New Features
- Microloader (1)
-
SDKTOOLS-878 There should be a way to control cache busting in app.json
Total: 1
Bugs Fixed
- Build (10)
-
SDKTOOLS-894 Setting output.base in app.json does not properly redirect output in testing builds
-
SDKTOOLS-903 Adding ext-all-debug.js to js array causes duplicate file loading on Ext JS 5
-
SDKTOOLS-907 Running Cmd from a GUI on Mac OS X doesn't load proper environment variables
-
SDKTOOLS-909 Adding ext-*.js files to js array in app.json causes double loading of framework classes
-
SDKTOOLS-911 Default build environment for "sencha app refresh" should be "development" not "production"
-
SDKTOOLS-912 Development build should include all CSS not only what is currently used
-
SDKTOOLS-913 Development builds should skip page, js and slice by default
-
SDKTOOLS-916 Build output should only include stack traces when "--debug" is specified
-
SDKTOOLS-934 Setting enable:false on microloader in output definition does not include Ext.Boot
-
SDKTOOLS-935 Page output does not respect app.json output option for microloader enable:false
- Compiler (1)
-
SDKTOOLS-915 Compiler throws a ClassCastException given a numeric property key in a class body
- CordovaPhoneGap (1)
-
SDKTOOLS-901 Cordova/Phonegap JS resources are not being loaded before the framework
- Generator (2)
-
SDKTOOLS-902 Framework init for workspaces doesn't copy built ext-* files for Ext JS 5
-
SDKTOOLS-933 The "ext" folder created when generating an app or workspace is missing licenses files (breaks "sencha ant js" rebuild of framework)
- Loader (1)
-
SDKTOOLS-908 Dynamic loader defaults to Ext.globalEval but should use script element injection
- Microloader (1)
-
SDKTOOLS-910 Microloader should not use synchronous ajax request to load the manifest
- Misc (2)
-
SDKTOOLS-900 Resources listed in app.json are copied to wrong directory (resources/resources)
-
SDKTOOLS-906 Delta patching and appCache should be disabled by default for all Ext JS app builds
- Package (1)
-
SDKTOOLS-898 Certain contents of package.json such as sass namespace are not included in build pkg file
Total: 19
Release Notes for Sencha Cmd 5.0.1
Date: August 5, 2014
Version Number: 5.0.1.231
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Build (1)
-
SDKTOOLS-868 Build process should provide comprehensive control of output locations from app.json
- Compiler (2)
-
SDKTOOLS-327 Sencha Touch applications should be able to use optimizer
-
SDKTOOLS-382 Properties that control page file location need to work with sencha app refresh
Total: 3
Bugs Fixed
- Build (12)
-
SDKTOOLS-345 app build doesn't copy theme resources.
-
SDKTOOLS-633 Generated apps do not start with an app.overrides value
-
SDKTOOLS-824 Senca app build does not properly handle the "destination" argument
-
SDKTOOLS-835 Package build isn't properly excluding configured files from packages
-
SDKTOOLS-837 Builds using resolve phase fail due to missing script file "resolver.js"
-
SDKTOOLS-845 CSS splitter can produce too many rules for IE if the limit is reached in the middle of a "selector group"
-
SDKTOOLS-849 Relative metadata paths for manifest are not adjustable
-
SDKTOOLS-856 The order of JS Files is reversed in all-classes.js when using marking form
-
SDKTOOLS-865 ext-theme-neptune-all.css includes *-debug parts
-
SDKTOOLS-871 Apps do not have their overrides path set by default
-
SDKTOOLS-872 Configuring appcache in app.json does not result in html manifest attribute in output markup for Ext JS 5 apps
-
SDKTOOLS-882 build.ruby.path is ignored
- Compiler (1)
-
SDKTOOLS-836 Unused namespaces included in generated JS output
- Documentation (1)
-
SDKTOOLS-879 Documentation for generating a package should not use "-sdk" switch
- Generator (2)
-
SDKTOOLS-800 Default theme not getting applied w/ sencha generate app
-
SDKTOOLS-823 app upgrade -ext tries to download framework when framework is already in the workspace
- Microloader (2)
-
SDKTOOLS-767 Loader should use ajax/eval when async:false is unsupported
-
SDKTOOLS-848 Add an overrides config to app.json
- Misc (3)
-
SDKTOOLS-855 App watch not detecting changes in dependent packages
-
SDKTOOLS-857 Cmd error when upgrading a 4.2 project to 5.0
-
SDKTOOLS-881 Compass error messages not showing
- Sass (2)
-
SDKTOOLS-842 Trailing comma in sass/example/render.js
-
SDKTOOLS-886 After building a package, cache_path in config.rb points to absolute path
- Service (1)
-
SDKTOOLS-873 Background compass not shutting down properly on Windows
- Slicer (1)
-
SDKTOOLS-883 Slicer page fails to load on Windows due to backslashes in some manifest URLs
- Watch (3)
-
SDKTOOLS-854 App Watch does not continue tracking new files under some conditions
-
SDKTOOLS-870 App watch sometimes misses file changes when multiple changes occur rapidly
-
SDKTOOLS-877 Mac OSX: sencha app watch consumes 100% cpu
Total: 28
Release Notes for Sencha Cmd 5.0.0
Date: May 29, 2014
Version Number: 5.0.0.160
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Generator (1)
-
SDKTOOLS-770 Sencha generate view should optionally generate ViewController and ViewModel
- Misc (1)
-
SDKTOOLS-694 Have app watch monitor the app.json file
- Watch (1)
-
SDKTOOLS-769 App Watch needs an option to select the desired build profile
Total: 3
Bugs Fixed
- Build (1)
-
SDKTOOLS-759 CSS resources not copied from packages during build in markup mode
- Compiler (1)
-
SDKTOOLS-784 Compiler doesn't detect dependencies on trigger configs for fields
- Documentation (1)
-
SDKTOOLS-513 sencha -sdk ext generate theme
- Generator (2)
-
SDKTOOLS-802 Generate app does not recognize ext.dir in existing workspace using -ext switch
-
SDKTOOLS-830 -ext flag not working when trying to generate new app
- Service (2)
-
SDKTOOLS-821 Using service layer, App Watch will not stop
-
SDKTOOLS-822 Memory leaks with app watch and the service layer
Total: 7
Release Notes for Sencha Cmd 5.0.0 Beta
Date: April 1, 2014
Version Number: 5.0.0.116
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Build (3)
-
SDKTOOLS-709 Iterative build definition for application builds similar to KitchenSink
-
SDKTOOLS-748 Build should support iterating over multiple flavors (such as theme and locale) in one command
-
SDKTOOLS-771 App Build should support automatically downloading the framework
- Compiler (1)
-
SDKTOOLS-706 Compiler needs to export full metadata for classes and packages to allow loader in dev mode to match build
- Generator (1)
-
SDKTOOLS-776 Generate app should support getting the framework from the package repo
- Microloader (2)
-
SDKTOOLS-704 Microloader should be usable on all devices
-
SDKTOOLS-705 Microloader should allow user to extend platform "tags" that drive platform filtering and platformConfig
- StarterApp (1)
-
SDKTOOLS-712 Ext JS 5 default app templates should be microloader-enabled
- Upgrade (1)
-
SDKTOOLS-773 App Upgrade should support framework download
Bugs Fixed
- Build (1)
-
SDKTOOLS-793 Remote css entries have trailing '/' in output json file
- Compiler (4)
-
SDKTOOLS-754 Packages metadata in manifest should include the leaf package
-
SDKTOOLS-756 Manifest metadata should not contain info for pseudo class definitions from Ext.application calls
-
SDKTOOLS-760 Compiler does not respect options to disable removal of requires/uses or unquoting of classnames used by the Loader
-
SDKTOOLS-781 Compiler is not detecting all dependencies (like new operator or auto dependency properties)
- Misc (4)
-
SDKTOOLS-753 App Watch should verify java version requirements before executing
-
SDKTOOLS-755 Boot.js recurses too frequently during synchronous request processing
-
SDKTOOLS-788 Package build skips framework packages in dependencies
-
SDKTOOLS-789 Items arrays on charts are being picked up by cmd as "widget." items
- Package (1)
-
SDKTOOLS-797 Download progress sometimes shows ANSI color codes
- Slicer (1)
-
SDKTOOLS-751 Slicer sometimes fails due to missing generateSlicerManifest function (race condition)
- Watch (2)
-
SDKTOOLS-761 App Watch does not properly detect dependency changes in js code
-
SDKTOOLS-787 App Watch should be based on testing build not production
Release Notes for Sencha Cmd 4.0.4
Date: April 2, 2014
Version Number: 4.0.4.84
Windows -
Mac OS X -
Linux/64 -
Linux/32
Bugs Fixed
- CordovaPhoneGap (1)
-
SDKTOOLS-790 Cordova/PhoneGap config.xml file location had been changed
- MobilePackage (1)
-
SDKTOOLS-740 Apps built for AppStore are rejected with "bundle is invalid" reason
Release Notes for Sencha Cmd 4.0.3
Date: February 11, 2014
Version Number: 4.0.3.74
Windows -
Mac OS X -
Linux/64 -
Linux/32
Bugs Fixed
- Misc (1)
-
SDKTOOLS-726 skip.slice defaults to "1" for newly generated theme packages
- Package (1)
-
SDKTOOLS-729 *sencha package build* strips "architect" from package.json
Total: 2
Release Notes for Sencha Cmd 4.0.2
Date: December 20, 2013
Version Number: 4.0.2.67
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Installer (1)
-
SDKTOOLS-671 Upgrade PhantomJs to version 1.9.2
Total: 1
Bugs Fixed
- Build (5)
-
SDKTOOLS-650 document.head is undefined in IE before IE9
-
SDKTOOLS-691 Delta patch checksums need to be in code form to bypass comment removal
-
SDKTOOLS-692 Js file checksum function names must be valid js identifiers
-
SDKTOOLS-693 Cache manifest not properly updated when referenced content changes
-
SDKTOOLS-696 App build duplicates checksum headers during production microloader builds
- Misc (3)
-
SDKTOOLS-669 Microloader not minified after build process
-
SDKTOOLS-676 Typo in warning to upgrade packages
-
SDKTOOLS-689 Resource names that do not end in ".js" or ".css" are not included
- Package (1)
-
SDKTOOLS-634 sencha package build runs theme capture / slice phase for non-theme packages causing build to fail
Total: 9
Known Issues
- Compiler (1)
-
SDKTOOLS-327 Sencha Touch applications cannot use optimizer
Total: 1
Release Notes for Sencha Cmd 4.0.1
Date: November 7, 2013
Version Number: 4.0.1.45
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Build (1)
-
SDKTOOLS-598 Should be able change the Sass output folder independently of build.dir - need a compass.working.dir property
- Compiler (1)
-
SDKTOOLS-600 Compiler should support detection of Ext.syncRequire in addition to Ext.require
- Misc (2)
-
SDKTOOLS-583 App and package builds should be able to specify the Ruby path
-
SDKTOOLS-646 Add switch to disable "app refresh" step of "sencha generate app"
Total: 4
Bugs Fixed
- Build (3)
-
SDKTOOLS-557 java Version Assertion Fails on beta/sub releases
-
SDKTOOLS-617 Resources included in app.json don't include a version when building for production
-
SDKTOOLS-667 First build does not pick up application code from markup file
- Compiler (2)
-
SDKTOOLS-615 Loader path metadata command does not use unix paths on windows
-
SDKTOOLS-655 Extending Ext.app.Application causes app refresh and app build to fail
- Generator (1)
-
SDKTOOLS-593 Generate app command does not validate appName
- Misc (6)
-
SDKTOOLS-587 sencha compile cannot parse ext-dev.js
-
SDKTOOLS-599 Package builds should not optimize / remove "uses" and "requires" statements
-
SDKTOOLS-624 Production build application needs to add a check for version.length
-
SDKTOOLS-648 App.json buildOptions don't get mapped cleanly into Ant property space - should map to "build.options"
-
SDKTOOLS-653 web app will not update if using update:full in app.json
-
SDKTOOLS-658 Sencha Cmd package version upgrade problem
- MobilePackager (1)
-
SDKTOOLS-654 Cordova plugin not initializing when using "sencha cordova init"
- Sass (1)
-
SDKTOOLS-643 Bundled version of Sass is not compatible with Ruby 2.0+
- Slicer (1)
-
SDKTOOLS-663 Slicer fails when trying to slice images that need more than 256 colors
- Upgrade (1)
-
SDKTOOLS-652 App upgrade only applies framework-specific updates if Cmd version is also changing
Total: 16
Release Notes for Sencha Cmd 4.0.0
Date: September 24, 2013
Version Number: 4.0.0.203
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Misc (1)
-
SDKTOOLS-543 Integrate Cordova support into Touch apps
Total: 1
Bugs Fixed
- Build (2)
-
SDKTOOLS-442 Offline machines throw a catalog error when trying to reach catalog.json
-
SDKTOOLS-601 Resource copy fails on non-existing paths
- Compiler (3)
-
SDKTOOLS-581 Compiler does not recognize mixins with quoted keys in the object literal
-
SDKTOOLS-588 Deeply nested components in JSON form cause compiler to slow or hang
-
SDKTOOLS-592 sencha compile page command fails to resolve path for html file in some cases
- Misc (2)
-
SDKTOOLS-589 App.json resources list is not always copied to build folder
-
SDKTOOLS-603 Touch app upgrade overwrites app icons with default app icons
- Slicer (1)
-
SDKTOOLS-590 Slicer produces warnings in some cases that it should not
Total: 8
Release Notes for Sencha Cmd 4.0.0 RC
Date: September 9, 2013
Version Number: 4.0.0.161
Windows -
Mac OS X -
Linux/64 -
Linux/32
Build Process
One of the major updates in this beta is the unification and consolidation of the
build scripts used for generated applications. In previous releases of Sencha Cmd,
applications had distinct and somewhat different build scripts based on the
framework and version in use. This made it difficult at times to account for the
differences in build process (for example, when upgrading frameworks or switching
between apps for different frameworks).
Build Scripts
The .sencha/app/build-impl.xml file contains the root of the
generated build script (as it always has for a Sencha Cmd generated app).
This file, however, has been refactored into several smaller scripts. This makes
understanding the build process much simpler compared to the single, large XML
file in previous releases.
NOTE: While you do not need to read these scripts in order to build your
application, skimming through them can be very helpful to understand how you
can tune the build process to better suit your needs.
New Build Steps
The build script is basically a sequence of build steps called "targets". New to
this set of targets are refresh and resolve.
refresh
The sencha app refresh command now routes to the new refresh
target and this target is automatically invoked by the build. This means you
no longer need to run sencha app refresh and sencha app build
to get your app ready for "dev mode". In other words, sencha app refresh
is just a subset of a full build and you can run that command if all you need
to do is update metadata such as loader paths or class aliases.
resolve
A new feature of the build process is the ability to include a dynamic dependency
resolution step (called resolve) that uses a headless WebKit (PhantomJS)
to load your application and extract the dynamic loader's history. This is in
essence the method used by SDK Tools v2 to determine dependencies and can help
if your application does not fully declare its dependencies using requires
and/or uses statements.
This extra build step (unlike all of the other build steps) is disabled by
default because it adds several seconds to the build time. To enable this
build step, add the following to .sencha/app/build.properties:
skip.resolve=0
CAUTION: If your application dynamically loads classes based on the
browser/platform this method will not necessarily produce a build that will
have the classes you need.
Build Properties
The properties for the build are much more completely listed and documented in
.sencha/app/defaults.properties. You can override these in
.sencha/app/build.properties or, depending on build environment,
.sencha/app/production.properties or
.sencha/app/testing.properties.
Use of JSON Files
Both applications and packages have controlling JSON definition files:
app.json and package.json respectively. In
this release, the properties of these files are imported into builds using
"dot" notation. For example, you can set the app's theme in app.json
as shown below:
{
"theme": "ext-theme-neptune"
}
The above is equivalent to using .sencha/app/sencha.cfg and
adding:
app.theme=ext-theme-neptune
Any properties set in both locations will have the value defined in the JSON
file.
Property expansion has also been enabled for app.json properties, so
the following style of property reference is now supported:
{
"js": [{
"path": "${framework.dir}/sencha-touch.js"
},{
"path": "${app.dir}/app.js"
}]
}
Build Environment
One key change in the set of build properties in this release is the concept
of "build environment" such as "production" or "testing". This is now controlled
by the build.environment property. In the past this as an argument from
the command-line and was passed in as args.environment but this was
not always being set.
Build Folder
The new build.environment property is now used to formulate the default
build directory as follows:
build.dir=${workspace.dir}/${build.environment}/${app.name}
This only applies to newly generated applications but is a better strategy by
default than previous releases because it can more closely preserve the
relative path between applications. In other words, the old structure of the
build folder was:
build/
App1/
production/
index.html
testing/
index.html
App2/
production/
index.html
testing/
index.html
The new structure (again just the default) is:
build/
production/
App1/
index.html
App2/
index.html
testing/
App1/
index.html
App2/
index.html
It is trivial to have your own build folder structure by setting build.dir
to be whatever you desire.
New Features
- Build (2)
-
SDKTOOLS-561 Compiler needs to export package versions via Ext.setVersion calls
-
SDKTOOLS-579 Build should have a property to specify the slicer example.css location
Total: 2
Bugs Fixed
- Build (3)
-
SDKTOOLS-519 Some classes are removed from build incorrectly
-
SDKTOOLS-539 sencha app resolve fails in some cases
-
SDKTOOLS-575 The 'whitespace' arg in the x-strip-js target in antlib is misspelled: whitespcae
- Compiler (2)
-
SDKTOOLS-535 Compiler does not filter out duplicate files if folders appear multiple times in classpath
-
SDKTOOLS-560 Dynamic requires statement causes build failure
- Misc (5)
-
SDKTOOLS-545 Ext JS builds include extra files in all-classes.js
-
SDKTOOLS-546 Ext JS app example scss file needs to be in a temp directory
-
SDKTOOLS-547 Optimizer generates namespaces for classes not included in build
-
SDKTOOLS-548 Touch 2.3 workspace generation doesn't copy framework packages
-
SDKTOOLS-563 Sencha Cmd should support install paths with spaces on mac / linux
- Upgrade (1)
-
SDKTOOLS-569 App upgrade for touch apps with architect integration fails
Total: 11
Release Notes for Sencha Cmd 4.0.0 Beta 1
Date: July 18, 2013
Version Number: 4.0.0.126
Windows -
Mac OS X -
Linux/64 -
Linux/32
With this release we have done considerable internal refactoring to support the
the latest Sencha Touch beta as well as add Cordova integration and the new
sencha app watch command.
Using the following command:
sencha app watch
Your app build will run and then Cmd then will pause
waiting for any changes you might make. When changes are detected only the minimum
amount of work necessary is performed to bring your app and its CSS up to date,
saving you from having to manually run sencha app refresh or rebuilding your
Sass.
NOTE: This command requires Java 7. All other features of Cmd continue
to work with Java 6.
New Features
- Misc (2)
-
SDKTOOLS-541 Implement sencha app watch to replace compass watch
-
SDKTOOLS-542 Support frameworks as first class packages
Total: 2
Bugs Fixed
- Build (2)
-
SDKTOOLS-516 Need to add 'controllers' to the implicit list of class dependencies for the Ext.app.Controller class
-
SDKTOOLS-520 Touch applications do not support app refresh
- Compiler (3)
-
SDKTOOLS-512 Dependencies are not detected from model or proxy configs for Ext.data.TreeStore
-
SDKTOOLS-515 App resource inheritance uses absolute path to package when it should use package name
-
SDKTOOLS-523 Overrides file cannot require code from src folder
- Generator (1)
-
SDKTOOLS-524 Generate app into existing workspace fails if framework is not already present
- Misc (5)
-
SDKTOOLS-507 When building a theme package it does not inherit overrides from its parent theme
-
SDKTOOLS-522 Theme package overrides are included before base theme overrides
-
SDKTOOLS-532 Touch app upgrades can leave app with no app.cmd.version set
-
SDKTOOLS-537 Sencha watch not picking up new directory changes
-
SDKTOOLS-544 Build help target lists all targets not just those with descriptions
Total: 11
Release Notes for Sencha Cmd 3.1.2
Date: May 15, 2013
Version Number: 3.1.2.342
Windows -
Mac OS X -
Linux/64 -
Linux/32
Noteworthy
This maintenance release contains improvements and fixes for many issues
reported by our friend in the community. Many issues relate to the whole
sencha app upgrade process, the meaning of "merge conflicts" and
cases where Cmd did not handle those conflicts cleanly.
Framework Packages
Packages were introduced in Sencha Cmd 3.1.0. In that release, there was only
one location for packages and that was set by workspace.package.dir
to be ${workspace.dir}/packages. This meant that Ext JS 4.2's (many)
packages would be copied to that folder.
In this release, frameworks can now contain their packages and these are no
longer copied out of the framework when the framework is introduced to the
workspace.
This detail was handled by Sencha Cmd, so this applies to Ext JS 4.2.0 as well
as Ext JS 4.2.1. This is handled during framework upgrade and Sencha Cmd will
remove the framework's packages from the workspace.packages.dir.
Upgrades
The general method for upgrading an application is sencha app upgrade
and while that remains true in this release, you now have more control over
the process. If you have multiple applications in a workspace, for example,
you need to decouple the framework and application upgrades. By default,
sencha app upgrade now operates as if you specified
sencha app upgrade --noframework and proceeds to upgrade the current
application to the current framework. This presupposes that you have already
upgraded the framework as part of a upgrading a different application in the
workspace.
If you have created packages, you can upgrade them like so from the package
folder:
sencha package upgrade
NOTE: If you are not upgrading frameworks, you may have to manually
delete the "ext-*" packages from the "packages" folder and
the "ext" folder as well. Then run the following to copy the framework
and packages to the workspace:
sencha -sdk /path/to/extjs generate workspace .
app.js
The majority of upgrade issues revolved around the "app.js" file. In
previous releases, Sencha Cmd would add entries to "app.js" during
code generation calls like sencha generate model (but also for
controllers and the rest). Further, the location of this file differed by
framework.
Due to the complications this approach creates and the fact that often these
updates are not wanted on the application, these commands
no longer update"app.js". You will need to add the newly created
controllers, views, stores, etc. to the appropriate class. In many cases this
will be on one of your controllers and not your application.
To make applications consistent across frameworks, and compatible-by-default
with Sencha Architect, "app.js" now resides in the root folder of
generated applications. The sencha app upgrade command will move
this file from the "app" folder for Ext JS applications.
Merge Conflicts
With Sencha Cmd 3.0, we introduced tracking of generated code to allow upgrades
to reconcile changes you may have made with changes to the "standard" flavor
of certain key files. This is tracked in ".sencha/app/codegen.json".
When generating code, if there is a file in the way, Cmd will use this data
to do a 3-way merge with the version Cmd originally produced as the base,
the version in the way as "Custom" and the new version as "Generated". In
the case of overlapping changes, Cmd will report s "MERGE CONFLICT" in the
log and write the standard (at least to many source control systems) conflict
indicators in the file:
<<<<<<< Generated
// change to Cmd generated content
=======
// changes you have made
>>>>>>> Custom
In this release we have fixed several cases where merge conflicts were falsely
reported during sencha app upgrade (which regenerates certain core
files like "app.js") and cases where subsequent steps of the upgrade
would wrongly try to use a file containing merge conflicts.
There are two strategies for handling merge conflicts:
- Your source control comparison tools
- Call a merge tool of your choice during the upgrade process to resolve
conflicts as they occur.
The use of source control to review the resulting changes from an upgrade is
not new. The best practice here (as always) is to perform upgrades with a
clean working tree (no pending changes). This will allow you to discard or
revert whatever you need.
Using a Third-party Merge Tool
New in this release is the ability to configure an external merge tool to be
called during the upgrade process. You can do this in a personal configuration
file in your HOME directory. For example:
C:\Users\Me>md .sencha
C:\Users\Me>cd .sencha
C:\Users\Me\.sencha>md cmd
C:\Users\Me\.sencha>cd cmd
C:\Users\Me\.sencha\cmd>notepad sencha.cfg
For example, you add these entries like those below to use the
Perforce Visual Merge tool:
cmd.merge.tool=C:\\Program Files\\Perforce\\p4merge.exe
cmd.merge.tool.args=${cmd.merge.tool.args.p4merge}
For further details, consult the comments in the "sencha.cfg" file
in your install folder of Sencha Cmd. The support for personal Sencha Cmd
configuration files is also documented in that same file.
New Features
- Compiler (2)
-
SDKTOOLS-449 Compiler should support allow stdout as an output target
-
SDKTOOLS-476 Compiler -classpath switch should allows tags to be added to the files in the path
- Misc (2)
-
SDKTOOLS-389 The framework should be able to add to the workspace repository for app builds
-
SDKTOOLS-448 Cmd should load per-user and version-independent config files in addition to base configuration
Total: 4
Bugs Fixed
- Build (4)
-
SDKTOOLS-384 Package build needs to produce package-all.scss file for non-theme packages
-
SDKTOOLS-446 Application commands should warn instead of fail when Cmd version does not match exactly
-
SDKTOOLS-450 Sencha.cfg properties are not overrideable via ant "-D" switches
-
SDKTOOLS-477 Default help target for applications and packages should not require that Ant be in the PATH
- Compiler (4)
-
SDKTOOLS-383 Application build should include package SASS variables in (forward) dependency order
-
SDKTOOLS-461 Auto-dependency scanner does not recognize ftype and ptype references
-
SDKTOOLS-462 Auto-dependency scanner does not recognize "defaults" object configuration
-
SDKTOOLS-475 Compiler 'circular requires' error should be downgraded to a warning
- Generator (2)
-
SDKTOOLS-483 Paths for manifest.js and shortcuts.js are incorrect in a app's theme.html file
-
SDKTOOLS-486 App generation needs to preserve Architect-generated files
- Misc (11)
-
SDKTOOLS-281 Preprocessor option "feature logger" cannot be controlled by build properties
-
SDKTOOLS-297 Generated app.js file contains redundant loader configuration
-
SDKTOOLS-360 sencha app upgrade --noframework can produce false merge conflicts
-
SDKTOOLS-367 When generating a Touch app, the Loader's path to the framework is wrong
-
SDKTOOLS-392 App builds for all frameworks/versions should consistently use build.properties
-
SDKTOOLS-414 No error message indicating that embedded version of Compass/Sass require Ruby 1.8 or 1.9
-
SDKTOOLS-421 App build process skips resource copy under certain conditions
-
SDKTOOLS-443 Commented out script tags can break page compiler
-
SDKTOOLS-445 Required package properties are not inherited by secondary packages during builds
-
SDKTOOLS-447 System proxy settings are not picked up by upgrade or package commands
-
SDKTOOLS-480 sencha app upgrade from Touch 2.1 to 2.2 misses some files
- Sass (1)
-
SDKTOOLS-426 Themes cannot control the image paths if they are not built using Cmd
- Slicer (1)
-
SDKTOOLS-478 Screenshot-runner has invalid check for duplicate slicer paths
- Upgrade (2)
-
SDKTOOLS-460 sencha app upgrade will corrupt certain files after detecting a merge conflict
-
SDKTOOLS-484 Touch app upgrades generate merge conflicts
Total: 25
Known Issues
- Compiler (1)
-
SDKTOOLS-327 Sencha Touch applications cannot use optimizer
- Misc (1)
-
SDKTOOLS-487 app refresh creates empty folder
Total: 2
Release Notes for Sencha Cmd 3.1.1
Date: April 5, 2013
Version Number: 3.1.1.274
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
Bugs Fixed
- Compiler (1)
-
SDKTOOLS-409 YUI CSS Compression produces invalid CSS for Windows Phone
Total: 1
Release Notes for Sencha Cmd 3.1.1 Beta 1
Date: March 28, 2013
Version Number: 3.1.1.270
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Compiler (1)
-
SDKTOOLS-350 Enable optimizer for production Ext JS application builds
- Package (1)
-
SDKTOOLS-394 Package repository needs before/after hooks to handle pkg add/remove events
Total: 2
Bugs Fixed
- Misc (1)
-
SDKTOOLS-388 Sencha runner in ant-utils does not pass null property values
- Package (1)
-
SDKTOOLS-393 The shorthand "sencha repository" command throws an error but the longer "sencha package repository" works
Total: 2
Release Notes for Sencha Cmd 3.1.0
Date: March 21, 2013
Version Number: 3.1.0.256
Windows -
Mac OS X -
Linux/64 -
Linux/32
Bugs Fixed
- Compiler (1)
-
SDKTOOLS-370 Compiler produces wrong loader path metadata under some circumstances
- Generator (1)
-
SDKTOOLS-372 sencha generate theme fails for Ext JS 4.2 workspace
- Misc (4)
-
SDKTOOLS-369 Apps need to be able to build without building in their theme
-
SDKTOOLS-373 sencha generate app fails mysteriously if you don't supply the app name
-
SDKTOOLS-374 Resource inheritance does not include base themes for app builds
-
SDKTOOLS-376 sencha app upgrade fails on Touch 2.1 app generated using previous versions of Cmd
- Slicer (1)
-
SDKTOOLS-371 Theme build process fails when mixed with some third-party components due to hard-coded require-all statement
Total: 7
Release Notes for Sencha Cmd 3.1.0 RC2
Date: March 14, 2013
Version Number: 3.1.0.239
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Misc (1)
-
SDKTOOLS-326 Sencha Touch applications should be able to use packages
Total: 1
Bugs Fixed
- Compiler (2)
-
SDKTOOLS-258 Sencha Touch builds get Ext.device.* in all builds
-
SDKTOOLS-348 Overrides of mixins must be sorted ahead of users of the mixin
- Documentation (1)
-
SDKTOOLS-356 Several commands are missing internal help
- Misc (3)
-
SDKTOOLS-329 sencha js minify reports "unsupported compressor" if paths contain spaces
-
SDKTOOLS-344 sencha app build fails for folders containing spaces
-
SDKTOOLS-349 App refresh does not update packages in workspace based on what app requires
Total: 6
Release Notes for Sencha Cmd 3.1.0 RC
Date: February 27, 2013
Version Number: 3.1.0.192
Windows -
Mac OS X -
Linux/64 -
Linux/32
New Features
- Misc (3)
-
SDKTOOLS-331 sencha ant command should recognize -Dprop=value property definition
-
SDKTOOLS-332 sencha ant should execute the default target of the ant file if no targets are specified
-
SDKTOOLS-333 sencha ant command should use dir from "sencha -cwd=dir" to find ant file
Total: 3
Bugs Fixed
- Misc (5)
-
SDKTOOLS-339 app.locale and app.theme definition is case-sensitive
-
SDKTOOLS-340 3.1 needs to be compatible with extjs 4.1 app build process without theme slicing
-
SDKTOOLS-341 3.1 needs to be able up run "app upgrade -noframework' against extjs 4.1 apps
-
SDKTOOLS-342 3.1 needs an upgrade path for extjs apps from 4.1 to 4.2
-
SDKTOOLS-343 "sencha theme *" need correct behaviors with 4.1 / 4.2
Total: 5
Release Notes for Sencha Cmd 3.1.0 Beta
Date: February 13, 2013
Version Number: 3.1.0.130
Ext JS: This version of Sencha Cmd 3.1 is not compatible with Ext JS 4.1.x
but this will be corrected in the next release. For this release, only
Ext JS 4.2.0.488 is supported.
Sencha Touch: This version of Sencha Cmd 3.1 is compatible with
Sencha Touch 2.1+ however the new optimizer and package features (discussed
below) are not yet supported for Sencha Touch applications.
Class Optimizer
This release of Sencha Cmd introduces the optimize command on the
Compiler. The initial optimization provided is to rewrite class declarations
into a more optimal form. This is beneficial because compiled code avoid many
run-time checks and process things synchronously (vs. asynchronously as with
the Sencha class system). This results is significantly fewer function calls
and memory allocation required to load the JavaScript code of the framework
and application.
Packages
The biggest new feature of Sencha Cmd 3.1 is that of packages. These are in
many ways similar to applications from a build perspective. Like applications,
packages contain:
- JavaScript
- SASS
- Resources
Packages come in three basic flavors: theme, code and locale. All package types
can contain any of the above assets. They primarily differ in how applications
use them. For theme and locale packages, only one of each can be active during
a given build. An application may require multiple theme and locale packages,
but only one will be activated for a build based on build properties. The
defaults are stored in your .sencha/app/sencha.cfg file and these
can be specified on the command line to override the default.
Packages live at the top of the application/workspace in a "./packages"
folder. That is, package "foo" is stored in "./packages/foo". In this
release, only Ext JS 4.2 applications or other packages can use packages. In
order to use a package, an application "requires" it in its app.json file:
{
"name": "foo",
"type": "code",
"version": "1.0.0",
"compatVersion": "1.0.0",
"requires": [{
"name": "bar",
"version": "1.1.0"
}]
}
Packages can require other packages in their "package.json" file in the same way.
Guides describing all of the particulars of packages will be available soon.
New Features
- Compiler (1)
-
SDKTOOLS-324 Compiler should optimize class declarations
- Misc (5)
-
SDKTOOLS-268 Code generators should support 3-way merge to facilitate user modification of generated code
-
SDKTOOLS-269 Model generator should support regeneration to modify the fields
-
SDKTOOLS-270 Model generator should be compatible with Sencha Architect
-
SDKTOOLS-272 Plugin infrastructure should allow for multiple independent plugins
-
SDKTOOLS-325 Ability to generate, build and consume packages
Total: 6
Bugs Fixed
- Compiler (3)
-
SDKTOOLS-302 Can't configure compile options for Touch builds
-
SDKTOOLS-316 Compiler incorrectly translates empty for loop
-
SDKTOOLS-317 Compiler incorrectly optimizes hex numbers
- Misc (5)
-
SDKTOOLS-151 Windows (Win7) new build tools make build causes error when using image resources file itself
-
SDKTOOLS-245 Signing fails in Mac OS with Sencha Cmd 3.0.0.190 (Freshly Generated App)
-
SDKTOOLS-271 Code generators incompatible with Sencha Architect should report error if run from an Architect project
-
SDKTOOLS-285 Missing auto dependency on identifier property for touch models
-
SDKTOOLS-311 Slicer is not producing proper image slices for Neptune
Total: 8
Release Notes for Sencha Cmd 3.0.2
Date: December 26, 2012
Version Number: 3.0.2.288
Bugs Fixed
- Misc (1)
-
SDKTOOLS-282 App upgrade does not properly upgrade themes to new package structure
Total: 1
Release Notes for Sencha Cmd 3.0.1
Date: December 23, 2012
Version Number: 3.0.2.285
Bugs Fixed
- Generator (3)
-
SDKTOOLS-226 The buildPaths property is obsolete and should be removed from app.json.tpl
-
SDKTOOLS-251 Sencha generate form extends Ext.form.Fieldset instead of Ext.form.Panel
-
SDKTOOLS-273 Generated config.rb extensions can have naming conflicts
- Misc (5)
-
SDKTOOLS-222 App cache checksum fails for images
-
SDKTOOLS-252 Testing build have included sencha-touch.js file what would make a duplicate while running the app
-
SDKTOOLS-259 when upgrading touch app from 2.0.x -> 2.1.x, sdk location isn't updated
-
SDKTOOLS-262 Native build option in app-build still references 'buildPaths' app.json property
-
SDKTOOLS-277 Move 'sencha package' to 'sencha app package'
- Slicer (1)
-
SDKTOOLS-257 Theme build does not merge images properly and is inconsistently documented
Total: 9
Release Notes for Sencha Cmd 3.0.0 (GA)
Release Date: November 6, 2012
Version Number: 3.0.0.250
Bugs Fixed
- Misc (16)
-
SDKTOOLS-159 Need a common strategy for ext and touch apps for rebuilding css via compass
-
SDKTOOLS-173 sencha ant production build does not work for Ext JS apps
-
SDKTOOLS-175 Compiler does not recognize hasMany/hasOne/belongsTo as Model dependencies
-
SDKTOOLS-176 Application compile step needs to be customizable
-
SDKTOOLS-194 Error reporting in "sencha app upgrade" is not always clear
-
SDKTOOLS-200 Invalid resourced created on sencha create app (touch 2.1-rc1 cmd 188)
-
SDKTOOLS-205 Overeager matching for -namespace
-
SDKTOOLS-208 senchacmd --sdk /pathtosdk generate app SampleApp /pathtosampleapp Fails
-
SDKTOOLS-210 sencha generate app Does Not Create 'model' and 'store' directories for Ext JS apps
-
SDKTOOLS-215 Need a -run switch for "sencha app build -run native" since build no longer runs by default
-
SDKTOOLS-217 There is a conflict with the use of stores, models and views config in controller and bootstrap.js
-
SDKTOOLS-219 Compile directives can conflict with IE conditional comments so allow spaces between // and @
-
SDKTOOLS-229 Ext JS app build does not remove debug code
-
SDKTOOLS-231 Update sencha.exe to work on 64-bit JRE
-
SDKTOOLS-238 NullPointerException in 3.0.0.230
-
SDKTOOLS-242 Apps in Workspaces have wrong default ext image paths
- MobilePackager (1)
-
SDKTOOLS-196 Native Android packaging fails on Sencha Cmd v3.0.0.181
Total: 17
Release Notes for Sencha Cmd 3.0.0 RC1
Release Date: October 25, 2012
Version Number: 3.0.0.230
Highlights
The highlights are improved UTF-8/multi-charset handling and correcting the
overwriting issues with "sencha app upgrade". To use the new charset directive in
your JS files, place this as the first line:
//@charset ISO-8859-1
Instead of "ISO-8859-1", the value to the right of charset
can be
any valid Java
charset
name. The default is "UTF-8".
The charset
directive is used to describe the encoding of an input
file to the compiler. This does not effect the encoding of the output file. The
content of the input file is converted to Unicode internally.
Also, auto-dependency detection has been improved so there should be fewer cases
where you need "requires" or "uses" for the compiler and not the dev environment
(due to synchronous loading).
Bugs Fixed
- Cmd (1)
-
TOUCH-3562 Sencha generate app corrupts binary template files
- Documentation (1)
-
SDKTOOLS-178 Clarification on compiler debug directive
- Misc (13)
-
SDKTOOLS-185 Concatenate process does not properly encode French characters
-
SDKTOOLS-186 Running sencha app build on CI server will hang trying to connect to device
-
SDKTOOLS-187 Obfuscated third-party libraries using Ext JS require symbol metadata
-
SDKTOOLS-188 [BUG] Sencha Cmd 3.0.0.181 app upgrade
-
SDKTOOLS-193 Concatenate encodes app-all.js using ANSI instead of UTF8
-
SDKTOOLS-195 The sencha theme build command does not accept simple theme name argument
-
SDKTOOLS-198 Compiler does not detect instantiation point auto-dependencies
-
SDKTOOLS-199 Using 'upgrade' command overwrites files
-
SDKTOOLS-205 Overeager matching for -namespace
-
SDKTOOLS-206 Issue with exclude -all?
-
SDKTOOLS-207 Ant clean target not working
-
SDKTOOLS-211 JSB parse options get reset during compilation
-
SDKTOOLS-47 Fetching Components via xtype
Total: 0
Release Notes for Sencha Cmd 3.0.0 Beta 3
Release Date: October 5, 2012
Version Number: 3.0.0.190
Bugs Fixed
- Compiler (1)
-
SDKTOOLS-177 No dianogstic message when set match criteria match nothing in the classpath
- Generator (1)
-
SDKTOOLS-170 ExtJs autogenerated sample app contains maintainFlex property, which is nowhere implemented in code
- Misc (4)
-
SDKTOOLS-162 Sencha Cmd v3.0 :: CSS is overriden and erased // bad relative reference to images
-
SDKTOOLS-172 Metadata is generated for the fake MVC Application-derived class
-
SDKTOOLS-180 Using -append on compile concat or meta commands fails if output file has no path specified
-
SDKTOOLS-184 Dependency re-scan should be triggered when options change on compile context
Total: 9
Release Notes for Sencha Cmd 3.0.0 Beta 2
Release Date: September 26, 2012
Version Number: 3.0.0.181
Customizable Builds
In this release we have introduced a new, top-level build script to provide a
consistent and customizable build process for Ext JS and Sencha Touch applications
The "sencha app build" is one way to perform an application build. This now calls
in to an Ant script to perform
the actual build. This means the build can now be customized as needed.
The Ant equivalent of "sencha app build [production|testing|native|package]" is:
sencha ant [production|testing|native|package] build
If you have Ant in your PATH, you can use it directly:
ant [production|testing|native|package] build
This runs the generated Ant build script to build your application. The reason
the arguments are swapped vs "sencha app build" is to accommodate how Ant processes
the command line.
That's all that is necessary to use the Ant script. You don't have to do
anything extra to get Ant (it is provided by Sencha Cmd) and you don't have to
know anything about Ant. That is, unless you want to customize the build script.
For details on tuning your application's Ant build script, start by reading the
comments contained in "build.xml" (the Ant build script). Also you can consult the
Ant Manual
for details on using Ant.
Alternatively, you can chose to wrap your own build process around the
"sencha app build" command.
Bugs Fixed
- Cmd (3)
-
TOUCH-3450 [2.1 beta3] Bug in the config.rb file (SASS Compile)
-
TOUCH-3454 [2.1 beta3] sencha generate app failed on linux64
-
TOUCH-3466 [2.1.0-b3] Ext.Loader path problem
- Misc (7)
-
SDKTOOLS-110 Generated app templates need to be loadable via file protocol
-
SDKTOOLS-155 Problems with the encoding characters using the compiler compression
-
SDKTOOLS-157 Sencha Cmd does not auto-detect xtype/xclass dependencies
-
SDKTOOLS-158 Sencha app upgrade doesn't work
-
SDKTOOLS-163 sencha app build: classes out of order
-
SDKTOOLS-164 Sencha Cmd 3.0 and Cygwin
-
SDKTOOLS-37 app-all.js is using ANSI not UTF8
- compiler (1)
-
SDKTOOLS-156 Compiler does not recognize xtype in Ext.define and create appropriate alias entries
- jsbuilder (2)
-
SDKTOOLS-101 Including a file that contains a string with more than 8192 characters breaks build process
-
SDKTOOLS-104 Remove "url" from app.json
Total: 13