Version 7

From NSB App Studio
Revision as of 12:31, 1 August 2019 by Ghenne (talk | contribs) (→‎Version 7.4.1)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Major New Features

  1. Multifile Projects: We've reorganized how projects are saved. The main .project file just contains values for project properties. All code, HTML and other text entities are now stored as separate folders and files.
  2. One Project Per Folder: All files for a project are now stored in one project folder. Two projects cannot share a folder. (If you need to share files between project, use symbolic links.)
  3. Bootstrap 4 support added. See what's different from Bootstrap 3.
  4. GitHub Support: AppStudio projects are now GitHub compatible.
  5. Version control: You can now use git (or other utility) for version control.
  6. Team Development: The combination of Multifile and GitHub allows a team of developers to work on the same project.
  7. External Editing: Having all code, HTML, etc. in separate files allows the use of other editors.
  8. Toolbox reorganized: All framework related files are now in folders for that framework.
  9. Eslint: Advanced syntax checking for JavaScript in the Code Window.
  10. Internationalization lets your app work in multiple languages.
  11. PDF files: You can make PDF files from your forms for emailing, etc.
  12. Validation allows you to automatically check the contents of forms.
  13. node.js can now be used in AppStudio projects.

Upgrading

If you have AppStudio 6 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 7.4.2

  1. PhoneGap: If phoneGapVersion not specified, defaults to cli-9.0.0
  2. PhoneGap Samples: All samples are now compatible with cli-9.0.0

Version 7.4.1

  1. BS4 Navs: Fix what happens when clicked
  2. BS4: Input and Textarea can also be set using .value
  3. BS4: Textarea sizes to actual size of control
  4. BS4: Radiobutton: Inputmode property not needed
  5. BS4: Checkbox gives better message when index is out of range
  6. Deploy: Electron 5 is now supported
  7. Installer: Restore registry settings for Internet Explorer
  8. jqWidgets Grid: Clean up usage of ready property (was causing errors)
  9. jqWidgets: New jqWidgetsLicence property
  10. PWA: Some versions of IE do not support Let
  11. PWA: Allow for blank icon name
  12. PWA: Don't put double quotes in the description
  13. PWA: Phase out some of the logging
  14. Run menu: Fix Run Electron menu item
  15. Samples: Use Bootstrap 4 controls instead of jQuery Mobile
  16. Samples: Compass now handles multiple ondeviceorientation events
  17. Samples: Fix old bug in GridNorthwind which caused error on split()
  18. Samples: GridWithScrolling did not have BASIC version
  19. Samples: jqWidgets Grid sample did not have JavaScript version
  20. Samples: New WebShare sample
  21. Wiki: Use JavaScript/BASIC tabbed control to show sample code more clearly.
  22. Wiki: Update offline edition

Version 7.4.0

  1. PWA: Progressive Web App caching replaces Application Cache
  2. PWA: New manifest.json property
  3. BS4: Add link to Bootstrap 4 Theme Customizer: Bootstrap.Build
  4. BS4: Card display options now shown for text fields
  5. BS4: Card Footer can now be styled
  6. BS4: Datatable: recover gracefully if no value for lengthMenu
  7. BS4: Hamburger has a title when you hover over icon
  8. BS4: Select was emitting an extra character
  9. Deploy: Babel option removed.
  10. Deploy: Lighthouse now supported.
  11. Deploy: MakeEXE stuff removed - replaced by Electron
  12. Deploy: old Application Cache removed
  13. jQM: Error in List control fixed.
  14. Project: MakeExe properties removed (obsolete)
  15. Project: Properties removed: newVersionWarning, iconAndroid, exeicon, manifestFile, ManifestName

Version 7.3.3

  1. Controls: Allow multiple GoogleMaps in one project
  2. Deploy: png files were sometimes being translated to .js.
  3. Electron: Fix already declared variable.
  4. Installer: Installer enhanced for new MacOS requirements
  5. Project Properties: manifest has been renamed extraFiles. It still works the same way.
  6. PWA: infrastructure roughed in - not usable yet
  7. Runtime: Add HTML lang attribute (For Lighthouse)
  8. Runtime: Add meta description and theme-color (for Lighthouse)
  9. Runtime: Fix error in SQLite error handling
  10. Runtime: Improvements for Google Lighthouse audit
  11. Samples: Add BASIC library to some samples which need it.
  12. Samples: New PhoneGapZebraPrint sample, showing Bluetooth printing.
  13. Samples: PhotoGallery updated

