diff --git a/Archive/cloudscribeTemplate_8.4_net80_bs5_vs2022.vsix b/Archive/cloudscribeTemplate_8.4_net80_bs5_vs2022.vsix new file mode 100644 index 0000000..87a6103 Binary files /dev/null and b/Archive/cloudscribeTemplate_8.4_net80_bs5_vs2022.vsix differ diff --git a/Content/WebApp/WebApp.csproj b/Content/WebApp/WebApp.csproj index 295674d..651426c 100644 --- a/Content/WebApp/WebApp.csproj +++ b/Content/WebApp/WebApp.csproj @@ -1,357 +1,357 @@ - - - - net8.0 - WebApp-4BC5DF1F-B155-4A69-9719-0AB349B1ACB2 - - true - Latest - - - - - InProcess - - - - 1701;1702;0436 - - - 1701;1702;0436 - - - - - PreserveNewest - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + net8.0 + WebApp-4BC5DF1F-B155-4A69-9719-0AB349B1ACB2 + + true + Latest + + + + + InProcess + + + + 1701;1702;0436 + + + 1701;1702;0436 + + + + + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ReleaseNotes.md b/ReleaseNotes.md index b9fd3c1..03cd7a4 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,5 +1,37 @@ ## Release Notes +### version 8.4.0 - November 2025 + +#### **Breaking Changes** +- **[#748](https://github.com/cloudscribe/cloudscribe/issues/748)**: Enhanced Cookie Consent System - implemented a more sophisticated cookie consent system allowing users to dismiss cookie banners without fully accepting cookies. **Breaking change** for sites with local view overrides - two key files were modified in the Bootstrap5 template. See the [documentation](https://www.cloudscribe.com/managing-cookie-consent). + +#### **Security Improvements** +- **[#1054](https://github.com/cloudscribe/cloudscribe/issues/1054)**: EntityFramework Dependencies - updated Microsoft.EntityFrameworkCore dependencies to address security vulnerabilities in transitive dependencies. +- **[#1113](https://github.com/cloudscribe/cloudscribe/issues/1113)**: jQuery Validate Update - updated jQuery.validate library to address security vulnerability discovered during penetration testing. +- **[#1125](https://github.com/cloudscribe/cloudscribe/issues/1125)**: Cookie Security - improved cookie security configuration by addressing SameSite cookie settings for better protection. + +#### **Bug Fixes** +- **[#1150](https://github.com/cloudscribe/cloudscribe/issues/1150)**: Summernote Editor - fixed issue where HTML code entered in raw HTML view was not retained when saving unless user switched back to WYSIWYG mode first. +- **[#1177](https://github.com/cloudscribe/cloudscribe/issues/1177)**: API Authentication - fixed EnforceSiteRulesMiddleware bug that incorrectly started HTTP responses for Terms & Conditions violations on API routes, causing authentication errors. +- **[#1169](https://github.com/cloudscribe/cloudscribe/issues/1169)**: IP Address Blocking - re-wrote IP address blocking/permitting logic to ensure "Permitted" rules consistently take precedence over "Blocked" rules when dealing with IP address ranges. +- **[#500](https://github.com/cloudscribe/cloudscribe.SimpleContent/issues/500)**: Page Manager UI - fixed scrolling issue in SimpleContent Page Manager where selecting a page would auto-scroll to top with misplaced context menu. + +#### **UI/UX Improvements** +- **[#1157](https://github.com/cloudscribe/cloudscribe/issues/1157)**: Summernote Theme Consistency - added CSS override to ensure Summernote editor maintains consistent black-on-white appearance across different themes. +- **[#639](https://github.com/cloudscribe/cloudscribe.SimpleContent/issues/639)**: SimpleContent Layout - moved page metadata below child page menu for improved layout and user experience. +- **[#501](https://github.com/cloudscribe/cloudscribe.SimpleContent/issues/501)**: Access Control - improved unauthorized access handling in SimpleContent with proper redirects to login/access denied pages instead of generic 404 errors. +- **[#1134](https://github.com/cloudscribe/cloudscribe/issues/1134)**: Registration Settings - modified user interface to clarify the purpose of a confusing checkbox on "/siteadmin/registerpageinfo" page which has no backing database field. + +#### **Developer Tools & Features** +- **[#482](https://github.com/cloudscribe/cloudscribe.SimpleContent/issues/482)**: CSP-Compliant Scripts - added mechanism in Developer Tools to allow adding JavaScript directly to pages with Content Security Policy compliance through tag helpers. +- **[#1182](https://github.com/cloudscribe/cloudscribe/issues/1182)**: Localization Improvements - rationalized ResX string references throughout core views, standardizing localization with consistent snake_case resource keys. +- **[#1194](https://github.com/cloudscribe/cloudscribe/issues/1194)** & **[#45](https://github.com/cloudscribe/cloudscribe.UserProperties.Kvp/issues/45)**: User Data Cleanup - added event handler for post-user deletion to clean up remaining Key-Value Pair (KVP) data from deleted users. +- **[#55](https://github.com/cloudscribe/cloudscribe.UserProperties.Kvp/issues/55)**: User Export Compatibility - added conditional UserExportPartial to KVP views to ensure compatibility with different versions of cloudscribe.Core.CompiledViews.Bootstrap5 by using view engine checks. + +#### **Code Cleanup** +- **[#1138](https://github.com/cloudscribe/cloudscribe/issues/1138)** & **[#1160](https://github.com/cloudscribe/cloudscribe/issues/1160)**: Legacy Removal - removed outdated Bootstrap3 and deprecated .pgsql libraries across cloudscribe solutions to improve maintainability. +- **[#1163](https://github.com/cloudscribe/cloudscribe/issues/1163)**: Test Infrastructure - fixed and reorganized unit test infrastructure with new working tests. + ### version 8.3.0 - July 2025 #### **@cloudscribe/cloudscribe** diff --git a/cloudscribe.templates.nuspec b/cloudscribe.templates.nuspec index 256ba7e..76dcd53 100644 --- a/cloudscribe.templates.nuspec +++ b/cloudscribe.templates.nuspec @@ -1,28 +1,28 @@ - - - - cloudscribe.templates - 8.3.0 - cloudscribe Project Templates - Joe Audette - Project template for starting new web application projects with cloudscribe library components - ASP.NET Core cloudscribe - Copyright © Exegesis Spatial Data Management - en-US - https://github.com/cloudscribe/cloudscribe.templates - Apache-2.0 - false - - - - - NUGET_README.md - - - - - - - + + + + cloudscribe.templates + 8.4.0 + cloudscribe Project Templates + Joe Audette + Project template for starting new web application projects with cloudscribe library components + ASP.NET Core cloudscribe + Copyright © Exegesis Spatial Data Management + en-US + https://github.com/cloudscribe/cloudscribe.templates + Apache-2.0 + false + + + + + NUGET_README.md + + + + + + + diff --git a/cloudscribeTemplate/source.extension.vsixmanifest b/cloudscribeTemplate/source.extension.vsixmanifest index 4b6433e..6255158 100644 --- a/cloudscribeTemplate/source.extension.vsixmanifest +++ b/cloudscribeTemplate/source.extension.vsixmanifest @@ -1,35 +1,35 @@ - - - - - cloudscribe Project Template - A Visual Studio extension that makes it easy to start new web application projects using cloudscribe libraries - https://www.cloudscribe.com/docs/introduction - License.txt - VS2022 extension - .NET 8.0 and BS5 - Properties\project-icon.png - asp.net core cloudscribe - - - - - - x86 - - - amd64 - - - - - - - - - - - - - - - + + + + + cloudscribe Project Template + A Visual Studio extension that makes it easy to start new web application projects using cloudscribe libraries + https://www.cloudscribe.com/docs/introduction + License.txt + VS2022 extension - .NET 8.0 and BS5 + Properties\project-icon.png + asp.net core cloudscribe + + + + + + x86 + + + amd64 + + + + + + + + + + + + + + + diff --git a/testtemplates.sh b/testtemplates.sh index 35b5f7e..87fbbdb 100755 --- a/testtemplates.sh +++ b/testtemplates.sh @@ -16,8 +16,10 @@ nuget pack cloudscribe.templates.nuspec -OutputDirectory "nupkgs" #Uninstall any existing local version of the template dotnet new uninstall cloudscribe.templates + #Install the new version of the template we've just compiled dotnet new install ./nupkgs/*.nupkg +[ $? -ne 0 ] && echo "dotnet new install failed" && exit 1 # now we need to create a new project from the template and try and build it # we'll use various options to test the different template options @@ -31,6 +33,7 @@ dotnet new install ./nupkgs/*.nupkg DBOPTIONS="NoDb MSSQL MySql SQLite pgsql AllStorage" S=0 +FAILED="" echo "---------------------------------------------------------------------------------------------" @@ -58,12 +61,12 @@ for DB in $DBOPTIONS; do if [ -d "$SCRIPT_DIR/$TESTPROJECTDIR" ]; then cd $SCRIPT_DIR/$TESTPROJECTDIR dotnet new cloudscribe -Da $DB $MODULEOPTIONS - [ $? -ne 0 ] && echo "dotnet new failed" && break + [ $? -ne 0 ] && echo "dotnet new failed" && FAILED="$FAILED $DB" && break dotnet restore --force --no-cache --force-evaluate - [ $? -ne 0 ] && echo "dotnet restore failed" && break + [ $? -ne 0 ] && echo "dotnet restore failed" && FAILED="$FAILED $DB" && break dotnet list package dotnet build - [ $? -ne 0 ] && echo "dotnet build failed" && break + [ $? -ne 0 ] && echo "dotnet build failed" && FAILED="$FAILED $DB" && break cd $SCRIPT_DIR S=$((S+1)) fi @@ -73,6 +76,14 @@ for DB in $DBOPTIONS; do done rm -Rf $SCRIPT_DIR/$TESTPROJECTDIR 2>/dev/null +if [ $S -ne 6 ]; then + echo "------------------------------------------------------" + echo "Failed to build all 6 projects, only built $S" + echo "Failed DB options: $FAILED" + echo "------------------------------------------------------" + exit 1 +fi + echo "------------------------------------------------------" echo "Successfully built $S/6 projects with various options!" echo "------------------------------------------------------"