---
title: pyocient Release Notes
slug: QuWB32-CMKGfK8R3cOU1X
description: Access release notes for Pyocient, the Ocient Python module, with details on new features and improvements.
docTags: 
createdAt: Wed Sep 28 2022 18:43:33 GMT+0000 (Coordinated Universal Time)
updatedAt: Wed Apr 08 2026 13:10:26 GMT+0000 (Coordinated Universal Time)
---

## 3.7.0

- Added transactional support.
- Added asynchronous update support.
- Added the display of the full complex type information.
- Enabled the printing of the query Universally Unique IDentifier (UUID) when the system fails or experiences a Keyboard Interrupt.
- Added generic server-side `cancel` and `kill` commands. This addition is not compatible with an Ocient® System that has a version less than 25.0.

## 3.6.0

- Added support for Dataflow SQL statements. Dataflow is a procedural superset of SQL that acts as an ad-hoc, anonymous, and imperative script. This new syntax parses, compiles, and executes logic in a single request using flow control, variables, scoped temporary tables, and exception handling. This new functionality requires version 27 or later of the Ocient® System.
- Added support for cross-database SSO authentication.
- Added support for Google® as an OIDC provider with server-side token exchange and polling.
- Added support for specifying identity providers and SSO OAuth flow options.
- Added support for SSL and hostname in SSO callback URLs.
- Added support for token lifetimes in the client wire protocol.
- Added the commit SHA to the pyocient package for version tracking.
- Added support for URL-encoded special characters in DSN passwords.
- Fixed the driver to return NULL elements in multidimensional arrays as `None` instead of empty arrays.
- Fixed precision and scale handling during the cast of arrays and tuples that contain DECIMAL types.
- Removed an unnecessary debug print statement.
- Fixed the parsing of CLI argument keys to be lowercase.
- Improved CLI parsing of Ocient SQL statements.
- Reduced the verbosity of debug messages during normal operation.
- Added graph functionality using the `ocient_graph` Python® package.

## 3.5.0

- Added support for executable SQL files using shebang lines in the command-line interface (CLI).
- Added `expect error` and `expect rowcount` commands to the CLI.
- Added enhanced help functionality to the CLI.
- Added nanosecond precision support for timestamp data types.
- Added server-side `DESCRIBE TABLE` and `DESCRIBE VIEW` command support with fallback to the client-side `DESCRIBE` command for older server versions.
- Added connection timeout support to prevent hanging connections.
- Added configurable redirect URIs per OIDC integration for SSO functionality.
- Fixed an infinite loop issue when the fetch size is set to 0.
- Improved parameter expansion handling and error messaging.
- Improved Unicode character formatting in JSON output and CLI display.
- Updated protobuf dependency to version 5.29.2 or higher.
- Reduced verbosity for connection-type logging messages.
- Added support for preserving schema and service class settings after reconnection.
- Improved error handling for invalid DSNs in the CLI.

## 3.4.0

-
  Added support for the `PREVIEW` DDL SQL statement.
- Support cryptography versions greater than 42.0.0.
- Fixed an issue that returned `-1` rows modified.
- Fixed the handling of an invalid DSN on the pyocient CLI.
-
  Formatted Unicode characters in JSON output.
- Fixed an issue where not all warnings were reported.
- Added the messages attribute to the cursor.
- Improved parameter expansion.
- Supported loglevel and logfile parameters on DSNs.
- Preserved the Connection object for reconnects.

## 3.3.2

- Fixed ending SSO sessions when you close the connection.

## 3.3.0

- Pinned the cryptography package to a version earlier than 42.0.0 for stability purposes.
- Added OIDC single sign on (SSO).
- Added the `performance mode` command.&#x20;
- Enabled the display of nulls as NULL when using the table format.
- Set the command-line default fetch size to 30000.
- Fixed the implementation of the `set serviceclass` command.
- Changed `pyocient.Warning` to be a subclass of the Python® `Warning` class.
- Added the `set printuuid on` command.
- Added the `--version` option at the command line.
- Set the TCP `keepalive` options on connections.
- Added a valid error message when the system rejects a connection without SSL encryption.

