Changelog
duckboost uses semantic versioning. Releases are git tags (v0.0.1, v0.0.2, …) with matching GitHub releases. Targets DuckDB 2.0.0 LTS (“Cinnamon Teal”).
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.5 (2026-10-24)
Fixed
duckboost_to_sqlnow writes leaf values, thresholds, and the learning rate asDOUBLEliterals (0.1e0instead of0.10000000000000001). DuckDB 2.0 reads long decimal literals asDECIMAL, so a 200-tree regression export in v0.0.4 could fail withDECIMAL(38,37)overflow. Exported SQL now matchesduckboost_predictwithout aregexp_replaceworkaround.
Documentation
- Getting Started / README now lead with
INSTALL duckboost FROM community(live after community-extensions#3236). - Added
docs/community_extensions_function_descriptions.csvso the community “Added Functions” table can be populated.
0.0.4 (2026-10-21)
Changed
- Pinned
duckdbto the officialv2.0.0release (d54cbbe) andextension-ci-toolsto currentv2.0-cyanoptera(78bd1e4). Local CI /Makefilelabel builds asv2.0.0to match community-extensions. - Kept the
duckdbandextension-ci-toolsgit submodules (required by the extension-template layout for localmake); documented why inPACKAGING.md. - Added
make check-extension-metadatato assert the loadable extension footer carries the expected DuckDB version before a community submission. - Updated README, site, and publish docs for DuckDB 2.0.0 GA; community submission checklist is in
docs/COMMUNITY_PUBLISH.md.
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.