# What changed in mariadb

> 20 changes in mariadb 1 from its official release notes, upgrade guides and advisories: 5 breaking, 1 security, 1 new APIs and options. Each one cited. Sources checked 2026-11-10. HTML: https://unstale.sh/pypi/mariadb/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## mariadb 1

### Breaking changes

- Values Python cannot represent are returned as None. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- Support for Python 3.9 and 3.10 has been removed because those versions are EOL. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- set_config() checks that the passed parameter is a dictionary and raises an exception if it is not. (1.0.0) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/blob/HEAD/CHANGELOG.md)
- ConnectionPool.set_config() parameters are checked against the list of DSN keywords. (1.0.0) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/blob/HEAD/CHANGELOG.md)
- The default character set is set to utf8mb4 with the authentication packet. (1.0.0) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/blob/HEAD/CHANGELOG.md)

### Security

- A borrowed-reference use-after-free and reference-count underflow in status_callback are fixed. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)

### New APIs and options

- username, passwd, and db are added as aliases to connection keywords. (1.0.0) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/blob/HEAD/CHANGELOG.md)

### Behavior and default changes

- Columns that the row type cannot carry are renamed instead of causing the result set to be refused. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- The connector checks the server's extended capability flag to determine whether bulk operations are supported. (1.0.0) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/blob/HEAD/CHANGELOG.md)

### Fixes and other changes

- A failed mysql_stmt_fetch() is no longer misclassified as a successful row. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- Calling close on a closed or finalized connection is a no-op. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- connect no longer ignores connection arguments when an existing pool is supplied. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- Connection segfaults during garbage-collection sweeps and deallocation are avoided. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- Errors for connection keywords with the wrong type name the offending argument. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- A parameter that cannot be serialized raises an exception instead of crashing. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- Windows binary wheels are available for Python 3.15. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- Conversion of signed one-byte numbers in the binary protocol is fixed. (1.1.16) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/releases/tag/v1.1.16)
- Switching between text and binary protocol with the same cursor no longer crashes. (1.0.0) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/blob/HEAD/CHANGELOG.md)
- Inserting negative integer values with cursor.execute() is fixed. (1.0.0) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/blob/HEAD/CHANGELOG.md)
- Inserting NULL values with executemany() works correctly on servers that do not support BULK statements. (1.0.0) — [release notes](https://github.com/mariadb-corporation/mariadb-connector-python/blob/HEAD/CHANGELOG.md)
