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”.
Cool! I’m already looking for excuses to develop in SMS and it only keeps getting better!
Interesting additions here.. never heard about Espruino, Chrome.Serial but they seem an excelent match.
with the new license does that mean we have to buy version 2.0?
I never got much out of version 1, not one complete project, so I would be hesitant in forking out another $400.
@Czar:
No. The subscription model means that you get all major and minor updates.
The license thing in v2.0 is just a technical necessity due to diverged editions in v2.0.
From v2.0 you can choose to subscribe to Basic, Professional or Enterprise edition.
Basic: $42/year (https://gumroad.com/l/SmartMobileStudio-Basic)
Professional: $149/year (https://gumroad.com/l/SmartMobileStudio-Professional)
Enterprise: $399/year (https://gumroad.com/l/SmartMobileStudio)
All current costumers will get the Enterprise license. 🙂