Monthly Snowflake Unofficial Release Notes #New features #Previews #Clients #Behavior Changes
Welcome to the Unofficial Release Notes for Snowflake for August 2025! You’ll find all the latest features, drivers, and more in one convenient place.
As an unofficial source, I am excited to share my insights and thoughts. Let’s dive in! You can also find all of Snowflake’s releases here.
This month, we provide coverage up to release 9.25 (General Availability — GA). I hope to extend this eventually to private preview notices as well.
I would appreciate your suggestions on continuing to combine these monthly release notes. Feel free to comment below or chat with me on LinkedIn.
Behavior change bundle 2025_03 is generally enabled for all customers, 2025_04 is enabled by default but can be opted out until next BCR deployment, and 2025_05 is disabled by default but may be opted in.
What’s New in Snowflake
New Features
- Snowflake Intelligence (Preview), Gain insights and act on data with Snowflake Intelligence agents who answer questions, provide insights, and show visualizations. You can: Create charts and get instant answers using natural language and access and analyze thousands of data sources, including structured and unstructured data together
- Workload identity federation (GA) allows workloads like services, applications, and containers to authenticate to Snowflake without managing long-lived credentials. It offers security similar to External OAuth but is easier to implement. This involves configuring the workload's native identity provider, creating a Snowflake service user, and ensuring the workload uses a Snowflake driver capable of sending an attestation or security token from the identity provider
- Support for stored procedures in data lineage (Preview) extends lineage capabilities beyond data and ML to include process connections between source and target objects. When viewing the lineage graph in Snowsight, you can now get details about a stored procedure that impacted a downstream object. If nested, you can also see details about the top-level stored procedure in the hierarchy
- Private facts and metrics in semantic views, If defining a fact or metric solely for calculations in the semantic view and not for query results, use the PRIVATE keyword to mark it as private. Private facts and metrics cannot be queried or used in query conditions
- Write Once, Read Many (WORM) snapshots (Preview) The Write Once, Read Many (WORM) snapshots feature is now in Preview.
- WORM snapshots represent backups of specific Snowflake tables, schemas, or databases. These backups are immutable and managed as snapshot sets within Snowflake. You can set policies for automatic snapshots, deletions, and protection of key snapshots
Snowsight Updates
- Organization profile updates, Support for creating organization profiles in Snowsight, and allow specific roles in an account to access a profile. When creating organization profiles, you can now assign specific roles within an account that can access the profile
- Snowsight navigation menu updates (Gradual rollout), organized by feature groups under key categories to help you find the tools you need more quickly
- Contacts (GA) associate users with objects like databases and tables, enabling users to contact the right person for help. Each contact, a schema-level object, contains communication details such as email or URL. An object can have multiple contacts if their purposes differ; for example, a table may have one contact for access approval and another for support
- Trust Center email notifications (GA), Configure the Trust Center to send email notifications for violations. You can choose to receive alerts for all enabled scanners in a package or individual scanners, and set the severity level for notifications
- Using the database object explorer in Snowsight to create and manage semantic views (Preview), use the database object explorer to create and manage semantic views
AI Updates (Cortex, ML, DocumentAI)
- Document AI table extraction (GA), Extract tables from various document formats. You can now also export and import CSV files to review table extraction answers more easily
- Cortex Agents: admin configuration UI (Preview), Create an agent from the Agent admin page in Snowsight UI to answer questions and provide insights using a semantic view, model, Cortex Search, or a combination
- Cortex AISQL with AI_TRANSCRIBE (Preview), AI_TRANSCRIBE offers scalable SQL-native speech-to-text AI processing for extracting insights from customer care, healthcare, and meetings. Files are processed directly from object storage, avoiding data transfer, with no infrastructure setup needed for immediate use
- Snowflake ML Jobs (GA) is a framework that uses the Container Runtime from any environment. The ML Jobs SDK allows you to submit and manage jobs with Snowpark Container Services, utilize GPU and high-memory CPU instances for intensive tasks, and work in your preferred environment like VS Code or external notebooks
- Using SQL for Cortex Powered Object Descriptions (Preview), call the stored procedure AI_GENERATE_TABLE_DESC to generate descriptions. It uses Snowflake Cortex COMPLETE to automatically produce descriptions for tables, views, and columns
- Cortex Search Service replication (Preview), Supports replicating Cortex Search Services from a source to multiple target accounts within the same organization. It integrates with Snowflake replication and failover groups for point-in-time consistency on the target
- Distributed processing in Snowflake ML: Many Model Training and Distributed Partition Function, Supports distributed processing for training models and data processing across partitions. Many Model Training (MMT) efficiently trains multiple models on data partitions by specifying a column, training models in parallel. The Distributed Partition Function (DPF) processes data across nodes, partitioning by a column and executing Python functions in parallel
- AI Parse Document layout mode (GA), a fully managed SQL function extracts the layout of the page in Markdown format, preserving text, tables, and structural elements from documents with enterprise-grade accuracy and scale
- AI_EXTRACT function (Preview), Extract information from strings or files using AI_EXTRACT, which retrieves data from unstructured sources like text, images, and documents, such as financial, tax, contract, invoice, medical, marketing, and regulatory records
- Model Registry model deployment UI (Preview), Deploy models directly to SPCS Model Serving from the Model Registry UI and view or suspend the inference service directly from the same interface
Snowflake Applications (Container Services, Notebooks and Applications, Snowconvert)
- Snowpark Container Services in Google Cloud (GA)
- Snowpark Container Services batch jobs (Preview), support for running multiple replicas of a Snowpark Container Services job service
- CORS configuration to enable cross-origin requests to a Snowpark Container Services service (GA)
- New stage volume implementation in Snowpark Container Services (Preview), uses only limited in-memory caching, providing predictable behavior and faster throughput. This version will replace the current implementation. Snowflake recommends evaluating this preview unless your workload requires unsupported random writes or file appends
- Snowflake Native App Framework — MONITOR privilege support for apps (GA), supports granting the MONITOR privilege on an app to a user role or to another app
- Support for Streamlit 1.46 (GA), now supported in Streamlit in Snowflake.
- Support for custom components in Streamlit in Snowflake (Preview), Streamlit in Snowflake now supports custom components that don’t need external service calls
Data Lake Updates
- Set a target file size for Apache Iceberg™ tables (Preview), Set target Parquet file size for Iceberg tables to boost query performance with engines like Spark, Delta, or Trino. Set it during table creation or later with ALTER ICEBERG TABLE
- Apache Iceberg™ tables: Row-level deletes for externally managed tables (GA), Supports row-level deletes with positional delete files for external Iceberg tables. Iceberg engines can update, delete, and merge these tables using copy-on-write and merge-on-read modes. This enhances interoperability between Snowflake and external tools managing Iceberg data, ensuring consistent behavior across compute engines
Realtime Data (Hybrid tables & SnowPostGres)
- Hybrid table storage for Time Travel data, consumption for hybrid table storage now takes into account the data that is retained by Time Travel
- Hybrid table support for periodic rekeying (GA), accounts that contain hybrid tables can enable and use periodic rekeying without any additional configuration
Data Pipelines/Data Loading/Unloading Updates
- Dynamic tables: Support for immutability constraints, enabling control over updates by marking parts as immutable. This prevents updates or deletions, restricts modifications for certain rows, and limits future changes while permitting incremental updates elsewhere
- Dynamic tables: Support for backfill, create a dynamic table with initial data from a regular table. Backfilling is low-cost, zero-copy, making source data immediately available. You can backfill while defining a custom refresh query for future updates. With immutability constraints, backfilled data stays unchanged, even if it no longer matches the upstream source, ensuring persistence
- Apache Arrow library upgraded to 21.0.0; Snowflake 9.23 now uses Apache Arrow 21.0.0 for unloading Parquet data
- Dynamic tables: Support for UNION in incremental refresh mode, The UNION set operator now supports dynamic table incremental refresh, combining UNION ALL and SELECT DISTINCT
- Snowflake Connectors for Microsoft Power Apps (GA), Allows connection to Snowflake from Microsoft Power Apps, Power Automate, Copilot Studio, and other Microsoft apps. The Power Platform enables creating flows and adding actions to run and return results of custom SQL statements in Snowflake
Security, Privacy & Governance Updates
- Sensitive data classification: Automatic classification of a database (GA), set a classification profile on a database so that all tables and views within the database are automatically classified for sensitive data
- Data quality DMF Expectations (GA): Use expectations to set quality checks for a data metric function (DMF). When you associate an expectation with a DMF-object pair, if the DMF's value doesn't meet the expectation, it is flagged as a violation
- Self-service activation of Tri-Secret Secure (GA), Customers with ACCOUNTADMIN can activate or deactivate Tri-Secret Secure for Snowflake using system functions, without Snowflake support. The self-service process also makes managing your customer managed key (CMK) easier
- Support for keys generated with Elliptic Curve Digital Signature Algorithms (ECDSA), For Snowflake authentication methods using cryptographic keys (key-pair and External OAuth), you can generate keys with Elliptic Curve Digital Signature Algorithms (ECDSA) like P-256, P-384, and P-512. These signatures use hash algorithms SHA-256, SHA-384, and SHA-512, respectively
- Data quality: Updated privilege model allows non-owners to associate a data metric function with an object, Users with SELECT privilege on a table or view can now associate it with a data metric function (DMF) for data quality checks, a task previously limited to the owner. This update introduces a new property: EXECUTE AS ROLE, indicating the role the DMF runs with
- Object tags: New limit for allowed values, The ALLOWED_VALUES property of a tag controls which values can be associated with it. This list now allows 5,000 values, up from 300
SQL, Extensibility & Performance Updates
- Enforced join order with directed joins (Preview), Enforce table join order with the DIRECTED keyword. A directed join scans the first (left) table before the second (right). For example, o1 INNER DIRECTED JOIN o2 scans o1 before o2. Use directed joins when migrating workloads with join order directives or to improve performance by controlling join sequence
- Tracing SQL statements run from handler code (GA), traces SQL statements executed with other traced code, like in a stored procedure or user-defined function handler
- Snowflake Scripting user-defined functions (UDFs), create SQL UDFs with Snowflake Scripting, which can be called in SQL statements like SELECT or INSERT, making them more flexible than stored procedures that only use SQL CALL
- ALTER LISTING command to simplify adding and removing targets (GA), You can now modify listings by adding or removing targets (accounts, roles, and organizations) without passing all existing targets. The ALTER LISTING command lets you provide a partial manifest with only the targets to change, using the familiar structures targets, external_targets, and organization_targets from the listing manifest reference
- Querying semantic views (General availability), Use a SELECT statement to query a semantic view, specifying the SEMANTIC_VIEW clause with desired dimensions and metrics. You can also filter results based on dimensions
- Semantic views: To list facts in a semantic view, schema, database, or account, run the SHOW SEMANTIC FACTS command
- Semantic views: Use ALTER SEMANTIC VIEW ... RENAME TO ... to rename a view
- Improved query performance with intelligent workload optimization, which continuously analyzes your workload patterns and automatically applies workload-specific optimizations. Intelligent workload optimization is only available on Snowflake Snowflake generation 2 standard warehouses (Gen2), Enhances the efficiency of queries with commonly used selective predicate patterns
- Preview support for directed joins. You can enforce join ordering when you run a query with the JOIN clause by adding the DIRECTED keyword. Easier migration of workloads with join order directives in Snowflake can improve performance by scanning tables in a specific order
Data Clean Rooms Updates
- Simplified cross-region sharing. Previously, a provider had to call both request_laf_cleanroom_requests and mount_laf_cleanroom_requests_share to get requests from consumers in different regions. Now, they can just call mount_request_logs_for_all_consumers
- Simplified installation by automating service user creation and verification, or reusing existing ones, reducing setup complexity
- Single-account testing allows acting as both provider and consumer in one account for a clean room test, making it easier for users with a single Snowflake account to test clean room code.
- Configurable refresh rates for Cross-Cloud Auto-Fulfillment. The default refresh rate for provider clean room data sent to consumers in other cloud regions has been shortened from 24 hours to 30 minutes. This refresh rate is configurable
Open-Source Updates
- terraform-snowflake-provider 2.6.0 ( Bug fixes : Connection management improvements: connection fixes follow-up, enhance connection management and logging for secondary connections, fix updating privileges in grant_privileges_to_account_role, small failover group fixes, adjust PAT alter after fixes in Snowflake, Improvements : change convert signature, upgrade go Snowflake driver, update migration guide, import docs, and task tests; Misc : Test improvements: add manual test for consumption billing entity, address skipped tests, adjust architests after moving acceptance tests to a separate package, adjust security integration tests, fix check destroy logic, fix unsafe query integration test, move more task tests to account level, remove unnecessary TestAccPreCheck, run functional tests after setting up Terraform, use DropSafely in test setup helpers, code cleanup and refactoring, clean up all TODOs created during Terraform Plugin Framework and RestAPI research, clean up TODO comments left with “next PR” without issue number, sweeper adjustments, Nuke roles, databases, warehouses, shares, and network policies, add new database to the protected databases in sweepers, sweep security integrations, find versions of provider in gh organization, add new roadmap entry)
- Modin 0.32.0 ()
- Snowflake VS Code Extension 1.19.0 (Public Preview release of Snowpark Migration Accelerator Migration Assistant: resolve Snowpark Migration Accelerator migration issues with the assistance of Snowflake Cortex AI, browse for conversion issues in the current workspace using the new SMA issues panel, interact with Cortex to generate explanations and recommendations using new SMA Assistant WebView, enable this feature in your settings via the snowflake.snowparkMigrationAcceleratorAssistant.enabled property, configurable AI model preferences with automatic fallback support for Claude 3.7 Sonnet, Claude 3.5 Sonnet, Claude 4 Sonnet, Llama 3.1 70B, and Mistral Large 2, prioritize SNOWFLAKE_HOME environment variable for determining connection configuration file location to conform to documented driver behavior)
- Snowflake VS Code Extension 1.18.0 (Private Preview release of Snowpark Migration Accelerator Migration Assistant: resolve Snowpark Migration Accelerator migration issues with the assistance of Snowflake Cortex AI, browse for conversion issues in the current workspace using the new SMA issues panel, interact with Cortex to generate explanations and recommendations using new SMA Assistant WebView)
- Streamlit 1.49.0 (Breaking Changes: clean up experimental dialog, fragment and widget replay, deprecate st.bokeh_chart in favour of streamlit-bokeh , allow editing of ListColumn via st.data_editor , New Features: [feat] Add configurable websocket ping interval to fix proxy connection drops, add directory support for st.file_uploader, add support for sparkline charts to st.metric , [feat] Simplify all copy to clipboard handling, allow setting duration for st.toast , [AdvancedLayouts] Updates dataframe and data editor to the new style for width and height, add an option for a wider st.dialog , add single- and multi-cell selections to st.dataframe , show check icon on column name copy , added st.pdf , add single- and multi-cell selection options to st.dataframe , add key to st.form_submit_button , add toolbar action to show underlying vega chart data, [AdvancedLayouts] Updates to st.image width/height and adding width/height to st.pyplot, add yellow to text/background/badge/divider color options, add explicit support for Pydantic models in cache_data/resource, add directory upload support to st.chat_input, update slider value on mouse release, add format_func support to SelectboxColumn , [AdvancedLayouts] Adds a width parameters to graphviz charts, allow select all/ deselect all when hiding dataframe columns from UI; Bug Fixes: [fix] Skeleton width should be full screen, [fix] st.chat_input collapses after submit, [fix] iframe and html change in default width when no width specified, [Fix] st.toast handles custom theming, [fix] Do not allow removing already uploaded files when disabled, ensure narrow currency symbol is used for formatting by, revert “Make st.logout use end_session_endpoint if provided in OIDC config (#11901)”, [fix] Allow dismissing connection error dialog (and not having it continue to pop up), [fix] Cache layout_config data and use during replay, update st.page_link radii config, single mark charts use first of chartCategoricalColors , [fix] File Upload Drop Target truncates subtext, update credentials.py: try to fix showEmailPrompt in case where there is no email, [fix] Selectbox with accept_new_options on mobile shows keyboard, [fix] PlotlyChart with null value selection works properly , fix: prevents underlying column menu from opening when column visibility menu is open for st.dataframe , apply radii from theme to CheckboxColumn , [fix] Log deprecation warning for use_container_width in st.dataframe)
- Streamlit 1.49.1 (small fixes)
- Streamlit 1.48.0 (small fixes)
Client, Drivers, Libraries and Connectors Updates
New features:
- Snowflake Connector for Google Analytics Raw Data 2.11.2 (Improved the logging for the connector operations. This improved logging includes the following more detailed information about BigQuery streaming downloads: Download progress percentage, Throttling information, Amount of data downloaded in each batch)
- .NET Driver 4.8.0 (Added support for workload identity federation in the AWS, Azure, Google Cloud, and Kubernetes platforms, Added the WORKLOAD_IDENTITY_PROVIDER connection parameter, Added WORKLOAD_IDENTITY to the values for the authenticator connection parameter, Added support of single use refresh tokens during the OAuth flow)
- Go Snowflake Driver 1.16.0 (Added support for workload identity federation in the AWS, Azure, Google Cloud, and Kubernetes platforms, Added the WorkloadIdentityProvider connection parameter, Added AuthTypeWorkloadIdentityFederation to the values for the authenticator connection parameter, Added support for CRL (certificate revocation list): CRL specifies the certificates that a given CA explicitly revoked. This driver now uses either CRL or OCSP to verify TLS certificates, CRL is disabled by default. Please review the CRL Enablement Guideline in this KB article https://community.snowflake.com/s/article/Replacing-OCSP-with-CRL-as-the-method-of-certificate-revocation-checking and test in advisory mode before production use, Added support for opt-in single-use refresh tokens in the OAuth flow, Implemented a connectivity diagnostic tool, Added a session ID to logs produced by the connection and heartbeat modules, Added the RegisterTLSConfig function that lets you pass your own TLSConfig for the driver to use, Removed the dependency to static list of root CAs for OCSP checking. Now, the default list of root CAs is used)
- Ingest Java SDK 4.2.0 (Improved the reliability of streaming ingest into Iceberg tables, ensuring that your data is consistently uploaded to the correct location, improved how the SDK manages table keys, which ensures that our system stays in sync and helps maintain the stability and security of your tables, improved system stability for high-volume data by allowing connections to retry for up to five minutes, preventing immediate closures)
- JDBC Driver 3.26.1 (Added support for TLS version 1.3, including the following parameter: MIN_TLS_VERSION specifies the minimum SSL/TLS version to use when initiating a TLS handshake, MAX_TLS_VERSION specifies the maximum SSL/TLS version to use when initiating a TLS handshake)
- JDBC Driver 3.26.0 (Added support for workload identity federation in the AWS, Azure, Google Cloud, and Kubernetes platforms, Added the workloadIdentityProvider connection parameter, Added WORKLOAD_IDENTITY to the values for the authenticator connection parameter)
- Node.js 2.2.0 (Added support for Workload Identity Federation in the AWS, Azure, Google Cloud, and Kubernetes platforms, added the workloadIdentityProvider connection parameter, added WORKLOAD_IDENTITY to the values for the authenticator connection parameter, added the queryTag connection parameter to set the QUERY_TAG session parameter)
- ODBC 3.11.0 (Added support for workload identity federation in the AWS, Azure, Google Cloud, and Kubernetes platforms, added the workload_identity_provider connection parameter, added WORKLOAD_IDENTITY to the values for the authenticator connection parameter, added the following configuration parameters: DisableTelemetry to disable telemetry, SSLVersionMax to specify the maximum SSL version, added the PRIV_KEY_BASE64 and PRIV_KEY_PWD connection parameters that allow passing a base64-encoded private key)
- PHP PDO Driver for Snowflake 3.3.0 (Added ARM64 support for Linux, added support for the Easy Logging feature in a configuration file)
- Snowflake CLI 3.11.0 (Added the snow connection remove command, added support for the runtime_environment_version field in notebook entity configurations to let you specify runtime environment version for containerized notebooks, added the snow auth oidc commands for managing workload identity federation authentication: snow auth oidc read-token to read and display OIDC tokens from CI/CD environments, also included GitHub Actions provider support in these commands for password-less authentication in CI/CD pipelines)
- Snowflake Connector for Python 3.17.0 (Added support for workload identity federation in the AWS, Azure, Google Cloud, and Kubernetes platforms, added the workload_identity_provider connection parameter, added WORKLOAD_IDENTITY to the values for the authenticator connection parameter, added an unsafe_skip_file_permissions_check flag to skip file permission checks on the cache and configuration, added basic JSON support for Interval types, added populating of type_code in ResultMetadata for interval types, relaxed the pyarrow version constraint; versions >= 19 can now be used, introduced the snowflake_version property to the connection, added support for the use_vectorized_scanner parameter in the write_pandas function, added support of proxy setup using connection parameters without emitting environment variables)
- Snowflake Connector for Python 3.17.1 (Added the infer_schema parameter to write_pandas to perform schema inference on the passed data)
- Snowpark Library for Python 1.37.0 (Added support for the following xpath functions in functions.py:xpath, xpath_string, xpath_boolean, xpath_int, xpath_float, xpath_double, xpath_long, xpath_short, added support for the use_vectorized_scanner parameter in the Session.write_arrow() function, dataFrame profiler adds the following information about each query: describe query time, execution time, and sql query text. To view this information, call session.dataframe_profiler.enable() and call get_execution_profile on a DataFrame, added support for DataFrame.col_ilike, added support for non-blocking stored procedure calls that return AsyncJob objects, added the block: bool = True parameter to Session.call(). When block=False, returns an AsyncJob instead of blocking until completion, added the block: bool = True parameter to StoredProcedure.__call__() for async support across both named and anonymous stored procedures, added Session.call_nowait() that is equivalent to Session.call(block=False); Snowpark pandas API Updates: Added support for efficient transfer of data between Snowflake and <Ray with the DataFrame.set_backend method. The installed version of modin must be at least 0.35.0, and ray must be installed, Updated the supported modin versions to >=0.34.0 and <0.36.0 (was previously >= 0.33.0 and <0.35.0), added support for pandas 2.3 when the installed modin version is 0.35.0 or greater)
- Snowpark Library for Python 1.36.0 (Session.create_dataframe now accepts keyword arguments that are forwarded in the internal call to Session.write_pandas or Session.write_arrow when creating a DataFrame from a pandas DataFrame or a pyarrow table, added new APIs for AsyncJob:AsyncJob.is_failed() returns a bool indicating whether a job has failed. Can be used in combination with AsyncJob.is_done() to determine if a job is finished and erred,AsyncJob.status() returns a string representing the current query status (such as, “RUNNING”, “SUCCESS”, “FAILED_WITH_ERROR”) for detailed monitoring without calling result(), added a DataFrame profiler. To use, you can call get_execution_profile() on your desired DataFrame. This profiler reports the queries executed to evaluate a DataFrame and statistics about each of the query operators. Currently an experimental feature, added support for the following functions in functions.py:ai_sentiment, updated the interface for the context.configure_development_features experimental feature. All development features are disabled by default unless explicitly enabled by the user; Improvements: Hybrid execution row estimate improvements and a reduction of eager calls, added a new configuration variable to control transfer costs out of Snowflake when using hybrid execution, added support for creating permanent and immutable UDFs/UDTFs with DataFrame/Series/GroupBy.apply, map, and transform by passing the snowflake_udf_params keyword argument. added support for mapping np.unique to DataFrame and Series inputs using pd.unique )
- Snowpark ML 1.11.0 (New Model Registry features: Made image_repo argument optional in ModelVersion.create_service. If not specified, a default image repository is used)
- Snowpark ML 1.10.0 (New Model Registry features: Added progress bars for ModelVersion.create_service and ModelVersion.log_model, logs from ModelVersion.create_service are now written to a file. The location of the log file is shown in the console)
- SnowSQL 1.4.5 (added support for workload identity federation in the AWS, Azure, Google Cloud, and Kubernetes platforms, added the workload_identity_provider connection parameter, added WORKLOAD_IDENTITY to the values for the authenticator connection parameter)
Bug fixes:
- .NET Driver 4.8.0 (Removed trailing slash from the default RedirectUri within the OAuth Authorization process, Fixed a problem with ignoring endpoint override in AWS FIPS deployments)
- Go Snowflake Driver 1.16.0 (Fixed an issue where error messages were not displayed while reading in structured types, fixed a memory leak in the arrow batches example, fixed issues with query cancellation, removed the trailing slash from the default RedirectUri within the OAuth Authorization process, fixed an issue with ignoring the maximum retry count when the timeout is not set)
- Ingest Java SDK 4.3.0 (Fixed vulnerable dependencies)
- JDBC Driver 3.26.1 (Fixed an issue with a NullPointerException when MFA is enabled in Okta and native Okta authentication is used, fixed an issue with CloseableHttpClient being cached indefinitely, Increased netty to version 4.1.124)
- JDBC Driver 3.26.0 (Fixed the OAuth Authorization Code’s default value for redirect URI removing a trailing / (slash) to be compliant with RFC 6749 Section 3.1.2.
- Fixed a bug resulting in NullPointerException when using SnowflakeChunkDownloader with connection pooling, fixed a bug preventing the use of auto-config with connection pooling, fixed a bug preventing application termination immediately because of telemetry threads, forced proxy basic authentication for an S3 client, removed the requirement for SF_ENABLE_EXPERIMENTAL_AUTHENTICATION environment variable in order to use workload identity federation, fixed array binding for the Date datatype)
- Node.js 2.2.0 (Fixed a network error when connecting with an expired OAuth access token, fixed the OAuth Authorization Code’s default value for redirect URI by removing a trailing / (slash) to be compliant with RFC 6749 Section 3.1.2, improved errors for GET commands)
- ODBC 3.11.0 (Fixed an issue with the in-band telemetry event handler to properly reset the events, fixed the HTTP headers used to authenticate via OKTA, removed the trailing slash from the default RedirectUri within the OAuth Authorization process)
- Snowflake CLI 3.10.1 (Fixed snow dbt deploy command to properly handle fully qualified names, fixed snow dbt deploy command to properly handle local directories with dots in names)
- Snowflake Connector for Python 3.17.0 (Fixed OAuth authenticator values, fixed a bug where a PAT with an external session authenticator was used while external_session_id was not provided in SnowflakeRestful.fetch, fixed the case-sensitivity of Oauth and programmatic_access_token authenticator values, fixed unclear error messages for incorrect authenticator values, fixed GCS staging by ensuring the endpoint has a scheme, fixed a bug where time-zoned timestamps fetched as a pandas.DataFrame or pyarrow.Table would overflow due to unnecessary precision. A clear error is now raised if an overflow cannot be prevented)
- Snowflake Connector for Python 3.17.1 (Reverted the snowflake namespace back to non-module)
- Snowflake Connector for Python 3.17.2 (Added the ability to disable endpoint-based platform detection by setting platform_detection_timeout_seconds to zero, fixed a bug where platform_detection was retrying failed requests with warnings to non-existent endpoints)
- Snowpark Library for Python 1.37.0 (fixed a bug in CTE optimization stage where deepcopy of internal plans would cause a memory spike when a DataFrame is created locally using session.create_dataframe() using large input data, fixed a bug in DataFrameReader.parquet where the ignore_case option in the infer_schema_options was not respected, fixed a bug where to_pandas() had a different format of column name when the query result format is set to JSON and ARROW, deprecated: pkg_resources, added a dependency on protobuf<6.32Snowpark pandas API Updates: Fixed an issue in hybrid execution mode (Private Preview) where pd.to_datetime and pd.to_timedelta would unexpectedly raise IndexError, fixed a bug where pd.explain_switch would raise IndexError or return None if called before any potential switch operations were performed)
- Snowpark Library for Python 1.36.0 (fixed an issue where the Snowpark pandas plugin would unconditionally disable AutoSwitchBackend even when users have explicitly configured it programmatically or with environment variables)
- Snowpark ML 1.11.0 (ML Jobs bug fixes: fixed TypeError: SnowflakeCursor.execute() got an unexpected keyword argument ‘_force_qmark_paramstyle’ inside stored procedure, fixed Error: Unable to retrieve head IP address when not all instances start within the timeout period)
Conclusion
That’s a big month. August 2025 tightened the core and pushed the edges at the same time: security and governance got simpler to roll out (workload identity federation, Tri-Secret self-service, database-level auto-classification), pipelines became more controllable (dynamic tables with backfill and immutability), lineage grew up (stored procedures in graphs), and AI moved from “neat” to “operational” (Cortex Agents UI, AISQL transcribe, DocumentAI table extraction, ML Jobs GA). On the platform surface, Snowsight continues to pull more of the dev and governance loop into one place (contacts, Trust Center emails, semantic view tooling), while data lake and performance work (Iceberg targets and deletes, directed joins, Gen2 optimizations) make hybrid, high-throughput setups feel first-class.
If you want quick wins this month, do this:
- Roll out workload identity federation to one non-prod service and bump drivers to the latest.
- Pilot dynamic table backfill + immutability on a small mart; document the refresh contract.
- Mark non-exposed calculations in semantic views as PRIVATE, and start querying them directly from SQL.
- Turn on Trust Center notifications and database-level classification in a sandbox.
- Test directed joins for a legacy workload where join order matters.
- Kick the tires on ML Jobs GA or the Cortex Agent admin UI with a narrow, high-value use case.
- If you work with iceberg engines, set the Iceberg target file size and validate external row-level deletes.
BCR status this cycle: 2025_03 generally enabled; 2025_04 on by default (opt-out until next BCR); 2025_05 opt-in. Plan your change windows accordingly.
I’ll keep aggregating these releases and adding context you can use in the field. Tell me what you shipped — or where you’re stuck — and I’ll add that feedback into next month’s notes.
I am Augusto Rosa, a Snowflake Data Superhero and Snowflake SME. I am also the Head of Data, Cloud, & Security Architecture at Archetype Consulting. You can follow me on LinkedIn.
Subscribe to my Medium blog https://blog.augustorosa.com for the most interesting Data Engineering and Snowflake news.
Sources:
- https://docs.snowflake.com/en/release-notes/preview-features
- https://docs.snowflake.com/en/release-notes/new-features
- https://docs.snowflake.com/en/release-notes/sql-improvements
- https://docs.snowflake.com/en/release-notes/performance-improvements-2024
- https://docs.snowflake.com/en/release-notes/clients-drivers/monthly-releases
- https://docs.snowflake.com/en/release-notes/connectors/
- https://marketplace.visualstudio.com/items?itemName=snowflake.snowflake-vsc
- https://docs.snowconvert.com/sc/general/release-notes/release-notes

Top comments (0)