Skip to content

Release v1.1.0#80

Merged
matthew25187 merged 14 commits intomasterfrom
develop
Jan 9, 2026
Merged

Release v1.1.0#80
matthew25187 merged 14 commits intomasterfrom
develop

Conversation

@matthew25187
Copy link
Copy Markdown
Owner

v1.1.0-DataStandardizer.Chronology: Release build 1.1.0 for package DataStandardizer.Chronology
v1.1.0-DataStandardizer.Communication: Release build 1.1.0 for package DataStandardizer.Communication
v1.1.0-DataStandardizer.Core: Release build 1.1.0 for package DataStandardizer.Core
v1.1.0-DataStandardizer.File.CSV: Release build 1.1.0 for package DataStandardizer.File.CSV
v1.1.0-DataStandardizer.Geography: Release build 1.1.0 for package DataStandardizer.Geography
v1.1.0-DataStandardizer.Language: Release build 1.1.0 for package DataStandardizer.Language
v1.1.0-DataStandardizer.LanguageTag: Release build 1.1.0 for package DataStandardizer.LanguageTag
v1.1.0-DataStandardizer.Money: Release build 1.1.0 for package DataStandardizer.Money

matthew25187 and others added 14 commits January 3, 2026 14:43
- Updated copyright years from 2024-2025 to 2024-2026 in all relevant files.
- Modified project files (.csproj) to reflect the updated copyright range.
- Adjusted the LICENSE.md file to include the new copyright year.
- Updated the global assembly info to align with the new copyright range.
AB#4369

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Introduced `changedPackageNames` variable for improved clarity.
  - Replaced redundant references to `ChangedPackages.changedPackageNames` with `changedPackageNames`.
  - Simplified conditional logic for versioning and rollback tasks.
- Refactored PowerShell scripts (`FindChangedPackages.ps1` and `FindTestPackages.ps1`):
  - Removed redundant string concatenation for verbose messages.
  - Simplified logging of package names for better readability.
AB#4371

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Modified `datastandardizer-ci-build-pipeline.yml`:
  - Added `dependsOn` property for the `Version_numbering` job.
  - Ensured `Version_numbering` depends on the completion of the `Production_packages` job.
AB#4371

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Removed redundant conditions from the `datastandardizer-ci-build-pipeline.yml` file.
- Eliminated unnecessary checks for `Version_numbering.PromoteVersionList.result` and `dependencies.Build.result`.
- Streamlined the logic for determining publication requirements.

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
* Enhance CI pipeline to support overriding changed package names
- Added a new parameter `overrideChangedPackageNames` to the `datastandardizer-ci-build-pipeline.yml` file.
- Introduced logic to handle overridden package names in the pipeline:
  - Added tasks to set and output the overridden package names.
  - Updated conditions to check for non-empty overridden package names.
- Modified `FindChangedPackages.ps1`:
  - Updated the variable name for changed packages to `changedPackageNamesList` for consistency.
[skip ci]

* Add default value for overrideChangedPackageNames parameter in CI pipeline
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Added a default value of an empty string (`''`) for the `overrideChangedPackageNames` parameter.
[skip ci]

* Refactor overrideChangedPackageNames parameter in CI pipeline
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Changed the default value of `overrideChangedPackageNames` from an empty string (`''`) to `null`.
  - Simplified the condition for checking the length of `overrideChangedPackageNames` by removing the `coalesce` function.
[skip ci]

* Refactor overrideChangedPackageNames handling in CI pipeline
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Changed the default value of `overrideChangedPackageNames` from `null` to a single space (`' '`).
  - Replaced direct usage of `parameters.overrideChangedPackageNames` with `trim(parameters.overrideChangedPackageNames)` for improved handling of whitespace.
  - Adjusted conditional logic to use the trimmed value for length checks.
[skip ci]

* Fix variable syntax in CI pipeline
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Corrected the syntax for setting the `changedPackageNames` variable in the PowerShell script from `$changedPackageNamesList` to `$(changedPackageNamesList)`.
[skip ci]

