This is a list of all changes since the last official release (1.1.2).
Compiler
New functionality
- Added command line compiler smsc.
- Added support for external variables and external class variables.
- Scriptable HTML templates and CSS scripts.
- CSS is compressed during compilation.
- New ways to include an external resource:
- {$R ‘resource.js’} or {$R ‘file:resource.js’} will copy the resource to the ‘res’ folder during compilation and link it into the program (‘<script>’ statement will be generated in the HTML code or ‘require’ will be generated for NodeJS code).
- {$R ‘http://server/path/script.js’} or {$R ‘https://server/path/script.js’} will just link the code to the program without copying anything.
- You can specify MIME type for the resource by prefixing it to the resource name: {$R ‘text/javascript:http://server/path/file.php’}. If the MIME type is not provided, it will be generated automatically from the extension part of the resource name.
- Compiled program is stored in a ‘www’ subfolder (previously it was stored in a ‘bin’ subfolder).
Improved functionality
- Improved codegen for static and static sealed classes.
- Improved codegen for “new JObject”.
Bugs fixed
- Fixed various codegen problems related to constant arrays, external classes and nested records.
RTL
New functionality
- Added support for the Espruino microcontroller.
- Added wrappers for JavaScript functions prompt() and confirm().
- Added support for Android Home Screen applications (http://www.delphitools.info/2013/10/16/chrome-web-apps-in-android/).
- Added TMetronome class (http://www.delphitools.info/2013/10/18/time-stepping-for-games-and-simulations/).
- New units: w3WebWorker, w3c.WebSpeechAPI, Chrome.Serial, Firefox\Bluetooth.
- Added methods to the w3colors unit.
Improved functionality
- Redesigned (faster) GameView.
- Improved TW3Button with ‘pressed’ state.
- More IE shims.
- Improved W3Effects.
- Improved ColorToWebStr.
- Improved TW3BufferedImage.SetSize.
- Improved compiler messages window.
Bugs fixed
- Fixed System.Diagnostics performance timer fallback (for Safari).
- Fixed HSL delta methods in w3colors.
IDE
New functionality
- New visual designer.
- New component package manager.
- New project file format, incompatible with older Smart versions. Projects are now stored with a .sproj extension and forms with a .sfm extension.
- New, XML-based preferences file (preferences.xml) replaced INI-based file (preferences.ini).
- Added NodeJS and WebWorkers project types.
- Added tool that creates DataSnap service connector (Delphi Enterprise must be installed on the same computer).
- Build automation with build scripts.
- Source maps.
- Lines/blocks can be moved up/down with Alt+Shift+Up/Down.
- Internal browser allows taking screenshot of the running application.
- Configuration option “Save projects before compilation”.
- A project can be compiled and run even if it was never saved.
- Implemented Open, Save, Save As, Save Project As.
- Metadata information can be set for a project.
- IDE state related to the project (open tabs, top line, bookmarks) is stored in the <projectname>.dsk file and is restored when a project is open.
- Redesigned template (HTML and CSS) handling.
- Ctrl+click ‘link’ highlighting.
- Source code change bar to indicate changes (original, modified, saved).
- Default project options for each project type can be configured.
- Added compilation options ‘Automatically refresh in browser’ and ‘Handle uncaught exceptions’.
- Added support for defining conditional compilation symbols on a project level.
- Redesigned ‘run’ experience (http://smartmobilestudio.com/2013/10/12/new-ways-to-run-a-project/).
Improved functionality
- Project title can contain spaces.
- Custom HTML & CSS code is now separated from general resources
- Better structure of project options (removed dead settings)
- Application adapts to low-resolution displays.
- Improved HTML highlighter, now supports embedded JavaScript, DWS, and CSS.
- Dotted unit names are supported.
- Snippets are stored in a separate folder, one snippet per file.
- Redesigned server/internal browser forms and execution options.
- Added shortcuts to toggle Compiler Messages and Mini Map visibility.
- Improved renaming of units.
Bugs fixed
- Code completion works in .spr files.
- Highlighter preview (in Preferences) uses currently selected editor font.
- Configured editor font is correctly displayed when Preview dialog is open.
Removed functionality
- Compact toolbar.
- Exit button in the toolbar.
- Removed ‘Visual components project (New Project Script Demo)’ project type.
Other
New functionality
- New demos: eSpeak, TransitionEffects, Complex Numbers.
- Added touch and acceleration support to the “Box2D Demo” project.
Changed
- Renamed some demos (removed ‘by XXXX’).
Removed
- Removed demo “Box2D Integration”.