This project adheres to Semantic Versioning.
3.0.0 - 2023-12-22
- Node 16 is no longer supported, this requires Node 18 or higher to be built.
- Use non-deprecated events API from solid-client-authn-js
- Support Node 18 and 20
- Support ESM
- Dependency updates (notably, upgrading
jest
to v29).
- Added the ability to prevent the automatic loading of WebID's and Profiles from SessionProvider, this is useful when building provisioning applications where the user has logged in, but doesn't yet have a WebID or Pod or Profile documents.
- Fixed issue with sourcemaps not being included in our package tarballs
- Upgrade Inrupt SDKs to latest versions
- Upgrade typescript to ^4.8.4, this should help with sporadic issues with mismatches in the
fetch
type definitions
- Support for Node.js v12.x has been dropped as that version has reached end-of-life.
- When
Image
component is editable, the value error will be set if there is no image available, which means the error component (default or custom) wis displayed correctly.
- This release also significantly upgrades the dependencies used by this package.
- The
Image
component now takes an optional propallowDelete
, which renders a default delete button that will remove the value from the dataset. It is also possible to pass adeleteComponent
to render a custom delete button in place of the default.
- The
Image
component now allows for a new image to be saved even if the property is not found in the dataset, by passing asolidDataset
where the Thing should be set after updating, and asaveLocation
where the image file should be stored.
- The webpack export now works properly for some otherwise-broken webpack-using projects.
- The
SessionContext
now has aprofile
property which contains the user's profiles.
- Upgrade dependencies, including solid-client and solid-client-authn
- Add
FileUpload
component.
- Change build target from commonjs to umd, to fix webpack issues
- Fix missing code snippets in storybook
- Fix dependencies to work with React 17
-
useFile
hook added. -
Table
now takes an optionalemptyStateComponent
to be rendered if no rows are present. -
TableColumn
now takes an optionalsortFn
sorting function used to sort that column. -
The following components now take an optional
loadingComponent
to be rendered while fetching data:Value
Text
Link
Image
Video
-
When it is not passed, the components render a default message instead.
-
If
null
, the default message won't be rendered. -
The following components now take an optional
errorComponent
to be rendered in case of error:Value
Text
Link
-
When it is not passed, the components render a default message instead.
-
DatasetProvider
still receives this now asloadingComponent
. -
CombinedProvider
now receives this prop and passes it down to theDatasetProvider
.
loading
inDatasetProvider
is now deprecated and replaced withloadingComponent
to match the rest of the components.loading
can still be used inDatasetProvider
but may be removed in a future major release.
The following sections document changes that have been released already:
- The
Value
component now handles the case wheredatetime-local
is unsupported by the browser and renders two inputs with typedate
andtime
instead. - Updated @inrupt/solid-client-authn-browser, which was causing an issue where
SessionContext
'ssessionRequestInProgress
property would not be set tofalse
properly in some cases.
- The
SessionProvider
component now accepts additional variables to enable logging back in on refresh.
- Updated all dependencies, including @inrupt/solid-client from 1.3.0 to 1.6.1, and @inrupt/solid-client-authn-browser from 1.5.1 to 1.8.0
- If no
onError
is passed to a SessionContext, an error will be thrown login
fromuseSession
will now throw errors if an error occurs- Only
Enter
keyboard events will trigger login and logout on the default LoginButton and LogoutButton - Packages have been upgraded - notably,
@inrupt/solid-client-authn-browser
which allows refreshing without losing the current session
dataset
property replaced bysolidDataset
in components so that the property would not conflict with intrisic HTML element attributes.- Components such as
text
andvalue
no longer throw errors if something goes wrong during reading or saving, and instead always callonError
if provided.
- All components which previously took a
property
prop now can optionally accept aproperties
prop instead, which will be an ordered list of properties to attempt to read and write from. If none of the properties have values, the first will be used if editing data.
- Upgraded dependencies, especially solid-client-* to v1.0
sessionId
is now optional forSessionProvider
- Add login and logout functions to SessionContext/SessionProvider
- Updated solid-client-auth to 0.2.2, and solid-client to 0.6.1
- Added
errorComponent
to<Image>
and<Video>
, allowing a placeholder component to be rendered in the place of either in case a thing or value is not found.
- Updated package dependencies
- Added
getRowProps
to<Table>
, allowing a function to be provided to generate attributes for each<tr>
, based on row data.
- ThingProvider correctly updates its stored Thing in state in response to changes in
thing
prop
- Pass saved dataset and thing to onSave in Text and Value
- Exported
setDataset
andsetThing
from DatasetProvider and ThingProvider, respectively. This allows components which save data to reset the dataset to what the server returns. - Allow non-
URL
values to be set for the LoginButton. This prevents some errors from occuring, such as if the value is updated as the user types. - Added additional storybook documentation and cleaned up examples.
- Breaking change to Table -
things
prop now takes an array of objects{ dataset, thing }
- Added type for
useSession
return value - Updated decimal and datetime
<Value>
types to add "step="any" by default - Reduced bundle size (making react-table and swr external imports)
- Upgraded to storybook 6
- @inrupt/solid-client version to 0.4.0
- Add useThing and useDataset hooks
- Added sortable/filterable
<Table>
and<TableColumn>
, to display rows of Things and columns of properties - Tidied logs when testing intentionally thrown errors
- Improve handling of unloaded datasets with
<Image>
,<Text>
, and<Value>
components.
- Allow
<DatasetProvider>
to render aloading
property or component instead of its children
- Allow
<Image>
and<Video>
to read data from ThingContext
- Generate TypeScript definition files
- Simplify NPM package structure and files
- Exported all components, contexts, and providers from src/index.js.
- Switched from
solid-auth-client
to@inrupt/solid-client-authn-browser
for authentication, which allows for dynamic registration and DPoP OIDC flow
-
Added sub-folders for storybook Authentication Providers Components
-
Added storybook knobs to image video and link components
-
Added storybook knobs to Dataset Thing and Combined providers
- Added context support for the component
- Added Video component
- @inrupt/solid-client version to 0.1.1
- Dataset Provider Context
- Thing Provider Context
- Combined Dataset and Thing Provider wrapper
- Image component
- Session Provider Context
- useSession hook
- Log In Component:
- Log Out Component