---------

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Reformatted the condition for the `Publication` stage to improve readability and maintainability.
  - Replaced redundant references to `variables['changedPackageNames']` with `stageDependencies.Configure.Production_packages.outputs['ChangedPackages.changedPackageNames']`.
  - Ensured consistent formatting and indentation for nested conditions.

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Simplified the `Publication` stage condition by replacing multiline `and()` syntax with a single-line `${{ and(...) }}` format.
  - Improved readability and consistency in conditional logic.
[skip ci]

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Refactored the `Publication` stage condition in `datastandardizer-ci-build-pipeline.yml`:
  - Consolidated multiline `and()` and `or()` conditions into a single-line format.
  - Improved readability and reduced redundancy in the conditional logic.
[skip ci]

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Reformatted the `Publication` stage condition for improved readability.
  - Replaced single-line `and()` and `or()` conditions with a multiline format.
  - Ensured consistent formatting and better maintainability of the pipeline configuration.
[skip ci]

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
* Refactor and enhance Azure DevOps pipeline templates and scripts
- Introduced modular pipeline templates for build, QA, and publication stages:
  - Added `build-apply-project-version.yml` for applying version numbers to projects.
  - Added `build-steps.yml` for build-related tasks.
  - Added `qa-steps.yml` for QA and testing tasks.
  - Added `publication-create-packages-prepare.yml` and `publication-publish-packages-job.yml` for package preparation and publishing.
- Replaced inline scripts with reusable PowerShell scripts:
  - Added `ConfirmCurrentVersionNumber.ps1` for verifying current version numbers.
  - Added `ConfirmVersionNumberRollback.ps1` for validating version rollbacks.
  - Added `UpdatePipelineVersionNumber.ps1` for updating pipeline version numbers.
- Refactored `datastandardizer-ci-build-pipeline.yml`:
  - Replaced redundant inline steps with references to modular templates.
  - Renamed parameters for clarity (e.g., `requirePackageDataStandardizer*` to `forcePackageDataStandardizer*`).
  - Simplified conditional logic for package actions.
- Removed deprecated script `ReserveProductionVersionNumbers.ps1`.
- Improved maintainability and readability of pipeline configurations and scripts.
AB#4372

* Fix template path references in CI pipeline configuration
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Changed relative template paths (e.g., `build/build-steps.yml`) to absolute paths (e.g., `/build/build-steps.yml`).
  - Adjusted paths for the following templates:
    - `build-steps.yml`
    - `qa-steps.yml`
    - `publication-create-packages-prepare.yml`
    - `publication-publish-packages-job.yml`
AB#4372

* Updated build templates in `build-steps.yml` to use absolute paths for template references.
- Changed relative paths (e.g., `build/build-dependency-version.yml`) to absolute paths (e.g., `/build/build-dependency-version.yml`) for consistency and clarity.
AB#4372

* Refactor build templates to improve parameter handling and clarity.
- Added `packageName` as a new parameter in `build-dependency-version.yml`.
- Updated conditional logic in `build-dependency-version.yml` to use the new `parameters.packageName`.
- Modified `build-steps.yml` to pass the `packageName` parameter to the `build-dependency-version.yml` template.
AB#4372

* Refactor parameter usage in `build-dependency-version.yml` for consistency.
- Replaced `${{parameters.dependencyPackageName}}` with `${{dependencyPackageName}}` across all relevant steps.
- Updated error messages, PowerShell scripts, and task display names to reflect the new parameter usage.
- Improved readability and maintainability by simplifying parameter references.
AB#4372

* Enhance build pipeline templates with additional parameters and improved flexibility.
- Added new parameters (`packageNames`, `packageInfos`, `buildSolution`, `publicationRequiredPackageNames`) to various build templates for better configurability.
- Updated `build-dependency-version.yml` to use `parameters.packageNames` and `parameters.packageInfos` instead of hardcoded variables.
- Modified `build-steps.yml` to pass new parameters (`packageNames`, `packageInfos`) to the `build-dependency-version.yml` template.
- Enhanced `datastandardizer-ci-build-pipeline.yml` to include `packageNames` and `packageInfos` variables, and added `publicationRequiredPackageNames` for publication stages.
- Refactored `publication-create-packages-prepare.yml` to use `parameters.buildSolution` for MSBuild tasks.
- Adjusted `publication-publish-packages-job.yml` to utilize `parameters.publicationRequiredPackageNames` for conditional logic.
These changes improve the maintainability and scalability of the build pipeline.
AB#4372

