mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
5.7 KiB
5.7 KiB
Community Solid Server release notes
v3.0.0
New features
- The Identity Provider now uses the
webidscope as required for Solid-OIDC. - The
VoidLockercan be used to disable locking for development/testing purposes. This can be enabled by changing the/config/util/resource-locker/import todebug-void.json - Added support for setting a quota on the server. See the
config/quota-file.jsonconfig for an example. - An official docker image is now built on each version tag and published at https://hub.docker.com/r/solidproject/community-server.
- Added support for N3 Patch.
- It is now possible to customize arguments to the
community-solid-servercommand, which enables passing custom variables to configurations and setting new default values. - The AppRunner functions have changed to require Components.js variables. This is important for anyone who starts the server from code.
- When logging in, a consent screen will now provide information about the client.
Configuration changes
You might need to make changes to your v2 configuration if you use a custom config.
The following changes pertain to the imports in the default configs:
- A new configuration option needs to be imported:
/app/variables/default/jsoncontains everything related to parsing CLI arguments and assigning values to variables.
The following changes are relevant for v2 custom configs that replaced certain features.
- Conversion has been simplified so most converters are part of the conversion chain:
/util/representation-conversion/default.json
- The IDP settings have changed to support the latest Solid-OIDC draft.
/identity/handler/provider-factory/identity.json
- Requests targeting the OIDC library now use a separate handler.
/http/handler/default.json/identity/handler/default.json
- The architecture of IDP interaction handlers has completely changed to improve modularity
/identity/handler/interaction/*/identity/registration/*
Interface changes
These changes are relevant if you wrote custom modules for the server that depend on existing interfaces.
TypedRepresentationConverterfunction signatures changed and base functionality moved toBaseTypedRepresentationConverter.- Many changes to several components related to the IDP. This includes the HTML templates.
v2.0.0
New features
- Pod owners always have Control access to resources stored in their Pod.
- The server now offers a one-time setup upon first boot.
This can be accessed by going to
/setup. Configurations with a persistent backend enforce setup before the server can be used, preventing unintended modifications in the backend. These have corresponding*-no-setup.jsonfiles where setup is disabled, so the pre-v2.0 behavior is still available. ETag,Last-Modified,If-None-Match, and related conditional headers are supported.PATCHing containers is now supported.PUT/POSTrequests with empty bodies are supported.- WebACL authorization supports groups.
- IDP components (registration, login, etc.) fully support JSON input and output.
- There is a new configuration
sparql-file-storage.jsonto have a SPARQL backend with file storage.sparql-file-storage.json. - A server can be set up to restrict access to IDP components using WebACL.
A consequence of this is that IDP components are only accessible using a trailing slash.
E.g.,
/idp/register/works,/idp/registerwill error.
Configuration changes
You might need to make changes to your v1 configuration if you use a custom config.
The following changes pertain to the imports in the default configs:
- There are 2 new configuration options that for which a valid option needs to be imported:
/app/setupdetermines how and if setup should be enabled./identity/accessdetermines if IDP access (e.g., registration) should be restricted
- The
/app/init/default.jsonconfiguration no longer initializes the root container. This behaviour has been moved to the other options for/app/init. /ldp/permissionschanged to/ldp/modesand only has a default option now.
The following changes are relevant for v1 custom configs that replaced certain features. The path indicates which JSON-LD files were impacted by the change.
IdentityProviderHttpHandlerandInteractionRoutearguments have changed substantially./identity/handler/default.json/identity/handler/interaction/*/identity/registration/*.
- All internal storage is now stored in the
/.internal/container./storage/key-value/resource-store.json.
- Patching related classes have changed.
/storage/middleware/stores/patching.json.
BasicRequestParsernow needs aconditionsParserargument./ldp/handler/components/request-parser.json.
LinkTypeParserhas been renamed toLinkRelParserand now takes mappings as input./ldp/metadata-parser/*
ComposedAuxiliaryStrategyisRootRequiredhas been renamed torequiredInRoot./util/auxiliary/strategies/acl.json.
- Many changes to authentication and authorization structure.
- Config
/ldp/authentication/*and/ldp/authorization/*.
- Config
- All
HttpHandlers have been changed./app/setup/handlers/setup.json/http/handler/default.json/identity/handler/default.json/ldp/handler/default.json.
v1.1.0
New features
- The
ConstantConvertercan now filter on media type using theenabledMediaRangesanddisabledMediaRangesoptions. That way, the server can be configured to bypass a default UI when accessing images or PDF documents. (https://github.com/solid/community-server/discussions/895, https://github.com/solid/community-server/pull/925)
v1.0.0
First release of the Community Solid Server.