Changelog
duckboost uses semantic versioning. Releases are git tags (v0.0.1, v0.0.2, …) with matching GitHub releases. Until clients ship DuckDB 2.0.0, GitHub releases stay pre-releases against the community 2.0 alpha pin (v2.0.0-alpha46057).
A build from a release tag reports that version, and any other commit reports its short commit hash:
SELECT extension_version FROM duckdb_extensions() WHERE extension_name = 'duckboost';0.0.4 (unreleased)
Changed
- Pinned the
duckdbsubmodule to community-extensions’ DuckDB 2.0 alpha commitb15358c(v2.0.0-alpha46057) and aligned local CI /Makefilelabeling with that pin. Community submission no longer waits on the official 2.0.0 tag; seedocs/COMMUNITY_PUBLISH.md. - Added
make check-extension-metadatato assert the loadable extension footer carriesv2.0.0-alpha46057before a community submission. - Refreshed Getting Started / ticket-NLP status copy so they no longer say submission waits on the DuckDB 2.0 release.
- Getting Started’s closing section now points at community publication (not “after DuckDB 2.0 is released”).
0.0.3 (2026-10-05)
Added
- Classification evaluate metrics
brier_score(aliasbrier),roc_auc_ovr(aliasauc_ovr), androc_auc_ovo(aliasauc_ovo) onduckboost_evaluate_agg. Binary and multiclass are both supported. Scalarduckboost_evaluatereturns the per-row Brier contribution; ROC AUC is aggregate-only.
0.0.2 (2026-10-04)
Fixed
LOAD duckboostworks again in./build/release/duckdbon a fresh clone. Since the DuckDB 2.0 alpha bump on 2026-09-30, the build compiled duckboost but no longer linked it into the shell, soLOAD duckboostfailed withExtension ".../duckboost.duckdb_extension" not found. duckboost is now statically linked into the shell,libduckdbandmake test(#34).
Changed
- Bumped the
duckdbsubmodule to80e17fc(v2.0-cyanoptera) andextension-ci-toolsto969bc76. Macro registration follows DuckDB’sParserOptionsAPI change (#35).
Documentation
- The site is re-rendered from scratch on every publish. The docs workflow builds DuckDB with duckboost and runs every example, so the published output matches
main. Committedsite/_freezeoutput is gone. - New Changelog page on the site, and versioned releases: git tags
vX.Y.Zwith GitHub pre-releases, starting fromv0.0.1. - Clarified that the
.duckdb_extensionfile is for a separate DuckDB 2.0 shell built from the sameduckdbcommit. This repo’s shell already has duckboost linked in.
0.0.1 (2026-10-02)
Soft launch: the first public pre-release, built against the DuckDB 2.0 alpha (v2.0-cyanoptera). Try it by cloning and building this repo. PyPI and CRAN DuckDB 1.x cannot load it, and the community extension store submission waits for DuckDB 2.0.
- Native histogram GBDT trainer with no external dependencies (
backend = 'native', aliasreference): regression and classification, quantile / MAE / expectile objectives, categorical features, leaf-wise and oblivious tree growth, sample weights and early stopping on a validation set. - Training and scoring in SQL:
duckboost_train,duckboost_fit,duckboost_predict,duckboost_predict_proba,duckboost_score,duckboost_evaluate,duckboost_evaluate_aggandduckboost_importance. duckboost_to_sqlexports a model as plain DuckDB SQL (CASE WHENensembles), so scoring needs no extension.duckboost_importreads XGBoost, LightGBM and CatBoost model dumps.- Split and preprocessing macros:
duckboost_initial_split,duckboost_initial_validation_split,duckboost_vfold,duckboost_dummy,duckboost_levels,duckboost_otherand more. - Optional in-process XGBoost / LightGBM training behind
DUCKBOOST_WITH_*build flags, andduckboost_build_info()/duckboost_backends()to inspect a build. - Documentation site with Getting Started, vignettes, a native vs LightGBM benchmark and a SQL reference.
Known issue: on a fresh clone, LOAD duckboost fails in ./build/release/duckdb. Load the file by path instead, LOAD 'build/release/extension/duckboost/duckboost.duckdb_extension';, or update to 0.0.2.