Skip to content

Releases: EdiWang/Moonglade

v14.5.0

01 Jul 02:12
ae7d4ef
Compare
Choose a tag to compare

New Features

Update and Fixes

  • Bump Monaco editor to latest version
  • Bump TinyMCE to latest version
  • Bump .NET runtime to latest version
  • API resilience improvements
  • Logging improvements
  • A few UI design improvements
  • Change default days of showing warning for post slug modification to 3 days

Upgrade from Previous Version

SQL Server

Run migration script in ./Deployment/mssql-migration.sql

-- v14.4.1 - v14.5.x

ALTER TABLE Post DROP COLUMN IsOriginal
GO

ALTER TABLE Post DROP COLUMN OriginLink
GO

EXEC sp_rename 'Pingback', 'Mention'
GO

ALTER TABLE Mention ADD Worker NVARCHAR(16)
GO

UPDATE Mention SET Worker = N'Pingback'
GO

Other Databases

I don't have knowledge of MySQL and PostgreSql. Please refer to SQL Server migration script and do it yourself.

v14.4.1

09 May 04:10
50ad889
Compare
Choose a tag to compare

New Features

  • Local account authentication is changed to one single account only
  • Users can view local account login history
  • Deployment behind Azure Front Door will see X-Azure-FDID header value in the about page of admin portal

Update and Fixes

  • Logging enhancement for post, page, tag, category, friend link operations
  • Remove .bmp format from default image extensions list
  • Deprecate MetaWeblog API support
  • Deprecate old password hashing method
  • Deprecate NUglify library
  • Migrate data accessing infrastructure to ardalis/Specification
  • Remove default CSP rules for IIS, adding CSP is now fully under user's control in web server platforms
  • Geo location HTTP header name is now x-geo-match to further decouple with Azure
  • Bump .NET to 8.0.5

Upgrade from Previous Version

SQL Server

Run migration script in ./Deployment/mssql-migration.sql

