All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
-
Added
Lightning{Flow,Work}.lightningignores
attributes to programmatically ignore files before uploading to the cloud (#15818) -
Added a progres bar while connecting to an app through the CLI (#16035)
-
Added partial support for fastapi
Request
annotation inconfigure_api
handlers (#16047) -
Added a nicer UI with URL and examples for the autoscaler component (#16063)
-
Enabled users to have more control over scaling out/in interval (#16093)
-
Added more datatypes to serving component (#16018)
-
Added
work.delete
method to delete the work (#16103) -
Added
display_name
property to LightningWork for the cloud (#16095)
-
The default
start_method
for creating Work processes locally on MacOS is now 'spawn' (previously 'fork') (#16089) -
The utility
lightning.app.utilities.cloud.is_running_in_cloud
now returnsTrue
during loading of the app locally when running with--cloud
(#16045)
- Removed the
SingleProcessRuntime
(#15933)
-
Fixed
AutoScaler
raising an exception when non-default cloud compute is specified (#15991) -
Fixed the debugger detection mechanism for lightning App in VSCode (#16068)
-
Fixed bug where components that are re-instantiated several times failed to initialize if they were modifying
self.lightningignore
(#16080) -
Fixed a bug where apps that had previously been deleted could not be run again from the CLI (#16082)
-
Fixed MPS error for multinode component (defaults to cpu on mps devices now as distributed operations are not supported by pytorch on mps) (#15748)
-
Fixed a bug where
AutoScaler
would fail with min_replica=0 (#16092 -
Fixed a non-thread safe deepcopy in the scheduler (#16114)
-
Fixed Http Queue sleeping for 1 sec by default if no delta were found (#16114)
- Add
code_dir
argument to tracer run (#15771) - Added the CLI command
lightning run model
to launch aLightningLite
accelerated script (#15506) - Added the CLI command
lightning delete app
to delete a lightning app on the cloud (#15783) - Added a CloudMultiProcessBackend which enables running a child App from within the Flow in the cloud (#15800)
- Utility for pickling work object safely even from a child process (#15836)
- Added
AutoScaler
component ( #15769, #15971, #15966 ) - Added the property
ready
of the LightningFlow to inform when theOpen App
should be visible (#15921) - Added private work attributed
_start_method
to customize how to start the works (#15923) - Added a
configure_layout
method to theLightningWork
which can be used to control how the work is handled in the layout of a parent flow (#15926) - Added the ability to run a Lightning App or Component directly from the Gallery using
lightning run app organization/name
(#15941) - Added automatic conversion of list and dict of works and flows to structures (#15961)
- The
MultiNode
components now warn the user when running withnum_nodes > 1
locally (#15806) - Cluster creation and deletion now waits by default #15458
- Running an app without a UI locally no longer opens the browser (#15875)
- Show a message when
BuildConfig(requirements=[...])
is passed but arequirements.txt
file is already present in the Work (#15799) - Show a message when
BuildConfig(dockerfile="...")
is passed but aDockerfile
file is already present in the Work (#15799) - Dropped name column from cluster list (#15721)
- Apps without UIs no longer activate the "Open App" button when running in the cloud (#15875)
- Wait for full file to be transferred in Path / Payload (#15934)
- Removed the
SingleProcessRuntime
(#15933)
- Fixed SSH CLI command listing stopped components (#15810)
- Fixed bug when launching apps on multiple clusters (#15484)
- Fixed Sigterm Handler causing thread lock which caused KeyboardInterrupt to hang (#15881)
- Fixed MPS error for multinode component (defaults to cpu on mps devices now as distributed operations are not supported by pytorch on mps) (#15748)
- Fixed the work not stopped when successful when passed directly to the LightningApp (#15801)
- Fixed the PyTorch Inference locally on GPU (#15813)
- Fixed the
enable_spawn
method of theWorkRunExecutor
(#15812) - Fixed require/import decorator (#15849)
- Fixed a bug where using
L.app.structures
would cause multiple apps to be opened and fail with an error in the cloud (#15911) - Fixed PythonServer generating noise on M1 (#15949)
- Fixed multiprocessing breakpoint (#15950)
- Fixed detection of a Lightning App running in debug mode (#15951)
- Fixed
ImportError
on Multinode if package not present (#15963) - Fixed MultiNode Component to use separate cloud computes (#15965)
- Fixed Registration for CloudComputes of Works in
L.app.structures
(#15964) - Fixed a bug where auto-upgrading to the latest lightning via the CLI could get stuck in a loop (#15984)
- Deduplicate top level lighting CLI command groups (#15761)
lightning add ssh-key
CLI command has been transitioned tolightning create ssh-key
lightning remove ssh-key
CLI command has been transitioned tolightning delete ssh-key
- Set Torch inference mode for prediction (#15719)
- Improved
LightningTrainerScript
start-up time (#15751) - Disable XSRF protection in
StreamlitFrontend
to support upload in localhost (#15684)
- Fixed debugging with VSCode IDE (#15747)
- Fixed setting property to the
LightningFlow
(#15750) - Fixed the PyTorch Inference locally on GPU (#15813)
- Added title and description to ServeGradio (#15639)
- Added a friendly error message when attempting to run the default cloud compute with a custom base image configured (#14929)
- Improved support for running apps when dependencies aren't installed (#15711)
- Changed the root directory of the app (which gets uploaded) to be the folder containing the app file, rather than any parent folder containing a
.lightning
file (#15654) - Enabled MultiNode Components to support state broadcasting (#15607)
- Prevent artefactual "running from outside your current environment" error (#15647)
- Rename failed -> error in tables (#15608)
- Fixed race condition to over-write the frontend with app infos (#15398)
- Fixed bi-directional queues sending delta with Drive Component name changes (#15642)
- Fixed CloudRuntime works collection with structures and accelerated multi node startup time (#15650)
- Fixed catimage import (#15712)
- Fixed setting property to the LightningFlow (#15750)
- Parse all lines in app file looking for shebangs to run commands (#15714)
- Added the
start
method to the work (#15523) - Added a
MultiNode
Component to run with distributed computation with any frameworks (#15524) - Expose
RunWorkExecutor
to the work and provides default ones for theMultiNode
Component (#15561) - Added a
start_with_flow
flag to theLightningWork
which can be disabled to prevent the work from starting at the same time as the flow (#15591) - Added support for running Lightning App with VSCode IDE debugger (#15590)
- Added
bi-directional
delta updates between the flow and the works (#15582) - Added
--setup
flag tolightning run app
CLI command allowing for dependency installation via app comments (#15577) - Auto-upgrade / detect environment mis-match from the CLI (#15434)
- Added Serve component (#15609)
- Changed the
flow.flows
to be recursive wont to align the behavior with theflow.works
(#15466) - The
params
argument inTracerPythonScript.run
no longer prepends--
automatically to parameters (#15518) - Only check versions / env when not in the cloud (#15504)
- Periodically sync database to the drive (#15441)
- Slightly safer multi node (#15538)
- Reuse existing commands when running connect more than once (#15471)
- Fixed writing app name and id in connect.txt file for the command CLI (#15443)
- Fixed missing root flow among the flows of the app (#15531)
- Fixed bug with Multi Node Component and add some examples (#15557)
- Fixed a bug where payload would take a very long time locally (#15557)
- Fixed an issue with the
lightning
CLI taking a long time to error out when the cloud is not reachable (#15412)
- Added
load_state_dict
andstate_dict
hooks forLightningFlow
components (#14100) - Added a
--secret
option to CLI to allow binding secrets to app environment variables when running in the cloud (#14612) - Added support for running the works without cloud compute in the default container (#14819)
- Added an HTTPQueue as an optional replacement for the default redis queue (#14978
- Added support for configuring flow cloud compute (#14831)
- Added support for adding descriptions to commands either through a docstring or the
DESCRIPTION
attribute (#15193 - Added a try / catch mechanism around request processing to avoid killing the flow (#15187
- Added an Database Component (#14995
- Added authentication to HTTP queue (#15202)
- Added support to pass a
LightningWork
to theLightningApp
(#15215 - Added support getting CLI help for connected apps even if the app isn't running (#15196
- Added support for adding requirements to commands and installing them when missing when running an app command (#15198
- Added Lightning CLI Connection to be terminal session instead of global (#15241
- Added support for managing SSH-keys via CLI (#15291)
- Add a
JustPyFrontend
to ease UI creation withhttps://github.com/justpy-org/justpy
(#15002) - Added a layout endpoint to the Rest API and enable to disable pulling or pushing to the state (#15367
- Added support for functions for
configure_api
andconfigure_commands
to be executed in the Rest API process (#15098 - Added support for accessing Lighting Apps via SSH (#15310)
- Added support to start lightning app on cloud without needing to install dependencies locally (#15019
- Improved the show logs command to be standalone and re-usable (#15343
- Removed the
--instance-types
option when creating clusters (#15314)
- Fixed an issue when using the CLI without arguments (#14877)
- Fixed a bug where the upload files endpoint would raise an error when running locally (#14924)
- Fixed BYOC cluster region selector -> hiding it from help since only us-east-1 has been tested and is recommended ([#15277]#15277)
- Fixed a bug when launching an app on multiple clusters (#15226)
- Fixed a bug with a default CloudCompute for Lightning flows (#15371)
- Improved Lightning App connect logic by disconnecting automatically (#14532)
- Improved the error message when the
LightningWork
is missing therun
method (#14759) - Improved the error message when the root
LightningFlow
passed toLightningApp
is missing therun
method (#14760)
- Fixed a bug where the uploaded command file wasn't properly parsed (#14532)
- Fixed an issue where custom property setters were not being used
LightningWork
class (#14259) - Fixed an issue where some terminals would display broken icons in the PL app CLI (#14226)
- Add support to upload files to the Drive through an asynchronous
upload_file
endpoint (#14703)
- Application storage prefix moved from
app_id
toproject_id/app_id
(#14583) - LightningCloud client calls to use keyword arguments instead of positional arguments (#14685)
- Making
threadpool
non-default from LightningCloud client (#14757) - Resolved a bug where the state change detection using DeepDiff won't work with Path, Drive objects (#14465)
- Resolved a bug where the wrong client was passed to collect cloud logs (#14684)
- Resolved the memory leak issue with the Lightning Cloud package and bumped the requirements to use the latest version (#14697)
- Fixing 5000 log line limitation for Lightning AI BYOC cluster logs (#14458)
- Fixed a bug where the uploaded command file wasn't properly parsed (#14532)
- Resolved
LightningApp(..., debug=True)
(#14464)
- Introduce lightning connect (#14452)
- Adds
PanelFrontend
to easily create complex UI in Python (#13531) - Add support for
Lightning App Commands
through theconfigure_commands
hook on the Lightning Flow and theClientCommand
(#13602) - Add support for Lightning AI BYOC cluster management (#13835)
- Add support to see Lightning AI BYOC cluster logs (#14334)
- Add support to run Lightning apps on Lightning AI BYOC clusters (#13894)
- Add support for listing Lightning AI apps (#13987)
- Adds
LightningTrainerScript
.LightningTrainerScript
orchestrates multi-node training in the cloud (#13830) - Add support for printing application logs using CLI
lightning show logs <app_name> [components]
(#13634) - Add support for
Lightning API
through theconfigure_api
hook on the Lightning Flow and thePost
,Get
,Delete
,Put
HttpMethods (#13945) - Added a warning when
configure_layout
returns URLs configured with http instead of https (#14233) - Add
--app_args
support from the CLI (#13625)
- Default values and parameter names for Lightning AI BYOC cluster management (#14132)
- Run the flow only if the state has changed from the previous execution (#14076)
- Increased DeepDiff's verbose level to properly handle dict changes (#13960)
- Setup: added requirement freeze for next major version (#14480)
- Unification of app template: moved
app.py
to root dir forlightning init app <app_name>
template (#13853) - Fixed an issue with
lightning --version
command (#14433) - Fixed imports of collections.abc for py3.10 (#14345)
- Release LAI docs as stable (#14250)
- Compatibility for Python 3.10
-
Resolved a bug where the
install
command was not installing the latest version of an app/component by default (#14181) -
Fixed the
examples/app_dag
example (#14359)
- Deprecate sheety API (#14004)
- Resolved a bug where the work statuses will grow quickly and be duplicated (#13970)
- Resolved a bug about a race condition when sending the work state through the caller_queue (#14074)
- Fixed Start Lightning App on Cloud if Repo Begins With Name "Lightning" (#14025)
- Included app templates to the lightning and app packages (#13731)
- Added UI for install all (#13732)
- Fixed build meta pkg flow (#13926)
- Pruned requirements duplicity (#13739)
- Use correct python version in lightning component template (#13790)
- Update the Lightning App docs (#13537)
- Added
LIGHTNING_
prefix to Platform AWS credentials (#13703)