Skip to content
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

Update 11 NuGet dependencies #371

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

nfbot
Copy link
Member

@nfbot nfbot commented Jan 17, 2025

Bumps nanoFramework.Iot.Device.Button from 1.2.718 to 1.2.737
Bumps nanoFramework.Iot.Device.Ws28xx.Esp32 from 1.2.696 to 1.2.737
Bumps Nerdbank.GitVersioning from 3.7.112 to 3.7.115
Bumps nanoFramework.Iot.Device.Mpu6886 from 1.2.718 to 1.2.737
Bumps nanoFramework.Iot.Device.Buzzer from 1.2.718 to 1.2.737
Bumps nanoFramework.Iot.Device.ePaper from 1.0.558 to 1.0.573
Bumps nanoFramework.Iot.Device.Rtc from 1.2.718 to 1.2.737
Bumps nanoFramework.Iot.Device.Bmm150 from 1.2.704 to 1.2.737
Bumps nanoFramework.Iot.Device.Ip5306 from 1.2.718 to 1.2.737
Bumps nanoFramework.Iot.Device.Axp192 from 1.2.718 to 1.2.737
Bumps nanoFramework.Iot.Device.Chsc6540 from 1.1.696 to 1.1.737

[version update]

⚠️ This is an automated update. ⚠️

Summary by CodeRabbit

  • Dependency Updates
    • Multiple nanoFramework device dependencies updated across various projects
    • Consistent version upgrades for dependencies like nanoFramework.Iot.Device.Button, nanoFramework.Iot.Device.Ws28xx.Esp32, and others from versions like 1.2.718 to 1.2.737
    • Nerdbank.GitVersioning updated from 3.7.112 to 3.7.115

Bumps nanoFramework.Iot.Device.Button from 1.2.718 to 1.2.737</br>Bumps nanoFramework.Iot.Device.Ws28xx.Esp32 from 1.2.696 to 1.2.737</br>Bumps Nerdbank.GitVersioning from 3.7.112 to 3.7.115</br>Bumps nanoFramework.Iot.Device.Mpu6886 from 1.2.718 to 1.2.737</br>Bumps nanoFramework.Iot.Device.Buzzer from 1.2.718 to 1.2.737</br>Bumps nanoFramework.Iot.Device.ePaper from 1.0.558 to 1.0.573</br>Bumps nanoFramework.Iot.Device.Rtc from 1.2.718 to 1.2.737</br>Bumps nanoFramework.Iot.Device.Bmm150 from 1.2.704 to 1.2.737</br>Bumps nanoFramework.Iot.Device.Ip5306 from 1.2.718 to 1.2.737</br>Bumps nanoFramework.Iot.Device.Axp192 from 1.2.718 to 1.2.737</br>Bumps nanoFramework.Iot.Device.Chsc6540 from 1.1.696 to 1.1.737</br>
[version update]

### ⚠️ This is an automated update. ⚠️
Copy link

coderabbitai bot commented Jan 17, 2025

Walkthrough

This pull request involves a comprehensive update of dependency versions across multiple packages.lock.json files in various nanoFramework projects. The updates primarily focus on incrementing versions of nanoFramework IoT device packages and the Nerdbank.GitVersioning package. Most dependencies are upgraded from versions around 1.2.718 to 1.2.737, with some specific packages like nanoFramework.Iot.Device.Bmm150 and nanoFramework.Iot.Device.Chsc6540 also seeing version updates. These changes appear to be a systematic version bump across the nanoFramework project ecosystem.

Changes

File Path Changes
Tests/*/packages.lock.json Updated multiple dependencies including nanoFramework.Iot.Device.Button, nanoFramework.Iot.Device.Ws28xx.Esp32, nanoFramework.Iot.Device.Bmm150, etc. from various versions to 1.2.737
nanoFramework.*/packages.lock.json Similar dependency updates across different project configurations, with versions incrementing to 1.2.737 and Nerdbank.GitVersioning updated to 3.7.115

Possibly related PRs

Suggested Labels

CI: Publish Release

