One reading of wildcard masks in every CPlugin product

The lists with * and ! that select groups, logins and symbols in our settings will mean exactly the same thing in every product. What was inconsistent, what changes and what to check.

Many of our settings take a list of groups, logins or symbols written as a short pattern, for example demo*,!demo-vip*. We call it a wildcard mask. Until now our apps did not all read it the same way.

What we found, mainly in our apps: an exclusion with ! that never excluded anything in one of them, a mask like *test* that found nothing (fixed on 6 May 2026), and an empty field that every app handled in its own way. A forgotten field could silently include every client.

We are moving all products to one written standard with one shared test table that every implementation must pass. An empty field will mean "nothing", and * will mean "everything". Spaces typed around an entry or around a name are ignored, so demo and demo followed by a space are the same name. For the web apps, we convert your existing saved settings ourselves in upcoming updates, writing * wherever an empty field meant "everybody", so you do not need to do anything there.

Our plugins already follow this reading. Older sample code that the platforms ship read a few rare patterns differently: for example, it treated ab*cd as matching the name ab. So before installing an update of any CPlugin product, check your mask fields against the rules and the checklist on the page Wildcard masks. It takes a minute.