Bug Fixes
:link: Issue Ref | :pushpin: Summary | :scroll: Description
-|-|-
[No Ref] | Fix filename in `Logger` message when typechecking is on | When typechecking is on, decorator filename was printed out instead of the actual filename from where the Logging originates from.
Enhancements
:link: Issue Ref | :pushpin: Summary | :scroll: Description
-|-|-
[No Ref] | Python versions 3.11 and 3.12 now supported | All Python versions ranging from 3.8 through 3.12 are now supported.
[No Ref] | `Slider` returns integers when possible | When min/max/step are integers, value is necessary an integer and returned as such.
[No Ref] | Refactor all file type output elements under `FileOutput` | No longer necessary to have one class per FileOutput type.
[No Ref] | `FileOutput` to optionally create output path | Use `make_path` in `file_output()` to automatically make the path if doesn't exists.
New Features
:link: Issue Ref | :pushpin: Summary | :scroll: Description
-|-|-
[No Ref] | OneCode Cloud compatibility | Rework and Streamlit extraction to make OneCode Apps deployable on OneCode Cloud.
[No Ref] | New CLI `onecode-build` | Extract the GUI JSON file used to build the UI on OneCode Cloud.
[No Ref] | New CLI `onecode-zip` | Archive all output data in a zip file.
[No Ref] | Add element dependency | Retrieve elements dependencies when attributes are dynamic.
:warning: Breaking changes
While it has been nice to get started with, Streamlit app generation is no longer part of OneCode. See [`onecode-streamlit`](https://github.com/deeplime-io/onecode-streamlit) for more information on backward-compatibility.
Checkout [this guide to upgrade from `0.x`](https://deeplime-io.github.io/onecode/1.0.0/#upgrading-from-0x).
:ledger: Notes
* `pyarrow` no longer a direct dependency of `onecode`. As a consequence, `CsvReader` element no longer read CSV through `pyarrow.read_csv()` but `pandas.read_csv()`
* `pydantic` no longer a strong dependency, it was moved to the `developer` dependencies. Therefore using the variable `ONECODE_DO_TYPECHECK=1` requires the `pydantic` installation.