Skip to main content

cngpac@1.0.0

Major Changes

  • f10893f - Thanks to @almahdi404 !

    change!: nest noteNameGenerator under changenote config

    The top-level noteNameGenerator option in CngpacConfig has been removed and replaced with a nested changenote.nameGenerator field. This groups changenote-related config together under a single namespace, making it easier to add future options.

    Before:

    export default defineConfig({
    noteNameGenerator: () => `note-${Date.now()}`,
    });

    After:

    export default defineConfig({
    changenote: {
    nameGenerator: () => `note-${Date.now()}`,
    },
    });

    Update your cngpac.config.ts accordingly if you use a custom name generator.

Minor Changes

  • c3db079 - PR#1 - Thanks to @almahdi404 !

    feat: add version plugin for custom commit message and tag name

    Adds a new VersionPlugin type and optional version config field to CngpacConfig, allowing customization of the release commit message and git tag name.

    Both commitMessage and tagName accept a function that receives the VersionBump object:

    export default defineConfig({
    version: {
    commitMessage: (vb) => `chore: release v${vb.newVersion}`,
    tagName: (vb) => `v${vb.newVersion}`,
    },
    });

    When not configured, the existing defaults are preserved (Release <name>@<version> for commits and <name>@<version> for tags).

  • 5264d09 - Thanks to @almahdi404 !

    impr: add colored branch output to commit command

    The commit command now uses chalk to colorize branch names in the CLI output.

    This improves visibility for both local and remote branch names during commit and push steps.

    The change updates src/cli/commands/commit.ts to render the current branch in cyan and the remote branch in yellow when printing progress messages.

  • 9e95979 - Thanks to @almahdi404 !

    feat(releasers/github): add customizable release name format

    createGitHubReleaser now accepts an optional nameFormat string that controls how the GitHub release name is rendered. The format supports three template variables: {packageName}, {version}, and {tagName}.

    When nameFormat is omitted, the existing default "{packageName}@{version}" is used, so this change is fully backward-compatible.

    createGitHubReleaser({
    token: process.env.GITHUB_TOKEN!,
    nameFormat: "Release {packageName} v{version}",
    });
  • ee9f7d0 - Thanks to @almahdi404 !

    impr(changelog): sort changenotes by commit date

    Changenotes within a bump section of the generated changelog are now sorted in chronological order based on their commit date, rather than arbitrary file-system order.

    The git log format was extended to capture the author date (%aI) alongside the existing hash and subject. This ISO 8601 datetime is stored on ChangenoteCommit.datetime and used as the sort key inside createChangelogGenerator.

    This ensures the changelog accurately reflects the order in which changes were introduced when multiple changenotes share the same bump level.

Patch Changes