Alloy Announcements logo

Announcements

Back to Homepage Subscribe to Updates

Labels

  • All Posts
  • Improvement
  • highlight
  • feature
  • deprecation
  • Fix
  • API
  • mesh
  • mobile
  • web

Jump to Month

  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • March 2022
  • February 2022
  • December 2021
  • November 2021
  • September 2021
  • June 2021
  • April 2021
  • February 2021
  • January 2021
  • September 2020
  • July 2020
Powered️ byAnnounceKit

Create yours, for free!

highlightfeature
a month ago

Alloy March 2025 Update

By now, you may have heard about our exciting new Alloy apps! If not, you'll soon have entirely new ways to interact with Alloy and get work done. Each app focuses on a key aspect of Alloy, providing streamlined experiences that only include the features and data needed for the business at hand.

We've been working hard to get the new apps ready for you and are just applying the finishing touches now… stay tuned next week! 👀

Therefore, this month's update is light on new features, though there are some important things to mention. The update took place during the evening of the 27th of March. For a full list of changes, see v2.69 and v2.70 in the Alloy Changelog.

Attribute uniqueness on interfaces ❄️

All attributes have a Unique property. If enabled, all item values for that attribute must be different.

The uniqueness check for interface attributes has changed. When creating/editing an item of a design that implements an interface with a unique attribute, the uniqueness check will compare the supplied value against items of all designs that implement the interface (rather than the single design).

For compatibility reasons, all existing interface attributes have had their Unique property disabled. Don't worry, your designs/interfaces will continue working in the same way as before! Going forward, if this property is enabled on an interface attribute, it will now behave in the manner described above.

Abstract standard paths ➡️ ❓

Back in January, we announced the concept of standard paths for designs/interfaces. A standard path is a handy shortcut to an attribute on a parent or child design/interface, which you'd otherwise have to navigate to using the Pathfinder (over any number of "hops").

API users can now create an abstract standard path on any interface. This is effectively a placeholder shortcut, where you specify the destination design/interface and attribute type, but no path! If a design implements the interface, it must override the abstract standard path with a real path.

This makes standard paths incredibly flexible and open-ended.

For example, imagine a workflow that triggers on a component item and uses a Relation action to fetch its corresponding asset head item. By referencing the ID of an abstract standard path on an interface (instead of a fixed AQS path), the Relation action can reference items of any design that implements the interface, over any number of hops.

In other words, the workflow could trigger on a street light component and fetch the corresponding street light asset it belongs to, whether it's one hop away (column > street light) or multiple hops (lamp  > housing > bracket > column > street light).

We'll be including standard paths in our blueprinted modules going forward, to make key connected attributes more visible and easier to select. You'll also be able to define your own standard paths in the new Alloy apps 🙂.

Avatar of authorBen Tookey
highlightfeature
2 months ago

Alloy February 2025 Update

Following previous announcements, this month's update is arriving a little later than usual. The update took place during the evening of the 6th of March. For a full list of changes in v2.68, please visit the Alloy Changelog. The next update is scheduled for the end of March 📆.

On a side note: it's become apparent that subscribers to these announcements haven't been receiving emails for a while! This has now been fixed, so subscribers can expect to be notified of important Alloy announcements going forward 📧.

Custom sizing of report flow documents 📄 📏

In the Report Builder, we've added some advanced settings to flow documents, which give you fine control over how the output is generated.

You can now set the page size of the PDF output, with the ability to specify the height/width as needed. Additionally, you can now override the size of various text elements (e.g. headings, table, paragraph) and margins used in the document layout.

Unique attribute values ❄️

All attributes have a Unique property. If enabled, all item values for that attribute must be different. When creating/editing an item, the attribute won't accept a value that's already stored in the same attribute on another item of the design/interface.

We've updated the method Alloy uses to check if an attribute value is unique. It has become case-insensitive, so values like hello and HELLO are now considered the same. Additionally, any non-word characters (anything that isn't a letter, number or underscore) are converted to spaces, so values like check in and check-in are now also considered to be the same. This is the same logic used in AQS for the Contains and Starts With comparison nodes.

For performance reasons, the uniqueness check is only performed on the first 512 characters of a value. This is roughly 90 words long, which should be able to accommodate most scenarios.

Improved item forms on mobile 📲

As part of ongoing efforts to make item forms work better in Alloy Mobile, we've made the following improvements.

Please note: item form expressions are not yet available in Alloy Mobile and will go unprocessed if present. Additionally, some of the less common control types aren't supported yet.

Unset default value

All attributes have a Default value property that can automatically populate the attribute with an initial value (which can be changed before saving). On item forms, attribute controls have an Unset default value property that can override this.

