All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Refactoring the module auto loader, #1176.
- AST modification from
asyncio.run(awaitable)
toawait awaitable
, #1175.
- Custom element syntax, #1150.
- Update the AST transformer to handle the target function calls in assignments, #1167.
- Set the Content Security Policy properly, #1168.
- Use
protocol.handle
instead of the deprecated methodprotocol.registerFileProtocol
, #1165. - Update Electron for dev, #1166.
- Improve the build pipelines.
- Internal package updates.
- Remove
*.pyi
files from the Streamlit wheel, #1154.
- Runtime AST transformation to make the functions async that
await
function calls are injected into, #1148.
- Path placeholders for NODEFS mountpoints, #1147.
readFile()
API, #1125.
st.navigation().run()
works with pages that contain the top-level awaits, #1145.
- Update Streamlit to 1.39.0, #1143.
- Fix
CrossOriginWorker
to work on FireFox in the case where the script is loaded from CDN, #1142.
- New Stite and Stlite Sharing logos, #1130.
- Fix a bug at HTTP server startup that caused an error on Safari, #1123.
- Update Streamlit to 1.38.0, #1101.
- Internal refactoring.
- Internal Streamlit submodule update, #1090.
- Update Streamlit to 1.37.1, #1084.
- Move
pyodide-http
package fromstreamlit
's deps tostlite-lib
's, #1087.
- Toast color theme adjustment, #1064.
StliteKernel.reboot()
method, #1061.
- Update Pyodide to 0.26.2, #1051.
- Rename
stlite-server
tostlite-lib
, #1047.
- Remove the
mountedSitePackagesSnapshotFilePath
option, #1041. - Internal package updates.
- Use the
archives
option instead ofmountedSitePackagesSnapshotFilePath
, #1041.
- Use
tomllib
for config parsing, #1037.
Skipped due to GitHub Actions issue.
- Runtime AST transformation to convert
time.sleep()
toawait asyncio.sleep()
, #1021.
- Fix the Parquet serialization to deal with non-string column names, #1000.
- Replace deprecated Pandas APIs in the arrow serialization process, #996.
- Update Streamlit to 1.36.0, #993.
- Throw an error if the
entrypoint
option is not provided, instead of using the default value, #991.
- Update Pyodide to 0.26.1, #987.
- Fix a bug at patching
st.write_stream()
which was introduced in 0.58.4, #981.
- Work around Parquet serialization by
fastparquet
so that data frames including NumPy arrays or datetime values can be serialized, #975.
st.write_stream()
is made async and normal function calls of it are automatically converted to be awaited under the hood, #965.
- Fix IPC sender check to fix a bug that paginations from sub pages do not work in the NodeJS worker mode, #972.
- Update of the internal Streamlit wheel, #964.
Module auto-load only finds module-level modules, #961.
- Fixed a bug in the NodeJS worker mode on Windows, #959.
- Experimentally added the
moduleAutoLoad
option, #902.
--pyodide-source
option to use a different Pyodide package than the default CDN to fetch the prebuilt package wheels, #937.
- Update Pyodide to 0.26.0, #934.
- Fix
st.logo()
to work, #933.
- Update Streamlit to 1.35.0, #920.
- Prettify the CLI log output of the
dump
command, #890.
- Update the sample
package.json
in the README,38b1227
.
- [DEPRECATED] The app files to be bundled, the entrypoint, and the dependencies are now specified in the
package.json
file, and the command line arguments of thedump
commands for that purpose are deprecated, #878. - A new
--project
option is added to thedump
command to specify the project directory, #878.
- Internal refactoring: use the
Headers
class to parse the response headers of the emulated HTTP requests, #888.
- Update Pyodide to 0.25.1, #889.
- Update Streamlit to 1.33.0, #885.
- Internal updates around
ConnectionManager
, #846.
- Add "repository.directory" field in
package.json
, #871.
- Add "repository" and "bugs" field in
package.json
, #870.
- Add a README banner, #865.
- Fix a bug at the
nodefsMountpoints
parser, #852.
streamlit
requirement is allowed but ignored, #849.
- Internal update, #842.
- Fix a bug at
matplotlib
installation, #841. - Some refactoring.
- Fix the installation of prebuilt packages, #833.
- Fix
nodefsMountpoints
parser, #817.
- Support
NODEFS
to mount directories on the host OS file system to directories on the virtual file system, #812.
- Support IndexedDB-backed file system,
IDBFS
, for data persistence, #815.
- Build config #813.
- Bundle and minify the Electron app files, #810.
Internal updates. See the release page for details.
- Catch errors during loading packages, #798.
- Update Pyodide to 0.25.0, #794.
- The dump command adapted to Pyodide 0.25.0, #794.
- Add the E2E test job to the CI workflow, #795.
Skipped.
Skipped.
- Update Streamlit to 1.32.2, #783.
- This update includes lazy-imports of some dependencies, which reduces the initial loading time.
- Logger settings, #786.
- Cache the worker blob in a cross-origin situation, #778.
- Stop publishing
@stlite/kernel
to NPM, #743.
- Restore the
pyodide-http
patch which was removed in 0.45.1, #742 and #738, which was released once as 0.45.3 but not effective.
- Update Streamlit to 1.31.0, #741
- Ship the stlite wheels along with the
desktop
package instead of loading them fron the hostedkernel
package, #722.
requirements.txt
parser to ignore comments, #739.
- Restore the
pyodide-http
patch which was removed in 0.45.1, #738.
- Internal package updates.
- Remove the HTTP patch because
urllib3
started to support Pyodide since 2.2.0, #689.
- Update Pyodide to 0.24.1, #681.
- Update Streamlit to 1.30.0, #678
- Update Streamlit to 1.27.0, #671
disableProgressToasts
anddisableErrorToasts
options, #671
- Remove
ctx.disableToast()
andctx.enableToast()
, #671
Skipped
- Install the user-specified requirements and the stlite custom wheels at the same time, #676.
- Set the
altair
version to<5.2.0
as a workaround to solve an error of #662, #668. - Install the user-specified requirements before the Streamlit package, #664.
- Fix
DEVELOPMENT.md
, #665, by @andeplane.
- Fix the CSP for
st.camera_input()
, #666.
- Use internal implementation of
PromiseDelegate
, #646.
- Error object serialization for inter-thread communication, #641.
- Send error objects from a worker thread to the main thread properly, #638.
.disableToast()
and.enableToast()
, #636.
- Revert
onError
, #635.
- Add
onError
option, #632.
- Add
streamlitConfig
option, #625.
- Add
pyodideUrl
option, #620.
- Fix the dumped manifest file path, #618.
- Switch the data frame serialization method to the standard option of Streamlit by bypassing Arrow serialization using Parquet, with huge support by @LukasMasuch, #601, whitphx/streamlit#3.
- Compile the Streamlit wheel file to bytecode at build time, #590.
- A custom
package.json
fieldstlite.embed
has been added to control the embed mode, #585.
- Unregister an ipc handler, #584.
- Update Pyodide to 0.23.3, #581.
- Package the Pyodide built-in package wheels in the app executables and load them at runtime, #572.
- An
archives
option to download, unpack, and mount files, #567.
- Update Streamlit to 1.21.0, #550.
- Open the preview in a split panel, #549.
Fix an error about event handler registrations on mac, #548.
- Add configs to set the target and ignored files, #543.
- Sort the entrypoint file candidate list, #547.
- Remove the
extensionKind
field for the extension to work on VSCode Desktop, #542.
- Fix the release flow.
- Update README fixing the image path.
- Update README adding a screenshot image.
- Update README.
- Add
extensionKind
field, #534. - Fix the release workflow so that the VSC extension is released after
@stlite/mountable
, #535.
- Set keywords, #533.
- Release workflow, #532.
- Fill metadata for the VSCode extension, #530
- Rename the VSCode command, #528.
- Show toasts upon kernel method calls, #523.
- Suppress unnecessary tab creations when clicking page links on MPA, #520.
- Create a VSCode extension, #513.
- Support
st.spinner()
with async functions, #515.
- Support top-level await, #514.
- Update Streamlit to 1.19.0, #507.
- Fix the sample
package.json
indesktop/README.md
, #502.
- Disable
ForwardMsg
caching, #505.
matplotlib
installation, #496.
- Update Electron to 23.1.1, #498.
- Remove Tornado and introduce an original server implementation, #492.
- Update Streamlit to 1.18.1, #482.
- Set the package versions dynamically based on the jsDelivr API response at build time, #480.
- Update Pyodide to 0.22.1, #478.
- Update the base Streamlit version to 1.17.0, #472.
- Handling file path separators on Windows, #466.
- Fix the depending Electron version so that the packaging command works, #452.
- Show the booting-up progress on toasts, #446.
- Apply Electron security best practices, #445.
- Update README to announce that
@stlite/desktop
should be used instead of@stlite/desktop-cli
, #444.
- Delete source maps, #443.
- Update the kernel version loaded for desktop apps to v0.19.1, #434.
- Better logs at the booting-up phase, #437.
- Lines starting with
#
inrequirements.txt
are ignored as comments, #432.
- Update the README, #429.
- Content-Security-Policy has been updated, #424.
bin/dump_artifacts.ts
overwrites thebuild
directory by default and keep it only whenkeepOldBuild
option is specified, #417.
bin/dump_artifacts.ts
crashes when the specifiedrequirements.txt
does not exist, #410.bin/dump_artifacts.ts
deletes the existingstreamlit_app
directory inside thebuild
directory before copying the new one, #415.
- Content-Security-Policy has been updated to allow components to load arbitrary external resources, #408.
- The bug has been fixed that some resources such as the lazy-loaded component chunks are not properly loaded on the desktop app, #414.
- Package name verification at the dump command, #398.
- README.md, #399.
- The command signature of
bin/dump_artifacts.ts
is changed so that the package names are passed as the positional arguments following the source directory name and the-r
option is used to specify therequirements.txt
, #396.
- The
command
option has been removed, #393.
- Fix README, #336, by @chrieke.
- Check the wheel URL schemes when installing packages to block local file access, #352.
- Fix README, #338.
- Update README explaining the flow to package a Streamlit app into an Electron app, #334.
- Release
@stlite/desktop-cli
, a wrapper package of@stlite/desktop
for the CLI usage, #330.
- Avoid loading
micropip
if restoring a site-packages snapshot, #316.
- Fix the build rule, #319.
Same as v0.10.0.
- Upgrade Streamlit to v1.13.0, #307.
- Add options
pyodideEntrypointUrl
andmountedSitePackagesSnapshotFilePath
, #295.
- Fix the wrong error messages, #300.
- Created
@stlite/desktop
, #295.
- Patch the Matplotlib backend after installing it at runtime, #261.
- Implement the message cache and the message queue, #290.
- Use a customized bootstrapping function to avoid unnecessary network access and to be more efficient, #181.
- Remove the trailing slash from the dynamically pushed URLs, #179.
- Rename
main.css
tostlite.css
, #169.
- Exported
main.css
, #167.
The first public release of @stlite/mountable
.