Wakanda Studio Changelog

What's new in Wakanda Studio 2.1.0

Jan 31, 2018
  • Fix: Studio cannot start Server if its path contains space character.

New in Wakanda Studio 2.1.0 (Jul 6, 2017)

  • NodeWorkers now are based on NodeJS v6.10.2 LTS
  • New server module Threadify included in the server https://github.com/Wakanda/threadify
  • SystemWorker API can now emulate a terminal
  • Admin UI Jobs now run inside of a NodeWorker
  • Enterprise feature: setLogListener() API
  • Add compute() controlMethod to Virtual DataClass
  • No need to declare controlMethods with default or inherited behaviour for Virtual DataClass
  • Better placeholders handling for db drivers
  • Fix: getUserSessions() date Wakanda/wakanda-issues#168
  • Fix: crash when using forEach() V8 garbage collector Wakanda/wakanda-issues#167
  • Fix: Describe issue
  • Fix: Untie describe & read model permissions
  • Fix: alias attribut not updated when related attribut is Wakanda/wakanda-issues#148
  • Fix: forEach and toArray slower in wakanda v2.0 than v1.1.4 on 4D MOBILE
  • Fix: getTimestamp returns a wrong value on 4D MOBILE
  • Fix: query with NULL value on 3rd level relations for MySQL Pro Connector

New in Wakanda Studio 2.0.3 (Apr 19, 2017)

  • Fix: [Server] Linux service cannot start after a reboot
  • Fix: [Server] Unparsable CS-URI* fields in HTTP logs
  • Fix: [MySQL Connector] Save Bool with null value
  • Fix: [Virtual Model] Init event triggered twice
  • Fix: [Oracle Driver] Blob and Dates Type
  • Fix: [Studio] lack of visual feedback during package installation (Angular4 & Ionic2)
  • Fix: [Studio] no more brew install android-sdk
  • Fix: [Studio] focus issue on Windows 10 & macOS Sierra for dialogs with webviews

New in Wakanda Studio 2.0.2 (Apr 13, 2017)

  • Fix: Installer cannot update a previous installed version.

New in Wakanda Studio 2.0.1 (Apr 10, 2017)

  • Git : disable diff on removed files
  • Fix: Studio becomes unresponsive for a while if git UI is open and a run solution is performed on Angular2

New in Wakanda Studio 2.0.0 (Apr 5, 2017)

  • Important:
  • On all platforms : remove any extensions you have in Documents/Wakanda/Extensions/
  • New SSJS APIs:
  • NodeWorker https://wakanda.github.io/doc/#/guide?section=main-workers-node
  • setLoginManager https://wakanda.github.io/doc/#/guide?section=main-auth-custom
  • How to use the new admin dashboard (Enterprise Only):
  • https://wakanda.github.io/doc/#/guide?section=main-admin
  • Removed APIs:
  • addHttpRequestHandler & removeHttpRequestHandler replaced by httpServer.addRequestHandler & httpServer.removeRequestHandler
  • currentUser & currentSession replaced by directory.currentUser & directory.currentSession
  • createUserSession replaced by directory.createUserSession
  • directory.setLoginListener replaced by directory.setLoginManager (not the same APIs)
  • getSession() replaced by directory.getSession()
  • getUserSessions() replaced by directory.getUserSessions()
  • loginByKey() replaced by directory.loginByKey()
  • loginByPassword() replaced by directory.loginByPassword()
  • logout() replaced by directory.logout()
  • setCurrentSession() replaced by directory.setCurrentSession()
  • solution.quitServer() removed for security reasons

