CHANGES.md
Change Log
[Unreleased]
[5.3.0] - 2017-09-05
Added
- Provide a means to specify the data source/exchange that one is targeting on, and
AudienceSetClient
only returns
Audience set Match
's that are associated with that data source. There will be no more need to filter Audience sets
based on data source when using this new method: test(String dataSource, String canonicalId)
.
- Data Source aliasing for Audience can be set via the Audience set client builder.
AudienceSetClient.ClientParams.Builder.withDataSourceAliases()
.
Deprecated
- Querying Audience client without giving data source, i.e.
AudienceSetClient.test(String canonicalId)
[5.2.3] - 2017-07-26
Fixed
- Issue with deactivated Audience sets served by merged config server were not fully disabled and matches would still be
returned for that set but missing some metadata.
- When merged config server is temporarily unavailable, don't instantly fall back to unmerged Audience sets.
[5.2.2] - 2017-07-20
Changed
- Minimum
glibc
required is lowered to >=2.12 for merged Audience sets. glibc
required >=2.14 since geopulse-client [5.2.0]
.
[5.2.1] - 2017-07-18
Added
- Lower requirements back to Java 1.7 after regression introduced in
geopulse-client [5.2.0]
.
[5.2.0] - 2017-07-11
Added
- Support for merged Audience sets. Requires
glibc
>=2.14.
Changes
- Use newly exposed fields to determine when an index is merged instead of relying on the same merged index appearing
2 or more times. Breaks compatibility with old citadel with merged proximity.
- Bumped internal dependencies to match versions set in
outpost.commons
.
- No longer clean cache directory for Proximity/Audience after initial load. Helpful to pre-cache needed files during testing.
Fixed
- Merged proximity filter no longer has a chance of reloading when a filter gets deactivated and deployed to the client.
- Fix regression that reintroduced SIGSEGV error in
geopulse-client [5.1.4]
[5.1.5] - 2017-04-14
Fixed
- Lower requirements back to Java 1.7 after regression in
outpost.commons
used
in geopulse-client [5.1.4]
required java 1.8
[5.1.4] - 2017-03-22
Changes
- Various optimizations to both proximity and audience.
- Remove clojure delay from proximity
[5.1.3] - 2017-03-02
Fixed
- Do not unload proximity filters and audience sets when Citadel endpoint returns
an unexpected http response code.
- No longer return
Matches
with null fields from audience or proximity when unloaded
entry caught mid removal.
[5.1.2] - 2017-01-26
Added
- Add method to
ProximityClient
in order to query merge status for a given
build-id.
Fixed
- Improved performance of ProximityClient's
testPoint
method, fixing a
regression introduced in 5.0.0.
- Behavior for ProximityClient setting for
max-indices
now matches same
setting in AudienceClient.
- Client's exact version number now sent to Citadel when requesting
configs, instead of major revision number only.
- ProximityClient's
testPoint
method no longer throws
IllegalStateException
when previous configuration sync has failed.
[5.1.1] - 2016-12-21
Added
- Support for merged Proximity indexes. Proximity indexes that have distinct
targeting codes can now be sent to the
ProximityClient
as a single
combined/merged index. This reduces the total number of queries required and
significantly lowers latency for organizations with thousands of indexes.
Fixed
- Thread leak in the case where
ProximityClient/newClient
is called more
than once.
[5.0.4] - 2016-11-30
Fixed
- Bug in Audience client which would occur when an audience set is unloaded
while the client is still querying it. The Java process would get killed
via a SIGSEGV signal for accessing a cleaned
java.nio.ByteBuffer
.
[5.0.3] - 2016-08-15
Changed
-
ProximityClient.testPoint
is now also multithreaded, using the same threadpool
as ProximityClient.testMultiplePoints
.
Added
-
ProximityClient
and AudienceClient
now both support a maxIndexesToQuery
parameter.
This can be used to test how your client would perform with fewer filters defined. However,
it should generally not be used long term, because the set of filters that are used vs removed
is arbitrary, and may not suit your use cases.
[5.0.0] - 2016-06-28
Fixed
- Improved some malformed javadoc / typos
Removed
- Support for audience profiles has been removed (no plans to remove audience sets)
Changed
- ProximityClient.Coordinate is no longer an inner class: it's just Coordinate now
- The independent SyncState enums in Proximity/Audience/Validator clients have been combined
Added
-
ProximityClient.testMultiplePoints
method added
- New configuration option
ProximityClient.ClientParams.threadPoolSize
to conrol its performance
- Constructing a Proximity/Audience client can now be done with a builder
- PERFORMANCE.md added, containing some advice for getting good QPS/latency
[4.0.14] - 2016-04-12
Fixed
- Fixed memory leak related to configuration management.
[4.0.12] - 2015-12-09
Fixed
- Bug where version number was sometimes incorrectly reported.
[4.0.11] - 2015-11-11
Fixed
- Disable Java 8 primitives in Java 7 builds.
[4.0.10] - OnPrem Server Only
Fixed
- Better detection of Oracle JRE.
[4.0.9] - OnPrem Server Only
Fixed
[4.0.8] - OnPrem Server Only
Added
- Introspection methods to the clients to power /help page.
Fixed
- Self-reported version now fetched programmatically.
- Introduced specific timeout when fetching configuration from Factual servers.
[4.0.7] - OnPrem Server Only
Added
- Added
getRequesterSlug()
method to Match
interface.
[4.0.4] - 2015-08-11
Added
- Added
getRequester()
method to Match
interface.
[4.0.3] - 2015-07-16
Changed
- Disabled match deduplication when payloads are enabled.
[4.0.2] - 2015-07-05
Changed
- Improved backwards compatiblity with older builds, such that design-specific
fields in the
Match
object can always be populated, even if the
set-specific fields are unknown.
[4.0.1] - 2015-06-04
Added
- Added
getDesignId()
methods to both ProximityClient
and
AudienceSetClient
[4.0.0] - 2015-05-01
Added
- Unified response representation for the
ProximityClient
and
AudienceSetClient
under the Match
interface.
- Added automatic deduplication of Proximity results.
- Added
omitPayload
flag to Proximity testPoint()
method, which is true
by default, which allows for more effective deduplication when the payload
is unnecessary.
Changed
- When creating clients, in addition to the
organizationId
, users must also
provide the apiKey
and secretKey
, which are available via
http://factual.com
[3.1.10]
Changed
- Made major improvements to the location validation logic.
[3.1.4]
Added
- Added
validate
flag to Proximity testPoint()
method, which is false
by default, allowing for degenerate location data to be ignored.
[3.1.0]
Added
- Introduced the
AudienceSetClient
and AudienceProfileClient
.
[3.0.0]
Added
- Repackaged Geopulse Proximity functionality within the
ProximityClient
.