Skip to content

v1.3.1

Choose a tag to compare

@code-with-zeeshan code-with-zeeshan released this 30 Jun 20:33

[1.3.1] - 2026-06-30

Added

  • Desktop UI — Install/Restore tabs: Generate native package manager commands from lock files, with Copy buttons. Direct deps (Install) vs all packages (Restore)
  • Desktop UI — Lock file download: "Generate Lock File" button in Scan results produces udr.lock download
  • API endpoints: POST /api/v1/generate-lock, POST /api/v1/install-commands, POST /api/v1/restore-commands
  • Desktop usage guide: New docs/DESKTOP.md covers all 15 sidebar tabs, keyboard shortcuts (Ctrl+K → Resolve), menu, troubleshooting

Changed

  • Docs: ecosystem count corrected: 13 → 14 across all docs (added pub/Dart/Flutter)
  • CLI.md accuracy fixes: Added install/restore command sections; added missing --cuda, --device, --report, --manifest flags; fixed resolve -e ecosystem choices; corrected rate-limiting claim in --mode docs
  • ManifestDetector + ConstraintNormalizer upgraded: Better cross-ecosystem version handling and manifest parsing
  • ruff format: 4 files auto-fixed

Fixed

  • udr check / udr info GPU crash: CUDA info is a dict, not a string
  • Desktop install, status, menu: Several desktop UI and IPC fixes
  • mypy: constraint_normalizer.py type annotations — -> strOptional[str] for functions returning None
  • ruff: Import ordering (from typing import Optional placed after import re)