-- v14.3.x - v14.4.1
CREATE TABLE [dbo].[LoginHistory](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[LoginTimeUtc] [datetime] NOT NULL,
	[LoginIp] [nvarchar](64) NULL,
	[LoginUserAgent] [nvarchar](128) NULL,
	[DeviceFingerprint] [nvarchar](128) NULL,
 CONSTRAINT [PK_LoginHistory] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

DROP TABLE [LocalAccount]
GO

EXEC sys.sp_rename 
    @objname = N'Category.RouteName', 
    @newname = 'Slug', 
    @objtype = 'COLUMN'
GO

IF EXISTS (
    SELECT 1
    FROM sys.columns c
    JOIN sys.objects o ON c.object_id = o.object_id
    WHERE o.name = 'Post' AND c.name = 'InlineCss'
)
BEGIN
    ALTER TABLE Post DROP COLUMN InlineCss;
END;
GO

Other Databases

I don't have knowledge of MySQL and PostgreSql. Please refer to SQL Server migration script and do it yourself.

v14.3.3

24 Feb 09:41
e13c4da
Compare
Choose a tag to compare

New Features

  • Add zh-Hant language support
  • New email notification API, decouple with Azure to let user have the ability to create their own API besides Azure

Update and Fixes

  • Remove "Sort By" dropdown selector
  • Remove IP rate limiting feature, it should be managed by WAF
  • Upgrade to TinyMCE 7.0
  • Patch .NET to 8.0.3

Upgrade from Previous Version

If you are using Email notification, please migrate to the new email API and add configuration in appsettings.json

"Email": {
    "ApiEndpoint": "",
    "ApiKey": ""
}

v14.2.0

16 Jan 02:54
fef2dc2
Compare
Choose a tag to compare

New Features

  • Markdown editor is now using Monaco, still with image uploading capability
  • Update default site icon
  • Use system native scrollbar
  • Small design improvements

Update and Fixes

  • Remove Experimental:ShowTwitterShareButton flag, this can be achieved by customize footer settings
  • Move "hot tag amount" settings to general settings to be more relavent
  • Remove "show admin login button" settings, nobody uses this
  • Shorten Meta Keyword to 256 characters for better web standard
  • Use RedirectPermanent() for legacy /image requests on CDN enabled systems
  • Seperate ipv4 and ipv6 display in startup console output
  • Move "RemoveTrailingSlashRule" within program control, now you don't have to set up it in web server configuration files
  • Allow 1024 characters for foot JavaScript settings
  • Upgrade TinyMCE editor
  • Remove x-xss-protection header in default web.Release.config file due to MDN doc warning
  • Remove unnecessary asp-append-version for several CSS files

v14.1.0

31 Dec 00:57
634584b
Compare
Choose a tag to compare

New Features

  • Support custom ranking for friend links #731
  • Support code highlight for shell and wasm language
  • New settings for adding custom script tag to HTML foot
  • Add server time zone information in Admin about page
  • Add Azure App Service information in Admin about page when the deployment is on Azure App Service

Update and Fixes

  • Remove code highlight for less language
  • Optimize favicon and webmanifest
  • Microsoft Clarity is added to default CSP rules for IIS
  • Minimal UI layout adjustment
  • Use local files instead of CDN for built-in webfonts
  • Bump Bootstrap to 5.3.2
  • Patch Monaco editor
  • Remove dependency on Spectre.Console
  • General bug fixes

Upgrade from Previous Version

If your deployment is in China

According to #767, Moonglade will not start if your deployment is in China since this version.

In order for you to backup your data during the migration process, edit appsettings.json, set DetectChina flag to "allow". Although Moonglade will continue to run, please note this is NOT a solution, future changes may remove this flag.

Run database migration script

SQL Server

-- v14.1.0

ALTER TABLE FriendLink ADD [Rank] INT
GO

UPDATE FriendLink SET [Rank] = 0
GO

ALTER TABLE FriendLink ALTER COLUMN [Rank] INT NOT NULL
GO

MySQL (by GPT4)

ALTER TABLE FriendLink ADD `Rank` INT;

UPDATE FriendLink SET `Rank` = 0;

ALTER TABLE FriendLink MODIFY `Rank` INT NOT NULL;

Other Databases

I don't know about other databases, please refer to MSSQL script and migrate them yourself.

v14.0.1

15 Nov 02:19
7ba0fe3
Compare
Choose a tag to compare

New Features

  • Refresh forestage UI design, more like Microsoft fluent design language
  • Improve Admin UI design, more like Microsoft fluent design language
  • Support ATOM subscription for categories
  • Comment moderator now uses a standalone Azure Function, users now have the ability to create their own APIs by any technology they like, without modifying Moonglade source code
  • Add settings to show date only or date with time for published posts
  • Add experimental app settings to show X(Twitter) share button

Update and Fixes

  • Upgrade to .NET 8.0
  • Rename AzureAD to EntraID according to this announcement from Microsoft
  • Deprecated Qiniu image storage provider
  • Fixed wrong RSS cache partition that will result in incorrect RSS subscription results
  • For IIS publish, removed "Redirect Misc Homepage URLs to canonical homepage URL" rule in web.config, it's up to user now
  • Most data exporting features now generate CSV on front-end, API will now provide a standard JSON object
  • Upgrade TinyMCE editor to v6.7.2
  • Upgrade Monaco editor to v0.44.0
  • Remove PHP language from code editor
  • Output ASPNETCORE_ENVIRONMENT value to console on startup
  • Connection string will be output to console on startup in Debug mode
  • Remove Microsoft CDN options in Azure Deployment script, because users will choose from varies of CDN options on and off Azure

Upgrade from Previous Version

  • Update server runtime to .NET 8.0
  • If you are using Azure AD authentication, rename AzureAd to EntraID in appsettings.json
  • Rename ForwardedForHeaderName to HeaderName in appsettings.json
  • If you are using Docker, please use port 8080 instead of 80 according to this .NET 8 breaking change from Microsoft