Downloads and Release Notes

Downloads

Java Client Release Notes

5.3.0 Released 2017-09-05

Added

  • Provide a means to specify the data source/exchange that one is targeting on, and AudienceSetClientonly 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 Released 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 Released 2017-07-20

Changed

  • Minimum glibcrequired is lowered to >=2.12 for merged Audience sets. glibcrequired >=2.14 since geopulse-client [5.2.0].

5.2.1 Released 2017-07-18

Added

  • Lower requirements back to Java 1.7 after regression introduced in geopulse-client [5.2.0].

5.2.0 Released 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 Released 2017-04-14

Fixed

  • Set Java requirements back to Java 7 after regression in 5.1.4 required Java 8

5.1.4 Released 2017-03-22

Changes

  • Various optimizations to both proximity and audience.

5.1.3 Released 2017-03-02

Fixed

  • Do not unload proximity filters and audience sets when Citadel endpoint returns an unexpected http response code.
  • No longer return Matcheswith null fields from audience or proximity when unloaded entry caught mid removal.

5.1.2 Released 2017-01-26

Added

  • Add method to ProximityClientin order to query merge status for a given build-id.

Fixed

  • Improved performance of ProximityClient's testPointmethod, fixing a regression introduced in 5.0.0.
  • Behavior for ProximityClient setting for max-indicesnow 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 testPointmethod no longer throws IllegalStateExceptionwhen previous configuration sync has failed.

5.1.1 Released 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/newClientis called more than once.

5.0.4 Released 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 Released 2016-08-15

Changed

  • ProximityClient.testPointis now also multithreaded, using the same threadpool as ProximityClient.testMultiplePoints.

Added

  • ProximityClientand AudienceClientnow both support a maxIndexesToQueryparameter. 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 Released 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.Coordinateis no longer an inner class: it's just Coordinate now
    The independent SyncState enums in Proximity/Audience/Validator clients have been combined

Added

  • ProximityClient.testMultiplePointsmethod added
    ** New configuration option ProximityClient.ClientParams.threadPoolSizeto conrol its performance
  • Constructing a Proximity/Audience client can now be done with a builder

4.0.14 Released 2016-04-12

  • Fixed memory leak related to configuration management.

4.0.12 Released 2015-12-09

  • Fixed bug where version number was sometimes incorrectly reported.

4.0.11 Released 2015-11-11

  • FIXED: Disable Java 8 primitives in Java 7 builds.

4.0.10 OnPrem Server Only

  • Better detection of Oracle JRE.

4.0.9 OnPrem Server Only

  • Java 6 compatibility.

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: getRequesterSlug() method to Match interface.

4.0.4 Released 2015-08-11

  • ADDED: getRequester() method to Match interface.

4.0.3 Released 2015-07-16

  • Disabled match deduplication when payloads are enabled.

4.0.2

  • Improved backwards compatiblity with older builds, such that design-specific fields in the Matchobject can always be populated, even if the set-specific fields are unknown.

4.0.1

  • Added getDesignId()methods to both ProximityClientand AudienceSetClient.

4.0.0

  • New Metadata - new fields in the Match object allow you to construct unique identifiers to avoid name conflicts for your Geopulse targeting Sets.
  • Match Object - a unified interface for return values from both Geopulse Audience and Geopulse Proximity.
  • Data Pixel - Geopulse now supports data collection and reporting through the Factual data pixel, an invisible 1x1 image for ad creatives.
  • Deployment Tags - control the subset(s) of Geopulse Sets an instance of On-Prem should handle, which helps you scale system infrastructure and operations.
  • Configuration Update - starting up instances of On-Prem requires your Factual account credentials.
  • 'Targeting Code' is the new Group ID
  • Data Pixel Support
  • Added automatic deduplication of Proximity results
  • Added omitPayloadflag to Proximity testPoint()method, which is trueby default, which allows for more effective deduplication when the payload is unnecessary
  • When creating clients, in addition to the organizationId, users must also provide the apiKeyand secretKey, which are available via "https://factual.com":https://factual.com

3.1.10

  • Major improvements to the location validation logic

3.1.4

  • Added validateflag to Proximity testPoint()method, which is falseby default, allowing for degenerate location data to be ignored.

3.1.0

  • Introduced the AudienceSetClientand AudienceProfileClient.

3.0.0

  • Repackaged Geopulse Proximity functionality within the ProximityClient.

