October 20th > GeneXus 17 released
October 6th (build 145547)
- splash, icons, help about updated
- fixes in link function and dynamic calls
- Angular generator updated to Angular 10
- GXflow added .NET PostgreSQL platform
October 1st (build 145371)
- Angular Generator available
- This generator, though available in the preview channel and GeneXus 17, will be released as Beta in GeneXus 17
- API Object
- OPTIONS verb support in Java and .NET Core
September 26th (build 145183)
- Knowledge Matrix,
- new and improved options to publish and restore modules.
- Modules are now stored under %userprofile% instead of %appdata%
- Setup and splash refer to 'GeneXus 17', new splash and icon
September 19th (build 144886)
- XCode 12 is required
- several fixes to API Object, GXflow, Preferences in the IDE, among others
September 18th (build 144806)
- First Build of v17 preview (Branch 'Stable', heading to the release of v17u0, after GeneXus 16 Upgrade 11
- Requires GeneXus 17 Full Licenses
- Contains an easy way to update licenses.
- Missing Features (to be included in a few days)
- Still does not include some features (Angular, Knowledge Matrix )
- Setup and splash still refer to 'GeneXus 16'
- XCode 12
- More information at https://groups.google.com/a/genexus.com/g/beta/c/1xqo_YuhIr4
- API Object supports multiple methods with the same name in REST. &RestMethod standard variable added to distinguish the called method in Events
- Security: API Object supports GAM (Authentication and also Authorization at the object level)
- Several fixes to API Object
SDK / Compatibility package number changed. If your GeneXus installation uses third-party extensions, you need to get new versions of them
- spc0022 control and message improvements related to input-only parameters
- It is now a warning, not an error. If you want it to be an error you must add it to the Warnings treated as errors property or if you want to ignore it add it to Disabled warnings property
- Now all kind of assignments are controlled (including a call, udp or a self-assignment like &Var.FromString() ), on any type of variables and attributes
- .NET Core: Debugger supports .NET Core
- Fixes to 'slot' in User Control Object
- IDE: Memory usage fixes related to chromium and navigation report
- Android: Requirements changed: Now Google APIs ARM API 21 is required (21 instead of 19), minimum supported OS version changed to Android 5.0
- DevSecOps: The security scanner is now built-in in IDE and can also be run via MSBuild
- Queries can be integrated to Chatbots!
- You can create a Chatbot using a Dashboard!
- Automatic State persistence of grids and flexibility added to handling grid's state persistence
- Friendly URLs
- New spc0233 warning when submitting a program with inout or out parameters
- iOS & Android
- New video control (UI control with autoplay, play in full screen + methods to stop, pause, start, etc)
- Android
- Deploy
- New properties to deploy metadata related to the mobile front end: Enable KBN and App Update
- fixes to Save State property and Work With for Web pattern pattern
- VideoOperations procedure added to GeneXus.SD.Media module (iOS and Android). It allows reducing video quality before synchronizing with the server, to reduce bandwidth and storage usage & improve performance in some scenarios
- Android
- iOS
- Improvements in Photo Library for iOS 14 support
- SSL Pinning support
- New property Populate Data (true|false) to set whether you want to run the data population process after building.
- Event Dispatcher extension
- Android
- Adaptive Icons (Images can now vary by layer)
- Addressbook methods ViewContact and RemoveContact
- Firebase crashlitics support
- All UI controls for mobile called "SD <control name>" have been renamed to "<control name>" (the "SD" acronym has been removed)
- Java
- New properties 'Privacy' and 'URL Expiration' at the generator level to set whether external storage is by default Private or Public and the expiration lapse of the private URLs.
- Android
- Web: Named Parameters support added in Java, .NET and .NET Core: Now all URLs (web objects) support named parameters, and are written using named parameters. Furthermore, the separator changed from comma to ampersand. This is to follow common or standard URL writing styles, and easies WAF configuration among other benefits.
Where you have
client(in:&Mode, in:ClientId)
In the browser, in previous verions you got
webapp/client.aspx?INS,1
Now you get
webapp/client.aspx?Mode=INS&ClientId=1
Compatibility info:
- Web objects keep supporting the URL writing style of previous versions: Positional, Comma separated.
So, all code you wrote in GeneXus should keep working as usual. Exceptions to this rule: If you already expected a named parameter in the query string (*)
Other possible aspects to take care of when changing to Named Parameters: Configuration of rules in the WAF; UI Tests that verify the query string of the URL; length of the URL (since it is longer now) among others.
- In GeneXus Beta, URL support is always ON for testing purposes; once the feature has been stabilized, it will be OFF by default in existing KBs, ON in new KBs, and configurable using a specific Property.
(*) Sample
Suppose the following rare case: you have two objects, and one calls the other with a line like the following
MyWebObject(!"Parm1=MyValue")
MyWebObject:
parm(in:&MyParameter);
source:
&ParameterValueStartPosition = &MyParameter.IndexOf(!"=");
&ParameterValue = &MyParameter.SubString(&ParameterValueStartPosition+1)
msg(&ParameterValue)
In previous versions you got a msg with "MyValue"; now, with Named parameters, to get "MyValue" again, you need to change the caller:
MyWebObject(!"Parm1%3DMyValue")
- API object for API Mediation
- Objects that update data (insert, update or delete) are including a text to indicate this update when Table is selected as "referenced to" filter in the References dialog.
This sample image shows that Speaker transaccion insert, update or delete from Speaker table meanwhile Session, Company and other transactions does not change data in this table.
- GXflow clients with support for .NET Core - Oracle
- GXflow with support for .NET Core - MySQL
- GAM, changes in GAM API to fix security issues
- Breaking change
- IsRemoteAuthentication has a new parameter: State
- GetRemoteApplication, instead of ClientId it receives: State
- RedirectToRemoteAuthentication has a new parameter: State
- GetGAMRemoteInitialProperties has a new parameter: State
- Non-breaking change
- SDT GAMLoginAddtionParameters has a new field: IDPState
- Now you can Beta test GeneXus Web with local KBs (using your local GeneXus Beta installation): GeneXus M Standalone
- New warning: "The 'Web User Experience' property is configured to be 'PreviousVersionsCompatible'. This execution mode is deprecated.." Read Converting to Smooth Web UX for detailed instructions to move to 'Smooth'.
- New: cURL Inspector
- Smart Grids are the default ones now in iOS and Android, which have more features than the standard grid (now called Legacy Grid). The latter has been deprecated.
This should not affect compatibility; it solves issues that the implementation of the standard grid has, related to auto grow and scrolling in Android.
- For Continuous Integration pipes without DB reorganization capabilities: New flag FailIfReorg=true to avoid completion when a reorganization is present.
<BuildAll FailIfReorg="$(FailIfReorg)" DoNotExecuteReorg="$(DoNotExecuteReorg)"/>
- Android: Image manipulation API
- IDE
- Objects are now better described in New Object dialog
- Objects renamed for conceptual consistency
- Panel for Smart Devices > Panel
- Theme for Smart Devices > Theme
- Theme for Web > Web Theme
- Master Page > Web Master Panel
- Work with for Smart Devices Objects cannot be created from New Objects dialog anymore (only by applying the pattern to a Transaction Object)
- Query Object improvements (and automatic conversion when saving the object, to avoid compatibility issues) to improve consistency, functionality, and developer experience
- Changes in language
- att in [value1, value2, value3, ...] changes to att in(value1, value2, value3, ...)
- Average(att1) By(att2, att3, ...) changes to Average(att1) by att2, att3, ...
- Count(att1) DefinedBy(att2, att3, ...) changes to Count(att1) defined by att2, att3, ...
- Average(att1) WeightedBy(numericAtt2) changes to Average(att1) weighted by numericAtt2
- att not like "xxx" changes to not att like "xxx"
- att not in ["a", "b", "c"] changes to not att in ("a", "b", "c")
- att not in [1 to 10] changes to not att in (1 to 10)
- att is null changes to att.IsNull()
- att is not null changes to not att.IsNull()
- Sum(att1 where att2 = "xxx") changes to Sum(att1) where att2 = "xxx"
- Sum(att1) where (> 1) changes to Sum(att1) where Sum(att1) > 1
- New in language
- You can reference the enumerated domain, like Domain.Element1
- Boolean fields and expressions support in conditions (eg.: 'If Att')
- Conditional expressions <expr> if <cond>;
- support for Nullvalue() function
- Improvements in Editors
- Intellisense, intelitips, undo, automatic control and fix of parenthesis, proper icon usage, etc.
- Chatbot generator
- Begins to require GeneXus Protection keys, Beta keys, for code generation. You can ask online for beta licenses, as you do for any GeneXus generator. For commercial information please contact your distributor or sales agent.
- Updates its integration modules with IBM Watson; given breaking changes on Watson API
- Supports Watson regions: Dallas, Washington DC, Frankfurt, Sydney, London, Tokyo, and Seoul
- Deployment to SAP Cloudfoundry platform
- GAM: Improved API for user session stats
- XCode 11.5 support added
- Annotations on Images also available in Android
- Deployment
- .NET Core
- Notifications support: OneSignal and JPush
- The session can be stored in Redis
- IDE: Memory usage and performance improvements
- GAM: Oracle Identity Provider supported with OAuth 2.0
- Improvements in reorgs (more reorgs that support changes in attributes using ALTER TABLE )
- Several security improvements in generated applications
- jQuery updated to 3.5.1 This may affect the compatibility of 3rd party user controls. This improves security (solves important security issues) and may improve performance. A side effect of this security improvement is that Internet Explorer 8 is not supported anymore.
- XCode 11.4 required, as described in Apple Requirements
- Android 10, API 29 required, as described in Android Requirements
- Contacts API improved to get contact notes in iOS 13+
- Improved ways to Customize GeneXus Deployment capabilities
- User Control objects can target SAP UI 5. This allows creating User Control Objects using SAPUI5's XML based language for views in the "Screen Template" part of the object. The target can be specified using the new "target" attribute in the Definition tag, in the Properties part.
- New command-line tool for editing configuration files SAC 44669, GxEncryptCMD
- Count property added to Properties data type
- Memory consumption improvements when working with patterns. In the case of Work With Plus from Dvelop, it requires a new build of that pattern.
- PLUS: All the features that are already in GeneXus 16 upgrade 9
- Storage provider can be chosen and configured at runtime
- Scripted Chatbots can be customized, definition chosen at runtime
Installation: If you override your Genexus Beta installation with the zip of the new Beta, then delete Packages\GeneXus.Packages.Testing.Generator.dll and run genexus /install. If you do not do that, you will get an error launching GeneXus, because the package will not load.
- Android: Blobfile support added
- Java web applications can be deployed to Azure
- .NET Core web applications can be deployed to Azure
- .net core: fixes to GAM, rest services & deployment
- GAM Backend comes compiled, built-in. This reduces build times in KBs with GAM.
- GAM for .NET Core supports Oracle
- Exception_Handler rule
- First bits of Exception_handler(<subroutine name>) rule for logging exceptions
- .NET Core Generator: .NET Core 3 is required. (Net Core SDK 3.0.100 or higher)
- GeneXus AI
- Google support for Custom module (2.7.1).
- Evaluate task is calculated locally (and 'Local' field of Measure data type is set in True) when the provider does not give this information (e.g. IBM) (2.7.1).
- Testing
- Blockchain: Hyperledger Fabric as a data source in GeneXus
- GeneXus AI: Production Environment support for SAP added
- Web UI & UX
- Import from Sketch also available for Web
- Canvas control also available for Web allows absolute positioning
- Smart Table for web (CSS grid) allows easier alignment and design
- Picture of Numeric fields can be changed in runtime
- Save State property - Grid's State information can be programmatically accessed and modified when Save State property is True
- Android
- GAM
- SSO between distributed Rest Services (Single Token Oauth)
- Power Users: Now you can define your Custom Build Commands
- .Net Core Generator supports Oracle (requires tnsnames.ora in web directory for web apps, and in web\bin for command line apps)
- Java:
- JDK / JRE 1.8 or higher is required
- Internal refactorings in standard classes updating code to Java 8
- Fixes to avoid compilation warnings
- Additional Build performance improvements & generated code cleaning
- iOS: Bitcode enabled
- IDE
- Export Language to XLIFF (Xml Localization Interchange File Format) or XLSX (Microsoft Excel)
- Export filters in Export Language (Tools > Translations > Export Translations File)
- Text Filter
- Used in Object
- Only user messages
- Only translated messages
- Only referenced messages
- Bring Server version to Local KB
- Access Custom Models with GeneXus AI: HowTo: Build a custom model for GeneXus Cognitive API
- Specification performance improvements (some objects that took minutes to be specified now take just a few seconds)
- Target Environment Update performance improvements
- Recommended steps to get these improvements
- Fixes to PWA
- Empty As Null property has been renamed to Null in Forms; Behavior of Empty As Null property has been renamed to Behavior of Null in Forms
- Values of Null in Forms property are Nulls, Empty as Null, Blank.
- The value Blank only applies for Numeric Attributes in Transactions and is intended to differentiate the UI of an Empty vs a Null value
- iOS: XCode 10.3 now required
- Android: Internal refactorings for Android X
- Server-side of Native mobile applications that use GAM can now run on serverless platforms (aka AWS API Gateway)
- GAM API is now a module (less code needs to be generated)
- GAM - iOS & Android: Biometric authentication (Enable Biometrics Property at the Main SD Object)
- iOS
- Group notifications
- Animation layer in SD Maps
- IDE:
- New output window that supports high workload
- Good performance on big outputs
- Customizable Colors and Font Size
- Great performance on Find operations
- Allow to automatically save outputs. (The window save its output on the OutputLogs relative to KB)
- Support bi-directional moves when RTL characters are found.
- Automatic highlight current word selection, and automatic highlight current selection on the whole log.
- Build > Build Events has a new macro with the full path to the msbuild command
- Java, C#, .NET Core: GeneXus.Common.Runtime.ExitCode lets you set the exit code in a command line procedure
- .NET Core fixes:
- PWA
- Socket API
- xml schema validation
- Grids know to save its state! Filters and orders are maintained automatically in session when Save State property is set to True
- Fixes to PWA in .NET
- Xcode 10.2 and CocoaPods 1.6.1 is supported and required.
- Package Module with database access for Solutions extensibility scenarios
- In the process of moving standard classes' development to Github ([https://github.com/genexuslabs), we already have moved and published the Java classes. This facilitates contributions, extensibility, and customization too. (We have moved Android classes too, but not published them yet.)
- To export a module via MSBuild, now a new parameter is supported: IncludeChildren
<Export Objects="Module:GeneXusSecurity" File="c:\GeneXusSecurity.xml" IncludeChildren="true"/>
- New provider for GeneXus AI Module: Alibaba
- Parallel Pattern Instances generation.(build >= 132273)
- Requirements
- Create a parallel.flag in the GeneXus Installation directory
- Tools->Options->Build->Concurrent Generation must be true
- Tools->Options->Build->Concurrent Specification Instances > 1
- If you use WWPlus from 'Dvelop Software', add the GeneXus installation directory to the PATH environment variable, or ask for a newer version of WWPlus.
March 7th
- GeneXus M
- New editors for responsive sizes, theme rules, colors
February 6th
- IDE
- Mobile
- iOS: Relative Date Time Control
- 'For in' command support added
- Improvements for RTL / Arabic
- Note: It contains all features and fixes included in the just-released GeneXus 16 upgrade 2
December 21st, 2018
From v16u1 to December 16th, 2018
- Web performance: In transactions, browser - server roundtrips have been grouped in order to reduce roundtrips. This increases the performance (reduces latency issues) of transactions when the user changes the focus from the first field to the last one, for example.
- Redis distributed cache is supported in Java
- Amazon and Tencent are supported as providers for GeneXus AI
- Already too on v16u2 / Preview Channel
- Support for Firebase Analytics
- Scan Credit cards in Smart Devices
- Do Build of Deployment Units
- More at GeneXus 16 upgrade 2