# 1.0.0-Beta22

The BoxLang 1.0.0-Beta22 release includes several improvements, bug fixes, new features, and stories. Key improvements include enhanced redirection for the Miniserver, better transactional event broadcasting, and added convenience methods like `getRequestContext()` and `getApplicationContext()`. Bug fixes address issues such as JSON deserialization, whitespace management, and various errors related to data types and loops. New features include support for multiple statements inside queries and a new `datasourceRegister()` BIF for easier SaaS integrations.

## Release Notes

#### New Features

[BL-123](https://ortussolutions.atlassian.net/browse/BL-123) Implement multiple statements inside queries

[BL-383](https://ortussolutions.atlassian.net/browse/BL-383) new bif: datasourceRegister() to allow for easy saas integrations to create datasources

[BL-658](https://ortussolutions.atlassian.net/browse/BL-658) MIgrate AST Capture to it's own experimental flag

[BL-748](https://ortussolutions.atlassian.net/browse/BL-748) Add getApplicationContext() method on all contexts for convenience, especially when calling from CF/BL

#### Improvement

[BL-730](https://ortussolutions.atlassian.net/browse/BL-730) Miniserver needs to 302 redirect when hitting a directory without the trailing slash

[BL-734](https://ortussolutions.atlassian.net/browse/BL-734) Broadcast Transactional events at the Application listener-level

[BL-735](https://ortussolutions.atlassian.net/browse/BL-735) Allow unregistering a java class (IInterceptor) from an InterceptorPool

[BL-737](https://ortussolutions.atlassian.net/browse/BL-737) Add getRequestContext() method on all contexts for convenience, especially when calling from CF/BL

[BL-738](https://ortussolutions.atlassian.net/browse/BL-738) Allow output from functional wrappers

[BL-740](https://ortussolutions.atlassian.net/browse/BL-740) Autocast simple values to Keys when calling java methods from BL

[BL-741](https://ortussolutions.atlassian.net/browse/BL-741) Allow :: static access to be chained to any expression

[BL-746](https://ortussolutions.atlassian.net/browse/BL-746) Add toLegacyDate BIF and Member Function to Compat module

[BL-751](https://ortussolutions.atlassian.net/browse/BL-751) Make generated getters return null when property is not initialized

[BL-116](https://ortussolutions.atlassian.net/browse/BL-116) Implement unfinished query options

#### Bug

[BL-694](https://ortussolutions.atlassian.net/browse/BL-694) Fix tests that fail when using ASM

[BL-695](https://ortussolutions.atlassian.net/browse/BL-695) large json fails to deserialise with bx-compat

[BL-714](https://ortussolutions.atlassian.net/browse/BL-714) Add Whitespace Management

[BL-731](https://ortussolutions.atlassian.net/browse/BL-731) dump errors with compat installed due to null variable

[BL-733](https://ortussolutions.atlassian.net/browse/BL-733) RandRange seems to never return upper range

[BL-736](https://ortussolutions.atlassian.net/browse/BL-736) JDBC Transaction listeners not firing upon transaction event announcement

[BL-739](https://ortussolutions.atlassian.net/browse/BL-739) shebang checks in BoxRunner don't nicely handle invalid file paths

[BL-743](https://ortussolutions.atlassian.net/browse/BL-743) WDDX not parsing booleans correctly

[BL-744](https://ortussolutions.atlassian.net/browse/BL-744) Cannot cast ortus.boxlang.runtime.types.DateTime to java.util.Date

[BL-745](https://ortussolutions.atlassian.net/browse/BL-745) parseDateTime failing

[BL-747](https://ortussolutions.atlassian.net/browse/BL-747) for (sentinel) loop is evaluating the step/increment expression one final time too many when a break is used

[BL-752](https://ortussolutions.atlassian.net/browse/BL-752) error using negative indices to get characters from strings

[BL-754](https://ortussolutions.atlassian.net/browse/BL-754) error: integer number too large

[BL-755](https://ortussolutions.atlassian.net/browse/BL-755) SerializeJSON not working with named params


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://boxlang.ortusbooks.com/readme/release-history/beta-stage/1.0.0-beta22.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
