Skip to content

Update dependency selfsigned to v5#1615

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/selfsigned-5.x
Open

Update dependency selfsigned to v5#1615
renovate[bot] wants to merge 1 commit intomainfrom
renovate/selfsigned-5.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Dec 1, 2025

This PR contains the following updates:

Package Change Age Confidence
selfsigned 4.0.15.5.0 age confidence

Release Notes

jfromaniello/selfsigned (selfsigned)

v5.5.0

Compare Source

v5.4.0

Compare Source

v5.2.0

Compare Source

v5.1.0

Compare Source

v5.0.0

Compare Source

🚀 Major Rewrite

Complete rewrite replacing node-forge with modern @peculiar/x509 and pkijs libraries.

✨ Added
  • Native WebCrypto API support for better performance and security
  • TypeScript examples in documentation
  • Async/await support as the primary API
  • Support for keyPair option to use existing keys
  • Updated to use Node.js native crypto for all operations
  • Separate selfsigned/pkcs7 module for tree-shakeable PKCS#7 support
💥 BREAKING CHANGES
  1. Async-only API: The generate() function now returns a Promise. Synchronous generation has been removed.

    // Old (v4.x)
    const pems = selfsigned.generate(attrs, options);
    
    // New (v5.x)
    const pems = await selfsigned.generate(attrs, options);
  2. No callback support: Callbacks have been completely removed in favor of Promises.

    // Old (v4.x)
    selfsigned.generate(attrs, options, function(err, pems) { ... });
    
    // New (v5.x)
    const pems = await selfsigned.generate(attrs, options);
  3. Minimum Node.js version: Now requires Node.js >= 15.6.0 (was >= 10)

    • Required for native WebCrypto support
  4. Dependencies changed:

    • ❌ Removed: node-forge (1.64 MB)
    • ✅ Added: @peculiar/x509 (551 KB) - 66% smaller!
    • ✅ Added: pkijs (1.94 MB, only for PKCS#7 support)
    • Bundle size reduced by 66% when not using PKCS#7
  5. PKCS#7 API changed:

    • Old: const pems = await generate(attrs, { pkcs7: true }); pems.pkcs7
    • New: const { createPkcs7 } = require('selfsigned/pkcs7'); const pkcs7 = createPkcs7(pems.cert);
    • PKCS#7 is now a separate module for better tree-shaking
🔧 Changed
  • Default key size remains 2048 bits (was incorrectly documented as 1024)
  • PEM output uses \n line endings (was \r\n)
  • Private keys now use PKCS#8 format (BEGIN PRIVATE KEY instead of BEGIN RSA PRIVATE KEY)
  • Certificate generation is now fully async using native WebCrypto
  • PKCS#7 is now tree-shakeable: Moved to separate selfsigned/pkcs7 module so bundlers can exclude it when not used
🐛 Fixed
  • Default key size documentation corrected from 1024 to 2048 bits
  • Improved error handling for certificate generation failures
📦 Dependencies

Removed:

  • node-forge@^1.3.1
  • @types/node-forge@^1.3.0

Added:

  • @peculiar/x509@​^1.14.2 (required)
  • pkijs@^3.3.3 (required, but tree-shakeable via separate selfsigned/pkcs7 module)
🔒 Security
  • Now uses Node.js native WebCrypto API instead of JavaScript implementation
  • Better integration with platform security features
  • More secure random number generation
📚 Documentation
  • Complete README rewrite with async/await examples
  • Added migration guide from v4.x to v5.x
  • Updated all code examples to use async/await
  • Added requirements section highlighting Node.js version requirement


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch from 4872478 to 9d3d791 Compare December 3, 2025 20:01
@kethinov kethinov requested a review from nicklona17 December 10, 2025 14:54
@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch from 9d3d791 to 7beb40c Compare December 23, 2025 18:03
@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch from 7beb40c to 01ba48d Compare December 31, 2025 12:35
@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch from 01ba48d to 427572c Compare January 12, 2026 18:11
@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch 2 times, most recently from ec56caa to 7d984c8 Compare February 17, 2026 20:05
@kethinov kethinov added the breaking Change will require a major version bump label Feb 26, 2026
@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch from 7d984c8 to 7060989 Compare February 26, 2026 20:17
@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch from 7060989 to 0bd68a8 Compare March 5, 2026 19:45
@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch from 0bd68a8 to 1c58385 Compare March 14, 2026 13:12
@renovate renovate bot force-pushed the renovate/selfsigned-5.x branch from 1c58385 to b73db84 Compare April 1, 2026 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Change will require a major version bump

Development

Successfully merging this pull request may close these issues.

1 participant