Skip to content

refactor: Bump @parse/node-apn from 7.1.0 to 8.0.0#544

Merged
mtrezza merged 1 commit intoparse-community:masterfrom
mtrezza:refactor/node-apn-8.0.0
Mar 31, 2026
Merged

refactor: Bump @parse/node-apn from 7.1.0 to 8.0.0#544
mtrezza merged 1 commit intoparse-community:masterfrom
mtrezza:refactor/node-apn-8.0.0

Conversation

@mtrezza
Copy link
Copy Markdown
Member

@mtrezza mtrezza commented Mar 31, 2026

Closes #541

Changes

  • 8.0.0: Removes support for Node 18

Breaking Changes

None applicable — this project's CI already runs Node.js 20/22/24 and does not support Node 18.

Code Changes Required

None — the upgrade is a drop-in replacement. All 93 tests pass with 100% coverage.

Summary by CodeRabbit

  • Chores
    • Upgraded dependencies to latest versions, including updates for push notification and cryptographic packages.
    • Updated Node.js compatibility to support versions 20, 22, and 24.

@parse-github-assistant
Copy link
Copy Markdown

🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review.

Tip

  • Keep pull requests small. Large PRs will be rejected. Break complex features into smaller, incremental PRs.
  • Use Test Driven Development. Write failing tests before implementing functionality. Ensure tests pass.
  • Group code into logical blocks. Add a short comment before each block to explain its purpose.
  • We offer conceptual guidance. Coding is up to you. PRs must be merge-ready for human review.
  • Our review focuses on concept, not quality. PRs with code issues will be rejected. Use an AI agent.
  • Human review time is precious. Avoid review ping-pong. Inspect and test your AI-generated code.

Note

Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect.

Caution

Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 31, 2026

📝 Walkthrough

Walkthrough

Updated the @parse/node-apn package from version 7.1.0 to 8.0.0, which removes support for Node 18 and updates the required Node version range to 20, 22, or 24. Also updated the transitive node-forge dependency from 1.3.2 to 1.4.0.

Changes

Cohort / File(s) Summary
Dependency Version Updates
package.json, package-lock.json
Upgraded @parse/node-apn from 7.1.0 to 8.0.0, updated node-forge from 1.3.2 to 1.4.0, and changed engines.node requirement from >=18 to 20 || 22 || 24.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

🚥 Pre-merge checks | ✅ 5 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is incomplete. It references issue #541 and describes the changes but does not follow the required template with sections for Issue, Approach, and Tasks. Update the PR description to follow the repository template structure including Issue, Approach, and Tasks sections with appropriate checkboxes and details.
Human Review ⚠️ Warning PR lacks adequate human review; a critical issue regarding non-existent dependency version 8.0.0 has been identified in review comments but remains unaddressed by the PR author. PR author must respond to review comment about non-existent version 8.0.0, correct the dependency to an actual published release, and re-test before merging.
Engage In Review Feedback ⚠️ Warning PR contains unaddressed review feedback about @parse/node-apn version 8.0.0 not existing on npm, with no author engagement, corrective commits, or discussion in response. Author should either provide evidence that version 8.0.0 is valid or revert to version 7.1.0, with supporting explanation or discussion in the PR.
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The PR title begins with 'refactor:' prefix as required and accurately describes the main change: bumping @parse/node-apn dependency from 7.1.0 to 8.0.0.
Linked Issues check ✅ Passed The PR fulfills the objective from issue #541 by upgrading @parse/node-apn from 7.1.0 to 8.0.0, with appropriate updates to package.json and package-lock.json reflecting the breaking change of removing Node 18 support.
Out of Scope Changes check ✅ Passed All changes in the PR are in-scope: package.json and package-lock.json updates for the @parse/node-apn 8.0.0 upgrade with updated node-forge dependency and Node.js engine requirements, directly supporting issue #541 objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Security Check ✅ Passed The pull request updates @parse/node-apn from 7.1.0 to 8.0.0 with valid integrity hashes and uses stable APIs compatible with both versions.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.2.510)
package.json

2026-03-31 13:31:46,816 [MainThread ] [ERROR] Template file not found: package.json
2026-03-31 13:31:46,822 [MainThread ] [ERROR] Template file not found: package.json
2026-03-31 13:31:46,830 [MainThread ] [ERROR] Template file not found: package.json
2026-03-31 13:31:46,889 [MainThread ] [ERROR] Failed to invoke function /usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner. with package.json
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 88, in func_wrapper
result = original_func(item)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner.py", line 74, in
results = parallel_runner.run_function(lambda f: (f, self._parse_file(f)), files_to_load)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/ope

... [truncated 2547 characters] ...

