πŸ”– Release 7.251

πŸ”– Release 7.251

June 30, 20253 minutes

Cleaning, cleaning and more cleaning... Everything you need to know about 7.251 version. A small version because the team is focused on the launch of our SaaS platform.

✨ What’s new ?

Upgrade to node 22

Updates have been made on some node dependencies required a more recent node version. As a consequence, the framework node minimal version required has been updated to the current LTS version: 22.

Please update your node version also before updating your dependencies.

Core

It is now possible to import external library through npm. However, the library still needs to be compatible with the platform where you are launching your application. This feature is still experimental.

Restrict opacity to numbers

A new error will be raised if you do not set a number to opacity style property.

Cleaning

Periodicity and OfferTypes

OfferTypes and Periodicity class were offering statics methods. Those methods have been moved in OfferTypesHelper and PeriodicityHelper respectively.

Previous Periodicity declaration has been splited in 2 files :

  • Periodicity
  • PeriodicityType

As a result :

  • $Periodicity.PERIODICITY_WEEKLY became $Periodicity.WEEKLY
  • $Periodicity.PERIODICITY_TYPE_WEEKLY became $PeriodicityType.WEEKLY
MediaConst
  • $MediaConst.LIVE_SHOW, $MediaConst.FIRST_RUN_SHOW, $MediaConst.RERUN_SHOW moved to $MediaShowTypes.xxx
  • $MediaConst.VOD_MOVIE, $MediaConst.VOD_SERIES, $MediaConst.VOD_SEASON, $MediaConst.VOD_EPISODE moved to $MediaVodTypes.xxx
  • $MediaConst.ID_DVB_C, $MediaConst.ID_DVB_S, $MediaConst.ID_DVB_T, $MediaConst.ID_DVB_C2, $MediaConst.ID_DVB_S2, $MediaConst.ID_DVB_T2, $MediaConst.ID_ATSC_T moved to $MediaStreamTypes.xxx
  • $MediaConst.SD, $MediaConst.HD, $MediaConst.UHD moved to $MediaQuality.xxx
  • $MediaConst.CATCH_UP, $MediaConst.ON_DEMAND, $MediaConst.ADULT_ON_DEMAND, $MediaConst.MY_CONTENT moved to $MediaCategory.xxx
Recording
  • Replace abstractRecording.getState() by RecordingHelper.getState(abstractRecording)
  • myRecording.start is returning associated program.start
  • myRecording.duration is returning associated program.duration
Reminder
  • Replace abstractReminder.setProperties(...) by new $AbstractReminder(...)
GridProgram
  • Replace gridProgram.startOver by $ProgramHelper.hasStartOver(gridProgram)
AnalyticService
  • $AnalyticService.ERROR, $AnalyticService.CURRENTLY_WATCHING, $AnalyticService.CHANGE_ROUTE moved to $AnalyticDataContext.xxx
  • Other $AnalyticService statics value moved to $AnalyticDataType.xxx
AlexaService

Alexa service constants moved to separated const files:

  • events pairingCode, pairingDone, pairingExpired, pairingFailed, pairingPending, listeningStarted, listeningActive, listeningStopped, thinking, speakingStarted, speakingStopped, cardsChange, playerChange, musicStop, micOff, smartScreenStart, smartScreenStop moved to $AlexaEvent
  • status CARD_DISPLAY, CARD_UNDISPLAY, PLAYER_DISPLAY, PLAYER_UNDISPLAY moved to $AlexaStatus
  • controls CONTROL_30SEC_BACK, CONTROL_30SEC_FORWARD, CONTROL_LOOP, CONTROL_REPEAT, CONTROL_NEXT, CONTROL_PLAY_PAUSE, CONTROL_PAUSE, CONTROL_PLAY, CONTROL_PREV, CONTROL_SHUFFLE, CONTROL_THUMBS_DOWN, CONTROL_THUMBS_UP moved to $AlexaControl
LiveSourceTypeModel
  • $LiveSourceTypeModel has been removed
RemoteControlService

RemoteControlService events moved to separated const files:

  • events firmwareUpdateAvailable,firmwareUpdateStart,firmwareUpdateProgress,firmwareUpdateEnd,pairingDone,pairingProgress,pairingError,dasSearchDone,dasSearchProgress,dasSearchError,dasUnmappedKey,batteryLow moved to $RemoteControlEvent class
XhrService

Methods encodeRFC3986 and encodeRFC5987 have been removed as they used deprecated methods (escape, unescape) and were not used anywhere.

BluetoothService

Events from AbstractBluetoothInService and AbstractBluetoothOutService have been moved to a separate const file BluetoothEvent:

  • events bluetoothVisibilityEnabled, bluetoothVisibilityDisabled, devicePairingRequest, devicePaired, deviceConnecting, deviceDisconnected moved to $BluetoothEvent
  • events bluetoothScanStart, bluetoothScanStop, deviceScanFound, deviceScanLost moved to $BluetoothEvent
SystemInfoService and NetworkInfrastructureTypes

Constants from SystemInfoService starting with NETWORK_INFRASTRUCTURE_TYPE_xxx have been moved to separate const file NetworkInfrastructureTypes.xxx:

  • $SystemInfoService.NETWORK_INFRASTRUCTURE_TYPE_UNKNOWN replaced by $NetworkInfrastructureTypes.UNKNOWN
  • $SystemInfoService.NETWORK_INFRASTRUCTURE_TYPE_ADSL replaced by $NetworkInfrastructureTypes.ADSL
  • $SystemInfoService.NETWORK_INFRASTRUCTURE_TYPE_FIBRE replaced by $NetworkInfrastructureTypes.FIBRE
  • $SystemInfoService.NETWORK_INFRASTRUCTURE_TYPE_CABLE replaced by $NetworkInfrastructureTypes.CABLE

Removal of PlayerPrimitive

Everything linked to $PlayerPrimitive has been removed. It includes :

  • all player class ($AudioPlayer, $LivePlayer…)
  • all player primitive class ($PlayerPrimitive, $PipPlayerPrimitive…)
  • all related trait ($MAudioPlayer, $MLivePlayer…)
  • all related manager ($PlayerManager, $LivePlayerManager)
  • some models ($Advertisement, $AdvertismentBreak…)
  • some services ($ParentalControlService, $VolumeService…)

Danger

PlayerPrimitive is deprecated since 7.2203. You should migrate to $PlayerService.

CSS

Android

QT / QML

🐛 What’s fixed ?

Core

Default language for unit test on LocalisedDate

There were no default language set for unit testing on LocalizedDate. As a result, it was harder to test components that were using this class. A default language (en-US) is now automatically loaded for unit testing.

CSS

Lightning

⬆️ Migration guide

Be careful with changes described in cleaning section. Those are breaking changes

Update AndroidTV template

📝 Further reading