Skip to content

v1.1.0

Choose a tag to compare

@code-with-zeeshan code-with-zeeshan released this 25 Jun 19:34

[1.1.0] - 2026-06-25

Added

  • Initial project scaffold: FastAPI backend, Vue.js frontend, PostgreSQL/SQLite, Docker/k8s, monitoring stack
  • 10+ data source clients: PyPI, npm, Maven, Crates.io, Conda, RubyGems, NuGet, Pub (Dart), Go, Cargo — with async aiohttp, caching, version parsing
  • CLI tool: 9 commands — serve, check, resolve, info, lock, graph, verify, list-ecosystems, update
  • SAT-based conflict resolution: Z3 solver integration with binary encoding, version enumeration, constraint propagation
  • System scanner: OS, CPU, GPU, CUDA, Python, Node.js, GCC, Java detection
  • Export generator: 12 output formats (requirements.txt, package.json, Dockerfile, pyproject.toml, etc.)
  • Manifest detector: Auto-detects 20+ manifest formats with per-ecosystem parsers
  • Frontend dashboard: Vue.js SPA with Project Scan panel, dependency visualization, Desktop app launcher
  • Install script: install.sh for non-Python users, auto-detects OS and package manager
  • Observability: OpenTelemetry tracing, Prometheus metrics, Sentry error tracking, structured logging
  • Auth middleware: JWT-based authentication with bearer token support
  • CI/CD pipeline: 11 CI jobs (lint, typecheck, unit tests, integration tests, data-source tests, security, frontend, desktop build, publish, deploy)

Changed

  • PostgreSQL and Redis → optional: SQLite + DictCache cover standalone/desktop use cases — no external services required
  • All sync package_exists() → async aiohttp: Eliminated blocking calls in async context
  • Registry URL constants inlined: Moved from settings/ into get_ecosystem_config() and data source clients
  • Settings trimmed: 595 → ~200 lines — removed Celery, Email, Webhooks, WebSockets, File upload, Prometheus/Sentry/OTEL settings
  • Integration tests → SQLite: No PostgreSQL required on the host
  • FastAPI pinned: >=0.115.0,<0.116 for pydantic 2.x compatibility

Removed

  • monitoring/ directory (Prometheus, Grafana, Loki, Promtail — server infra)
  • alembic/ directory — Base.metadata.create_all() handles schema
  • scripts/ — only sync-version.py kept
  • backend/Dockerfile and build-docker CI job
  • All docker-compose files, .dockerignore, start_dev.sh, sonar-project.properties
  • Dead test files: load_test.js, TestSystemBenchmark, TestVerifiedCombination, test_middleware.py
  • Dead API endpoints: /compatibility/report, /compare, /gpu/info, /runtime/{runtime}, /analyze-environment, /benchmarks
  • requests dependency — all usage replaced with aiohttp/urllib

Fixed

  • Desktop Electron blank screen: extraResources for frontend dist
  • Integration test isolation: db_session fixture cleans tables between tests
  • SQLite foreign keys: PRAGMA foreign_keys=ON event listener
  • All 21 tests updated: For async package_exists() conversions
  • Settings test poisoning: Fixed importlib.reload + clear=True bug
  • Route collision: Package details moved from /{ecosystem}/{name} to /{ecosystem}/{name}/details
  • export_generator.py: Uses PackageLoader for PyInstaller/frozen-packaged compatibility
  • CLI _parse_package_spec: Uses rsplit("@", 1) for npm scoped packages
  • 5 integration test failures: All resolved
  • CI pipeline: All 11 jobs fixed and passing
  • Opentelemetry: Lazy imports to avoid crash in restricted environments
  • System info: Defensive .get() with defaults for GPU/CPU fields

Publishing

  • Publishes to PyPI (pip install ud-resolver) via trusted publishing
  • Uploads .whl to release assets on publish
  • Loosened version pins (fastapi, uvicorn, packaging) to avoid Colab conflicts