Speakers, gendered translations and safer testing: Dialogue Branch 0.8 and 0.9
We released v0.8.0, v0.8.1, v0.9.0, v0.9.1 and v0.9.2 over the past two weeks. Here's what's new.
- Speakers. A project can now define its speakers, each with a name, a gender and an optional default, and Studio checks the nodes against them. Renaming a speaker renames it in every node and translation, after showing what will change, and a node with an unknown speaker gets a warning (never an error). See speakers.
- Translations that follow gender. In languages where a sentence changes with the gender of the speaker or of the person addressed, a translation can now follow both. The end user's gender is set through the reserved variable
$dlb.userGender, the Translation Editor has Female user and Male user translations, and Studio can test a dialogue as a female or male user. See translation files. - Testing never touches real data. A test session runs against its own copy of the user's variables. Admins can simulate a user to look into a problem without changing anything, and acting for real as someone else is clearly marked. A new Users page erases everything stored about a user.
- A sturdier External Variable Service. The Web Service now authenticates to it with a Keycloak token, a slow or unreachable service no longer stalls a dialogue, and Studio shows whether it is running, with the hints it gives for its variables (type, allowed values, read-only). See the External Variable Service.
- Simultaneous requests are safe. Two requests from the same user at the same moment, such as a double tap or two open tabs, no longer overwrite each other.
- A security update. v0.9.1 moves the Web Service and Studio to Spring Boot 4.1 and current libraries, and the Docker images have no known critical or high vulnerabilities.
- Variables per dialogue. The list of a project's variables now says which dialogues read and write each one, so a client can show the variables of a single dialogue.
Two of these releases contain changes that can break existing setups: variable names with a dot in them ($settings.theme is now one variable), the reserved dlb. prefix for variable names, the new node colour tag, and the new authentication of the External Variable Service. Before you upgrade, read the notes of v0.8.0 and v0.9.0, which list what to change. Every release, with its notes, is on the releases page.