Skip to content

Releases: IBM/differential-privacy-library

Diffprivlib 0.6.5

10 Oct 12:47
Compare
Choose a tag to compare

This release of diffprivlib is a minor update to fix bugs that have resulted in the release of Numpy v2.0 and Scikit-Learn v1.5.

What's Changed

  • [MNT] Prepare for Numpy 2.0 and Scikit-Learn 1.5 by @naoise-h in #92

Full Changelog: 0.6.4...0.6.5

Diffprivlib 0.6.4

31 Jan 11:04
Compare
Choose a tag to compare

This release of diffprivlib is a minor update to fix a bug in some tools and to maintain compatibility with the newly-released Scikit-Learn v1.4.

Fixed

  • Minor bugs arising from the relase of Scikit-Learn v1.4
  • Incorrect bounds calculation in Nan-supporting statistical functions in the tools module (#87)

Added

  • Support for Python 3.12

Merged Pull Requests

Full Changelog: 0.6.3...0.6.4

Diffprivlib 0.6.3

30 Jun 15:40
Compare
Choose a tag to compare

This release of diffprivlib is a minor update to maintain compatibility with the newly-released Scikit-Learn v1.3.

Fixed

  • Bug in DecisionTreeClassifier and RandomForestClassifier arising from the release of Scikit-Learn v1.3

Merged Pull Requests

  • Update readme adding known publications by @stefano81 in #78
  • [BUG] Fixes _Node class for scikit-learn v1.3 by @naoise-h in #86
  • [BUG] Fix random_state bug in quantile by @naoise-h in #85

Full Changelog: 0.6.2...0.6.3

Diffprivlib 0.6.2

09 Dec 15:17
9369ae7
Compare
Choose a tag to compare

This release of diffprivlib is a minor update on 0.6.1 to maintain compatibility with the newly-released Scikit-learn 1.2, while also adding explicit support for Python 3.11.

Added

  • Support for Python 3.11

Fixed

  • Minor changes to support Scikit-learn's new parameter validation
  • Minor changes to PCA and RandomForestClassifier resulting from recent scikit-learn deprecations

Merged Pull Requests

Full Changelog: 0.6.1...0.6.2

Diffprivlib 0.6.1

24 Nov 17:35
049f463
Compare
Choose a tag to compare

This release is a minor bugfix to support the upcoming release of Numpy 1.24.0

Fixed

  • Numpy's histogramdd has deprecated the normed keyword, which has now been removed from diffprivlib.

Merged Pull Requests

Full Changelog: 0.6.0...0.6.1

Diffprivlib 0.6.0

21 Oct 15:26
f5c5637
Compare
Choose a tag to compare

This version of diffprivlib supports Python versions 3.8 to 3.10.

Changed

Breaking:

  • RandomForestClassifier has been substantially rewritten to fix previously-reported bugs and to improve performance. It now takes a bounds parameter (similar to other models) instead of the previous feature_domains parameter (#70)

Non-breaking:

  • All diffprivlib models and tools now accept a random_state parameter to specify a seed for the random number generator (RNG), or to specify a RandomState instance to be used. The implementation follows closely that of scikit-learn, and more details can be found in the PR #72.
  • To overcome difficulties with its installation on Windows, crlibm is now an optional dependency. (#67)

Merged Pull Requests

Full Changelog: 0.5.2...0.6.0

Diffprivlib 0.5.2

13 May 13:07
Compare
Choose a tag to compare

This is a minor release of diffprivlib that adds the snapping mechanism and fixes bugs introduced by Scikit-learn 1.1.0.

Added

  • Snapping mechanism, Snapping (#46, by @danrr)

Fixed

  • Bugs in LinearRegression, LogisticRegression and RandomForestClassifier introduced by release of Scikit-learn 1.1.0 (#65)

New Contributors

  • @danrr made their first contribution in #46

Full Changelog: 0.5.1...0.5.2

Diffprivlib 0.5.1

17 Jan 12:33
936b9af
Compare
Choose a tag to compare

This release of diffprivlib is a minor update on 0.5, adding explicit support for Python 3.10.

Added

  • Support for Python 3.10 (#61)

Full Changelog: 0.5.0...0.5.1

Diffprivlib 0.5.0

01 Oct 12:00
90b319a
Compare
Choose a tag to compare

This release of diffprivlib features a number of additions, fixes and enhancements. This version of diffprivlib supports Python version 3.7 to 3.9.

Added

  • A differentially private random forest classifier, RandomForestClassifier, has been added to the models module (#41, by mismayil)
  • The Exponential and PermuteAndFlip mechanisms now support monotonic utility functions as an input parameter (08c4d98)
  • Templates have been added for issues and pull requests (#52, by stefano81)
  • We are transitioning to Github Actions for tests and other checks (#54)

Changed

Breaking:

  • Mirroring the equivalent behaviour in scikit-learn (since version 0.23), most parameters for diffprivlib models must now be specified as keyword arguments. Failing to do so will raise a TypeError. (5fa781e)

Non-breaking:

  • The Laplace, Gaussian, Vector and Bingham distributions are now securely sampled to prevent privacy leakage due to their floating point representation (#47)
  • Diffprivlib now requires scikit-learn 0.23, numpy 1.19, and scipy 1.5, or later (#51)

Fixed

Removed

  • The Wishart mechanism has been removed (#42, eeae0d7)

Diffprivlib 0.4.1

29 Jan 17:41
Compare
Choose a tag to compare

This release of diffprivlib is a minor update to v0.4 to fix a bug in models.LinearRegression.

Fixed

  • Bug in models.LinearRegression which incorrectly calculated the sensitivity for the objective (#35)