Release Notes
This is the list of changes to Taipy releases as they were published.
Migration
Please refer to the Migration page for potential migration paths for your applications implemented on legacy Taipy versions.
Legacy Releases
This page shows the changes made in the most recent major release of Taipy.
If you are using a legacy version (pre-4.0), please refer to the
Legacy Release Notes page.
Note that we support the latest major version and the one before that. Because we have released Taipy 4.0, support and documentation for Taipy versions older than 3.0 are disrupted.
Community edition: 4.0¶
Published on 2024-10.
taipy
4.0 depends on the latest
taipy-common
4.0,
taipy-gui
4.0,
taipy-core
4.0,
taipy-templates
4.0, and
taipy-rest
4.0 packages.
Upgrading to Taipy 4.0 from 3.x
Due to changes in Taipy's package structure in version 4.0, the previous version of the
taipy-config
package may not be automatically removed during the upgrade process. This could
lead to runtime issues as the system may attempt to reference outdated dependencies.
To ensure a clean installation, please manually uninstall Taipy 3.x and then install a fresh Taipy 4.0.
New Features¶
taipy
4.0.0
The User Experience of the Scenario and Data management controls have been greatly improved by the following new functionalities:
- Scenario Selector:
- Multiple selection is now available.
See the multiple property for more details. - Users can now filter scenarios in the list.
See the section on Filtering for more details. - Users can now sort scenarios in the list.
See the section on Sorting for more details. - Users can now search scenarios in the list
See the section on Searching for more details.
- Multiple selection is now available.
- Data Node Selector:
- Multiple selection is now available.
See the multiple property for more details. - Users can now filter data nodes in the list.
See the section on Filtering for more details. - Users can now sort data nodes in the list.
See the section on Sorting for more details. - Users can now search data nodes in the list
See the section on Searching for more details.
- Multiple selection is now available.
- Data Node Viewer:
- Users can now upload and download data of file-based data nodes.
- Job Selector:
- A new detail panel has been added to the job selector.
taipy-gui
4.0.0
- A new control,
metric
, has been added to represent significant numerical information, such as industrial KPIs. - A new control,
progress
, has been added to provide a compact representation of a process's progress. - A new control,
chat
, has been introduced to simplify the development of chat-based applications. - The
table
control has new features:- Built-in edit functionality are now available for all supported data types. You no longer need
to define functions for the
on_edit,
on_add, and
on_delete properties. However,
you can still customize these actions by providing your own functions.
Please read this section for more details. - A new indexed property,
format_fn[column_name]
allows you to define a custom Python function to format cell values.
Please look at the example code for details. - A new property, use_checkbox,
can be set to True to display checkboxes in cells containing Boolean values.
This significantly reduces the rendering time for large tables with Boolean columns.
- Built-in edit functionality are now available for all supported data types. You no longer need
to define functions for the
on_edit,
on_add, and
on_delete properties. However,
you can still customize these actions by providing your own functions.
- You can define CSS rules for individual pages using the new style parameter of the
Page
class or via thePage.set_style()
method.
See the section on Styling for more information. - List-of-values can now be built directly from enumeration classes.
See the section on enumerated LoVs for more information.
taipy-core
4.0.0
-
The
taipy.get_scenarios()
andtaipy.get_primary_scenarios()
methods now accept optional parameters to:- sort the output list of scenarios by name, id, creation date, or tag
- filter the output list of scenarios that are created in a specific time range.
See issue #393.
For more information, please refer to Get all scenarios and Get primary scenarios.
-
The
Job
andSubmission
entities have new attributes based on the record of job status changes. For more information on job statuses, please refer to Job Status. See issue #1704 and issue #1544.- The
Job
entity exposes the following timestamp attributes: submitted_at, run_at, finished_at. - The
Job
entity exposes the following duration attributes: execution_duration, pending_duration, and blocked_duration. - The
Submission
entity exposes the following timestamp attributes: submitted_at, run_at, finished_at. - The
Submission
entity exposes the execution_duration attribute.
- The
-
Expose an Abstract class
CoreEventConsumerBase
to implement a custom event consumer.
See issue #405.
A consumer can be used to listen to Taipy events (mainly CRUD operations on Taipy entities) and react to them. For more information, please refer to the Track activities and Trigger actions documentation page.
taipy-templates
4.0.0
- Creating a new application using any template now also supports initializing the application as a Git repository.
Improvements and changes¶
taipy
4.0.1
- The impact of the
show_properties
property of the
data_node
control was changed. This property now controls whether the "Properties" tab is visible.
To show or hide the list of custom properties in the "Properties" tab, you must now use the show_custom_properties property.
4.0.0
- Taipy and all its dependencies now stop support Python 3.8.
The minimum supported Python version is now 3.9. - Taipy package structure has been reorganized. The dependency on
taipy-config
has been removed. Taipy now depends on a newtaipy-common
package that includes the configuration features among the common code shared by alltaipy
,taipy-gui
, andtaipy-core
packages.
taipy-gui
4.0.2
- The chat control now automatically scrolls down to the last received message unless the user
has decided otherwise.
See issue #2281. - The metric control now supports geometry adjustments.
See issues #2141 and #2142. - The Stylekit consistency across elements has been enforced.
See issue #2305.
4.0.1
- Setting up styling:
If a file namedtaipy.css
is located in the same directory as the Python script (<app>.py
) running a Taipy GUI application, and no<app>.css
file exists in the same location, this CSS file will be loaded and applied to all pages. This enables sharing styles across different Taipy GUI applications.
See issue #1597 for more details and the section on Styling.
4.0.0
- Setting up styling:
If a file namedtaipy.css
is located in the same directory as the Python script (<app>.py
) running a Taipy GUI application, and no<app>.css
file exists in the same location, this CSS file will be loaded and applied to all pages. This enables sharing styles across different Taipy GUI applications.
See issue #1597 for more details and the section on Styling. - The style and style[column_name] properties of the
table
control have been renamed to row_class_name and cell_class_name[column_name], respectively. A warning message is issued if you use these properties. - Most visual elements now implement the width property, simplifying page layout.
See issue #1720. - The
input
control has a new type property, allowing you to specify the expected input type (e.g., email address, URL). - The
pane
block now includes a new property, show_button. When set to True, a persistent open button appears on the page when the pane is closed, eliminating the need for an external control to open the pane. - The Modebar in the
chart
control (visible when the chart is hovered over) no longer includes the Plotly logo button by default. To restore it, set the plot_config property to a dictionary with"displaylogo": True
.
See issue #1600. - The decimator property of the
chart
control now applies to traces that are only "lines" or "markers". - A new toggle button has been added to the
login
control, enabling users to show or hide the entered password. - Page Builder API:
- Properties that expect a function can now be set to a lambda function in the Page Builder
API to simplify dynamic generation.
See issue #1379. - Controls defined with the Page Builder API have an additional property called inline which,
when set to True, will not generate a line skip, to facilitate layout.
See issue #1725.
- Properties that expect a function can now be set to a lambda function in the Page Builder
API to simplify dynamic generation.
- The configuration of the
Gui
object was improved for easier deployment:- The port configuration
parameter can now be set to "auto". When
Gui.run()
is executed with this setting, it will attempt to find an available port by automatically trying different port numbers. - A new configuration parameter, port_auto_ranges, allows specifying the range of port numbers that Taipy GUI will search when port is set to "auto".
- The port configuration
parameter can now be set to "auto". When
taipy-core
4.0.0
- In standalone job execution mode, the default value of max_nb_of_workers is now 2 instead of 1. For more information, please refer to Job execution configuration.
- In standalone job execution mode, the workers are started in a separate process are now started in "spawn" mp_context instead of the default from the system.
- The
Core
service has been deprecated and renamedOrchestrator
. TheCore
service is still available for backward compatibility but will be removed in a future release.
See issue #1567. - When using the Taipy command-line interface, if an unsupported argument is provided, the CLI will display a message indicating the invalid argument. If the invalid argument is possibly a typo, the CLI will suggest the closest valid argument.
- The
Scenario.export()
andtaipy.export_scenario()
functions have been transferred from the Community edition to the Enterprise edition as it is more suitable for enterprise applications. - The production mode and the migration configuration of the version management system has been transferred from the Community edition to the Enterprise edition as it is more suitable for enterprise applications.
- Support for the SQL repository was removed. Taipy Community edition now only supports the
filesystem
repository type.
See issue #1513. - Support for different encodings in
S3ObjectDataNode
.
See issue #680. - Reading an
ExcelDataNode
is more consistent across the various expose types.
See issue #796. - Two scenarios belonging to the same cycle can now have the same tag.
See issue #1292. - The custom properties of a
Scenario
are not exposed as attribute anymore.
See issue #1572. - Methods and functions returning a Boolean value and related to entities now return
a
ReasonCollection
object, which is a set ofReason
instances. Each reason contains a message explaining why the returned value isFalse
. The collection is empty if the value isTrue
.
Examples:is_deletable()
,exists()
,is_readable()
etc. See issue #1568. - The
Config.check()
method now raisesERROR
issues if any data node, task, or sequence of aScenarioConfig
has the same configuration id as another one in the sameScenarioConfig
, or any additional property of any configuration has the same name as one of the attributes of the configuration class.
See issue #1696 and issue #411.
For more information on checkers, please refer to Configuration checker.
taipy-templates
4.0.0
- The --template option of the
taipy create
command is now renamed to --application option to correctly reflect the application template to use when creating a new Taipy application.
See issue #1472.
Significant bug fixes¶
taipy
4.0.2
- Completed submissions may be notified twice.
See issue #2152.
4.0.1
- Scenario selection becomes impossible in the
scenario_selector
control after creating a new Scenario.
See issue #2169. - The Delete button of the "Edit scenario" dialog of the
scenario_selector
control is disabled when it should not be.
See issue #1995. - A warning is issued when a scenario is created from the
scenario_selector
control.
See issue #2009. - Scenario management controls may not be fully recognized by linters or auto-completion features in
some IDEs.
See issue #1620.
taipy-gui
4.0.2
- Boolean values are not properly represented in
table
controls when the use_checkbox property is set to True.
See issue #2257. - Lambda functions may fail to locate state variables or local functions.
See issue #2212 and issue #2242. table
controls do not consistently apply new column widths.
Additionally, a new sortable property was introduced, allowing developers to disable the sorting functionality. This change reduces the space required in column headers, enabling narrower column widths.
See issue #2286.- Charts may swap data columns where refreshed with
rebuild.
See issue #2302.
4.0.1
- The
-H
command line option is broken.
You must use the long--host
option instead to specify the server hostname. - The id and payload parameters of the
on_action
callback functions are swapped.
See issue #2045. - The chart control refresh may stop rendering automatically if too many data changes are
requested. The page must be refreshed manually.
See issue #1992. - Aggregation in a table control may raise an error if the table has columns holding dates.
See issue #1994. - Table columns are too narrow if there are many.
See issue #2082. - Styling is not applied to a
table
control if its rebuild property is set to True.
See issue #2005.
4.0.0
- The value of multiline
input
controls is cleared when the ENTER key is pressed.
See issue #1762. - The
chart
control properly handles its selected property in the case it uses the figure property.
See issue #1786. - Indexed properties can be used in the Page Builder API as described in the information box in
this section.
See issue #1715. - Binding to an element of a collection is now supported.
See issue #1785.
taipy-core
4.0.2
- Some data node update events were not correctly published on the notifier.
See issue #2319. - Running a Taipy application on a Unix base Docker container with file data nodes (csv, excel,
json, etc.) created on a windows host machine will raise an error because the path is not
recognized by the python interpreter.
See issue #2267.
4.0.0
DataNode.is_up_to_date()
raises an error when the data node has never been written.
See issue #1198.- Reload the cache on all _build_manager() methods when the repository_type is changed.
See issue #1692
taipy-templates
4.0.0
- The first cli option of the
taipy create
command is skipped if it's before the positional argument.
See issue #1687.
Enterprise edition: 4.0¶
Published on 2024-10.
This release contains all of taipy
4.0 as well as
additional features.
New Features¶
- Authentication now supports
Microsoft Entra ID
including SSO and GUI integration.
For more information, please refer to Microsoft Entra ID protocol section of the user manual. - Support for Polars DataFrame Library.
Tabular data nodes (CSVDataNode
,ParquetDataNode
,ExcelDataNode
,SQLTableDataNode
, andSQLDataNode
) can now expose the data as Polars objects. They all supportpolars.LazyFrame
,polars.DataFrame
orpolars.Series
as exposed type through the exposed_type configuration attribute.
Thetable
andchart
` controls both have native support for these tabular data types as well. - The new
taipy.import_scenario()
function can be used to import a scenario from an exported archive. For more information, please refer to Import a scenario. - The default application template now supports authentication and authorization features.
Improvements and changes¶
- The
taipy.export_scenario()
function now:- exports a zip archive instead of a folder.
- supports exporting file-based data nodes' data to the exported archive if the path exists.
- raises the
ExportPathAlreadyExists
exception if the export path already exists. You can explicitly set the overwrite parameter to True to overwrite the existing export path. For more information, please refer to Export a scenario.