* Update versioning logic in `build-dependency-version.yml`.
- Replaced `$(versioningNumber)` with `$(assemblyVersionNumberArg)` for the `productionAssemblyVersion` variable.
- Improved clarity and consistency in version number handling.
AB#4372

* Enhance version number update script for pipelines.
- Updated `UpdatePipelineVersionNumber.ps1` to ensure `patch` and `preview` numbers are non-negative using `[Math]::Max`.
- Added an informational log to indicate the updated version number for better traceability.
AB#4372

* Fix and enhance version number update logic in `UpdatePipelineVersionNumber.ps1`.
- Replaced `Invoke-Expression` with `$packageInfo.PSObject.Properties[$VersionNumberName].Value` for safer and more reliable property access.
- Ensured `patch` number is non-negative by using `[Math]::Max` when updating pipeline variables.
AB#4372
[skip ci]

* Fix version number update logic in `UpdatePipelineVersionNumber.ps1`.
- Replaced `$packageInfo.PSObject.Properties[$VersionNumberName].Value` with `$packageVersions.PSObject.Properties[$VersionNumberName].Value` for accurate property access.
- Ensured `patch` number is non-negative by using `[Math]::Max` when updating pipeline variables.
AB#4372

* Refactor version number update logic in `UpdatePipelineVersionNumber.ps1`.
- Introduced local variables (`updateMajorNumber`, `updateMinorNumber`, `updateBuildNumber`, `updateRevisionNumber`) for better readability and maintainability.
- Ensured `Build` and `Revision` numbers are non-negative using `[System.Math]::Max`.
- Updated Azure Pipelines variable group commands to use the new local variables for version updates.
AB#4372

* Refactor version number update logic in `UpdatePipelineVersionNumber.ps1`.
- Split the declaration of `updateMajorNumber`, `updateMinorNumber`, `updateBuildNumber`, and `updateRevisionNumber` into separate lines for improved readability.
- Ensured `Build` and `Revision` numbers are non-negative using `[System.Math]::Max`.
AB#4372

* Refactor and simplify build pipeline scripts and templates.
- Removed unnecessary parameters (`PackageInfos`, `SourceCommitHash`, `SourceBranch`, etc.) from PowerShell scripts to reduce complexity.
- Replaced direct parameter usage with environment variables (e.g., `$env:PACKAGEINFOS`, `$env:BUILD_SOURCEVERSION`, `$env:BUILD_SOURCEBRANCH`) for better consistency.
- Updated YAML templates to align with the simplified script parameters.
- Improved version number handling in `UpdatePipelineVersionNumber.ps1` by ensuring non-negative values for `Build` and `Revision` numbers.
- Adjusted file paths and temporary directories to use environment variables like `$env:AGENT_TEMPDIRECTORY` and `$env:BUILD_ARTIFACTSTAGINGDIRECTORY`.
- Enhanced maintainability by consolidating logic and improving readability across scripts and templates.
AB#4372