Version 7.3.2

  1. IDE: Web Assembly modules now supported.
  2. BS4: datalist property added to Input control.
  3. BS4: inputmode property added to Input and Textarea controls.
  4. BS4: Dropdown and Hamburger: items can now be disabled, active or a heading.
  5. BS4: Input now allows quote characters in placeholder property.
  6. Deploy: .wasm files dragged into the Project Explorer will be properly deployed.
  7. Documentation: Wiki updated.
  8. IDE: Allow unicode characters in css files added to the project.
  9. IDE: Link to icon/splashscreen utility updated - old provider ceased operations.
  10. Libraries: The BASIC functions library can be added to JavaScript apps.
  11. JavaScript: The format() function is usable without needing BASIC.
  12. Register: Correct server path

Version 7.3.1

  1. BS4: Alert: Allow multiline value
  2. BS4: Label.text can be used - same as Label.value.
  3. BS4: Select control: value of 0 now works properly.
  4. BS4: Warning if mixed BS3 or jQM controls when control added.
  5. Deploy: Pure JavaScript apps no longer include BASIC functions (smaller deploy)
  6. Deploy: hfunc.js split into appstudioFunctions.js and basicFunctions.js
  7. IDE: Change company branding
  8. IDE: Change links to appstudio.dev
  9. IDE: Save As with manifest file set to "nocache" fixed.
  10. IDE: Update slogan
  11. Installer: Better method of loading tkinter.
  12. jQM: jqmList now includes fastclick.js in the project.
  13. Register: Improve "need to update" message.
  14. Samples: ElectronWeather updated.
  15. Samples: Improve button appearance in Datatables sample.
  16. Toolbox: Some autocomplete hints fixed.
  17. Wiki: Offline wiki updated with latest docs
  18. Wiki: Offline search fixed.

Version 7.3.0

  1. AppStudio can now build native apps for Windows, MacOS and Linux.
  2. Node and npm can now be used. Over 750,000 modules available.
  3. Electron support added.
  4. BS: Input icon can now be clicked on.
  5. BS3: Updated to Bootstrap 3.4.1
  6. BS4: Switch.text can be used to get and set text of switch.
  7. BS4: Updated to Bootstrap 4.3.1
  8. Docs: Using Node and Electron to build Desktop Apps
  9. Project Explorer: Allow files in project root to be dragged into Project Explorer.
  10. Run: Make Windows Executable (EXE) has been removed.
  11. Run: Package for Distribution using Electron has been added.
  12. Runtime: FastClick has been turned off.
  13. Samples: BS3 Hamburger: Label was hiding Hamburger.
  14. Samples: execPython removed.
  15. Samples: New ElectronWeather sample.
  16. Windows: installer rebuilt using pyInstaller 3.4

Version 7.2.2

  1. Controls: New CSSGrid and CSSGridItem controls.
  2. Documentation: Wiki updated with new controls.
  3. Documentation: Bootstrap 3 vs Bootstrap 4 doc improved.
  4. BS4: New link to preview icons.
  5. BS4 Card: new imageWidth property added.
  6. BS4 Switch: bug fixed - no size option.
  7. Installer: Windows signing certificate updated.
  8. Samples: New CSSGrid sample.
  9. Samples: Volt Storage sample - fix to password check.
  10. Icons: Update link to point to https://www.nsbasic.com/app/OpenIconic.html