h2(#server-changelog). HTTP Server Release Notes


3.3.0 Released 2017-09-05

Added

  • Audience data source endpoint GET /geopulse/audienceand PUT /geopulse/audiencewhere data source must be provided via source url parameter. Using this instead of GET /geopulse/audiencesaves the caller from having to filter out incompatible data source Matchobjects.
  • Ability to override data source names of Audience Matches and parameter passed into new audience endpoint via the configuration YAML.

Changed

  • Swagger /docsupdated to reflect changes in endpoints.
  • No longer enable /:organization-id/endpoints when only a single organization is present in configuration YAML.
  • References to outpost renamed to geopulse.
  • Download renamed to geopulse-server-X.Y.Z.tar.gz.
  • Jar renamed to geopulse-server.jarfrom outpost.jar.
  • Example configuration renamed to geopulse.conffrom outpost.conf.

Fixed

  • /helpendpoint was fixed where it now gives sample points again.

Removed

  • Support for reverse geocoding endpoint /geopulse/geotag.

3.2.3 Released 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.

3.2.2 Released 2017-07-20

Changed

  • Minimum glibcrequired is lowered to 2.12 for merged Audience sets. glibcrequired >=2.14 since OnPrem Server [3.2.0].

3.2.1 Released 2017-07-18

Fixed

  • Lower requirements back to Java 1.7 after regression introduced in OnPrem Server 3.2.0.

3.2.0 Released 2017-07-11

Added

  • Support for merged Audience sets. Requires glibc>=2.14.
  • Merged Audience set trial support.

Changed

  • No longer create unused directory in cache.

3.1.4 Released 2017-04-14

Fixed

  • Set Java requirements back to Java 7 after regression in 3.1.3 required Java 8

3.1.3 Released 2017-03-22

Added

  • Added /zz/readyendpoint that is similar to /zz/statusbut without listing all loaded sets and designs.
  • Debug mode added to enable endpoints that may be useful during benchmarking. It is disabled by default. To enable, set global.debugto truein config.yml.
    /zz/debug/gc-stats- shows garbage collection statistics.
    /zz/debug/run-gc- runs the garbage collector.

Changes

  • Various optimizations to both proximity and audience.

3.1.2 Released 2017-03-02

Fixed

  • Fixed issue where an unavailable Factual server would reduce matches under some circumstances. On-Prem servers will now continue to maintain their loaded builds, even when Factual servers are not available.
  • Fixed race condition that would sometime cause matches to be returned with nullvalues.

3.1.1 Released 2017-01-26

Added

  • Merged status for proximity filters.

Fixed

  • Improved performance of Proximity endpoint, resolving a regression introduced in 5.0.0.
  • Behavior for Proximity setting for max-indicesnow matches same setting in Audience.
  • Client's exact version number now sent to Citadel when requesting configs, instead of major revision number only.

3.1.0 Released 2016-12-21

Added

  • Support for merged Proximity filters. For customers on this version or later of the OnPrem software, Factual can deploy a single Proximity filter that merges many subfilters together, great improving query latency and throughput

Fixed

  • Intermittent error in logs: java.lang.String cannot be cast to [B.

3.0.0 Released 2016-07-25

Added

  • CORS support
    ** New configuration option, at path ["global", "cors", "allowed-origins"]
  • Client version 5.0.0
    ** New endpoint /geopulse/proximity/points, for querying multiple points
  • New interactive documentation page at /docs
  • New endpoint /config to display the currently active config.yml file

Removed

  • Support for audience profiles. Support for audience sets remains intact.

2.0.13 Released 2016-04-11

  • Fixed: A bug where configurations on disk grew over time. Could cause OOMEs for some partners when the server has been running for a long time and is then restarted.

2.0.12 Released 2016-03-15

  • Fixed: Combined GET endpoint hangs with keepalives

2.0.11 Released 2016-03-14

  • Added: Combined GET endpoint
  • Fixed: POST endpoint works when only proximity and/or set are requested.

2.0.9

  • Fixed handling of upstream errors served from journal-configs endpoint

2.0.8

  • Upgrade to geopulse-client 4.0.12

2.0.7

  • Upgrade to geopulse-client 4.0.12

2.0.6

  • Upgrade to geopulse-client 4.0.11

2.0.5

  • Upgrade to geopulse-client 4.0.8

2.0.4

  • Add requester-slug response field.

2.0.3

  • Add requester response field.

2.0.2

  • Disable match deduplication when payloads are enabled.
  • Make connection-timeout config parameter optional.

2.0.1

  • Fix JSON encoding when metadatais nulland included in the response
  • Wraps Java Client v4.0.2

2.0.0

  • New Metadata - new fields in the Match object allow you to construct unique identifiers to avoid name conflicts for your Geopulse targeting Sets.
  • Match Object - a unified interface for return values from both Geopulse Audience and Geopulse Proximity.
  • Data Pixel - Geopulse now supports data collection and reporting through the Factual data pixel, an invisible 1x1 image for ad creatives.
  • Deployment Tags - control the subset(s) of Geopulse Sets an instance of On-Prem should handle, which helps you scale system infrastructure and operations.
  • 'Targeting Code' is the new Group ID
  • Configuration Update - starting up instances of On-Prem requires your Factual account credentials.
  • Data Pixel Support
  • Match JSON: we now return a JSON array on every match hit for a request to both Audience and Proximity. Each match hit is a JSON in the JSON array. Details of the fields in the Match JSON are also seen in the Server’s README file
  • Updated config.yml format, requiring credentials and allowing for JSON response configurability
  • Performance improvements
  • Simplified /zz/status format
  • Wraps Java Client v4.0.0

1.1.4

  • Wraps beta version of Java Cleint v4.0.0, allowing for deduped JSON responses
  • Allows remote configuration of impression journaling

1.1.3

  • Wraps Java Client v3.1.10

1.1.0

  • Performance improvements
  • Wraps Java Client v3.1.8

1.0.4

  • Wraps Java Client v3.1.7

1.0.0

  • Wraps Java Client v3.1.0