When creating an item with an item form on Alloy Mobile, the Unset default value property is now respected. If enabled on an attribute control, the field will now appear empty, instead of displaying the attribute's default value.

Conditional requirements

On designs implementing the Tasks interface, you can tag an attribute as RequiredOnCompletion or RequiredOnCancellation, so it only becomes required when the Status attribute of a task is set accordingly. For example, the Completed Time and Cancelled Time attributes are tagged in this way.

When completing/cancelling a task with an item form on Alloy Mobile, these tags are now respected. If no value is provided for a tagged attribute, or the attribute is absent from the item form, the operation will fail with an error message that explains the situation and lists the affected attribute(s).

Status card filtering

On item forms, Link attribute controls have a Query property that can filter and sort the lookup list of possible item values.

While this is already respected in Alloy Mobile, it now affects the Status card of tasks too. When viewing a task's details, if you use the Status card to change its status, the list of possible values will now be filtered by the same Query set on the corresponding item form control.


Avatar of authorBen Tookey
highlightFix
2 months ago

Alloy v2.67 released ✅

After some delay, we can confirm that the second Alloy January 2025 Update (v2.67) has now been re-released and is ready for use.

The delay was due to degraded workflow performance being detected shortly after the initial release, which we rolled back in order to investigate. The root cause was ultimately identified as an issue with the underlying MongoDB infrastructure used by Alloy. This has now been remedied and we're extending the scope of our performance monitoring to mitigate the chances of this happening in future. We do apologise for any inconvenience this has caused you.

The Alloy February 2025 Update (v2.68) is now scheduled for release on 6th March.

Avatar of authorBen Tookey
highlightfeature
3 months ago

Alloy January 2025 Second Update

While January is nobody's favourite month, it's the only one to receive two Alloy updates! The update was originally scheduled for 30th January but was delayed until the evening of the 27th February. For a full list of changes in v2.67, please visit the Alloy Changelog.

Street Manager v5 🚧

The optional Street Manager module enables Alloy to interact with the government's Street Manager service, making it possible to view and apply for work permits on streets and roads, and record when work starts/stops.

Street Manager v4 is due to be decommissioned on 17th February 2025. Therefore, Alloy Web, Alloy Mobile and the Alloy API have all been updated to support the latest Street Manager v5.

Compared to the v4 upgrade, only a few of the changes affect Alloy this time around:

  • A new permit status named Under Assessment.
  • At the Condition Details stage, the maximum length of comments has increased from 500 to 1500 characters.
  • New private street notices for USRNs representing partial or fully private streets. These may be supported in a future Alloy update.
  • With the introduction of private street notices, it's no longer possible to issue work permits to private streets. When applying for a permit, Alloy now checks the entered USRN. If it represents a private street, another USRN must be entered.

For full details, see the Key Differences between V4 and V5 article by the Department for Transport.

JSON attribute schema ✔️❌

Designs and interfaces can have JSON attributes, which can store code written in JSON or GeoJSON format.

It's now possible to specify the Schema of a JSON attribute. A JSON Schema defines the structure of the expected JSON data and validates it against a set of rules and constraints. This gives you total control over what can be stored in the attribute.

While this is useful by itself, the real power of this new feature is unlocked with item forms!

With the new Json Form Editor control, you can display a dropdown list of custom data fields! Each data field is defined by the schema and can be configured to accept one or more text, number or date values, with various constraints applied (e.g. required, min/max limits). You can even define a bank of multiple text choices!

This adds another layer of flexibility to item forms and makes it possible to capture and display data values tailored to exact specifications. We're already using it to enhance Alloy in a number of ways. Stay tuned… 🚀


Optional workflow computations 🤔❔

Using the Alloy API, you can perform advanced computations when defining the parameters/variables of a workflow action. This can involve referencing the output of other actions in the workflow.

Previously, if a workflow computation referenced an action that ultimately wasn't performed (e.g the workflow has conditional branching paths), the workflow would fail due the lack of output.

Now, actions are guaranteed to always provide an output. If an action is skipped, it will output an empty attribute value. This makes workflows more reliable and makes it possible to define "optional" computations that may or may not be performed.

Avatar of authorBen Tookey
highlightfeature
4 months ago

Alloy January 2025 Release

Welcome back! 👋 It's going to be a pivotal year for Alloy, with some truly groundbreaking new experiences and features heading your way very soon! In the meantime, there have been some significant changes in this month's release, along with the usual assortment of fixes and improvements.

The update took place during the evening of the 9th January. For a full list of changes in v2.66, please visit the Alloy Changelog.

New standard paths ➡️ ↘️ ↗️ ⚡

We've introduced the concept of standard paths to the Pathfinder. These are predefined shortcuts to attributes on connected designs or interfaces.