Version 7.2.1

  1. BS4: New Toast control
  2. BS4: Select: No longer creates empty values for item
  3. BS4: Updated Bootswatch themes
  4. BS4: Switch: New Bootstrap native Switch replaces of Titatoggle's Fliptoggle.
  5. Code Windows: Markdown (.md) files can now be edited.
  6. Deploy: loadType is now implemented.
  7. Deploy: new loadType: noload
  8. IDE: eslint dialog is reused (so there are never two visible at once)
  9. IDE: Project CSS is now marked up as CSS.
  10. IDE: Rare project corruption issues fixed - now it self fixes.
  11. IDE: Update copyright to 2019
  12. Project Explorer: Files can now be dragged and dropped. Will be deployed to the project's root directory.
  13. Project Explorer: Folders can now be dragged and dropped. Will be deployed to the project's root directory.
  14. Samples: Volt users - bug fixed in password check.

Version 7.2.0

  1. BS4: i18n support added to iconFeedback descriptions.
  2. BS4: Select: text property added.
  3. BS4: Select: value property changed to contain an index value.
  4. Common: Container (and other controls) no longer get error on .addChild()
  5. Installer: MacOS installer is now fully code signed.
  6. Installer: MacOS now built using PyInstaller 3.4.
  7. jqW: jqWidgets 7.0 is supported.
  8. Runtime: Delay on starting app in local browser in MacOS Mojave fixed.

Important!

  • Please note that the changes to BS4 Select will break code in some cases. See blog post.
  • The newly signed AppStudio may hang the first or second time it is run. Just restart it.

Version 7.1.0

  1. BS4 Dropdown: Outline button option added.
  2. BS4 Dropdown: Icon was not showing in some cases.
  3. BS4 Hamburger: Outline button option added.
  4. BS4 Jumbotron: Outline button option added.
  5. BS4 Label: Appearance defaults to 'primary'.
  6. BS4 Listgroup: Appearances adds primary, secondary, light and dark options.
  7. BS4 Listgroup: Icons property added.
  8. BS4 Select: fontsize of select option is now same as title.
  9. BS4 Select: Icon was not appearing.
  10. BS4 Textarea: fontsize of body is now same as title.
  11. BS4: New themes: lux, materia, minty, pulse and solar.
  12. BS4: Upgraded to Bootstrap 4.2.1.
  13. BS4: You can now specify the text which appears when hovering over an icon.
  14. IDE: Copyright changed to 2019.
  15. jqW: jqxGrid - problem with column property fixed.
  16. Samples: Flexbox sample improved.
  17. Samples: Labels sample renamed to Label.
  18. Translator: Fix translation of Const.
  19. Volt: Upload limit increased from 50 megs. Keeping it under that size is strongly recommended.

Version 7.0.4

  1. Controls: BS4 Label has new LabelStyle and borderRadius options.
  2. Controls: DataTable now includes extensions, including buttons, responsive, scroller and fixedHeader.
  3. Controls: Flexbox properties added the Container, Header, GridRow and GridCol.
  4. Controls: New FlexBox control makes layout easier.
  5. PhoneGap Status: Closes instead of hiding behind AppStudio when file is selected.
  6. Properties: Problem with calc (used in bounds) and 'vh' fixed.
  7. Samples: New BS4 Labels sample.
  8. Samples: New FlexBox sample.
  9. Samples: Validation sample updated.
  10. Translator: Const is now translated properly from BASIC.

Version 7.0.3

  1. Deploy: Babel option transpiles code for compatibility with other browsers.
  2. Properties: New project properties to control Babel.
  3. Deploy: Problem importing .bas files fixed.
  4. Preferences: New preference for auto save on run. Defaults to true.
  5. PhoneGap Status: Can no longer be started more than once.
  6. MakeEXE: Default AppStudio icon used if none supplied.
  7. eslint: Icon added to top of Code Window for JavaScript.
  8. eslint: Always bring the window to the front when invoked.
  9. eslint: Close window if new code in Code Window.
  10. Properties: Implementation of enableAppScrolling updated for Android Chrome.
  11. BS: form.reset() now works on Bootstrap (3 and 4) controls.
  12. BS4 Label: Appearance property fixed.
  13. BS4 Buttons have a new toggleControl option to hide/show another control.
  14. BS4 Modal: Values can now be set using HTML, not just text.
  15. jqxPhotoGallery: Editor window now appears for editing photos property.
  16. jqxScheduler: Add a couple of missing icons.
  17. jqxScheduler: Sample improved.

