Breaking Changes ⚠️
- The dataset interface has changed significantly. Refer to the documentation for upgrading:
- The interface for models' `.train()` method has changed. `train` now accepts either a Dataset or an iterable for training, where instances are objects with `x` and `y` properties for input and output, respectively.
- `BatchPrediction.predict()` now accepts datasets or iterables.
- data stores now take a location as argument rather than a configuration object
Many components and methods have been renamed for consistency. Any application built with a previous version of Marcelle is expected to break. The online documentation is up to date with the current naming. The list of name changes is as follows:
| Previous name | New Name |
| ----------------------- | ----------------------- |
| Module | Component |
| ModuleBase | ViewContainer |
| Dashboard.start() | Dashboard.show() |
| Dashboard.destroy() | Dashboard.hide() |
| DashboardPage.useLeft() | DashboardPage.sidebar() |
| Wizard.start() | Wizard.show() |
| Wizard.destroy() | Wizard.hide() |
| Wizard.step() | Wizard.page() |
| Button.$down | Button.$pressed |
| textfield | textField |
| chart | genericChart |
| sketchpad | sketchPad |
| mlp | mlpClassifier |
| knn | knnClassifier |
| onnx | onnxModel |
| tfGenericModel | tfjsModel |
| mobilenet | mobileNet |
| parameters | modelParameters |
| classificationPlot | confidencePlot |
| visObjectDetection | detectionBoxes |
New Features
- Lazy iterables have been added to process service data, in particular dataset data (TODO: add link to documentation)
- Services now support a `$distinct` query parameter to get the list of distinct values for a particular field.
- K-Means clustering
- Styling no longer pollutes global CSS. Tailwind's Preflight was removed so that Marcelle does not interact with top-level styles when integrated in another application.
Internal Changes
- The core UI components have been updated
- Storybook has been added to support the development of core UI components
- The performance of KNN and DatasetBrowser has been improved
- [style] ESLint configuration has been improved
- [style] For-of loops are used instead of forEach