Release Notes for Sencha Cmd 3.1.0 Beta

Date: February 13, 2013
Version Number:

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


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:

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

Bugs Fixed

Known Issues

Release Notes for Sencha Cmd 3.0.2

Date: December 26, 2012
Version Number:

Bugs Fixed

Total: 1

Release Notes for Sencha Cmd 3.0.1

Date: December 23, 2012
Version Number:

Bugs Fixed

Release Notes for Sencha Cmd 3.0.0 (GA)

Release Date: November 6, 2012
Version Number:

Bugs Fixed

Release Notes for Sencha Cmd 3.0.0 RC1

Release Date: October 25, 2012
Version Number:


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

Release Notes for Sencha Cmd 3.0.0 Beta 3

Release Date: October 5, 2012
Version Number:

Bugs Fixed

Release Notes for Sencha Cmd 3.0.0 Beta 2

Release Date: September 26, 2012
Version Number:

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