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

fix!: treat validity as opaque #307

Merged
merged 1 commit into from
Jan 18, 2024
Merged

Conversation

achingbrain
Copy link
Member

Instead of parsing the validity field of an IPNS record as a timestamp during unmarshalling, treat it as an opaque string value.

This ensures we can round-trip records supplied by other systems which may have a different interpretation of rfc3339 dates, for example.

It also means we can handle different types of validity types, not just EOL.

BREAKING CHANGE: the validity field is now a string

Instead of parsing the validity field of an IPNS record as a timestamp
during unmarshalling, treat it as an opaque string value.

This ensures we can round-trip records supplied by other systems which
may have a different interpretation of rfc3339 dates, for example.

It also means we can handle different types of validity types, not
just EOL.

BREAKING CHANGE: the validity field is now a string
@achingbrain achingbrain merged commit 461190e into main Jan 18, 2024
16 checks passed
@achingbrain achingbrain deleted the fix/treat-validity-as-opaque branch January 18, 2024 12:57
github-actions bot pushed a commit that referenced this pull request Jan 18, 2024
## [9.0.0](v8.0.4...v9.0.0) (2024-01-18)

### ⚠ BREAKING CHANGES

* the validity field is now a string

### Bug Fixes

* treat validity as opaque ([#307](#307)) ([461190e](461190e))
jtsmedley added a commit to filebase/js-ipns that referenced this pull request Jan 25, 2024
* deps: bump @libp2p/crypto from 3.0.4 to 4.0.0 (ipfs#304)

Bumps [@libp2p/crypto](https://github.com/libp2p/js-libp2p) from 3.0.4 to 4.0.0.
- [Release notes](https://github.com/libp2p/js-libp2p/releases)
- [Changelog](https://github.com/libp2p/js-libp2p/blob/main/.release-please.json)
- [Commits](libp2p/js-libp2p@perf-v3.0.4...utils-v4.0.0)

---
updated-dependencies:
- dependency-name: "@libp2p/crypto"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 8.0.2 [skip ci]

## [8.0.2](ipfs/js-ipns@v8.0.1...v8.0.2) (2024-01-15)

### Dependencies

* bump @libp2p/crypto from 3.0.4 to 4.0.0 ([ipfs#304](ipfs#304)) ([ed83244](ipfs@ed83244))

* fix: mark package as side-effect free (ipfs#305)

[Tree shaking](https://webpack.js.org/guides/tree-shaking/) results in smaller web bundles by deleting unused code.

This module is side-effect free so mark it as such to signal to bundlers that unused exports can be excluded from bundles.

* chore(release): 8.0.3 [skip ci]

## [8.0.3](ipfs/js-ipns@v8.0.2...v8.0.3) (2024-01-16)

### Bug Fixes

* mark package as side-effect free ([ipfs#305](ipfs#305)) ([a389fe8](ipfs@a389fe8))

* fix: log type as string (ipfs#306)

The value field is a string so it needs to be logged as `%s` - logging as `%b` will throw.

* chore(release): 8.0.4 [skip ci]

## [8.0.4](ipfs/js-ipns@v8.0.3...v8.0.4) (2024-01-18)

### Bug Fixes

* log type as string ([ipfs#306](ipfs#306)) ([de68e4c](ipfs@de68e4c))

* fix!: treat validity as opaque (ipfs#307)

Instead of parsing the validity field of an IPNS record as a timestamp
during unmarshalling, treat it as an opaque string value.

This ensures we can round-trip records supplied by other systems which
may have a different interpretation of rfc3339 dates, for example.

It also means we can handle different types of validity types, not
just EOL.

BREAKING CHANGE: the validity field is now a string

* chore(release): 9.0.0 [skip ci]

## [9.0.0](ipfs/js-ipns@v8.0.4...v9.0.0) (2024-01-18)

### ⚠ BREAKING CHANGES

* the validity field is now a string

### Bug Fixes

* treat validity as opaque ([ipfs#307](ipfs#307)) ([461190e](ipfs@461190e))

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Alex Potsides <alex@achingbrain.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant