NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1851 most downloaded on PyPI
CatBoost Python Package
Last release 7 months ago
18 Feb 2026
Ships fairly regularly
a new release about every 4 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
95 releases · first in 2017
Fixed loading of epsilon dataset into memory
epsilon dataset into memoryFixed Python compatibility issue in dataset downloading
sampling_type parameter for YetiRankPairwise lossOne column per quarter.
Support saving models in ONNX format (only for models without categorical features).
catboost.datasets() -- dataset epsilon, a large dense dataset for binary classification.cv on GPU.Pool from pandas.DataFrame with pandas.Categorical columns.Accelerated formula evaluation by ~15%
best_score_ and evals_result_ (issue #539).dist-info/RECORD in python wheel (issue #534)Changed default border count for float feature binarization to 254 on CPU to achieve better quality
0 by defaultcatboost.sum_models() to sum models with provided weights.Added EvalResult output after GPU catboost training
Added EvalResult output after GPU catboost training
Supported prediction type option on GPU
Added get_evals_result() method and evals_result_ property to model in python wrapper to allow user access metric values
Supported string labels for GPU training in cmdline mode
Many improvements in JNI wrapper
Updated NDCG metric: speeded up and added NDCG with exponentiation in numerator as a new NDCG mode
CatBoost doesn't drop unused features from model after training
Write training finish time and catboost build info to model metadata
Fix automatic pairs generation for GPU PairLogitPairwise target
Fixed Python 3 support in catboost.FeaturesData
catboost.FeaturesDataFixed #403 bug in cuda train submodule (training crashed without evaluation set)
GroupId and SubgroupId in python-packageNothing published for this version
We removed calc_feature_importance parameter from Python and R. Now feature importance calculation is almost free, so we always calculate feature impo
In this release we added several very powerfull ranking objectives:
Other ranking improvements:
MetricName:hint=skip_train~false (it might speed up your training if metric calculation is a bottle neck, for example, if you calculate many metrics or if you calculate metrics on GPU).MetricName:hints=skip_train~true. If you want to calculate AUC or PFound on train dataset you can use MetricName:hints=skip_train~false.verbose=n parametermetric_period=something and MetricName:hint=skip_train~falseprettified parameter to get_feature_importance(). With prettified=True the function will return list of features with names sorted in descending order by their importance.We added many new metrics that can be used for visualization, overfitting detection, selecting of best iteration of training or for cross-validation:
Added make files for binary with CUDA and for Python package
We created a new repo with tutorials, now you don't have to clone the whole catboost repo to run Jupyter notebook with a tutorial.
We have also a set of bugfixes and we are gratefull to everyone who has filled a bugreport, helping us making the library better.
This release contains contributions from CatBoost team. We want to especially mention @pukhlyakova who implemented lots of useful metrics.
As usual we are grateful to all who filed issues or helped resolve them, asked and answered questions.
Nothing published for this version
New model method get_cat_feature_indices() in Python wrapper.
get_cat_feature_indices() in Python wrapper.We fixed bug in CatBoost. Pool initialization from numpy.array and pandas.dataframe with string values that can cause slight inconsistence while using
numpy.array and pandas.dataframe with string values that can cause slight inconsistence while using trained model from older versions. Around 1% of cat feature hashes were treated incorrectly. If you expirience quality drop after update you should consider retraining your model.get_object_importance model method in Python package and ostr mode in cli-version. Tutorial for Python is available here.
More details and examples will be published in documentation soon._catboost reinitialization issues #268 and #269.use_cpu_ram_for_cat_features renamed to gpu_cat_features_storage with posible values CpuPinnedMemory and GpuRam. Default is GpuRam.This release contains contributions from CatBoost team.
As usual we are grateful to all who filed issues or helped resolve them, asked and answered questions.
Nothing published for this version
Nothing published for this version
Nothing published for this version
GPU: New DocParallel mode for tasks without categorical features and with —max-ctr-complextiy 1. Provides best performance for pool with big number of
DocParallel mode for tasks without categorical features and with —max-ctr-complextiy 1. Provides best performance for pool with big number of documents.Python wrapper: added methods to download datasets titanic and amazon, to make it easier to try the library (catboost.datasets).
catboost.datasets).catboost.utils.create_cd).GroupId column.Changed parameter order in `train()` function to be consistant with other GBDT libraries.
train() function to be consistant with other GBDT libraries.use_best_model is set to True by default if eval_set labels are present.YetiRank optimizes NDGC and PFound.eval_metrics and cv in Jupyter notebook.verbose=int: if verbose > 1, metric_period is set to this value.eval_set) = list in python. Currently supporting only single eval_set.model_size_reg parameter to control model size. Fix ctr_leaf_count_limit parameter, also to control model size.subgroupId to Python/R-packages.eval_metrics.This release contains contributions from CatBoost team.
We are grateful to all who filed issues or helped resolve them, asked and answered questions.
boosting_type parameter value Dynamic is renamed to Ordered.
boosting_type parameter value Dynamic is renamed to Ordered.query_id parameter renamed to group_id in Python and R wrappers.as_pandas.Target is changed to Label. It will still work with previous name, but it is recommended to use the new one.eval-metrics mode added into cmdline version. Metrics can be calculated for a given dataset using a previously trained model.CtrFactor is added.fit function using file with dataset: fit(train_path, eval_set=eval_path, column_description=cd_file). This will reduce memory consumption by up to two times.bootstrap_type parameter to CatBoostClassifier and Regressor (issue #263).This release contains contributions from newbfg and CatBoost team.
We are grateful to all who filed issues or helped resolve them, asked and answered questions.
BETA version of distributed mulit-host GPU via MPI training
GreedyLogSumQueryIdHotfix for critical bug in Python and R wrappers (issue #238)
is_classification check and CV for Logloss (issue #237)Fixed critical bugs in formula evaluation code (issue #236)
scale_pos_weight parameterNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
R library interface significantly changed
Iter. This type of detector was requested by our users. So now you can also stop training by a simple criterion: if after a fixed number of iterations there is no improvement of your evaluation function.train_dir when training your model and then run "tensorboard --logdir={train_dir}"nan_mode for that. When applying a model, NaNs will be treated in the same way for the features where NaN values were seen in train. It is not allowed to have NaN values in test if no NaNs in train for this feature were provided.snapshot_file parameter - this way after you restart your training it will start from the last completed iteration.allow_writing_files parameter. By default some files with logging and diagnostics are written on disc, but you can turn it off using by setting this flag to False.MultiClassOneVsAll. We also added class_names param - now you don't have to renumber your classes to be able to use multiclass. And we have added two new metrics for multiclass: TotalF1 and MCC metrics.
You can use the metrics to look how its values are changing during training or to use overfitting detection or cutting the model by best value of a given metric.tsv format, CatBoost now supports files with any delimetersThis release contains contributions from: grayskripko, hadjipantelis and CatBoost team.
We are grateful to all who filed issues or helped resolve them, asked and answered questions.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →