> For the complete documentation index, see [llms.txt](https://upsolver.gitbook.io/content/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://upsolver.gitbook.io/content/release-notes/earlier-releases/2023/july-2023.md).

# July 2023

## Weekly Software Updates

The following software updates were released in July:

### 2023.07.31-02.02

#### :arrow\_up: Enhancements

* Snowflake Jobs:&#x20;
  * Support setting `COMMIT_INTERVAL`. This allows configuring different intervals for processing the job and for writing to Snowflake.&#x20;
* CDC Jobs:&#x20;
  * (Beta) Support replication data from [Microsoft SQL Server](/content/reference-1/sql-commands/connections/create-connection/microsoft-sql-server.md) using change data capture.

***

### 2023.07.27-01.59

#### :arrow\_up: Enhancements

* Elasticsearch Jobs:&#x20;
  * Support setting routing (`_routing`) by using the new property [`ROUTING_FIELD_NAME`](broken://spaces/WKMq8oT1OPM3KjP8vlg2/pages/1EUJyWRekPa8cv4yToKQ#routing_field_name).
  * Added a new option to the [`INDEX_PARTITION_SIZE`](/content/reference-1/sql-commands/jobs/create-job/transformation/job-options/elasticsearch.md#index_partition_size-editable) property: `NONE`. This allows us to write to a single index name.&#x20;
* CDC Jobs:&#x20;
  * Add the ability to snapshot multiple tables at once:
    * [Microsoft SQL Server](broken://spaces/WKMq8oT1OPM3KjP8vlg2/pages/fgigRbuVW0sQwo0FuqzE)
    * [MySQL](broken://spaces/WKMq8oT1OPM3KjP8vlg2/pages/GrUOd28Kt58JkMlbDCWg)
    * [PostgreSQL](/content/reference-1/sql-commands/jobs/create-job/ingestion/postgresql.md)

#### :wrench: Bug Fixes&#x20;

* Snowflake Jobs:&#x20;
  * Fixed an issue with a custom insert/update expression causing the job to fail if the field is also mapped in the select statement.
  * On auto-managed tables, Upsolver will not create an extra column if the following conversion happens:&#x20;
    * Original column is double and has a value of type long.&#x20;
    * Original column is a timestamp and has a value of type date.&#x20;
    * Original column is a varchar.&#x20;
    * Original column is Variant In all other cases, we will create an extra column with the new type as the column name suffix. For example: if a column `col` was of type bigint and got a Double value, we will create a column `COL_DOUBLE` in the Snowflake table.&#x20;
  * Fixed a delay in Materialized View on Job List/Index page.

***

### 2023.07.19-02.34

#### :wrench: Bug Fixes &#x20;

* Fixed tree on fields containing dots, e.g. turning `{"a\.b": 1}` to `{"a.b": 1}`.
* Snowflake Jobs:&#x20;
  * Changed the file format to copy from Avro to JSON. This fixed an issue when ingesting records with sub-fields that have special characters.

***

### 2023.07.13-02.20

#### :arrow\_up: Enhancements

* Added [`VALUE_INDEX_IN_ROW`](broken://spaces/WKMq8oT1OPM3KjP8vlg2/pages/5i1Zr2gr92xHjvWclvnJ)`()` - this function receives an element of an array of records and returns the 1-based index of the element position (incrementing regardless of whether the array is nested). Null values are not counted.&#x20;
* Added [`VALUE_INDEX_IN_ARRAY`](broken://spaces/WKMq8oT1OPM3KjP8vlg2/pages/xN4VBfetafJaPUSWTXp4)`()` - this function receives an element of an array of records and returns the 1-based index of the element position (index resets to 1 for each sub-array). Null values are not counted.&#x20;
* Ingestion wizard:
  * Support was added for creating a PostgreSQL heartbeat table within the wizard.

#### :wrench: Bug Fixes &#x20;

* Reduce the frequency of metadata queries to Snowflake in order to reduce the cost of COMPUTE SERVICES charged by Snowflake.&#x20;
* \[BREAKING CHANGE] Fixed [`RECORD_TO_JSON`](broken://spaces/WKMq8oT1OPM3KjP8vlg2/pages/XL2kADHoWDKG3ScmQfTa) on fields containing dots, e.g. turning `{"a.b": 1}` to `{"a\.b": 1}`.

***

### 2023.07.04-14.42

#### :sparkles: New Features

* New `UUID()` function returns a unique identifier (UUID) string.
* Sign-out is now available from the main screen.

#### :arrow\_up: Enhancements

* PostgreSQL CDC: ignore rows from the heartbeat table.
* Upgraded Debezium version from 2.1.3 to 2.2.1.&#x20;
* Ingestion wizard:&#x20;
  * Supports compute cluster input (in case the organization has more than one compute cluster).&#x20;
  * Supports basic expectation.
* The cluster version appears in the UI on the Clusters page.
* Snowflake table: show variant column statistics on field level.

#### :wrench: Bug Fixes&#x20;

* Fixed the conversion of float to double to preserve the perceived semantic value in CDC sources and in data sources that get Avro or Parquet.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://upsolver.gitbook.io/content/release-notes/earlier-releases/2023/july-2023.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
