What's New in APL 2023.2

(This is not the most recent version of the APL change log. Use the Other Versions option to see the documentation for the most recent version of the APL change log)

Alexa Presentation Language (APL) 2023.2 introduces new features and capabilities for APL.

Deferred evaluation for data binding

When APL evaluates a property or bound variable, expressions written with the ${...} syntax are evaluated and resolved. Sometimes, you might want to defer this evaluation to later and control when to resolve an expression. With APL version 2023.2 and later, you can use the #{...} placeholder and the eval() built-in function to defer expression evaluation. You can also use eval() to evaluate expressions that aren't evaluated automatically, such as expressions within a data source.

For details and examples, see APL Data-Binding Syntax .

APL component property changes

The following component properties have changed:

  • The entities base component property is now dynamic. You can use the SetValue Command to update the entities property on a component. You can also set the entities property to a value that changes automatically, such as ${elapsedTime}. Your skill can access the value of the entities property in the visual context included with the skill request. For details, see APL Visual Context in the Skill Request.
  • The source property for the VectorGraphic is now dynamic. Use the SetValue command to change the graphic during run time. For details, see source property.
  • The ControlMedia command now has an additional seekTo sub-command you can pass to the command property. Use this command to move the video player forward or backward to an absolute position. For details, see ControlMedia Command.

New APL cheat sheets

The APL cheat sheets provide a quick reference guide that provides information about the syntax and semantics of an APL document and its components, commands, and properties in a concise and digestible format. To download this new reference, see APL Cheat Sheets.

Other changes

The SetState command is now considered deprecated. Although the command continues to work, it isn't the correct way to change the state of a component.

To change the disabled or checked state, use the SetValue command. To change the focused state, use the SetFocus, and ClearFocus commands.

For details, see Component state.

Work with APL versions

For details about how to check the APL version, see What's New in APL.

Was this page helpful?

Last updated: Feb 29, 2024