## 3.0.3

- The `TypeCodes` class has been changed to a Python `IntEnum`.
- GIS types \_STPoint, \_STLinestring, and \_STPolygon have been renamed to STPoint, STLinestring, and STPolygon, respectively.
- The `user` and `password` fields have been removed from the `Connection` object. This object no longer stores these fields.
- You can pass the `security_token` from another connection to the `connect` function.
- The `Session` object has been removed.
- The `custom_type_to_json` function has been moved into the pyocient API to allow the consistent conversion of the result set to the JSON format.
- The `patch` portion of the pyocient version is sent to and logged in the database.
- The `--nooutput` command-line parameter does not throw a Python exception.
- The `local variable 'return_code' referenced before assignment` error has been fixed.
- Added the `--rows` argument to the command-line program to load the result set in batches.

## 2.0.0

- Packaging has been significantly refactored to match Python® packaging standards.
- Python context manager support has been added to connections and cursors.
- Python type annotations have been added to the pyocient API.
- Fixed the command-line interface (CLI) to return a non-zero code for statements that fail.
- CLI output has been standardized to either go to the output file or standard output (stdout).
- The option to echo statements has been added as a command-line option.
- The `pyocient.SyntaxError` exception, which conflicted with the built-in Python `SyntaxException`, has been removed.
- `pyocient.version` has been removed in favor of the more standard `pyocient.__version__`.

## 1.0.15

- The dependency on `protobuf` has been upgraded from `>=3.12.0`, `<=3.19.1` to `>=3.20.0`, `<=4.22.0`.
- Fixed an error that occurs when you do not specify the host parameter in the `connect()` API.&#x20;

## 1.0.14

- Updated pyocient dependencies to eliminate some unused dependencies and tighten the dependencies on `protobuf` and `dsnparse`.

## 1.0.13

- Fixed bug that left `Cursor.rowcount` unset after Data Manipulation Language (DML) query execution.
- The `cryptography` package requirement of version 36 or lower is no longer required.

## 1.0.12

- Added `--nohistory` command-line option. The history file does not store commands from the session.
  Added `ignorespace` option to command-line history. The history file omits lines that begin with a white space character.

## 1.0.11

- Added a link to the release notes to the package description.

## 1.0.10

- Fixed error in the parameter substitution docstring.
- Added support for `SERVICECLASS`, `ADJUSTFACTOR`, `ADJUSTTIME`, and `PSO` query settings.
- Added support for the `SHOW` command.
- Added support for the `CANCEL TASK` command.
- Removed support for `PRIORITY_ADJUSTMENT_FACTOR`, `PRIORITY_ADJUSTMENT_TIME`, `MIN_PRIORITY`, and `MAX_PRIORITY` query settings.
- Deprecate support for the `CHECK DATA` command.
- Fixed output of binary types at the command line.

## 1.0.9

- Added CSV output support
- Updated cryptography package dependency from \<3.4 to \<=36.0
- Updated cffi and google-auth dependencies
- Improved decoding performance by caching the decoders
- Added formal STPoint, STLinestring, and STPolygon classes rather than using tuples and lists
- Added support for PRIORITY\_ADJUSTMENT\_FACTOR, PRIORITY\_ADJUSTMENT\_TIME, MIN\_PRIORITY, and MAX\_PRIORITY query settings.
- Enabled the handling of invalid DNS names received from the database

## 1.0.7

- Fixed crash on invalid UTF-8 characters received from the database
- Fixed a bug related to specifying the user through the connect API
- Standardized Python(R) code formatting

## 1.0.6

- Updated handling of the force option on connections for accuracy

## 1.0.5

- Added additional debug logging to the redirection of connection

## 1.0.4

- Updated the redirect logic for accuracy

## 1.0.3

- Added multiple host support to the DSN
- Removed --tables, --systables, and --views command-line options
- Added support for the source, connect to, and set commands
- Added support for starting without a DSN