Version 7.0.2

  1. Controls: jqxGrid: Problem with 'ready' property fixed.
  2. Deploy: Problem with Obfuscation fixed.
  3. Design Screen: MsgBox errors no longer display.
  4. Design Screen: Remove "Settings" from Add Control list.
  5. IDE: Export of external files fixed.
  6. Language files updated.
  7. Samples: BS4 Input fixed.
  8. Samples: Leaflet updated to use the latest libraries.
  9. Samples: StockQuote removed. Yahoo deprecated the API which it used.

Version 7.0.1

  1. Language files updated. Arabic, Portuguese, German and Spanish complete. (A few more are almost done.)
  2. Save As: Some redundant files and folders no longer created.

Version 7.0.0

Here's a list of what is new!

If you own a previous version of AppStudio, you need to buy the upgrade to use Version 7. You can do this from within the app or from our order form.

Until you have bought the upgrade, you can use AppStudio 7 in Demo mode for up to 30 days. Once you buy, your copy will convert automatically to the full version.

IDE - General

  1. Only changed files are written out on save - saving is faster.
  2. App's 'description' property shows in the Help Window when Project Properties is selected.
  3. Hidden non-modal windows can be brought to front using the View menu.
  4. Script windows now show the title of the property being edited.
  5. New obfuscation property for Code Modules

Code Window

  1. JavaScript syntax can be checked with a right click. Uses eslint with the AirBNB Style Guide.
  2. Format Code now uses the correct indent setting from Preferences.
  3. JavaScript arrow functions now appear in the Toolbox panel.
  4. JavaScript myFunc = function() functions now appear in Toolbox panel.
  5. Switching between tabs made faster.
  6. Project CSS now opens in the Code Window.

Design Screen

  1. Rendering is now twice as fast. Noticeable in big projects.
  2. Selection now works after screen rotation.
  3. Right click in Design Screen allows selection of any control under that point.

Project Explorer

  1. Cut, Copy, Paste added to right click on Project Explorer.
  2. Drag and Drop to Project Explorer window works. Files are copied into the project and put into the 'includes' folder.
  3. Firstform now only displays actual forms in picker.
  4. Project Explorer now scrolls to show item selected in Design Screen.

Libraries

  1. Dropbox Datastores removed - no longer supported by Dropbox.
  2. fastclick.js is now stored in the Libraries folder.
  3. i18n added. Lets your app work in multiple languages.
  4. iScroll.js is now stored in the Libraries folder.
  5. jquery-validation added. Check the values of input fields automatically.
  6. jquery.modal.js is now stored in the Libraries folder.
  7. SpinningWheel removed - obsolete.

Toolbox

  1. Bootstrap 4 framework added.
  2. Container: Add children directly to the control, not a contained DIV. Good for Bootstrap.
  3. AS controls: Redundant 'hidden' attribute removed.
  4. Toolbox Files: New !g suffix. Combines multiline statements.
  5. Toolbox Files: New {eval expression} operator. Allows expression evaluation.
  6. Toolbox Files: Anything which looks like a list is converted to a string.
  7. Toolbox Files now end in .json, not .js.
  8. Toolbox Files: New _jqmInUse variable. Set to true if jQuery Mobile in use.
  9. All controls: removed unneeded data-role=none attribute.
  10. All controls: files are now in folders by framework.
  11. All controls: Unneeded references to jQuery removed.
  12. All controls: New 'display' property. Can be block, none, etc.

Project

  1. Projects are saved one (and only one) project per folder.
  2. New project folders have a .appstudio suffix: Project1.appstudio
  3. Project files are now .project, not .nsx.
  4. Unused 'hiddenHeaders' property removed.
  5. Obsolete 'framework' property removed.
  6. Open Project: Click on Open button on Project.appstudio folder and the project will open.
  7. DefaultFormSize: Option for 800x1200 added.
  8. Project CSS now opens in the Code Window.

Forms

  1. Form.reset() now clears subforms and other controls.

