#============================================================================= # Creative Innovation Center, LG ELECTRONICS INC., SEOUL, KOREA = # Copyright(c) 2018 by LG Electronics Inc. = #============================================================================= Changes for 1.24.6: 1) add beacon API - startScan, stopScan, beacon_device_discovered 2) add application APIs related to SDP - installApplications, removeApplications Changes for 1.24.5: 1) deprecate preloaded application-related contents 2) deprecate app side loading-related contents Changes for 1.24.4: 1) add ptz hcap.camera api - getCameraInformation, getCameraControl, setCameraControl 2) add HCAP Netflix key code : 0x02F0 Changes for 1.24.3: 1) deprecate preloaded application-related contents 2) deprecate app side loading-related contents Changes for 1.24.2: 1) add api related to nsu - startManualUpdate, getUpdateProgress, cancelUpdate 2) add event : "software_update_event_received", "output_connection_changed" 3) property : "automatic_update" 4) add getCurrentChannelSubtitleList return param (xx_HOH) 5) add getCurrentChannelAudioLanguageList return param (xx_AD) Changes for 1.24.0: 1) add getExternalInputList return param - name : to support osdname of HDMI-CEC device 2) add event : "cec_data_received" 3) add property : "cec_device_control" 4) modify getMemoryUsage function - support freememory, totalmemory 5) deprecated hcap.webrtc 6) add api related to blocked port - hcap.network.setBlockedPortList - hcap.network.getBlockedPortList 7) add parameters of launchPreloadedApplication in AR/K/NK browsers - disableBackHistoryAPI, resolution, venderExtension::enableKeyboard 8) add hidden event, api for SI - hcap.application.RegisterSIApplicationList, "application_registration_result_received" 9) remove airplay Changes for 1.23.2: 1) add tv property - 'tv_zone / stb_zone' - 'wifi_zone' - 'airplay' 2) add toast message show function - hcap.system.showToastMessage 3) add getExternalInputList return param - name : to support osdname of HDMI-CEC device 4) add setSoftAp property - vlanId : need to add that property in psk/bridge type 5) add RfBroadcastType for Japan model - SATELLITE_CS1, SATELLITE_CS2, SATELLITE_S3_BS, SATELLITE_S3_CS 6) add Hcap Virtual keycode for Japan model - 3DIGIT_INPUT, LIVETV, GOTOPREV, GOTONEXT, TER, BS, CS1, CS2, CS4K, BS4K, NUM_11, NUM_12 7) modify sendkey to use modifier 8) add get channel map function - hcap.channel.getChannelMap Changes for 1.23.1: 1) deprecate preloaded application-related contents 2) deprecate app side loading-related contents Changes for 1.23.0: 1) add tv property - 'input_splash_image' 2) add sound output type - hcap.system.SoundOutputType.OFF - hcap.system.SoundOutputType.OPTICAL - hcap.system.SoundOutputType.OPTICAL_LGSOUNDSYNC - hcap.system.SoundOutputType.EXTERNAL_ARC 3) add default sound output control function - hcap.system.getDefaultSoundOutput - hcap.system.setDefaultSoundOutput 4) add usb power control function - hcap.system.getUsbPowerControl - hcap.system.setUsbPowerControl 5) add external speaker volume control function - hcap.volume.getExternalSpeakerVolumeLevel - hcap.volume.setExternalSpeakerVolumeLevel 6) add screen capture image function - hcap.system.requestScreenCaptureImage - hcap.system.getScreenCaptureImage Changes for 1.22.2: 1) modify soft AP function - hcap.network.getSoftAP - hcap.network.setSoftAP 2) IoT features - event "iot_thing_discovered" - event "iot_binding_ready" - event "iot_bridge_status_changed" - event "iot_thing_registered" - event "iot_thing_rejected" - event "iot_component_reported" - event "iot_thing_unregistered" - event "iot_thing_meta_data_changed" - event "iot_set_component_result_received" - event "iot_framework_status_changed" - event "iot_factory_reset_result_received" - hcap.iot.requestSetBridgeStatus - hcap.iot.getBridgeStatus - hcap.iot.requestRegisterThing - hcap.iot.requestRejectThing - hcap.iot.getThingList - hcap.iot.getBindingIdList - hcap.iot.requestSetComponent - hcap.iot.requestUnregisterThing - hcap.iot.setThingNickname - hcap.iot.requestSynchronizeThing - hcap.iot.getFrameworkStatus - hcap.iot.requestFactoryReset - hcap.iot.getVersions 3) STT (Speech-To-Text) features - event "speech_to_text_status_changed" - hcap.speech.setSpeechRecognition - hcap.speech.getSpeechRecognition - hcap.speech.decideHost Changes for 1.22.1: 1) deprecate preloaded application-related contents 2) deprecate app side loading-related contents Changes for 1.22.0: 1) add headphone volume control - hcap.volume.getHealthcareHeadphoneMode - hcap.volume.setHealthcareHeadphoneMode - hcap.volume.getHeadphoneVolumeLevel - hcap.volume.setHeadphoneVolumeLevel 2) add screen keyboard language control - hcap.system.getScreenKeyboardLanguageList - hcap.system.setScreenKeyboardLanguage 3) add Media Subtitle control - hcap.Media.getSubtitle - hcap.Media.setSubtitle 4) add asynchronous ping - hcap.network.asyncPing - ping_result_received() event 5) add installer menu item control - hcap.property.getInstallerMenuItem - hcap.property.setInstallerMenuItem 6) change the property "screensaver_control" 7) deprecate property "pcr_offset_in_ms" 8) add beacon control - hcap.beacon.setBeaconMode - hcap.beacon.requestiBeacon - hcap.beacon.requestEddystoneUid - hcap.beacon.requestEddystoneUrl 9) add vlan id control - hcap.network.setVlanIdMode - hcap.network.getVlanIdMode - hcap.network.setLanId - hcap.network.getLanId - hcap.network.setAuxLanId - hcap.network.getAuxLanId 10) add event type in "ui_value_changed" - beacon_mode - healthcare_headphone_mode - vlan_id_mode 11) support IPv6 12) modify tv_caption_ui description. Changes for 1.21.1: 1) deprecate preloaded application-related contents 2) deprecate app side loading-related contents Changes for 1.21.0: 1) add the property "lg_service_xml_version" 2) add AV lipsync configuration - hcap.system.getAudioPtsOffset - hcap.system.setAudioPtsOffset - hcap.system.getVideoPtsOffset - hcap.system.setVideoPtsOffset 3) add monotonic time feature - hcap.time.getCpuTime 4) add proxy configuration - hcap.system.getProxyServer - hcap.system.setProxyServer - hcap.system.expireProxyServer 5) add ATSC 3.0 (Channel Class 6) - hcap.channel.RfBroadcastType.CABLE_ATSC3 - hcap.channel.RfBroadcastType.TERRESTRIAL_ATSC3 6) modify setTimeout Function 7) add remote object inspector feature - hcap.system.getBrowserDebugMode - hcap.system.setBrowserDebugMode 8) add no signal image feature - hcap.system.getNoSignalImage - hcap.system.setNoSignalImage Changes for 1.20.5: 1) change path parameter to downloadPath in usb_file_downloaded() event Changes for 1.20.4: 1) deprecate preloaded application-related contents 2) deprecate app side loading-related contents Changes for 1.20.3: 1) add tv property - 'rms_trusted_ip' 2) modify websocket reconnection when the websocket is disconnected. Changes for 1.20.2: 1) deprecate preloaded application-related contents 2) deprecate app side loading-related contents Changes for 1.20.1: 1) add app side loading feature - property "asl_mode" - hcap.application.getServiceXml - hcap.application.getDefaultServiceXml - hcap.application.getApplicationList - hcap.application.launchApplication - hcap.application.destroyApplication 2) add exception handling process 3) add screensaver - event "screensaver_event_received" - property "screensaver_control" 4) add bluetooth sound sync application control - hcap.bluetooth.getBluetoothSoundSync - hcap.bluetooth.setBluetoothSoundSync 5) add event "ui_value_changed" Changes for 1.20.0: 1) deprecate hcap.externalinput.ExternalInputType.USB 2) add external input list - hcap.externalinput.getExternalInputList 3) add HDMI connection/disconnection event - event "hdmi_connection_changed" 4) add pointer position and pointer click - hcap.mouse.getPointerPosition - hcap.mouse.setPointerPosition - hcap.mouse.clickPointer 5) add picture mode - hcap.property.getPictureMode - hcap.property.setPictureMode 6) add to change sound output - hcap.system.getSoundOutput - hcap.system.setSoundOutput 7) change the property "display_resolution" writable 8) add on_destroy event - event "on_destroy" - hcap.system.beginDestroy - hcap.system.endDestroy 9) add xait version - property "xait_version" 10) add hotel mode settings - hcap.property.getHotelMode - hcap.property.setHotelMode 11) deprecate preloaded application-related contents 12) add bluetooth audio playback control - hcap.bluetooth.audio.play - hcap.bluetooth.audio.stop - hcap.bluetooth.audio.pause - hcap.bluetooth.audio.forward - hcap.bluetooth.audio.backward 13) add server/client certificate - hcap.security.registerServerCertificate - hcap.security.registerClientCertificate - hcap.security.unregisterServerCertificate - hcap.security.unregisterClientCertificate - hcap.security.existServerCertificate - hcap.security.existClientCertificate 14) introduce hcap external variables which could be set before including hcap.js - extWebWorker : if true, hcap.js will be included in web worker. Changes for 1.19.2: 1) add RF Channel signal status - hcap.channel.getChannelSignalStatus 2) add Wi-Fi diagnostic information - hcap.network.getWifiDiagnostics Changes for 1.19.0: 1) add locale configuration - event "locale_changed" - hcap.system.getLocaleList - hcap.system.getLocale - hcap.system.requestLocaleChange 2) add the following comment to the property "tv_name" - "tv_name" is also the SSID of soft AP, which will be valid after rebooting TV. 3) add the property "https_xait_xml" 4) add WebSocket Secure (wss://) 5) add EZ Installation feature to specify LGService.xml dynamically - property "alternative_lg_service_xml" 6) add alternative URL - property "alternative_url" - hcap.system.launchHcapHtmlApplication 7) add property - block_external_input - block_ir - block_local_key - block_usb 8) recover the properties "application_channel_control" and "tv_channel_ui", and deprecate the property "tv_channel_control" 9) add checkout functionality - hcap.checkout.requestCheckout - hcap.checkout.takeCheckoutSnapshot 10) add to set password to enter installation menu - property "installation_menu_password" 11) add pointer on/off of pointing devices - hcap.mouse.isPointerOn - hcap.mouse.setPointerOn 12) add soft AP configuration - hcap.network.getSoftAP - hcap.network.setSoftAP 13) change the property "soft_ap_password" to Write Only 14) add system status - hcap.system.getCpuUsage - hcap.system.getMemoryUsage 15) add the property "block_hidden_menu" 16) change the spec of the property "soft_ap" - "soft_ap" is reset to "0" whenever TV is rebooted or the power mode is changed from non-normal mode to normal mode if instant_power is enabled (1 or 2). => "soft_ap" is reset to "0" in the power off sequence (NORMAL -> WARM -> OFF). - Soft AP configuration is stored even for "soft_ap" "0", and when "soft_ap" is "1", soft AP and VLAN is initialized with the stored configuration. 17) add setting pointer size feature - hcap.mouse.setPointerSize 18) add the property "block_launcher" 19) add hcap focus control feature - property "block_hotkey" - hcap.system.requestFocus - hcap.system.getFocused 20) add more preloaded application feature - hcap.preloadedApplication.destroyPreloadedApplication - add more preloaded applications in preloaded application list 21) add the property "clock_display" 22) add the property "teletext" 23) add network configuration - hcap.network.setNetworkDevice - add dhcp in hcap.network.getNetworkDevice 24) add Pro:Centric server configuration - hcap.system.getProcentricServer - hcap.system.setProcentricServer 25) add secure MMR pairing - property "secure_mmr_pairing" 26) add MMR low battery notification - event 'mmr_low_battery_event_received' 27) add virtual keycode hcap.key.Code.DATA 28) add the comment regarding the alarm channel in hcap.time.setAlarmInformation - "The alarm channel is taken affect prior to the start channel." 29) introduce hcap external variables which could be set before including hcap.js - extHcapSecure : if true, wss will be used for hcap internally, otherwise ws will be used - extRegisterHcapCloseHandler : if "onbeforeunload" and "onunload", register "onbeforeunload" handler and "onunload" handler respectively to close hcap websocket to avoid CPU 100% problem in HCAP browser when moving from hcap page to non hcap page - extDisableHcapConsoleLog : if true, disable HCAP console log, otherwise HCAP console log will be enabled 30) add hcap.channel.VideoStreamType.HEVC for UHD H.265 channel 31) change example code in hcap.network.getNetworkDevice 32) add DIAL - property "dial" 33) add AllJoyn - property "alljoyn" 34) add clock source - property "clock_source" 35) add hcap.power.isWarmUpdate 36) add bluetooth audio streaming - event "bluetooth_event_received" - hcap.bluetooth.setScanState - hcap.bluetooth.disconnect 37) deprecate the property "browser_network_error_handling" and comment as 'deprecate the behavior of "1". TV doesn't support "1" anymore.' 38) add XML cloning feature - hcap.system.requestCloning - event "cloning_done_received" 39) comment "(RTSP Only)" in hcap.Media.prototype.setPlaySpeed and hcap.Media.prototype.getPlaySpeed 40) comment "For Portal key (hcap.key.Code.PORTAL) when its attribute is 0, TV will launch the initial HCAP page." in hcap.key.addKeyItem 41) fix property "hcap_js_extension_version" 42) integrate hcap.key.Code.SUBTITLE and hcap.key.Code.CC keycodes to hcap.key.Code.SUBTITLE keycode 43) add mode '10' in property 'instant_power' Changes for 1.18.4: 1) add RS232C feature - property "rs232c" - hcap.rs232c.getConfiguration - hcap.rs232c.setConfiguration - hcap.rs232c.sendData - hcap.rs232c.setStartupDataceps - hcap.rs232c.clearStartupData - event "rs232c_data_received" 2) add DVB-T2 (Channel Class 5) - hcap.channel.RfBroadcastType.TERRESTRIAL_2 - channel parameter : plpId 3) change wifi_pass_key is not accessible with the comment "This value is not delivered to HCAP application by LG security policy since 1.18.4." 4) fix channel class 1 (logical channel number) from support in both EU and US model to support in only US model 5) change hcap.power.reboot behavior specification when "instant_power" property is "1" and "2". 6) extend hcap.preloadedApplication.launchPreloadedApplication to launch with parameters Changes for 1.18.3: 1) add further USB storage feature - hcap.file.downloadFileToUsb - hcap.file.deleteUsbFile - event 'usb_file_downloaded' Changes for 1.18.2: 1) fix keycode conversion bug : FORWARD 2) add focus changed event for HCAP application - event 'hcap_application_focus_changed' Changes for 1.18.1: 1) add usb storage feature - hcap.file.getUsbStorageList - hcap.file.getUsbStorageFileList - event 'usb_storage_status_changed' Changes for 1.18.0: 1) add virtual keycode hcap.key.Code.SMART_HOME, hcap.key.Code.SCREEN_REMOTE, hcap.key.Code.POINTER and hcap.key.Code.LG_3D Changes for 1.17.3: 1) restore synchronous handling of HCAP command 2) fix CPU overworking issue 3) reconnect websocket when the websocket is disconnected in initialization 4) reconnect websocket when HCAP command is requested if the websocket is disconnected before 5) websocket is disabled and return onFailure for HCAP commands in the browsers running in Windows and Mac OS X Changes for 1.17.2: 1) remove synchronous handling of HCAP command to fix CPU overworking issue Changes for 1.17.1: 1) reconnect websocket when the first websocket connection is closed and the hcap command is called 2) reconnect websocket conditionally when the first websocket connection is closed in onclose. Changes for 1.17.0: 1) add media event - seek_done Changes for 1.16.0: 1) add property - soft_ap_ui - soft_ap - soft_ap_password Changes for 1.15.0: 1) add property - full_browser_start_page_url - maximum_volume_level (EU model only) - pcr_recovery - mute_on_tv_input Changes for 1.14.0: 1) add property - browser_network_error_handling - browser_https_security_level 2) add event for channel status change - event listener : channel_status_changed 3) change hcap.channel.ChannelStatus - AV_DISPLAYED and NO_SIGNAL are deprecated - AUDIO_VIDEO_NOT_BLOCKED, AUDIO_VIDEO_BLOCKED, AUDIO_ONLY_BLOCKED and VIDEO_ONLY_BLOCKED are added Changes for 1.13.0: 1) add property - single_decoding Changes for 1.12.0: 1) add audio language control APIs of Media : hcap.Media.getAudioLanguage hcap.Media.setAudioLanguage 2) support Europe DVB-S2 (RF channel class 4) - hcap.channel.RfBroadcastType.SATELLITE_2 - hcap.channel.Polarization - channel : satelliteId - channel : polarization 3) add an optional channel parameter - symbolRate 4) support IGMPv3-SSM - channel : sourceAddress 5) add channel status - hcap.channel.channelStatus - hcap.channel.getCurrentChannel : channelStatus 6) add external input USB to set external input - hcap.externalinput.getCurrentExternalInput - hcap.externalinput.setCurrentExternalInput - hcap.externalinput.isExternalInputConnected 7) change websocket open/close to when the page is loaded/unloaded (onload, unload) Changes for 1.11.0: 1) add Media Hub event - event listener : media_hub_event_received Changes for 1.10.1: 1) add TCP socket daemon API - hcap.socket.openTcpDaemon - hcap.socket.closeTcpDaemon - event listener : tcp_data_received 2) add UDP send API Changes for 1.10.0: 1) add property for smart pairing : wifi_screen_share : smart_share : smart_pairing : dmr Changes for 1.9.0: 1) add mode '2' in property 'instant_power' Changes for 1.8.0: 1) add more inband data service - hcap.channel.getReadyInbandDataService - hcap.channel.InbandDataServiceType.NONE 2) add more media - hcap_media_startup - hcap_media_shutdown - hcap_media_play(repeat_count) 3) add property - tv_name 4) change note for property 'room_number' (max len 30 -> 21) 5) add networkMode (wire or wireless) to hcap.network.getNetworkDevice 6) deprecate property 'mac_address' 7) modify example codes to make more understandable for API asynchronous usages Changes for 1.7.1: 1) separate SUBTITLE/CC key Changes for 1.7.0: 1) Media APIs - hcap.Media.setSubtitleUrl - hcap.Media.setSubtitleOn - hcap.Media.getSubtitleOn - fix to deliver media event 2) add further explanation on hcap.carousel.requestCacheCarouselData for carousel data from IP multicast channel. 3) add property - security_level Changes for 1.6.1: 1) fix parameter member (type -> inband_data_service_type) of the event 'inband_data_service_ready' due to the overriding by java script engine. 2) add further explanation on hcap.carousel.requestCacheCarouselData for carousel data from IP multicast channel. Changes for 1.6.0: 1) add hcap_command_call() before setInterval(hcap_command_call) because setInterval is not effective in unload stage. 2) add hcap.time.getLocalTime() to get TV local time, GMT offset and daylight saving setting. 3) change comment - hcap.time.getPowerOnTime - hcap.time.setPowerOnTime - hcap.time.getAlarmInformation - hcap.time.setAlarmInformation - hcap.time.setLocalTime - hcap.channel.getCurrentChannelSubtitleList for "xx" - property "default_subtitle_language" for "xx" 4) deprecate property - gmt_offset_in_minute - daylight_saving - tv_channel_ui - application_channel_control - tv_mheg_ui 5) add property - instant_power - tv_channel_control 6) add RMS API - hcap.rms.requestRms - event listener : rms_response_received 7) add UDP socket daemon API - hcap.socket.openUdpDaemon - hcap.socket.closeUdpDaemon - event listener : udp_data_received 8) add analog channel type - hcap.channel.RfBroadcastType.ANALOG_PAL_BG - hcap.channel.RfBroadcastType.ANALOG_PAL_DK - hcap.channel.RfBroadcastType.ANALOG_PAL_I - hcap.channel.RfBroadcastType.ANALOG_PAL_M - hcap.channel.RfBroadcastType.ANALOG_PAL_N - hcap.channel.RfBroadcastType.ANALOG_SECAM_BG - hcap.channel.RfBroadcastType.ANALOG_SECAM_DK - hcap.channel.RfBroadcastType.ANALOG_SECAM_L - hcap.channel.RfBroadcastType.ANALOG_NTSC 9) add network API - hcap.network.getNetworkInformation - event listener : network_event_received 10) deprecate audio stream type - hcap.channel.AudioStreamType.ANALOG_BG - hcap.channel.AudioStreamType.ANALOG_I - hcap.channel.AudioStreamType.ANALOG_DK - hcap.channel.AudioStreamType.ANALOG_L - hcap.channel.AudioStreamType.ANALOG_MN - hcap.channel.AudioStreamType.ANANLOG_LP - hcap.channel.AudioStreamType.ANANLOG_END 11) add picture property API and picture property key - hcap.property.getPictureProperty - hcap.property.setPictureProperty - hcap.property.PicturePropertyKey 12) add hcap.Media.createMedia parameter - subtitleUrl 13) add inband data service - hcap.channel.launchInbandDataService - event listener : inband_data_service_ready - property 'inband_data_service_mhp' - property 'inband_data_service_mheg' - property 'inband_data_service_hbbtv' - hcap.channel.InbandDataServiceType.MHP - hcap.channel.InbandDataServiceType.MHEG - hcap.channel.InbandDataServiceType.HBBTV Changes for 1.5.2: 1) fix to support unicode program info title Changes for 1.5.1: 1) add property - wol_w - wol_m Changes for 1.5.0: 1) add browser cursor visibility APIs - hcap.mouse.isMouseVisible - hcap.mouse.setMouseVisible 2) change hcap.Media - HOA -> Porting Layer 3) add mouse event listener to get the mouse movement and status including its coordinate. 4) add extension APIs of power on time APIs - hcap.time.getAlarmInformation - hcap.time.setAlarmInformation 5) new property - room_number - tv_preloaded_app_launcher_ui 6) add preloaded application APIs - hcap.preloadedApplication.getPreloadedApplicationList - hcap.preloadedApplication.launchPreloadedApplication 7) add program event information - hcap.channel.getProgramInfo 8) change keycode hcap.key.Code.BACK from 0x0008 to 0x01CD 9) fix an issue that hcap command is crashed before websocket is connected 10) add commets regarding channel class information for US & EU 11) fix an issue that some commands are missing for consecutive hcap commands 12) fix an issue that hcap command processing is locked up 13) add a comment in hcap.time.setLocalTime to clarify the meaning of the parameter of local time information and change gmtOffsetInMinute range from (-720 ~ 720) to (-660 ~ 720).