Releases: EdiWang/Moonglade
Releases · EdiWang/Moonglade
v14.12.0
New Features
- Support server side color schema preference, reduce flash of the screen when auto switch to dark theme
- Admin portal now indicates whether IndexNow service is configured
- Posts can now be unpublished and return back to draft state
- Lazy load captcha image to enhance security and prevent time out
- Preview support for social links
Updates and Fixes
- Add cool down time to reduce 429 error in IndexNow service
- Fix reading time calculation in Japanese language
- Fix umlaut display issue by decoding HTML entities
Note
- Database Upgrades: Automatic database upgrades currently support only SQL Server. If you use a different database, please refer to Deployment/mssql-migration.sql to create your own migration script.
v14.11.0
New Features
- Japanese language support
- Dark mode is now supported in Admin portal
Updates and Fixes
- Update and fix a few translation errors
Note
- Database Upgrades: Automatic database upgrades currently support only SQL Server. If you use a different database, please refer to Deployment/mssql-migration.sql to create your own migration script.
v14.10.0
New Features
- IndexNow Support: Implemented support for IndexNow to improve SEO.
- Estimated Reading Time: Added estimated reading time for blog posts to enhance user experience.
- Gravatar Integration: Users can now choose to use Gravatar as their profile picture in Admin settings. This feature has moved out of experimental status.
- Mention Source Display: The source of webmentions or pingbacks is now displayed in the Mention history for better clarity.
Updates and Fixes
- Navigation Bar Icon Color: Fixed the issue with the admin portal navigation bar icon color.
- Route Link Generation: Resolved the problem where servers with German regional settings were generating incorrect route links.
- 404 Error Handling: Fixed the handling of 404 errors in the Webmention protocol.
Note
- Database Upgrades: Automatic database upgrades currently support only SQL Server. If you use a different database, please refer to Deployment/mssql-migration.sql to create your own migration script.
v14.9.0
New Features
- Add LaTeX rendering support in blog posts
- Add German translation #812
- Improve dark mode styling
- Experimental: allow user to use Gravatar as profile image (
Experimental:UseOwnerEmailAsAvatar
flag,bool
)
Updates and Fixes
- A few UI design fixes
- Replace jQuery with vanilla JavaScript
- Improve accessibility
- Remove 'Indian Curry' theme
- Pingback and Webmention are now forced not to be allowed from and to localhost to ensure security
Note
- This version of Moonglade removed jQuery dependency, if your custom pages use jQuery, please migrate them manually.
- Automatic database upgrades currently support only SQL Server. If you use a different database, please refer to Deployment/mssql-migration.sql to create your own migration script.
v14.8.1
New Features
- Configurable email API key header name
- Improved overall accessibility and SEO
- Archive list now starts from the top left of the page for better aesthetics
Updates and Fixes
- Optimized query performance for blog posts
- Enhanced captcha code security in specific cases
- Code editor: Added support for 'Nginx' and 'Puppet' languages
- Code editor: Removed support for 'Ruby' and 'Visual Basic (.NET)' languages
- Updated code highlighter (highlight.js) to the latest version
- Improved readability of pre/code blocks
- Fixed display errors in dark mode
- Corrected translation errors in some language packs
- Removed QR code generation from blog posts as modern browsers have this feature built-in
Note
Automatic database upgrades currently support only SQL Server. If you use a different database, please refer to Deployment/mssql-migration.sql to create your own migration script.
v14.7.1
New Features
- Admin Menu Update: The admin menu now follows the Microsoft Fluent Design System, providing a more modern and intuitive user experience.
- Automatic Database Schema Migration: Moonglade can now automatically migrate database schemas when upgrading to a new version. This feature supports all versions starting from v14.1.0. Currently, only SQL Server is supported, but more database targets will be added in future releases.
Updates and Fixes
- Self-Hosted Editors: TinyMCE and Monaco Editor are now self-hosted instead of being served from a CDN, improving reliability in various network conditions.
- Consistent Captcha Fonts: Linux deployments now display the same font for captcha images as Windows deployments, ensuring a consistent user experience across platforms.
- Default Time Zone Setting: The default time zone setting during new setups is now set to UTC, promoting a standardized time reference.
- Azure Deployment Location: The default deployment location in Azure has been changed to West US, optimizing regional performance.
- Monitoring Upgrade: Migrated from App Insights to Azure Monitor with OpenTelemetry for enhanced monitoring and observability.
- HTTP Header Fixes: Fixed several middleware issues where correct HTTP headers were not being retrieved.
- Performance Optimization: Various performance improvements have been implemented to enhance overall system efficiency.
- .NET Patch: Updated .NET to version 8.0.8, ensuring the latest security and performance enhancements.
v14.6.0
New Features
- Update design to better fit modern screen sizes
- Display abstract for posts in admin portal
- Disable auto-lowercasing of query strings
- Post abstract that is manually written will not be limited to only 400 characters long
- Add pronouns settings
Update and Fixes
- Show environment warning in console instead of page top
- Update AzureQuickDeploy.ps1 to use P0V3 SKU by default
- More strict China detection on production environment to comply with regulations in China
v14.5.0
New Features
- Support the "Webmention" protocol
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
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
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": ""
}