v2.7.0

Server

  • Feature: Config and method to set request timeout for 4D Mobile Queries.
  • Feature: OnSendRequest event to customize Rest Requests on the fly.
  • Fix: Timestamp compatibility issue with 4D V17
  • Fix: Single Quote issue in Rest Queries
  • Fix: Disabled community mode, License is now required to start the server.

v2.6.0

Server

  • Ubuntu 18.04 only support
  • Upgrade Ubuntu package from upstart to systemd (doc) (#152, #213, #220, #243, #244)
  • Fix: Readable error on wrong relatedEntity/ies (#209)

v2.5.0

Studio

Server

  • Add restrict event on 4D / MySQL remote dataclasses
  • Add global custom HTTP headers (doc)
  • Add forward secrecy and HSTS (#231)(doc)
  • Export requireNode.cache attribute
  • Security fix: Specific HTTP request causes server crash
  • Security fix: scope not working on remote dataclasses (#240)
  • Fix: crashing duplicated addRemoteStore() with same parameters
  • Fix: orderBy issue on type object sorts by ID (#242)
  • Fix: system worker with array or string params does not use the same PATH

v2.4.0

Studio

  • Fix: Studio cannot start Server if its path contains space character

Server

  • Use Accept HTTP request header to format HTTP error response [issue 203]
  • Add XHR timeout (doc) [issue 189]
  • Set cookie's Secure flag on HTTPS
  • Authorise requests where Origin header's protocol is HTTP on HTTPS port (Case of reverse proxies)
  • Fix: Server crash with NodeWorker & Windows Service
  • Fix: query() on Object attribute [issue 237]
  • Fix: Multiparameter orderBy() on Object attribute [issue 233]
  • Fix: getStorage() returned a storage with volatile prototype
  • Fix: storage's clear() was missing (shared storage)
  • Fix: storage's removeItem() was missing (shared storage)
  • Fix: NodeWorker and SharedWorker now accept a File object as parameter (doc)
  • Doc: Fix slice() documentation (doc)

v2.3.0

Server

  • Add server routing HTTP to HTTPS (doc)
  • Add Multi stage deployment feature (doc)
  • Fix: Error returned on wrong NodeWorker or SharedWorker definition
  • Fix: Error on 'File already exist' with Linux copyTo
  • Fix: Image insertion in a remote ODBC database
  • Fix: Duplicated entity on n-1 query on a remote ODBC database

Studio

v2.2.1

Studio

v2.2.0

Server

  • NodeWorkers now are based on NodeJS v8.1.3.
    • NodeJS v6 has a garbage collector issue fixed in NodeJS v8 #167
  • Add datastore pauseTransaction() and resumeTransaction() : doc
  • Add dataclass setCollectionPageLength() and getCollectionPageLength(): doc
  • Add entity collection splice() method: doc
  • Add datastore distinctPath() method: doc
  • Add shared storage tryLock() method: doc
  • Fix: Dataclass method calls must use POST request (GET not supported anymore for security reasons).
  • Fix: Worker exceptions not passed to port.onerror callback

Studio

  • Fix #208
  • Fix: backend user templates get mixed up with user mobile templates

v2.1.0

Studio

  • Write and run tests for your Wakanda backend : screenshot, doc
  • Configure and manage your Android packages from the studio preferences : screenshot-1, screenshot-2
  • Configure your environment variables from the studio preferences : screenshot
  • Interact with command line tools directly from the studio as in the command line : screenshot-1, screenshot-2
  • .wakanda folder versioning and update support (to get fixes and enhancements for tasks, troubleshooting when downloading new Wakanda Versions)
  • Create your own project templates by putting them inside Documents/Wakanda/templates : screenshot
  • Change Server administration ports from studio preferences : screenshot
  • Add visual feedback when task is terminated : screenshot
  • Better Server restart handling
  • Save user default solutions path in preferences
  • Add OS specificPATH env variable default values
  • Update Ionic & Angular templates
  • Better Ionic & Ionic1 troubleshooting
  • Change template defaults : Angular & Ionic instead of Angular 1 & Ionic 1
  • Fix default solution creation template for Mobile
  • Fix project add #204

Server

  • NodeWorkers now are based on NodeJS v6.10.2 LTS
  • New server module Threadify included in the server github, doc
  • New getStorage and removeStorage API doc
  • SystemWorker API can now emulate a terminal doc
  • Admin UI Jobs now run inside of a NodeWorker
  • Enterprise feature: setLogListener() API doc
  • 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 permission 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

v2.0.3

  • 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

v2.0.2

  • Fix: Installer cannot update a previous installed version

v2.0.1

Studio

  • Fix: Studio runtime missing (Windows only)
  • 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

v2.0.0

New SSJS APIs

How to use the new admin dashboard

  • 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