-
Notifications
You must be signed in to change notification settings - Fork 123
Release v32.2.2 #1206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Release v32.2.2 #1206
Conversation
Summary of ChangesHello @AdyenAutomationBot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request serves as a release preparation, updating the Adyen .NET API library to version "32.2.2". It primarily involves incrementing the version numbers in various project files and internal constants to reflect the latest state of the codebase, incorporating changes from previously merged pull requests. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request updates the version number to 32.2.2 across several files. While the changes are consistent, they highlight a maintainability issue: the version number is duplicated in multiple locations (.csproj files, a C# constant, and a VERSION file). This manual process is error-prone and can lead to inconsistencies. My review includes suggestions to centralize the version management by leveraging MSBuild properties to remove redundant version declarations in the project files, reading the version from assembly attributes instead of using a hardcoded constant, and automating the generation of the VERSION file. These changes would make the release process more robust and less manual.
| <AssemblyVersion>32.2.2</AssemblyVersion> | ||
| <FileVersion>32.2.2</FileVersion> | ||
| <Version>32.2.2</Version> | ||
| <PackageVersion>32.2.2</PackageVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To simplify version management and reduce redundancy, you can rely on the Version property. AssemblyVersion, FileVersion, and PackageVersion all default to the value of Version if not specified. You can remove the explicit declarations for AssemblyVersion, FileVersion, and PackageVersion.
<Version>32.2.2</Version>
| <AssemblyVersion>32.2.2</AssemblyVersion> | ||
| <FileVersion>32.2.2</FileVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <RepositoryUrl>https://github.com/Adyen/adyen-dotnet-api-library</RepositoryUrl> | ||
| <RepositoryType>git</RepositoryType> | ||
| <PackageTags>32.2.1</PackageTags> | ||
| <PackageTags>32.2.2</PackageTags> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using the version number as a package tag is unconventional. PackageTags are meant for keywords that help users discover your package on NuGet, while the version is already a primary property of the package. Consider using descriptive tags like adyen, payment, fintech, pos, terminal instead. If the version number is required here for some internal process, consider automating its update from a single source of truth to avoid manual errors.
| <PackageIcon>adyen-logo.png</PackageIcon> | ||
| <PackageReadmeFile>README.md</PackageReadmeFile> | ||
| <PackageVersion>32.2.1</PackageVersion> | ||
| <PackageVersion>32.2.2</PackageVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| public const string LibName = "adyen-dotnet-api-library"; | ||
| public const string LibVersion = "32.2.1"; | ||
| public const string LibVersion = "32.2.2"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This hardcoded version string is another place where the version number is duplicated across the codebase. This increases the risk of inconsistencies during a release. To ensure this value is always in sync with the project version, consider reading it from the assembly's metadata at runtime.
For example, you could change this const to a static property:
using System.Reflection;
// ...
public static string LibVersion { get; } = typeof(ClientConfig).Assembly.GetCustomAttribute<System.Reflection.AssemblyInformationalVersionAttribute>()?.InformationalVersion;This would centralize your versioning and make releases less error-prone.
| @@ -1 +1 @@ | |||
| 32.2.1 No newline at end of file | |||
| 32.2.2 No newline at end of file | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having a separate VERSION file that is manually updated adds another step to the release process and can lead to version mismatches. To improve maintainability, consider generating this file as part of your build or release pipeline, sourcing the version from a single, centralized definition (like the one in the main .csproj file).
Merged pull requests to be released:
Full Changelog: v32.2.1...main