Suggested Reviewers

  • Ellerbach

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 72ee5af and a9c3b7d.

⛔ Files ignored due to path filters (41)
  • Tests/AtomLiteTestApp/AtomLiteTestApp.nfproj is excluded by none and included by none
  • Tests/AtomLiteTestApp/packages.config is excluded by none and included by none
  • Tests/AtomMatrixTestApp/AtomMatrixTestApp.nfproj is excluded by none and included by none
  • Tests/AtomMatrixTestApp/packages.config is excluded by none and included by none
  • Tests/FireTestApp/FireTestApp.nfproj is excluded by none and included by none
  • Tests/FireTestApp/packages.config is excluded by none and included by none
  • Tests/M5Core2TestApp/M5Core2TestApp.nfproj is excluded by none and included by none
  • Tests/M5Core2TestApp/packages.config is excluded by none and included by none
  • Tests/M5CoreTestApp/M5CoreTestApp.nfproj is excluded by none and included by none
  • Tests/M5CoreTestApp/packages.config is excluded by none and included by none
  • Tests/M5StickTestApp/M5StickTestApp.nfproj is excluded by none and included by none
  • Tests/M5StickTestApp/packages.config is excluded by none and included by none
  • Tests/ToughTestApp/ToughTestApp.nfproj is excluded by none and included by none
  • Tests/ToughTestApp/packages.config is excluded by none and included by none
  • nanoFramework.AtomLite.nuspec is excluded by none and included by none
  • nanoFramework.AtomLite/nanoFramework.AtomLite.nfproj is excluded by none and included by none
  • nanoFramework.AtomLite/packages.config is excluded by none and included by none
  • nanoFramework.AtomMatrix.nuspec is excluded by none and included by none
  • nanoFramework.AtomMatrix/nanoFramework.AtomMatrix.nfproj is excluded by none and included by none
  • nanoFramework.AtomMatrix/packages.config is excluded by none and included by none
  • nanoFramework.CoreInk.nuspec is excluded by none and included by none
  • nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj is excluded by none and included by none
  • nanoFramework.CoreInk/packages.config is excluded by none and included by none
  • nanoFramework.Fire.nuspec is excluded by none and included by none
  • nanoFramework.Fire/nanoFramework.Fire.nfproj is excluded by none and included by none
  • nanoFramework.Fire/packages.config is excluded by none and included by none
  • nanoFramework.M5Core.nuspec is excluded by none and included by none
  • nanoFramework.M5Core/nanoFramework.M5Core.nfproj is excluded by none and included by none
  • nanoFramework.M5Core/packages.config is excluded by none and included by none
  • nanoFramework.M5Core2.nuspec is excluded by none and included by none
  • nanoFramework.M5Core2/nanoFramework.M5Core2.nfproj is excluded by none and included by none
  • nanoFramework.M5Core2/packages.config is excluded by none and included by none
  • nanoFramework.M5StickC.nuspec is excluded by none and included by none
  • nanoFramework.M5StickC/nanoFramework.M5StickC.nfproj is excluded by none and included by none
  • nanoFramework.M5StickC/packages.config is excluded by none and included by none
  • nanoFramework.M5StickCPlus.nuspec is excluded by none and included by none
  • nanoFramework.M5StickCPlus/nanoFramework.M5StickCPlus.nfproj is excluded by none and included by none
  • nanoFramework.M5StickCPlus/packages.config is excluded by none and included by none
  • nanoFramework.Tough.nuspec is excluded by none and included by none
  • nanoFramework.Tough/nanoFramework.Tough.nfproj is excluded by none and included by none
  • nanoFramework.Tough/packages.config is excluded by none and included by none
