MaestroHub 2.6.5 Release Notes
MaestroHub 2.6.5 makes the Microsoft Fabric (OneLake) connector work end to end for Parquet. Two bugs meant a Parquet file written by a pipeline could not be opened by Fabric at all; both are fixed. The release also adds a lakehouse file browser, the ability to read Parquet back inside a pipeline, and a table preview of Parquet results. Your pipelines, connectors and dashboards from 2.6.4 continue to work exactly as before.
What's Fixed in 2.6.5
Microsoft Fabric (OneLake)
-
Binary files are no longer corrupted on write — Writing a Parquet, Excel or image file to a lakehouse produced a file no reader could open. The Write File function received its content as text and uploaded it verbatim, so a binary payload landed as the encoded characters rather than the file itself. There was no error: the write reported success and the damage only surfaced when something tried to read the file.
Write File now has an Input Format setting: leave it on Text for CSV, JSON or any text content, and set it to Base64 for binary. The Convert to File node always produces Base64 for Parquet and Excel, so those pipelines need this set.
Good to know. The default is Text, so existing functions behave exactly as they did. Only binary payloads need the change. If you set Base64 and the content is not valid Base64, the call now fails and tells you, instead of silently writing the wrong bytes. The Max File Size limit is also measured against the decoded file rather than the encoded text, so a file just under the limit is no longer rejected for being a third larger than it really is.
-
Parquet timestamps are now readable by Fabric — Timestamp columns were written with nanosecond precision. Microsoft Fabric, and every Spark-based engine, supports millisecond and microsecond timestamps only, and Delta Lake tables require microseconds. A file with a timestamp column could therefore not be previewed in Fabric and failed Load to Tables with an
InvalidTableerror.Timestamps are now written with microsecond precision, which Fabric, Databricks, Synapse, pandas and DuckDB all read.
Good to know. Timestamps written before this release keep their nanosecond precision — rewriting the file through a pipeline produces a readable one. Sub-microsecond precision is not preserved on write, which is not a meaningful loss for pipeline or OT data.
What's New in 2.6.5
Browse a lakehouse instead of typing paths
Every OneLake function's Path field now has a Browse button that opens a file explorer over the lakehouse: breadcrumbs, folder navigation, file sizes and modified dates, and search within a folder.
This matters most when the credentials are all you have. Setting up a connection against a customer tenant you cannot open in the Fabric portal previously meant typing paths blind and finding out at execution time whether they were right.
The picker adapts to the operation. Read File and Delete Path ask you to pick an existing file; List Paths asks for a folder; Write File and Create Directory let you browse to a folder and type a name that does not exist yet.
Good to know. Switch the toggle to Manual to type a path directly — this is what you want for ((parameter)) templates, which a browser cannot represent because they are only resolved when the pipeline runs. The field starts in Manual automatically when the current value already contains one.
Read Parquet files inside a pipeline
The File Extractor node now accepts Parquet alongside CSV and Excel, so a pipeline can read a Parquet file back — from a lakehouse, object storage, or anywhere else that returns file content.
Parquet carries its own schema, so column names come from the file rather than from a header row, and the Headers tab explains that instead of showing options that cannot apply. Column types are reported in the node's output metadata; the cells themselves arrive as text, so filters and column selection work exactly as they do for CSV.
Good to know. An extract returns at most one million rows. Parquet is compressed, so a small file can hold far more rows than its size suggests. When the limit is reached the output says so and reports how many rows the file actually contains, rather than quietly returning part of it.
See what is in a Parquet file without leaving the dialog
Testing a Read File function on a .parquet path used to return a screen of encoded text, which told you nothing about whether the file was the one you wanted. The result panel now has a Table view next to JSON and Graph, showing the decoded rows with their column names and source types.
Good to know. The Table view appears only for Read File on a path ending in .parquet, and it shows the first 100 rows. Empty cells are shown as null so they are distinguishable from blank text.
Getting Started
Download a native binary or pull the Docker image and follow the Getting Started guide to have MaestroHub running in minutes.