Skip to content

Latest commit

 

History

History
1006 lines (825 loc) · 32.5 KB

File metadata and controls

1006 lines (825 loc) · 32.5 KB

Changelog

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

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

0.15.0 - 2026-04-06

Added

  • New git actions:
    • Update: to pull the production branch without pushing.
    • Sync: to pull & push the draft branches.
    • Save: to commit the current changes without push.
  • Button to open the preview page of documents in a new tab
  • Localization
  • New AuthProvider interface to implement other authentication methods.
  • Saved the open/closed state of the trees in the local storage

Changed

  • Better code architecture.
  • Move the ability to rename documents to a separate action.
  • Redesigned the ability to duplicate documents.
  • Use CSS anchor positioning for the dropdown menus.
  • Refactor Git utilities.
  • UI tweaks

Removed

  • Ability to edit an uploaded file.
  • The labelizer applied by default.

Fixed

  • Some bugs in the permissions layer.
  • Updated dependencies

0.14.16 - 2026-03-03

Added

  • New relativePath option for uploaded files #69

0.14.15 - 2026-02-07

Fixed

  • Names of duplicated documents.

0.14.14 - 2026-02-03

Fixed

  • sqlite serialization.

0.14.13 - 2026-01-28

Fixed

  • Array serialization for sqlite.
  • Updated dependencies.

0.14.12 - 2026-01-24

Added

  • New sqlite storage.
  • New option transform to documents and collections.

Changed

  • Document name is automatically generated if it's not provided. This removed the requirement of having a documentLabel option for collections if rename permission is false.
  • Some UI tweaks.

Fixed

  • Filter automatically opens the closed elements containing results

0.14.11 - 2026-01-13

Fixed

  • Duplicated description in choose-list, object-list and file-list fields.

0.14.10 - 2026-01-12

Added

  • Property storage to Document and Collection instance to get the storage instance assigned.
  • Fourth argument to previewUrl function with the storage instance of the file.

Fixed

  • Codeberg storage adapter #68.
  • Detect language when editing the code of a document.
  • Fix label in choose-list, object-list and file-list fields.

0.14.9 - 2026-01-07

Fixed

  • documentName is not required if create and rename permissions are false.

0.14.8 - 2026-01-07

Fixed

  • Collections don't list files starting with _.

0.14.7 - 2026-01-07

Added

  • New map field to introduce key->value entries.
  • Restored strikethrough button of Markdown field removed in the previous version.

Changed

  • The link to the Markdown guide.

Fixed

  • Improved visualization of object-list and choose-list.
  • Update command of rich-text editor.
  • Don't capture the tab key in the markdown editor.

0.14.6 - 2026-01-05

Changed

  • Simplified the markdown field:
    • Removed H1 button since the main title use to be in a different field
    • Replaced help button with a small link at the bottom
    • Moved the link button to bold and italic group
    • Removed strikethrough text since it's not often used.
  • Moved the link button of the rich-text field

Fixed

  • The navbar is not visible if a toolbar is stuck.
  • Markdown field: don't create a link on paste if the selected text is already a URL.
  • Updated dependencies.

0.14.5 - 2026-01-04

Fixed

  • Bold font weight on Windows.
  • Subdirectories instances from Fs storage had a wrong root path.

0.14.4 - 2025-12-30

Added

  • Show the value of the first element in the choose-list field.

0.14.3 - 2025-12-29

Fixed

  • UI improvements and fixes.
  • Folders in the uploads view must be collapsed by default.
  • Overflow in object list with long titles.
  • Types of rich-text field.
  • Updated dependencies.

0.14.2 - 2025-11-22

Fixed

  • Removed unused u-bar component.
  • Ensure there's a single empty line at the end of files with front matter.
  • Updated dependencies.

0.14.1 - 2025-11-15

Fixed

  • Default and named exports for storages.

0.14.0 - 2025-11-13

Added

  • New option staticFolders to configure folders to serve custom static files.
  • New field rich-text #66.

Changed

  • Reverted the default export of GitHub storage to return a class instead of a factory function.

Fixed

  • Don't trim the content returned by markdown files.
  • Updated dependencies: imagemagick, vento, cropper.

0.13.0 - 2025-10-14

Added

  • New GitLab and Memory storages.
  • New option previewUrl to return the URL of a file. It can be defined globally or per document and collection.
  • New option sourcePath to return the file of a URL.
  • New option cssSelector to highlight an element in the previewer related with a field.
  • New option documentLabel for uploads, to configure the name of the file.
  • New edit option to documents and collections to enable/disable edit permissions.
  • New relation field.
  • New relation-list field.
  • Permissions options for uploads (create, rename, edit, and delete).
  • User-level permissions
  • Show EXIF data of some files in the uploads detail.
  • Allow to parse and show extra data per document in the collection and upload views.
  • Allow to create documents and collections without fields, to edit the raw content in the code editor.
  • New type option for documents and collections to indicate the root field. The available values:
    • object: The default value
    • object-list: To store an array of objects.
    • choose: To select between different objects

Changed

  • BREAKING: Replaced Hono with Galo.
  • Responsive layout to show the previews in small screens.
  • select field: only allow defined values.
  • The FieldDefinition.init callback is run every time the field is initialized.
  • Some changes to Git class:
    • prefix option was renamed to branchPrefix.
    • The branch with versions are pushed to the remote repo.

Removed

  • BREAKING: url configuration for documents and collections. Use previewUrl instead.
  • Float button to edit the current page in the preview. It was moved to Lume debugbar.
  • BREAKING: cms:* global events.
  • BREAKING: Ability to name the root field as [] to indicate that it's an array. Use the new type option.

Fixed

  • select field: allow numbers as values.
  • date and datetime fields are no longer associated with a time zone.
  • Don't throw an error parsing empty JSON files #64.
  • Updated dependencies vento, hono.

0.12.5 - 2025-07-16

Added

  • New option collection.rename = "auto" to run collection.documentName after editing the document.

Changed

  • Show only the input to (re)name a document if rename option is true.

Fixed

  • On creating documents inside folders, the path is the folder label, instead of the folder name.
  • Visibility of filename input on creating new documents.
  • Prevent to rename a document if the rename permission is false.

0.12.4 - 2025-07-15

Fixed

  • Error creating new documents in a collection.

0.12.3 - 2025-07-15

Added

  • Support to configure the path in GitHub::create().
  • Allow to edit documents in code mode.
  • Allow to customize the language of code field with attributes.data.language.
  • Support for front matter in the code field.
  • When the parsing of a document fails, show the error and allow to edit the raw code.

Changed

  • Shorter hash when using a development version #62.
  • Indent using tab key in markdown and code fields.

Fixed

  • Layout shift caused by some components.
  • Improved syntax colors of markdown and code fields.

0.12.2 - 2025-07-13

Added

  • When the changes are saved, the edit form updates accordingly.
  • Buttons Now and Today to datetime and date fields respectively.

Fixed

  • Updated dependencies to the latest version

0.12.1 - 2025-07-12

Added

  • New option rename to prevent to rename a document in a collection by hidding the text input.

Fixed

  • Publish version: delete the branch only after pushing changes.
  • Passed the current data to the init() callback of fields on edit a document.
  • Netlify support:
    • Failing on caches API. #59
    • Don't run Deno.cwd() if it's not needed
  • required autofocus attributes to the field to set/edit the document name in a collection.

0.12.0 - 2025-06-12

Added

  • Allow to edit documents in code mode.

Changed

  • Internal: use Vento templates instead of template strings.
  • Uploads icon.

Fixed

  • Updated dependencies and vendor libs.
  • Apply a min-height to code and markdown fields.
  • Imagick lib error in Deno 2.3.6.

0.11.5 - 2025-04-25

Fixed

  • Upload option for file field.

0.11.4 - 2025-04-20

Added

  • New choose field, similar to choose-list but for only one element.

Fixed

  • number field #53.

0.11.3 - 2025-04-14

Fixed

  • object-list fields #52.
  • Updated dependencies.

0.11.2 - 2025-04-10

Added

  • collection.views and document.views accepts a function to return the initial views depending on the data #51.

0.11.1 - 2025-04-04

Fixed

  • Restored transform function.
  • Some fields don't save the value.

0.11.0 - 2025-04-03

Added

  • 3rd argument to field.init() with the data to edit or undefined for new creations.

Changed

  • Refactored fields. Now every field is in an individual file.

Removed

  • uploads property for file and markdown. Use upload (in singular).
  • nameField property for collections. Use documentName.
  • field.details property.

Fixed

  • Fields have been refactored to improve types
  • Initial field views
  • Updated dependencies (hono and std)

0.10.5 - 2025-03-27

Fixed

  • Types for fields #37

0.10.4 - 2025-03-17

Fixed

  • GitHub storage when the root folder is empty.

0.10.3 - 2025-03-17

Fixed

  • GitHub storage bugs #46.

0.10.2 - 2025-03-14

Fixed

  • Sync prod branch #41.

0.10.1 - 2025-03-11

Fixed

  • Preview AVIF images #45.

0.10.0 - 2025-03-05

Added

  • Snippets option to markdown field.
  • New cms:versionCreated, cms:versionChanged, cms:versionPublished and cms:versionDeleted events.

Changed

  • Refactor git versioning class and make the commands sync.
  • Remove autocomplete keymap in markdown because it prevents to type [ in some keyboards.

Removed

  • Option onPublish to git. It was replaced with cms:versionPublished event.

Fixed

  • Improved buttons in markdown field
  • Updated dependencies.

0.9.4 - 2025-02-24

Added

  • Allow to upload multiple files.

0.9.3 - 2025-02-22

Added

  • New option onPublish to git.
  • New core field file-list. It's like an object-list but allows to upload multiple files at once.

0.9.2 - 2025-01-21

Added

  • New static functions Fs.create(), GitHub.create() and Kv.create() to simplify the storage instantations.

Fixed

  • Refactor Github storage to support recursive listing.
  • Apply default values creating new items in a collection.

0.9.1 - 2025-01-19

Added

  • New option listed for uploads to don't show the upload in the homepage.
  • In markdown set the upload property to false to disable the upload button.
  • collection.documentName allows to customize the name of the new documents created in a collection. You can use a pattern ({title}/index.yml) or a function.
  • collection.documentLabel allows to customize the label (public name) of the documents in a collection.
  • {document_dirname} placeholder to upload property. This allows to save a file in the same directory of the page. Example:
    {
      name: "image",
      type: "file",
      upload: "media:{document_dirname}",
    }
  • Added label option to collections, documents and uploads.
  • Allow to define uploads using an options object.

Deprecated

  • uploads property for file and markdown fields. Use upload (in singular).
  • nameField property for collections. Use documentName.

Removed

  • Unused field.publicPath option.

0.9.0 - 2025-01-15

Added

  • New git() function to configure git repository.
  • New auth() function to configure the authentication after the CMS instantation.

Fixed

  • Don't show the logout button if no auth is configured.
  • Logout code.

0.8.3 - 2025-01-10

Fixed

  • Rename files if the collection path is a glob with multiple extensions.

0.8.2 - 2025-01-10

Changed

  • In collections, folders and files are sorted alphabetically together (instead of folders first and then files).
  • Download button in upload detail.

Fixed

  • List of folders containing dots.
  • Better alignment of files and folders.

0.8.1 - 2025-01-02

Added

  • You can define default values when creating a new document passing query parameters in the URL. Example: http://localhost:8000/collection/Articles/create?_id=hello-world.md&title=Hello+world.

Fixed

  • Git publish action: pull changes before push.
  • Replaced Sharp with Imagick (sharp doesn't work on Deno Deploy).

0.8.0 - 2024-12-30

Added

  • Allow to duplicate object-list and choose-list elements.
  • Allow to crop images.
  • Allow to change the formats of images (i.e. jpeg => webp).
  • Initial e2e tests.

Fixed

  • UI tweaks.
  • Upload files in a subfolder.
  • Updated dependencies.

0.7.7 - 2024-12-22

Security

  • Normalize documents and upload names before save.

0.7.6 - 2024-12-14

Fixed

  • Styles of u-bar component.

0.7.5 - 2024-12-11

Fixed

  • u-bar component.

0.7.4 - 2024-12-11

Changed

  • Home body moved below the menu, and changed styles.
  • Internal: replace push with oscarotero/dom library.
  • Show the collection items and uploads sorted alphabetically.

Fixed

  • Improved collection filter with accents.

0.7.3 - 2024-11-22

Added

  • Static server on Windows #34.
  • Updated dependencies.

0.7.2 - 2024-11-03

Added

  • Input fields allow to paste images or URLs.

Changed

  • Removed icons folder and fetch them from JsDelivr.
  • Make the views more clicable.
  • Improved some styles.

0.7.1 - 2024-10-31

Fixed

  • Some style issues.
  • Description in list field is not shown #30.
  • GitHub adapter doesn't show files bigger than 1Mb #31.

0.7.0 - 2024-10-11

Added

  • Support for arrays without keys #28.

Changed

  • Internal changes but potentially breaking (related with #29):
    • Removed Field.cmsContent property.
    • Changed the type of Field.applyChanges and Field.init functions.
    • Added Field.details property to pass extra data from back to front.

0.6.8 - 2024-10-05

Fixed

  • Form redirect after submit.

0.6.7 - 2024-10-05

Fixed

  • Form submit using AJAX.

0.6.6 - 2024-10-05

Added

  • New option view to show/hide fields under specific views.
  • nameField accepts a function to generate the filename dynamically #26.

Fixed

  • Show invalid fields on submit, even if they are hidden.

0.6.5 - 2024-09-28

Fixed

  • Hono static server breaking change introduced in 4.6.3.

0.6.4 - 2024-09-28

Added

  • New option site.body to include random HTML code in the homepage.
  • Allow html code in field descriptions.

Changed

  • The CMS bar is less invasive:
    • It's smaller.
    • Merged "Go to home" and "Edit page" in just one link.

Fixed

  • Updated dependencies: codemirror, hono, std.
  • Removed internal code smell.
  • Styles tweaks.

0.6.3 - 2024-09-18

Fixed

  • Default values.

0.6.2 - 2024-09-16

Added

  • Button to logout.
  • Allow to upload files in subfolders.

Changed

  • Improved footer styles.

0.6.1 - 2024-09-12

Changed

  • UI and behavior of the current-datetime field #23.

Fixed

  • Renamed current_datetime to current-datetime.
  • Updated deps: hono and std.

0.6.0 - 2024-09-11

Added

  • Allow to create collection items in subfolders.
  • New field current_datetime, to set always the current datetime on save.

Removed

  • mode option introduced in 0.5.10.
    • Use the new current_datetime field for update mode.
    • Use the field.value option for create mode.

Fixed

  • field.value is used as the default value for new entries #22.

0.5.10 - 2024-08-14

Added

  • Markdown field: create links on paste url-like content.
  • New option mode for date and datetime fields with the options "create" and "update":
    • create: Add the current time if the value is empty
    • update: Update always the value to the current time

Fixed

  • Updated Codemirror and dev libraries (rollup, terser).
  • Datetime field doesn't load the previous value

0.5.9 - 2024-08-12

Fixed

  • Updated deps: hono, std.
  • Show URL preview in Document edit view.

0.5.8 - 2024-08-06

Fixed

0.5.7 - 2024-08-03

Fixed

  • YAML generation with weird linebreaks.
  • Removed auth for websockets in the proxy.
  • Upload files bug.
  • Updated deps: hono, std.

0.5.6 - 2024-07-17

Fixed

  • Auth throught server/proxy.ts.
  • Removed auth for websockets.
  • Width of the preview iframe.
  • Removed preview link.
  • Updated deps: hono, std.

0.5.5 - 2024-07-10

Added

  • Button to duplicate a page in a collection.
  • New option nameField for collections to use the value of a field as the document name #19.
  • New option create and delete for collections to customize permissions #20.

Fixed

  • Allow to set empty values to select by default.
  • Updated hono and std dependencies.

0.5.4 - 2024-07-03

Fixed

  • Preview with no credentials.
  • object-list must show the value of the first field.
  • object-list and object-choose duplicated data on reorder items.

0.5.3 - 2024-06-26

Changed

  • Documents are created if they don't exist #16.

Fixed

  • Auth credentials in Safari #18.
  • Updated dependencies: hono, std.

0.5.2 - 2024-06-16

Changed

  • choose-list: Replace the buttons to add new items with a select.

Fixed

  • Updated dependencies: hono.
  • Updated libs.
  • Markdown and Code fields doesn't work well in nested fields.

0.5.1 - 2024-06-13

Added

  • Close the proxied server after some inactivity.

Fixed

  • The value property of the date field was readonly #15.
  • Updated dependencies: hono, std.

0.5.0 - 2024-06-01

Added

  • New server/proxy.ts script to run the CMS in a server.
    • It includes the ability to configure a git client.
  • Support for deno serve command.

Changed

  • Lume adapter shows always the draft pages.

Removed

  • Not documented cms.versioning option.

0.4.3 - 2024-05-30

Added

  • New option transform to field, to pass an arbitrary function to transform the value before saving it. For example, to ensure all urls ends with /:
    cms.collection("posts", "src/posts/*.md", [
      {
        name: "url",
        type: "string",
        transform: (value) => value && !value.endsWith("/") ? `${value}/` : value
      }
    ])

Fixed

  • Updated dependencies: std.

0.4.2 - 2024-05-24

Fixed

  • Updated dependencies: hono, std.
  • Some dependencies have been migrated to jsr because are not longer updated on land/x.
  • Error removing elements in choose-list and object-list fields.

0.4.1 - 2024-05-15

Added

  • Allow to create documents and collections using a single object instead of arguments.
  • New option url to documents and collections. It allows to set/override the preview URL.
  • Allow to resize the preview window.

Fixed

  • Version color in the breadcrumb in dark mode.
  • Removed unused script.
  • Updated Hono to the latest version.

0.4.0 - 2024-05-14

Changed

  • More compact UI.
  • object fields are closed by default. Use attributes.open = true to change it.
  • Removed x button of popovers.

Fixed

  • file field when the value is an URL.
  • Removed the numbers in the choose-list items.

0.3.12 - 2024-05-13

Changed

  • object-list improvements:
    • The inner objects are collapsed by default.
    • Use the first field value as the label of each object.
  • choose-list improvements:
    • The inner objects are collapsed by default.

0.3.11 - 2024-05-09

Added

  • New blocks field to embed Gutenberg block editor (disabled by default).
  • File field: allow to specify subfolders in the uploads option.

Changed

  • Removed popover polyfill since it's supported by all modern browsers.

Fixed

  • Updated dependencies.

0.3.10 - 2024-04-17

Added

  • Added dark mode UI.
  • Added field type radio.

Fixed

  • Updated dependencies.

0.3.9 - 2024-03-28

Fixed

  • Error with empty datetime
  • Automatic extension of paths starting with *.
  • Remove conflicting characters on slugify file names.
  • Error on rename pages.

0.3.8 - 2024-03-18

Changed

  • Internal: Added Upload.get, Upload.delete and Upload.rename functions.

Fixed

  • Improved value formatting.
  • Unify line endings.
  • UI (draggable): improved drag over hints.
  • UI (object-list, choose-list): open/close on click in the main label.
  • UI (accordion): Make the header 100% width.

0.3.7 - 2024-03-13

Added

  • Glob patterns to GitHub storage #10.

Changed

  • Commit message function for GitHub storage #10.

Fixed

  • Initializes hidden input value to the schema when creating a new document/collection #9.
  • Updated Hono to the latest version.

0.3.6 - 2024-03-11

Changed

  • Internal: Replace Field.transformData with Field.applyChanges.

Fixed

  • Throw an exception when a file field doesn't have a upload target.
  • Don't shrink the icon buttons.
  • Break long words on list view.

0.3.5 - 2024-03-09

Added

  • code field type.
  • Allow to create multiple instances of the CMS #7, #8

Fixed

  • Updated std to the latest version.

0.3.4 - 2024-03-06

Added

  • Improved default commit message of GitHub storage and added an option to to customize it #5.

Fixed

  • Updated Hono to the latest version.

0.3.3 - 2024-03-02

Fixed

  • Basic auth error.

0.3.2 - 2024-03-02

Fixed

  • GitHub storage adapter #1, #2.

0.3.1 - 2024-03-01

Fixed

  • Previewer on mobile.
  • Updated std.

0.3.0 - 2024-02-29

Added

  • options option to list field.
  • New init option to all fields.
  • Allow to include descriptions for collections, documents and uploads.
  • New CMS bar for previews.
  • Preview improvements.
  • New option extraHead to include extra styles or scripts.
  • New files get the extension automatically

Fixed

  • Updated Hono to the latest version.
  • Lume adapter: don't override the site url.

0.2.11 - 2024-02-27

Added

  • Types for Field.toJSON.
  • New option data to pass arbitrary data to the CMS.
  • New log option to store error logs in a file.

Fixed

  • Updated Hono to the latest version.

0.2.10 - 2024-02-24

Fixed

  • Preview link target.
  • Improvements in the versioning system.
  • Update deps: hono.

0.2.9 - 2024-02-22

Added

  • Footer with the LumeCMS version

Fixed

  • f-date error with null value.
  • Removed Lume dependency

0.2.8 - 2024-02-18

Added

  • Markdown: syntax highlight fenced code.
  • A field definition string ending with "!" makes the field required. For example: title: string!.
  • Register lume_cms import map.

Fixed

  • Updated dependencies.
  • UI improvements and fixes.

0.2.7 - 2024-02-14

Changed

  • Markdown: removed h5 and h6 buttons

Fixed

  • Format of pages without front matter.
  • Markdown:
    • Field doesn't send changes.
    • Improved link insertion.

0.2.6 - 2024-02-13

Added

  • Toolbar to the markdown editor with buttons for bold, italic, headers, links, etc.

0.2.5 - 2024-02-12

Added

  • Tree view in collections list.

Fixed

  • Lume adapter when the src folder is a subfolder.
  • Uploads public path detection with globs paths.
  • Min height to popover.

0.2.4 - 2024-02-11

Changed

  • Use the Lume native watcher in the Lume adapter.

Removed

  • Documents and Files events.

0.2.3 - 2024-02-11

Added

  • Ctr/Cmd + B and Ctr/Cmd + I to markdown editor to apply bold and italic to the selection.

Fixed

  • Update live-reload after uploading a file.

0.2.2 - 2024-02-10

Fixed

  • More Windows path fixes.

0.2.1 - 2024-02-10

Fixed

  • Windows path normalization.

0.2.0 - 2024-02-10

Changed

  • Rename /src to /core.
  • Moved /storage to the root folder.
  • Moved /src/routes/templates to /core/templates.
  • Moved /src/types.ts to the root folder.

Fixed

  • Favicon error.
  • Scroll position after live-reload.
  • f-date field.

0.1.0 - 2024-02-08

First version