Table of Contents

Release Notes

These release notes list notable changes in each version of Blocks. The latest version can be downloaded here. See the Blocks Manual for more details.

PIXILAB Blocks 6.3.1

Released on April 17, 2024, this version contains minor enhancements and bug fixes.

New Features

Improvements and Bug Fixes

PIXILAB Blocks 6.3

Released on February 20, 2024, this version brings numerous new features, enhancements and bug fixes.

New Features

Minor Improvements and Bug Fixes

PIXILAB Blocks 6.2

Released on November 24, 2023, this version brings numerous new features, enhancements and bug fixes.

New Features

Minor Improvements, Changes and Bug Fixes

:!: NOTE: The identity of PIXILAB Player is now based on the primary network interface's MAC address rather than the active interface's MAC address. The advantage of this method is that the identity of the player will remain the same even if you switch network interface (e.g., using both wired and wifi). However, if you previously used another network interface than the primary one, the player's identity may change when you update to Blocks 6.2, and you will then need to re-assign it. Players using a wired connection (with a single Ethernet jack) shouldn't see any need to re-assign their identity. Nor players that aren't based on our PIXILAB Player software, or where other means are used to identify the player.

PIXILAB Blocks 6.1

Released on August 25, 2023, this version brings numerous new features, enhancements and bug fixes.

New Features

Minor Improvements and Bug Fixes

PIXILAB Blocks 6.0.3

Released on May 3, 2023, this version contains minor bug fixes only.

PIXILAB Blocks 6.0.2

Released on April 6, 2023, this version brings various bug fixes and minor enhancements.

New Features

Minor Improvements and Bug Fixes

PIXILAB Blocks 6.0.1

Released on March 3, 2023, this version brings various bug fixes and minor enhancements.

New Features

Minor Improvements and Bug Fixes

PIXILAB Blocks 6

Released on Dec 14, 2022, this version brings significant new features as well as numerous minor enhancements.

New Features

Minor Improvements, Changes and Bug Fixes

PIXILAB Player

Licensing

New cloud-based license available, removing the need for a USB dongle.

Server images (Linux)

PIXILAB Blocks 5.6.1

Released on May 24, 2022.

New Features

Minor Improvements, Changes and Bug Fixes

PIXILAB Blocks 5.6

Released on March 18, 2022.

New Features

Minor Improvements and Bug Fixes

IMPORTANT: Drivers and system support files are updated from time to time, fixing bugs and improving functionality. If you're using any drivers or other scripts, make sure to also update those components from their open-source repository, found here:

https://github.com/pixilab/blocks-script

In particular, update the files in script/system and script/system_lib. Also update any drivers you rely on with the latest versions. Drivers are found in script/driver and (for more rarely used drivers) script/driver-archive. If you need any drivers found in script/driver-archive, those need to be copied to the script/driver directory on your Blocks server to become active. Restart your Blocks server after replacing all those files.

PIXILAB Blocks 5.5

Released on January 21, 2022.

New Features

Minor Improvements and Bug Fixes

PIXILAB Blocks 5.4

Released on November 12, 2021.

New Features

Minor Improvements and Bug Fixes

Version 5.3

Released on September 3, 2021.

New Features

Bug Fixes and minor Improvements

Version 5.2

Released on June 24, 2021. Due to the significant number of new features, the User's Guide has also been updated.

New Features

Bug Fixes and Improvements

Version 5.1

Released on April 29, 2021, this version contains mainly bug fixes and minor enhancements.

Version 5

Released on March 31, 2021, this version brings new features as well as minor enhancements.

New features

Improved or changed

Version 4.4

Released on December 8, 2020, this version contains mostly bug fixes and stability enhancements, plus a few minor enhancements. It is recommended for all users.

Version 4.3.2

Released on November 6, 2020, this version contains mostly bug fixes, and a few minor enhancements. Due to the correction of a stability problem (memory leak), this version is recommended for all users.

Version 4.3.1

Released on September 17, 2020, this version contains mostly bug fixes, and a few minor enhancements.

Critical Long-term Server Stability Problem Corrected

A long-term stability problem (memory leak) has been identified and fixed in this version. This error was introduced in version 4.1, and persists up to and including version 4.3. It may cause the server to become very slow or fail/restart after some time, where "some time" may be days, weeks or months depending on your particular configuration. Use of MODBUS devices is particularly prone to provoke this error.

