Apache Polaris 1.5.0
Released on May 18th, 2026.
Downloadsđź”—
| Artifact | PGP Sig | SHA-512 |
|---|---|---|
| source tar.gz | .asc | .sha512 |
| binary tgz | .asc | .sha512 |
| binary zip | .asc | .sha512 |
| Spark 3.5 with Scala 2.12 Client Jar | .asc | .sha512 |
| Spark 3.5 with Scala 2.13 Client Jar | .asc | .sha512 |
Release Notesđź”—
Upgrade notesđź”—
Breaking changesđź”—
- The
ConnectionCredentials.of()method now throws an exception when more than one expiration timestamp property is present in the credentials map. Only a single expiration timestamp is allowed per credentials bundle. - Entity names (namespaces, tables, views, generic tables) submitted to the REST layer are now rejected with HTTP 400 if they are empty, contain a
/, or have leading/trailing whitespace. Clients that were previously able to create such entities must rename them before upgrading. renameTablenow returns HTTP 204 (No Content) instead of 200, as required by the Iceberg REST Catalog spec. Clients that expect a 200 response must be updated.
New Featuresđź”—
- Added
envFromsupport in Helm chart. - Added summarize subcommand to Polaris CLI.
- Added find and tables options to Polaris CLI.
- Added support for multiple event listeners. Set
polaris.event-listener.typesto a comma-separated list of event listener types to enable multiple event listeners. - Added support for enabling only a subset of event types and event categories per event listener. Set
polaris.event-listener.<name>.enabled-event-typesorpolaris.event-listener.<name>.enabled-event-categoriesto the list of event types or categories for the specified event listener to only consume the selected subset of events. - Added support for Apache Ranger as an external authorizer (Beta).
Changesđź”—
- Improved Python CLI error messages and exit codes for invalid arguments and configuration errors.
- Removed unused
PolarisAuthorizableOperationvalues:REVOKE_PRINCIPAL_GRANT_FROM_PRINCIPAL_ROLE,REVOKE_PRINCIPAL_ROLE_GRANT_FROM_PRINCIPAL_ROLE,LIST_GRANTS_ON_ROOT,ADD_PRINCIPAL_GRANT_TO_PRINCIPAL_ROLE,LIST_GRANTS_ON_PRINCIPAL,ADD_PRINCIPAL_ROLE_GRANT_TO_PRINCIPAL_ROLE,LIST_GRANTS_ON_PRINCIPAL_ROLE,ADD_CATALOG_ROLE_GRANT_TO_CATALOG_ROLE,REVOKE_CATALOG_ROLE_GRANT_FROM_CATALOG_ROLE,LIST_GRANTS_ON_CATALOG_ROLE,LIST_GRANTS_ON_CATALOG,LIST_GRANTS_ON_NAMESPACE,LIST_GRANTS_ON_TABLE,LIST_GRANTS_ON_VIEW. - Changed deprecated APIs in JUnit 5. This change will force downstream projects that pull in the Polaris test packages to adopt JUnit 6.
- Added client id collision check during reset.
- The ExternalCatalogFactory interface has been renamed to FederatedCatalogFactory. Its createCatalog() and createGenericCatalog() method signatures have been extended to include a
catalogPropertiesparameter of typeMap<String, String>for passing through proxy and timeout settings to federated catalog HTTP clients.
Deprecationsđź”—
- The configuration option
polaris.event-listener.typeis deprecated and will be removed later. Please usepolaris.event-listener.typesinstead.