Skip to content

Latest commit

 

History

History
1087 lines (844 loc) · 114 KB

CHANGELOG.md

File metadata and controls

1087 lines (844 loc) · 114 KB

Changelog

All notable changes to this project will be documented in this file.

7.0.5 (2024-03-25)

Fixes

  • Allow path segments to start with 2 or more dots (6fe6b6e)
  • Add priorities to RDF types when converting (33e9ae4)
  • Extract root as possible pod when using subdomains (8fff08a)
  • Prevent error when switching accounts (68975e6)
  • Keep content-type when using metadata templates (137027e)

7.0.4 (2024-02-07)

Chores

  • Replace rdf-js import with @rdfjs/types (e09b53b)

Testing

  • Remove workaround for authn library (7d57359)

7.0.3 (2024-01-05)

Features

  • Support default mainModulePath when creating App (c6ec45c)

Fixes

  • Encode WebID ownership tokens (277a0d0)
  • Fix pod base URL in README template (4e7929f)
  • Only require append when creating with PUT (a0b7ee4)

Chores

  • Remove Docker arm builds (648ce1f)
  • Update linting dependency (3a9b0d6)

Documentation

  • Explain how to use AppRunner to start a server instance (716c3c3)
  • Explain that users need to log in for client credentials (dca71bc)
  • Fix links (1f88864)
  • Describe server feature set (c64a1a2)
  • Fix Typo is -> if (355f7dd)

Testing

7.0.2 (2023-11-20)

Features

  • Add index signature to Credentials (86f4592)
  • Pass requestedModes metadata on 401 (58daeb6)

Fixes

  • Add query parameter to static resources (5f85441)
  • Update resource size in ConstantConverter (6c30a25)
  • Prevent errors in JSON storage when data is invalid (4318479)
  • Prevent errors during migration for invalid JSON (2f928bd)
  • Disable submit buttons until form data is loaded (1597a5a)
  • Undo util.js errors introduced when changing lint settings (261c3d0)

Chores

  • Update to TypeScript 5.2.2 (edbf895)
  • Fix Dockerfile to Node v18 to prevent build issues (9cc4a9c)

Documentation

  • Explain storage/location import options (01623e0)
  • Fix outdated information in IDP documentation (#1773) (15a929a)
  • Explain the patching store in-depth (4d05fe4)

Refactors

  • Replace linting configurations (6248ed0)

7.0.1 (2023-10-20)

Fixes

  • Remove duplicate identifier reference when disabling accounts (f1fdbb0)

Documentation

  • Fix incorrect variable in documentation (61b8d4a)
  • Update v6 references (762d703)

7.0.0 (2023-10-19)

Features

  • Add config option to enable account and pod creation (9321add)
  • Update migration to clear all old non-account data (9daeaf8)
  • Use new MaxKeyLengthStorage to prevent keys that are too long (b5a61cb)
  • Remove base64 encoding from storages (e1c5189)
  • Support all notification methods in all default configs (b54c6b9)
  • Add support for initializing a server with a root pod (864dd7c)
  • Link to the account page in the pod README (764b392)
  • Update configurations so ldp/accounts/oidc can be disabled (010017a)
  • Add migration for v6 account data (0ac7d40)
  • Allow ConditionalHandler to set the expected value (fedd9e0)
  • Create PodCreator class to contain most pod creation logic (42a1ca7)
  • Add support for pod owners (cd07338)
  • Use IndexedStorage to store account data (4230db5)
  • Full rework of account management (a47f523)
  • Move storage location decision to separate import (ade977b)
  • Remove setup (5eff035)
  • Update StaticAssetHandler to allow for easier overrides (ea83ea5)
  • Update oidc-provider to v8 (7024ee9)
  • Introduce IndexedStorage for a more extensive storage solution (3ade2ad)
  • Split up EncodingPathStorage functionality into different classes (154d981)
  • Use ETagHandler for ETag generation and comparison (afcbfda)
  • Store ETag in metadata (b608080)
  • Add error causes to error serializations (0245b31)
  • Add metadata to errors (f373dff)
  • StaticAssetHandler can link a container to a document (36ff95e)

Fixes

  • Ensure setup values are migrated correctly (7a44581)
  • Be consistent in slash usage in storages (f954fc9)
  • Encode notification keys before accessing the storage (16378ec)
  • Make sure stored tokens expire (7504817)
  • Update generated keys in ExpiringAdapterFactory to prevent overlap (2914fd7)
  • Fix issue in warning on pod settings HTML page (7684198)
  • Add links on account page (3bfd9e3)
  • Rename cookie field to authorization (307dba3)
  • Update supported DPoP algorithms to run CTH (1e3684b)
  • Add workaround for authn library issue (180d5f1)
  • Use local file for oidc-provider typings (b3ef4ed)
  • Return WAC-Allow header in 304 responses (43e8ef9)
  • Return ETag in 304 responses (baa6498)
  • Add missing error causes (7505f07)
  • Make all ways to start the server more consistent (e921d62)

Chores

  • Make Node v18 the minimum supported version (e0c1bae)
  • Test Node v20 (43be71e)

Refactors

  • Use one identifier to reference main template engine (92a0856)
  • Sort default config imports (851eafd)
  • Move single IDP configurations into one folder (862ac48)
  • Rename WebIdAdapterFactory to ClientIdAdapterFactory (607c04f)
  • Rename WebHook to Webhook (531c299)
  • Move condition classes to separate folder (5ec6edd)

Testing

  • Workaround for Jest dynamic import issues (cccca96)
  • Workaround for Jest ESM issues (bfa70a4)
  • Remove test tmp folder after all tests are finished (9bf7348)
  • Stop cleaning up folders after quota test to prevent CI issues (3a57e88)

6.1.0 (2023-10-05)

Features

  • Track binary size of resources when possible (71e5569)
  • Add support for range headers (3e9adef)

Fixes

  • Prevent error when creating a root pod(da46bec)
  • Remove URL encoding from base64 strings before decoding (d31393f)

Documentation

  • Simplify README by pointing to our docs. (d618f97)
  • Add starting guide. (e424b84)
  • Add quick start to README. (1fa6d24)

6.0.2 (2023-08-30)

Fixes

  • Have FixedContentTypeMapper ignore .meta (9e682f5)
  • Ignore invalid header parts (9c2c5ed)
  • Do not show PUT in Allow header for existing containers (6f6784a)
  • Store activity streams context locally (a47cc8a)

Testing

  • Clear test data folder before running tests (6fc3f2c)
  • Enable file locker in notification tests (f419f2f)

Chores

6.0.1 (2023-06-15)

Fixes

  • Use correct type for Webhook notifications (c0a881b)
  • Make root storage subject of storage description (9584ab7)
  • Prevent illegal file paths from being generated (fdee4b3)

6.0.0 (2023-05-02)

Features

  • Support both the old and new WebSocket specifications together (4b7621f)
  • Use WebSocket2023Channel identifier for WebSocket URL (69af7c4)
  • Replace WebHookSubscription2021 with WebHookChannel2023 (d59a159)
  • Allow unsubscribing from all notification channels (e946348)
  • Restrict channels to 2 weeks by default (f7e05ca)
  • Support Add/Remove notifications on containers (134237a)
  • Replace WebSocketSubscription2021 with WebSocketChannel2023 (702e8f5)
  • Use URLs for channel identifiers (cbbb10a)
  • Ignore unsupported notifications features in subscriptions (67d1ff4)
  • Support GET requests on subscription services (65860f7)
  • Update notification object to match the updated examples (7c343a5)
  • Replace expiration feature with startAt and endAt (caee563)
  • Use notification v0.2 features in discovery (10980e9)
  • Support conditions for GET/HEAD requests (f0596c2)
  • Provide clear error message for unknown clients (c332412)
  • SeededPodInitializer log exceptions as warning instead of crashing (2efc141)

Documentation

  • Explain changes to template folders (a4d4118)
  • Describe how notifications work on the server (1a1a6ee)
  • Update RELEASE_NOTES with correct notification information (40ad4a6)
  • Add references to the configuration generator (4b33017)
  • Add responses when client credentials are incorrect (50bb8cf)
  • Add Zenodo badge in README (5acddcb)

Testing

Fixes

  • Make sure locker allows reentrant lock acquisition (5347025)
  • Make aggregated errors prettier (0d5d072)
  • Support new ETag format in notification states (b250bea)
  • Minor documentation and configuration updates (4ff6fe6)
  • Update the lastEmit value after sending a notification (b2f4d7f)
  • Replace inefficient storage detection (23db528)
  • Use EqualReadWriteLocker with file locker to prevent deadlocks (0a30be5)
  • Ensure the ETag is representation specific (c3f48dd)
  • Store internal JWK as JWKS to be backwards compatible (7fd0b50)
  • Updated WrappedExpiringStorage to use timer.unref (b6faed0)
  • Output required OAuth error fields (63fd062)
  • Do not add port 80 to default base URL (bb74278)

6.0.0-alpha.0 (2023-02-01)

Features

  • Hash lock-related identifiers (0d6b895)
  • Take preferences as input in RepresentationConvertingStore (7422fbf)
  • Return clear error when multiple values for a cli flag are given (5c79e60)
  • Allow css configuration from package.json or config file (d61bf9b)
  • Remove agent/user permission differentiation (c46d01d)
  • Move WAC-Allow metadata collecting to HTTP handler (6ad5c0c)
  • Allow CachedHandler to cache on multiple object fields (9b15b1d)
  • Allow server to bind to Unix Domain Sockets (bf0e35b)
  • Add support for WebHookSubscription2021 (f54c34d)
  • Add support for WebSocketSubscription2021 (b1f7a6a)
  • Add support for the Notification specification (cbc07c6)
  • Create a CachedHandler that caches AsyncHandler results (be7af27)
  • Expose a storage description resource for storage containers (df2f69f)
  • Create an OperationRouterHandler (3db1921)
  • Create an ArrayUnionHandler which flattens the sources results (da99ff3)
  • Split up server creation and request handling (4223dcf)
  • Create a GenericEventEmitter interface (764ce3c)
  • Support async default values in getDefault (a1e916b)
  • Add required ACP headers (fa1dee5)
  • Update Credentials typings to support client/issuer (f3e7a20)
  • Update templates and generators to support ACP (40f2c8e)
  • Create configs for server with ACP authorization (db68074)
  • Create AcpReader (a6409ad)
  • Allow vocabularies to be extended (97f7ca0)
  • Improve vocabulary typings (2e1bae9)
  • Remove caching from AgentGroupAccessChecker (3c43d04)

Fixes

  • Expose Www-Authenticate via CORS (60718a1)
  • Prevent accidental nested storages (4d9d1b9)
  • Convert TemplateEngine to AsyncHandlers (cf74ce3)

Testing

  • Reduce integration test memory usage (80fa81a)
  • Update PermissionTable to also test all ACP cases (56b7e63)

Documentation

  • Add links to tutorial repo (f0c7c60)
  • Add notification architecture documentation (7b6ddfa)
  • Document ACP-related changes (c73ef50)

5.1.0 (2022-11-03)

Features

  • Add additional redis settings to redis locker (79fa83a)
  • Add support for key namespacePrefixes in a RedisLocker instance (d690cc7)
  • Allow JSON-LD contexts to be stored locally (b0924bf)
  • Allow multiple configurations to be used during startup (e050f8b)

Fixes

  • Require create permission for empty PATCH bodies (68ee964)
  • Return correct status code when deleting non-existent resource (ef48660)
  • Fix incorrect config import (e1af8ee)
  • Add missing parameter to sparql-file-storage.json configuration (f7742cf)
  • Always render OIDC errors correctly (7884348)
  • Clarify application consent screen. (7987824)
  • Prevent websockets from being used with worker threads (327ce74)
  • Update metadata documentation (abbf3dd)

5.0.0 (2022-08-08)

Features

  • Accept both Settings and VariableBindings to create an App (f609f1a)
  • Add a map that can check equality between object keys (c35cd59)
  • Add a SetMultiMap interface and implementation (b5d5071)
  • Add contains function to IdentifierStrategy (11c0d1d)
  • Add find utility function for Iterables (145758a)
  • Add utilities for Iterables (45f8aa1)
  • Allow switching accounts (3fea5c9)
  • Change permission interface to store identifiers (23f0b37)
  • Edit metadata resources (#1188) (ca62511)
  • Enable strict parsing of CLI arguments (4e999eb)
  • Extend OIDC error descriptions (3f817b1)
  • Initial proposal for multithreaded execution (236bbc6)
  • Introduce ModesExtractor for intermediate containers (18391ec)
  • Parse Accept headers as early as possible (df08259)
  • RegexRoutes stored as ordered array (5399e75)
  • Respect root path for static assets and HTML links (2814e72)
  • Rework ResourceStore to return extra info (e0954cf)
  • Split WebAclReader behaviour over multiple classes (7996fe5)
  • Store turtle prefixes in metadata when parsing (66e82dd)
  • Update configs based on all permission changes (d5bcec7)
  • Update ModesExtractors to support new permission interface (7085252)
  • Update PermissionReaders to support new permission interface (0ff05fd)
  • Update WebAclMetadataCollector to support new permission interface (fd83f4b)
  • Use an IdentifierMap for ResourceStore responses (9a12152)

Refactors

  • Add imports that allow for HTTPS through CLI params (9dcba1a)

Fixes

  • Introducing initializers for handling lock cleanup on start (1c65b06)
  • Logging component logs as coming from a worker (c89cc4b)
  • Prevent FileSystemResourceLocker from writing to ./ (a99616a)
  • Remove MS-Author-Via header (21b2850)
  • Remove workaround for cli parameters being turned into string (a99db00)
  • Return contenttype header value string with parameters (311f875)
  • Stop creating meta files for each new resource #1217 (fbbccb0)
  • Update the default timeout to 6s (839a923)

Documentation

  • Add architecture diagrams and documentation (5288237)

Chores

  • Add email to senderName for email sender (3dc8b49)
  • Update Components.js to v5.3.0 (3e9989e)

5.0.0-alpha.0 (2022-05-05)

Added

  • Feat: add a process-/thread-safe file-based ResourceLocker (fa78bc6)
  • Feat: file-based backend fallback for unknown media types (ff80079)

Changed

Fixed

  • Fix: Update prefixes in all configs (ce27bec)
  • Fix: Always define @type in configs (cfdd122)
  • Fix: Change YargsCliExtractor structure to avoid Components.js issues (6f4e70d)

4.1.0 (2022-08-04)

Features

  • Add test phase for docker images (0159557)
  • Args as env vars (a461586)
  • Build versioned documentation site from CI pipeline (027c803)

Fixes

  • Accept client WebIDs with a context array (d290848)
  • Enable ACL in default quota config (26b42f0)
  • Improve HTTP stream error messages (93a141d)
  • Prevent JsonResourceStorage from generating too long filenames (13dbcb6)
  • Rdf convertors should not read or write plain JSON (9ecb769)
  • Rewrite request with a root path to OIDC Provider (0a84230)
  • Use encrypted field to check for TLS. (82f9070)

Chores

Documentation

  • Update docs links to new documentation site (d0f9d1e)

4.0.1 (2022-05-10)

Changed

  • Chore: Fix oidc-provider library to v7.10.6 (ef9dd43)

Deprecated

  • Chore: Drop support for Node 12 (3d6e3d2)

Fixed

  • Fix: %2F not handled correctly in file backend #1184 (dbdb9b4)
  • Fix: Make delimiter encoding case-insensitive. (50469e2)

4.0.0 (2022-04-19)

Added

  • Feat: Support seeding pods and accounts (c8d4bfe)
  • Feat: Store content type parameters (a860205)
  • Feat: Pass access modes to PermissionReaders (2ae5924)
  • Feat: Add CachedResourceSet (0e4d012)
  • Feat: Return 404 for read/delete requests if there is no resource (e86e0cf)
  • Feat: Check parent ACL permissions for create/delete requests (d908374)
  • Test: Create permission table to automate tests (6f83ac5)
  • Feat: Handle OPTIONS requests in OperationHandler (ad3edcf)
  • Docs: Write initial user documentation (a5a34f5)
  • Feat: Add utility functions for generating error classes (f3dedf4)
  • Feat: Store methods in MethodNotAllowedHttpError (effc20a)
  • Feat: Dynamically generate Allow and Accept-* headers (6e98c6a)
  • Feat: Make LazyLoggerFactory buffer messages. (238570b)
  • Feat: Warn about UnsecureWebSocketsProtocol. (5c21819)
  • Feat: Create MetadataParser that detects JSON with Context link and throws an error (48efc6f)
  • Feat: Add RedirectingHttpHandler (468e11d)
  • Feat: Allow dynamically adding CLI parameters in configs (bedab90)
  • Feat: Add support for client_credentials authentication (2ec8fab)

Changed

  • Refactor: Rename resourceExists to hasResource (4404fa0)
  • Feat: Parse content-type more strictly (027e370)
  • Feat: Create separate storage to generate keys (a1a6ce0)
  • Refactor: Move key/value storages to relevant configs (30ad301)
  • Feat: Remove meta parameter from logging. (2c6167e)
  • Refactor: Make Logger an interface. (3685b7c)
  • Refactor: Use fs-extra instead of fs to simplify file access (fe39f97)
  • Feat: new helper functions to replace regexes #807 (283c301)
  • Feat: Only accept NamedNodes as predicates for metadata (668d0a3)

Fixed

  • Fix: Prevent slugs with trailing slashes for non-container resources (5965268)
  • Fix: Extract correct access modes from request (9a29cc2)
  • Fix: Add IANA type to child metadata in FileDataAccessor (7152897)
  • Fix: Support entries function in JsonResourceStorage (7654801)
  • Fix: Prevent expired storage cleanup from crashing the server (f08cdf7)
  • Fix: Undo authorization on OPTIONS requests (97e600b)
  • Fix: Throw error when accessing URLs out of scope (d42125a)
  • Fix: Add missing imports from default configs (30799f6)
  • Fix: Keep storage paths consistent with previous version (570e167)
  • Feat: add a Redis based Read-Write Locker (e2e2d08)

3.0.0 (2022-02-23)

Added

  • Feat: Determine Typed Converter output based on input type (fa94c7d)
  • Feat: Add ContentTypeReplacer to conversion chain (fdd42bb)
  • Feat: Add "no conversion" as possible path in ChainedConverter (d52aa94)
  • Feat: Support redirection through errors (7163a03)
  • Feat: Move redirect support from IDP handler to specific handlers (4241c53)
  • Feat: Create VoidLocker to disable locking resources (9a1f324)
  • Chore: Build and push official docker image in CI (65d1eeb)
  • Feat: Add support for quota limits (0cb4d7b)
  • Feat: Add support for N3 Patch (a9941eb)
  • Feat: Allow for custom CLI and variable options (c216efd)
  • Feat: Send reset password recordId as query parameter (8f8e8e6)
  • Feat: Split up IDP HTML, routing, and handler behaviour (bc0eeb1)
  • Feat: Update IDP templates to work with new API format (a684b2e)
  • Feat: Simplify setup to be more in line with IDP behaviour (9577791)
  • Feat: Return client information from consent handler (e604c0c)
  • Feat: Warn users when they change the base URL (62e2210)
  • Feat: Store the server version on start (2dc20fe)

Changed

  • Refactor: Create BaseTypedRepresentationConverter (27306d6)
  • Feat: Update IDP parameters to latest Solid-OIDC version (fc60b5c)
  • Feat: Move OIDC library behaviour to separate path (520e4fe)
  • Fix: Update OIDC provider dependency to v7 (c9ed90a)

Fixed

  • Fix: Prefer all inputs equally when generating quads (c6544fa)
  • Fix: Handle JSON preferences correctly in dynamic converter (4d319d2)
  • Fix: Make UnionCredentialsExtractor tolerate failures. (c13456c)
  • Fix: Accept lowercase Authorization tokens. (9c52011)
  • Feat: Return correct status codes for invalid requests (1afed65)
  • Fix: Split AccountStorage and ForgotPasswordStorage (expiring now) (d067165)
  • Fix: Add content-negotiation when fetching dataset from url (ce754c1)
  • Fix: Prevent login page from showing error before redirect (1ed45c8)
  • Fix: Make IDP routes independent of handlers (1769b79)
  • Fix: Improve OIDC error descriptions (e9e3c6d)

2.0.1 (2021-11-02)

Added

  • Feat: Display symlinks in container listings. (2e45899)

Fixed

  • Fix: Added a content-type parser to HeaderUtil (54ccbed)
  • Fix: Allow URLs with multiple leading slashes. (b42150c)
  • Fix: Do not serve UI on special pages. (8c9887f)

2.0.0 (2021-10-15)

Added

  • Feat: Keep track of last modified date of resources (97c534b)
  • Feat: Expose Last-Modified and ETag headers (77d695c)
  • Feat: Create conditions based on input headers (20f783a)
  • Feat: Verify conditions in DataAccessorBasedStore (0d42987)
  • Feat: Use RequestParser and ResponseWriter for IDP (7b7040a)
  • Feat: Support content negotiation for IDP requests (80ebd02)
  • Feat: Add support for agentGroup ACL rules (401923b)
  • Feat: Support LDN inbox headers (759112b)
  • Feat: Convert IDP input data to JSON (4f1a86d)
  • Feat: Support JSON errors (cc1c3d9)
  • Feat: Patch containers by recreating Representation from metadata (ef9703e)
  • Feat: Create SetupHttpHandler (4e1a2f5)
  • Feat: Integrate setup behaviour (b592d44)
  • Feat: Let CredentialsExtractors specify what type of Credentials they generate (c3fa74d)
  • Feat: Create UnionHandler to combine AsyncHandler results (62f026f)
  • Feat: Combine the results of multiple CredentialsExtractors (ba1886a)
  • Feat: Extract set of required modes instead of PermissionSet (e8dedf5)
  • Feat: Use PermissionReaders to determine available permissions (bf28c83)
  • Feat: Create OperationMetadataCollector to handle operation metadata (5104cd5)
  • Feat: Store account settings separately (6c4ccb3)
  • Feat: Always grant control permissions to pod owners (8f5d619)
  • Feat: Support acl authorization for IDP components (13c4904)

Fixed

  • Fix: Explain why logging in will not work (a062a71)
  • Fix: Prevent parent containers from storing generated metadata (7f3eab0)
  • Fix: Make json-ld prefix generation deterministic (a75d5aa)
  • Fix: Hide internal data by making it auxiliary (0271133)
  • Fix: Only check DataAccessor canHandle call for Documents (a1c3633)
  • Feat: Replace acl specific permissions with generic permissions (7f8b923)
  • Fix: Add required triple to pod README acl (f40e2c7)
  • Fix: Let Representations always have a body (5613ff9)
  • Fix: Return 201 when creating new resources (76c87bb)
  • Fix: Return 409 when there is a slash semantics issue (fb3a59c)

Changed

  • Change: Rename resourceStore to aclStore. (60fc273)
  • Refactor: Restructure source code folder (b3da9c9)

1.1.0 (2021-09-03)

Added

  • Feat: Throw error when trying to complete interaction out of session (cb227d6)
  • Feat: Indicate to templates if this is part of an auth request (f71f868)
  • Feat: Allow filtering in ConstantConverter based on type (ab06dd3)

Fixed

  • Fix: Allow clients to be remembered in the SessionHttpHandler (47b3a2d)
  • Fix: Convert data to SparqlDataAccessor in regex config (f34e124)
  • Fix(deps): update dependency @solid/access-token-verifier to ^0.12.0 (7928f43)

1.0.0 (2021-08-04)

Added

  • Feat: Create ChainedTemplateEngine for combining engines (18a7103)
  • Feat: Accept asset paths as config. (f28279e)

Changed

  • Change: Use @css: instead of $PACKAGE_ROOT/ (1719857)

Fixed

  • Fix: Replace rimraf with fs-extra.remove (2a82c4f)

1.0.0-beta.2 (2021-07-30)

Added

  • Feat: Allow registration to be disabled (916dce5)
  • Feat: Prevent access to internal storage containers (7b94b71)
  • Feat: Cache static assets. (745eef7)
  • Feat: Update ExtensionBasedMapper custom types (3f8f822)
  • Docs: Make registration form self-explanatory. (969bb0e)

Changed

  • Refactor: Rename AllowEverythingAuthorizer to AllowAllAuthorizer (dee3828)

Fixed

  • Fix: Trust X-Forwarded headers in the IDP (2df3f1f)
  • Fix: Prevent cyclical dependency with locker and storage (45f9a51)
  • Fix: Use memory key/value storage for sparql backends (c01e33e)
  • Fix: Expose WAC-Allow via CORS. (0271536)
  • Fix: Expose Link via CORS. (643cece)

1.0.0-beta.1 (2021-07-23)

Added

  • Feat: Support metadata in multiple graphs (35a7cf9)
  • Feat: Allow HttpErrors to store cause and errorCode (e44c337)
  • Feat: Convert errorCodes using markdown (f2f967f)
  • Feat: Add IndexRepresentationStore to support index resources (cc1e332)
  • Feat: Style main template. (264b970)
  • Refactor: Match IDP templates to main template. (6897784)
  • Feat: Render Markdown documents as HTML. (c0dac12)
  • Feat: Add HTML container listing. (1394b9c)
  • Feat: Add support for client_id WebIDs (3bb7a32)

Changed

  • Feat: Split ResourceStore config into 2 parts (ad7f4ed)

Fixed

  • Fix: Use #me for WebID generation (ee456a5)
  • Fix: Fix incorrect path in https example config (0c3210f)
  • Fix: Always find the best path with ChainedConverter (e7ff134)
  • Fix: Prevent generated metadata from being stored (12e5018)
  • Fix: Throw internal error with invalid ACL. (e43b579)
  • Fix: Make sure there is always a fallback for error handling (bd10256)
  • Fix: Remove the cache from the ChainedConverter (fe8d579)

1.0.0-beta.0 (2021-06-29)

Added

  • Feat: Support creation of HTTPS server (7faad0a)
  • Feat: Combine pod creation with IDP registration (4d7d939)
  • Feat: Create ErrorHandler to convert errors to Representations (e1f9587)
  • Feat: Add showStackTrace CLI variable (b604dd8)
  • Feat: Create WWW-Authenticate metadata writer (e3c5b39)
  • Expose constant Allow header (a6371b0
  • Feat: Add ErrorToHtmlConverter using templates (9c0fa77)
  • Fix: Support BGPs with variables in SPARQL UPDATE queries (f299b36)

Changed

  • Refactor: Move config templates to templates folder (fadbaef)
  • Feat: Split preset configurations by feature (452032e)
  • Feat: Remove /interaction/:uid from IDP URLs (df33b6d)

Fixed

  • Fix: Support missing type preferences in ChainedConverter (52a3b84)
  • Fix: Add solid_oidc_supported to openid config (b328f9a)

0.9.0 (2021-05-04)

Added

  • Feat: Add identity provider (#455) (1d65143)
  • Feat: Add redis based locking mechanism (99d0173)
  • Feat: enable more compact config props using type-scoped contexts (2861b90)
  • Feat: Update ChainedConverter to create dynamic paths (44d82ea)
  • Feat: Expose AppRunner.run for easily serving from JS apps (d1eadd7)

Fixed

  • Fix: Prevent CliRunner tests from outputting errors (a00de24)
  • Fix: Use HttpErrors instead of Errors (218c8f4)
  • Fix: Prevent HttpRequest from being closed (9534582)
  • Fix: Allow owners to edit their own profile (7aebab1)

0.8.1 (2021-03-23)

Added

  • Feat: Fallback to X-Forwarded-* headers (de51a23)
  • Feat: Added oidc validation triples to template (e2284c4)

Fixed

  • Fix: Make new pod profile card public (613dd56)
  • Fix: Fix issue when there are multiple values for the same CLI parameter (dd5b496)

0.8.0 (2021-03-04)

Added

  • Feat: Static favicon asset (03e631f)
  • Feat: Introduce internal storing mechanism (59deb98)
  • Feat: Create GreedyReadWriteLocker using read/write locking algorithm (a3f41c1)
  • Feat: Introduce generic auxiliary resource support (d6cdd7d)
  • Feat: Support auxiliary behaviour in DataAccessorBasedStore (0c04723)
  • Feat: Add WAC-Allow header when required (1393424)
  • Feat: Emit container pub event on PUT. (c3cff55)
  • Feat: Create SubdomainExtensionBasedMapper (bdb3621)
  • Feat: Added resourceExists method to ResourceStore (b3f292d)
  • Feat: Solid community server Docker image (52551ac)
  • Feat: Create pod manager for generating dynamic pods (88d008e)
  • Feat: Create KeyValueStorage with a JSON file backend (6288003)
  • Fix: Error when unknown parameters are passed to the main executable (1589def)

Changed

  • Feat: Replace express with native http module (ce1f430)
  • Feat: Make stores return modified resources. (6edc255)
  • Change: Query string does not influence identifier. (a57105b)

Fixed

  • Fix: Do not re-encode static assets. (#566) (c899e6c)
  • Fix: Preserve query string in transformations. (6e50443)
  • Fix: Test error classes correctly (c29928c)
  • Fix: Close unpiped streams (386d782)
  • Fix: Prevent race condition in OPTIONS call (73acb9c)
  • Fix: Fix problem with piping streams for PATCH requests (6c4378a)
  • Fix: Fixed bug with empty Accept headers and internal/quads bodies (59600b0)
  • Fix: Simply GuardedStream check (c05933f)
  • Fix: Prevent setRepresentation crash if there is no root container (6424b07)
  • Fix: Remove default root container from InMemoryDataAccessor (bb65630)
  • Test: Remove root folder creation from integration tests (49a04c4)
  • Fix: Make mkdir recursive in FileDataAccessor (30cebec)
  • Fix: do not output filesystem container size (1486f01)
  • Fix #621: acl:AuthenticatedAgent instead of foaf:AuthenticatedAgent (91791a0)
  • Fix: Allow non-variable BGP boedies in SPARQL updates (894d458)
  • Correctly handle slugs in POST requests (28c0eb7)
  • Fix: Update faulty token verifier (5c6822d)
  • Fix: SPARQL PATCH Content Type (2a34a43)
  • Fix: SPARQL body parser test content type metadata (23473f5)

0.7.0 (2021-01-28)

Added

  • Feat: Update config to include LockingResourceStore (69c3144)
  • Feat: Add ConstantMetadataWriter. (fe3957f)
  • Feat: Set MS-Author-Via header. (8c2f737)
  • Feat: Set Accept-Patch header. (153d2d9)
  • Feat: Add acl link header writer (2c33000)
  • Feat: Add ParallelHandler. (817cf3a)
  • Feat: Support folders in StaticAssetHandler. (2563335)

Changed

  • Feat: Update ResourceLocker interface (4d440c6)
  • Feat: Update WrappedExpiringResourceLocker to new interface (b59357e)
  • Fix: Remove locking from the SparqlUpdatePatchHandler (077f5d7)
  • Feat: Update LockingResourceStore to use new locking interface (c174025)

Fixed

  • Fix: Only require append permissions on POST requests (93e53b3)

0.6.0 (2021-01-21)

Added

  • Feat: Export UnsecureConstantCredentialsExtractor. (5429014)
  • Feat: Add IfNeededConverter and PassthroughConverter. (6763500)
  • Feat: Support composite PATCH updates (36761e8)
  • Add optional path and url suffixes to FixedContentTypeMapper (4ac0167
  • Feat: Implement UnsupportedAsyncHandler. (dd9d873)
  • Feat: Add ConstantConverter. (5416d66)
  • Feat: Set Vary header. (693d48b)
  • Feat: Add StaticAssetHandler. (5a12315)
  • Feat: Add placeholders for static assets to configuration. (75d0d41)

Changed

  • Refactor: Rename BasicTargetExtractor to OriginalUrlExtractor. (3a4ec48)

Fixed

  • Fix: Accept absolute paths in CliRunner (cf6270d)

0.4.1 (2021-01-13)

Added

  • Feat: Only convert when needed. (2efebf9)
  • Feat: Add BaseResourceStore. (998296a)
  • Fix: Update acl authorizer to make write rights imply append rights (61aa2e1)
  • Feat: Add transformSafely. (995a2dc)
  • Refactor: Make request related handle calls consistent (f17054c)
  • Feat: Store target identifier when parsing metadata (76def28)
  • Fix: Use base IRI when parsing SPARQL update queries (775aaa7)
  • Feat: Add Content-Type constructor to metadata. (be1af89)
  • Feat: Add BasicRepresentation. (66e6368)
  • Feat: Use ldp: prefix in container representations. (ba42861)

Fixed

  • Fix: Prevent POST BasicRequestParserests from creating intermediate containers (a5bc8d2)
  • Fix: Don't get normalized metadata for root containers (5995057)
  • Fix: Take baseIRI into account when calling parseQuads (fea726a)
  • Test: Move diamond identifier test to ldp handler tests (d3c8069)
  • Fix: Generalize typing on pushQuad. (27a1150)
  • Fix: Allow Content-Type: 0 on GET. (16ef86a)
  • Fix: Always keep guarded error listener attached (27cc1ec)

0.4.0 (2021-01-06)

Added

  • Feat: Create new resources when patching (7011b76)
  • Feat: Add read-only store. (038d572)
  • Feat: Create ContainerManager for containing container conventions (9c080c2)
  • Feat: Add constant WebID extractor. (209b87a)
  • Feat: Initialize root containers with RootContainerInitializer (231349b)
  • Feat: ExtensionBasedMapper no longer throws if there is no file (d7434df)
  • Feat: Support .meta files for pod provisioning (e722cc6)
  • Feat: Add pod template to indicate storage (70cc359)
  • Feat: Add RecordObject. (147f3cf)
  • Feat: Bearer token support (bdfd7cf)
  • Feat: Add extra logging for root container creation. (5a3a612)
  • Feat: Add mainModulePath and globalModules CLI flags. (ba4f7ff)
  • Feat: Improve path logging. (e20510a)
  • Feat: Expose UriConstants. (0bd48f0)
  • Feat: Expose ConversionUtil. (dfc1d46)
  • Feat: Expose ContentTypes. (4df11c1)
  • Feat: Expose GuardedStream. (166c4de)
  • Feat: Support strings in addQuad. (feaac1c)
  • Feat: Expose UriUtil. (882c0fd)
  • Feat: Incorporate server-side representation quality. (8cd3f7d)
  • Feat: Validate Accept-DateTime. (ba5c620)
  • Feat: Allow querying metadata. (3b63786)
  • Feat: Support writer prefixes. (87752dd)

Changed

  • Refactor: Split off AclInitializer. (8fbb4f5)
  • Refactor: Split off LoggerInitializer. (b0ecf1c)
  • Refactor: Split off ServerInitializer. (04a9185)
  • Refactor: Remove Setup. (badbe00)
  • Change: Refactor AllVoidCompositeHandler into SequenceHandler. (ba47ce7)
  • Change: Rename FirstCompositeHandler into WaterfallHandler. (f26178b)
  • Change: Make RepresentationMetadata accept a ResourceIdentifier. (accfc2e)
  • Refactor: Replace getParentContainer util function with ContainerManager (f0db9e5)
  • Refactor: Also create named nodes for vocabularies. (ae06e99)
  • Refactor: Rename UriUtil into TermUtil. (2e18855)
  • Refactor: Use record for representation preference. (4828912)
  • Refactor: Rename RepresentationPreference into ValuePreferences. (09ae959)

Fixed

  • Fix: Only set content-type for documents in sparql store (d7e189c)
  • Fix: Allow quad data for containers (d5bf4e1)
  • Fix: Do not write error if response already started. (907caa1)
  • Fix: Allow overwriting and deleting root container in SparqlDataAccessor (fc8540f)
  • Fix: Allow deletion of root in InMemoryDataAccessor (3e3dd7f)
  • Fix: Allow DataAccessorBasedStore to create root (a08b7e9)
  • Fix: Remove metadata content-type assumption from FileDataAccessor (1464288)
  • Fix: Remove metadata content-type assumption from QuadUtil (a114d00)
  • Fix: Only check relevant type triples (a721684)
  • Fix: Execute only one main handler. (2443f2c)
  • Fix: Prevent deletion of root storage containers (39a79db)
  • Fix: Remove faulty no-routing configuration. (eb6ba03)
  • Fix: Expose Location header via CORS. (a5c372c)
  • Fix: Export all errors. (f7825be)
  • Fix: Distinguish instantiation and initialization errors. (49551eb)
  • Fix: Ensure root file path is absolute. (c41c41d)
  • Fix: Emit all guarded errors to all listeners. (4faf916)
  • Fix: Sort preferences by descending weight. (98bf8c1)
  • Fix: Allow credentials over CORS. (ee072b0)
  • Fix: Join and normalize paths consistently. (f454b78)
  • Fix: Prefer Turtle as default content type. (e70e060)

0.3.0 (2020-12-03)

Added

  • Feat: Store status, body and metadata in ResponseDescription (1260c5c)
  • Feat: Create MetadataSerializer (aebccd4)
  • Feat: Reject unacceptable content types (69ed2e0)
  • Feat: Make internal/quads unacceptable output (715ba12)
  • Feat: Implement ExpiringLock and -ResourceLocker (9fd8440)
  • Feat: Add a monitoring store. (4ef4d44)
  • Feat: Add WebSocket functionality to server. (5948741)
  • Feat: Implement the Solid WebSocket protocol. (0099d1d)
  • Feat: Include parent containers in POST and DELETE changes. (d879936)
  • Feat: Advertise WebSocket via Updates-Via header. (f08617b)
  • Feat: Create function to wrap streams to not lose errors (1a30b51)
  • Feat: Export WebSocket classes. (4a7ea4a)
  • Feat: Wire up WebSockets. (9b70068)
  • Feat: Add DPoPWebIdExtractor. (0407a36)
  • Feat: Add patch logging. (de07906)
  • Feat: Make HeaderHandler customizable. (d6c0f89)
  • Feat: Make CorsHandler customizable. (8dec921)
  • Feat: Expose Updates-Via header via CORS. (49d37dc)
  • Feat: Implement --baseUrl flag. (eabe6bc)
  • Feat: Add LDP request logging. (535cbcd)
  • Feat: Support the Forwarded header. (ecfe3cf)
  • Feat: create PodHttpHandler with default interfaces (39745cc)
  • Feat: add implementations of pod-related interfaces (9653dee)
  • Feat: add template based data generator (f387b36)
  • Feat: integrate pod creation (1a043ac)

Changed

  • Refactor: Create multiple composite handlers (840965c)
  • Refactor: Make piping consistent (95ab0b4)
  • Refactor: Remove identifier parameter (acebf03)
  • Refactor: Clean up utility functions (1073c2f)
  • Refactor: Add isContainerPath function (75e4f73)
  • Refactor: Add ExpressHttpServerFactory. (e39e796)
  • Refactor: move ExtensionBasedMapper into mapping directory (2c46d70)
  • Refactor: abstract parts of ExtensionBasedMapper into MapperUtil (971e417)
  • Change: use isContainerIdentifier in FixedContentTypeMapper (f23073b)
  • Refactor: Move lock stuff in its own folder (dacfb74)
  • Change: Drop Node 10 support. (03ffaae)
  • Change: Make credential extractors specialized. (b0c50b8)
  • Change: Do not warn in canHandle. (baf6888)
  • Change: Increase logging level of lock expiry. (1d08f46)
  • Refactor: Separate middleware from Express. (023ff80)
  • Change: Move WebSocketAdvertiser to middleware. (fc3942b)
  • Refactor: Refactor runCli to take optional arguments. (528688b)

Fixed

  • Fix: Integrate wrapStreamError to prevent uncaught errors (e418333)
  • Fix: Correctly handle acl behaviour for acl identifiers (ee31291)
  • Fix: Update quad converter config parameters (59f99e1)
  • Fix: Rename UnsupportedHttpError into BadRequestError. (af8f197)
  • Fix: Always release lock when patching (3362eee)
  • Fix: Create container data before adding content-type (c2b1891)
  • Fix: Do not generate empty INSERT graph. (0ecbffa)
  • Fix: Do not overwrite existing root ACL. (77db5c0)

0.2.0 (2020-11-05)

Added

  • Feat: Expose types (1dd1469)
  • Feat: Implement resource mapper for the file resource store (#142) (383da24)
  • Feat: More integration tests and test configs (#154) (b1991cb)
  • Feat: Update RepresentationMetadata to store triples (76319ba)
  • Feat: Add logging (99464d9)
  • Feat: Implement HEAD request support (0644f8d)
  • Feat: Have ExtensionBasedMapper handle extensions correctly (b47dc3f)
  • Feat: Decode URI in target extractor (bb28af9)
  • Feat: Create MetadataHandler (7dcb3ea)
  • Feat: Integrate MetadataHandler (31844a4)
  • Feat: Add support for mocking fs (e00cb05)
  • Feat: Create DataAccessorBasedStore to have a standard store implementation (6ad4076)
  • Feat: Create file-based DataAccessor (9a857b7)
  • Feat: Add DataAccessorBasedStore integration (9b26bbe)
  • Feat: Create InMemoryDataAccessor (b896004)
  • Feat: Fully support storing content-type in file extensions (e861b08)
  • Feat: Implement SPARQL-based ResourceStore (6cc7053)
  • Feat: Support SPARQL store backends (9f7c246)
  • Feat: Update RepresentationConvertingStore to convert incoming data (712a690)
  • Feat: Implement a first draft of the RoutingResourceStore (86de805)
  • Feat: Create a RoutingResourceStore that takes routing rules (5287cd1)
  • Feat: Create multiple configs supporting different store backends (892b5f5)
  • Feat: Create routing configs and partially clean up config structure (f8542a2)

Changed

  • Refactor: Rename BasePermissionsExtractor to MethodPermissionsExtractor (ba8b357)
  • Refactor: Simplify MethodPermissionsExtractor (389fb33)
  • Refactor: More precise error messages (063437e)
  • Refactor: Make PassthroughStore generic (3d95078)
  • Chore: update to componentsjs-generator with generics support (e9983d5)
  • Refactor: Remove RuntimeConfig in favor of config variables, Closes #106 (1dd140a)
  • Refactor: Streamline RepresentationMetadata interface (8d39793)
  • Refactor: Make URI constants consistent (85df2e5)
  • Refactor: Fix typo (c150da3)
  • Refactor: Update eslint related dependencies (9657fba)
  • Refactor: Apply naming-convention rules (e349e04)
  • Refactor: Rename UriUtil functions (e1533a0)
  • Refactor: Remove Turtle to Quad and Quad to Turtle converters (d8e6c08)
  • Refactor: Move file related metadata to FileResourceStore (fa935cc)
  • Refactor: Let caller decide which error pipeStreamAndErrors should throw (006f7ea)
  • Refactor: Rename instances of data resource to document (626b311)
  • Refactor: Remove file and in memory stores (03c64e5)
  • Refactor: Make ExtensionBasedMapper only expose what is needed (4df2645)
  • Refactor: Implement empty canHandle on base class. (#289) (1a45b65)
  • Chore: Organize tests (#292) (73a56d8)
  • Chore: Use Jest recommended linting. (4b4f737)
  • Refactor: Change constructor so it is supported by Components.js (dee4eef)
  • Refactor: Change routing constructors to work with Components.js (50dfea1)
  • Refactor: Change PreferenceSupport constructor to work with Components.js (ef6f01a)
  • Chore: Add docker npm scripts. (5f4f4b0)
  • Chore: Enable/disable Docker testing with a flag. (fe870f0)

Fixed

  • Fix: metadata file error in FileResourceStore (c808dfe)
  • Fix: Retain status codes when combining errors (10723bb)
  • Fix: Have AsyncHandlers only check what is necessary (4d34cdd)
  • Fix typo. (79defc3)
  • Fix: Make sure all URI characters are correctly encoded (e85ca62)
  • Fix: Fix test issues (2296219)
  • Fix: Remove metadata file if no new metadata is stored (63f891c)
  • Fix: Provide full coverage for util functions (c999abb)
  • Fix: Correctly parse URL domain (5fa0686)
  • Fix: Resolve duplicate error message and no trailing newline (a7fa61a)
  • Fix: Write tests and fix related bugs, refactor code (dff4ba8)

0.1.1 (2020-09-03)

Fixed

  • Docs: Copyfitting on README (c3c4424)
  • Fix: Move dependencies to production (80aad8a)

0.1.0 (2020-09-03)

Added

  • Feat: Send server identification (4965b47)
  • Feat: Integrate ChainedConverter into the server (3931d5f)
  • Feat: Dynamically determine matching types in ChainedConverter (af4a82f)
  • Feat: Create RepresentationConverter that chains other converters (734f7e7)
  • Feat: allow custom config to be passed (09707a9)
  • Feat: Enable dependency injection with auto-generated components (db04c55)
  • Feat: add support for parsing more RDF formats using rdf-parse (e88e680)
  • Feat: Support link and slug headers in SimpleBodyParser (86d5f36)
  • Feat: Move runtime config into dedicated component, Closes #67 (5126356)
  • Feat: Add file based ResourceStore (#52) (381dae4)
  • Feat: Add more extensive permission parsing support (e06d0bc)
  • Feat: Integrate acl with rest of server (769b492)
  • Feat: Add acl support (0545ca1)
  • Feat: Integrate data conversion with rest of server (4403421)
  • Feat: Convert data from ResourceStore based on preferences (5e1bb10)
  • Feat: Specifiy constants in separate file (14db5fe)
  • Feat: Integrate PATCH functionality (0e486cf)
  • Feat: Add support for SPARQL updates on ResourceStores (04a12c7)
  • Feat: Add OperationHandler for PATCH (482991c)
  • Feat: Add BodyParser for SPARQL updates (95c65c8)
  • Feat: Add lock functionality (a9b811a)
  • Feat: Add prepare script (a4dc001)
  • Feat: Set up server using express (a9dc59b)
  • Feat: Add coveralls support (7923237)
  • Feat: Validate Accept* headers while parsing (64a3f90)
  • Feat: Fully support Accept* headers (9d9f7df)
  • Feat: add simple response writer (6180056)
  • Feat: add simple operation handlers (fe87493)
  • Feat: add simple resource store (12fd00e)
  • Feat: add simple permissions related handlers (d983fca)
  • Feat: add response description interface (e0343fc)
  • Feat: add simple request parser (cf258d0)
  • Feat: add simple preference parser (09eb665)
  • Feat: add simple target extractor (3c8a087)
  • Feat: add simple body parser (d4f70d9)
  • Feat: add request parsing related interfaces (70af469)
  • Feat: add typed readable (e0d74fd)
  • Feat: Add README with architecture links (aaf3f8e)
  • Feat: add AuthenticatedLdpHandler (3e2cfaf)
  • Feat: add FirstCompositeHandler to support multiple handlers (4229932)
  • Feat: add custom errors (57405f3)
  • Feat: add additional supported interfaces (a4f2b39)
  • Initial configuration (b949b6c)