If you run any of the affected versions in an installation, you're strongly advised to upgrade to this (or a later) version.

Other Enhancements and Bug Fixes

Version 4.3

Released on July 30, 2020, this version contains new features, enhancements and bug fixes.

360 degree Panorama Block

The brand new Panorama block allows you to view a 360 degree environment, such as a room or an outdoor scene. Use it to bring your audience to places they can't visit in person. It's based on a 360 degree spherical image, with hot-spots sprinkled at interesting positions, allowing you to move to other locations, play a video, or any other Blocks action.

Here's an application note with a fully working example, as well as a tutorial video.

:!: IMPORTANT: The new Panorama block is a premium block type, requiring an additional license option. As such, it is now also joined by the Live Video block, also requiring an additional license option. Blocks licenses sold before the release of version 4.3 are entitled to a free upgrade to the Live Video premium block type.

Block-specific Custom CSS URL

A custom CSS URL can now be block-directory-relative using the form ~/xxx, where xxx is the path under the referencing block's directory in the file system. This is useful for CSS that's specific to a particular block, keeping it together within the same folder, and being exported/imported along with the block.

To include additional non-block-specific CSS, such as for fonts common to several blocks, you can use @import from your block-specific CSS file, as described here:

https://developer.mozilla.org/en-US/docs/Web/CSS/@import

Re-purposing a Display Spot

While you've been able to re-assign a Display Spot to a newly added player for quite some time. you may occasionally want to do the opposite; detach an already assigned player, so it can subsequently be assigned to another Display Spot.

To facilitate this, a checkbox has been added to the Display Spot settings dialog, allowing you to discard its ID. Selecting this checkbox and clicking OK detaches the player, reverting it to its initial state, while keeping all the settings in the Display Spot.

Other Enhancements and Bug Fixes

Version 4.2

Released on June 18, 2020, this version contains a few new features and some minor enhancements and bug fixes.

Touch Interaction across Multiple Displays

When running a PIXILAB Player with multiple touch-displays connected, you can now specify the correlation between each touch surface and its corresponding display. This option has been added to the Display Spot settings when using a player with more than one connected display. Combined with the ability to position the displays in any desired arrangement, this allows you to create very large touch surfaces, spanning several displays.

Retain Position Across Temporary Loss of Network Connection

Previously, if the network connection was lost temporarily, the spot would reset to its initial view (as if the block had just been loaded) once the network connection was reestablished. This could result in a disruptive user experience on an unreliable network connection, such as a spotty wifi. Now, the spot will instead retain its current navigation position across a loss of network as long as the same block remains loaded once the connection is reestablished.

:!: An unreliable network connection may of course still result in other disruptions, and should be avoided whenever possible.

New gotoBlock Command adds Seek and Play Options

The old Display Spot gotoPage command is now deprecated. It has been replaced with a new gotoBlock command. While gotoBlock can navigate to any position within the current root block of the spot as before, it also allows you to further specify what to do when the target block is audio or video. When targeting such content, additional options now allow you to play/pause the media and to position (seek) into it.

:!: While the old gotoPage command is still functional, it has been removed from the DisplaySpot script declaration, resulting in the editor flagging this as an error. Thus, if you're using the old form of this command in a script, you should update it to the new form to gain those additional options, although the old form will continue to work despite being marked as an error by code editors.

Other Minor Enhancements and Bug Fixes

Version 4.1

Released on May 25, 2020, version 4.1 contains some significant new features and enhancements.

Active Synchronization

Blocks now applies active synchronization when using a Synchronizer block on PIXILAB Player or Chrome/Chromium for desktop and Android. This enhanced synchronization provides the following benefits:

This enhanced synchronization works by making minute speed adjustments to video as it plays. Since seamless speed adjustment isn't supported by some browsers (e.g., Safari), this mechanism works only works on select players and browsers.

New Wipe Behavior

A new behavior has been added, allowing a block to be masked from either edge. Watch this video for an example of how that behavior can be used. Download the complete application note, including a working Blocks project, here.

Mirror Server