---------

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Updated `Iso4217CurrencyCurrent` and `Iso4217CurrencyHistoric` enums to reflect ISO 4217 currency codes as of 2026-01-01.
- Removed `BGN` (Bulgarian Lev) from `Iso4217CurrencyCurrent` and added it to `Iso4217CurrencyHistoric` with withdrawal details.
- Adjusted `Iso4217CurrencyCurrent` to include Bulgaria under the Euro currency.
- Updated unit tests in `Iso4217ExtensionsTests` to replace `ZWC` (Rhodesian Dollar) with `DDM` (Mark der DDR) for historic currency validation.
AB#4370

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
…line.yml`. (#75)

* Fix syntax for variable references in `datastandardizer-ci-build-pipeline.yml`.
- Updated variable references for `buildAssemblyVersionPackageNames`, `buildAssemblyFileVersionPackageNames`, and `buildAssemblyInformationalVersionPackageNames` to use `$[variables['...']]` syntax instead of `$(...)`.
- Ensured compatibility and consistency with Azure DevOps pipeline variable syntax.

* Refactor pipeline templates for improved condition handling.
- Replaced `hasVersionPackageNames` parameter with a more generic `condition` parameter in `build-apply-project-version.yml`.
- Updated `build-steps.yml` to use `assemblyVersionNumberCondition`, `assemblyFileVersionNumberCondition`, and `assemblyInformationalVersionNumberCondition` parameters for better flexibility.
- Simplified condition logic in `datastandardizer-ci-build-pipeline.yml` by directly embedding conditional expressions for version number checks.
- Improved maintainability and readability of pipeline templates by consolidating and standardizing condition handling.

---------

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
- Removed redundant conditions for `publicationRequiredPackageNames` and `changedPackageNames` in `datastandardizer-ci-build-pipeline.yml`.
- Eliminated unused parameters (`publicationRequiredPackageNames`, `changedPackageNames`) from `publication-publish-packages-job.yml`.
- Streamlined conditional logic to improve readability and maintainability of pipeline templates.

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
* Refactor and enhance Azure DevOps pipeline scripts and templates.
- Improved version number handling across scripts:
  - Added `VersionPrereleaseLabelName` parameter to `UpdatePipelineVersionNumber.ps1` for updating prerelease labels.
  - Ensured version components (Major, Minor, Patch, Prerelease) are updated only if they exist in the pipeline variable group.
  - Refined logic for stable and prerelease version strings in `DeclareRequiredVersionNumbers.ps1` and `DeclareOptionalVersionNumbers.ps1`.
- Updated pipeline templates:
  - Adjusted `datastandardizer-ci-build-pipeline.yml` to include prerelease label updates in versioning tasks.
  - Simplified conditional expressions and removed redundant parameters for better maintainability.
- Enhanced dependency version updates in `UpdatePackageMetadata.ps1`:
  - Introduced logic to prefer stable versions when applicable.
  - Improved handling of dependency version strings for clarity.
These changes improve the flexibility, readability, and maintainability of the build and release pipelines.
AB#4373

* Refactor PowerShell scripts for improved version handling and compatibility.
- Updated `DeclareRequiredVersionNumbers.ps1`:
  - Changed `az pipelines variable-group variable list` command to use `--output table` for better parsing.
  - Replaced `ConvertFrom-Json` with `ConvertFrom-String` for processing variable group outputs.
  - Simplified logic for fetching stable, current, and next version numbers by removing `PSObject.Properties` references.
- Updated `UpdatePackageMetadata.ps1`:
  - Added explicit type casting to `[version]` for version comparison logic.
  - Ensured accurate handling of production and stable version revisions.
These changes improve script reliability, maintainability, and compatibility with Azure DevOps CLI outputs.
AB#4373

* Refactor `DeclareRequiredVersionNumbers.ps1` for improved variable parsing.
- Added installation and import of the `ConvertFrom-StringTable` module from the PowerShell Gallery.
- Replaced `ConvertFrom-String` with `ConvertFrom-StringTable` for parsing Azure DevOps variable group outputs.
- Improved compatibility and reliability of variable parsing logic.
AB#4373

* Add confirmation preference to `DeclareRequiredVersionNumbers.ps1`.
- Set `$ConfirmPreference` to `'None'` to suppress confirmation prompts during module installation.
- Ensured smooth installation of the `ConvertFrom-StringTable` module from the PowerShell Gallery.
AB#4373

* Update `DeclareRequiredVersionNumbers.ps1` to enhance PowerShell module installation.
- Replaced `$ConfirmPreference = 'None'` with `Set-PSRepository -Name PSGallery -InstallationPolicy Trusted` for setting the repository policy.
- Ensured the PowerShell Gallery repository is trusted before installing the `ConvertFrom-StringTable` module.
AB#4373

* Refactor `DeclareRequiredVersionNumbers.ps1` for improved property access.
- Replaced `$packageVersions.PSObject.Properties['current-prerelease-label'].Value` with a `Where-Object` and `Select-Object` pipeline for retrieving the `current-prerelease-label` value.
- Replaced `$packageVersions.PSObject.Properties['next-prerelease-label'].Value` with a similar pipeline for retrieving the `next-prerelease-label` value.
- Improved readability and maintainability by using consistent and modern PowerShell practices.
AB#4373

* Refactor and enhance pipeline scripts and templates for improved flexibility and maintainability.
- **Pipeline Templates**:
  - Changed `scriptType` from `pscore` to `ps` in `datastandardizer-ci-build-pipeline.yml` for compatibility.
  - Added new arguments for PowerShell scripts to control output preferences (`OutputInformationPreference`, `OutputVerbosePreference`, `OutputDebugPreference`).
  - Introduced additional tasks to handle production prerelease arguments and stable version updates.
- **PowerShell Scripts**:
  - Added `#Requires -Version 3.0` to enforce compatibility with PowerShell 3.0 or later.
  - Updated `Import-Module` commands to use `-Scope Local` for better module isolation.
  - Enhanced version update logic in `UpdatePipelineVersionNumber.ps1`:
    - Added support for updating prerelease labels with validation.
    - Improved verbose logging for variable updates.
    - Ensured non-negative values for version components using `[System.Math]::Max`.
  - Refactored scripts to include additional validation for parameters and improved error handling.
