Skip to content

Commit 666b508

Browse files
authored
Support for no false-positives (#161)
* Add support for raw encrypted strings * comments * fix golang tests * fix js tests * rust * rust tests * fix golang * fix go bench * wip rust * rust wip * prep bench for refactor * added back ts tests * re-add unit tests * normalize fpr in unit tests * update version, changelog * reduce c tests * key tests in c * simplify js tests * more unification * update changelog * update js deps * more deps * update rollup * typos * golint
1 parent 3769d77 commit 666b508

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+3434
-3514
lines changed

CHANGES.md

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1+
# Version 2.0.0
2+
3+
Breaking:
4+
5+
- The protobuf schema has changed to support additional enum variants for
6+
backing datastructures. This means prior protobufs using earlier library
7+
versions will not work with `2.0.0+`. We made this change to ensure additional
8+
variants will not break the schema. In general, storing serialized protobufs
9+
is not a pattern the protocol recommends since every intersection calculation
10+
should be a new protocol exchange (setup, request, response, intersection).
11+
12+
Feat:
13+
14+
- A `Raw` datastructure enum variant has been added which when specified,
15+
computes an intersection against 'raw' encrypted strings, but with zero
16+
false-positives (`fpr` is ignored). It is intended for applications that
17+
depend on 100% accuracy, but it may have a performance impact.
18+
19+
Bufgix:
20+
21+
- Previously, only the `CPP` bindings supported the datastructure enum to allow
22+
the user to select which backing datastructure to use in the protocol (`GCS`,
23+
`BloomFilter`, and now `Raw`). This meant we were not feature-compatible in
24+
the languages that depended on the (incomplete) `C` bindings. In this release,
25+
all languages support the same features, namely, we've updated the `C`
26+
bindings which allowed us to get `Go` and `Rust` to be feature compatible.
27+
28+
Chore:
29+
30+
- All languages now have common integration tests and use unit tests where
31+
relevant. We make a distinction between unit and integration tests. Unit tests
32+
are for language-specific edge cases whereas the integration tests will test
33+
the common APIs for correctness.
34+
135
# Version 1.1.1
236

337
Chore:
@@ -17,13 +51,20 @@ Bugfix:
1751

1852
Bugfix:
1953

20-
- The Python builds were using the older `manylinux2014` tagging convention which was causing issues on systems that expected a specific glibc version (Ubuntu 20.04 uses [2.31](https://launchpad.net/ubuntu/+source/glibc)). We now use the latest `manylinux_x_y` tagging convention to accomodate different glibc versions across linux when building wheels. This means we must support `python 3.8.10+, 3.9.5+, 3.10.0+` and `pip >= 20.3` in accordance with [PEP 600](https://github.com/pypa/manylinux)
54+
- The Python builds were using the older `manylinux2014` tagging convention
55+
which was causing issues on systems that expected a specific glibc version
56+
(Ubuntu 20.04 uses [2.31](https://launchpad.net/ubuntu/+source/glibc)). We now
57+
use the latest `manylinux_x_y` tagging convention to accomodate different
58+
glibc versions across linux when building wheels. This means we must support
59+
`python 3.8.10+, 3.9.5+, 3.10.0+` and `pip >= 20.3` in accordance with [PEP
60+
600](https://github.com/pypa/manylinux)
2161

2262
# Version 1.0.2
2363

2464
Feat:
2565

26-
- This patch version relaxes the Python requirement to allow for older `protobuf` libraries to work with the PSI library.
66+
- This patch version relaxes the Python requirement to allow for older
67+
`protobuf` libraries to work with the PSI library.
2768

2869
# Version 1.0.1
2970

@@ -32,8 +73,8 @@ Feat:
3273
- Update the Python bindings to take in an optional `DataStructure` argument for
3374
`CreateSetupMessage`. This allows the user to customize the behavior of the
3475
backing datastructure - i.e. to select between the default (`GCS`) or specify
35-
`BLOOM_FILTER`. The previous behavior always selected `GCS` so if the parameter
36-
is omitted, the behavior will remain the same.
76+
`BLOOM_FILTER`. The previous behavior always selected `GCS` so if the
77+
parameter is omitted, the behavior will remain the same.
3778

3879
Ex:
3980

0 commit comments

Comments
 (0)