New in Wakanda Studio 2.0.0 Beta (Mar 17, 2017)

  • New SSJS APIs:
  • NodeWorker https://jegoyann.github.io/wakanda-server-doc/#/doc/threads/node-worker
  • setLoginManager https://jegoyann.github.io/wakanda-server-doc/#/doc/authentication/custom
  • Removed APIs:
  • addHttpRequestHandler & removeHttpRequestHandler replaced by httpServer.addRequestHandler & httpServer.removeRequestHandler
  • currentUser & currentSession replaced by directory.currentUser & directory.currentSession
  • createUserSession replaced by directory.createUserSession
  • directory.setLoginListener replaced by directory.setLoginManager (not the same APIs)
  • getSession() replaced by directory.getSession()
  • getUserSessions() replaced by directory.getUserSessions()
  • loginByKey() replaced by directory.loginByKey()
  • loginByPassword() replaced by directory.loginByPassword()
  • logout() replaced by directory.logout()
  • setCurrentSession() replaced by directory.setCurrentSession()
  • solution.quitServer() removed for security reasons

New in Wakanda Studio 1.1.4 (Mar 9, 2017)

  • Server:
  • Fix: session manager feature not enable when server runs as a service
  • Fix: service parameters not handled

New in Wakanda Studio 1.1.1 (Oct 25, 2016)

  • Studio:
  • Fix : project settings editor rejects valid CORS hostname configuration
  • Fix : project settings editor : on mac we loose the focus while typing values in input text
  • Server:
  • Fix : now you can reference a file found on the solution level (in the same folder as the waSolution) as project bootstrap
  • Fix : wrong real number conversion to long

New in Wakanda Studio 1.1.0 (Sep 20, 2016)

  • Studio:
  • [Web] Support of Angular 2
  • [Mobile] Support of Ionic 2
  • [Web & Mobile] New navigation and address bar in the Preview panel
  • [Web & Mobile] Better overall user experience
  • [Studio] Open folder in Terminal
  • [Studio] New web and mobile template catalog for project creation
  • [Studio] New preferences: auto-shutdown server on solution close and auto-reload modified files
  • [Studio] Better support of Retina displays
  • [Studio] Better support of multiple displays
  • [Code Editor] Comments toggling with CMD-/ and CTRL-/
  • [Code Editor] Better support of .ts .less, .scss, .sass and .md files
  • [Git] Remote settings edition
  • [Git & Deploy] Better overall user experience
  • [Add-ons] Improved updatability of Studio components and dependencies mechanism
  • [Extensions API] New option for targets argument in Extension manifest to handle files based on their extension
  • Fix: Wakanda Studio deployment UX issue #15
  • Fix: TAB key shows completion list instead of indenting code
  • Fix: Prototyper css files not updated automatically
  • Fix: Prototyper unreachable Google fonts API
  • Fix: UI freeze #86 #90
  • Server:
  • [Directory] [Enterprise] Override the default session management by using the directory.setSessionManager API
  • [Directory] Add Time To Live option to createUserSession()
  • [HTTP Server] httpServer.request and httpServer.response to access current thread's request/response objects
  • [Services] applicationWillStop called before Workers are closed (SO discussion)
  • [HTTP Server] Add/Remove HTTP Request Handlers via the global httpServer object using addRequestHandler and removeRequestHandler
  • [Directory] currentUser and currentSession available from directory global object
  • Fix: [XHR] Sending a file with a PUT request will result in a POST request #84
  • Fix: [XHR] PATCH method not allowed
  • Fix: [XHR] UTF-8 used when sending Blob
  • Fix: [HTTP Server] Body sent when using HTTP method OPTIONS
  • Fix: Bad debian package quality (Ubuntu Software Center)
  • Fix: required.js not working on Linux #36
  • Fix: WebSockets high CPU & memory consumption
  • Fix: CORS does not work if port 80 is specified in the domain list #42
  • Fix: Debugger does not break on uncaught exceptions
  • Fix: [Data Layer] find() method does not find entity inside transaction #53
  • Fix: [Data Layer] __STAMP not updated on entity.$_entity.serverRefresh() #43
  • Fix: [Data Layer] QueryPlan in REST API
  • Fix: [Data Layer] Session Life time not updated with Remote WAK/4D
  • Fix: [Data Layer] Mirroring Check existing PK
  • Fix: [Data Layer] Compact Index Corruption
  • Fix: [Data Layer] ToArray() 1> N relations