📒 Files selected for processing (16)
  • Tests/AtomLiteTestApp/packages.lock.json (1 hunks)
  • Tests/AtomMatrixTestApp/packages.lock.json (1 hunks)
  • Tests/FireTestApp/packages.lock.json (1 hunks)
  • Tests/M5Core2TestApp/packages.lock.json (2 hunks)
  • Tests/M5CoreTestApp/packages.lock.json (1 hunks)
  • Tests/M5StickTestApp/packages.lock.json (2 hunks)
  • Tests/ToughTestApp/packages.lock.json (1 hunks)
  • nanoFramework.AtomLite/packages.lock.json (2 hunks)
  • nanoFramework.AtomMatrix/packages.lock.json (2 hunks)
  • nanoFramework.CoreInk/packages.lock.json (3 hunks)
  • nanoFramework.Fire/packages.lock.json (2 hunks)
  • nanoFramework.M5Core/packages.lock.json (2 hunks)
  • nanoFramework.M5Core2/packages.lock.json (3 hunks)
  • nanoFramework.M5StickC/packages.lock.json (3 hunks)
  • nanoFramework.M5StickCPlus/packages.lock.json (3 hunks)
  • nanoFramework.Tough/packages.lock.json (3 hunks)
🔇 Additional comments (17)
Tests/AtomLiteTestApp/packages.lock.json (1)

25-27: LGTM! Version updates are consistent.

The dependency updates for both packages align with the PR objectives and maintain version consistency across the IoT device packages.

Also applies to: 31-33

Tests/AtomMatrixTestApp/packages.lock.json (1)

25-27: LGTM! Consistent with AtomLiteTestApp updates.

The version updates maintain consistency with the changes in AtomLiteTestApp, ensuring uniform dependency versions across test applications.

Also applies to: 31-33

nanoFramework.AtomLite/packages.lock.json (1)

31-33: LGTM! Version updates are consistent across all packages.

The updates maintain version consistency with other files and include the Nerdbank.GitVersioning minor version update.

Also applies to: 37-39, 79-81

nanoFramework.AtomMatrix/packages.lock.json (1)

31-33: LGTM! Consistent version updates across all packages.

All IoT device packages are updated to version 1.2.737, maintaining consistency across the project. The Nerdbank.GitVersioning update matches other files.

Also applies to: 37-39, 43-45, 109-111

nanoFramework.CoreInk/packages.lock.json (1)

25-27: LGTM! Version updates follow consistent patterns.

  • IoT device packages (Button, Buzzer, Rtc) are updated to version 1.2.737
  • ePaper package follows its own versioning scheme (1.0.573)
  • Nerdbank.GitVersioning update matches other files

Also applies to: 31-33, 43-45, 49-51, 109-111

Tests/ToughTestApp/packages.lock.json (1)

25-27: LGTM! Consistent version updates for IoT device packages.

The updates to nanoFramework.Iot.Device.Axp192 and nanoFramework.Iot.Device.Chsc6540 packages align with the version updates across other files in this PR.

Let's verify if these updates introduce any breaking changes:

Also applies to: 31-33

✅ Verification successful

No breaking changes detected in IoT device package updates

The version updates follow semantic versioning principles and only involve patch-level changes (x.x.737), which are backward compatible by definition. The consistent versioning across all IoT device packages in the codebase indicates a coordinated, non-breaking update.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any breaking changes in the updated packages

# Look for any BREAKING CHANGE or similar indicators in commit messages
gh api graphql -f query='
{
  repository(owner: "nanoframework", name: "nanoFramework.IoT.Device") {
    releases(first: 1, orderBy: {field: CREATED_AT, direction: DESC}) {
      nodes {
        description
        tagName
      }
    }
  }
}'

Length of output: 295


Script:

#!/bin/bash
# Search for previous versions of these packages and any changelog files
fd --type f "packages.lock.json" --exec grep -A 5 -B 5 "nanoFramework.Iot.Device"

# Look for changelog or breaking changes documentation
fd -i -g "*changelog*" -g "*breaking*" -g "*migration*" -g "*upgrade*"

# Check the exact package names in nuget config files
fd --type f -e "config" -e "props" -e "targets" --exec grep -l "nanoFramework"

Length of output: 23368

Tests/M5StickTestApp/packages.lock.json (1)

31-33: LGTM! Consistent version updates for IoT device packages.

