Skip to content

Latest commit

 

History

History
231 lines (226 loc) · 13 KB

CHANGELOG.md

File metadata and controls

231 lines (226 loc) · 13 KB

Change Log

  • 1.6.0 May 2024

    • HttpClient now supports only retrying on retryable response codes.
    • BugFix: ResourceRetriever refresh interval affecting library settings being fetched too often
    • BugFix: Reinstated missing ResourceEntity class
    • RemoteCommandDispatcher 1.4.0
      • Adding a RemoteCommand with a remote URL config, now supports falling back to loading from an Asset names {command id}.json on the first launch.
        • if a file name is also provided, then it will use that name to lookup the Asset
      • It is also now safe to omit the .json extension on the filename parameter when adding a new remote command, though the .json extension of the actual file should still be present.
      • BugFix: Refresh interval was not being adhered to
      • Note - com.tealium:kotlin-core module dependency minimum raised to 1.6.0
    • TagManagementDispatcher 1.2.2
      • WebView is refreshed on new session to ensure latest IQ configuration is available.
  • 1.5.5 Sep 2023

    • BugFix: proguard adjustment resolve missing BatchDispatch$Companion class.
    • Minor lint warning fixes
  • 1.5.4 Aug 2023

    • Core 1.5.4
      • Session Data Expiration BugFix: fixes an issue whereby session scoped data may not be expired on launch
      • Event Router events Buffering: buffers events until sdk is ready so events are not missed during startup
      • Database Lock crash BugFix: Some uncaught exceptions in persistence led to possible crashes
      • ProGuard rules updates to reinstate incorrectly obfuscated BatchDispatch class
    • AdIdentifier 1.1.2
      • BugFix: DataLayer writes moved onto Tealium background thread
  • 1.5.3 Jun 2023

    • Database BugFix: add database status check before performing writable actions, and allow event queueing until database is fully operational
    • Library Settings BugFix: update how remote settings were fetched and saved
    • Module Manager BugFix: update to thread-safe collection
  • 1.5.2 Apr 2023

    • Connectivity Collector BugFix:
      • Fixes an issue in the event where there is a blank string returned from telephonyManager.networkOperator
    • Deep Link Reporting BugFix:
      • Deep Link handling limited to Activities launched with Intents where action == Intent.ACTION_VIEW
      • Empty Uris are ignored, and deep links that match what is already stored is a no-op
      • Handling pushed onto Tealium background thread.
  • 1.5.1 Oct 2022

    • BugFix - Fixes an edge case where events can arrive at dispatchers in the incorrect order
  • 1.5.0 Oct 2022

    • Visitor Switching
      • Additional TealiumConfig option visitorIdentityKey to configure where to find a known identity in the DataLayer
      • Known identities are hashed and linked to the tealium_visitor_id to allow better switching between returning identities
    • Additional listeners
      • VisitorIdUpdatedListener - notifies when the visitor id has been updated, either as a result of switching identities or of resetting the visitor id
      • DataLayerUpdatedListener
        • onDataUpdated(String, Any) - notifies that a value has been updated in the DataLayer
        • onDataRemoved(Set<String>) - notifies that the given keys have been removed from the DataLayer, either by user interaction or data expiration
    • RemoteCommandDispatcher 1.2.0
      • Support for default mapping all_events and all_views in the JSON mappings file to enable triggering specified commands in response to every view/event
    • TagManagement 1.2.0
      • QueryParameterProvider - allows additional parameters to be added to the URL used for the TagManagement module
      • Improved WebView instantiation and page load management
    • Kotlin Dependency updates
      • Stdlib: 1.6.21
      • Coroutines: 1.6.2
  • 1.4.3 Sep 2022

    • Core 1.4.3
      • DeviceCollector Bug fix - Correct calculation for tealium_logical_resolution
    • TagManagement 1.1.3
      • Bug fix - Relocate sessionCountingEnabled to fix miscount on fresh launch
    • VisitorService 1.1.1
      • Bug fix - Move VisitorService profile override to earlier initialization
    • Location: Add missing Proguard rules for new classes
  • 1.4.2 Jun 2022

    • Core 1.4.2
      • Add overrideConsentCategoriesKey to TealiumConfig to allow for a custom consent categories key
  • 1.4.1 Jun 2022

    • Core 1.4.1
      • Fix: Update Consent Status to return string instead of enum value
  • 1.4.0 May 2022

    • Core 1.4.0
      • Add gatherTrackData to exposed all datalayer and collectors variables
  • 1.3.3 Apr 2022

    • Core 1.3.3
      • Update remote command dependency
    • RemoteCommandDispatcher 1.1.1
      • Add remote command names and versions to datalayer
  • 1.3.2 Mar 2022

    • Core 1.3.2
      • events property added to TealiumConfig to enable adding listeners on startup, as some events could be missed during startup.
    • Lifecycle 1.1.1
      • Fix: Default values for some attributes causing missed events when combined with TagManagement
    • InAppPurchase 1.0.1
      • Additional purchase_date key provided in ISO-8601 format
  • Tag Management 1.1.2 Feb 2022

    • Add sessionCountingEnabled to TealiumConfig to enable/disable session counting for TealiumIQ
  • 1.3.1 Feb 2022

    • Core 1.3.1
      • Stability fix for failed WebView creation
      • Stability fix for connectivity exception handling
      • InApp Purchase auto tracking 1.0.0 release.
  • 1.3.0 Nov 2021

    • Core 1.3.0
      • Missing variables reinstated from the Java library:
        • Default: tealium_random and was_queued
        • DeviceCollector - device_battery_percent and device_ischarging
        • TimeCollector - timestamp_epoch
      • DataLayer performance improvements, and additional support for storing JSONArray objects
      • Dates now get formatted as ISO 8601 as standard
      • Dependency updates to Kotlin, Coroutines, Android Target Version, AGP 7, Java 11, MockK, Robolectric
      • BugFixes:
        • Opaque URI's are now appropriately handled by the DeepLinkHandler
      • Deprecations to unused code
    • AutoTracking 1.0.0
      • New activity tracking module to automatically track screen view events
    • AdIdentifier 1.1.0
      • Support for new AppSet identifier
      • Dependency Updates in line with Core.
    • CollectDispatcher 1.1.0, TagManagementDispatcher 1.1.0
      • Serialization standardized to use JsonUtils
      • Dependency Updates in line with Core.
    • CrashReporter 1.1.0, HostedDataLayer 1.1.0, InstallReferrer 1.1.0, Lifecycle 1.1.0, Location 1.1.0, Media 1.1.0, RemoteCommandDispatcher 1.1.0
      • Dependency Updates in line with Core.
    • VisitorService 1.1.0
      • Additional configuration option to override the Tealium Profile name to use when updating a Visitor: config.overrideVisitorServiceProfile
      • Serialization/Deserialization performance improvements
      • Dependency Updates in line with Core.
      • BugFix:
        • Date parsing exception when dates are 0
  • 1.2.8 Oct 2021

    • Core 1.2.8

      • config.logLevel added to enable overriding the log level derived from the Environment
      • consent_last_updated timestamp is now added to the payload by the Consent Manager for each event
      • Payload key constants migrated to Dispatch.Keys.XXX for ease of access
      • Bug Fixes
        • app_name now falls back to a non-localized version of the app label
        • Event router crashes caused by threading
        • screen_title re-added to the TealiumView payload by default, and set to the viewName when one is not provided in the context data
        • Unnecessary logging removed when trying to load tealium-settings.json as an Asset
        • Where multiple deep links occur during a Session, previous deep link params are now removed from the datalayer prior to adding the new ones
    • CollectDispatcher 1.0.6, HostedDataLayer 1.0.4, RemoteCommandDispatcher 1.0.5, TagManagement 1.0.7

      • event key references updated to use the new Dispatch.Keys.XXX - note, these are only present in Core 1.2.8+ so should ensure the latest version is in use.
  • 1.2.7 Sep 2021

    • Core 1.2.7
      • Support for logical resolution in DeviceData
  • 1.2.6 Jul 2021

    • Core 1.2.6
      • Add support for existingVisitorId to TealiumConfig
      • Add support to override profile for Consent Logging using consentManagerLoggingProfile
      • Consent Logging event routed through all enabled Dispatchers
      • Update values for app_build and app_version
    • Tag Management Dispatcher 1.0.6
      • Support for Consent Logging profile override
    • Collect Dispatcher 1.0.5
      • Support for Consent Logging profile override
    • Visitor Service 1.0.5
      • Bug fix: deserializing stored long values
  • 1.2.5 May 2021

    • Core 1.2.5
      • BugFix: HttpClient post update fixes issues with consent logging failures.
      • HttpClient execution moved onto IO dispatcher for better asynchronous performance
  • 1.2.4 Apr 2021

    • Core 1.2.4
      • New enabled_modules and enabled_modules_versions data layer keys added in keeping with the Swift SDK. Both are arrays of strings, containing a sorted list of Modules in use and their Version number - latest versions of all modules required to retrieve their version. note module names have also been changed from UPPER_SNAKE_CASE to PascalCase to match Swift.
      • New Config option remoteApiEnabled to allow disabling of remote_api events when using the RemoteCommands and TagManagement modules
      • New Config option overrideCollectProfile to allow overriding the value of tealium_profile in the event payload, thus routing events to a different Tealium Profile to the one set on the TealiumConfig object.
      • BugFix - added support for both application/json and x-www-form-urlencoded content types when using the HttpRemoteCommand
      • BugFix - fixed an issue with specific collections not being encoded correctly.
  • 1.2.3 Mar 2021

    • Core 1.2.3
      • Consent Management: Add option for setting a custom consent policy.
      • Add new device_language, os_name to DeviceCollector
    • Crash Reporter 1.0.2
      • Update keys for CrashReporter: crash_exception_name changed to crash_name, crash_exception_cause changed to crash_cause
  • 1.2.2 Mar 2021

    • Core 1.2.2
      • Add request_uuid to event/view payload
    • TagManagement Dispatcher 1.0.4, RemoteCommand Dispatcher 1.0.3
      • Bug Fix: Route HttpRemoteCommand to background thread for execution.
      • Test updates
  • 1.2.1 Mar 2021

    • Proguard and Consumer Rules revision; some public classes were missed initially, and the consumer rules have been revised.
    • Core 1.2.1, Collect Dispatcher 1.0.3, TagManagement Dispatcher 1.0.3, Install Referrer 1.0.2, Lifecycle 1.0.3, Location 1.0.3, VisitorService 1.0.3, RemoteCommand Dispatcher 1.0.2, Hosted DataLayer 1.0.2, Crash Reporter 1.0.1, Ad Identifier 1.0.1
  • 1.2.0 Jan 2021

    • Consent Management
      • Consent Expiration - Introduces the ability to set an expiration for provided consent.
      • Deprecated consentManagerEnabled config property; setting a valid ConsentPolicy will automatically enable the Consent Manager.
      • Bug Fix - Incorrect consent collector logic
    • Visitor Id - new method to allow manually regenerating a Visitor Id for the device.
      • Proguard - Initial proguard rules added to generated binaries and consumer proguard rules.
    • AdIdentifier 1.0.0
      • Initial release of the AdIdentifier module - if available, then the ad identifier will be added to each Dispatch
    • CrashReporter 1.0.0
      • Initial release of the CrashReporter module - uncaught exceptions causing a crash are recorded and any crash data is sent on the next dispatch when the app is next launched.
    • Collect Dispatcher 1.0.2, Hosted DataLayer 1.0.1, InstallReferrer 1.0.1, Lifecycle 1.0.2, Location 1.0.2, RemoteCommand Dispatcher 1.0.1, TagManagement Dispatcher 1.0.1, Visitor Service 1.0.2
      • Proguard - Initial proguard rules added to generated binaries and consumer proguard rules.
  • 1.1.0 Nov. 2020

    • Timed Events support for reporting the time taken between user events of interest.
    • New device_model and device_manufacturer data keys provided by the DeviceCollector
    • Automated unit and instrumented tests for PRs into master using Github Actions.
    • Collect Dispatcher 1.0.1
      • Additional Collect URL overrides
      • Test coverage increase
    • Hosted Datalayer 1.0.0
      • Test coverage increase
    • Lifecycle 1.0.1
      • Bug Fix: missing autotracked key on sleep events
      • Test coverage increase
      • Location 1.0.1
      • Bug Fix: issue with automatically adding nearby geofences
      • Test coverage increase
    • Visitor Service 1.0.1
      • Non-breaking change for testability purposes
      • Test coverage increase
  • 1.0.0 Oct. 2020

    • New and improved modular Tealium Kotlin for Android
    • Release includes modifications based on feedback
    • JSON controlled Remote Commands
    • Hosted Data layer support
  • 0.1.2 Sept 2020

    • Tealium multi-instance management added
    • Some utilities/modules updated to better support multiple instances
  • 0.1.1 Sept 2020

    • Maven dependency fix
    • Additional Dispatch payload logging
  • 0.1.0 Beta Release: August 2020

    • Tealium Core
    • Support for the following modules:
      • Tag Management Dispatcher
      • Collect Dispatcher
      • Install Referrer
      • Location
      • Lifecycle Tracking
      • Visitor Service
      • Remote Commands
      • Hosted Data Layer
      • Crash Reporter