Version 6
Major New Features
- VoltServer support added. Replaces AppStudio Server, adds powerful new features.
- Bootstrap framework added. Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web. It's well thought through and is easy to use with AppStudio. For more information, see Introduction to Bootstrap.
- Support for Google Drive API. Now you can access files on your Google Drive from AppStudio. One interesting application is to use Google Spreadsheets as a database for your app. You can add, delete and update rows in the spreadsheet from AppStudio.
- Nested controls: Up till now, you could only put controls one level deep in Containers. Now you can put Containers inside of Containers - and there are more controls which can act as containers. Any level of nesting is possible.
- Drag and Drop in the Design Screen: Use this to easily add children to containers.
- Support for Stripe Payments: Stripe is an easy way for your app to get payments by credit card. No special bank account is needed.
- Billing: AppStudio is now distributed using a subscription, as well as a flat license charge.
Upgrading
If you have AppStudio 5 or older, you will need to get the upgrade to use these new features. You can order it here.
If you like would to try it first, download from the 'Check for Updates' screen in the Help menu. You'll get a demo copy.
Version 6.3.1
- Deploy: ContentSecurityPolicy is only used on PhoneGap apps.
- Design Screen: Was blank in some projects due to file name encoding.
- Design Screen: Fix problem with screen not showing controls if Grid present.
- Forms: All forms were displaying briefly at startup.
- Forms: Fix problem with modal forms.
- PhoneGap: Add base64 images to ContentSecurityPolicy
- Properties: New viewFrameFit property for iOS 11.
- Samples: Change copyright date on ABD fake company.
- Samples: Use specific camera library (2.4.1) on camera plugin.
- Samples: Samples open properly on Mac OS.
- Samples: Get rid of obsolete background style.
- Controls: Fix BS Hamburger and Dropdown from disappearing in Chrome 66+ (6.3.1.2)
- Certificate: Update code signing certificate. (6.3.1.2)
Version 6.3.0
- Bootstrap: 'spellcheck' property added to input controls.
- Bootstrap: Hamburger.addItem can now add 'divider' lines.
- Bootstrap: DataTable now has initComplete property.
- Bootstrap: Icon image in Project Explorer fixed.
- Code Window: Files in HTML format are now lexed properly.
- Code Window: JavaScript format now uses indent as specified in Preferences.
- Code Window: Clicking in the Functions window improved.
- Controls: Google Maps: Use apiKey when initializing.
- Deploy: Filenames in the manifest are now URL encoded. Spaces work in file names.
- Design Screen: Right clicking a control with existing event does not create a new JavaScript function.
- Forms: New 'attribute` property.
- Forms: New 'class' property.
- Forms: screenMode has new 'noStyle' setting: Only user styling is applied.
- jQM Collapsible now supports html in Header.
- MacOS: Support added for 10.13 High Sierra
- MakeEXE: Mismatched files for Windows 7,8 fixed.
- PhoneGap: Improve Content Security Policy for iOS 11.
- PhoneGap: 'gap:' no longer required in config.xml tokens.
- Preferences: Full list of languages appears again on Mac.
- Project Properties: Add favicon.
- Runtime: Improve 'stopOnError' runtime error message display.
- Runtime: NSB.MsgBox no longer spills text outside the box.
- Runtime: NSB.MsgBox now scrolls long messages.
- Samples: PhoneGapFileSystem "LocalFileSystem not defined" fixed.
- Samples: PhoneGapFileSystem Barcode plugin fixed.
- Updated copyright dates to 2018.
Version 6.2.7
- Deploy: Error message shows if a DB cannot be exported due to invalid column type.
- Controls: Bootstrap controls with images work properly.
- Controls: Bootstrap Tabs color property fixed.
- Controls: jQM Collapsible can now display HTML.
- Controls: jQM List's hidden property now works.
- Controls: Common Grid has new .init(rows, cols) function.
- Controls: Signature now renders properly if size of control changes. (Thanks, Buck!)
- Controls: New Signature.clear() function.
- Library: Navigo updated to latest version.
- MakeEXE: Bug in links fixed.
- Samples: New BrowserArrows sample shows use of Navigo.
Version 6.2.6
- Controls: Fix jqWidgets Input placeholder.
- Controls: jQM Select now checks for bad value on .setIndex.
- Forms: Fix error in centering forms.
- IDE: Add web board to Help menu.
- IDE: QRCodes now appear on Mac.
- Installer: Use pyInstaller 3.2.1.
- Installer: Use Python 2.8.13.
- Installer: Use wxPython 3.0.2
- Runtime: Use FontAwesome 4.7. Over 40 new icons!
- Runtime: FontAwesome now works properly offline.
- Runtime: EXE.pythonEval() can now accept longer command strings (240)
- makeEXE: Updated with the latest libraries.
- makeEXE: New streamlined development technique.
- Samples: execPython has some new snippets.
- Samples: Facebook sample deprecated due to changes in Facebook authentication.
- VoltServer: Documentation moved into main Wiki.
Version 6.2.5
- Design Screen: Do not execute any project code - just show the HTML. Should be faster!
- Design Screen: Do not write out code.js. Should be faster!
- Controls: Add missing images to jqxDateTimeInput
- Documentation: Wiki and locale files updated.
- Deploy: Check for corrupted or encrypted SQLite database.
- Form: New HTML property.
- Form: new Xpert category for properties.
- IDE: phoneGapDebugger deprecated.
- IDE: remove ipLoc logic.
- IDE: Setting jQM theme in project without jQM caused problems.
- IDE: Tweaks to Obfuscator.
- Samples: Pushwoosh updated.
- Samples: Storage updated - checks if already logged in.
- Subscriptions: App can now be used to resubscribe.
- Subscriptions: New app to Change your Credit Card.
- VoltServer: Improve Storage sample.
- VoltServer: Custom Domain support added.
- VoltServer: 'App Disabled' handling improved.
- VoltServer: Theme updated.
Version 6.2.4
- IDE: New (and powerful) obfuscator (Thanks, Paulo!)
- Controls: GoogleMaps now has API property.
- Controls: HTMLview: get rid of outline when scrolling not needed.
- Controls: jqxChart showLegend, enable and showToolTips fixed.
- Controls: Bootstrap Datatable scrollY can now be numbers or percents.
- Controls: Bootstrap Fliptoggle appears properly in iOS Disabled mode.
- Forms: Potential error on screenMode 'zoom' fixed.
- IDE: New users default to 320x360 absolute (not responsive).
- IDE: Links updated to new Web Board.
- Installer: Windows certificate updated.
- Internationalization: Updated language files.
- Runtime: EnableNiceLinks was not being set properly.
- Toolchain: Updated node files.
Version 6.2.3
- Forms: New ScreenMode property: Can be Full Screen, Actual Size, Center or Zoom. Useful for different screen sizes when app is not Responsive.
- Forms: fullScreen and centerScreen properties moved into screenMode.
- Controls: scrollbars:true removed from default scroll_options for several controls.
- Forms: % now allowed in width and height properties.
- Controls: BS Fliptoggle can now be disabled/enabled at runtime.
- Controls: Image control now hides overflow so rounded corners will work.
- Controls: Signature borders fixed.
- Controls: BS Button changeForm property was not working.
- Controls: jqxChart background color fixed.
- Forms: Problem with Modal forms fixed.
- Samples: New jqxChart sample with line graph: ChartLine.
- Samples: Pic2Shop bar code reading works on Android too.
- Samples: Remove "scrollbars:true" from sroll_options.
- Samples: RssFeed sample removed. Web service it uses no longer exists.
- Translator: Fix statements with embedded keywords, such as s = "a Chain"
Version 6.2.2
- Forms: New centerScreen property: Centers app on screen. Useful for different screen sizes when app is not Responsive.
- Forms: Add initial and inherit to position types.
- Controls: Audio: fix minor text formatting issue.
- Controls: BS Fliptoggle.disabled now works properly.
- Controls: BS Fliptoggle: Add primary to appearance types.
- Controls: BS Button blocklevel now works properly.
- Controls: jQM Select style now only affects current control.
- Samples: DataTables sample adds refresh data, highlight row/cols, toggle options at runtime.
- Samples: Fix responsiveness on Users sample.
- Translator: a["a b"] = 3 now works.
Version 6.2.1
- Runtime: New routing logic, based on Navigo. Used when enableBrowserArrows is true in Project Properties.
- Project Properties: New enableNiceLinks property. Gets rid of # in URL bar when enableBrowserArrows is true. Also needs to be set in Dashboard.
- Bootstrap: Select.text = "value" now works to select an item.
- Bootstrap: Input.disabled now works at runtime.
- Forms: Form.reset() no longer errors on BS Select.
- Samples: Modify options in GridWithScrolling and ListWithScrolling for Chrome < 56.
- VoltServer Dashboard: Updated to Version 1.0.4
- VoltServer Dashboard: New Nice Links feature. Eliminates # from URL when using browser arrows. enableNiceLinks in Project Properties also needs to be set.
- VoltServer Dashboard: New Framing option. Defines when your app can be used in a frame within another app.
- VoltServer Dashboard: New CORS option. Defines where Cross Domain access is allowed from.
Version 6.2.0
- Bootstrap: New DataTables control.
- jqWidgets: New jqxDropDownList control.
- Bootstrap: Apps with icons can run in offline mode.
- iScroll: Libraries updated to latest version.
- iScroll: Issues related to Chrome 56 should be resolved.
- iScroll: Code to patch around iScroll issue #674 removed - no longer needed.
- iScroll: HTMLView: overflow-y:scroll added to default options, to fix slow scrolling.
- iScroll: jqm List: scrollBars:true should be removed to prevent extra clicks.
- Samples: New DataTable sample.
- Samples: Updated samples for all which use scrolling.
- Documentation: Locale files updated.
Version 6.1.2
- About_Screen: Shows current subscription status
- Code Window: Fix problem with displaying function names.
- Controls: Bootstrap Input and Textarea can now set focus.
- IDE: Subscription status checked on startup - will give warning if expiring.
- VoltServer: 7 day grace period on expired subscriptions.
- VoltServer: Improve error message on bad password.
Version 6.1.1
- Preferences: New checkbox "Deploy on save?". In Advanced tab.
- Preferences: New "SFTP Key" field. Allows use of RSA private key for deployment.
- Project Properties: New "DashboardAccess" property adds ability to access your user's VoltServer data.
- Controls: Bootstrap Select now has text property which returns selected text.
- Controls: Rel option on YouTube control fixed.
- Samples: SignOn samples were reversed.
Version 6.1.0
- Controls: Stripe control updated - now easier to use.
- Controls: Input controls can now copy and paste to Clipboard.
- VoltServer: appStorage support added. Data for apps can be set by owner.
- VoltServer: serverStorage support added. Apps can save data on the server.
- Controls: Debugging added to Stripe control.
- Controls: Header.backgroundColor no longer gets translated.
- Dashboard: Can now examine and maintain appStorage values.
- Dashboard: Email provider can be selected in Email Plugin.
- Documentation: Wiki and internationalization files updated.
- IDE: Copyright dates set to 2017.
- Runtime: Print False now clears Print popup.
- Runtime: Print Cursor turns into pointer over close button.
- Samples: InputTwoNumbers renamed to AddingTwoNumbers.
- Samples: New Clipboard sample
- Samples: New VoltServer Storage sample
- Samples: Sending email added to VoltServer Signon sample.
- Samples: Stripe sample improved.
- VoltServer: Email provider can now be selected.
Version 6.0.7
- Controls: Input .value properties can now be edited with the popup editor.
- Documentation: Localization and offline Wiki updated.
- MakeEXE: Sample now executes Python snippets.
- Project Properties: New voltDomain property added.
- Samples: VoltServer SignOn has a new Send Email button.
- Samples: CameraToServer sample fixed.
- Samples: Libraries used by JSModeler updated. Thanks, Adrian!
- VoltServer: Can now be used from PhoneGap apps.
- VoltServer: Send Email API added.
Version 6.0.6
- Bootstrap: Alert no longer dismisses if nondismissible.
- Bootstrap: ID added to header element of input controls.
- Bootstrap: Input - Class property now applied to outmost wrapper.
- Bootstrap: Input control now styles inputType 'File' properly.
- Bootstrap: Input: add inputType of 'color'. Not supported by all browsers.
- Bootstrap: Textarea expands to fill stated height of the control.
- Controls: Modal form contents now have maxWidth of 90% of the form width.
- Controls: Modal forms now default to a zIndex of 1000, appearing above all others.
- jQWidgets: Checkbox - use onchecked event, not onclick.
- Libraries: AddToHomeScreen - revert to older version.
- MakeEXE: Libraries updated to making Windows exe files works again.
Version 6.0.5
- Bootstrap: Input control icon now part of the input element.
- Bootstrap: Input control made more responsive.
- Bootstrap: Input control now has leftText option.
- Bootstrap: Input control now works with password savers.
- Bootstrap: Input control now has color type. Not supported on all browsers.
- Controls: Automatically update old hidden properties.
- Controls: Problem with Grid style fixed.
- IDE: Open Project CSS added to the Project menu.
- jQM: TextBox control now has color type. Not supported on all browsers.
- jQM: Select control's hidden property fixed.
- Library: AddToHomeScreen updated for iOS 10.
- Library: jQuery Modal updated to 0.8.
- Samples: PhoneGapAPI sample is now in BASIC too.
- VoltServer: SignOn sample updated.
Version 6.0.4
- Bootstrap: .resize, .Top, .Left, .Width, .Height added to all controls.
- Bootstrap: Dropdown select area drawn better in Design Screen.
- Bootstrap: Fliptoggle (Bootstrap) - new control.
- Bootstrap: Input now has .files property for inputType file.
- Bootstrap: Panel - allow HTML in fields
- Code Window: Commit code changes before translation.
- Code Window: Override toolbox default language when needed.
- Controls: Label select area drawn better in Design Screen.
- Controls: hidden property is now a style, not an attribute. Some hidden settings may need to be refreshed.
- IDE: Bootstrap Theme Customizer added to Tools menu.
- iScroll: Zoom functions restored
- Project Properties: 'styleheaders' renamed 'projectCSS'.
- jQM: Improvements to List styling.
- jQW: hidden and style attributes now work for all controls.
Version 6.0.3
- Design Screen: Positioning logic improved for relative and static.
- Libraries: Google Drive added to Libraries - makes Google Drive easier to use.
- Controls: Bootstrap Dropdown selectable in Design Screen with static positioning.
- Controls: Bootstrap Slider: Use .control.value=x instead of .setValue(x)
- Controls: Common Grid style attribute fixed.
- Controls: jqWidgets DataTimeInput requires fastclick = false.
Version 6.0.2
- Bootstrap: New Slider control.
- Controls: Camera control rewritten so it works with Bootstrap. Delete and re-add the control.
- Design Screen: Responsive forms now use static positioning.
- Design Screen: jQM Checkbox and RadioButton samples render properly on Mac.
- Design Screen: Show warning if Bootstrap and jQuery Mobile controls used in same project.
Version 6.0.1
- Bootstrap Badge: Add a space to the left.
- Bootstrap Icons: Can now be added/changed at runtime.
- Bootstrap Jumbotron: Fix error when optional button removed.
- Bootstrap Jumbotron: HTML and multiple lines in value and header.
- Bootstrap Modal: HTML and multiple lines in value, header and footer.
- Code Window: Adding event to form does not also add it to Global code.
- Code Window: .xhtml is now an editable type.
- Container: .addChild function supported.
- Design Screen: Grandchildren can now be copied.
- Documentation: offline Wiki updated.
- Header: Buttons as children now work.
- Header: .addChild function supported.
- PlaySound() now has a volume option.
- jQM Checkboxes: problem with horizontal checkboxes fixed.
- jQM Collapsible: Can now be used as a container.
- jQM Select: Multi select added.
- jQM Select: setIndex was indexing incorrectly.
- Project Properties: New "Use strict" option does additional syntax checking, such as undeclared variables.
- Project Properties: Content Security Policy moved from PhoneGap. Add "connect-src".
- Runtime: Allow special characters in the code.
- Runtime: code.js is now obfuscated when that option is selected.
- Runtime: better error message when initializing undefined control.
- Samples: new PhoneGapSMS sample.
- ServerStorage deprecated.
- Translations: Arabic complete. (Thanks, Aya!)
Version 6.0.0
Version 6 has been released! Here's a list of what is new: All items are subject to change.
If you own a previous version of AppStudio, you need to buy the upgrade to use Version 6. You can do this from within the app or from our order form.
Until you have bought the upgrade, you can use AppStudio 6 in Demo mode for up to 30 days. Once you buy, your copy will convert automatically to the full version.
IDE - General
- Mac: AppStudio can now be executed by any user.
- Save preserves the entire environment, not just the app itself.
- View Menu: checkmarks are now updated properly.
- Copy and paste of Containers and Forms now gives controls unique names.
- License Agreement expanded to include VoltServer Terms of Service.
Code Window
- Code version bumped to 6. Projects will take longer to compile first time they are run.
- Statements with the word 'Declare' in them are translated properly.
- JavaScript: Property Window Event does not create new event handler if one exists.
- JavaScript: Shows all functions in the Functions window.
- Obsolete properties are being cleaned out of .nsx files in new code version. Keep a backup!
- BASIC indentation while editing improved.
Design Screen
- Copying a container now renames the children to unique names.
- Rotate screen refreshes properly.
- Adding a control in Responsive mode now only adds 'float:left;' if needed.
Toolbox
A lot of cleanup was done to controls. Refactoring was done in the Toolbox files to reuse common code and make controls more constant.
- All controls have new icons.
- AppStudio controls have purple icons.
- Attribute property is now an edit window.
- Container: New font and margin properties.
- Controls which act as Containers now have an addChild() function.
- Containers default to height of 'auto'.
- Image: New border and margin properties.
- Label: New border and margin properties.
- Label: Proper cursor now appears when hovering over control.
- Label: Width defaults to auto, based on actual text.
- New Header control. Simple, lightweight form header.
- New Stripe control. Accept Stripe payments in your app.
- New QRCode control. DIsplay QR Codes in your app.
- PictureBox: New color, font and margin properties.
- Property Files added for ToolBox Files. Recurring properties now easier to create and are more consistant.
- Property Files: Fonts, borders, colors and more are in property files.
- Property Files: Parts of Page.js moved into property files (exe, PhoneGap)
- ToolBox Files: new ! operator allows properties to be evaluated within properties.
Project
There are a number of changes to Project Properties. The most visible is that the user will no longer be asked if a new version of the app should be installed - it just happens, unless the newVersionWarning property is set to true. Setting FastClick to false will make your app smaller and a bit faster to load. Setting enableBrowserArrows to false will give your app a shorter URL.
- Properties: enableAppScrolling: needs to be true for jQM Swipe.
- Properties: enableBrowserArrows now defaults to false.
- Properties: Fastclick defaults to false. Most browsers don't need it anymore.
- Properties: New BootstrapPath property.
- Properties: New BootstrapTheme property.
- Properties: New contentSecurityPolicy property.
- Properties: New newVersionWarning property: If false, new version of your app simply loads in browser.
- Properties: 'theme' renamed 'jQueryMobileTheme'.
- Properties: StopOnError works properly at runtime.
Forms
- New Project: Form type added for Responsive Forms. Forces relative positioning.
- Properties: OpenMode behaves properly at runtime. (Set this one to false if your form appears incorrectly at startup.)
Runtime
- hfunc.js no longer uses eval() function.
- NSB.Print window closes more easily: tap anywhere on it.
- HTML command is deprecated.
- JavaScript functions string.startsWith and string.endsWith work on IE11.
- NSB.MsgBox custom buttons fixed on FireFox.
Preferences
- New VoltServer Tab added.
Deploy
We've reorganized how the project is written out when deployed. Operationally, everything works as before. When you open the project in the Chrome Debugger, you'll notice the differences. Your code is now in a file of its own called code.js. All the code generated by AppStudio stays in index.html. Any JavaScript code modules are kept as discrete files instead of being merged into index.html. The result is that it will be much easier to find your work in the deployed project. Load times for your app may go down due to caching.
We've also fully implemented https for all our web services.
- Deploy to VoltServer added.
- Manage your VoltServer App added.
- Sign-up/Sign-In into VoltServer added.
- Many changes to runtime code organization to make code more readable and easier to debug.
- All script tags are now in <head>.
- BuildStatus: Now defaults to same download location as previous time.
- Deploy to VoltServer Server now uses https.
- External scripts remain as external scripts: they do not get merged in main app.
- If obfuscation fails due to syntax errors, AppStudio recovers gracefully.
- JavaScript code modules are no longer merged in index.html, to make generated app easier to read and debug.
- Open app after local deploy fixed.
- Remove iOS startup image code - no longer supported in iOS.
- Unicode in deploy path should work now.
- User code is now deployed to its own module called code.js, loaded by index.html.
- Chrome Apps deprecated. Google is dropping support
- Deploy to Dropbox deprecated. Dropbox no longer will let you deploy apps from Dropbox folders.
PhoneGap
We've made a number of changes to make PhoneGap easier to use. The workarounds which were needed to deal with new features of PhoneGap or new browser requirements are now included. The new QR code on the BuildStatus screen is a big timesaver!
Changes to configxml will not be applied automatically. Grab a fresh configxml from a new project and paste it into your existing project to get all the latest features.
- 'No content-security-policy' warning no longer needs a workaround.
- New properties added so Status Bar workaround no longer needed.
- BuildStatus: Now displays QR Code to download directly to Android device.
- JDBC Plugin added for remote database access from Android devices.
- Names of icons and splashscreens normalized with PhoneGap docs.
- minVersion removed from configxml template.
- Patch to get rid of period PhoneGap puts at start of download filename.
- PhoneGapBarcode sample needs PhoneGap version set to cli-6.1.0
- Samples updated to latest PhoneGap specs.
- SplashScreen workaround no longer needed.
- Support for more screen sizes/densities added.
- Updated whitelist on all samples.
- Whitelist workaround no longer needed.
- Zeppelin supported for generating icons and splashscreens.
Bootstrap Framework
- Bootstrap is a modern, responsive framework. See Introduction to Bootstrap.
- All Bootstrap icons are deep purple.
- 24 new controls!
jQuery Mobile Framework
- All jQM icons are now orange
- Button: width defaults to auto, adjusts in size to text.
- For jQM swipe to work, Properties_Window#Project_Properties in Project Properties must be true.
- List: inconsistency in naming of value fixed. Always a string now.
- Select: Add country picker.
jqWidgets Framework
- All controls: Added WindowsPhone theme.
- jqWidgets icons are blue.
- jqwPasswordInput: Add missing icon.
- jqxComboBox: Add onselect event.
- jqxComboBox: Add some missing files to manifest.
- jqxDragDrop: fix disabled property.
- jqxListBox: add filterable and filterPlaceHolder properties.
- jqxScheduler: New control added.
Samples
- Ajax samples: paths to server simplified.
- BarCode: URLs updated.
- Bootstrap samples added.
- Compass sample now works on Android too.
- New DragAndDrop sample.
- New GetUserMediaCamera sample.
- New GoogleSpreadsheet sample.
- New HeaderBodyFooter sample.
- New PhoneGapUDP sample.
- New Print2PDF sample.
- New QRCode sample.
- New SelectCountry sample. Uses jQM Select control.
- New Stripe sample: Accept Stripe payments.
- New VoltServer Users sample.
- Samples no longer reference jQM Theme 'c'.
- ServerStorage: Sample removed.
- Signature sample fixed on Edge.
- VoltServer samples added.
Documentation
- Wiki updated for Version 6.
- Translation files updated.
- Slovenian is complete. (Thanks, Oton!)
- Thai is complete (Thanks, Theprasit!)
- Turkish is complete (Thanks, Bahattin!)
- Romanian is complete (Thanks, Mircea!)
- German is complete (Thanks, Bernd!)
- Spanish is complete (Thanks, Mario!)
- Portuguese is complete (Thanks, Ricardo!)
Internals
- All of our websites now support https:
- App and License folders reorganized.
- Code signing certificate updated.
- Copyright changed to 2016.
- DropDMG (used to build Mac Installer) updated to 3.4.
- iScroll updated to 5.2.
- Wx updated to 3.0.
Breaking Changes
- HTML command deprecated. You can't put blocks of HTML in the middle of your code anymore. There are better ways to do this.
- Projects saved in AppStudio 6 cannot be opened in AppStudio 5. Keep a backup!
- If you want to return to AppStudio 5, do an uninstall of AppStudio 6 before installing AppStudio 5.
- The first time you deploy your AppStudio 6 app to your server, do a Full Deploy so all the updated files get copied.
- Chrome Apps deprecated. Google is dropping support
- Obsolete properties are being cleaned out of .nsx files in new code version. Keep a backup!
- Deploy to Dropbox deprecated. Dropbox no longer will let you deploy apps from Dropbox folders.