A new "Mirroring Service" entry has been added to the Manage page, showing the status of any Mirror Server attached to your Blocks server. This is an add-on feature of Blocks, allowing you to have a second server for redundancy purposes. The mirroring service, running in the background on both the Blocks Server and the Mirror service, copies all changes made to your running Blocks system over to the Mirror Server. The Mirror Server has Blocks installed, and is essentially a full copy of your Blocks server. By keeping its data in sync with the main Blocks Server at all times, it is ready to take over running your Blocks system, should the main Blocks Server fail.

RTMP Live Video

RTMP is yet another format for streaming video, now supported by Blocks. While similar in some ways to RTSP, which was added in Blocks 4.0, RTMP works with other devices and programs. RTSP is supported mainly by network cameras and some streaming boxes (such as this one). RTMP, on the other hand, can be streamed using applications such as OBS and vMix, as well as some hardware devices, like the popular ATEM Mini Pro from Blackmagic. Learn more about how to use RTMP with Blocks here.

As part of the Blocks 4.1 release, we've also made significant updates to other system components.

Version 4.0.1

Released on April 30, 2020, this version contains mainly bug fixes and minor enhancements.

Version 4

Released on March 17, 2020, this version brings new features as well as minor enhancements.

New features

Improved or changed

Version 3.3

Released on November 15, 2019, this version brings some news as well as some bug fixes and minor enhancements.

New features

A Text block can now be used as a direct child of Scroller, where its size is determined by the text. This is useful when creating more traditional web-style pages mixing text and images. As a result, the command to add Text has been moved from the Add Control to the Add Child menu.

You can now also add basic padding to Text blocks.

Bug fixes and minor enhancements

Version 3.2.1

Released on October 1, 2019, this version contains mainly bug fixes and minor enhancements.

Version 3.2

Released on August 23, 2019, version 3.2 contains several significant new features.

Version 3.1

This version, released on July 10, 2019, contains numerous small but important features and enhancements.

Version 3.0

This is a major new version, released on June 1, 2019, with the following noteworthy enhancements and changes.

Version 2.3

This version, introduced on December 14, 2018, adds a significant number of minor features and enhancements.

:!: Important notice to Windows users: When updating to this version, please download and install the complete Windows version (after uninstalling the previous version), as a number of components have been updated.

New Features

Bug Fixes and Minor Tweaks

Version 2.2

This version brings a number of new features, minor tweaks and bug fixes. For more advanced Blocks developers and scripters, there are also a number of API enhancements, described in more detail below.

New features

Bug fixes and tweaks

Dynamic Text

The Text block can now incorporate dynamic text, originating from bound properties in a way similar to how Indicators and Bars work. After adding a property to a Text block, the property can be referenced inside the text using the following syntax:

{$1}

Where '1' here is an index number that refers to the first property. You can add multiple properties to a text block, making them all available for inclusion in the text using this syntax.

In addition to the property index number, some data types also accept additional formatting options. These options are separated from the property number (as well as from each other, when using more than one) by a colon. For example, a boolean value is by default rendered as 'true' or 'false'. If you instead want it to be shown as 'YES' and 'NO', reference the property like this:

{$1:true=YES:false=NO}

This example uses the 'true' and 'false' formatting options to specify how to render those states. See below for available formatting options available for each data type.

boolean

number

time

For example, if you only want to show minutes and seconds for a time value (such as the current time position in a video), reference the property like this:

{$1:show=ms}

User Scripting

The advanced scripting API had a number of new features added in 2.2. In order to use these new features, make sure you update to the latest version of the Block scripting system files found on our github page – in particular those found under /system and /system_lib.

Web API invocation

This feature is of interest when developing custom solutions around Blocks, involving custom clients (web browser based, or originating from other web services).

You can invoke a method in a user script by making a POST request to

/rest/script/invoke/{script}/{method}

with {script} and {method} being the name of a user script and a method in that script. The method to be invoked must be marked with a @resource() annotation in order to make it accessible in this way.

A JSON object, passed as the body of the request, is decoded and passed to the method. The method can return a single object, which will be automatically JSON encoded and returned to the web client.

A 500 error code, will be returned if an error occurs, with error message string as the body.

Custom File Uploads

Upload a file using a multipart form by POSTing to /rest/upload/multipart with following form items:

Returns the path to the file relative to the temp directory. This can be passed to a Web API invocation, as described above, for further processing, e.g., using the SimpleFile API.

Version 2.1

New features

Bug fixes and tweaks

Version 2