xBit v4.1.10 Release Notes

October 16, 2026


Feature Highlight: Automatic Barcodes

Every case and evidence item gets its barcode. Nobody has to remember.

Until now, a barcode was added by hand: copy the ID, click Scan Existing, paste, save. When someone forgot, the label printed without one.

Now xBit adds it for you, the moment a case or evidence item is created.


✨ What's new

Feature Description
🏷️ Barcode Source Match the Case ID or Evidence ID, or generate a number.
🔁 Backfill Add barcodes to existing records that have none.
🛡️ Unique barcodes Duplicates are refused when they're entered.
🖨️ No blank labels xBit asks before printing a label without a barcode.
🕓 Barcode history An old label still finds its record.

🏷️ Choose where barcodes come from

Go to Admin > Form Builder, open Case Information or Evidence Intake, and edit the Barcode field.

  1. Barcode Source:
    • Match a field: the barcode is the record's Case ID or Evidence ID.
    • Generate a number: xBit assigns a unique number.
    • Manual: works as before. This is the default, so nothing changes until you choose.
  2. Field to match: the ID the barcode follows.
  3. Barcode type warning: shown when your IDs won't fit your site's barcode type (for example, letters in an EAN8 site). Click Change barcode type to switch, usually to Code 128.
  4. Changes to the ID:
    • Always follow, without asking: the barcode follows ID changes made in xBit or through the API.
    • Allow scanning a pre-printed label instead: keeps Scan Existing for agencies with pre-printed bags.
  5. Uniqueness: Global, Per record type or Not checked. Requests have their own Request uniqueness.
  6. Copy when adding to workflow: keep a request's barcode on the case or evidence it becomes, or give it a new one.

The setting applies to new records; existing barcodes don't change.


Fill in the backlog

Once saved, the panel offers Generate barcodes for N cases without one (or evidence items). It only fills empty barcodes, prints nothing, and lists any records it skipped and why.


Barcodes stay unique

  • A duplicate barcode is refused wherever it's entered: in xBit, the lab submission portal or the API (unless Uniqueness is Not checked).
  • Duplicate Barcodes report: if existing records share a barcode, it appears in the Issues menu for admins until they're settled.
  • Scanning a barcode that several records share asks which one to open.
  • Barcodes saved as 0 or left empty no longer show as a shared placeholder.


When an ID changes

If a Case ID or Evidence ID changes and the barcode matches it, xBit asks Update the barcode too? before changing it, since labels already printed would stop scanning.

Scanning a barcode a record no longer holds lists the records that held it, and until when, so an old label still leads somewhere.


No more labels with a blank barcode

Printing a label that includes a barcode, for a record without one, now asks first:

  • Add the barcode and print adds it using the Barcode Source, then prints.
  • Print without a barcode prints as before.

This works for the case and evidence label buttons and for bulk label printing.

More in Barcodes.


🚀 Other New Features

Case Status

  • Choose which Completed status types set a case's completed date with the new Use for case completed date option in Admin > List Manager > Case Status Type.

  • A case moved on to a later Completed stage keeps the date of the status that marked it completed: on the Case Dashboard, the deadline tag, the case listing and Stats.
  • A case's current status is always the top of its Status History, so a status entered with an earlier date no longer replaces it.
  • If the Completed status is deactivated, the Issues menu asks an admin which status to use. You will not see this menu otherwise.
  • See List Manager.

Case Stats & Evidence Stats

  • Two new chart metrics: Labor hours and Consumables quantity, the totals recorded on labor and consumables expenses.

Label Builder

  • Each label field has a new Print when blank switch, so an empty line can be left off the label. Existing labels keep printing as they do today.

  • Every printed label is logged with who printed it, when, and its values. Bulk prints also appear in each evidence item's audit log.

Keyboard

  • Type to filter the top navigation, a case's menu, the form chooser or a case's evidence list: only matching entries stay lit, and the arrow keys jump between them.
  • Paste an evidence ID onto a case's evidence list to select that evidence.

🐛 Bug Fixes

  • Global search finds case and evidence attachments by their contents again (PDF, Word, CSV, text files and scanned images).

Email

  • Email sent through a connected Gmail account no longer fails with "Failed to authenticate on SMTP server", and keeps sending after the first hour.
  • Password reset emails now reach addresses containing a +.

Login

  • With captcha enabled on the login page, every password and recovery-code login is checked against the captcha first.

Case Reports

  • Fixed case report PDFs showing no icon for text files and other non-image attachments.
  • Review comments in case report PDF and Word exports now print as formatted text instead of HTML tags.

Case Permissions

  • Fixed saving Case Permissions on a case with a primary assignee. Saving returns to the Case Dashboard, and a failed save now says so.

Lab Submission

  • Fixed external submitters getting an error downloading a lab submission receipt.
  • Cancelling a Case ID edit on a request no longer disables Add to Workflow when Auto Case ID is on.
  • A Pattern field in the Request Manager now stays inside its box.

Request Date & Evidence Status

  • Request Date and Evidence Status now show the same value everywhere, including reports and the API. Cases created from a request keep the request's date instead of the day it was accepted.

Form Builder

  • Changing an evidence type's ICAC Stats Type saves again, instead of failing with "Changing ICAC Type Failed".

Stats

  • Hours Breakdown shows its table for the chosen dates again, instead of "No entries found".
  • In Stats Explorer, grouping by Evidence Status as Group By 2 loads again for hours, extraction and expense metrics.

USSS

  • Fixed matching a case type to a USSS case type on New Case.
  • The USSS Stats report download, from a case or Stats > USSS Stats, opens in Excel without a repair prompt.
  • Download Completed Cases ONLY now leaves out cases without a valid USSS Case Type.

User Management

  • A new user's e-mail address is flagged as already in use regardless of capitalization.

Setup

  • Setup no longer stops on an error page when the uploaded license is already installed, and can't be submitted again once xBit is set up.
  • Setup errors follow the setup language, and an invalid password is shown on the page instead of in a browser alert.

Notifications

  • System notifications, such as the maintenance notice, show their message in the pop-up instead of under the menu bar.

🌈 UI Changes

User Management

  • On Admin > Groups / Users, the list view's 2FA shields now look different for each state, matching the grid view.
  • Log User Out matches the page's other buttons, and the user's online dot clears straight away.
  • Re-enable a disabled user from their card with the power button.
  • Disabled users are no longer counted on group cards in Case Permissions and Group & User Manager, or listed on the Case Dashboard. The Groups tab shows them greyed out as Disabled.

Evidence

  • The arrow keys move between evidence cards on the Case Dashboard again.
  • Viewers are no longer offered in the Assigned To, Triaged By, Imaged By and Completed By dropdowns, since they can't be assigned evidence.