These changes improve the reliability, readability, and extensibility of the build and release pipelines.
AB#4373

* Fix syntax issue in `datastandardizer-ci-build-pipeline.yml`.
- Corrected a misplaced comma in the condition logic for updating stable version numbers.
- Ensured proper evaluation of `publicationRequiredPackageNames` and `changedPackageNames` variables.
AB#4373

* Add `SYSTEM_ACCESSTOKEN` environment variable to CI pipeline.
- Updated `datastandardizer-ci-build-pipeline.yml` to include `SYSTEM_ACCESSTOKEN` in the `env` section.
- Ensures proper authentication for tasks requiring system access tokens.
AB#4373

* Fix syntax and argument handling in `datastandardizer-ci-build-pipeline.yml`.
- Corrected a misplaced closing brace in the `Where-Object` condition for `$packageVersions`.
- Removed the unused `-VersionPrereleaseLabelName` argument from the `UpdatePipelineVersionNumber.ps1` script invocation.
- Improved consistency and readability of script arguments.
AB#4373

* Refactor pipeline scripts and templates for improved compatibility and maintainability.
- Updated `datastandardizer-ci-build-pipeline.yml`:
  - Changed `scriptType` from `ps` to `pscore` for all tasks using PowerShell scripts to ensure compatibility with PowerShell Core.
- Refactored `UpdatePipelineVersionNumber.ps1`:
  - Simplified `$packageInfo` and `$packageVersions` extraction by removing unnecessary parentheses around pipeline expressions.
  - Improved readability and consistency in handling environment variables and JSON parsing.
These changes enhance compatibility with PowerShell Core and streamline script logic.
AB#4373

* Add module import to CI pipeline PowerShell script.
- Updated `datastandardizer-ci-build-pipeline.yml` to include the import of the `CommonHelpers.psm1` module.
- Ensures the `CommonHelpers` module is available for use in the pipeline tasks.
AB#4373

* Refactor PowerShell module imports in pipeline templates.
- Updated `build-dependency-version.yml` and `datastandardizer-ci-build-pipeline.yml` to include the `-Scope Local` parameter when importing the `CommonHelpers.psm1` module.
- Ensures better isolation and compatibility for module imports across pipeline tasks.
AB#4373

---------

Co-authored-by: matthew25187 <maintainer@datastandardizer.com>
@matthew25187 matthew25187 merged commit 8c70060 into master Jan 9, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant