Skip to content

Showcase Release Notes

Release notes for different Showcase versions are shown below.

Subscribe to updates

Showcase 26.09.6

Released September 2026

This release fixes three problems authors ran into when building content: content items can be duplicated again and a duplicated content set keeps its items, widgets created from a slot or duplicated in the Widget Library now appear and can be edited, and a newly added item opens straight away with its file or URL field.

Bug Fixes

  • Content items can be duplicated, and a duplicated content set keeps its items — a content item's menu in a Content Set now offers Clone, which copies the item, or a folder with everything in it, and selects the copy. Duplicate on the Content Sets page previously created an empty set; it now copies every item. A widget item's copy has its own settings, so changing one does not change the other; a widget placed from the Widget Library stays linked to its library entry.
  • Create new and Duplicate in the Widget Library create widgets you can see — choosing + Create new… for a slot created a widget that never appeared, so nothing opened and the slot stayed empty. The new widget now opens for editing in the Widget Library and is added to the slot when saved. Duplicate and Copy to a structure in the Widget Library now produce a visible widget as well. The name prompt now reads "Create New Widget".
  • A newly added item opens straight awayAdd Widget, adding from the library, New Folder and new content in a Content Set added the item at the bottom of the list with nothing selected, so it looked as if nothing, and no file or URL field, had been added. The new item is now selected and scrolled into view, with its settings open.

Showcase 26.09.5

Released September 2026

This release restores email through the built-in MultiTaction relay, keeps a Personal Space's items on the wall after they are emailed and lets a visitor email a single item by dropping it on the envelope, lets authors put decorations such as a title bar on Cloud items, and gives every new app an Email service and a Data Gatherer from the start.

New Features and Improvements

  • Cloud items can carry decorations — the Cloud widget has two new slots, In-cloud decorations and Expanded decorations. Widgets placed in them, such as a title bar showing the item's name, appear on every item while it sits in the cloud and on an item that has been dragged out, configured separately. Both slots are empty to begin with, so existing showcases look exactly as before, and a change to either slot reaches a running wall without a restart. Title bars and name bars are the supported use; annotation and interaction overlays rely on toolbar buttons the cloud hides.
  • Drop a single item on the envelope to email only that item — in a Personal Space, releasing a tile with its centre on the envelope emails just that item; tapping the envelope still sends everything. The tile snaps back into place afterwards. If no address is known yet the drop asks for one, exactly as a tap does, and the address entered sends only the dropped item; Cancel forgets the drop. Items still uploading or awaiting approval are ignored, and nothing is sent if the item leaves the space before an address is entered.
  • A new app starts with an Email service and a Data Gatherer — creating an app in the App Launcher gave it an empty service set, so the new app could not email a Personal Space or gather data until both services were created by hand under Services and the sender name, subject and message typed in again. A new app now arrives with both, named after the app and filled in with the standard settings, ready to be edited. Apps brought in with an import keep the services in the archive.

Bug Fixes

  • Email through the built-in MultiTaction relay works again — Personal Folder "email to me" and the email popup could not send through the built-in relay: the wall reported failed to send contents to your email, please contact the system administrator and the player logged a login failure. The player offered the relay a login method it does not accept; it now logs in with the method the relay, and virtually every other mail server, supports.
  • Emailing a Personal Space no longer empties it — after a successful email the Personal Space on the wall cleared itself, which made the items look deleted although the person's folder on the server still held them and they returned the next time the marker was placed. The space now shows that the email was sent and keeps every item in view.

Showcase 26.09.4

Released September 2026

This release brings Widget Triggers to Codice: a card placed on the surface opens the content authored for it — widgets around the card, widgets at fixed places, or a menu — as 1.14's Codice content markers did, and a trigger can belong to one app so the same card number does different things in different apps. It also stops the player crashing when it closes, keeps each visitor's Personal Folder content with them through an export and import, and stops every server restart from leaving unused records behind.

Please note: a Codice marker is potentially renumbered when it is imported, if its card number conflicts with an entry already in the Codice DB. Identical duplicates are merged instead; any other conflicting marker is given a new number (a digit is added in front, for example 612 becomes 1612), and its printed card will not work until the number is fixed in the Codice DB. Markers that do not conflict keep their numbers. The Import Wizard lists every renumbered code. The same check runs once on upgrade, where it can affect markers that two apps had imported under the same number, and the editor then shows a banner with a report of any changes. On upgrade, 1.14 markers with Codice content also become Widget Triggers.

New Features and Improvements

  • Widget Triggers work — a Widget Trigger is no longer marked Coming Soon. Placing its card launches the content authored for it, edited with Edit trigger content exactly like a Structure: widgets that appear around the card, widgets that appear at fixed positions, or a menu that opens at the card.
  • A trigger can fire once or while the card is presentFire and Forget leaves the content open after the card is lifted; Hold closes it when the card is lifted. A trigger can instead launch its content when the card is lifted, and its content can move with the card.
  • The same card can do different things in different apps — a Widget Trigger is either Global, firing in every app, or belongs to one app. App-specific triggers in different apps may share a card number; a number used by a Global marker cannot be reused. Every other marker type is Global, and the code field in the Codice DB names the marker already holding a number and whether it is Global or belongs to an app.
  • Imports never overwrite a marker — a marker whose number is already taken is merged when it is identical to the existing one, and otherwise given a new number. The Import Wizard lists every renumbered and merged code. Importing a 1.14 showcase turns its markers with Codice content into Widget Triggers.
  • A folder dropped on a slot asks what to build — dropping a folder onto a Structure slot offers the widgets that can be built from it (Image Movie, Video Carousel, Item Cloud, Teaser Menu, Finger Menu, Rotating Menu or Group), limited to what the slot accepts. Cancel creates nothing, and a build that fails removes exactly what it created and says why.
  • Content Set items accept widgets in their slots — an item's Toolbar, Decorations, Behaviour operators, Menu content operators and Sound effects slots offer Add Widget and accept drops, as the same widget does under Structures.
  • Bulk removal explains itselfRemove all from an imported archive shows how many items it removes, explains what it does, names the count and the archive in its confirmation, and keeps any item that is still in use, as a single delete does.
  • The Launcher Menus and Teaser Animations demos work — tapping a Launcher Menus tile opens its menu, and the Teaser Animations launchers produce teasers again.

Bug Fixes

  • The player no longer crashes when it closes — closing the player could end in a crash after it had finished shutting down, leaving a crash report behind each time. A connection handler registered by the Codice input service was called after the service had been unloaded; it is now released first, and the player closes cleanly.
  • An imported personal marker keeps its own content — exporting and importing a showcase left each personal marker pointing at whatever content happened to share its internal number on the new server, so a visitor could see, and add uploads to, someone else's Personal Folder, or find their own empty. A personal marker's content now travels with the export and is linked to its own copy on import; where the content was not in the export, the marker gets a fresh, empty folder and the import says so. Exports that include the Codice DB are larger as a result.
  • Server restarts no longer leave unused records behind — every restart replaced each Defaults set's text viewer setting with a new one, leaving the old record unused and returning customised text viewer settings to their defaults. Restarts now leave them alone, and the unused records already created are removed once on upgrade.
  • A Widget Trigger from an older editor no longer breaks — older editors could save a trigger with the name of a saved widget instead of a widget type, which the player could not create, so the card did nothing. Such a trigger now arrives with empty content that can be filled in, and the upgrade report names it.
  • The Widget Library no longer fills up at every start — imported toolbars and menus were added to the Widget Library again on every server start. They are now added once; entries already added can be removed from the library.
  • Changing a pinned widget's size takes effect immediately — a live size or position change on a pinned widget kept its old size and a shifted position until the player was relaunched.
  • MT Launcher starts Showcase on current appliances — Showcase's launcher entry also started an audio service that current appliances no longer have, so MT Launcher discarded the whole entry. It now starts only Showcase.
  • The start-up check of stored assets works again — it reported every asset as failed and gave no reason. It now reads asset addresses correctly.
  • The server's recovery commands keep working when a plugin is broken — the command-line recovery tools, such as resetting or unlocking a user, no longer stop when a plugin's settings file is damaged.
  • Reverting a PDF's viewer shows the effective choice — after revert to default, the Book and Flow toggle shows the viewer that will actually be used.

Showcase 26.09.3

Released September 2026

A maintenance release for everyone on 26.09.2, and a required upgrade for anyone who installed the interim build 26.09.2.1402 from the update feed: that build removed content items' viewer choices at its first restart, and this release stops it. It also makes Personal Folders keep what a visitor collected from a menu, completes the Widget Library's linking, and closes eight faults found in a full test pass of the 26.09.2 features.

New Features and Improvements

  • Saved widgets stay linked in more places — placing a Widget Library entry only kept the link when the slot it went into happened to share a name with the widget's own type; anywhere else it was copied, so library edits stopped reaching it and it never appeared under Used in. Placement now keeps the link wherever a slot can hold one, and the same saved widget can be linked into several differently-named slots. Existing copies are left exactly as they are. Please note: widgets placed into a layer — the main area, a menu, an overlay, a background, or a group's contents — are still copied; those hold a list of widgets rather than a single setting, and linking there is being worked on separately.
  • A scan station's test panel plays the lotteryFire test marker on a Codice Input service now behaves as a real scan: it reports a lottery loss or a win, respects the cooldowns, and appears in the scan feed. With Test mode on, a fire is a rehearsal that consumes no prize, so a limited draw can be tried before the real one.
  • Content Set browser items offer their address and a schedule — a web browser item in a Content Set now shows its URL and its Schedule slot, exactly as the same widget does on a Structure.

Bug Fixes

  • A server restart no longer removes a content item's chosen viewer — build 26.09.2.1402 introduced a start-up clean-up that deleted per-item viewer choices, such as a PDF set to open as a page flow, because it mistook them for leftovers of deleted apps; after the first restart those items vanished from the menus that showed them. The clean-up has been removed and the tidy-up on app deletion now recognises every place a viewer can be referenced from. If you installed 26.09.2.1402: viewer choices lost at that restart do not come back on their own — set them again on the affected items, or restore the automatic backup the installer took before upgrading.
  • A Personal Space keeps what was collected from a menu — collecting a PDF, picture or video that had been opened from a menu stored an empty widget, so reopening it from the space showed nothing, while the same file collected from a widget placed directly in the showcase worked. Every collect now stores the document itself with the widget. Items collected before this release are unaffected either way; collect them again to pick up the fix.
  • Collecting an annotated PDF works on an HTTPS-only server — the wall sent the annotated document to the address configured for attendees' phones, which on a fresh installation defaulted to a plain-HTTP address nothing listened on, so the upload failed silently. The wall now uploads to the server it is connected to, and the attendee address stays unset until an administrator enters one in Network Settings, which shows the address in use as a hint.
  • A widget whose picture or video never appeared now shows it — an asset could be stored with its address wrapped in quotation marks twice over; the player removed one set, looked for a file whose name still began with a quotation mark, found nothing and said nothing. The player now reads the address whatever way it was stored, so affected widgets start working on upgrade with no change to the showcase.
  • Dropping a picture onto an existing viewer stores it correctly — a drop onto a widget row wrote the file's address in a form the player cuts short at the first space, so an image in a folder with a space in its name never appeared on the wall although the editor showed it. The widget created by a drop above or below a row was also named after the path rather than the file. Both now behave like a drop onto a layer.
  • Theme values from an imported showcase show on the Structures page — for themes that came in with an older showcase, a widget's settings panel could not see the theme's values until the next server restart, and read From widget default while the wall applied the theme correctly. The panel reads those values immediately, and an import files them the same way the editor does.
  • Changing which widget fills a slot in a Defaults set saves — rebinding a row such as Decorations — footer showed Saved but the server had skipped the write, so the old binding came back on return. These values are stored now, and an unrecognised setting is reported as an error rather than dropped behind a success message.
  • A Defaults set shows values stored under a slot inside a slot — a value such as the close-after-idle operator of a floating menu's content had no row on the Defaults page and could be neither seen nor changed. Such rows are now listed with the full path they belong to.
  • Adding the same widget to the Widget Library twice no longer creates two entries — the library now recognises the widget it already holds and says so.
  • Deleting an app leaves nothing behind — each app deletion left the viewer settings of its Defaults set orphaned in the database, where they accumulated over time. The deletion now clears them.
  • A rare crash during start-up is fixed — messages logged in the first moments of a launch are held in a queue that several threads could write to at once; two writing together could corrupt memory and bring the process down. The queue is now locked.

Showcase 26.09.2

Released September 2026

A quality release across the editor: creating an app now sets it up completely, app scheduling works from a fresh installation, content boundaries are checked as you type and hold teaser menus inside them, and a saved widget placed from the Widget Library is one widget used in many places rather than a fresh copy each time. Scan stations gain a lottery of their own.

New Features and Improvements

  • Creating an app sets it up — a new app arrived with no structure, no Defaults set and no service set, so three more things had to be created and attached by hand. Creating an app named Reception now also creates a structure, a Defaults set and a service set of the same name and binds all three to it. Where a name is already taken the new item is numbered, and creating an app whose name is already in use is reported clearly instead of failing with a technical error.
  • One widget used in many places — placing a saved widget from the Widget Library used to duplicate it, so three showcases using the same menu meant three separate widgets and changing the saved one changed none of them. There is now one entry, a Used in column names the apps that use it as links, and changes to the library entry reach the places that use it. Editing a placed widget makes it that showcase's own and it stops following the library; widgets still following are marked. Deleting an entry still in use is refused, naming the apps and Content Sets using it. Existing duplicate entries can be merged by an administrator, who reviews the proposed merge first.
  • A scan station can run a lottery of its own — barcode and RFID stations offer a lottery with a win chance, a winner limit, a restriction to particular codes, and separate cooldowns after a win and after a loss. Off by default; losses are recorded in analytics and shown in the station's live test panel.
  • Content boundaries are checked as you type — a boundary written without its outer brackets, as an empty list, with an incomplete zone or with a zero-sized zone used to be accepted, saved and quietly discarded. These are refused as you type, naming the zone at fault, and the setting's description states the format.
  • Teaser menus respect content boundaries — a boundary set on a teaser menu limited only the menu's spawn area, so the teasers carried on across the whole wall. They now stay inside the boundary and turn back at its edge instead of gathering in a corner. Menus with no boundary set behave exactly as before.
  • A widget can be dragged into a group in a Content Set — groups accepted widgets through Add Widget but refused them when dragged; a group now accepts by drag exactly what it accepts through Add Widget.

Bug Fixes

  • App scheduling works — on a new installation there was no schedule for events to belong to, so Create Event appeared to do nothing; installations with a schedule could edit only the first one; and a failed save closed the dialog, discarding what had been typed. A schedule exists from the start, the page edits the selected schedule, and a failure is reported with the dialog left open.
  • Changes made in a Defaults set are shown again when you return — a changed setting was saved and applied on the wall, but reopening the page showed the recommended value, so there was no way to tell a deliberate choice from an untouched setting. Repeated edits made while this was wrong wrote the same value; only one is stored.
  • The Widget Trigger's list of widget types is populated again — it was being built from the saved widgets in the Widget Library rather than from the widgets Showcase provides, so it was empty on a new installation.
  • Help text describes the setting you are looking at — settings sharing a name across widgets showed one widget's description on all of them. Three actively misled: an Enabled setting described as switching a lottery, a Source setting telling authors to drag a PDF in even on web-address items, and a rotation setting stating the opposite of what it does. Each now shows its own description.
  • Feature status labels are accurate — Integrations is marked Coming Soon while its terminology is revised; the Loupe is no longer marked Beta; and the Codice marker-type list is wide enough to show a type's name and its status together, so a type under development no longer reads as finished for want of room.
  • The personal folder page is labelled in plain English — the page a visitor reaches from their Codice marker labelled its fields with internal names such as firstName; every field now reads normally.

Showcase 26.09.1

Released September 2026

The headline of this release is NDI. A wall can now send its display over the network as an NDI stream, and NDI streams on the network appear as video inputs alongside cameras and capture cards — so Showcase can feed a broadcast mixer or a recorder without a capture card, and can show a live feed from another machine without one either.

It also completes Personal Folders. A visitor carrying a CODICE marker has a folder that follows them: what they collect from the wall is kept as the widget it was rather than a picture of it, is still there the next time they present the same marker, and can be reviewed and downloaded afterwards from a web link.

Showcase is available for macOS on Apple silicon for the first time, and the server ships a documented command-line tool on every platform for the administration tasks that previously needed the web interface.

Please note: this release repairs a fault that made themes ineffective on every installation running the current server. Theme values were being saved and displayed correctly but were never read by the player, so each widget fell back to its own built-in settings and the app's theme had no effect on the wall. Anyone who compensated by setting values on individual widgets keeps those values; the theme now applies to everything that was left alone, so some walls will look different after upgrading — as they were always meant to.

New Features and Improvements

  • Send the wall over the network as NDI — a window can now carry one or more NDI outputs, so what is on the wall can be taken into a broadcast mixer, a streaming encoder or a recording system with no capture card in between. A window can also be marked virtual, in which case it renders off-screen purely to feed its outputs: mirroring a physical display therefore costs nothing extra, because the visible wall is untouched and the stream is produced alongside it rather than by duplicating the window. Outputs are configured per window in the screen configuration.
  • NDI streams are available as video inputs — a live NDI feed on the network can be placed in a showcase and played like any other video source, alongside capture cards and cameras. Sources are discovered automatically and picked by name, so a presenter's laptop, a broadcast source or another Showcase wall can be shown without capture hardware.
  • Personal Folders keep what a visitor collects — a visitor carrying a CODICE marker has a personal folder that follows them. Items are collected by dragging them out of a showcase and into the personal space, and the whole widget is kept rather than a flat picture of it, so an item reopens as the thing it was: a document at the page it was left on, a video, a web page. Collecting the same item twice does not create a duplicate. What was collected is still there the next time the same marker is presented, including after the player is restarted.
  • The personal space matches the folder behind it — the space shows its content one-for-one and updates live as items are added or removed, so what a visitor sees is what has actually been kept. Items can be rearranged, and removed again through a dustbin.
  • Annotate on the wall, and keep the annotation — documents and images can be annotated where they are, and an annotated document is kept with each annotation on the page it belongs to. Collecting an annotated document keeps what was drawn on it.
  • Visitors can take their folder away — a personal folder can be reached by a web link, so a visitor can review and download what they collected after they leave. The link persists, so it can be printed on a card or shown as a code.
  • Showcase runs on macOS — Showcase is available for macOS on Apple silicon as a signed installer, having previously been Ubuntu and Windows only.
  • A documented server command-line tool on every platform — the administration tasks that needed the web interface — creating and listing users, resetting a password, inspecting server state — are available from the command line. This matters most when the web interface cannot be reached: a locked-out administrator account, or a machine being prepared before anyone can sign in.
  • A theme is always complete — every setting a theme can carry now has a value in it, either the one chosen for this theme or the recommended value behind it, so there is no longer such a thing as a setting a theme has no answer for. This removes a confusing class of problem, where a widget behaved unexpectedly because nothing had ever been set for it and the omission was invisible. Settings a theme sets itself are marked as changed, so it is clear at a glance which values were chosen deliberately; clearing a changed setting returns it to the recommendation. Recommended values are shared rather than copied into each theme, so a corrected recommendation reaches every theme.
  • Structures, Content Sets, Defaults sets and saved widgets can be renamed — several of these could be created and duplicated but never renamed, so a duplicate kept the original's name with a suffix and there was no way to correct it. Rename is now offered from the same menu as Duplicate and Delete.
  • Widgets that are looked at, not used, are Passive Widgets — backgrounds, decorations and overlays are grouped as Passive Widgets and placed the same way as any other widget, replacing the separate toolbar and decoration slots with their own rules. Existing showcases are unaffected: what was in those slots continues to appear where it did.
  • Slots are quicker to fill — a slot can be filled from a searchable grid of toolbar buttons rather than a plain list, the quick-select for a slot picks the right thing, and the default toolbar is restored where it had gone missing.
  • Dragging in the trees lands where it is aimed — assets can be dropped between rows to sit at a chosen position, the drop marker shows exactly where an item will go, the depth of a drop follows the cursor, and a drop no longer opens the row it passed over.
  • "Used in" names the widget and the app — wherever the editor says something is used elsewhere, it now names the widget and the app and links to them, for Content Sets, Defaults sets and Widget Library entries alike.
  • The jog wheel scrubs like a physical one — rotation maps to a position in the clip rather than nudging it, a virtual cursor shows where the scrub has reached, lifting the wheel pauses, and playback speed follows the rotation down to a tenth of normal. The wheel no longer starts or stops playback on its own.
  • An IR Sensor View background — shows what the wall's sensors are seeing, so touch coverage can be checked and interference diagnosed on site without separate tools.
  • The Loupe captures the background too — what it magnifies now matches what is on screen, and its diameter setting is honoured.
  • Projector walls can blend their seams — the screen configuration can describe the overlap between neighbouring outputs and the blend across it, and on NVIDIA professional graphics the player applies that blend in the graphics card on Windows and Linux. Off unless the configuration asks for it.

Bug Fixes

  • Theme values reach the widgets they apply to — a theme sets how widgets look and behave across an app: size, pinning, rotation, and the toolbar and decorations each widget carries. Those values were saved correctly and shown correctly in the editor, but the player never read them, so every widget fell back to its own built-in settings and the app's theme was in effect ignored. There was no error and nothing to see — the theme simply had no effect on the wall. Themes imported from older showcases were unaffected and continue to work as before. Please note: anyone who compensated by setting values on individual widgets keeps those values, and the theme now applies to everything that was left alone, so a wall may look different after upgrading.
  • Content Set items offer the whole widget's settings — an item added to a Content Set is the widget it is: a PDF is a PDF viewer, a web address is a browser. The editor was offering only the few fields common to all content, so size, position, source and the viewer's own options could not be reached from the Content Set at all, while the same widget added to a Structure showed everything. Both now show the same thing.
  • The Widget Library holds only widgets that were saved to it — adding items to a Content Set was quietly adding them to the library as well, so it filled with entries nobody had saved and the widgets deliberately kept there became hard to find. Existing libraries are tidied on upgrade: genuinely saved widgets are kept, and entries that only ever appeared because of this are removed from the library. Nothing is deleted from the showcases using them.
  • The Widget Library is no longer listed as a Structure — the library's own container appeared in the Structures list, the App Launcher and the export picker as though it were a structure that could be run.
  • The Media Library separates managed folders from imported content — the folders Showcase manages itself — Live Inputs, URLs, and personally collected assets — are grouped at the top, apart from imported content. The URL folder also no longer opens expanded, so the library opens on the content that was put there rather than on a long list of web addresses.
  • A setting saved onto a widget stays marked as set — after saving, a value pinned onto a widget went back to displaying as though it were inherited from the theme. The value itself was stored correctly and the wall used it; only the editor misreported where it came from, and it corrected itself when the page was reloaded.
  • Looped videos restart, including very short clips — a clip of a second or two set to loop could stall at the end of its first pass, because the restart was timed from the clip's declared length rather than the last frame shown. Short loops now play continuously.
  • The ripple touch effect keeps its size on custom screen configurations — where the configured rendering size differed from the physical pixel size, the effect under a finger came out the wrong size and in the wrong place.
  • Closing the player no longer hangs when the graphics driver has stalled — shutdown used to wait without limit for a rendering thread stuck in the driver, and the watchdog then ended the process the hard way. It now gives up waiting after a bounded time and exits cleanly.

Showcase 26.08.3

Released August 2026

An update recommended for all multi-GPU video walls, which again distribute rendering across every installed GPU. It also repairs the App Switcher, so a designated app actually opens instead of the Welcome screen, completes the URL Library with deletion and drag-and-drop, and makes spreadsheet import reject cells that are not web addresses rather than cataloguing them silently.

New Features and Improvements

  • Multi-GPU video walls now use all installed GPUs — on walls with more than one graphics card, rendering load was previously carried entirely by the first GPU while the others sat idle; Showcase now renders each configured window on the GPU that drives its displays. Large multi-GPU walls get correspondingly higher headroom for rich content. A configuration with one window per GPU is required to benefit. Verified end-to-end on Linux multi-GPU walls; the equivalent Windows fix ships in the same release, with full Windows wall verification to follow.
  • Drag a web address straight onto a slot — a URL Library entry or a Hosted Site can be dragged from the Media Library onto a slot to create a Web browser widget already pointing at it, instead of creating the widget and then typing the address into it.
  • URL Library entries can be deleted — entries can now be removed, which previously was not possible at all. The confirmation names the Content Sets that will be detached by the removal, so what the deletion affects is clear before it happens.
  • Choosing what a menu item is — creating a menu item where the role allows several component types now asks which type to create, rather than always producing a bubble that then had to be replaced by hand.
  • Site uploads report their progress — uploading a Hosted Site now shows progress while it transfers and states the outcome when it finishes, instead of leaving the page apparently idle with no indication of success or failure.
  • The shared-widget list is grouped by type — the dropdown for choosing a shared widget groups entries by type, matching the arrangement already used in the Widget Library.

