diff --git a/box.json b/box.json index 33b5d0568..630395385 100644 --- a/box.json +++ b/box.json @@ -1,83 +1,83 @@ { - "name":"ContentBox Tester Site", - "version":"6.0.4", - "author":"Ortus Solutions ", - "shortDescription":"A tester site for developing the ContentBox Modular CMS", - "type":"cms", - "keywords":"cms,content management,modular cms", - "homepage":"https://www.contentboxcms.org", - "documentation":"https://contentbox.ortusbooks.com", - "repository":{ - "type":"git", - "url":"https://github.com/Ortus-Solutions/ContentBox" - }, - "bugs":"https://ortussolutions.atlassian.net/browse/CONTENTBOX", - "license":[ - { - "type":"Apache2", - "url":"http://www.apache.org/licenses/LICENSE-2.0.html" - } - ], - "contributors":[ - "Joel Watson ", - "Brad Wood ", - "Curt Gratz " - ], - "dependencies":{ - "coldbox":"^7.0.0", - "commandbox-dotenv":"*", - "commandbox-cfconfig":"*", - "commandbox-migrations":"^4.0.0" - }, - "devDependencies":{ - "testbox":"^5.0.0+1", - "commandbox-cfformat":"*", - "commandbox-docbox":"*", - "cbdebugger":"be", - "route-visualizer":"^2.0.0+6" - }, - "installPaths":{ - "testbox":"testbox/", - "coldbox":"coldbox/", - "cbdebugger":"modules/cbdebugger/", - "route-visualizer":"modules/route-visualizer/" - }, - "ignores":[], - "scripts":{ - "release":"recipe build/release.boxr", - "build:allDocs":"task run taskFile=build/BuildDocs.cfc :version=`package show version`", - "build:apidocs":"task run taskFile=build/BuildDocs.cfc target=apiDocs :version=`package show version`", - "build:swagger":"task run taskFile=build/BuildDocs.cfc target=swagger :version=`package show version`", - "dbseed:mysql":"task run contentbox/modules/seeders/MSSQL.cfc", - "dbseed:mssal":"task run contentbox/modules/seeders/SeedMySQL.cfc", - "dbseed:postgres":"task run contentbox/modules/seeders/SeedPostgreSQL.cfc", - "format":"cfformat run config/**/*.cfc,modules_app/**/*.cfc,modules/contentbox/**/*.cfc,tests/**/*.cfc,Application.cfc --overwrite", - "format:watch":"cfformat watch config/**/*.cfc,modules_app/**/*.cfc,modules/contentbox/**/*.cfc,tests/**/*.cfc,Application.cfc ./.cfformat.json", - "format:watch:core":"cfformat watch config/**/*.cfc,modules/contentbox/models/**/*.cfc,Application.cfc ./.cfformat.json", - "format:check":"cfformat check config/**/*.cfc,modules_app/**/*.cfc,modules/contentbox/**/*.cfc,tests/**/*.cfc,Application.cfc", - "start:lucee":"server start serverConfigFile='server-lucee@5.json' --force", - "start:2018":"server start serverConfigFile='server-adobe@2018.json' --force", - "start:2021":"server start serverConfigFile='server-adobe@2021.json' --force", - "start:2023":"server start serverConfigFile='server-adobe@2023.json' --force", - "log:lucee":"server log serverConfigFile=server-lucee@5.json --follow", - "log:2018":"server log serverConfigFile=server-adobe@2018.json --follow", - "log:2021":"server log serverConfigFile=server-adobe@2021.json --follow", - "log:2023":"server log serverConfigFile=server-adobe@2023.json --follow", - "contentbox:install":"install --force && cd modules/contentbox && install --force", - "contentbox:migrate:create":"migrate create name=${1} manager=contentbox", - "contentbox:migrate":"migrate up manager=contentbox", - "contentbox:migrate:up":"run-script contentbox:migrate", - "contentbox:migrate:down":"migrate down manager=contentbox", - "contentbox:migrate:fresh":"migrate fresh manager=contentbox" - }, - "testbox":{ - "runner":[ - { - "default":"http://127.0.0.1:8589/tests/runner.cfm" - }, - { - "api":"http://127.0.0.1:8589/tests/runner-api.cfm" - } - ] - } + "name": "ContentBox Tester Site", + "version": "6.1.0", + "author": "Ortus Solutions ", + "shortDescription": "A tester site for developing the ContentBox Modular CMS", + "type": "cms", + "keywords": "cms,content management,modular cms", + "homepage": "https://www.contentboxcms.org", + "documentation": "https://contentbox.ortusbooks.com", + "repository": { + "type": "git", + "url": "https://github.com/Ortus-Solutions/ContentBox" + }, + "bugs": "https://ortussolutions.atlassian.net/browse/CONTENTBOX", + "license": [ + { + "type": "Apache2", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + ], + "contributors": [ + "Joel Watson ", + "Brad Wood ", + "Curt Gratz " + ], + "dependencies": { + "coldbox": "^7.0.0", + "commandbox-dotenv": "*", + "commandbox-cfconfig": "*", + "commandbox-migrations": "^4.0.0" + }, + "devDependencies": { + "testbox": "^5.0.0+1", + "commandbox-cfformat": "*", + "commandbox-docbox": "*", + "cbdebugger": "be", + "route-visualizer": "^2.0.0+6" + }, + "installPaths": { + "testbox": "testbox/", + "coldbox": "coldbox/", + "cbdebugger": "modules/cbdebugger/", + "route-visualizer": "modules/route-visualizer/" + }, + "ignores": [], + "scripts": { + "release": "recipe build/release.boxr", + "build:allDocs": "task run taskFile=build/BuildDocs.cfc :version=`package show version`", + "build:apidocs": "task run taskFile=build/BuildDocs.cfc target=apiDocs :version=`package show version`", + "build:swagger": "task run taskFile=build/BuildDocs.cfc target=swagger :version=`package show version`", + "dbseed:mysql": "task run contentbox/modules/seeders/MSSQL.cfc", + "dbseed:mssal": "task run contentbox/modules/seeders/SeedMySQL.cfc", + "dbseed:postgres": "task run contentbox/modules/seeders/SeedPostgreSQL.cfc", + "format": "cfformat run config/**/*.cfc,modules_app/**/*.cfc,modules/contentbox/**/*.cfc,tests/**/*.cfc,Application.cfc --overwrite", + "format:watch": "cfformat watch config/**/*.cfc,modules_app/**/*.cfc,modules/contentbox/**/*.cfc,tests/**/*.cfc,Application.cfc ./.cfformat.json", + "format:watch:core": "cfformat watch config/**/*.cfc,modules/contentbox/models/**/*.cfc,Application.cfc ./.cfformat.json", + "format:check": "cfformat check config/**/*.cfc,modules_app/**/*.cfc,modules/contentbox/**/*.cfc,tests/**/*.cfc,Application.cfc", + "start:lucee": "server start serverConfigFile='server-lucee@5.json' --force", + "start:2018": "server start serverConfigFile='server-adobe@2018.json' --force", + "start:2021": "server start serverConfigFile='server-adobe@2021.json' --force", + "start:2023": "server start serverConfigFile='server-adobe@2023.json' --force", + "log:lucee": "server log serverConfigFile=server-lucee@5.json --follow", + "log:2018": "server log serverConfigFile=server-adobe@2018.json --follow", + "log:2021": "server log serverConfigFile=server-adobe@2021.json --follow", + "log:2023": "server log serverConfigFile=server-adobe@2023.json --follow", + "contentbox:install": "install --force && cd modules/contentbox && install --force", + "contentbox:migrate:create": "migrate create name=${1} manager=contentbox", + "contentbox:migrate": "migrate up manager=contentbox", + "contentbox:migrate:up": "run-script contentbox:migrate", + "contentbox:migrate:down": "migrate down manager=contentbox", + "contentbox:migrate:fresh": "migrate fresh manager=contentbox" + }, + "testbox": { + "runner": [ + { + "default": "http://127.0.0.1:8589/tests/runner.cfm" + }, + { + "api": "http://127.0.0.1:8589/tests/runner-api.cfm" + } + ] + } } diff --git a/build/resources/server.json b/build/resources/server.json index 8492f32c0..785a183e9 100644 --- a/build/resources/server.json +++ b/build/resources/server.json @@ -23,6 +23,6 @@ "file":".cfconfig.json" }, "env":{ - "lucee-extensions":"D062D72F-F8A2-46F0-8CBC91325B2F067B;version=6.4.0" + "lucee-extensions":"D062D72F-F8A2-46F0-8CBC91325B2F067B" } } diff --git a/changelog.md b/changelog.md index 9adaf2c2b..32422d616 100644 --- a/changelog.md +++ b/changelog.md @@ -9,103 +9,115 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [6.0.5] - 2024-04-23 + ### Fixed -- JS Library Patches -- [CONTENTBOX-1509](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1509) `featuredImage` URL on initial migration should be nullable +- CONTENTBOX-1510 - Emails being sanitized and invalidated on Comment form submission + +## [6.0.4] - 2024-02-20 + +### Fixed + +- JS Library Patches +- [CONTENTBOX-1509](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1509) `featuredImage` URL on initial migration should be nullable ## [6.0.3] - 2024-02-13 ### Updated -- All github actions +- All github actions ### Bugs -- [CONTENTBOX-1507](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1507) BulkSave not accounting for sites when filtering and saving -- [CONTENTBOX-1506](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1506) Updated all server.jsons to use \`env\` for the ortus orm extension since the latest lucee build broken extensions via jvm args -- [CONTENTBOX-1505](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1505) RenderView widget exception when using \`view()\` to render the view +- [CONTENTBOX-1507](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1507) BulkSave not accounting for sites when filtering and saving +- [CONTENTBOX-1506](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1506) Updated all server.jsons to use \`env\` for the ortus orm extension since the latest lucee build broken extensions via jvm args +- [CONTENTBOX-1505](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1505) RenderView widget exception when using \`view()\` to render the view ## [6.0.2] - 2024-01-15 ### Bugs -- [CONTENTBOX-1501](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1501) Init migration needs to verify permissions and roles separately to make sure it passes on created dbs +- [CONTENTBOX-1501](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1501) Init migration needs to verify permissions and roles separately to make sure it passes on created dbs ## [6.0.1] - 2023-12-20 ### Bugs -- [CONTENTBOX-1500](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1500) Defensive coding for permissions migration on new instance +- [CONTENTBOX-1500](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1500) Defensive coding for permissions migration on new instance ## [6.0.0] - 2023-12-18 ### Bugs -- [CONTENTBOX-1323](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1323) Import With Overwrite Throws an Error -- [CONTENTBOX-1370](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1370) UI Disappoints in Menu Manager and Broken ContentMenuItem Functionality -- [CONTENTBOX-1404](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1404) Issue Importing Site using ContentBox 5.03 and a fresh export -- [CONTENTBOX-1406](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1406) Switching Editors Sends Item Being Edited in to Draft Status -- [CONTENTBOX-1427](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1427) CBRequest postRender of AdminBar will throw errors if Buffer is flushed to Browser -- [CONTENTBOX-1428](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1428) Incorrect Site and Parent Re-Assignment When Using Admin Bar Edit -- [CONTENTBOX-1439](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1439) NOW for a new blog post doesn't update the time anymore with the alpine updates -- [CONTENTBOX-1445](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1445) Menu Manager Create new does not working -- [CONTENTBOX-1450](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1450) menu manager sandbox display is broken -- [CONTENTBOX-1453](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1453) modules_user is not currently included in the ormSettings so some contentbox modules on forgebox don't work without Application.cfc being updated by the user -- [CONTENTBOX-1454](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1454) files fail to upload in media manager after server restart -- [CONTENTBOX-1462](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1462) Generated Sitemap has broken links -- [CONTENTBOX-1467](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1467) FeedGenerator.cfc Incompatible with ACF 2018+ -- [CONTENTBOX-1468](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1468) getOpenGraphMeta broken for description -- [CONTENTBOX-1472](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1472) Ensure visibility of Menu Toggle in mobile views -- [CONTENTBOX-1476](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1476) Links do not have enough contrast -- [CONTENTBOX-1481](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1481) Missing Icons -- [CONTENTBOX-1482](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1482) PageInclude/EntryInclude/Menu widgets are not including the current site -- [CONTENTBOX-1484](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1484) Menu Preview Error -- [CONTENTBOX-1496](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1496) checkAll failing due to window scoping issues -- [CONTENTBOX-1498](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1498) Missing fieldset tag -- [CONTENTBOX-1499](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1499) An error is recorded in the log when initialising a custom widget in an add-on module +- [CONTENTBOX-1323](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1323) Import With Overwrite Throws an Error +- [CONTENTBOX-1370](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1370) UI Disappoints in Menu Manager and Broken ContentMenuItem Functionality +- [CONTENTBOX-1404](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1404) Issue Importing Site using ContentBox 5.03 and a fresh export +- [CONTENTBOX-1406](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1406) Switching Editors Sends Item Being Edited in to Draft Status +- [CONTENTBOX-1427](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1427) CBRequest postRender of AdminBar will throw errors if Buffer is flushed to Browser +- [CONTENTBOX-1428](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1428) Incorrect Site and Parent Re-Assignment When Using Admin Bar Edit +- [CONTENTBOX-1439](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1439) NOW for a new blog post doesn't update the time anymore with the alpine updates +- [CONTENTBOX-1445](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1445) Menu Manager Create new does not working +- [CONTENTBOX-1450](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1450) menu manager sandbox display is broken +- [CONTENTBOX-1453](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1453) modules_user is not currently included in the ormSettings so some contentbox modules on forgebox don't work without Application.cfc being updated by the user +- [CONTENTBOX-1454](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1454) files fail to upload in media manager after server restart +- [CONTENTBOX-1462](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1462) Generated Sitemap has broken links +- [CONTENTBOX-1467](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1467) FeedGenerator.cfc Incompatible with ACF 2018+ +- [CONTENTBOX-1468](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1468) getOpenGraphMeta broken for description +- [CONTENTBOX-1472](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1472) Ensure visibility of Menu Toggle in mobile views +- [CONTENTBOX-1476](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1476) Links do not have enough contrast +- [CONTENTBOX-1481](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1481) Missing Icons +- [CONTENTBOX-1482](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1482) PageInclude/EntryInclude/Menu widgets are not including the current site +- [CONTENTBOX-1484](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1484) Menu Preview Error +- [CONTENTBOX-1496](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1496) checkAll failing due to window scoping issues +- [CONTENTBOX-1498](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1498) Missing fieldset tag +- [CONTENTBOX-1499](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1499) An error is recorded in the log when initialising a custom widget in an add-on module ### New Features -- [CONTENTBOX-1270](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1270) ContentBox Content Templates -- [CONTENTBOX-1377](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1377) Add Child Layout Property to Pages -- [CONTENTBOX-1451](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1451) use onServerInstall migration scripts from latest CommandBox on server scripts -- [CONTENTBOX-1477](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1477) Upgrade to ColdBox 7 -- [CONTENTBOX-1480](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1480) cfconfig definitions additions to the server definitions -- [CONTENTBOX-1487](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1487) Ability to define domain aliases for sites for domain detection -- [CONTENTBOX-1491](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1491) Migration to cfmigrations for full database and seeding creations instead of ORM -- [CONTENTBOX-1492](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1492) Added the cors module to the site since we have API deployments now -- [CONTENTBOX-1497](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1497) New Content Editing Focus mode to remove distractions -- [CONTENTBOX-1452](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1452) Convert File Operations to cbfs +- [CONTENTBOX-1270](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1270) ContentBox Content Templates +- [CONTENTBOX-1377](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1377) Add Child Layout Property to Pages +- [CONTENTBOX-1451](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1451) use onServerInstall migration scripts from latest CommandBox on server scripts +- [CONTENTBOX-1477](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1477) Upgrade to ColdBox 7 +- [CONTENTBOX-1480](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1480) cfconfig definitions additions to the server definitions +- [CONTENTBOX-1487](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1487) Ability to define domain aliases for sites for domain detection +- [CONTENTBOX-1491](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1491) Migration to cfmigrations for full database and seeding creations instead of ORM +- [CONTENTBOX-1492](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1492) Added the cors module to the site since we have API deployments now +- [CONTENTBOX-1497](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1497) New Content Editing Focus mode to remove distractions +- [CONTENTBOX-1452](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1452) Convert File Operations to cbfs ### Improvements -- [CONTENTBOX-721](https://ortussolutions.atlassian.net/browse/CONTENTBOX-721) Menu Manager Improvements -- [CONTENTBOX-1296](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1296) Add historical slug storage and automatic redirects -- [CONTENTBOX-1399](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1399) Editors Should Have the Ability to Evict Content Cache with new permission: RELOAD_CACHES -- [CONTENTBOX-1429](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1429) Sitemap Search in Admin is extremely slow on large sites. -- [CONTENTBOX-1447](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1447) Logical Groupings for Content Template Form Fields -- [CONTENTBOX-1448](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1448) Move Global Content Template Assignment Up to Template List -- [CONTENTBOX-1455](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1455) 'Remove All' button is displayed under Blog > Custom Fields even when there are no custom fields defined. -- [CONTENTBOX-1458](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1458) Remove content returnformats for pdf to avoid server and bot attacks -- [CONTENTBOX-1469](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1469) Improve position of the menu toggle -- [CONTENTBOX-1474](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1474) Enhance logo quality -- [CONTENTBOX-1488](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1488) latest logins should only be displayed if the tracker is enabled -- [CONTENTBOX-1489](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1489) SEO for meta data on home page, needs to follow site rules instead of page only rules -- [CONTENTBOX-1490](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1490) Removed moment js to luxon for increased support and viability -- [CONTENTBOX-1494](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1494) When using hierarchical slugs on the contentstore and pages the api does not work for retreiveing the right slug due to CF decoding of encoded slugs +- [CONTENTBOX-721](https://ortussolutions.atlassian.net/browse/CONTENTBOX-721) Menu Manager Improvements +- [CONTENTBOX-1296](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1296) Add historical slug storage and automatic redirects +- [CONTENTBOX-1399](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1399) Editors Should Have the Ability to Evict Content Cache with new permission: RELOAD_CACHES +- [CONTENTBOX-1429](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1429) Sitemap Search in Admin is extremely slow on large sites. +- [CONTENTBOX-1447](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1447) Logical Groupings for Content Template Form Fields +- [CONTENTBOX-1448](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1448) Move Global Content Template Assignment Up to Template List +- [CONTENTBOX-1455](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1455) 'Remove All' button is displayed under Blog > Custom Fields even when there are no custom fields defined. +- [CONTENTBOX-1458](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1458) Remove content returnformats for pdf to avoid server and bot attacks +- [CONTENTBOX-1469](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1469) Improve position of the menu toggle +- [CONTENTBOX-1474](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1474) Enhance logo quality +- [CONTENTBOX-1488](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1488) latest logins should only be displayed if the tracker is enabled +- [CONTENTBOX-1489](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1489) SEO for meta data on home page, needs to follow site rules instead of page only rules +- [CONTENTBOX-1490](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1490) Removed moment js to luxon for increased support and viability +- [CONTENTBOX-1494](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1494) When using hierarchical slugs on the contentstore and pages the api does not work for retreiveing the right slug due to CF decoding of encoded slugs ### Tasks -- [CONTENTBOX-1172](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1172) Migrate UI development from bower/grunt to npm/elixir -- [CONTENTBOX-1321](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1321) Convert from Yarn to NPM for package management -- [CONTENTBOX-1470](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1470) Update Panels Styles -- [CONTENTBOX-1471](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1471) Update Tabs Styles -- [CONTENTBOX-1473](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1473) Update Sidebar Styles -- [CONTENTBOX-1478](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1478) Remove old tuckey urlrewrite.xml as this is now in the CommandBox Core -- [CONTENTBOX-1493](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1493) ContentBox Express removed since we now have CommandBox +- [CONTENTBOX-1172](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1172) Migrate UI development from bower/grunt to npm/elixir +- [CONTENTBOX-1321](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1321) Convert from Yarn to NPM for package management +- [CONTENTBOX-1470](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1470) Update Panels Styles +- [CONTENTBOX-1471](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1471) Update Tabs Styles +- [CONTENTBOX-1473](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1473) Update Sidebar Styles +- [CONTENTBOX-1478](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1478) Remove old tuckey urlrewrite.xml as this is now in the CommandBox Core +- [CONTENTBOX-1493](https://ortussolutions.atlassian.net/browse/CONTENTBOX-1493) ContentBox Express removed since we now have CommandBox + +[Unreleased]: https://github.com/Ortus-Solutions/ContentBox/compare/v6.0.5...HEAD + +[6.0.5]: https://github.com/Ortus-Solutions/ContentBox/compare/v6.0.4...v6.0.5 -[Unreleased]: https://github.com/Ortus-Solutions/ContentBox/compare/v6.0.3...HEAD +[6.0.4]: https://github.com/Ortus-Solutions/ContentBox/compare/v6.0.3...v6.0.4 [6.0.3]: https://github.com/Ortus-Solutions/ContentBox/compare/v6.0.2...v6.0.3 diff --git a/modules/contentbox/migrations/init/create_menu_items.cfc b/modules/contentbox/migrations/init/create_menu_items.cfc index 78e4a038d..c6937e091 100644 --- a/modules/contentbox/migrations/init/create_menu_items.cfc +++ b/modules/contentbox/migrations/init/create_menu_items.cfc @@ -28,7 +28,7 @@ component { .foreignKey( "FK_menuID" ) .references( "menuID" ) .onTable( "cb_menu" ); - table.string( "FK_parentID", 36 ); + table.string( "FK_parentID", 36 ).nullable(); table .foreignKey( "FK_parentID" ) .references( "menuItemID" ) diff --git a/modules/contentbox/migrations/init/seed_permissions.cfc b/modules/contentbox/migrations/init/seed_permissions.cfc index 04708d64c..135bf8af9 100644 --- a/modules/contentbox/migrations/init/seed_permissions.cfc +++ b/modules/contentbox/migrations/init/seed_permissions.cfc @@ -3,191 +3,191 @@ component { function seed( schema, query ){ var perms = [ { - permission : "AUTHOR_ADMIN", - description : "Ability to manage authors, default is view only" + "permission" : "AUTHOR_ADMIN", + "description" : "Ability to manage authors, default is view only" }, { - permission : "CATEGORIES_ADMIN", - description : "Ability to manage categories, default is view only" + "permission" : "CATEGORIES_ADMIN", + "description" : "Ability to manage categories, default is view only" }, { - permission : "COMMENTS_ADMIN", - description : "Ability to manage comments, default is view only" + "permission" : "COMMENTS_ADMIN", + "description" : "Ability to manage comments, default is view only" }, { - permission : "CONTENTBOX_ADMIN", - description : "Access to the enter the ContentBox administrator console" + "permission" : "CONTENTBOX_ADMIN", + "description" : "Access to the enter the ContentBox administrator console" }, { - permission : "CONTENTSTORE_ADMIN", - description : "Ability to manage the content store, default is view only" + "permission" : "CONTENTSTORE_ADMIN", + "description" : "Ability to manage the content store, default is view only" }, { - permission : "CONTENTSTORE_EDITOR", - description : "Ability to create, edit and publish content store elements" + "permission" : "CONTENTSTORE_EDITOR", + "description" : "Ability to create, edit and publish content store elements" }, { - permission : "EDITORS_CACHING", - description : "Ability to view the content caching panel" + "permission" : "EDITORS_CACHING", + "description" : "Ability to view the content caching panel" }, { - permission : "EDITORS_CATEGORIES", - description : "Ability to view the content categories panel" + "permission" : "EDITORS_CATEGORIES", + "description" : "Ability to view the content categories panel" }, { - permission : "EDITORS_CUSTOM_FIELDS", - description : "Ability to manage custom fields in any content editors" + "permission" : "EDITORS_CUSTOM_FIELDS", + "description" : "Ability to manage custom fields in any content editors" }, { - permission : "EDITORS_DISPLAY_OPTIONS", - description : "Ability to view the content display options panel" + "permission" : "EDITORS_DISPLAY_OPTIONS", + "description" : "Ability to view the content display options panel" }, { - permission : "EDITORS_EDITOR_SELECTOR", - description : "Ability to change the editor to another registered online editor" + "permission" : "EDITORS_EDITOR_SELECTOR", + "description" : "Ability to change the editor to another registered online editor" }, { - permission : "EDITORS_FEATURED_IMAGE", - description : "Ability to view the featured image panel" + "permission" : "EDITORS_FEATURED_IMAGE", + "description" : "Ability to view the featured image panel" }, { - permission : "EDITORS_HTML_ATTRIBUTES", - description : "Ability to view the content HTML attributes panel" + "permission" : "EDITORS_HTML_ATTRIBUTES", + "description" : "Ability to view the content HTML attributes panel" }, { - permission : "EDITORS_LINKED_CONTENT", - description : "Ability to view the linked content panel" + "permission" : "EDITORS_LINKED_CONTENT", + "description" : "Ability to view the linked content panel" }, { - permission : "EDITORS_MODIFIERS", - description : "Ability to view the content modifiers panel" + "permission" : "EDITORS_MODIFIERS", + "description" : "Ability to view the content modifiers panel" }, { - permission : "EDITORS_RELATED_CONTENT", - description : "Ability to view the related content panel" + "permission" : "EDITORS_RELATED_CONTENT", + "description" : "Ability to view the related content panel" }, { - permission : "EMAIL_TEMPLATE_ADMIN", - description : "Ability to admin and preview email templates" + "permission" : "EMAIL_TEMPLATE_ADMIN", + "description" : "Ability to admin and preview email templates" }, { - permission : "ENTRIES_ADMIN", - description : "Ability to manage blog entries, default is view only" + "permission" : "ENTRIES_ADMIN", + "description" : "Ability to manage blog entries, default is view only" }, { - permission : "ENTRIES_EDITOR", - description : "Ability to create, edit and publish blog entries" + "permission" : "ENTRIES_EDITOR", + "description" : "Ability to create, edit and publish blog entries" }, { - permission : "FORGEBOX_ADMIN", - description : "Ability to manage ForgeBox installations and connectivity." + "permission" : "FORGEBOX_ADMIN", + "description" : "Ability to manage ForgeBox installations and connectivity." }, { - permission : "GLOBAL_SEARCH", - description : "Ability to do global searches in the ContentBox Admin" + "permission" : "GLOBAL_SEARCH", + "description" : "Ability to do global searches in the ContentBox Admin" }, { - permission : "GLOBALHTML_ADMIN", - description : "Ability to manage the system's global HTML content used on layouts" + "permission" : "GLOBALHTML_ADMIN", + "description" : "Ability to manage the system's global HTML content used on layouts" }, { - permission : "MEDIAMANAGER_ADMIN", - description : "Ability to manage the system's media manager" + "permission" : "MEDIAMANAGER_ADMIN", + "description" : "Ability to manage the system's media manager" }, { - permission : "MEDIAMANAGER_LIBRARY_SWITCHER", - description : "Ability to switch media manager libraries for management" + "permission" : "MEDIAMANAGER_LIBRARY_SWITCHER", + "description" : "Ability to switch media manager libraries for management" }, { - permission : "MENUS_ADMIN", - description : "Ability to manage the menu builder" + "permission" : "MENUS_ADMIN", + "description" : "Ability to manage the menu builder" }, { - permission : "MODULES_ADMIN", - description : "Ability to manage ContentBox Modules" + "permission" : "MODULES_ADMIN", + "description" : "Ability to manage ContentBox Modules" }, { - permission : "PAGES_ADMIN", - description : "Ability to manage content pages, default is view only" + "permission" : "PAGES_ADMIN", + "description" : "Ability to manage content pages, default is view only" }, { - permission : "PAGES_EDITOR", - description : "Ability to create, edit and publish pages" + "permission" : "PAGES_EDITOR", + "description" : "Ability to create, edit and publish pages" }, { - permission : "PERMISSIONS_ADMIN", - description : "Ability to manage permissions, default is view only" + "permission" : "PERMISSIONS_ADMIN", + "description" : "Ability to manage permissions, default is view only" }, { - permission : "RELOAD_MODULES", - description : "Ability to reload modules" + "permission" : "RELOAD_MODULES", + "description" : "Ability to reload modules" }, { - permission : "RELOAD_CACHES", - description : "Ability to reload caches" + "permission" : "RELOAD_CACHES", + "description" : "Ability to reload caches" }, { - permission : "ROLES_ADMIN", - description : "Ability to manage roles, default is view only" + "permission" : "ROLES_ADMIN", + "description" : "Ability to manage roles, default is view only" }, { - permission : "SECURITYRULES_ADMIN", - description : "Ability to manage the system's security rules, default is view only" + "permission" : "SECURITYRULES_ADMIN", + "description" : "Ability to manage the system's security rules, default is view only" }, { - permission : "SITES_ADMIN", - description : "Ability to manage sites" + "permission" : "SITES_ADMIN", + "description" : "Ability to manage sites" }, { - permission : "SYSTEM_AUTH_LOGS", - description : "Access to the system auth logs" + "permission" : "SYSTEM_AUTH_LOGS", + "description" : "Access to the system auth logs" }, { - permission : "SYSTEM_RAW_SETTINGS", - description : "Access to the ContentBox raw geek settings panel" + "permission" : "SYSTEM_RAW_SETTINGS", + "description" : "Access to the ContentBox raw geek settings panel" }, { - permission : "SYSTEM_SAVE_CONFIGURATION", - description : "Ability to update global configuration data" + "permission" : "SYSTEM_SAVE_CONFIGURATION", + "description" : "Ability to update global configuration data" }, { - permission : "SYSTEM_TAB", - description : "Access to the ContentBox System tools" + "permission" : "SYSTEM_TAB", + "description" : "Access to the ContentBox System tools" }, { - permission : "SYSTEM_UPDATES", - description : "Ability to view and apply ContentBox updates" + "permission" : "SYSTEM_UPDATES", + "description" : "Ability to view and apply ContentBox updates" }, { - permission : "THEME_ADMIN", - description : "Ability to manage layouts, default is view only" + "permission" : "THEME_ADMIN", + "description" : "Ability to manage layouts, default is view only" }, { - permission : "TOOLS_EXPORT", - description : "Ability to export data from ContentBox" + "permission" : "TOOLS_EXPORT", + "description" : "Ability to export data from ContentBox" }, { - permission : "TOOLS_IMPORT", - description : "Ability to import data into ContentBox" + "permission" : "TOOLS_IMPORT", + "description" : "Ability to import data into ContentBox" }, { - permission : "VERSIONS_DELETE", - description : "Ability to delete past content versions" + "permission" : "VERSIONS_DELETE", + "description" : "Ability to delete past content versions" }, { - permission : "VERSIONS_ROLLBACK", - description : "Ability to rollback content versions" + "permission" : "VERSIONS_ROLLBACK", + "description" : "Ability to rollback content versions" }, { - permission : "WIDGET_ADMIN", - description : "Ability to manage widgets, default is view only" + "permission" : "WIDGET_ADMIN", + "description" : "Ability to manage widgets, default is view only" } ]; perms = perms.map( ( thisPerm ) => { - thisPerm.permissionID = createUUID(); - thisPerm.isDeleted = 0; - thisPerm.createdDate = thisPerm.modifiedDate = now(); + thisPerm[ "permissionID" ] = createUUID(); + thisPerm[ "isDeleted" ] = 0; + thisPerm[ "createdDate" ] = thisPerm[ "modifiedDate" ] = now(); return thisPerm; } ); @@ -196,7 +196,7 @@ component { .from( "cb_permission" ) .insert( perms ); - systemOutput( "√ Permissions seeded", true ); + systemOutput( "√ "Permission's seeded", true ); } } diff --git a/modules/contentbox/migrations/init/seed_roles.cfc b/modules/contentbox/migrations/init/seed_roles.cfc index 1ac61b4b4..92b8e4b87 100644 --- a/modules/contentbox/migrations/init/seed_roles.cfc +++ b/modules/contentbox/migrations/init/seed_roles.cfc @@ -2,20 +2,20 @@ component { function seed( schema, query ){ var admin = { - roleID : createUUID(), - isDeleted : 0, - createdDate : now(), - modifiedDate : now(), - role : "Administrator", - description : "A ContentBox Administrator" + "roleID" : createUUID(), + "isDeleted" : 0, + "createdDate" : now(), + "modifiedDate" : now(), + "role" : "Administrator", + "description" : "A ContentBox Administrator" }; var editor = { - roleID : createUUID(), - isDeleted : 0, - createdDate : now(), - modifiedDate : now(), - role : "Editor", - description : "A ContentBox Editor" + "roleID" : createUUID(), + "isDeleted" : 0, + "createdDate" : now(), + "modifiedDate" : now(), + "role" : "Editor", + "description" : "A ContentBox Editor" }; // ADMIN ROLE @@ -35,8 +35,8 @@ component { .newQuery() .from( "cb_rolePermissions" ) .insert( { - FK_permissionID : record.permissionID, - FK_roleID : admin.roleID + "FK_permissionID" : record.permissionID, + "FK_roleID" : admin.roleID } ); } ); @@ -86,8 +86,8 @@ component { .newQuery() .from( "cb_rolePermissions" ) .insert( { - FK_permissionID : record.permissionID, - FK_roleID : editor.roleID + "FK_permissionID" : record.permissionID, + "FK_roleID" : editor.roleID } ); } ); diff --git a/modules/contentbox/migrations/util/MigrationUtils.cfm b/modules/contentbox/migrations/util/MigrationUtils.cfm index ae5d74ffb..0d0685581 100644 --- a/modules/contentbox/migrations/util/MigrationUtils.cfm +++ b/modules/contentbox/migrations/util/MigrationUtils.cfm @@ -107,8 +107,8 @@ function addPermissionToRole( query, roleId, permission ){ .newQuery() .from( "cb_rolePermissions" ) .insert( { - FK_roleID : arguments.roleId, - FK_permissionID : permissionId + "FK_roleID" : arguments.roleId, + "FK_permissionID" : permissionId } ); } diff --git a/modules/contentbox/models/content/RelocationService.cfc b/modules/contentbox/models/content/RelocationService.cfc index d394ebdfe..a23807590 100644 --- a/modules/contentbox/models/content/RelocationService.cfc +++ b/modules/contentbox/models/content/RelocationService.cfc @@ -89,9 +89,10 @@ component extends="cborm.models.VirtualEntityService" singleton { * @originalSlug the slug which will be relocated */ Relocation function createContentRelocation( required BaseContent contentItem, required string originalSlug ){ - var site = arguments.contentItem.getSite(); + var siteId = arguments.contentItem.getSite().getSiteID(); var relocation = newCriteria() - .isEq( "site", site ) + .createAlias( "site", "site" ) + .isEq( "site.siteID", siteId ) .isEq( "slug", arguments.originalSlug ) .get(); if ( isNull( relocation ) ) { @@ -99,7 +100,7 @@ component extends="cborm.models.VirtualEntityService" singleton { properties = { "slug" : arguments.originalSlug, "relatedContent" : arguments.contentItem, - "site" : site + "site" : siteId } ); } else { diff --git a/modules/contentbox/models/security/RateLimiter.cfc b/modules/contentbox/models/security/RateLimiter.cfc index cd67957d6..68870d29f 100755 --- a/modules/contentbox/models/security/RateLimiter.cfc +++ b/modules/contentbox/models/security/RateLimiter.cfc @@ -10,17 +10,11 @@ component extends="coldbox.system.Interceptor" { // DI property name="settingService" inject="id:settingService@contentbox"; property name="securityService" inject="id:securityService@contentbox"; + property name="cachebox" inject="Cachebox"; /** - * Configure - */ - function configure(){ - // the limiter data - variables.limitData = {}; - } - - /** - * Limiter + * onRequestCapture + * fires before any event caching or processing */ function onRequestCapture( event, data, buffer ){ var allSettings = variables.settingService.getAllSettings(); @@ -54,20 +48,19 @@ component extends="coldbox.system.Interceptor" { */ private function limiter( count, duration, event, settings ){ // Get real IP address of requester - var realIP = variables.securityService.getRealIP(); - - // If first time visit, create record. - if ( !structKeyExists( variables.limitData, realIP ) ) { - lock name="cb-ratelimiter-#hash( realIP )#" type="exclusive" throwontimeout="true" timeout="5" { - if ( !structKeyExists( variables.limitData, realIP ) ) { - variables.limitData[ realIP ] = { attempts : 1, lastAttempt : now() }; - return this; - } - } - } - - lock name="cb-ratelimiter-#hash( realIP )#" type="readonly" throwontimeout="true" timeout="5" { - var targetData = variables.limitData[ realIP ]; + var realIP = variables.securityService.getRealIP(); + var cache = cachebox.getDefaultCache(); + var cacheKey = "limiter" & realIP; + + var targetData = cache.getOrSet( cacheKey, function(){ + return { attempts : 0, lastAttempt : now() } + } ); + + // on first visit no further processing + if ( targetData.attempts == 0 ) { + targetData.attempts++; + cache.set( cacheKey, targetData ); + return this; } log.debug( "Limit data", targetData ); @@ -80,16 +73,13 @@ component extends="coldbox.system.Interceptor" { if ( targetData.attempts GT arguments.count ) { if ( settings.cb_security_rate_limiter_logging && log.canInfo() ) { // Log it to app logs - log.info( - "'limiter invoked for:','#realIP#',#targetData.attempts#,#cgi.request_method#,'#cgi.SCRIPT_NAME#', '#cgi.QUERY_STRING#','#cgi.http_user_agent#','#targetData.lastAttempt#',#listLen( cgi.http_cookie, ";" )#" - ); + log.info( "'limiter invoked for:','#realIP#',#targetData.attempts#,#cgi.request_method#,'#cgi.SCRIPT_NAME#', '#cgi.QUERY_STRING#','#cgi.http_user_agent#','#targetData.lastAttempt#',#listLen( cgi.http_cookie, ";" )#" ); } // Log attempt - lock name="cb-ratelimiter-#hash( realIP )#" type="exclusive" throwontimeout="true" timeout="5" { - targetData.attempts++; - targetData.lastAttempt = now(); - } + targetData.attempts++; + targetData.lastAttempt = now(); + cache.set( cacheKey, targetData ); // Do we have a redirect URL setup? if ( len( settings.cb_security_rate_limiter_redirectURL ) ) { @@ -121,19 +111,16 @@ component extends="coldbox.system.Interceptor" { abort; } else { // Log attempt - lock name="cb-ratelimiter-#hash( realIP )#" type="exclusive" throwontimeout="true" timeout="5" { - targetData.attempts++; - targetData.lastAttempt = now(); - } + targetData.attempts++; + targetData.lastAttempt = now(); } } else { // Reset attempts counter, since we are in the safe zone, just log the last attempt timestamp - lock name="cb-ratelimiter-#hash( realIP )#" type="exclusive" throwontimeout="true" timeout="5" { - targetData.attempts = 0; - targetData.lastAttempt = now(); - } + targetData.attempts = 0; + targetData.lastAttempt = now(); } + cache.set( cacheKey, targetData ); return this; } diff --git a/modules/contentbox/models/security/SecurityValidator.cfc b/modules/contentbox/models/security/SecurityValidator.cfc index 4fa5e121c..98a8cd007 100644 --- a/modules/contentbox/models/security/SecurityValidator.cfc +++ b/modules/contentbox/models/security/SecurityValidator.cfc @@ -9,7 +9,7 @@ component singleton threadsafe - extends="cbsecurity.models.validators.CBAuthValidator" + extends="cbsecurity.models.validators.AuthValidator" { // Dependencies diff --git a/modules/contentbox/models/system/SettingService.cfc b/modules/contentbox/models/system/SettingService.cfc index c70fd3096..33564356e 100755 --- a/modules/contentbox/models/system/SettingService.cfc +++ b/modules/contentbox/models/system/SettingService.cfc @@ -517,6 +517,9 @@ component /** * Try to find a setting object by site and name * + * @site The site object, this can be null + * @name The name of the setting + * * @return The setting object or null */ function findSiteSetting( required site, required name ){ @@ -612,10 +615,13 @@ component } ) // Build out array of settings to save .each( function( key, value ){ - var thisSetting = findWhere( { - name : key, - site : !isNull( arguments.site ) ? arguments.site : javacast( "null", "" ) - } ); + var thisSetting = ""; + // Find the setting globally or by site, depending on the context + if ( isNull( site ) ) { + thisSetting = findWhere( { name : key } ); + } else { + thisSetting = findSiteSetting( site, key ); + } // Maybe it's a new setting :) if ( isNull( thisSetting ) ) { diff --git a/modules/contentbox/modules/contentbox-admin/handlers/baseContentHandler.cfc b/modules/contentbox/modules/contentbox-admin/handlers/baseContentHandler.cfc index 02f71a050..e8468e42c 100644 --- a/modules/contentbox/modules/contentbox-admin/handlers/baseContentHandler.cfc +++ b/modules/contentbox/modules/contentbox-admin/handlers/baseContentHandler.cfc @@ -403,9 +403,10 @@ component extends="baseHandler" { var originalSlug = oContent.getSlug(); variables.ormService .populate( - target = oContent, - memento = rc, - exclude = "contentID,siteID" + target = oContent, + memento = rc, + exclude = "contentID,siteID", + nullEmptyInclude = "expireDate" ) .addJoinedPublishedtime( rc.publishedTime ) .addJoinedExpiredTime( rc.expireTime ); @@ -486,7 +487,7 @@ component extends="baseHandler" { ); // save content - variables.ormService.save( oContent, originalSlug ); + variables.ormService.save( oContent, originalSlug != oContent.getSlug() ? originalSlug : "" ); // announce event announce( diff --git a/modules/contentbox/modules/contentbox-ui/handlers/content.cfc b/modules/contentbox/modules/contentbox-ui/handlers/content.cfc index f15756961..058688163 100644 --- a/modules/contentbox/modules/contentbox-ui/handlers/content.cfc +++ b/modules/contentbox/modules/contentbox-ui/handlers/content.cfc @@ -366,7 +366,7 @@ component { // Trim values & XSS Cleanup of fields rc.author = left( encodeForHTML( trim( rc.author ) ), 100 ); - rc.authorEmail = left( encodeForHTML( trim( rc.authorEmail ) ), 255 ); + rc.authorEmail = left( canonicalize( trim( rc.authorEmail ), true, true ), 255 ); rc.authorURL = left( encodeForHTML( trim( rc.authorURL ) ), 255 ); rc.content = encodeForHTML( trim( rc.content ) ); diff --git a/modules/contentbox/themes/default/package-lock.json b/modules/contentbox/themes/default/package-lock.json index cf4f2cf6c..70356287f 100644 --- a/modules/contentbox/themes/default/package-lock.json +++ b/modules/contentbox/themes/default/package-lock.json @@ -13,7 +13,7 @@ "bootswatch": "^3.4.1", "coldbox-elixir": "^4.0.5", "font-awesome-sass": "^4.7.0", - "webpack": "^5.90.0", + "webpack": "^5.90.1", "webpack-cli": "^4.10.0" }, "devDependencies": { @@ -2324,9 +2324,9 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -5051,9 +5051,9 @@ } }, "node_modules/webpack": { - "version": "5.90.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", - "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", + "version": "5.90.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", + "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -6974,9 +6974,9 @@ } }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -8801,9 +8801,9 @@ } }, "webpack": { - "version": "5.90.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", - "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", + "version": "5.90.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", + "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", diff --git a/modules/contentbox/themes/default/package.json b/modules/contentbox/themes/default/package.json index 2405b076e..2be6dc8ca 100644 --- a/modules/contentbox/themes/default/package.json +++ b/modules/contentbox/themes/default/package.json @@ -15,7 +15,7 @@ "bootswatch": "^3.4.1", "coldbox-elixir": "^4.0.5", "font-awesome-sass": "^4.7.0", - "webpack": "^5.90.0", + "webpack": "^5.90.1", "webpack-cli": "^4.10.0" }, "devDependencies": { diff --git a/package-lock.json b/package-lock.json index 98186b14e..5e35b26dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,11 @@ "name": "contentbox-cms", "version": "1.0.0", "dependencies": { - "@alpinejs/focus": "^3.13.5", + "@alpinejs/focus": "^3.13.6", "@alpinejs/ui": "^3.10.4-beta.5", "@fortawesome/fontawesome-free": "^5.15.4", "@popperjs/core": "^2.11.8", - "alpinejs": "^3.13.5", + "alpinejs": "^3.13.6", "animate.css": "^3.5.2", "bootbox": "^5.5.3", "bootstrap-datepicker": "^1.10.0", @@ -58,7 +58,7 @@ "prettier-eslint": "^15.0.1", "sass": "^1.49.7", "sass-loader": "^12.6.0", - "webpack": "^5.76.0", + "webpack": "^5.94.0", "webpack-cli": "^4.9.2" } }, @@ -72,9 +72,9 @@ } }, "node_modules/@alpinejs/focus": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/@alpinejs/focus/-/focus-3.13.5.tgz", - "integrity": "sha512-ViZ1W9M3/leZKNdsMyTZvGCu2DPMyUSbRwrbGNOnCkzHMHOIP6zdGpzPkD+1HyhQ2SuG7wRgf7YlrPnlE6tMqA==", + "version": "3.13.6", + "resolved": "https://registry.npmjs.org/@alpinejs/focus/-/focus-3.13.6.tgz", + "integrity": "sha512-HYEQKtGVHUnpXaUJOlaD7+9ysD6rO93a/f5bAXU345oKCl7Jq7f1pV9t+2+P7edi1de/eSXP3rTdWJvQ/3746g==", "dependencies": { "focus-trap": "^6.9.4", "tabbable": "^5.3.3" @@ -1971,14 +1971,14 @@ "dev": true }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -1994,22 +1994,22 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { @@ -2019,9 +2019,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -2112,16 +2112,6 @@ "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -2354,9 +2344,9 @@ "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -2376,9 +2366,9 @@ "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -2399,15 +2389,15 @@ "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -2435,28 +2425,28 @@ "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -2464,24 +2454,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -2490,12 +2480,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -2559,10 +2549,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -2655,9 +2645,9 @@ } }, "node_modules/alpinejs": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.5.tgz", - "integrity": "sha512-1d2XeNGN+Zn7j4mUAKXtAgdc4/rLeadyTMWeJGXF5DzwawPBxwTiBhFFm6w/Ei8eJxUZeyNWWSD9zknfdz1kEw==", + "version": "3.13.6", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.6.tgz", + "integrity": "sha512-/F7pVR+11r1A0KVw+eY1DcjTFlRQn9arD3p5/2Q4vq0N2WDC/dHpg+Pz7ZMiVQlHE7ZmZmcqTRm1wYTdDLMiEg==", "dependencies": { "@vue/reactivity": "~3.1.1" } @@ -2935,12 +2925,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4159,9 +4149,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -4723,9 +4713,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -4820,9 +4810,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -8454,9 +8444,9 @@ } }, "node_modules/terser": { - "version": "5.24.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", - "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -8472,16 +8462,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -8929,9 +8919,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -8942,34 +8932,33 @@ } }, "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { diff --git a/package.json b/package.json index d89c21f1d..dc0d5ff26 100644 --- a/package.json +++ b/package.json @@ -16,15 +16,15 @@ "prettier-eslint": "^15.0.1", "sass": "^1.49.7", "sass-loader": "^12.6.0", - "webpack": "^5.76.0", + "webpack": "^5.94.0", "webpack-cli": "^4.9.2" }, "dependencies": { - "@alpinejs/focus": "^3.13.5", + "@alpinejs/focus": "^3.13.6", "@alpinejs/ui": "^3.10.4-beta.5", "@fortawesome/fontawesome-free": "^5.15.4", "@popperjs/core": "^2.11.8", - "alpinejs": "^3.13.5", + "alpinejs": "^3.13.6", "animate.css": "^3.5.2", "bootbox": "^5.5.3", "bootstrap-datepicker": "^1.10.0", diff --git a/server-lucee@5.json b/server-lucee@5.json index 79768961e..8860fa3d4 100644 --- a/server-lucee@5.json +++ b/server-lucee@5.json @@ -31,6 +31,6 @@ "file":".cfconfig.json" }, "env":{ - "lucee-extensions":"D062D72F-F8A2-46F0-8CBC91325B2F067B;version=6.4.0" + "lucee-extensions":"D062D72F-F8A2-46F0-8CBC91325B2F067B" } } diff --git a/server-lucee@6.json b/server-lucee@6.json index 32930e586..d2b5ffd36 100644 --- a/server-lucee@6.json +++ b/server-lucee@6.json @@ -31,6 +31,6 @@ "file":".cfconfig.json" }, "env":{ - "lucee-extensions":"D062D72F-F8A2-46F0-8CBC91325B2F067B;version=6.4.0" + "lucee-extensions":"D062D72F-F8A2-46F0-8CBC91325B2F067B" } } diff --git a/server-lucee@be.json b/server-lucee@be.json index 38ab57b70..eaa9cae06 100644 --- a/server-lucee@be.json +++ b/server-lucee@be.json @@ -31,6 +31,6 @@ "file":".cfconfig.json" }, "env":{ - "lucee-extensions":"D062D72F-F8A2-46F0-8CBC91325B2F067B;version=6.4.0" + "lucee-extensions":"D062D72F-F8A2-46F0-8CBC91325B2F067B" } }