New in Wakanda Studio 10.181645 Production (Apr 9, 2015)

  • Highlights:
  • Export data in JSON or SQL format as well as import data in JSON format. Improved auto-complete functionality in the Code Editor.
  • Manage data from your AngularJS application hosted on Wakanda Server. Wakanda Shell: a new command line tool for Wakanda.
  • Publish a Wakanda solution on the cloud.
  • Powerful new behaviors for Custom Widgets.
  • DeOine dependent widgets for your custom widget.
  • Lock and unlock entities on demand when accessing the data. New attribute type: Object

New in Wakanda Studio 9.171536 Production (Nov 11, 2014)

  • New Add-­‐ons Extension to install custom themes, widgets, and extensions in
  • a particular project as well as install modules directly in Wakanda Studio.
  • Use generic CSS classes for Custom Widgets.
  • Customize how your code appears in the Code Editor.
  • Handle client WebSocket connections on the server.
  • Powerful new behaviors for Custom Widgets.
  • New backup settings.
  • Run Wakanda Server on port 80 for Linux users.
  • Create virtual folders and deNine Web resources for your project.
  • Retrieve information about your project’s JavaScript context pool.

New in Wakanda Studio 8.160125 Production (Apr 25, 2014)

  • Two new APIs to assist you in developing a custom widget as well as interacting with it at runtime.
  • More control for HTTPS connections to your projects Improved contextual menus in the Solution Explorer Greater accessibility for Wakanda Studio Extensions Ability to save a BLOB to disk using REST Customizable HTTP error pages
  • An SSJS module to compute md5 and sha1 digests
  • A Windows-only utility to help you to monitor your Wakanda Servers

New in Wakanda Studio 8.157470 Stabilization (Mar 21, 2014)

  • Two new APIs to assist you in developing a custom widget as well as interacting with it at runtime.
  • More control for HTTPS connections to your projects
  • Improved contextual menus in the Solution Explorer
  • Greater accessibility for Wakanda Studio Extensions
  • Ability to save a BLOB to disk using REST

New in Wakanda Studio 7.152232 Production (Mar 21, 2014)

  • New organization of methods, events, and calculated scripts for your model, Shut down your server separately from the solution,
  • Debug your pages automatically,
  • Define which attribute to sort your relation attribute datasource,
  • Set up a primary key for your array datasources,
  • Optimized caching for images and BLOBs in the datastore,
  • Interface to define the adaptive cache for your solution, and
  • Log into a Wakanda solution that is in Admin Access mode via Wakanda Server Administration.

New in Wakanda Studio 7.148060 Beta (Nov 21, 2013)

  • Important features:
  • New organization of methods, events, and calculated scripts for your model, Shut down your server separately from the solution,
  • Debug your pages automatically,
  • Define which attribute to sort your relation attribute datasource,
  • Set up a primary key for your array datasources,
  • Optimized caching for images and BLOBs in the datastore,
  • Interface to define the adaptive cache for your solution, and
  • Log into a Wakanda solution that is in Admin Access mode via Wakanda Server Administration.

New in Wakanda Studio 6.147688 (Nov 21, 2013)

  • Wakanda 6 introduces many new features of which the most important is the new WD2 (Wakanda Dynamic Delivery), a dynamic, package-based loader for Wakanda Pages. As a result, your Pages load quicker because they contain only the libraries you need for your Page to run.
  • In Wakanda 6, you can also benefit from the following features:
  • duplication of an existing theme,
  • copy and paste between pages,
  • new extensions for the Video widget,
  • enhanced z-Index control for your widgets,
  • keyboard shortcuts to quickly access widgets in the list, CommonJS unit testing,
  • improved auto-completion in Wakanda’s Code Editor, evaluate a JS script using a command line, and
  • a new virtual file system.

