Release Notes for version 3.0
This is the list of changes of taipy version 3.0.
Unsupported version
Version 3.0 of Taipy is no longer supported. We strongly recommend that you upgrade to the latest version of Taipy.
Error when downgrading from Taipy 3.1 to Taipy 3.0
If you are experiencing an error downgrading to Taipy 3.0, please
reinstall Taipy with options --no-cache-dir -I like so:
pip install --no-cache-dir -I taipy==3.0.0
See issue #1180 for more details.
Published on 2023-10.
taipy 3.0 contains the latest
taipy-config 3.0,
taipy-gui 3.0,
taipy-core 3.0,
taipy-templates 3.0, and
taipy-rest 3.0 packages.
taipy¶
3.0.0¶
New features
- Taipy application can now be run with the
Taipy command-line interface (CLI) using the
taipy runcommand. For more information, refer to Run application in Taipy CLI.
taipy-gui¶
3.0.0¶
New features
- 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
slidercontrol can now handle several knobs, allowing for range selection.
Please check the example for more information. - The
file_downloadcontrol 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
togglecontrol the aspect of anavbar. - The
chartcontrol now supports the treemap and waterfall chart types.
Improvements and changes
- 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_navigatecallback. - 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.
Significant bug fixes
- 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
datecontrol does not use the format property if with_time is not set.
See issue #909. - The
datecontrol uses thedatetime.datetype and does not apply time zones if time is not involved.
See issue #895 and issue #923. - Updating a
chartcontrol data may cause data congestion or display flickering.
See issue #864 and issue #932. - Selection in a
chartwith type pie type is not properly handled.
See issue #919. - Hover text doesn't show properly in a
selectorthat is crowded.
See issue #927. - Options with a long text in a
selectorcannot cbe deselected.
See issue #917. - The
tablecontrol does not support undefined date values from Pandas data frames.
See issue #886.
Deprecations
-
The action parameter of the
on_actioncallback 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 impacts the on_action callback of all controls that support it, but in an exactly similar manner the following callback signatures:
- state (
taipy-core¶
3.0.0¶
New features
- 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
GLOBALscope 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
Submittablemodels entities that can be submitted for execution. It is an Abstract class instantiated byScenarioandSequence. It can be handy to use the new followingSubmittablemethods:Submittable.get_inputs()retrieves input data nodes of aSubmittableentity;Submittable.get_outputs()retrieves output data nodes of aSubmittableentity;Submittable.get_intermediate()retrieves intermediate data nodes of aSubmittableentity;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 aSubmittableentity.
-
New functions exposed by the
taipymodule: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.
Improvements and changes
- Function
DataNode.track_edithas been made public.
Significant bug fixes
- When running the Orchestrator 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.
Deprecations
- A
ScenarioConfiggraph is now created directly fromTaskConfigandDataNodeConfig. Consequently,PipelineConfighas been removed. For more information, refer to Configure a scenario. - The
Pipelineobject has been removed and replaced bySequence. A sequence is held by aScenarioand 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.PIPELINEhas been removed from possibleScopevalues. - The root_folder, storage_folder, read_entity_retry,
repository_type, and repository_properties attributes of the
GlobalAppConfighave been moved to theCoreSection.
Please refer to the Core configuration page for details. - The clean_entities attribute has been removed from
the
CoreSection. Correspondingly, the--clean-entitiesoption 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--deleteCLI option. For more information, refer to Taipy command-line interface - The deprecated nb_of_workers attribute of the
JobConfighas been removed. - The deprecated parent_id attribute of a DataNode, Task, Pipeline, or Scenario entity, has been removed.
- The deprecated last_edition_date and edition_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.
taipy-template¶
3.0.0¶
New features
- 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
- The default template also supports creating a multi-pages application with Orchestrator 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.
taipy-enterprise¶
3.0.0¶
New features
- Python functions including scenario management
methods can be scheduled to run at a specific time using the new
taipy.SchedulerAPI. For more information, refer to Schedule a method.
Improvements and changes
- The job recovery mechanism is now only available when the Orchestrator service is run.