Skip to content

Bump punycoder from 0.2.2 to 0.3.0#4

Closed
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/pub/punycoder-0.3.0
Closed

Bump punycoder from 0.2.2 to 0.3.0#4
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/pub/punycoder-0.3.0

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Feb 27, 2026

Bumps punycoder from 0.2.2 to 0.3.0.

Release notes

Sourced from punycoder's releases.

v0.3.0

0.3.0

This release is a complete, ground-up rewrite of the package. It provides a fully compliant, strictly validated, and idiomatic Dart implementation of the Punycode standard.

🚨 Breaking Changes

  • Separation of IDNA and Raw Punycode: The default PunycodeCodec no longer attempts to automatically parse and encode/decode full domains or email addresses. It now acts purely on raw strings.
  • Removed PunycodeCodec.simple(): Because the default codec now handles raw strings exclusively, the .simple() constructor has been removed. A new global punycode instance is provided for convenience.
  • Extracted Domain & Email Handling: Domain and email conversions are now handled by dedicated top-level functions (domainToAscii, domainToUnicode, emailToAscii, and emailToUnicode).
  • Strict (but Configurable) IDNA Validation: IDNA processing now strictly enforces formatting rules by default. Inputs with labels exceeding 63 characters, domains exceeding 253 characters, or invalid hyphen placements will actively throw a FormatException. You can bypass this by passing validate: false.

✨ New Features & Improvements

  • Full RFC 3492 Compliance: Rigorous implementation of the complete Punycode specification.
  • Mixed-Case Support (RFC 3429 Appendix A): Added support for Appendix A mixed-case annotations, properly preserving casing during encoding and decoding.
  • Official Errata Fixes: Implemented technical corrections for RFC 3492 Errata IDs 265 and 3026.
  • IDNA2003 Separator Support: domainToAscii now recognizes and properly splits labels using standard IDNA2003 separators (., \u3002, \uFF0E, \uFF61).
  • Platform Parity: Added a comprehensive suite of unit and integration tests to guarantee identical behavior across both Dart VM and Web platforms.
Changelog

Sourced from punycoder's changelog.

0.3.0

This release is a complete, ground-up rewrite of the package. It provides a fully compliant, strictly validated, and idiomatic Dart implementation of the Punycode standard.

🚨 Breaking Changes

  • Separation of IDNA and Raw Punycode: The default PunycodeCodec no longer attempts to automatically parse and encode/decode full domains or email addresses. It now acts purely on raw strings.
  • Removed PunycodeCodec.simple(): Because the default codec now handles raw strings exclusively, the .simple() constructor has been removed. A new global punycode instance is provided for convenience.
  • Extracted Domain & Email Handling: Domain and email conversions are now handled by dedicated top-level functions (domainToAscii, domainToUnicode, emailToAscii, and emailToUnicode).
  • Strict (but Configurable) IDNA Validation: IDNA processing now strictly enforces formatting rules by default. Inputs with labels exceeding 63 characters, domains exceeding 253 characters, or invalid hyphen placements will actively throw a FormatException. You can bypass this by passing validate: false.

✨ New Features & Improvements

  • Full RFC 3492 Compliance: Rigorous implementation of the complete Punycode specification.
  • Mixed-Case Support (RFC 3429 Appendix A): Added support for Appendix A mixed-case annotations, properly preserving casing during encoding and decoding.
  • Official Errata Fixes: Implemented technical corrections for RFC 3492 Errata IDs 265 and 3026.
  • IDNA2003 Separator Support: domainToAscii now recognizes and properly splits labels using standard IDNA2003 separators (., \u3002, \uFF0E, \uFF61).
  • Platform Parity: Added a comprehensive suite of unit and integration tests to guarantee identical behavior across both Dart VM and Web platforms.
Commits
  • 0a8985d Merge pull request #12 from dropbear-software/rewrite
  • c930d8b Update remaining Exceptions to be FormatExceptions
  • eef9199 Remove redundant maxInt variable
  • 7d50246 Use FormatException in lib/src/punycode_decoder.dart
  • ebf85e9 Use FormatException in lib/src/punycode_encoder.dart
  • 4c34a90 Improve IDNA domain validation
  • fbeff45 Improve _splitBySeparators method
  • bbe40b3 Use FormatException in lib/src/punycode_decoder.dart
  • 9554f71 Use FormatException in lib/src/punycode_encoder.dart
  • bd02ab1 Dart format
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [punycoder](https://github.com/dropbear-software/punycoder) from 0.2.2 to 0.3.0.
- [Release notes](https://github.com/dropbear-software/punycoder/releases)
- [Changelog](https://github.com/dropbear-software/punycoder/blob/main/CHANGELOG.md)
- [Commits](dropbear-software/punycoder@v0.2.2...v0.3.0)

---
updated-dependencies:
- dependency-name: punycoder
  dependency-version: 0.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file dart Pull requests that update dart code labels Feb 27, 2026
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Feb 27, 2026

Looks like punycoder is up-to-date now, so this is no longer needed.

@dependabot dependabot bot closed this Feb 27, 2026
@dependabot dependabot bot deleted the dependabot/pub/punycoder-0.3.0 branch February 27, 2026 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dart Pull requests that update dart code dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants