Geopulse On-Prem Downloads & Release Notes


Downloads


Release Notes


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 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 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 glibc required is lowered to >=2.12 for merged Audience sets. glibc required >=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 Matches with null fields from audience or proximity when unloaded entry caught mid removal.


5.1.2 Released 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 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/newClient is 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.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 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.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


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 Match object can always be populated, even if the set-specific fields are unknown.


4.0.1

  • Added getDesignId() methods to both ProximityClient and 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 1×1 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 omitPayload flag to Proximity testPoint() method, which is true by 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 apiKey and secretKey, which are available via http://factual.com


3.1.10

  • Major improvements to the location validation logic


3.1.4

  • Added validate flag to Proximity testPoint() method, which is false by default, allowing for degenerate location data to be ignored.


3.1.0

  • Introduced the AudienceSetClient and AudienceProfileClient.


3.0.0

  • Repackaged Geopulse Proximity functionality within the ProximityClient.


HTTP Server Release Notes

3.3.0 Released 2017-09-05

Added

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

Changed

  • Swagger /docs updated 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.jar from outpost.jar.
  • Example configuration renamed to geopulse.conf from outpost.conf.

Fixed

  • /help endpoint 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 glibc required is lowered to 2.12 for merged Audience sets. glibc required >=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/ready endpoint that is similar to /zz/status but 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.debug to true in 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 null values.


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-indices now 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 metadata is null and 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 1×1 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