Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 14:03
· 3 commits to main since this release
v1.0.0
f017740

Added

  • Results rows link to the Metadata Management app when it is
    installed and the user may open it, falling back to Maintenance
    otherwise. Metadata Management is installable from the App Hub on
    2.41 and 2.42, and bundled from 2.43, so which app to use is resolved
    at runtime from apps/menu, which lists only apps the user may open
    and reports each app's launch URL. When the user has neither app the
    link is omitted rather than offering a dead end.
  • Unused program rule variables link out for editing too; previously
    only invalid expressions did. The link button is labelled "Edit", with
    the app it opens named in its tooltip.

Fixed

  • Transient server failures are no longer reported as invalid expressions.
    A 5xx, a rate-limit response or a dropped connection used to produce a
    generic "Condition validation error" row, indistinguishable from a real
    problem with the rule. Such requests are now retried with a short
    backoff, and anything still unanswered is counted and surfaced as a
    run-level warning instead of being listed as invalid.
  • The expression-description requests now send the X-Requested-With and
    Accept headers that the data engine sends on every other request, so
    an expired session can no longer trigger the browser's native
    basic-auth dialog.
  • The expression-description requests now use the same API version as the
    rest of the app (the engine defaults it to the server's own version)
    rather than always hitting the unversioned /api/ path.
  • Results from the last completed run stay on screen when a subsequent
    run is cancelled or fails, instead of being discarded.
  • Selection checkboxes in the unused-variables table have accessible
    names, and the link-out button shows that it opens a new tab.
  • The program pickers always offer a search box, matching the original
    tool, rather than only above ten programs.

Changed

  • Migrated to the DHIS2 App Platform. The app is now a React +
    TypeScript application built with @dhis2/cli-app-scripts, using
    @dhis2/app-runtime for data access and @dhis2/ui for all UI
    components. The custom webpack setup, materialize-css, choices.js,
    the hand-rolled d2api.js fetch layer and the legacy header-bar
    loader are all gone; the platform shell now provides the header bar,
    login handling and manifest generation.
  • Program lists and results tables use @dhis2/ui components
    (MultiSelectField, DataTable, TabBar, Modal, NoticeBox,
    LinearLoader), so the app follows the DHIS2 design system.
  • All user-facing strings go through @dhis2/d2-i18n and are
    extractable for translation.
  • Validation logic (expression validation via the description
    endpoints, unused-variable detection incl. d2:hasValue and
    string-literal stripping, concurrency limits, cancellation) is ported
    unchanged and now covered by unit tests (pnpm test).
  • Result tabs show counts, the unused-variables filter only offers
    validated programs, and selections are pruned when the filter
    changes.
  • CI workflow builds with pnpm + d2-app-scripts and attaches
    build/bundle/tool-pr-validator-<version>.zip to releases.
  • minDHIS2Version is 2.40.

Removed

  • webpack.config.js, d2auth.json handling, manifest.webapp
    generation via d2-manifest, src/js/*, Materialize CSS/JS and the
    bundled legacy DHIS2 header bar.
  • The Python Playwright scripts under tests/playwright/ (written for
    the old DOM); functional testing is now done against the platform UI.