Runtime

  1. Bootstrap 4 functions are processed using Babel for IE compatibility.
  2. ECMA5: Some declarations fixed for standard.
  3. Generated code: Control bounds of 'auto' no longer output - code is smaller.
  4. jQuery: The latest version of jQuery 3 is used, except for jQuery Mobile projects, which are stuck with jQuery 2.
  5. loadType: new property sets how each external JavaScript file is loaded.
  6. Octal notation: now works properly in numbers.
  7. Snackbar(message, actionText, action): New function added.

Preferences

Deploy

  1. close.png was not being used, so is no longer deployed.
  2. Projects deployed to Volt have a maximum size of 50 megs.
  3. Obfuscation was being called twice, slowing down Deploy.
  4. Deploy to Server when it isn't defined yet is now handled gracefully.

PhoneGap

  1. configxml: In whitelist, sets allow-intent to a default value. Allows mailto:, tel:, etc.
  2. PhoneGap Status screen: Improved error messages.
  3. PhoneGap Status screen: No longer modal, so you can keep working while watching status.
  4. Version: Now defaults to cli8.0.0. Icons and splashes are now required.
  5. WinPhone: option deleted. No longer supported by Microsoft.

Frameworks

AppStudio

  1. All of the AppStudio controls are now stored in the Toolbox in a folder named 'as'.

Bootstrap 4

Bootstrap 4 has been added as a new Framework. It should be used for new projects, though Bootstrap 3 still appears and works fine. You cannot use BootStrap 3 and 4 in the same project - they conflict.

  1. Icons: Uses open-iconic icons instead of Font Awesome. Important differences are listed here.
  2. Themes: 6 new themes.
  3. Hamburger: Remove default value for background color.
  4. Dropdown: 'filter' feature added.

Bootstrap 3

  1. FlipToggle, Image, Media, Slider and Thumbnail: File dependencies corrected.
  2. Select: 'undefined' no longer appears in definition.

Common

  1. Header: Now always positions in top left of form.
  2. Line, ProgressBar: Redundant properties removed.
  3. Signature: Redone. Works on PhoneGap, has variable line thickness.

jQuery Mobile

jQuery Mobile has gone yet another year without a new release - not even for maintenance. It's looking pretty dead. This framework is not recommended for new projects.

  1. Collapsible: Now properly identified as a jQM14 control. Breaking change - you will need to delete and add back to your project any Collapsible controls you are using.
  2. Select: selectedItem() and selectedValue() no longer have error is no items on list.

jqWidgets

  1. All controls: Cleaned up use of _base.
  2. jqxDateTime: now works with latest jqWidgets.
  3. jqxDragNDrop: now works with latest jqWidgets.
  4. jqxLinearGauge: New control
  5. jqxScheduler: added agendaView, other tuneups.
  6. jqxTree: now works with latest jqWidgets.

BASIC

  1. New Const keyword for declarations.
  2. VarType(false) now returns the correct value.

Samples

  1. All: Converted to new save format.
  2. All: Lots of fixes and updates.
  3. Bootstrap 4: All controls have new samples.
  4. i18n: New sample shows how Bootstrap 4 apps can be in multiple languages.
  5. Office365: New sample shows how to use the Microsoft Graph API to read data from Office 365.
  6. Open Sample: Error when closing an item fixed.
  7. PhoneGapBarcode: New sample scans barcodes.
  8. PhoneGapMail: New sample emails current Form.
  9. PhoneGapReceiveSMS: New sample.
  10. Snackbar: New sample.
  11. Validation: New sample.

Documentation

  1. Wiki: http issues resolved
  2. Wiki: updates with some new docs, more on the way
  3. Internationalization: Translation files are being updated by the translators.
  4. TechNotes: New note on GitHub.

Internals

  1. Code Signing certificate updated.
  2. Node updated to Version 8.

Breaking Changes

  1. Collapsible: Now properly identified as a jQM14 control. You will need to delete and add back to your project any Collapsible controls you are using.
  2. jqxScheduler: The views property must be an array. Examples: ["monthview"] or ["dayview", "weekview", "monthview", "agenda"]