Skip to content

v2.1.0

Latest

Choose a tag to compare

@davideas davideas released this 15 Mar 23:36

Compatibility

  • Users: Gradle 7.0+ / Java 11+
  • Contributors: Gradle 8.x wrapper / JDK 17+

Added

  • CHANGELOG.md file to track all notable changes.
  • Optional property incrementBuild (default: true) to prevent constant modifications of version.properties - Resolves #26, #29
  • Added internal function hasUserChanges() detection - allows to save file when user manually changes main version values.
  • Gradle defaultTasks() included in runTasks evaluation - Resolves #33
  • Android Product Flavor support - recognizes flavor tasks like assembleFreeRelease, bundleProRelease - Resolves #25
  • Android detection - checks for com.android.application or com.android.library plugins.
  • ⚠️ grabverVerbose task (renamed from grabverDebug) for verbose logging.
  • GrabVer tasks are now registered under versioning group.
  • Gradle wrapper for development/publishing.

Changed

  • ⚠️ Property incrementOn now also triggers save: Custom release task (like deploy/publish) defined via incrementOn
    is now correctly detected as save-task, ensuring version changes are always persisted.
  • ⚠️ Task monitoring improvements:
    Monitored tasks only track user-invoked tasks, filtering out internal sub-tasks (e.g., AGP's bundleLib*) from
    build output. gradle build is treated as debug even if AGP executes both assembleDebug and assembleRelease
    internally. Use gradle assembleRelease explicitly to trigger release versioning.
  • ⚠️ Task Matching Logic with case-sensitive comparison, consistent with Gradle's own behavior.
    Separated exact match tasks from prefix+suffix patterns. Suffix patterns (Debug/Release) match Android's
    camelCase convention (e.g., assembleFreeRelease, bundleProDebug).
  • Comprehensive logging - "release" vs "debug" build clarity and better task status display
  • Android-specific logging - shows 'Code' messages only for Android projects.
  • Modern Gradle API - replaced deprecated project.task() with project.tasks.register().
  • Independent settings.gradle for test modules (composite build testing).

Deprecated

  • saveOn - will be removed in next major release. Use incrementOn instead.
    With incrementOn covering custom release tasks and incrementBuild controlling debug build behavior,
    there is no remaining scenario requiring a custom save task. Default save tasks already cover all standard builds.

Fixed

  • NPE when user doesn't access versioning values - shows a warning message.
  • Version code starting from 0 now correctly produces code=1 on the first release. Previously, a debug build
    would save code=1 to the file, causing the first release to skip to code=2. The version code is now guaranteed
    to be ≥ 1 at read time (required by Android), while the file preserves the raw value - Further fix for #15, #17