The Pathfinder lets you browse and select the attributes of a design/interface, plus the attributes of any others that are connected to it via a Link attribute. You can follow a Link attribute to visit a child design/interface, or navigate to a parent design/interface that links to the current one. You can repeat this in either direction for any number of "hops", enabling you to select attributes across multiple designs/interfaces where a path exists between them.

A standard path provides a handy shortcut to a connected attribute. Selecting it adds the attribute to your query in one go, saving you the time and effort of navigating to the relevant design/interface (potentially over many hops). Not only does this bring the connected attribute within easy reach, it also surfaces the attribute to users that may be unaware of its availability!

Standard paths can be defined on individual designs or interfaces. Currently, this can only be done via the API using the Design and DesignInterface endpoints (see Swagger or ReDoc).

However, it will soon be possible to define your own standard paths, as part of a whole new way of accessing Alloy! Stay tuned… 😉

Item form Link attribute filtering on Mobile 🛂

Item forms let you customise the visibility and order of attributes when creating/editing items of a particular design.

On a Link attribute control, it's possible to set a query that filters and sorts the linked items stored in the attribute. This provides a way to customise the lookup list shown to users when they select that control on the form.

For example, it can be used to limit the available choices for the Status Link attribute on task items.

This functionality is now available on Alloy Mobile on iOS and will be available on Android next month. When creating/editing an item of a design with an item form, if you select a Link attribute control that has a query set, the contents of the lookup list will now be filtered accordingly on Alloy Mobile.

Please note that item form expressions are not yet available on Alloy Mobile and will go unprocessed if present. Additionally, some of the less common control types don't currently display on Alloy Mobile. To see which are compatible, see Item form controls in Alloy Help.

API authentication 🔑

As previously announced, we can confirm that Alloy's API authentication has now been updated to only accept bearer tokens for enhanced security. Therefore, any tools or implementations that still supply tokens as headers or URL parameters will no longer be able to authenticate. If this causes any problems for you, please reach out to our Support team for assistance.

Avatar of authorBen Tookey
highlightfeature
5 months ago

Happy Holidays from Team Alloy 🎄🎁

Congratulations for making it to the finish line of 2024! 🏁

It's been a more conservative year for Alloy, with a focus on behind-the-scenes improvements to Alloy's engine. While not too exciting, this has resulted in increased performance and reliability that everyone can benefit from.

In particular, Alloy Mobile iOS has seen numerous changes in the second half of the year, as part of a concentrated effort to significantly improve the user experience.

With that said, there have still been plenty of new features this year:

  • A handsome new logo
  • Cloud malware protection for uploaded files
  • Exclude specific Text attributes from being searched
  • Reports: new edit mode for Table controls, making it easier to configure headers, reorder columns and populate static/dynamic values
  • Reports: new summary rows in Table controls for displaying calculated data values
  • Routing: a more robust Routing Editor with reworked fastest/shortest optimisations
  • Gateway: reconfigure validated imports without starting from scratch
  • Gateway: clone validated imports
  • Workflows: use encrypted secrets in Http Request actions
  • Workflows: multi-instance Message and Output actions
  • Access Policies: new expressions for building more complex rules
  • Mobile: use item forms offline
  • Mobile: add parent links to items
  • Mobile: optimised Filters screen that excludes components and inaccessible designs

Alongside all this, work has continued throughout the year on an exciting project that we've hinted at a few times. It's taken a bit longer than we first anticipated – doesn't it always? – but as it represents the future of Alloy, we wanted to give it sufficient time to grow and evolve beyond our initial plans.

Fortunately, we're getting close to the point where we can finally reveal what we've been working on. Please bear with us a little longer, the Alloy revolution is almost here! ⚡

On behalf of the Alloy team, thank you for being with us in 2024. Enjoy the winter holidays and see you all in January! 👋

Avatar of authorBen Tookey
highlightdeprecationAPImobile
5 months ago

A few end-of-year notices...

As we reach the end of 2024, there's a few things we want to let you know about before the holidays start.

API authentication deprecation 🌇

Back in July, we announced that Alloy's API authentication will only accept bearer tokens starting from next year. Therefore, this is one last reminder that token headers and token URL parameters will no longer work as of early January 2025.

If you haven't already, please update any integrations or tools you use accordingly!

Mobile developer account transfer 📲

As part of some new year housekeeping, we'll be transferring ownership of the Alloy Mobile app to new Causeway developer accounts on both the App Store and Google Play Store.

Don't worry, this won't affect Alloy Mobile's availability on either store! You won't need to reinstall the app and any unsynced data should be unaffected.

However, there may be some minor side effects:

  • If you use your fingerprint to sign in, or rely on saved passwords, you may need enter your account details again.
  • You may need to re-grant permission for Alloy Mobile to access your device's camera, gallery and location.