[MainThread ] [WARNI] Secret scanning: could not process file package.json
2026-03-31 13:31:46,987 [MainThread ] [ERROR] Exception traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/main.py", line 647, in run
self.scan_reports = runner_registry.run(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/runner_registry.py", line 177, in run
for result in parallel_runner_results:
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 118, in _run_function_multiprocess_fork
raise v.internal_exception.with_traceback(v.internal_exception.traceback)
FileNotFoundError: [Errno 2] No such file or directory: 'package.json'


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 31, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (afe6532) to head (a82e8dc).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #544   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            8         8           
  Lines         1172      1172           
=========================================
  Hits          1172      1172           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

coderabbitai[bot]
coderabbitai bot previously requested changes Mar 31, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package.json`:
- Line 27: The dependency "@parse/node-apn" is pinned to a non-existent "8.0.0"
and will break installs; update the package.json entry for "@parse/node-apn" to
the published latest stable "7.1.0" (or, if 8.0.0 is intentionally
private/unreleased, replace the version with the correct registry/git URL or
document the private registry) and then verify src/APNS.js usage of Provider,
Notification and related properties still works against 7.1.0.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0ded8d83-3645-4af6-b394-085eabaed190

📥 Commits

Reviewing files that changed from the base of the PR and between afe6532 and a82e8dc.

📒 Files selected for processing (2)
  • package-lock.json
  • package.json
👮 Files not reviewed due to content moderation or server errors (1)
  • package-lock.json

"license": "MIT",
"dependencies": {
"@parse/node-apn": "7.1.0",
"@parse/node-apn": "8.0.0",
Copy link
Copy Markdown

@coderabbitai coderabbitai bot Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

For @parse/node-apn` version 8.0.0, confirm whether these APIs are still valid and unchanged:

  1. new apn.Provider(options)
  2. new apn.Notification()
  3. Notification methods: setAlert, setTitle, setBadge, setSound, setContentAvailable, setMutableContent, setTargetContentIdentifier, setInterruptionLevel, setCategory, setThreadId
  4. Notification properties: aps, payload, id, collapseId, requestId, channelId, pushType, topic, expiry, priority
    Please provide links to official docs/changelog/release notes.`

💡 Result:

No, @parse/node-apn version 8.0.0 does not exist. The latest version is 7.1.0 (published Jan 31, 2026). Therefore, the APIs cannot be confirmed for a non-existent version. For the current latest version 7.1.0, the APIs are valid and unchanged based on the official README and documentation: 1. new apn.Provider(options) - Valid. Example: const apnProvider = new apn.Provider(options); 2. new apn.Notification - Valid. Example: let note = new apn.Notification; 3. Notification methods (setAlert, setTitle, setBadge, setSound, setContentAvailable, setMutableContent, setTargetContentIdentifier, setInterruptionLevel, setCategory, setThreadId) - Valid. Examples include note.alert, note.title (implied setTitle), note.badge, note.sound. Other methods like setContentAvailable etc. are standard and unchanged per docs/tree. 4. Notification properties (aps, payload, id, collapseId, requestId, channelId, pushType, topic, expiry, priority) - Valid. Examples: note.payload, note.topic, note.expiry, note.badge (part of aps), note.collapseId implied. Official documentation and README: https://www.npmjs.com/package/@parse/node-apn GitHub repo: https://github.com/parse-community/node-apn No changelog explicitly listing breaking changes to these APIs in recent releases (v6.x to v7.1.0 add features like broadcast support but core constructors/methods unchanged). Version history shows no v8.0.0; releases up to 7.1.0 with incremental features (e.g., Node 18/20 support in v6.0.0, broadcast in v6.3/6.4). No evidence of deprecation or changes to listed APIs.

Citations:


@parse/node-apn version 8.0.0 does not exist

Line 27 specifies "@parse/node-apn": "8.0.0", but the latest published version is 7.1.0 (released Jan 31, 2026). This will cause npm install to fail. Either update to the latest stable version (7.1.0) or clarify if 8.0.0 is an unreleased/private version. All APIs used in src/APNS.js (Provider constructor, Notification methods, and properties) are supported in 7.1.0.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package.json` at line 27, The dependency "@parse/node-apn" is pinned to a
non-existent "8.0.0" and will break installs; update the package.json entry for
"@parse/node-apn" to the published latest stable "7.1.0" (or, if 8.0.0 is
intentionally private/unreleased, replace the version with the correct
registry/git URL or document the private registry) and then verify src/APNS.js
usage of Provider, Notification and related properties still works against
7.1.0.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@parse/node-apn 8.0.0 is published on npm and installs successfully. The only change in 8.0.0 is dropping Node 18 support — no API changes. All 93 tests pass with 100% coverage against 8.0.0.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mtrezza, apologies for the false positive — my earlier web search returned stale data that didn't reflect the published 8.0.0 release. Thank you for the confirmation that the package is live on npm, installs successfully, and all 93 tests pass with 100% coverage. The upgrade is valid and the review comment was incorrect.

@mtrezza mtrezza dismissed coderabbitai[bot]’s stale review March 31, 2026 13:41

@parse/node-apn 8.0.0 is published on npm. The only change is dropping Node 18 support — no API changes. All 93 tests pass with 100% coverage.

@mtrezza mtrezza merged commit 4fb5edc into parse-community:master Mar 31, 2026
9 checks passed
@mtrezza mtrezza deleted the refactor/node-apn-8.0.0 branch March 31, 2026 13:45
@parseplatformorg
Copy link
Copy Markdown
Contributor

🎉 This change has been released in version 8.4.0

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.

2 participants