Trim, Trim start, and Trim end in 4D
When working with user input, data cleaning, or text formatting, one of the most common tasks is removing unwanted whitespace. Whether it’s a space accidentally typed before an email address or a newline character left at the end of a copy-paste, these seemingly invisible characters can cause unexpected behavior in your applications.
Fortunately, 4D 21 provides easy-to-use string methods to help: Trim, Trim start, Trim end.
4D NetKit: Decoding, Generating, and Validating JWT
JSON Web Tokens (JWT) have become a key standard for secure authentication and information exchange between systems. With JWT, you can transmit data in a secure, verifiable, and standardized way, reducing complexity while improving security. In particular, JWTs are essential when working with OpenID Connect, where they allow you to validate and decode the information returned by the OpenID provider.
Within the 4D 21, 4D NetKit provides a simple API to handle these tokens: decoding, generation, and validation.
Convert Numbers with Ease: Enhanced String and Num Commands
When working with different numeric bases, such as binary or hexadecimal, converting between numbers and strings is a common task. With 4D 21, the String and Num commands have been enhanced to make these conversions more powerful.
4D Developer Automatic Activation
Isn’t it tedious to manually enter license numbers every time you install your softwares on a new machine?
With 4D 21, that’s no longer necessary, 4D now does it for you automatically. Let’s see how.
4D AIKit: Structured Outputs
When using AI in your application, you often need outputs that your code can parse, not just free-form text. Whether you’re generating data for a user interface, automating business logic, or orchestrating multi-step reasoning, predictable, machine-readable responses are essential.
That’s why 4D 21’s 4D AIKit introduces the new response_format attribute, letting you define the exact structure of the model’s output to ensure consistency, validation, and smooth integration into your app logic.
Edit and Manage Component Code Directly in the host project from the 4D Explorer
In 4D 20 R9, we introduced the ability to edit and debug component methods and classes directly from a host project. Start with 4D 21, we’re now going further by making 4D Explorer the central hub for editing both project and component code. What’s for you: work better, work faster, with your components.
4D NetKit: Simplifying OAuth 2.0 Redirects after authentication
4D NetKit just made redirecting users after OAuth 2.0 authentication easier with 4D 21. The OAuth2Provider class in 4D NetKit now allows real URLs for authenticationPage and authenticationErrorPage. This means you now have more redirection options after authentication, like a Qodly pages or HTTP Handlers. Whether the authentication succeeds or fails, you stay in control of the user experience with smooth, flexible redirection options.
Track, Audit, Optimize: Take Control of Your 4D Web Sessions
Since the introduction of scalable sessions, server-side session management has become an important component of modern 4D architectures. These sessions enable fine-tuned scalability for web applications, but also require stricter supervision to guarantee performance, stability, and license control. With 4D 21, you now have a comprehensive means of inspecting all open web sessions, whether they originate from REST connections, SOAP calls, or 4DACTION requests.
HTTPS Requests Now Support Windows Certificate Store
Starting with 4D 21, your HTTPS requests can now use a certificate stored in the Windows Certificate Store instead of one saved on disk. This is particularly useful when the client-side of HTTPS requests needs to use local certificates.
Semantic search: querying by vector similarity
With the growing importance of vector-based search in AI applications such as semantic search, recommendation engines, and natural language processing, 4D introduces native support for vector queries in the query() function. This enhancement brings vector similarity comparisons directly into the language of DataClass.query() and EntitySelection.query().
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy
