| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| smile-7.1.0.zip | 2026-10-20 | 1.1 GB | |
| 7.1.0 source code.tar.gz | 2026-10-20 | 84.6 MB | |
| 7.1.0 source code.zip | 2026-10-20 | 87.0 MB | |
| README.md | 2026-10-20 | 6.4 kB | |
| Totals: 4 Items | 1.3 GB | 4 | |
SMILE 7.1.0 Release Notes
New Features
Explainable AI & Core ML (smile-core, smile-scala, smile-kotlin)
- Model-Agnostic KernelSHAP: Added
KernelSHAP(smile.feature.importance.KernelSHAP) to bring SHAP feature attributions to all DataFrame and linear models—including Logistic Regression, LDA, QDA, RDA, Fisher, MLP, SVM, RBF networks, OLS, Lasso, ElasticNet, Ridge, and Gaussian Process models—alongside existing TreeSHAP support. - Uses exact coalition enumeration for small feature sets and priority symmetric shell enumeration with antithetic paired sampling for larger feature sets.
- Exposes Scala and Kotlin API wrappers in
smile.feature.importance. - Per-Request KernelSHAP Tuning: Added
KernelSHAP.Optionsoverloads toshap(...)andinfer(...)onSHAP,DataFrameClassifier,DataFrameRegression,ClassificationModel, andRegressionModelso callers can customize coalition sample budgets and L2 ridge regularization at inference time without rebuilding background state.
Linear Algebra (smile-base)
- Pure-Java BLAS & LAPACK Fallback:
smile.tensornow works out of the box on machines without native OpenBLAS or system BLAS/LAPACK installed, instead of failing withUnsatisfiedLinkError. - Added pure-Java Level-1/2/3 BLAS (
JBlas) and LAPACK decompositions and solvers (JLapack: LU, Cholesky, QR, SVD, symmetric/general EVD, packed symmetric, and banded solvers) for bothFloat64andFloat32. - Added
NativeLibrary.isBlasAvailable()andNativeLibrary.isLapackAvailable()runtime probes, plus backend selection via thesmile.linalg.backendsystem property orSMILE_LINALG_BACKENDenvironment variable (auto,native, orjava).
SMILE Serve (smile-serve)
- Interactive SHAP Visualizations in the Web UI: Added an inline SHAP explanation pane to the Predictions panel supporting Waterfall, Force, and Decision plots for both 1D regression and 2D multi-class classification outputs. Clicking any prediction row updates the explanation plot dynamically.
- Per-Request SHAP Controls in API & Web UI:
POST /api/v1/smile/{id}andPOST /api/v1/smile/{id}/streamnow accept?samplesand?ridgequery parameters as well asshapSamples,shapRidge, and nestedshaprequest payload fields.- The Web UI displays the active explanation method (
TreeSHAP,LinearSHAP, orKernelSHAP) and provides inline Samples and Ridge controls when runningKernelSHAP. - Four Container Image Flavors (
latest,-gpu,-native,-micro): Dockerfile.micro(-micro, ~205 MB): New single-stage UBI 10 micro GraalVM native image built with themicroprofile for lightweight, inference-only deployments (SMILE.smland ONNX models + Web UI, excluding chat, auth, and JDBC/database overhead).Dockerfile.native(-native, ~375 MB): GraalVM native image with CPU chat powered by ONNX Runtime GenAI, trimming image size from 891 MB to 375 MB.Dockerfile(latest, ~575 MB): Leaner CPU JVM image with ONNX Runtime GenAI support for CPU chat (down from 1.25 GB).Dockerfile.gpu(-gpu): Self-contained multi-stage build with full GPU/CUDA and S3 blob storage support.- Pluggable Blob Storage SPI: Extracted S3 blob storage into an optional plugin (
serve-plugins/blob-s3andserve-plugins/blob-spi) selectable at build time via-Pserve.plugins=..., keeping the AWS SDK out of CPU JVM and native images. - New
localQuarkus Profile: Added a dedicatedlocalprofile (embedded H2 in the model directory without PostgreSQL) and restrictedquarkus-jdbc-postgresqlto theprodprofile.
Security
- OS Credential Store for Studio API Keys (
smile-studio): Replaced plain-text JavaPreferencesstorage and plain text fields withSecretStoreintegration (photos.sluice:secret-store). - Stores AI provider API keys in the native OS credential manager (macOS Keychain, Windows Credential Manager, Linux Secret Service), with environment variable overrides and owner-restricted file fallback (
~/.smile/credentials). - Automatically migrates and scrubs legacy keys from Java
Preferences. - Masked API key inputs in
SettingsDialogusingJPasswordFieldwith a reveal toggle and storage-tier status indicator across all 5 supported locales.
Improvements
- Lighter
smile-baseRuntime Footprint: Scoped optional I/O and SQL dependencies (duckdb_jdbc, Apache Arrow, Avro, Snappy, Parso, andlsp4j) ascompileOnly/Providedinsmile-baseso downstream consumers no longer inherit ~170 MB of optional libraries unless explicitly needed. - SMILE Studio Agent Workspace (
smile-studio): Added localized welcome and capability banners for the Evangelist (@julien) and Sales (@mike) agents, expanded the Java and Python Coder capability banners across all locale bundles, and reordered agent tabs. - Developer Experience (
smile-serve): Configured./gradlew :serve:quarkusDevto run from the root repository directory with pre-configured test models out of the box. - Dependency Updates: Upgraded
FasterXML/ Jackson dependencies (2.22.3/ Jackson v3 migration insmile.io.JSON).
Bug Fixes
- JSON I/O (
smile-base): Migratedsmile.io.JSONfrom residual Jackson v2 imports (com.fasterxml.jackson.*) to Jackson v3 (tools.jackson.*), fixing aNoClassDefFoundErrorat runtime in downstream modules that only inheritsmile-base'sapidependency. - Banded Matrix Multiplication (
smile-base): FixedBandMatrix.mvwithUPLO.LOWERin the native CBLAS path to slice band storage at offsetku. - Native Image Reflection & FFM Registration (
smile-serve): - Registered
OnnxModelInfo.NodeDescriptor[]for GraalVM native reflection, resolving aMissingReflectionRegistrationErroronGET /api/v1/onnx/{id}. - Registered
ChatCompletionChunkandChatMessageObjectfor reflection so streaming SSE chat chunks serialize properly in native images instead of emitting emptydata:{}frames. - Updated FFM reachability metadata generation to emit
critical(allowHeapAccess)for BLAS/LAPACK downcalls and added the missinglibopenblas.sosymlink in container images so BLAS-backed models (such as LDA) run in native and GPU containers without link errors.