Skip to main content

35 posts tagged with "Improved"

Enhancements and updates to existing features

View All Tags

trackunit/iris-app — new workspaces include Trackunit linting

Workspaces created with npx @trackunit/create-iris-app-workspace now come with @trackunit/eslint-plugin-trackunit set up. The root eslint.config.cjs applies the plugin's base and react presets, and every app and extension gets a lint target. Freshly generated apps and extensions pass lint with zero errors and zero warnings. To lint the whole workspace, run:

npx nx run-many -t lint

Upgrading the @trackunit/* packages in an existing workspace doesn't set up Trackunit linting for you. To adopt Trackunit linting in a workspace you already have, follow Linting.

The published presets also no longer include Jest rules; see below if your projects use Jest.

Classic AEMP 1.2 fleet feed moving to the Trackunit Iris platform

Over the coming days, the Trackunit Classic AEMP 1.2 fleet endpoint (api.trackunit.com/aemp) will start getting its fleet data from the Trackunit Iris platform. We are rolling this out gradually, account by account. The endpoint URL, authentication and response format stay the same, and you don't need to do anything.

trackunit/iris-app v2.8.5 - extend generator now scaffolds Vitest, not Jest

Running npx nx g @trackunit/iris-app:extend now scaffolds your extension's unit tests with Vitest instead of Jest, matching the @trackunit/react-vite-test-setup preset already used elsewhere in the SDK's testing guides.

Breaking change: the generator's extendJestPreset option has been removed. If a script or CI step invokes the generator with --extendJestPreset, drop that flag — the generator no longer recognizes it.

Iris Apps — content owns padding from @trackunit/iris-app 2.5.13 (Asset Home / Site Home / Admin)

Manager is moving content inset for Asset Home, Site Home, and Admin extension iframes onto each app. After you upgrade @trackunit/iris-app to 2.5.13 or later, the host stops applying its transitional 1rem inset. Your extension must pad itself with p-content-space on the scrollable content region (or intentionally stay edge-to-edge).

Run the automated migration before or as part of that SDK upgrade — not as optional cleanup afterward. It ships as v2-5-12-p-content-space-codemod in @trackunit/iris-app 2.5.13.

npx nx g @trackunit/migrations:migrate
npx nx g @trackunit/migrations:run-migrations

Breaking: @trackunit/react-drawer adds useDrawer, DrawerHeader, and variants

@trackunit/react-drawer has been reworked to align with Sheet and Modal: a new useDrawer hook owns state and dismiss, a new DrawerHeader component provides the standard toolbar, and the panel now has explicit variant="default" | "modal" semantics. Legacy inline props on <Drawer /> (open, onClose, onOpen, hasOverlay, keepMountedWhenClosed) and the DrawerToggle component have been removed.

Breaking: MenuList renamed to MenuContent, plus new submenu and MenuTree APIs

@trackunit/react-components's MenuList claimed Up/Down keyboard navigation and nested-menu support in its docs that it never actually implemented — it was just a role="list" div with click handlers. It's now been rewritten with real WAI-ARIA menu semantics and renamed to MenuContent to reflect that. MenuItem also gains a new submenu prop for building nested menus, and the MenuTree/useMenuTree tree-coordination primitive that powers it is now public API.

This shipped in @trackunit/react-components 2.6.4, a minor release, so a ^2.x range picks up the rename without an explicit major bump.

Updated 2026-10-28: added the version, and renamed the migration to v2-6-0-menulist-rename-to-menucontent to match the release that removed MenuList (it was previously keyed v3-0-0-…).

Device Health Issues API v1

The Device Health Issues API is now generally available. The endpoints have been promoted from v1beta1 to v1, and the API is no longer marked as beta.

Below is a list of all available REST endpoints:

Issue API​

➕ GET: /v1/assets/{assetId}/issues

Get issues by asset

➕ GET: /v1/issues

Get issues

➕ GET: /v1/issues/{issueId}

Get issue by id

Breaking changes

⚠️ The v1beta1 endpoints have been replaced by v1. Update any integrations to use the /v1/... paths.

⚠️ The issue type LOW_DEVICE_BATTERY_VOLTAGE has been renamed to LOW_DEVICE_BATTERY. Update any filtering or handling that relies on this value.