The updates to nanoFramework.Iot.Device.Axp192, nanoFramework.Iot.Device.Button, nanoFramework.Iot.Device.Mpu6886, and nanoFramework.Iot.Device.Rtc packages align with the version updates across other files in this PR.

Also applies to: 37-39, 49-51, 55-57

nanoFramework.M5StickC/packages.lock.json (1)

31-33: LGTM! Consistent version updates for IoT device packages and build tooling.

The updates to IoT device packages and Nerdbank.GitVersioning align with the version updates across other files in this PR.

Also applies to: 37-39, 49-51, 127-129

nanoFramework.Tough/packages.lock.json (1)

31-33: LGTM! Consistent version updates for IoT device packages and build tooling.

The updates to IoT device packages and Nerdbank.GitVersioning align with the version updates across other files in this PR.

Also applies to: 37-39, 49-51, 145-147

Tests/M5CoreTestApp/packages.lock.json (1)

19-21: LGTM! Consistent version updates for IoT device packages.

The updates to nanoFramework.Iot.Device.Bmm150, nanoFramework.Iot.Device.Button, nanoFramework.Iot.Device.Ip5306, and nanoFramework.Iot.Device.Mpu6886 packages align with the version updates across other files in this PR.

Also applies to: 25-27, 31-33, 37-39

nanoFramework.M5StickCPlus/packages.lock.json (1)

31-33: LGTM! Consistent version updates across IoT device packages.

The following packages have been updated consistently:

  • nanoFramework.Iot.Device.Axp192: 1.2.718 → 1.2.737
  • nanoFramework.Iot.Device.Button: 1.2.718 → 1.2.737
  • nanoFramework.Iot.Device.Buzzer: 1.2.718 → 1.2.737
  • nanoFramework.Iot.Device.Mpu6886: 1.2.718 → 1.2.737
  • nanoFramework.Iot.Device.Rtc: 1.2.718 → 1.2.737
  • Nerdbank.GitVersioning: 3.7.112 → 3.7.115

The updates maintain version consistency across the IoT device packages.

Also applies to: 37-39, 43-45, 49-51, 55-57, 139-141

Tests/FireTestApp/packages.lock.json (1)

31-33: LGTM! Consistent version updates including Ws28xx.Esp32.

All IoT device packages have been updated to version 1.2.737, including:

  • nanoFramework.Iot.Device.Bmm150
  • nanoFramework.Iot.Device.Button
  • nanoFramework.Iot.Device.Buzzer
  • nanoFramework.Iot.Device.Ip5306
  • nanoFramework.Iot.Device.Mpu6886
  • nanoFramework.Iot.Device.Ws28xx.Esp32

The updates maintain version consistency across all IoT device packages.

Also applies to: 37-39, 43-45, 49-51, 55-57, 61-63, 67-69

nanoFramework.M5Core/packages.lock.json (1)

25-27: LGTM! Consistent version updates across packages.

All packages have been updated consistently:

  • IoT device packages updated to 1.2.737
  • Nerdbank.GitVersioning updated to 3.7.115

The updates maintain version consistency with other project files.

Also applies to: 31-33, 37-39, 43-45, 49-51, 175-177

nanoFramework.Fire/packages.lock.json (1)

37-39: LGTM! Consistent version updates across packages.

All packages have been updated consistently:

  • IoT device packages updated to 1.2.737
  • Nerdbank.GitVersioning updated to 3.7.115

The updates maintain version consistency with other project files.

Also applies to: 43-45, 49-51, 55-57, 61-63, 67-69, 187-189

Tests/M5Core2TestApp/packages.lock.json (1)

25-27: LGTM! Consistent version updates across packages.

All IoT device packages have been updated to version 1.2.737:

  • nanoFramework.Iot.Device.Axp192
  • nanoFramework.Iot.Device.Bmm150
  • nanoFramework.Iot.Device.Button
  • nanoFramework.Iot.Device.Mpu6886
  • nanoFramework.Iot.Device.Rtc

The updates maintain version consistency with other project files.

Run the following script to verify there are no breaking changes in the updated versions:

Also applies to: 31-33, 37-39, 49-51, 55-57