New in Wakanda Studio 3.120254 Beta (Oct 16, 2012)

  • GENERAL:
  • Optimization for Macintosh version: Wakanda is Gatekeeper compatible and has been optimized to work on Retina displays.
  • HTTP Server now redirects the appropriate view of the Page based on the new Page architecture.
  • IPv6 support for HTTP Server.
  • SOLUTION MANAGER:
  • New architecture for files and folders created for solutions and projects.
  • New SSL/TLS support based on placing the security certificates in a “Certificates”
  • folder at either the solution or project-level.
  • Ability to define an active DataFolder for a project.
  • Hierarchical view enhancements in the Solution Explorer.
  • DATASTORE MODEL DESIGNER:
  • Improved ergonomics and esthetics in the Datastore Model Designer.
  • GUI DESIGNER
  • New Page architecture that supports desktop, tablet, and smartphone views.
  • Improvements in the Outline when selecting widgets on the page.
  • New “Hide widget on load” property.
  • New properties for Containers used on tablet and smartphone views.
  • Improved management of views in the Navigation View widget.
  • New GoogleMaps v3 widget.
  • Ability to create an RPC module directly from the Page properties panel.
  • Touch events for all widgets.
  • Improvements to the Navigation View and File Upload widgets.
  • New options to hide the header and footer for the Grid widget.
  • Enhancements to the Chart widget.
  • CODE EDITOR:
  • Improved management of tabs in the Code Editor. Managing soft and hard tabs as well as the ability to tabify and untabify selected lines.
  • Ability to add color and parenthesis highlight preferences.

