DP Lib 1.1.0
This is a minor release with new features, improvements and bug fixes across the libraries. There should be no breaking changes.
Overview Table
Algorithm | C++ | Go | Java |
---|---|---|---|
Laplace mechanism | ✅ | ✅ | ✅ |
Gaussian mechanism | ✅ | ✅ | ✅ |
Laplace mechanism | ✅ | ✅ | ✅ |
Count | ✅ | ✅ | ✅ |
Sum | ✅ | ✅ | ✅ |
Mean | ✅ | ✅ | ✅ |
Variance | ✅ | ✅ | ❌ |
Standard deviation | ✅ | ✅ | ❌ |
Quantiles | ✅ | ✅ | ✅ |
Automatic bounds approximation | ✅ | ❌ | ❌ |
Truncated geometric thresholding | ✅ | ✅ | ✅ |
Laplace thresholding | ✅ | ✅ | ✅ |
Gaussian thresholding | ✅ | ✅ | ✅ |
✅ => supported ; ❌ => not supported yet
New features since the 1.0.0 release
C++
- Support for Gaussian Partition Selection
- NumericalMechanism supports
GetVariance
- Users can have the library automatically select the numerical mechanism (Laplace or Gaussian) with the smaller variance
Java
- Confidence intervals for Quantiles
Go
- Support for variance and standard deviation
Privacy on Beam
- Support for multiple quantiles using quantile trees
Bug Fixes
Privacy on Beam
- Fix a privacy bug in DistinctPerKey where contributions might not be bound correctly in some rare cases
- Fix a bug in codelab in sum.go and multiple.go where instead of summing up revenue we sum up time spent
Other
Privacy on Beam
- Refactor error reporting, errors are propagated up to top-level functions as much as possible
Usage
Java via Maven
<dependency>
<groupId>com.google.privacy.differentialprivacy</groupId>
<artifactId>differentialprivacy</artifactId>
<version>1.1.0</version>
</dependency>
Or use the Java artifact with other build systems.
Via the Go command
For the go building blocks library:
go get github.com/google/differential-privacy/[email protected]
For Privacy on Beam:
go get github.com/google/differential-privacy/[email protected]