github purelogiccode/BatchConvertToCHD release_2.7.0

latest releases: release_3.8.0, release_3.7.2, release_3.7.1...
4 months ago

New Features

  • Per-file conversion timeout: set a time limit (in minutes) to abort conversions that hang or take too long.
  • Single-instance enforcement: the app now prevents launching multiple instances simultaneously.
  • Orphaned process cleanup: leftover chdman, maxcso, and psxpackager processes are killed on exit.

Reliability Improvements

  • Retry logic for file copying with exponential backoff (3 attempts) to handle transient I/O errors.
  • Better error handling for archives: clear messages for corrupt, incomplete, encrypted/password-protected, and unsupported archives instead of generic failures.
  • Cross-drive path safety: GetSafeRelativePath prevents crashes when input and output folders are on different drives.
  • Cancellation token safety: thread-safe access to CancellationTokenSource via locking prevents race conditions.
  • chdman path validation: conversion now verifies chdman.exe exists before launching the process.

UI / UX

  • Named WPF styles for consistent theming (header, labels, stat cards, buttons, About window).
  • Tooltips added throughout the UI for better discoverability.
  • Status bar dependency indicators now use theme-aware resource brushes instead of hardcoded colors.

Code Quality

  • Comprehensive unit tests added for services (BugReportService, StatsService, UpdateService), models (GitHubRelease, PbpExtractionResult), config (AppConfig), and utilities (PathUtils, FileExtensions, GameFileParser).
  • Centralized AppHttpClient replaces duplicated per-service HttpClient instances, ensuring consistent TLS 1.2/1.3 and connection pooling.
  • Removed obsolete code: unused interfaces (IExternalProcessService, IFileOperationsService), models (ProcessOptions, ProcessResult), and stub test.
  • Removed .cdi extension from supported formats (never used in practice).

Dependencies

  • SharpCompress: 0.47.4 → 0.48.0
  • Microsoft.NET.Test.Sdk: 18.4.0 → 18.5.1

Full Changelog: release_2.6.2...release_2.7.0

Don't miss a new BatchConvertToCHD release

NewReleases is sending notifications on new releases.