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 that were made in the most recent major release of Taipy.
If you are using a legacy version (pre-3.0), please refer to the
Legacy Release Notes page.
Community edition: 3.1¶
Published on 2024-03.
taipy
3.1 contains the latest
taipy-config
3.1,
taipy-gui
3.1,
taipy-core
3.1,
taipy-templates
3.1, and
taipy-rest
3.1 packages.
New Features¶
taipy
3.1.0
- Taipy and all its dependencies now support Python 3.12.
See Python documentation for details.
taipy-gui
3.1.0
- The
chart
control has a new property called figure that expects an instance ofplotly.graph_objects.Figure
. This class is provided by the Plotly Open Source Graphing Library for Python so you can create all sorts of graphs in Python.
See thefigure
property of thechart
control and the section on the figure property for more information. - The
part
block has a new property called content that lets developers integrate any third-party library that can generate HTML.
See the documentation for thepart
block and the examples using content providers for more information. - A new control called
date_range
is available if you need to represent and edit date ranges in your application pages. - A new control called
login
is available if you need users to authenticate in your application.
taipy-core
3.1.0
- The
DataNode.filter()
method and the indexing/filtering style now also support filtering a Numpy array, a list of objects, and a list of dictionaries.
For more information, please refer to Filter a data node. - You can now append new data to a data node using the
DataNode.append()
method. The method is available forCSVDataNode
,ExcelDataNode
,JSONDataNode
,ParquetDataNode
,SQLDataNode
,SQLTableDataNode
, andMongoCollectionDataNode
.
For more information, please refer to Append a data node. - A new class called
Submission
holds meta-data (such as its status or submission date) related to a submitted entity:Scenario
,Sequence
, and/orTask
.
The functiontaipy.get_latest_submission()
returns the last submission of a given entity.
For more information, please refer to Submission. taipy.submit()
,Scenario.submit()
,Sequence.submit()
, andTask.submit()
now return aSubmission
entity.- A new predefined data node named
S3ObjectDataNode
has been implemented.
For more information, please refer to S3ObjectDataNode.
Improvements and changes¶
taipy
3.1.0
- Task nodes in the
scenario_dag
control dynamically reflect the status of related jobs for the user that submitted scenarios or sequences. - The
scenario
control lets you add, modify, and edit sequences. - The
data_node
control can now represent collections.
taipy-gui
3.1.0
- The
table
control supports enumerated values. That allows for a better user experience when users edit cell values.
See the section on enumerated values in tables for the details. - The
toggle
control appears as a switch button if its value property holds a Boolean value.
taipy-core
3.1.0
- The
modin
exposed type as been deprecated. When used, a fallback on Pandas is applied.
See issue #631 for details. - Running twice the Core service raises an exception to prevent running multiple instances at the same time.
- Running the Core service or creating an entity by
taipy.create_scenario()
ortaipy.create_global_data_node()
blocks the Configuration from being modified.
Significant bug fixes¶
taipy
3.1.1
- Data is not shown or not automatically refreshed in
Data Node viewer.
See issue #908 and issue #950. - Data Nodes holding dates may not show in
Data Node viewers.
See issue #1043.
taipy-gui
3.1.0
- Selectors with dropdown menus cannot be deactivated.
See issue #894. - Problems scoping non-global variables used in Partials.
See issue #561. - Important error messages are mangled.
See issue #560.
taipy-core
3.1.1
- The signatures for
Config.configure_sql_data_node()
,Config.configure_s3_object_data_node()
, andconfigure_core()
methods are out-of-date.
See issue #1014.
Enterprise edition: 3.1¶
Published on 2024-03.
This release contains all of taipy
3.1 as well as
additional features.
New Features¶
- A new job execution mode named cluster mode is available. It enables to run the jobs on a cluster of dedicated machines in a remote, distributed and scalable environment.
Community edition: 3.0¶
Published on 2023-10.
New Features¶
taipy
3.0.0
- Taipy application can now be run with the Taipy command-line interface (CLI) using the
taipy run
command. For more information, refer to Run application in Taipy CLI.
taipy-gui
3.0.0
- A new package holds the Page Builder API: a set of classes that let you define the pages for your application entirely with Python.
- You can now update variables on all clients using the shared variables concept. See
the
Gui.add_shared_variable()
andState.dispatch()
methods for details. - You can now invoke a callback for all clients using the
broadcast_callback()
function. - The
slider
control can now handle several knobs, allowing for range selection.
Please check the example for more information. - The
file_download
control now lets developers generate the file content dynamically, at download time.
Please check the example for more information. - A new CSS class called toggle-navbar was added to the
Stylekit to give a
toggle
control the aspect of anavbar
. - The
chart
control now supports the treemap and waterfall chart types.
taipy-core
3.0.0
- A production version of a Taipy application can now be provided with migration functions to
automatically migrate entities and keep them compatible with previous versions.
For more information, refer to Production mode. - A
GLOBAL
scope data node can be created from a data node configuration calling the newtaipy.create_global_data_node()
method.
For more information, refer to Create a data node. - A data node configuration can be built from an existing data node configuration. For more information, refer to the documentation page on data node configuration.
- A new class
Submittable
models entities that can be submitted for execution. It is an Abstract class instantiated byScenario
andSequence
. It can be handy to use the new followingSubmittable
methods:Submittable.get_inputs()
retrieves input data nodes of aSubmittable
entity;Submittable.get_outputs()
retrieves output data nodes of aSubmittable
entity;Submittable.get_intermediate()
retrieves intermediate data nodes of aSubmittable
entity;Submittable.is_ready_to_run()
checks if an entity is ready to be run;Submittable.data_nodes_being_edited()
retrieves data nodes that are being edited of aSubmittable
entity.
- New functions exposed by the
taipy
module:taipy.is_deletable()
checks if an entity can be deleted;taipy.exists()
checks if an entity exists.
- The encoding type of CSVDataNode and JSONDataNode can now be configured using the encoding parameter. For more information, please refer to Configure a CSVDataNode and Configure a JSONDataNode sections.
taipy-template
3.0.0
- A new template named "scenario-management" is available. For more information on creating a new Taipy application with the new "scenario-management" template, refer to the documentation page on templates.
Improvements and changes¶
taipy-gui
3.0.0
- The action parameter of the
on_action
callback was removed for every control.
The signature of all on_action() callback functions are now unified to the following:- state (
State
): the state of the client invoking that callback; - id (str): the identifier of the visual element that triggers that callback;
- payload (dict): a dictionary that provides additional information to the callback.
This dictionary now has the additional action key that is set to the action name. This change not only impact the on_action callback of all controls that support it, but in an exactly similar manner the following callback signatures:
- state (
- The
navigate()
function has an additional parameter params that is used to add query parameters to the requested URL. The query parameters can be retrieved in theon_navigate
callback. - The on_action parameter of the
download()
function can be a function and not just a function name. - Setting the debug parameter of
Gui.run()
to True provides stack traces to be shown in the console when exceptions occur in user code.
taipy-core
3.0.0
- A
ScenarioConfig
graph is now created directly fromTaskConfig
andDataNodeConfig
. Consequently,PipelineConfig
has been removed. For more information, refer to Configure a scenario. - The
Pipeline
object has been removed and replaced bySequence
. A sequence is held by aScenario
and represents a subset of its tasks than can be submitted together independently of the other tasks of the scenario. For more information, refer toScenario.add_sequence()
andScenario.remove_sequence()
. Scope.PIPELINE
has been removed from possibleScope
values.- The
root_folder
,storage_folder
,read_entity_retry
,repository_type
, andrepository_properties
attributes of theGlobalAppConfig
have been moved to theCoreSection
.
Please refer to the Core configuration page for details. - The
clean_entities
attribute has been removed from theCoreSection
. Correspondingly, the--clean-entities
option has been removed from the version management CLI.
To clean entities of a version, please run your application in development mode, or delete your version with the--delete
CLI option. For more information, refer to Taipy command-line interface - The deprecated
nb_of_workers
attribute of the JobConfig has been removed. - The deprecated
parent_id
attribute of a DataNode, Task, Pipeline, or Scenario entity, has been removed. - The deprecated
last_edition_date
andedition_in_progress
attributes of a DataNode entity have been removed. - The deprecated
DataNode.lock_edition()
andDataNode.unlock_edition()
methods have been removed. - The deprecated
taipy.create_pipeline()
method has been removed. - Function
DataNode.track_edit
has been made public.
taipy-template
3.0.0
- The default template also supports creating a multi-pages application with Core and Rest services. These options are available when creating a new application from the template.
- The "multi-page-gui" template has been removed. Please use the default instead to create a Taipy multi-pages application.
Significant bug fixes¶
taipy-gui
3.0.0
- The callback function set to the on_action parameter of the function
download()
may be called too early. It is now ensured to be invoked after the download operation is performed.
See issue #916. - Setting the properties property of a visual element as the returned value from a function may not succeed. See issue #897.
- Variables imported by an
import *
directive are not handled properly in the state of a callback defined in the importing module. See issue #908. - The
date
control does not use the format property if with_time is not set.
See issue #909. - The
date
control uses thedatetime.date
type and does not apply time zones if time is not involved.
See issue #895 and issue #923. - Updating a
chart
control data may cause data congestion or display flickering.
See issue #864 and issue #932. - Selection in a
chart
with type pie type is not properly handled.
See issue #919. - Hover text doesn't show properly in a
selector
that is crowded.
See issue #927. - Options with a long text in a
selector
cannot cbe deselected.
See issue #917. - The
table
control does not support undefined date values from Pandas data frames.
See issue #886.
taipy-core
3.0.0
- When running the Core service in development mode, changing the name of the function used by a
task then running the application again would raise an error.
See issue #743.
Enterprise edition: 3.0¶
Published on 2023-10.
This release contains all of taipy
3.0 as well as
additional features.
New Features¶
- Python functions including scenario management methods can be scheduled to run at a specific
time using the new
taipy.Scheduler
API. For more information, refer to Schedule a method.
Improvements and changes¶
- The job recovery mechanism is now only available when the Core service is run.