Developer & Data Utilities

Atomic monorepo version updates across 115 projects

Batch version changer for WizIIOT—safely update build files, C# assemblies, batch scripts, and installer configs in one pass.

What it is

VersionChanger is a command-line Java utility that atomically updates version strings across the WizIIOT monorepo during release cycles. It processes ~60 C# desktop projects, ~25 Java backend services, and ~30 Java libraries in a single run, with support for dry-run preview, selective processor filtering, skip-folder lists, and detailed change logging. The tool uses pluggable file processors for build.gradle, AssemblyInfo.cs, batch configuration files, and install4j installer XML, with built-in charset detection (UTF-8, UTF-16) and rolling file logs.

Key benefits

One command, all platforms

Replace version strings across Gradle builds, C# assemblies, batch environment scripts, and installer definitions in a single pass. No manual file-by-file editing or version mismatch risk.

Safe preview before commit

Run with --dry-run to see all planned changes on console and log file before writing anything to disk. Catches surprises early in the release cycle.

Flexible file targeting

Enable only the processors you need (gradle, assemblyinfo, batch, install4j), skip folders by pattern, and set company/copyright strings per build type—all via command-line flags.

Audit trail included

Rolling log file (30-day, 100 MB rotation) captures every replacement with search/replacement text and occurrence count. Production-ready logging via SLF4J + Logback.

Capabilities

  • Batch version updates across Gradle build files (build.gradle)
  • C# assembly attribute injection (AssemblyVersion, AssemblyFileVersion, Company, Copyright year)
  • Environment variable updates in batch scripts (SET MAJOR/MINOR/REVISION/BUILDNUMBER, COPYRIGHT, COMPANY_NAME)
  • install4j XML version and publisher updates
  • Dry-run preview mode for pre-flight validation
  • Configurable skip-folder lists (file-based with comment support)
  • Selective processor enable/disable via command-line flags
  • Charset detection with UTF-8/UTF-16 BOM awareness
  • Detailed rolling file logs with change tracking and statistics
  • Exit codes for CI/CD integration (0=success, 1=validation error, 2=processing errors)

Put VersionChanger to work on your estate.

Request a demo →