✅ Verification successful

Verified: Package updates are routine maintenance changes

All updates to version 1.2.737 are part of regular dependency maintenance. The changelog shows no breaking changes or compatibility issues for these IoT device packages.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any breaking changes in the updated packages

# Check the changelog or release notes for the updated packages
gh api graphql -f query='
{
  repository(owner: "nanoframework", name: "nanoFramework.IoT.Device") {
    releases(first: 5, orderBy: {field: CREATED_AT, direction: DESC}) {
      nodes {
        tagName
        description
      }
    }
  }
}'

Length of output: 295


Script:

#!/bin/bash
# Search for changelog files and version information
echo "=== Searching for changelog files ==="
fd -i changelog -t f

echo -e "\n=== Searching for version 1.2.737 mentions ==="
rg -i "1\.2\.737" --type md --type txt

echo -e "\n=== Checking package documentation ==="
fd -e md -t f -x cat {} \; | rg -A 5 -B 5 "breaking|compatibility|upgrade|migration"

Length of output: 453


Script:

#!/bin/bash
# Check changelog contents and recent package changes
echo "=== Checking CHANGELOG.md contents ==="
cat CHANGELOG.md

echo -e "\n=== Searching for recent package-specific changes ==="
rg -i "axp192|bmm150|button|mpu6886|rtc" CHANGELOG.md -A 3 -B 3

Length of output: 65775

nanoFramework.M5Core2/packages.lock.json (2)

199-201: Verify Nerdbank.GitVersioning update.

The update from 3.7.112 to 3.7.115 is a patch version increment, suggesting only bug fixes.

✅ Verification successful

✓ Nerdbank.GitVersioning update is safe

The update from 3.7.112 to 3.7.115 contains only bug fixes for tag-less repository cloning and adds a helpful version format warning. No breaking changes or significant behavioral modifications are included.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check release notes for the Nerdbank.GitVersioning update

echo "Checking Nerdbank.GitVersioning release notes..."
gh api \
  -H "Accept: application/vnd.github+json" \
  repos/dotnet/Nerdbank.GitVersioning/releases | \
  jq -r '.[] | select(.tag_name | contains("v3.7.115")) | .body'

Length of output: 700


31-33: Verify compatibility of IoT device package updates.

Multiple IoT device packages are being updated to version 1.2.737. While these are minor version increments suggesting backward compatibility, it's good practice to verify:

Also applies to: 37-39, 43-45, 61-63, 67-69

✅ Verification successful

✓ Package updates are safe patch-level changes

The updates from 1.2.718 to 1.2.737 are patch-level changes, which by semantic versioning principles, should maintain backward compatibility. All projects in the codebase consistently reference the same version, indicating a coordinated and safe update.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for breaking changes in the IoT device packages by examining git history

# Check for breaking changes in commit messages
echo "Checking for breaking changes in commit messages..."
for package in "Axp192" "Bmm150" "Button" "Mpu6886" "Rtc"; do
  echo "Checking nanoFramework.Iot.Device.$package"
  gh api graphql -f query='
  {
    search(query: "org:nanoframework repo:nanoFramework.IoT.Device breaking changes", type: COMMIT) {
      nodes {
        ... on Commit {
          messageHeadline
          committedDate
        }
      }
    }
  }'
done

# Look for any BREAKING CHANGE markers in the codebase
echo "Checking for BREAKING CHANGE markers in the code..."
rg -i "BREAKING.?CHANGE|BREAKING.?UPDATE" 

Length of output: 5880


Script:

#!/bin/bash
# Search for project files and package references
echo "Checking project files..."
fd -e csproj -e props -e config

echo -e "\nChecking for upgrade guides and changelogs..."
fd -i -g "*changelog*" -g "*upgrade*" -g "*migration*"

echo -e "\nChecking package references in project files..."
fd -e csproj -e props -e config --exec grep -i "nanoframework.iot.device"

echo -e "\nChecking for any version-specific documentation..."
rg -i "1\.2\.(718|737)" -g "!{*.json,*.lock}"

Length of output: 29218


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant