lucid

A modern headless CMS offering a delightful developer experience. Tailor Lucid seamlessly to your client and frontend requirements with our expressive brick and collection builders and extensive configuration.

Downloads
216
Stars
12

Bot releases are visible (Hide)

lucid - v0.9.0-alpha.0

Published by WillYallop 24 days ago

Features:

  • CMS UI rework. Looks better, no longer requires JS to work out content height in main layout and panels, better loading, error, no data state handling and colour changes.
  • Lucid start function now has optional config for the port and host. (b1bf97e)
  • @‌lucidcms/core/api import now has export for serviceWrapper and route helper, giving more options to plugin developers and extending your instance. (16c0c58)
  • Fastify plugins can now be registered via the lucid.config.ts/js giving plugins the ability to register endpoints etc. (0a1d542)
  • Repeater groups and bricks in the document page builder now have a nice animation when being drag and dropped to change their order. (d4764e0)

Breaking changes:

  • dotenv package is no longer imported and called within core and so if you want to use environment variables within your project that is on you to configure. (b1bf97e)
  • Media strategies now require a service to create a signed URL for the client to upload to. (58c846c)
  • Media strategies now require a service to fetch metadata on given key. (2e869a8)
  • Media strategy no longer requires the updateSingle service. (67cc279)

Bug Fixes:

  • Fixed link custom field issue to do with the default value being a string instead of link object. This meant in the CMS when a new link field was added, the value was set wrong causing it to error on save. (e775ab9)
lucid - v0.8.0-alpha.0 Latest Release

Published by WillYallop 2 months ago

Features:

  • Implemented a new document custom field type so you can define relationships between documents. (a9da47d)
  • New pages plugin added, that enables support for slugs and parent pages on given collections. Computes a fullSlug based on ancestor documents that makes fetching the document based on browser location possible. (bd495f8)
  • Document custom field queries updated to return target documents collection fields in its meta - works for internal and client document endpoints. (622dfeb)
  • Title and alt translations format update for the media custom field meta so that it matches the format of the translations and meta. (5d3127f)

Breaking changes:

  • Hook and email strategy response format updated to match that of services and media strategies. (2db7995)
  • Hook functions now use same type as services do internally to keep consistent and give the ability for hooks to use services, db and config from Lucid. (5cebd3c)
  • Migration file edit for the document custom field. (88db286)
  • Builders, adapters and some utilities have had their exports moved from the root of core to a more appropriate path. (24f0c11)

Bug Fixes:

  • Fixed user, media and doc validation by having null/undefined check happen before data exists check which is now also moved into the respective custom field. (867015f)
  • Fixed delete document bug where field document_id wasn't being set null on cascade as expected because we don't actually delete documents - only soft delete them. (8881ea3)
  • Fixed create document bug causing state to reset when collection endpoint was called when opening the select document modal. (2335583)
  • Successfully creating a single collection document now invalidates collection.getAll key so that the collection navigation knows not to take you back to the create page for that collection. (34240c7)
  • Fetch single collection now uses collection key param in query - before it was possible to fetch documents from other collections despite being seemingly scoped to a collection via the endpoint. (ee2b336)
  • Fixed issue causing brick store to get reset when the document select modal fetched collection config, as well as a document fetch issues when changing documents. (c93937c)
  • Moved away from local version of Kysely’s ParseJSONResultsPlugin now that the LibSQL adapter is no longer using @‌libsql/hrana-client which was returning an immutable response. (7b97c53)
lucid - v0.7.0-alpha.0

Published by WillYallop 3 months ago

Features:

  • Document builder visual overhaul along with QOL changes to UI across the SPA.
  • Error message revamp for SPA document page builder with support for tabs highlighting if an error resides within it. (c283824)
  • Added support for returning nested repeater fields on client/toolkit document single and multiple fetches. (befb65a)
  • Image media now includes a blur hash that is generated on upload. (7ee6461)
  • Image media no includes average colour RGBA value and is light/dark information. (be2a254)
  • Holding page styled and content added. (b8ab6d0)

Breaking changes:

  • Response format of client document endpoints is updated to return a field object instead of array to make consuming data easier. (11aa7ce)
  • Existing migration file edit for media blur hash, average colour columns meaning db will need to be re-created. (be2a254)
  • Response type of media strategies update to use ServiceResponse type to fall inline with how internal services work. (af95561)
  • Clear single processed image route fix to use media ID instead of key due to key containing slashes now. (f340b2f)

Bug Fixes:

  • Fixed upsert document not updating the updated_at field. (764f078)
  • Fixed issue with updated media panel trying to refetch deleted media when panel was closed. (0b042db)
  • Flatten fields helper now adds field for every locale regardless if the locale has been given in the payload which fixes issues with required validation. (65bd6ae)
lucid - v0.6.0-alpha.0

Published by WillYallop 4 months ago

Features:

  • Client integration endpoints and authentication middleware added along with settings area for it within the SPA. (4ef95c2)
  • Rate limiting added to the API and messaging within SPA. (3d73bf2)
  • Users now have their own secret generated and stored against them for hashing their password with argon2. It’s also setup to regenerate whenever a password is updated. (6a10b44)
  • Fetch documents client endpoint added along with toolkit support. (fbcf50f)
  • Fetch all locales client endpoint added along with toolkit support . (5e54359)

Breaking changes:

  • Lucid config keys have new validation schema - they are now required to be 64 characters long. (e45701d)

Bug Fixes:

  • Fixed bug on processed image where we didn't wait for the upload to finish. (cbc7a84)
  • Fixed issue where serviceWrapper didn't return result of fn if it wasn't within a transaction - caused 30ms delay on requests in some places. (b2e92fe)
  • Fixed serviceWrapper bug that meant default error wasn't being merged into the fn error result. (51412f8)
  • Fixed bug with render template service where template data wasn't being passed down correctly. (ef30d80)
  • Fixed issue with get multiple filtered collection docs where it required collection fields to be included for them to be filterable. (9c672dc)
lucid - v0.5.0-alpha.4

Published by WillYallop 4 months ago

Features:

  • Multiple tests added for custom fields and builders along with new validation rules.
  • Reworked service wrapper to support transactions, schema validation, default errors and errors as values. (9f12aa4)
  • Improved error handling for database migrations and Lucid server. (131edc0)
  • New cronjob added to clear locales that have been deleted for 30 days. (3c1b7ea)

Bug Fixes:

  • Fixed issue with media and user validation where if no value was selected it would error regardless of validation rules due to validate method not being called and default valid state being false. (b3b3e27)
lucid - v0.5.0-alpha.3

Published by WillYallop 4 months ago

Bug Fixes:

  • Fixed format insert field not using brick instance to find custom field class. (1a8fad5)
  • Fixed issue with field validation expecting a brick to have an id else continuing a loop and not validating the field. (3aacf8d)
  • Updated add brick modal component to support brick title and description locale variations. (0c71513)
  • Fixed Postgres issue with title_translations.value and alt_translations.value not being in groupBy function. (38c13e3)
  • Fixed issue with validation and error handling where brick id wasn’t being used to identify field error. Meant fields with same key would share errors. (6bc477e)
lucid - v0.5.0-alpha.2

Published by WillYallop 4 months ago

Features:

  • Bricks and Custom Fields now support locales on labels in config, so optionally users can provide translations for the users selected locale. (f9d5e5a)

Breaking changes:

  • Custom fields config changed for FieldBuilder and subsequently BrickBuilder and CollectionBuilder. (786e74a)
lucid - v0.5.0-alpha.1

Published by WillYallop 5 months ago

Bug Fixes:

  • Fixed bug where field translation values where still being set on front and backend despite collections having translation set to false. (16f1ada)
  • Fixed bug in flatten fields function on backend that was dropping fields that do not have translations enabled and where the value is empty. (449ab1d)
  • Fixed issue with link select modal not clearing previously opened link on close. (6b190a8)
  • Fixed document row and get field/meta helpers to use param collection translation value or brick store collection translation value. (dfea7a0c)
  • Fixed issue with document builder when in create mode where collection refetch on tab switch would reset field data. (3787ce3)
lucid - v0.5.0-alpha.0

Published by WillYallop 5 months ago

Features:

  • Finished the MVP of the document builder page so documents can be created, deleted and updated. Bricks and fields can be edited, removed and re-ordered etc.
  • Supported locales are now listed on the settings page (092140e)
  • Translations are now controllable on a per field basis for better granularity in setting up bricks and collections. (43c4f90)
  • Bricks can now have a description set against them in config (848e9cc)
  • Document builder now has a image preview icon that opens a modal on bricks that have preview images set. (d2a4fc3)
  • Added internationalisation support to the CMS frontend though we currently only have en translations (ebe94e3)
  • Collections, documents, media, roles and users now all have a no data state that prompts users to create an entry. (76bed15)
  • New account page added for users to control their locale preference and update their details. (c3e4e8f)
  • Creating a user no longer requires a password to be set against them, instead we utilise the password reset flow so new users can set their own password. (b262176)
  • Users can now update their own password on the account route and added support to force accounts to update their password before being able to use the CMS. (d10572f)
  • Users with permission can now mark other users to update their password on next login/use of their account. (032418f)

Breaking changes:

  • Languages have been renamed to locales across the frontend/backend and are now controlled via config (32f41b9)
  • Fields req and res objects now either return all locale translations or none depending on if the translation support flag is true on a field. (e7d83c4)

Bug Fixes:

  • Fixed issue with collection document multiple formatter not passing down the default locale config value. (44c53e9)
  • Fixed issue with media panel not invalidating media in time when reopening the panel after updating it. (4c2e806)
  • Fixed issue where you could update the currently authenticate user with the update user endpoint. (d640912)
  • Fixed issue where you could delete yourself and along with that all users. (5e90524)
  • Fixed issue with brick store group functions where required props weren't passed down that were required to target second level and deeper groups. (469dce4)
  • Fixed CSRF token refetching in fetch wrapper. (70cb5b0)
  • Processed images now records size and gets set against the storage limit defined by config. (fa83851)
lucid - v0.4.0-alpha.0

Published by WillYallop 6 months ago

Features:

  • CMS frontend collection document rework.
  • New supported features section on frontend settings page. (2956ad6)

Breaking changes:

  • Group format on collection document request and response requires a group object which includes an id instead of being Fields[][]. Required for frontend to target group in a safer way. (6ee503e)

Bug Fixes:

  • Fixed type and casing errors across the frontend.
  • Fixed issue where get multiple users endpoint would return duplicate user entries. (52c6f1c)
  • Fixed count issue on selectMultipleFiltered in users repo. (7a87468)
  • Fixed count issue on selectMultipleFiltered in media repo. (ef138f5)
  • Fixed perPage query param issue where we were still looking for the previous casing version. (eb60f9b)
  • Fixed use of flatFields in collection formatter. Now returns fieldTree like the fixed and builder bricks do. (b77f892)
lucid - v0.3.0-alpha.0

Published by WillYallop 6 months ago

Features

  • Repeater support on the collection builder. (af6a5fc)
  • Added the ability to lock collections from edits and deletion. (c46fd2c)
  • Added a new custom field to the field builder class to reference users. (7fe7c25)

Breaking Changes

  • Removed collection document author column. (d4c9e16)
  • Upsert bricks, fields and groups removed in favour of creating new entries on each request in preparation for revision system. (a30c3f1)
  • Groups are no longer tied to a language meaning in the page builder when swapping between languages you will have the same amount of groups for repeaters. (08d810e)
  • Collection document upsert fields are now require a nested structure instead of being flat. They are now flattened internally so that you no longer have to worry about setting temp group ref ids. (1c2e654)
  • Collection document fields response is now nested instead of flat and doesn't return group array. (2110341)
  • Removed addPageLink custom field from field builder. (d2dcd6b)

Bug Fixes

  • Fixed issue with group parent id update query not working in SQLlite. (525d9e8)
  • Added sort on field formatter groups to ensure correct group order. (3a2c7e8)
  • Get multiple document fields now include media and users joins. (095fe8a)
lucid - v0.2.0-alpha.0

Published by WillYallop 6 months ago

Features

  • Added support to set disabled and hidden flags on specific custom fields (693a1a0)
  • New config option to disable serving swagger documentation site (a4be9f4)

Breaking Changes

  • Collection document get multiple now uses standard format for filtering instead (8180dc5)

Bug Fixes

  • Core plugin semver check now supports version suffix (-alpha.0) etc (7ada563)