New in Wakanda Studio 2.115958 (Oct 16, 2012)

  • SECURITY:
  • The authentication system has been updated and the behavior of the default Admin and Debugger groups has been modified. For more information, refer to the "Configuring Admin and Debug Access Control" chapter in the "Data Security and Access Control" manual.
  • New to build 115958 SOLUTION MANAGER
  • New editors were created to edit the Solution Settings and Project Settings.
  • DATASTORE MODEL DESIGNER
  • New Allow Global Access option for the model and each datastore class. This option, which is deselected by default, allows you to publish all or part of your model globally. When a datastore class is defined as being accessible globally, you can reference it without including the “ds.” prefix.
  • Updated interface and improved error handling.
  • New On Restricting Query event for a datastore class.
  • New Allow Stamp Override property for a datastore class.
  • Added security for datastore classes and datastore class methods.
  • Inheritance mechanism for attributes and methods of derived datastore classes.
  • GUI DESIGNER
  • New Desktop widgets: Chart, Tab View, Dialog, WYSIWYG Editor, File Upload, Icon, Image Button, Canvas, Frame, Video, and Calendar.
  • New External widgets: Google Maps and Yahoo! Weather.
  • Image Button widget allows for four-state sprites.
  • Additional elements and states were added to many of the widgets, e.g., Menu Bar,
  • Menu Item, and Matrix, in the Styles tab.
  • Better styling capabilities, icon support, and inline creation of the Menu Bar widget.
  • The Grid widget now has two properties: Hide footer and Footer count text.
  • On Click Cell, On Row Double Click, and On Row Right Click events added to the
  • Grid widget.
  • The Outline has been updated with new icons and a better interface to show/hide
  • widgets.
  • The data type “Date” has been added to the Variable Type list for datasources of type Variable.
  • Variable, Array, and Object datasources are now dynamically created and initialized by default.
  • Improved management of fonts.
  • Component Widget enhanced: ability to pass parameters to a component, to not
  • load the Web Component by default, and to display the Component widget as a
  • Modal dialog.
  • Remove automatic action added to a Button widget, allowing you to delete the
  • current entity in the datasource’s collection.
  • Line Height property added to the Text section in the Styles tab for all widgets that
  • have this section.
  • When you resize the Radio Button Group widget, the radio buttons will be
  • distributed evenly in the widget based on its width and height. Its aspect on mobile
  • platforms has been updated.
  • Improved error detection in the source of an Interface page for both the HTML and
  • the datasources. When editing the HTML of an Interface page, you are notified
  • immediately if an error was detected.
  • New properties for the Login widget: ID and User label.
  • Improved auto completion behavior for the Combo Box widget.
  • Enhancements when managing widgets: snap to widget functionality by holding
  • down the Shift key and selecting subelements of widgets by holding down the
  • Alt/Option key.
  • Widget contextual menu bar
  • Mobile Development
  • New Mobile widgets: Select, Switch, Navigation View, and Split View.
  • On Orientation Change event has been added to the Interface page events.
  • New properties for Tablet and Smartphone Interface pages.
  • Touch events were added to many of the widgets.
  • New Skin created for Mobile Interface pages: Cupertino
  • Runtime WAF:
  • You can now click on the title of the Checkbox widget to check or uncheck it.
  • CODE EDITOR:
  • Improved datastore model auto-completion.
  • Better ordering of suggestions in auto-completion popup.
  • Support of class definition in JSDoc.
  • Copy/paste code using BBCode.
  • New extensions: Code Beautifier, JSLint, and Snippets.
  • TOOLS:
  • The Administration and Data Browser have been rewritten and now open up in your Web browser.
  • o Administration area allows you to verify, repair, and compact data.
  • o Data Browser, which has been completely rewritten, now allows you to view,
  • add, modify, and export data from the datastore classes in your model.
  • DEBUGGER:
  • Improved display of exceptions in Console and Watchers.
  • Copy/paste watchers.
  • Assign a group to give permission to access the Debugger.
  • Evaluation tooltips.
  • Error stack display.
  • SERVER-SIDE API:
  • Global application:
  • New wildchar and process properties.
  • currentUser(), loginByPassword(), loginByKey(), logout(), and
  • currentSession() were moved to the Global Application class.
  • Datastore:
  • The “*” (asterisk) is now used instead of the “@” (ampersand) as the wildcard character in queries.
  • A new datastore class event was added: onRestrictingQuery
  • The next() function now returns a reference to the next entity
  • A scope property was added to an attribute and the getScope() function was added
  • for a class.
  • A new function getTempFolder() was added to a datastore.
  • Users and Groups:
  • Support for users that have not yet logged in including a default session.
  • A new property was added to the Session and User classes: storage.
  • New methods in the Directory class: setLoginListener(), getLoginListener(), and
  • computeHA1().
  • Files and Folders:
  • File objects now inherit from the BLOB class.
  • Binary Stream class has the following new methods: getBlob(), getBuffer(),
  • putBlob(), and putBuffer(). BLOB
  • New toBuffer() method. Images
  • New setPath() method.
  • SSJS Modules:
  • Net utility module: ability to create TCP Servers.
  • New TLS module for handling SSL connections.
  • System Workers:
  • A new detailed example was included in the documentation.
  • The setBinary() method was added.
  • The new SystemWorker.exec() method allows synchronous calls.
  • Common JS Modules:
  • MySQL, Upload, and Admin. Client-side API
  • Widget API:
  • Widget API enhanced with a variety of functions for existing and new widgets.
  • Possibility to add another handle to the Slider widget by using the addHandle()
  • function.
  • Dataprovider & Datasource:
  • Binary return for Datastore class methods.
  • New orderBy option for query(), allEntities(), and filterQuery() methods.
  • New overrideStamp option for the save() method.
  • New forceReload option for the serverRefresh() method.
  • New Dataprovider methods: setSelectedRows() and findKey().
  • New Datasource method: selectByKey()
  • Wakanda Studio Extensions:
  • Enhancements to Extensions API.
  • Preferences and shortcut support.
  • Storage object added.
  • JSON-RPC Services:
  • New architecture based on CommonJS.
  • Secure access to RPC methods through group permissions, which is not compatible
  • with v1 projects, refer to the documentation for more information.
  • Other:
  • Ability to execute a JavaScript script from a command line.
  • SSL Support in XHR.