Bug Fixes

  • The App Switcher opens the app you designated — a run configuration chosen as the App Switcher's target was never found, so the wall fell back to the Welcome screen no matter which app had been selected. The setting stored the configuration's internal identifier while the switcher looked its target up by name, so the two never matched. The switcher now resolves either form, and existing installations keep working untouched. The None (Welcome screen) option that the setting's own help text described is also now present and selectable, having previously been unreachable.
  • Spreadsheet import rejects cells that are not web addresses — importing a CSV into the URL Library now reports a cell that is not a web address as an error instead of adding it to the library. Previously any single word — a stray header cell, or half of a row split by a rogue comma — was taken as the host name of a made-up address and catalogued exactly as typed, while the import summary reported "0 with errors" over the top. A cell is imported now only when it is evidently an address: it carries a scheme (https://example.com/page), its host contains a dot (example.com), or it names a port explicitly (intranet:8080). Anything else appears in the import preview as an error row, with its line number and the text of the cell, before anything is written. Please note: an intranet host with a single-word name, such as wiki, is consequently no longer imported when written on its own, because nothing in that cell distinguishes it from a typo; writing it as http://wiki or wiki:80 imports it exactly as before, and the error row in the preview says so. Adding a URL by hand with "+ URL" is unchanged and still accepts wiki as typed.
  • A malformed address is explained rather than dumped — entering an address the editor could not use reported the failure as raw technical data instead of a sentence, leaving an author nothing to act on. The reason is now stated plainly.
  • Migration receipts can be read — the summary produced when content is migrated on upgrade appeared in a notification too small to hold it, which disappeared before it could be read. It is now presented as stacked banners that stay until dismissed.
  • Dropping media onto a layer works — media dragged from the Media Library onto a layer failed to land. A drag held over a row also no longer collapses that row, which used to hide the intended destination mid-drag.
  • The duplicate Size field on Video Carousel is gone — the Video Carousel showed two Size fields, only one of which had any effect. The one that did nothing is no longer shown.
  • Saving a new widget is reachable again — creating a widget from a slot and then editing any of its settings greyed out the dialog's Save button about a second later, and that Save is the step that binds the new widget into the slot. The binding was therefore unreachable: the widget was created but never attached, and re-opening the dialog and pressing Save did nothing either. Save now stays available, the dialog states when changes have been saved and offers to revert them, and completing it attaches the widget to the slot as intended.
  • Settings no longer show a value the wall does not use — numeric settings left unset were pre-filled with a number taken from the component's specification, which the wall does not necessarily apply, so a field appeared to hold a value that was never in force. Unset fields are now shown empty with that number offered as a greyed suggestion, labelled Recommended rather than Default. Clearing a field returns it to that state and it stays cleared when the page is reloaded. Please note: selecting the recommendation now clears the setting so it follows the theme, where previously it wrote that number into the widget. Anyone who used it to pin a value against a theme will need to type the value instead.
  • Slot help text appears — the explanatory text for a slot was matched by its displayed name, so it almost never appeared. Slots whose display name differs from their internal name now show their description.
  • A sequence group follows the order you set — in a widget group set to Sequence, the order of the steps was read from how the widgets were currently stacked on screen rather than from the order authored in the editor. Pressing a trigger could restack it and so silently renumber the sequence, meaning a group could no longer be completed in the order shown; a stylesheet could change the numbering the same way. Steps now follow the authored order only. Where several children share the same position — as happens to everything added by an import — the order is now fixed and repeatable instead of varying between Windows and Linux walls and changing as children were added.
  • The startup diagnostic is written where it can be found — the file recording why a player failed to start was written to a location that depended on how the player was launched, so it frequently could not be located when it was needed. It is now written beside the database, in a fixed and documented place.
  • Analytics shows widget names, and counts them correctly — every Analytics row identified its widget by a 19-digit internal number that meant nothing on the page. Those numbers were also newly minted each time a widget was opened and each time the player restarted, so opening the same brochure fifty times produced fifty separate rows with a count of one apiece. Content Engagement now groups by the widget you authored and shows its name, so those fifty openings appear as one row with a count of fifty. This applies to existing history as well as new activity — the link back to the authored widget was always recorded, it simply was never read — so past sessions gain names and correct counts without anything being re-collected. Please note: the Leads list and its CSV export now show only registered leads, matching the Leads figure beside them; anonymous activity that previously padded that list remains visible in the session timelines.
  • Front Desk lists text fields again — the Front Desk page reported "No editable text content available" on every installation, however many text widgets a showcase contained, because it looked for them among content items rather than among the widgets where they live. Text widgets now appear and can be edited, and an edit is saved back to the widget it came from.
  • The PIN dialog looks like a dialog, and appears where you touched — the PIN prompt was drawn as a plain grey rectangle in the top-left corner of the wall at an arbitrary size, with no frame and no heading, because its entire appearance was being discarded. It now carries its panel artwork, title and instruction, and opens centred on whatever triggered it rather than in the corner. The "Incorrect PIN" message and the Unlock button's active state were suppressed by the same fault and now show correctly.
  • Adding a widget from the library puts it where you chose — a widget added from the library was filed under whichever slot it had originally been saved from, so one saved out of a group and then added to a structure's Main layer arrived at the top level instead of inside the layer, and was misplaced on the wall for the same reason. The slot you pick is now what is recorded.
  • "Add Widget" is on the widget's own menu — adding something to a group previously meant expanding it first and using the menu on its contents row. Both the "…" menu and the right-click menu now offer Add Widget directly on any widget that can hold children, asking which slot where there is a choice.
  • "Use theme" works on widgets — selecting it on a widget's setting previously did nothing at all: no error, no change, the override simply stayed. It now removes the override so the setting follows the theme, including later changes to that theme. It does not copy the theme's current value in, which would have frozen today's value in place.
  • Sparkles particle lifetime takes effect — the setting was published under one name while the effect read another, so any value set was accepted, saved and then ignored, and Sparkles always ran at its built-in lifetime. Existing showcases are unchanged on upgrade, since the stored value was inert and the built-in lifetime is unchanged — but the control works from now on, so an effect tuned by eye while it did nothing will respond when the lifetime is set.

Showcase 26.08.2

Released August 2026

This release introduces the URL Library — a catalogue of web destinations that can be named, imported from a spreadsheet, and pointed at something new in one place instead of widget by widget. It also repairs the Defaults (Themes) page, which could not be used at all on some upgraded systems.

New Features and Improvements

  • URL Library — web addresses used on the wall are now kept in a named catalogue in the Media Library, rather than being typed separately into each widget. Change a destination once and every widget using it follows automatically, so a campaign page or intranet address that moves no longer has to be hunted down and re-entered everywhere. Addresses already in your content are added to the catalogue on upgrade, grouped so that repeats of the same destination become a single entry; the addresses themselves are left exactly as they were.
  • Import addresses from a spreadsheet — a list of URLs can be imported from a CSV file. The import previews what it will do first, showing which rows are new, which already exist, and which cannot be read, so nothing is written until you confirm it.
  • Let one widget differ from the rest — a widget that follows a catalogue entry shows its address as read-only, since the entry controls it. An unhook action next to that field releases just that one widget, leaving it on its current address and freely editable, without affecting any other widget using the same entry.
  • Entries can be renamed — catalogue entries can be given meaningful names at any time. Entries created automatically on upgrade are now named distinctly rather than all taking the name of their web host, so several destinations on one intranet server no longer appear as a list of identical entries.
  • Content Sets — Consumer Widget settings are now grouped into clearer sections, root-level settings are editable, and the content tree more faithfully reflects the structure it represents.

Bug Fixes

  • The Defaults page works again — on some systems the Defaults (Themes) page showed a loading indicator that never finished, leaving no way to change any theme setting. Nothing was actually failing: an internal tag left behind by an older import was being read as "nothing selected", so the page waited forever for a selection it already had. The affected data is corrected automatically on upgrade, with all saved settings preserved.
  • Saving a theme setting now confirms itself — changing a setting on the Defaults page shows a confirmation, matching the rest of the editor. More importantly, a save that fails now says so and puts the field back to its previous value. Previously a failed save looked exactly like a successful one: the new value stayed on screen and the change was discovered to be missing only after reloading the page.
  • Customisation marks update immediately — the list of widgets on the Defaults page marks those with changed settings in bold, with a count. That mark now updates as soon as a setting is changed, instead of only after the page was reloaded.
  • Jumping to a widget's settings shows the whole section — selecting a widget from the list on the Defaults page no longer scrolls its heading and first settings underneath the search bar, and selecting a section that has been collapsed now opens it rather than leaving it shut. The current selection is highlighted in the list.
  • Import problems are reported instead of being hidden — a genuine fault during a URL import, such as a disk or database problem, was reported as an ordinary skipped row or as an invalid address, so an author was told nothing was wrong and retyped an address that was never the problem. Real faults are now reported as faults; rows that genuinely cannot be used are still skipped as before.
  • Hosted sites are removed safely — a hosted site that is no longer referenced is archived rather than deleted immediately, keeps serving while archived, and is removed only after a further seven days. The removal now takes an exclusive claim before deleting anything, so a site being restored at the same moment cannot be destroyed mid-restore.
  • Widgets cannot drift from their catalogue entry — changing a widget's address directly, from a script or an older editor, now releases that widget from its catalogue entry instead of leaving the two disagreeing. Previously the wall could show one address while the entry claimed another, and the difference was silently overwritten the next time the entry changed.
  • Interrupted upgrades no longer undo your changes — if the upgrade step that catalogues existing addresses is interrupted, it now undoes its partial work and retries cleanly on the next start. Previously a half-finished run could re-link a widget an administrator had deliberately released.
  • Obsolete Twitter viewers removed — content viewers for the retired Twitter integration are no longer created on upgrade, and the leftover entries they created are cleaned up. Tag names taken from imported content are also corrected, rather than being stored under an empty name.

Showcase 26.07.2

Released August 2026

A maintenance release: bulk deletions no longer fail as a whole because of one protected item, the Defaults page reports problems instead of appearing to load forever, and large imports and exports are staged on the data partition so they cannot fill the system disk.

Bug Fixes

  • Defaults page reports problems instead of spinning — the Defaults (Themes) page now shows a message and a Retry button when it cannot load, rather than a loading indicator that never finishes. Widgets whose settings fail to load are listed with their own Retry option instead of quietly disappearing, so a temporary connection problem can no longer look like a missing widget. The page also no longer reports "Theme not found" when the theme exists and only the request failed.
  • Deleting several items at once — deleting multiple themes or run configurations no longer fails as a whole when one of them cannot be removed. Each item is attempted on its own, so the rest are deleted as expected and the server reports which ones did not succeed and why. Previously a single protected item, such as a system run configuration, silently cancelled the entire deletion.
  • Imports and exports use the data partition — large imports and exports are now staged under the server's data directory instead of the system temporary directory. A large .showcase import holds the archive and its extracted contents at the same time, needing roughly twice its own size, so on machines where data lives on a separate volume this could fill the system disk. Existing servers pick the new locations up on upgrade; operators who set these paths themselves keep their values.
  • Running out of disk space no longer stops the server — a failed write to the log file previously terminated the service and disconnected everyone using it. The server now keeps running and reports the problem, losing only the log file.

Showcase 26.07.1

Released July 2026

Licence activation fixes for Suite and bundle keys, hosted sites that survive a reboot, and a set of editor and packaging corrections.

New Features and Improvements

  • All server settings documented — the server settings file (production_users.yaml) now documents every setting the server accepts, grouped by area, each with its default value and the paths used on Linux and Windows. Previously it listed only seven of the forty-one available settings, so options such as HTTPS and TLS certificate paths, SMTP details, hosted-site and export storage locations, and the visitor upload limits were not discoverable without reading the source. Existing files are left untouched on upgrade; the expanded template applies to new installations.
  • Showcase in the Linux applications menu — on Linux, MT Showcase now appears in the applications menu after installation, with its own icon, so it can be started without using a terminal. Each installed version gets its own entry labelled with its version number, matching how MT Canvus already behaves. The menu entry and icon are removed again when the package is uninstalled.

Bug Fixes

  • Suite licences now activate — a licence issued from a Showcase Suite key was read as a licence for a different product and refused with "The license file is not for this application", which prevented Showcase from being licensed at all on a new installation. Licences are now matched to the exact product they were issued for.
  • Activation problems explain themselves — when activation fails, Showcase now shows the reason reported by the licence server, such as "License key not found" for a mistyped key, instead of a general network error that suggested a connection problem.
  • Hosted sites survive a reboot — hosted-site files (served via GET /www/<site>/) are now stored in a persistent directory. Previously every hosted site returned 404 after a reboot, because its files were written under a temporary directory that the operating system clears on restart while the sites database still listed the site as deployed. Sites lost to this issue must be re-deployed once; from then on they persist.
  • Clearing a field resets it to the default — clearing a widget field in the editor now resets it to its default. Previously, emptying a numeric, size, or vector field — "Initial size" and "Scale", for example — appeared to work and was saved, but the player kept displaying the old value, and there was no way to reset such a field short of typing the default back in by hand. Text and colour fields were unaffected and continue to behave as before.
  • "Initial size" works on the Video Carousel — the setting previously appeared in the editor but had no effect; only "Scale" changed the carousel's size. Setting "Initial size" now sizes the carousel when it launches, and the video inside it is fitted to that size while keeping the clip's aspect ratio. Percentage values, relative to the parent, are honoured too.

Showcase 26.07.0

Released July 2026

Showcase 26.07 introduces audience uploads for deployments with integrations enabled — visitors scan a QR code to send photos and videos to the wall through a moderated queue — alongside a round of media-library, widget-rotation, and browser fixes, and Showcase and Canvus can now run on the same machine.

New Features and Improvements

Audience uploads (deployments with integrations enabled)

  • Authors can add an Audience Upload button to a widget's toolbar. Tapping it shows a QR code; visitors scan it with their phone to open a simple upload page — no app or account needed
  • Uploaded media goes into a moderation queue, not straight onto the wall: a new Moderation page in the editor lets operators preview, approve, or reject each submission
  • The widget's toolbar button also defines which kinds of media it accepts, so each upload target only receives content it can display

Operator workflow improvements

  • Operator settings now persist when a template is re-applied, instead of being reset to the template's values
  • Audience CSV imports now reject a malformed file as a failed run with a clear error, instead of half-importing it
  • Connectivity checks now work against servers using self-signed certificates, matching the HTTPS-by-default server introduced in 26.06

Windows installer

  • The installer and the application binaries it ships are code-signed again. Since the March 2026 signing-system change, Showcase Windows builds had been shipping unsigned, and Windows SmartScreen would warn that the publisher was unverified. Nothing changes for the operator beyond the removal of the "unknown publisher" warning.
  • The editor server now starts immediately when installation finishes, so remote authoring works right away. Previously — even with the "Run the MT Showcase editor at sign-in" option ticked — the server did not come up until the operator next signed in, which looked like "the client runs but there is no server".

Bug Fixes

  • Deleted media-library items stay deleted — removing a file or folder from inside a media-library folder now takes effect immediately instead of the item reappearing, and if a delete cannot be completed the editor shows an error rather than silently leaving the file in place.
  • Drag files straight from your computer — you can again drag files and folders from a desktop file manager onto the media-library list to upload them, not only onto the small upload box at the bottom. Dropping onto a folder uploads into that folder; dropping elsewhere uploads into the current one.
  • Widget rotation restored — alongside Location and Scale, a Rotation field again sets a widget's starting angle in degrees, rotating it about its centre — useful for turning a browser or image to face someone standing on the opposite side of a touch table.
  • Run Showcase and Canvus together — Showcase and MultiTaction Canvus can now run on the same machine at the same time. Both products previously shared one browser-engine cache, so whichever started second could fail to open web content; each product now uses its own cache.
  • Failed pages no longer reload themselves — a browser widget whose page failed to load could get stuck repeatedly reloading its error page; a failed page now shows the error once and reloads only when asked to.

Showcase 26.06.3

Released June 2026

  • Carousel thumbnail grid — a thumbnail grid, opened from a button in the video's bottom-right corner and shown as an evenly sized N×N overlay, lets viewers jump to any clip in a Video Carousel.

Showcase 26.06.2

Released June 2026

A port-less HTTPS editor, plus export and player-stability fixes.

New Features and Improvements

  • HTTPS editor on a port-less address — the editor and API server now serve over HTTPS only, reachable at https://<wall-ip> with no port. The server generates and trusts a self-signed certificate on first start (operators can supply their own PEM files instead), and serving over TLS keeps the session cookie so designers are no longer logged out roughly every 15 minutes.

Bug Fixes

  • Asset exports include their files again — exports include the actual asset files once more: Export used assets only bundles exactly the assets the selected apps reference, and Export all assets bundles the whole asset library.
  • Player video playback — NVIDIA (NVDEC) hardware video decoding is re-enabled safely with correct colours, automatically falling back to software decoding on unsupported hosts (and overridable per machine with VIDEODISPLAY_FORCE_SOFTWARE_DECODE=1).
  • Display freeze resolved — a rare display freeze, caused by the drawing and main threads waiting on each other while presenting a frame, has been resolved.

Showcase 26.06.1

Released June 2026

A new Video Carousel widget, out-of-the-box email with configurable SMTP, and a round of editor and media-library improvements.

New Features and Improvements

  • Video Carousel widget — a new widget plays a folder of videos one after another. Choose the playback order (alphabetical, reverse, random, or upload date), set auto-advance or manual advance, and pick what happens at the end (hold on the last frame, loop, or close). On-screen controls and touch gestures move through the clips.
  • Email out of the box, with settings — invitation and password-reset emails now send on a fresh install through a built-in mail relay, where previously the server reported success but silently sent nothing. A new Email settings dialog (next to + Invite user) shows the active mail route, lets administrators switch to their own SMTP server, edit the server's public address, and send a test email.
  • Media library folder operations — move assets and whole folders by dragging within the library, with a replace / keep-both / cancel prompt on conflicts. Upload an entire folder with its nested structure preserved, drop a folder onto a slot to add all the media inside it, and delete files or folders with an always-visible, confirm-guarded delete button that works on touch walls.
  • Drag-to-create viewers and percentage sizing — dropping an image, video, or PDF onto a slot now adds the matching image, video, or book viewer with the file already set as its source. The Location and Initial size fields once again accept percentages and expressions such as 100% and calc(100% - 50px), with their units preserved.
  • Clearer attribute help — hover the (i) icon next to an editor setting to read a description of what it does, now including settings that previously had no help text, with wording tailored to the widget you are editing.
  • Live structures sidebar — the structures sidebar refreshes by itself as soon as an import finishes, with no page reload needed.

Bug Fixes

  • Showcase export downloads — exports download reliably again for authorised users, where the download could previously fail with an authentication error. The export dialog now hides blank-screen system entries and automatically includes a selected app's structure and theme.
  • Player stability on Intel graphics — fixed a freeze and self-quit on Windows machines with Intel UHD and Iris Xe graphics.

Showcase 26.06.0

Released June 2026

  • More reliable large imports — the import progress bar now advances through the server-side assemble and extract phases, so very large archives visibly keep moving instead of appearing frozen. Individual upload chunks retry automatically after a transient hiccup, and leftover temporary files from interrupted imports are cleaned up automatically.

Showcase 26.05.4

Released May 2026

  • Editor server reaches its database on Windows — fixed a problem introduced in 26.05.2 where the Showcase editor server could not reach its database after install. That change ran the editor server as a system-level Windows service, but the database, media assets, and licence all live in the signed-in operator's profile, which a system service cannot see — giving a "database not accessible" error on a freshly installed machine. The editor server now runs automatically at sign-in as the operator, so it reads the correct per-user database, assets, and licence with no migration or reconfiguration. It still runs hidden with no command-prompt window and restarts itself if it stops. This does not change how licences are activated.

Showcase 26.05.3

Released May 2026

  • Widgets land in the right layer while dragging — dragging a widget between layers in the editor's structure tree, or reordering widgets within a layer, briefly showed the widget jumping to the top of the tree in an invalid position, settling into the correct layer only after Save. The widget now appears in the correct layer immediately as you drop it. This was a display-only issue; saving always stored the widget in the right place, so no existing showcases were affected.

Showcase 26.05.2

Released May 2026

The Windows installer and the editor server have been reworked so a Showcase machine runs cleanly without operator intervention.

  • Installer no longer interrupts itself — the installer no longer reboots the machine while installing the Microsoft Visual C++ runtime, and it registers the Windows Firewall rule for the editor server automatically, so the confusing "allow Node.js JavaScript Runtime to access networks" prompt no longer appears during first run. Previously, an operator who declined that prompt would silently break remote editing.
  • Editor server runs as a Windows service — the editor server now runs as a proper Windows service called MT Showcase Editor Service instead of an open command-prompt window. It starts automatically with the machine, restarts itself if it stops, keeps running after sign-out, and no longer shows a console window that could be closed by accident. Uninstalling Showcase removes the service and the firewall rule.
  • Logs in one place — server and player logs are now written together to %PROGRAMDATA%\MultiTaction\showcase\logs on Windows, and ~/MultiTaction/showcase/logs on Linux, making it easier to collect diagnostics from a single location.

Showcase 26.05

Released May 2026

Showcase 26.05 combines new authoring capability with a round of editor fixes and the operational improvements from the preceding point release: a new PIN Lock operator for gating widget actions and screensaver unlock, restored editor behaviour (slot-aware widget filtering, in-pane schedule binding, Widget Group tint indicators, and the Codice behaviour operators), an auth fix for sessions on plain-HTTP deployments, an import-pipeline fix so connected players pick up imported content immediately, a bucket-driven Demo Apps tab, a latch-group reset slot, an editor colour-save fix, a rebuilt Defaults page, and a built-in test fixture suite.

PIN Lock operator

Authors can now gate any widget action behind a PIN challenge. Add the new PIN Lock behaviour operator to a button or hotspot and the widget's action will only fire if the presenter enters the correct PIN.

PINs are managed centrally as Named PIN Groups under Defaults — give each group a name (e.g. "Admin", "Kiosk Override") and a 4-to-8 digit PIN. Operators reference the group by name, so updating a PIN once applies wherever the group is used. Alternatively, set a one-off Custom PIN directly on the operator if a group is not needed.

The PIN Lock operator has two trigger modes: On Action intercepts the widget's tap and shows the PIN dialog before the action fires; On Appear hides the widget entirely until the correct PIN is entered. A third attachment point, Menu Access Gate, locks the press-and-hold gesture that opens menus from the Menu Layer.

The existing screensaver Screen Lock now supports the same PIN Groups and accepts 4-to-8 digit PINs (previously fixed at 4 digits). Existing screensaver configurations keep working without changes.

Latch group reset slot

Widget Groups in latch logic mode lock HIGH on first activation and hold every trigger child HIGH until all of them go LOW again. With nothing to drive the children back down, a latch group could stick HIGH with no clean way to release it.

A new Resets slot now sits between Triggers and Outputs on a Widget Group. A button placed in the Resets slot clears the group on its next press: the latch releases, sequence progress resets, trigger children and the group signal return to LOW, outputs hide, and the reset button re-arms. Together with the Triggers slot this gives a full set/reset latch. Reset buttons stay visible at all times and are not counted in the group's logic evaluation.

Editor fixes and polish

The widget editor now correctly filters available widgets when adding to a slot, so the "Add widget" dialog only offers widgets that are valid for the slot you are filling.

Schedule binding is back inside the widget's properties pane. The Schedule picker on widgets like Browser, Book, and Image-movie lists every event from every schedule and binds the chosen event to the widget — no more navigating to the Schedules page to attach a schedule. A "+ Manage schedules…" entry jumps to the Schedules page when you need to create or edit events.

The Widget Group active/inactive tint indicator is restored. Set Active tint and Inactive tint on a group, and every child hotspot's visualisation glows in the chosen colour when its signal goes HIGH or LOW. Per-widget High tint / Low tint overrides still take precedence over the group default.

The eight Codice Behaviour operators (Scenario Load, Volume, Admin Override, Widget Trigger, Scrubber, Pen Palette, Spotlight, Loupe) now register cleanly in the editor and can be added from the Behaviour Operators slot. They take no per-instance configuration — all behaviour is driven by the Codice marker's service config.

Smaller editor polish: every slot now surfaces in the Slots section of a widget's properties pane; signal-name, condition-signal, and counter-target inputs autocomplete from names already declared in the structure; content-boundaries, marker-filters, and code-filter inputs validate their formats live; codice-lottery win-chance is now a 0–1 slider; sparkles can be placed on overlay and screensaver layers in addition to background; and the text-style drop-shadow-offset attribute uses the vector editor.

The Defaults page has been rebuilt as a single scrolling, by-type list of every component and its attributes, so authors can see the full set of out-of-the-box defaults at a glance. Any value you have customised away from the system default is shown in bold, and a table-of-contents sidebar jumps to each component. Typing the system default back into a field clears your override.

Two editor "+ Create new…" pickers (content sets and shared components) now open the new item's own edit page so you can configure it before it is bound, then return you to the structure with the binding applied — instead of silently creating an empty, unconfigurable entity inline. The Opening animation picker on finger menus, rotating menus and Codice content again lists the built-in Stars and Circular progress animations on fresh installs (these were missing after the server rewrite).

The Codice DB page columns are now resizable — drag the separators to widen the code list or the detail panel, and the widths are remembered for your session.

Editor colour edits now apply on the player

Colour attributes set in the editor — tints, background colour, foreground colour, Awesome BG colours and similar — could silently revert to the widget's built-in default on the player, even though the editor showed the saved value. Named and hex colours that happened to be stored in a player-compatible format were unaffected, which is why the problem appeared intermittent.

The editor now saves every colour in a single canonical rgba() form that the player parses reliably, and the player also normalises any colour stored in the older space-separated format on load, so existing content picks up its correct colours without re-saving or migration.

A related fix stops the editor showing a blank white page after a server update: stale cached asset requests now return a clean error instead of a broken page load, and the editor's main page is no longer cacheable by intermediate proxies.

Login sessions persist across inactivity on HTTP deployments

The refresh-token and CSRF-token cookies set on /api/auth/login and /api/auth/refresh had the Secure flag hardcoded. Browsers silently drop Set-Cookie headers with Secure when the response is over plain HTTP, so any showcase server install reached on http://host without a TLS-terminating proxy returned a 200-OK login but the cookies never reached the browser. The user's 15-minute access token kept them logged in until it expired, then /api/auth/refresh returned 401 (no refresh cookie in the request) and the editor showed "Your session has expired". The effect looked like an aggressive idle timeout.

The Secure flag is now controlled by the new COOKIE_SECURE environment variable on the api server, default true (correct for production deployments behind TLS). HTTP-only deployments opt out by setting COOKIE_SECURE=false:

# /etc/systemd/system/mt-showcase-server.service.d/cookie.conf
[Service]
Environment=COOKIE_SECURE=false

After applying, sudo systemctl daemon-reload && sudo systemctl restart mt-showcase-server. Symptoms of the bug present in the database: the refresh_tokens table accumulates rows from successive re-logins (one per login) with empty parent_id columns, and audit_log shows zero refresh.token_reuse events — silent refresh never reached the rotation logic.

This release also hardens two editor security touch-points: the SSO provider configuration form no longer lets the browser autofill an administrator's saved login credentials into the provider fields, and the Revoke all sessions control's description now matches its actual behaviour — revoking immediately invalidates every active session rather than letting existing tokens run out their window.

Connected players pick up imported content immediately

Importing a .showcase archive now propagates to connected C++ players in the same session: imported run-configs become launchable from the dashboard immediately, no player restart needed.

Previously the import handler fired a single blanket "something changed in the run_configs table" event after commit. The player resolves every event by id, and the placeholder id used in that event resolved to nothing — so newly-imported run-configs stayed invisible to the player until the next process restart. Launching such a run-config from the dashboard silently fell back to the Blank Screen with no error surfaced. The fix replays the importer's actual inserted IDs as per-id added / changed events after commit; the player's existing live-edit handlers pick them up.

Logic-group stability fix

Structures that drive widgets through Widget Group logic gates (signals creating and removing child widgets on every HIGH/LOW cycle) could gradually slow down and, after a sustained burst of activity, stop responding for several seconds at a time. The player now cleans up per-child logic state correctly as children come and go, so logic-heavy structures stay responsive over long sessions.

Editor Demo Apps tab now reflects the bucket contents

Import & Export → Demo Apps in the editor now lists whatever is currently in the public showcase-downloads bucket, not a hand-maintained catalog file. Adding or removing a demo archive in r2:showcase-downloads/demo-apps/ propagates to every editor's Demo Apps tab within five minutes (proxy cache TTL), with no code edit, package upgrade, or service restart required.

The previous server/demo-apps.json catalog file is no longer consulted. Deployments that customised it should move their entries into the bucket itself.

Built-in test fixture suite

A built-in test fixture suite ships with this release. Seven small .showcase archives exercise the structural features of the editor and player side-by-side, with no external assets:

Fixture What it exercises
Testing - Logic Group Demo Six widget-group logic-mode columns (none, and, or, exclusive, sequence, latch) with three hotspots and per-group output widget each.
Testing - Signal Routing Demo signal-name publication and condition-signal + condition-value gating, HIGH and LOW, across toggle / timed / hold trigger-modes.
Testing - Behaviour Decorations Demo snap-to-angle at three division densities plus close-after-idle with content-boundaries.
Testing - Schedules Demo widget-event recurrence variants — one-shot, daily, weekly MWF, weekly all.
Testing - Launcher Menus Demo content-hotspot launching floating-menu and rotating-menu via the content-widget-relative slot, three content-opening-duration values.
Testing - Teaser Animations Demo menu-teaser-launcher + teaser-operator (wrap, bounce) and animated-content + fader-operator (fade/scale on-off, corners-only).
Testing - Screensaver Demo screensaver overlay, screensaver-trigger, screen-lock with unlock-method documented for pin / codice / user-choice.

A combined Testing - All Showcase Demos archive is also published — importing it once creates all seven run-configs in one transaction, useful for seeding a fresh server or a QA station. All eight archives appear in the editor's Import & Export → Demo Apps tab.

Showcase 26.4.1

Released on May 2026

New server

Showcase 26.4.1 ships a completely new server, rewritten from the ground up in TypeScript/Node.js (Fastify). The Ruby server used in 1.14.x has been replaced.

The key operational change for most deployments: PostgreSQL is no longer required. The new server uses SQLite, which runs in-process — there is no separate database service to install, configure, or manage. App data migrates automatically on first boot; no manual steps are required.

The new server is also the foundation for the authentication, analytics, and access-control capabilities described below.

New editor

The Showcase editor has been rewritten in React with a touch-first design throughout: 48 px tap targets, no hover-only interactions. It is functionally equivalent to the 1.14 editor with the following additions visible to authors:

  • Media library — tree navigation, thumbnail previews, drag-and-drop upload, full-text search
  • Live inputs — a Live Inputs folder in the Media panel exposes connected video device feeds from the C++ player; drag them into structures like any other asset
  • Schedule management — full schedule CRUD in the browser
  • Content Sets — named asset collections that can be authored, reordered, and assigned to Personal markers or content nodes; full CRUD with drag-reorder
  • Widget Library — shared components importable across apps, with provenance tracking and cascade delete
  • Defaults management — per-theme default attribute values editable in the browser
  • Analytics dashboard — see Analytics and data gathering below
  • Codice marker management — see Codice marker system below
  • Import / export — embedded assets, WebSocket progress bar, demo app catalog, per-category import preview, archive versioning (see Import and export below)

Authentication and access control

Showcase 26.04.1 replaces the legacy single shared-password Basic Auth with per-user accounts and a five-role RBAC model (admin, author, presenter, front_desk, viewer). A first-boot setup wizard guides operators through creating the first admin on both fresh installs and upgrades from 1.14.x.

The admin UI gains a Users page (invite, role/status edit, unlock), a Security Settings page (TOTP toggle, lockout thresholds, fleet revocation), an Audit Log viewer, and SSO provider management for both OIDC and SAML. Day-to-day login flows now support password + JWT sessions with rotating refresh tokens, optional TOTP 2FA, magic-link login, password reset, and admin-issued invites — all with uniform success responses to prevent email-address enumeration. Front desk users see a stripped editor limited to MOTD / lunch menu / welcome / banner text-content widgets.

Operators get a new showcase-server CLI with subcommands for the recovery paths that should never depend on a working browser session: users:create-admin, users:reset-password, users:disable, users:enable, users:unlock, and keys:rotate-signing. Every CLI action writes an audit_log row tagged actor_ip='cli'. Full operator setup, env-var, SSO, TOTP, lockout, and fleet-revocation reference lives in Upgrading to 26.4.1.

User roles at a glance:

Role What they can do
admin Full editor plus admin portal — manages users, SSO, TOTP, security settings
author Full editor — creates and edits all content
presenter Library and launch view only — cannot author, can launch showcases
front_desk Stripped editor — text-content widgets only (MOTD, lunch menu, welcome, banners)
viewer Read-only access

License wizard

A new first-run licensing wizard guides operators through license activation on a fresh installation, replacing the manual file-copy workflow from 1.14. Existing licensed installations are unaffected on upgrade.

Analytics and data gathering

A new analytics subsystem captures visitor interactions and surfaces them in the editor's Analytics tab.

What is tracked:

  • Widget lifecycle events — widget created, destroyed, asset loaded, PDF page viewed, video start/end, URL changed
  • Visitor interactions — content added to or removed from personal space, widget emailed, object contact (touch down/up)
  • Session bookends — device sessions (player connection lifetime) and app sessions (per app run)

Visitor identity: Showcase uses four identity tiers — registered visitors (Personal marker), unregistered guests (Guest Pool marker), employees/demo staff (Employee marker), and anonymous touch. Events are associated with the appropriate tier automatically.

Screen-side and location tracking: Showcase uses orientation, screen-side clustering, and spatial proximity heuristics to group touch events by individual visitor even without a registered marker. This allows per-visitor interaction timelines to be reconstructed from anonymous touch data for post-event analysis.

Analytics dashboard tabs:

  • Leads — visitor list with expandable interaction history per lead; staff-flag toggle to exclude demo staff from reports
  • Sessions — session list with expandable event timeline
  • Content — per-widget and per-asset interaction counts and frequency breakdown
  • Export — CSV download for leads, events, and sessions

Webhook delivery: Configure an outbound webhook (URL, optional auth header) to stream events to a CRM or marketing automation platform in real time. Includes a test-fire button.

Codice marker system

The Codice marker system has been completely redesigned. The editor gains a new three-pane Codice DB interface (type list → codes → detail form), replacing the previous single-list view. Markers can be scoped globally or per-app, with collision detection preventing duplicate code assignments.

Eleven marker types are now supported:

Marker What it does
Widget Trigger Places a marker that activates one or more widgets. Configurable as global or app-local scope; one-shot or hold mode.
Personal Identity marker — stores visitor name, email, optional PIN, companion URL, and an asset repository backed by a Content Set. Enables personalised content delivery.
Eraser Erases annotations within a configurable rectangular or circular footprint.
Volume Controller Controls audio level by rotating the marker — rotation angle maps to output volume.
Admin Override Restores full admin toolbar on a specific widget, scoped to that widget only.
Dial / Scrubber Scrubs media with X-axis movement; adjusts playback speed with rotation.
Loupe / Magnifier Renders a circular magnified view of the content beneath the marker using shader-based magnification.
Spotlight / Reveal Dims the entire display except a circular area around the marker, drawing attention to a focal point.
Pen Palette Controls annotation tool colour — rotation maps to hue, X/Y position maps to brightness and saturation.
Scenario / App Load Loads a specified content set or run configuration; supports exclusionary lock so only one scenario is active at a time.
Guest Pool Provides a pool of visitor registration codes. Accepts range expressions (e.g. 1,5,10-100,200) and optionally treats unknown codes as new guest registrations.

Signal system and logic gates

Widgets can now emit and receive named signals, enabling rule-based interactivity across the structure tree without scripting.

  • Any widget can be configured as a signal source (emits HIGH/LOW when a condition is met) or a signal target (changes state when it receives a signal)
  • AND, OR, and NOT logic gates combine multiple input signals into a single output — for example, show a widget only when two other widgets are both active
  • Configurable tints — each gate output can apply a colour tint when HIGH, allowing visual feedback alongside the state change
  • Exclusive HIGH (radio mode) — a logic group can be configured so that only one child can be HIGH at a time, implementing radio-button-style exclusivity across widgets
  • Counter widget — tap-to-increment counter with a configurable target value; emits a signal when the target is reached

New and updated widget types

New widgets:

  • Loupe — displays a circular magnified view of the scene beneath the widget; zoom level is configurable
  • Spotlight — a shader-based dark overlay with a circular cutout; focus the audience's attention on a specific area of the display
  • Widget groups — organise widgets into named groups in the structure tree; collapse/expand for cleaner authoring; groups can expose a signal output driven by child state

Updated widgets:

  • Browser widget — new transparent background attribute; loading spinner overlay during page load
  • Input Visualizer — size and location are now configurable for all user roles; defaults to full-screen

Player updates

  • Presentation mode toolbar — a restart button is now available in the presentation mode overlay, allowing the active app to be reset without leaving presentation mode
  • Not-configured splash screen — when no app is running, the player displays all available IPv4 addresses to simplify first-time connection, replacing the previous blank screen
  • Port conflict detection — the player surfaces a specific error if its configured port is already in use, rather than silently failing
  • Widget clone naming — cloned widgets now use Windows-style (1) numbering instead of "Copy of"

Import and export

  • Progress indicator — a live progress bar (via WebSocket) is shown during both import and export of large apps
  • Demo app catalog — a built-in catalog allows demo apps to be imported directly from a server URL, without manually transferring archive files
  • Per-category import preview — the import wizard shows a per-category breakdown and allows individual categories to be deselected before importing
  • Archive versioning — exported archives now carry a version field; importing an archive from a newer Showcase version is detected and handled gracefully

Upgrading from 1.14.x

See Upgrading to 26.4.1 for the full operator guide: plugin recompile requirement, setup wizard, database, environment variables, CLI reference, SSO configuration, TOTP, and lockout settings.

Showcase 1.14.14

Released on Feb 2, 2026 - Added support for Ubuntu 24.04 LTS, including updated PostgreSQL 16 and Ruby 3.2 - Added Windows server support - Updated web browser to CEF 142.0.17 - Added AltGr key support in the embedded browser - Added WebGL rendering support in the embedded browser

Showcase 1.13.0

Released on Aug 20, 2024 - Windows versions only. Linux versions coming soon. - Updated web browser to CEF 89.0.4389.114 - Fixed app scheduling & widget scheduling repetition - Updated Ruby to version 3.0.7 - Updated Ruby dependencies - Fixed URL overflow

Showcase 1.11.7

Released on Dec 2, 2021 - Fixed drag & drop not working after the latest Chrome/Edge updates

Showcase 1.11.6

Released on Oct 4, 2021 - Fixed PostgreSQL connections not working in Windows

Showcase 1.11.5

Released on Jul 7, 2021 - Fixed the licensing code to always choose the latest license file - Fixed blank browser error page on Windows - Fixed a crash when resizing a browser on Windows with more than one window per GPU - Fixed crashes in browser rendering on Windows - Fixed rendering crashes that mostly happened with Intel GPUs - Fixed bogus single-tap events that were triggered in some cases to wrong widgets - Optimized browser resizing performance on Windows - Optimized widget styling system, improves loading times

Showcase 1.11.4

Released on Aug 20, 2020 - Added automatic preview image support for PDF files, directories and various widgets - Fixed automatic preview images for videos and images in Windows - Fixed pinned widgets on the background layer not respecting their fixed size and location - Added support for percentage values for \"Initial size\" -attribute. For instance an image on a background layer with size \"100% 100%\" will fill the screen - Fixed crash when interacting with a widget while shutting down

Showcase 1.11.3

Released on May 4, 2020 - Added reference implementation of media server - Added watermark when the software license has expired - Added a new hardware-accelerated CEF rendering pipeline for Windows 10 - Added a new asynchronous texture uploading method - Fixed GPU affinity on Windows if the GPU areas are not rectangular - Fixed various performance issues in rendering

Showcase 1.11.2

Released on Apr 16, 2020 - Fixed crash caused when tapping an App switcher in hotspot relative coordinates - Fixed crash caused when shutting down Showcase while loading an app

Showcase 1.11.1

Released on Feb 6, 2020 - Optimized Cloud widget opening performance - Optimized performance in Sparkles effect - Fixed deadlock in video playback - Fixed finger menu simulation stability on low framerate - Fixed a crash when attempting to load corrupted mipmap images and avoid creating corrupted mipmaps if running out of disk space - Fixed a crash when closing video input widgets - Fixed focus issues in browser that caused the text cursor to disappear - Fixed some browser error dialogs to exclude useless username and password text fields - Changed logging to include Qt logs - Updated web browser to CEF 79.0.3945.88

Showcase 1.11.0

Released on Dec 17, 2019 - Added (de)select all button to import/export in the editor - Improved app loading time by optimizing SQL performance - Updated web browser to Chromium 78.0.3904.108 - Changed \"Export the whole Codice DB\" to be disabled default in the editor - Changed the cache location for PDFs, mipmaps and video previews to %LocalAppData%\MultiTaction\cache (Windows) or ~/MultiTaction/cache (Linux) - Improved cache management performance - Fixed crash when changing apps or opening content from menus - Fixed several race conditions causing widgets to open at wrong locations - Fixed crash when opening a floating menu with a Codice marker - Fixed Twitter cache sometimes not getting cleaned properly - Fixed temporary files created during export not getting automatically deleted - Fixed the server not launching on some computers that are part of Active Directory - Fixed crash when using corrupt PDF files - Removed support for Ubuntu 14.04

Known issues

  • reCAPTCHA logins do not work in the web browser

Showcase 1.10.5

Released on Sep 23, 2019 - Fixed overwriting assets in media library sometimes not working properly - Fixed issues with non-ascii characters in filenames in Windows - Fixed regression causing vertical finger menu connector lines to disappear

Showcase 1.10.4

Released on Sep 9, 2019 - Fixed auto-generated preview images not being displayed on Linux - Moved temporary folder on Windows installations from C:/tmp to %TEMP% - Fixed web page popup links not rendering correctly in the browser - Enabled video autoplay by default in the web browser - Fixed incorrect clipping in the PDF flow causing rendering artifacts

Showcase 1.10.3

Released on Jun 19, 2019 - Fixed directory traversal vulnerability on Windows

Showcase 1.10.2

Released on Apr 15, 2019 - Updated web browser to Chromium 73.0.3683.75 with support for pens and audio panning - Fixed crash when entering invalid CSS strings for content-offset - Fixed licensing errors not being reported to Launcher in Linux - Fixed teasers not respecting their spawning area

Showcase 1.10.1

Released on Feb 18, 2019 - Fixed sparkles effect input handling - Fixed browser not being movable when unpinned

Known issues

  • WebGL does not work under Ubuntu 18.04. As a workaround you can disable Chromium sandbox with a --cef-no-sandbox command line argument. However, this will increase the web browser attack surface and for security reasons we don\'t recommend using it.

Showcase 1.10.0

Released on Jan 31, 2019 - Added support for Ubuntu 18.04 LTS - Added support for guest markers - Load audio-config.xml and audio-devices.xml automatically

Known issues

  • WebGL does not work under Ubuntu 18.04. As a workaround you can disable Chromium sandbox with a --cef-no-sandbox command line argument. However, this will increase the web browser attack surface and for security reasons we don\'t recommend using it.

Showcase 1.9.2

Released on Jan 22, 2019 - Disabled the loading screen when starting Showcase and switching applications from the editor - Added option to app switcher widget to use loading screen (disabled by default) - Added volume slider to video player widget - Added ability to adjust video volume from the editor

Showcase 1.9.1

Released on Nov 23, 2018 - Added support for up to 32 channels in the pulseaudio backend, previously the limit was 6 channels - Added warning dialog about expired licenses - Added capability to report licensing issues to Launcher - Added an option to play several separate video files in sync - The --cef-ignore-gpu-blacklist command-line argument is now enabled by default - The --minidump-upload-url command-line argument is now enabled by default - Fixes to YUVA/RGBA video playback - Fixed crash when closing a web browser with a session-id - Fixed crash in browser mouse emulation mode - Fixed crash when trying to open more channels than pulseaudio supports - Fixed crash in web browser when typing certain invalid URLs - Fixed video stream hints with Magewell capture cards - Fixed flickering windows in Windows with multiple Mosaic groups - Fixed initial text selection in the web browser address bar - Fixed crash in ImageWidget when using compressed mipmaps - Fixed crash in VideoWidget if closing widget quickly after opening - Fixed crash on exit when using raw-input with NativeTouch - Fixed crash on exit when there were running PDF tasks in the background - Fixed application return value if killed by the watchdog

Showcase 1.9.0

Released on May 31, 2018 - Added a utility tool for taking and restoring backups of Showcase data - Added automatic backup when Showcase is upgraded - Added new Text viewer widget for displaying custom text in Showcase - Added new Text style component for customizing how any text in Showcase is displayed - Added support for setting a size and location for a Codice detector widget - Added support for limiting which Codices a Codice detector accepts and an option to display custom content if any other Codice is placed on the detector - Fixed default menu bubbles not displaying content name and preview - Fixed possible crash when opening content from a menu - Fixed content launching upside down on third party displays when rotate towards hand is enabled - Fixed PDF flow edge pages ignoring touch interaction - Fixed rotating menu sometimes losing its rotation momentum instantly - Fixed personal space text input field sometimes showing placeholder text while typing - Exports now include used assets by default

Showcase 1.8.2

Released on May 18, 2018 - Fixed tapping on buttons when using TUIO - Fixed possible crash when touching a PDF book

Showcase 1.8.1

Released on May 9, 2018 - Fixed widgets losing momentum instantly when thrown on Windows - Fixed possible crash when dragging a widget - Fixed possible crash when closing a video - Improved license errors logging

Showcase 1.8.0

Released on Apr 17, 2018 - Added support for sharing web browser sessions between browsers - Added support for adding hotspots to images and videos - Added Snippets service for adding preconfigured text snippets to on-screen keyboard - Added physical keyboard focus slider to on-screen keyboard - Added option to lock a screensaver with PIN or Codice - Added Screensaver trigger widget for manually activating screensavers - Added option to close previous menu content when tapping a menu node - Added option to close menu content when menu is closed - Added option to close hotspot content when hotspot is closed - Added Screen wipe widget that closes all temporary content on screen - Added PDF navigation controls - Added mouse emulation mode for browser - Added support for configuring video stream quality - Added support for customizing video viewer preview image - Added option to automatically close a video after playing - Added support for navigating Finger menu content by rotating Codice - Added option to open Codice content when marker is lifted instead of placed - Added support for choosing Image movie playback mode - Added option to make floating content and teasers bounce at the screen edge - Added support for blurring background effects Particles, Sparkles and Champagne - Added default plugin location to streamline using custom plugins - Added a loading overlay while loading an app - Improved license errors logging - Menu bubbles overlay image is now configurable, and disabling cropping no longer hides the overlay image - Removed display of terminal window when running Showcase on Windows - Fixed automatic logging to a file when Showcase is run directly (not from Launcher) - Fixed crash reports not being uploaded when Showcase is run directly - Fixed long delay in Showcase client connecting to server on Windows - Fixed possible crash when editing Codice DB while Showcase is running - Fixed possible crash when exiting Showcase - Fixed finger menu physics simulation issues when app is running at low frame rate - Fixed uploading personal space content with visible name that contains only spaces - Fixed handling of UNC paths in Codice URLs when emailing personal space content - Fixed application hanging when launching a cloud with a lot of content - Fixed server start script assuming the working folder is the server folder - Fixed outdated asset preview in Editor media library after overwriting an asset - Standardized Showcase cache file locations

Showcase 1.7.2

Released on Mar 1, 2018 - Added two new plugin examples - Fixed graphical issues with video inputs - Fixed an issue with Tweet cloud sometimes not updating - Fixed sound effect files missing from exported apps - Fixed possible missing content the first time Codice content is launched - Fixed pinned widgets on background changing order when touched - Fixed frame lock issue when using sync cards

Showcase 1.7.1

Released on Dec 22, 2017 - Added support for running Editor over HTTPS on Windows - Added SiteManager to Showcase package - Fixed Editor scripts not updating dynamically when Showcase is updated

Showcase 1.7.0

Released on Dec 14, 2017 - Added support for scheduling widgets and apps - Added App switcher widget - Added Showcase licensing - Added instructions and template configurations for running Editor over HTTPS on Linux - Added option to show exit button in welcome screen - Added support for launching an app from welcome screen - Added support for closing a menu by tapping the root node - Added option to close hotspot content on next tap - Added an easier way to define visible name for content in content set editor - Added support for selecting initial app with --app command line parameter - Added label for content set root node selector - Added warning popup for trying to leave import page after uploading and not importing - Added touch feedback to touching widget in cloud - Removed widget type selection popup when there\'s only one available type - Removed Showcase launch script, the executable can be used directly - Increased maximum tap duration for activating widgets with taps - Exit Showcase popup now always stays fully in view - Fixed spaces not working in vector attributes in some browsers - Fixed crash in launching Showcase on Windows with capture cards - Fixed rare crash related to input on closing widget - Fixed crash in collecting widgets with Codice code 0 - Fixed widget overlay setting not updating dynamically when changed in the Editor - Fixed Showcase remote control thread busy-looping - Fixed browser keyboard not opening with the same orientation as the browser - Improved various help texts in the Editor

Showcase 1.6.3

Released on Nov 8, 2017 - Added Particles component from Launcher to Showcase - Added more configuration options to Awesome bg, including colors - Fixed Windows installation name when using the SDK version - Added support for adding Champagne to Screensaver - Improved error reporting when setting invalid Twitter image cache size

Showcase 1.6.2

Released on Oct 12, 2017 - Fixed crash when exiting Showcase - Adjusted text size in personal space widget

Showcase 1.6.1

Released on Oct 9, 2017 - Fixed Showcase not reconnecting to media server after connection is lost

Showcase 1.6.0

Released on Sep 28, 2017 - Added new Widget sounds component - Added new Interaction sounds component - Added new Size limit component - Added preview for sound files in the Editor - Added size limit for Twitter profile image cache - Added help texts to page headers in the Editor - Added more configuration options to Exit Showcase widget - Added option to set Rotating menu scale in the Editor - Fixed issues with defining colors by names in the Editor - Fixed button hit areas in Exit Showcase popup - Fixed text layout issues in Personal space help popup - Fixed a crash when exiting Showcase right after launching it - Changed Showcase exports to use .showcase file extension

Showcase 1.5.0

Released on Sep 20, 2017 - Added new menu component: Rotating menu - Added new menu item component: Menu nodes - Added option for visualization widget to Teaser menu - Added option for content location offset to Finger menu - Added Cornerstone demo applications to Showcase package - Fixed exported apps not including content viewers in theme

Showcase 1.4.0

Released on Sep 5, 2017 - Added Showcase API and custom plugin support - Added option to upload personal space items to a web server - Added more configuration options for Personal space in Editor - Fixed Showcase not installing Visual Studio runtime on Windows - Fixed breakpad missing from package dependencies on Linux - Fixed content sets with duplicate names breaking on import - Fixed app crashing when trying to launch a missing component from menu - Fixed upgrading Showcase on Windows leaving behind old files - Fixed menu bubble names not updating when set to blank

Showcase 1.3.2

Released on Aug 10, 2017 - Fixed existing apps losing their settings when importing a new app - Added an option to use any content node type as a content set root - Fixed content set root always displaying an asset icon in the Editor - Fixed preview image field not closing after drag and drop in content set - Removed MIME attribute from asset content nodes - Added an attribute to set connection encryption method in email service - Added an attribute to ignore SSL errors in email service - Moved production_users.yaml under /etc/ in Linux - Fixed hotspots blocking input after it can no longer count as a single tap - Fixed server not launching in Windows if user has a space in their name - Fixed Showcase leaving a launcher config file behind when updated - Fixed missing package dependencies in Linux - Improved several error messages in logs - Updated various texts in the Editor

Showcase 1.3.0

Released on Jun 21, 2017 - Added Windows support - Added Twitter integration - Added an Exit Showcase component - Removed support for Canvus launcher - Added a button to clone widgets from a cloud - Fixed application crashing if \"Allow drag operations\" is disabled - Fixed possible crash when maximizing a widget - Fixed possible crash when launching content - Fixed welcome screen sometimes not being visible - Fixed browser closing after timeout while typing in the address bar - Fixed Postgresql breaking when uninstalling Showcase in Linux - Fixed image movie on background responding to touches - Updated various texts in the Editor

Showcase 1.2.0

Released on Apr 26, 2017 - Added support for running Showcase in table mode - Added support for launching and rotating contents towards user\'s hand - Added support for moving Codice content with marker - Added support for dismissing Codice content when marker is lifted - Added Screensaver component - Added Animated content component - Added support for emailing a widget by placing a marker on it - Added Data gathering service and a new database for content usage data - Added Theme defaults for setting default values for common attributes per theme - Added support for maximixing a widget and a new Maximization area component - Fixed pinned Cloud widget moving when moving a content widget out of screen - Fixed widgets on background showing toolbars and other decorations - Personal space can now be rotated - Fixed text in Personal space input field getting misaligned after running Canvus - Moved Personal space error popup so it doesn\'t block the cancel button - Updated Canvus fullscreen launcher graphic - Fixed excessive error logging from widget namebars - Fixed writing decimals to input fields with sliders - Fixed dragging an image to Background slot in the Editor structure creating a Sparkles widget instead of Image viewer - Fixed importing apps ignoring the the file version - Updated various component and attribute help texts in the Editor - Removed an extra breadcrumb link from Codice Content page - Renamed Floating menu to Finger menu in the Editor - Added limits for Stars animation particles count - Launching Showcase with a user that is not part of mt-showcase-server group now logs an error - Added more verbose error for trying to launch server with incompatible database

Showcase 1.1.0

Released on Mar 30, 2017 - Updated Cornerstone version to 2.3 - Added support for running Canvus 1.5

Showcase 1.0.2

Released on Mar 22, 2017 - Fixed crash when launching Canvus from Showcase fails - Fixed editor failing to launch a new app shortly after importing - Fixed origin point used when resizing browser - Fixed media library breaking with non-ASCII characters in file names - Fixed hotspot visualizations sometimes using wrong locations - Fixed PDF flow shrinking and moving too much when pinned - Fixed possible crash in sending email - Fixed possible crash in adding operators to widgets - Fixed possible crash in launching codice content - Fixed possible crash when generating new content - Fixed duplicate theme button becoming permanently disabled - Fixed duplicating a theme sometimes silently failing - Clicking the input popup when duplicating theme no longer dismisses it - Increased default email timeout values - Upgrading Showcase no longer requires restarting the pc

Showcase 1.0.1

Released on Feb 23, 2017 - Added support for video streams in video viewer - Added Codice lottery widget - Added support for setting \'Close after idle\' directly to widgets - Added logic to move widget fully inside view when pinned - Added support for editing email timeout settings - Added option to set background color for hotspot - Added missing help texts in Editor - Fixed issues with special characters in folder names - Fixed crash when deleting a structure - Fixed browsers opened from hotspot or codice appearing in wrong location - Fixed application crashing when Canvus couldn\'t be launched - Fixed PDF book viewer generating extra pages when PDF is renamed - Fixed deadlock when reloading application - Fixed internal error in Editor when deleting content - Fixed drag and drop in Editor not working in Firefox - Fixed missing named widgets when importing structures - Fixed overwriting files in media library - Fixed Sparkles preventing annotating on background with fingers - Improved exported file naming and fixed issues with special characters - Improved name generation in Editor when creating widgets from assets - Improved several help texts and attribute names in Editor - Improved error logging when launching Canvus fails - Improved error logging when sending email fails - Replaced colons in log file names - Clicking component shortcut now opens the component in theme view - Changed Canvus to open in fullscreen mode by default

Showcase 1.0.0

Released on Dec 30, 2016 - Initial release