This log shows the most important fixes or features that are being added to the GeneXus Beta Channel.
You can download the latest night-build (only) from http://www.genexus.com/betatesters
- The WeChat MiniProgram Generator graduated to Beta status! We continue its development to support all GeneXus features.
- IDE: Design System Styles editor has now semantic checks
- Error on invalid token group al utilizar token group no válido
- Error on multiple include of same class
- Warning on non-existing token usage
- Warning on non-existing class usage
- Warning/Error on include cycles
- Warning on import of o a non-existing DS
- Depending on the Style property of the Workwith for Web Pattern settings, the generated objects by the pattern take the Style from the Transaction or from the pattern settings
- Isolation level property has 2 new values: Repeatable Read and Serializable. Changes to them imply changes to the connection string.
- Java: Some debug info was only written when JDBC log was enabled, now those messages are sent to the client.log, some when level is DEBUG and others when level is ERROR
- Angular: Improved Design System Object support:
- Vertical alignment default changed from Top to Middle for compatibility with Native Mobile
- Support for all CSS native properties added
- Improved support for multiple CSS classes on the same UI control
- Color transitions and consistency improved in UI controls
- Styling support improved for Button, Chronometer, Group, Image and Rating controls
- Improved CSS generation: Less code is written, and code is similar to code written by hand
- Stencil object has slots. Slots allow you to define its content in the object where Stencil is used. Any UI control that is a container, can be a slot.
- Improvements to deployment using 'Only Package' option
- Support for defaults in design system tokens
- eg.: tokens Unanimo (color-scheme:[light]|dark)
- Apple Generator
- Generated projects use XCFrameworks. Apple defines XCFrameworks as a distributable binary package created by Xcode that contains variants of a framework or library so that it can be used on multiple platforms (iOS, macOS, tvOS, and watchOS), including Simulator builds.
- Modules are generated as XCFrameworks
- Main objects have a new property: Required Xcode version, which defines the minimum XCode version to be required when compiling Apps and modules.
- Those who create UI controls / Extension Libraries should start using XCFramewors too (the previous mechanism is now deprecated and will be discontinued in some months)
- .NET : Updated httpclient library
- Now you can add body in an HTTP GET (use AddString() )
- IDE: List of KB Platforms is shorter in new KBs (you can add others if you need)
- DesignOps - First bits and docs for Figma Integration
- Java: The default JDBC driver for SQL Server is now the latest mssql-jdbc
- .NET generator standard classes and third-party libraries are taken from nexus repositories (are not shipped with GX)
- GAM support in deploy to AWS Serverless
- GXtest: Database mocking improved
- Angular: Property default platform hint has been removed
- Android compatibility: GroupId changed from com.genexus to com.genexus.android. External libraries must be updated. More information at SAC 50943
- First bits of DynamoDB support in .NET environments
- GAM: First bits of Integrated security by domain (SSO in iframes, apps integrated to GXportal)
- Angular: ClientInformation.DeviceType = SmartDeviceType.Web
- Chatbot: Send device location
- API: RestPath annotation in API Object
- Allows to customize path per service method
- Allows to include parameters in path
[RestPath("/Clientes/{&CliId}")]
getCliente(in:&CliId, Out:&CliInfo) => PCliente(&CliId, &CliInfo)
- Testing: Database Mocking in Java
- IDE & modeling
- Modularization:
- Object Icons have a new overlay when they are Internal or Private
- Public Objects that are not main do not need to be referenced in order to be packaged
- New dialog to create KB enables setting frontend generators
- New dialog to insert image in a layout
- A Query object can be opened from Dashboard
- Improvements in import from sketch
- Prototyping
- Deployment
- New deployment target for deploying static content to Azure Object Storage or AWS S3
- Deploy to Azure serverless supports backend with GAM
- msbuid task for creating offline database
- Chatbots - security token for botmaker
- GeneXus.exe /NoRecentObjects
- New property XML Schema validation for native SOAP Services (Java only)
- Deploy Angular frontend to AWS S3 or any cloud provider
- Apple
- XCode 13.2 supported
- You can use Cocoapods installed via Homebrew
- fixes and improvements
- Support for File.XsltApply() in .NET 6
- GAM platform for .NET 6 and iSeries added
- Import and export module references are less verbose
- You can deploy folders with <IncludeDirectory></IncludeDirectory> in _user.gxdproj
- Composite command is now optional
- Important rename according to Microsoft's rename:
- .NET Generator renamed to .NET Framework Generator
- This one generates .NET 4.x, minimum 4.6.2, and will not evolve (same as .NET Framework)
- .NET Core Generator renamed to .NET Generator
- This one generates now .NET 6 (LTS) and will be evolving together with .NET
- Pattern WorkWith for Smart Devices renamed to WorkWith (As it generates Panels that are not only for Smart Devices but also por Desktop Browsers given that Angular generator generates from Panels)
- Native Mobile: New property 'Services URL Configuration Panel' to customize the screen to configure the services URL when Dynamic Services URL is on
- Generation for .NET 6 is now supported. .NET 6 required for generating with .NET Core generator. Download SDK from https://dotnet.microsoft.com/download/dotnet/6.0
- Create KB improvements on SQL Server 2019 instance
- Uses UTF8 collation
- Reduces the time required to create KB to some seconds (it creates KB from an existing mdf)
- Session state can be configured when deploying to Azure functions
- Rest Services can be exposed using OpenAPI 3.0.
- New requirement for Android: Android 12 SDK, so you need to execute Update Android SDK
- Deployment
- New property to choose to deploy the GXflow backend
- Import from sketch supports files from URLs
- fixes to deploy to Azure API Management
- .NET Core generator supports DB2 and iSeries and completes so the support for DBMSes
- Several fixes to Design Systems, in IDE, Mobile and Web generators
- iOS
- Xcode 13: Add support and compile with the iOS 15 SDK
- New functions and controls for native mobile
- Files.SaveToFolder( &fileUrl, DeviceFolder.Documents)
- ShareFile( &fileUrl )
- Control.ScrollIntoView(&VerticalPosition, &HorizontalPosition)
- New Toggle Button Group control
- Deployment
- Backend of a Native or Angular app can be deployed as Azure functions and to Azure API Management (* still not if it uses GAM)
- Azure Redis cache can be used for session state management
- Angular frontend can be deployed to cloud for prototyping purposes. Set the Backend generator Deploy To Cloud property to True, and the Angular generator property Run Target = GeneXus DeployToCloud
- Import from Sketch
- Support for gradients in Web (Linear, Radial, Conic or Angular)
- Support for spacing (letter-spacing, line-height )
- Support for gx-content-mode (object-fit) in variables of Image type
- GAM
- Nested Identity Provider support added
- OpenID Connect support added
-
warning: If you open a KB with this version (or higher), your images will be converted: Root Module will be assigned to them. This has one side effect: if you open with older versions, those images will be shown in the root module (your kb might look ''unclean")
- Modules
- Images can be modularized (In fact, they always belong to a module. By default, to the root module )
- Images, Files, Design Systems, User Controls can be packaged and shared
- IDE:
- Images and Files are shown in Work With Objects
- Images and Files are shown in modules as Domains do
- Default Datastore can be renamed. This is useful when packaging modules that access data
- Angular
- External objects can reference npm packages
- Import from Sketch supports .sketchcloud extension
- .NET Core (.NET 5) supports Informix. Requires:
- CSDK 4.50.xC4 or higher
- Configure environment variable
SET INFORMIXDIR="C:\Program Files\IBM Informix Client-SDK" (and restart GeneXus)
- or copy "C:\Program Files\IBM Informix Client-SDK\bin\Informix.Net.Core.dll" to web\bin
- .NET Core generator:
- Support for Google cloud storage
- Improvement in developer experience: Kestrel window is closed before compilation starts
- Plus all that what is already in GeneXus 17 Upgrade 5
- Import Form Sketch: Big improvements on controls positioning according to design definition
- .NET & mails with Exchange Server: Authentication OAuth "AppOnly" support added (used by apps that run without a signed-in user present; for example, apps that run as background services or daemons and can access multiple mailboxes)
- Java: Tomcat 10 / Jakarta support also for native SOAP web services
- Android: Migrated to new API of Google play billing library (AIDL)
- iOS & Android: Scanner now allows to show the camera viewport inline, in the Panel’s layout. It can also scan several codes without user interaction
- Security API updated to .NET 5
- Housekeeping
- Category Pattern has been removed
- Theme and Default Theme properties have been renamed to Style and Default Style (Note that they support both: Themes and Design Systems)
- Base Style property has been renamed to Base CSS
- Client.Socket External Object is now available in web (front end)
- iOS >= 12 and Android
- In the Main object's properties now you can define a "Notifications Panel", the place where the user can configure notification settings of your app.
- External storage enhancements in .NET (as in Java)
- Support For private storage
- Support for: Minio or any other S3 compatible SDK.
- Full Support for Storage Configuration through Environment Variables
- Support Encrypted or not encrypted sensitive properties (as Access Key, Secret Key, bucket name, etc)
- Deleted IBM Bluemix deprecated provider
- Blobs, files are now served as private resources
- .NET Core generator supports SAP Hana
- IDE
- Grid columns of 'Open Object' (ctrl+O) and 'Work with Objects' now remember user settings related to the position, size, etc.
- A selector is used in places where high cardinality is expected (eg.: Folder, module, attribute, etc)
- Variables in API Objects have a new property: External Name, which defines the name in the URI of the service (and is case sensitive)
- Design System:
- Theme supports 'Save as Design System...' option
- Several fixes in references handling
- fixes in Java EE & Jakarta EE support
- .NET and .NET 5: Fixes to prototyping on https How to configure Kestrel on Https when prototyping
- API Object: New 'External Name' property of variables allows to set the real name (even considering casing) that will be used and accepted in the URL.
- Import from Sketch: Using a specific new convention, it is possible that several forms generate different layouts on the same Panel. So from one Sketch file you can generate Panels with layouts that fit best for each device type, size, etc.
- Java: New httpclient implementation which improves performance is now enabled by default
- GAM:
- First bits to support One Time Password (OTP) and Two Factor Authentication (2FA). It requires/executes a reorganization of the GAM database
- Information of connection.gam can be in the database (you can prescind from connection.gam; this is good for PaaS environments and multitenant scenarios)
- .NET Core: .NET 5 support added. Applications generated with .NET Core generators require .NET 5.0. More infomation: .NET Generator Requirements
- Java, new properties:
- Now Java generator supports Tomcat 10
- New HttpClient implementation based on httpclient-4.5.13.jar, httpcore-4.4.13.jar. It improves performance and security.
- Chatbot Channels API: First bits to support Telegram
- IDE: Selectors in places where combo boxes where being used but are not suitable for high cardinality
- Impact Analysis: Improvement for scenarios of miniservices
- New message 'nfo0003 'The reorganization for this table makes the schema not backward compatible.'. This is useful for scenarios where you need to know (or take actions like stopping the DB impact) what kind of impact the reorganization has on existing programs. E.g: Changing PK, renaming or deleting tables or attributes, etc.
- Remote Configuration in Native Mobile apps using Firebase, useful for A/B Testing: A new RemoteConfig API has been added.
- Reporting: New chart type: Maps. Query Viewer can show data on a map.
- Applications generated with .NET require .Net Framework 4.6.2 or higher (previous versions required 4.6 or 4.6.1 as a minimum)
- Design System Object improvements
- Import from Sketch generates DS object
- Android supports DS object
- SVG format support added
- Native Mobile
- syntax
- Properties data type supported in client events
- &BC.Success() supported in client events
- MapBox provider supported in Andriod
- Testing: New object: Test Suite object
- + all of GeneXus 17 upgrade 3
As of this build you need to ask for a license to generate Angular
- Improvements to sketch import
- Caching: .NET and .NET Core now use StackExchange.Redis (MIT License) instead of ServiceStack.Redis
- Back end
- Breaking change: Serverside endpoint for uploading files has been changed for security reasons. This affects integration with third party systems that upload files to your system. It does not affect internal consistency (Native Mobile generators already use the new mechanism, File Upload Control too, etc.)
- Design System Object
- Now each class in Design System Styles shows its references
- Notes:
- Classes of Design systems are not 'objects' as Theme classes were.
- To view references in already saved DS Objects, you must save again the objects that reference it.
- It can be modularized
- Several fixes and other minor improvements
- Native Mobile
- A custom Panel object can be configured for setting notification configurations
- iOS specific
- Support for Firebase crashlitics
- Minimum deployment target version can be set in extension libraries
- Chatbots - Dialogflow
- Authentication to Dialogflow in IDE is now 'service to service' instead via UI. New property Google Cloud JSON Credentials is available to set the credentials.
- Support for disambiguations added
- Back end generators
- Support for PostgreSQL 13 added
- Security Scanner
- Several improvements to UI
- Database
- Descendant indexes support in MySQL 8
- Angular generator, several fixes and improvements
- New properties in GAM API to customize configuration on and with Identity Providers
- GAMAuthenticationOAuth20.RedirectURL_isCustom
- GAMApplication.ClientCallbackURLisCustom
- GAMApplication.ClientCallbackURLStateName
- GAMAuthenticationGAMRemote.SiteURLCallbackIsCustom
- Apple
- Support for XCode 12.4
- tvOS
- Android & Apple
- Interop.SendEmailAdvanced supports attachments
- Cache in GAM is now based on Cache API to support multidb / multitentant scenarios
- New IncludeCookies Property for httpclient datatype
- IDE
- Export Dialog shows object count
- Work With Attributes dialog improved (consistent with WW Objects)
- Apple / Android: improvements in metadata, metadata only includes platfrom-specific info
- other bug fixes and improvements
- Concurrent generation performance improvement in the following build of a cancelled build (build with leading .spc from previous build)
- Android:
- add property to allow add ACCESS_BACKGROUND_LOCATION permission to manifest (UseBackgroundLocation)
- Java: SOAP Services can be native or not in the same Environment. So the feature of using soap native is now at object level (consumed web services, and provided web services)
- Android:
- Security API PrivateKey supports PKCS8 encrypted keys
- Angular
- Grids are now implemented with CSS grid
- Nested grids support added
- Tab control events and properties support added
- Maps improved (ActivePageChanged)
- Other minor fixes in maps and geography data type
- GeneXus support for Huawei Mobile Services Platform (specifically designed for those that do not support Google Play Services)
- Apple
- New properties to set minimum iOS, watchOS, tvOS version supported in an app (some features of the app may require higher versions than the absolute minimum)
- UI of Multiwheel control updated
- API Object
- &RestCode standard variable added, to return custom HTTP Status code in services
- Angular
- Improved algorithm for choosing the right layout of the Web Platform
- Dynamic properties in a grid
- Conditions in dynamic combo boxes
- Progress bar performance improved (async)
- New MySQL driver support: MySQL Connector. It is a managed MySQL ADO.NET provider, with community support
- MySQL Connector is now used in .NET Core (50% performance improvement)
- New property ADO.NET provider with values 'MySQLDriverCS' (Default) 'MySQL Connector'.
In .NET Generator, using this driver avoids several troubles related to 32 vs 64 bits, 'libmysql not found' issues, etc.
Important: On the other side, this driver does not supports multiple server cursors, so a nested for each command loads in memory all the records of the outer for each, which may lead to memory consumption issues. Recommendation: Use better conditions for the outer for each command, and test thoroughly your solution before changing the ADO.NET Provider.
- XCode 12.2 supported
- Android 11 supported / API 30 required, new requirements for Android; you must run Tools > Update Android SDK
- Improvements to File Upload control (SACs 44015, 46554)
- Improvements to UC Object (SAC 48398)
- Reporting
- Query Objects in Native Mobile Chatbots
- BPM
- New property "Generate Metadata Domains" for generating Enumerated Domains for relevant data and activities.
- Query Viewer in Android and iOS
- QueryViewer1.Object = MyQuery(parm1,parm2,..) syntax support
- Import from sketch
- Deploy to AWS ECS (Elastic Container Service)
- User Control Object
- Improvements to Definition auto = true
- GXflow
- Performance improvement in inbox (worklist)
- Back end
- External Storage on Minio.io and any AWS S3 compatible provider
- 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.
- Angular
- Support for ClientInformation.DeviceType = SmartDeviceType.Web
- iOS
- Android
- iOS & Android
- New video control (UI control with autoplay, play in full screen + methods to stop, pause, start, etc)
- Dynamic call options
DynamicCall.SetOption(&DynCallObjectLink, DynamicCallOption.Type, CallType.Popup)
Call(&DynCallObjectLink)
- IDE
- The security scanner is now built-in in IDE and can also be run via MSBuild
Older log at GeneXus Beta Updates Log (Archive - until 20 October 2020)