The developer transfer will be performed in January 2025. In the unlikely event that this causes any issues, please contact Support for assistance.

Alloy Mobile iOS map behaviour 🗺️

We will be improving the behaviour of the map in Alloy Mobile iOS:

  • When selecting an item, the transition will be smoothly animated instead of abruptly jumping to the item.
  • Selecting any part of an item's geometry will select the item. The map will pan and zoom so that the item's entire geometry is visible.
  • With an item selected, selecting a marker on that item will zoom the map to that marker.
  • If multiple item geometries overlap a location, selecting that location will cycle through those items.

Nothing too drastic but just so you know what to expect! These changes will be implemented in Alloy Mobile v2.66 on 9th January 2025. If you experience any issues with the new behaviour, please contact Support.

Avatar of authorBen Tookey
highlightfeature
5 months ago

Alloy November 2024 Update

This month, we've been on a bug fixing mission 🐛. A plethora of issues have been identified and addressed to improve your overall Alloy experience.

For example: the Turn off all layers button no longer hides route geometry, NSG/NLPG imports can now be cloned successfully, and it's no longer possible to (eventually) scroll to a negative year in the calendar picker!

The update took place during the evening of the 28th November. For a full list of changes in v2.65, please visit the Alloy Changelog.

Check Link attributes in item form expressions 🔗 ⁉️

Expressions make your item forms dynamic and responsive to user input. Each control on the item form has properties such as Required, Read-only and Hidden. By targeting the output of an expression, these can change depending on the current state of the form.

You can build an expression by adding nodes and joining their inputs and outputs together. The Is Null conditional node outputs true or false depending on whether its input is empty or not. It's commonly joined onto a global node that fetches the value of an attribute control on the form.

Previously, the Is Null node didn't work with Alloy ID Array inputs. It therefore wasn't possible to check the contents of a Link attribute on the item being created/edited.

This has been now remedied, so you can build expressions like the one below, which fetches the value of the item's Defects attribute, checks it and outputs the result. This could be used to control the visibility of an attribute control that's only relevant for items with defects.

Please note: item form expressions aren't currently supported on Alloy Mobile. To learn more about them, check out Alloy Help.

Avatar of authorBen Tookey
highlightfeature
6 months ago

Alloy October 2024 Update

We hope you like the new look of the Alloy Announcements page! 🎨

It's been a month of modest improvements to Alloy. No ground-breaking new features, just quiet optimisations and bug fixes to make your Alloy experience even better ✅. The update took place during the evening of the 31st October. For a full list of changes in v2.64, please visit the Alloy Changelog.

Cloud malware protection ⚠️

When uploading files to Alloy, they can now be scanned for malware.

Given Alloy's role in storing and processing lots of potentially sensitive data, we've always taken security very seriously. As a result, the attack surface of Alloy itself is fairly low, with no significant vulnerabilities detected during our annual third-party security tests. As a precaution, Alloy blocks the same file extensions as Microsoft Outlook by default, to prevent the storage of dangerous file types with well-known vulnerabilities.

However, it remains possible for a file containing malicious code to be uploaded and stored in Alloy. While it would effectively be dormant and unlikely to cause direct harm, bad actors could potentially utilise Alloy as a method of distribution for infected files (e.g. sent via workflow emails).

Therefore, files uploaded to Alloy can now be scanned using Amazon's GuardDuty Malware Protection. All files are quarantined by default until they pass the security checks. If malicious code is detected in a file, it remains inaccessible and can't be used for any purpose. Attempting to download it will display an error message, explaining why and recommending deletion.

If you wish to enable this extra layer of security on your customer project, please contact Support to opt in.

Avatar of authorBen Tookey
highlightfeature
7 months ago

Alloy September 2024 Update

Most of this month's improvements are behind the scenes 🛠️. While there aren't any visible changes or new features to speak of, there have been significant improvements to Alloy's underlying engine.

In particular, Alloy's Task Executor has been worked on for over three weeks! The Task Executor monitors and juggles all the queued tasks (e.g. workflows, imports, bulk actions) to ensure they're performed efficiently, and that problematic tasks don't bring things to a standstill.

With more people using Alloy than ever before, the number and size of tasks has grown considerably, especially during peak times! 🥵

Therefore, the Task Executor has been upgraded to dynamically scale itself up and down in response to the current workload. Extra workers can be made available when things get busy. When things quieten down, workers can be shut down gracefully without interrupting any tasks in progress.

Bottom line: you should see increased reliability and performance in Alloy going forward!

The update took place during the evening of the 26th September. For a full list of changes in v2.63, please visit the Alloy Changelog.

Avatar of authorBen Tookey