[0.4.2](https://github.com/TexteaInc/funix/commit/3b9e5efc4e4f0021fa81b7794c568beb0f0bc2f1) (2023-05-27)
Highlights
- Now we use paths instead of module names, please read the first note of breaking changes;
- In the past sheet was not available because of rollback, this time it is fixed, but there may be performance issues;
- Now there is no need to build the frontend manually, commit changes to the `frontend` folder in the main branch and workflow will automatically build the frontend and commit it. For PR, workflow will automatically run unit tests for changes to the backend;
- For plot support as an additional requirement, please use `pip install funix[plot]` to install the dependencies;
- Now that Funix supports session, variables can no longer be shared by all users! You can simply implement this with a global statement and `session_variables` configuration, and start funix with the `-t` flag (Uses AST, but still not enough, so if you find it doesn't work, try using the functions provided in `funix.session`, and read `global_hand.py` and `global_test.py` in `examples`);
- The decorator provides a new parameter: `direction`, which supports `column`, `row`, `column-reverse` and `row-reverse` to indicate the input/output arrangement;
- The backend code was cleaned up, added comments and several unit tests.
Breaking Changes
- You now need to start funix using the path instead of the module name. In the past, starting it like `funix test` would cause funix to import `test` (in Python) instead of `test.py` in the directory, now please start it with `funix test.py`;
- The past YAML and JSON support (theme and decorator configuration) is no longer supported, and Python configuration for themes will be documented in the future.
Bug Fixes
- sheet unusable due to history rollback feature (68) (https://github.com/TexteaInc/funix/commit/a48dedb13074d2b31aef30983a4f98cfba81c489, yazawazi) <!-- 1683433197.0 -->
- wrong `mkstemp`, use `mkdtemp` instead (https://github.com/TexteaInc/funix/commit/b38e3d0ee8e15749374651c0932831a4c5982d66, yazawazi) <!-- 1684561047.0 -->
- add `options.extras_require` in `pyproject.toml` (https://github.com/TexteaInc/funix/commit/b2a4eafb5cf6f716b5da51d607a65c5e8c747ce7, yazawazi) <!-- 1684561047.0 -->
- wrong `matplotlib.use` and miss workflow push branches (https://github.com/TexteaInc/funix/commit/1912959bf15be08d9b0ce99b6a7f6ae8c61cfd6b, yazawazi) <!-- 1684561047.0 -->
- remove `prep/__init__.py` (https://github.com/TexteaInc/funix/commit/ed34558750ce4d934d8c23a5705da32807c9eb24, yazawazi) <!-- 1684834790.0 -->
Features
- no module name by default (https://github.com/TexteaInc/funix/commit/dae4c44f7dde84360f0b2db47fd7a407c749e9e9, yazawazi) <!-- 1683381391.0 -->
- new theme system with FEP4 (https://github.com/TexteaInc/funix/commit/a70a08c2e938cd22de2858257db16ea9226e6799, yazawazi) <!-- 1684561047.0 -->
- add `build-and-push` workflow (https://github.com/TexteaInc/funix/commit/fd9bfa7312beae2c580153864f1ce74c05de48f5, yazawazi) <!-- 1684561047.0 -->
- add test for magic and fix type error (https://github.com/TexteaInc/funix/commit/3f23c7ed81d40f2c6ff8e1c0ef8674c0cf5d60dc, yazawazi) <!-- 1684561047.0 -->
- add workflow to run backend test (https://github.com/TexteaInc/funix/commit/33e49a132b92d6301d6d49aa9d6f791e2628957d, yazawazi) <!-- 1684561047.0 -->
- support session (https://github.com/TexteaInc/funix/commit/1754930032d8823cf4320ce101a7e2cd42d02f62, yazawazi) <!-- 1684834722.0 -->
- support `direction` argument in decorator (https://github.com/TexteaInc/funix/commit/bac3b19b7a84ab8ab7eff5c4d352f6816fa0949c, yazawazi) <!-- 1685103161.0 -->
Refactors
- Clean up the backend code (https://github.com/TexteaInc/funix/commit/cf6235de3d527b7711ff6b32ca1e52b8f30cf606, yazawazi) <!-- 1684561047.0 -->
- make the decorator looks better (https://github.com/TexteaInc/funix/commit/7e80040b1fa9ca79727584c38ff38f08c46953ec, yazawazi) <!-- 1684561047.0 -->
Documents
- update readme (https://github.com/TexteaInc/funix/commit/b92c705160ad4d73e96afb5d5efd742f5c40056c, forrestbao) <!-- 1683406922.0 -->
- Update Readme.md with embedded video (https://github.com/TexteaInc/funix/commit/ab2b99bde9f65ad269e1bbe13104841095381ecc, forrestbao) <!-- 1683408067.0 -->
- Update Readme.md with reorged examples (https://github.com/TexteaInc/funix/commit/7570965952c9ad74458c06545353e1449d894a6e, forrestbao) <!-- 1683409310.0 -->
Code Style
- use isort and black to format code & PR review changing (https://github.com/TexteaInc/funix/commit/9856c8d894222175f89ab25d5291d2a7260c2961, yazawazi) <!-- 1684561047.0 -->
Chores
- auto build frontend (https://github.com/TexteaInc/funix/commit/0e9016b84244f571876d63a7a8747f2458a579c7, workflow) <!-- 1684562041.0 -->
- auto build frontend (https://github.com/TexteaInc/funix/commit/be6f3f86600bbe20b969aee4974767f697cc8a2b, workflow) <!-- 1685103453.0 -->