[0.5.3](https://github.com/TexteaInc/funix/commit/ff1fc92033bd22e5367330c58c65f33b09fdf7c3) (2023-11-28)
Highlights
- Support `class` with funix, you can use `funix.funix_class` and `funix.funix_method` for class and class's method
- Support `generator` function with websocket, and you can use `yield` to send message to frontend
- For websocket, we add `print_to_web` option in decorator for printing message to frontend directly by `print` function
- Normal `pandas` type is now supported
- Now funix can run offline
- The memory leak of web histories is fixed, and for any input with file, the history will be disabled
Bug Fixes
- *frontend*: `conditional_visible` and `input_layout` can cause conflicts (https://github.com/TexteaInc/funix/commit/903ac3be9fe7cc9b07f667989eca07c33734e4bc, yazawazi) <!-- 1701184555.0 -->
- `objArraySort` top level array check (https://github.com/TexteaInc/funix/commit/1da9e1c82956e715c0dfbd6817fc9afb7e10b323, yazawazi) <!-- 1701184555.0 -->
- use `abspath` in case (https://github.com/TexteaInc/funix/commit/b0340e76d21d7c1097e85f91808b56cdee36d9ab, yazawazi) <!-- 1701184555.0 -->
- use ast to create funix at the runtime (https://github.com/TexteaInc/funix/commit/071852996e221a2427f9e51c5bb183f16b467b2a, yazawazi) <!-- 1701184555.0 -->
- handle `funix_class_params` correctly (https://github.com/TexteaInc/funix/commit/922560c4e6f13ba2725a641cd4067d67fdaeee4a, yazawazi) <!-- 1701184555.0 -->
- support `funix.funix_method` (https://github.com/TexteaInc/funix/commit/ecb459ae4aab3ada94578b1112982edf0ab1f455, yazawazi) <!-- 1701184555.0 -->
- type hint of example (https://github.com/TexteaInc/funix/commit/e8a1780dbd6582496c01b8fb00b538af0052e0e7, Colerar) <!-- 1701184555.0 -->
- web histories memory leak (https://github.com/TexteaInc/funix/commit/f3d0b1335ebedc99606ce6dd0146a17034a3d975, Colerar) <!-- 1701184555.0 -->
Features
- *frontend*: support resize `TextField` (https://github.com/TexteaInc/funix/commit/db43985403441177d569b1fd370d02db24400f59, yazawazi) <!-- 1698843214.0 -->
- support generator function (https://github.com/TexteaInc/funix/commit/9bfe561b480f89d3abf09ca1e3caf36e3afb2d2c, yazawazi) <!-- 1701184555.0 -->
- add new openai example (https://github.com/TexteaInc/funix/commit/1f4172b61673dbf852c1f4c25debd9dfd6a682aa, yazawazi) <!-- 1701184555.0 -->
- use `global` for auto session mode (https://github.com/TexteaInc/funix/commit/3ecffd96edd6f97b36fd83cd04e106aa7ced4a99, yazawazi) <!-- 1701184555.0 -->
- support history in websocket mode (https://github.com/TexteaInc/funix/commit/a003521bbf0d33a50f266df76dee5ff273bf171c, yazawazi) <!-- 1701184555.0 -->
- use `SyntaxHighlighter` in `MarkdownDiv` (https://github.com/TexteaInc/funix/commit/134875b7da6a3122817446003e43e4ed5ff97cb8, yazawazi) <!-- 1701184555.0 -->
- remove `lazy` mode, lazy mode now be an addition to the normal mode (https://github.com/TexteaInc/funix/commit/447384500f06426e37effa30e728a6086eb668ec, yazawazi) <!-- 1701184555.0 -->
- update chatgpt example (https://github.com/TexteaInc/funix/commit/c6bd389b3ec61b8b5e870d5dd0c1ba673e4ae978, yazawazi) <!-- 1701184555.0 -->
- try to support normal `pandas` (https://github.com/TexteaInc/funix/commit/e57e6970d8671361cff0f94465b34b02f595c302, yazawazi) <!-- 1701184555.0 -->
- support local d3 and mpld3 (https://github.com/TexteaInc/funix/commit/cf830838d8b08cae077c7d78545f1db291af76bc, yazawazi) <!-- 1701184555.0 -->
- support `funix_class` (https://github.com/TexteaInc/funix/commit/693b31095ca1f45f97607bf9f9adbbb67f61e8bf, yazawazi) <!-- 1701184555.0 -->
- support `funix_class_params` (https://github.com/TexteaInc/funix/commit/cec8cdb54632d2d6c14471ad7bc9dcb2c54dbfc3, yazawazi) <!-- 1701184555.0 -->
- support `print_to_web` (https://github.com/TexteaInc/funix/commit/efb7f7e5532113ab7282c9c930d59dd9b45dce08, yazawazi) <!-- 1701184555.0 -->
- support `markdown` and fix flush (https://github.com/TexteaInc/funix/commit/39cef98f7b278e8c531df6f1966f5921fd93f200, yazawazi) <!-- 1701184555.0 -->
- support `disable` in `funix_class` (https://github.com/TexteaInc/funix/commit/8a1f57e6787a05d25dd4f23fcaf7505712472269, yazawazi) <!-- 1701184555.0 -->
- try to support class with `__init__` (https://github.com/TexteaInc/funix/commit/af2f56bd80db684157b0abb6363f444ae9c5a3c9, yazawazi) <!-- 1701184555.0 -->
- bring `lazy` mode back (https://github.com/TexteaInc/funix/commit/5ba0caa2eb76ab300ab2f3b507f5be47af972df3, yazawazi) <!-- 1701184555.0 -->
- `funix_class` as decorator (https://github.com/TexteaInc/funix/commit/da192c6dfe1795e5f5bbc83f175d09a30fdc8f6c, Colerar) <!-- 1701184555.0 -->
- invocation style funix_class, update example (https://github.com/TexteaInc/funix/commit/50a73e8d0c1200e7f7bc0c28d4369a246cfad221, Colerar) <!-- 1701184555.0 -->
- `funix_class` imports (https://github.com/TexteaInc/funix/commit/f2c57a24fa032684ace7e817dad277659d7b0ab0, Colerar) <!-- 1701184555.0 -->
- remove multiline prop for number type (https://github.com/TexteaInc/funix/commit/375db47539d8029eccba108f61068ffcc0ef52cb, yazawazi) <!-- 1701184555.0 -->
Documents
- update readme and command line options (https://github.com/TexteaInc/funix/commit/83b36e69816ec7212b8943e6e9af9907117b1b35, yazawazi) <!-- 1698917742.0 -->
- [demo] partially updating examples for streaming mode and openAI 1.1.1 API (https://github.com/TexteaInc/funix/commit/06a26c2bb510570b4bc9b7df188d5e02c1cbbd69, forrestbao) <!-- 1701184555.0 -->
- partially updating examples for OpenAI API v1.0+ (https://github.com/TexteaInc/funix/commit/6380cf427e15977bfafda7f43afeb1f6792b7547, forrestbao) <!-- 1701184555.0 -->
- update the example for classes (https://github.com/TexteaInc/funix/commit/766920bbaddb705e4aa4e735b9a6423a8399edc7, forrestbao) <!-- 1701184555.0 -->
Chores
- auto build frontend (https://github.com/TexteaInc/funix/commit/79fee7d767cce2eba67b45c3178b2b58d584c1ff, workflow) <!-- 1698843473.0 -->
- rename `update` to `stream` (https://github.com/TexteaInc/funix/commit/4aa70cd0c1a7a9904883b3041366f598275b7119, yazawazi) <!-- 1701184555.0 -->
- rename `funix_class_params` to `funix_method` (https://github.com/TexteaInc/funix/commit/a7bb60693ccfad31cade7f816bf10b1e9193c235, yazawazi) <!-- 1701184555.0 -->
- change init class function name to `initialize_` (https://github.com/TexteaInc/funix/commit/d238e3d35da5f5df2b19b2b1d8bea1e623f66b61, yazawazi) <!-- 1701184555.0 -->