Releases: inrupt/solid-client-js
v3.0.0
Breaking Changes
- Support for Node.js v18.x has been dropped as that version has reached end-of-life.
Patch changes
- Removed the legacy behavior in the internal
getWellKnownSolidmethod so that the only place it looks for
the.well-known/solidresource is the server root.
What's Changed
Full Changelog: v2.1.2...v3.0.0
v2.1.2
Internal change
- This change has no impact on shipped code. A missing feature flag has been added to Problem Details end-to-end tests.
Patch changes
- Some dependency updates
Full Changelog: v2.1.1...v2.1.2
v2.1.1
Internal change
- This change has no impact on shipped code. A feature flag has been added to Problem Details end-to-end tests.
Patch changes
- Some dependency updates
Full Changelog: v2.1.0...v2.1.1
v2.1.0
New Features
- Node 22 is now supported
FetchErrornow implementsWithProblemDetails: it has a.problemDetailsgetter providing
additional information about the HTTP error response, either provided by the server if it
supports RFC9457, or falling back to defaults.
Patch changes
-
Fixed #2339: Unnamed policies are now returned by
getResourcePolicyAllif an optional argument
{ acceptBlankNodes: true }is specified. This additional argument makes this a non-breaking change,
as the current type signature isn't changed. -
getThingnow supports Blank Node identifiers in addition to IRIs and skolems to refer to a subject. -
getThingAll(dataset, { allowacceptBlankNodes: true })now returns all Blank Nodes
subjects in the Dataset, in particular including those part of a single chain of
predicates. For instance, given the following dataset:@prefix ex: <https://example.org/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . ex:camille foaf:knows [ foaf:name "Dominique"@en ; ] . ;getThingAll(dataset, { allowacceptBlankNodes: true })would have previously returned
a single element for the Named Node (ex:camille), it will now also include a second
element for the Blank Node. Blank Node identifiers are by definition unstable and shouldn't
be relied upon beyond local resolution.
New Contributors
- @acoburn made their first contribution in #2455
- @jholleran made their first contribution in #2468
Full Changelog: v2.0.1...v2.1.0
v2.0.1
Patch changes
- Normalize input URLs for
getSolidDataset,getFile,saveSolidDatasetAt,overwriteFile,createContainerAt,deleteSolidDataset,deleteFile,deleteContainer,saveSolidDatasetInContainer,createContainerInContainer,saveFileInContainer,getResourceInfo: Input URLs are now normalized by collapsing slash sequences (foo///barbecomesfoo/bar), and resolving relative URL segments (foo/bar/..becomesfoo/).
v2.0.0
Breaking Changes
- Use the global
fetchfunction instead of@inrupt/universal-fetch. This means this library now only works
with Node 18 and higher. - Due to changes in the rollup config the
umdoutput is now found atdist/index.umd.jsrather thanumd/index.js. - Drop support for
Buffers as input tosaveFileInContainerandoverwriteFile. Use the file name of inputs tosaveFileInContaineras theSlugname recommendation if no slug is explicitly provided. - Have
getJsonLdParserreturnvoidrather than a Promise so that it now aligns with
theParsertype definition. - Remove deprecated ACP APIs; including all APIs for ESS 1.1.
v1.30.2
v1.30.1
Patch
- Add a non-regression test for containment relationship validation. The behavior
of the library was already correct in a specific edge case, but that was not
covered by any test. Thanks to Otto-AA for noticing
the gap and implementing the missing test. - Build system (bundler and TypeScript) updates. This should be transparent to dependants.
v1.30.0
v1.30.0
New features
validateContainedResourcesAll: In addition to the change togetContainedResourcesAll
described in the Bugfix section, a new function is added to the API to help detecting
incorrect containment claims.
Bugfixes
getProfileAllnow also followsrdfs:seeAlsowhen discovering extended profiles.- When listing contained resources with
getContainedResourcesAll, resources that
are not direct child resources of the target container from a URL path semantics
perspective are no longer returned. This meanshttps://pod.example.org/foo/bar/moo
cannot be considered a child resource ofhttps://pod.example.org/foo/, regardless
of theldp:containsstatements in the container. Resources from a different
origin are also be excluded by this change.