Releases: GoldSim/Website
v5.1.0
The 5.1.0 release of GoldSim focuses on upgrades to backend dependencies, as well as a handful of business requests. Notably, this includes upgrading to C# 10 (52358dd, d8b36b7), ASP.NET Core 6.0 (96b6fd5), as well as OnTopic 5.2.0 (b2537a3). In terms of new features, this includes the introduction of reCaptcha v3 (098d6e1), a new FormController
(640be65), and support for OnTopic 5.2.0's new AttributeDictionary
constructor for view models (e50b674). For a full list of updates, see Pull Request #30.
v5.0.0
The 5.0.0 release of GoldSim focuses on major upgrades to backend dependencies which introduced a number of breaking changes. Notably, this includes upgrading to .NET 5.0 and ASP.NET Core 5.0, as well as OnTopic 5.0.0 and OnTopic Editor 5.0.0. The updates to OnTopic, in particular, introduced a significant number of breaking changes which required updating quite a few API calls to maintain the existing functionality. This release does not include any significant design changes or new features.
v4.1.0
This update provides new support for GoldSim course content, facilitating a port from the Google Courseware app to the OnTopic CMS (cb25317). In addition, it includes significant refactoring of the JavaScript (2bace01, 1df0caa) and SASS (323d8dd, 60eb562, 1c22db8) code, with an eye toward both maintainability and performance enhancements (5c3cda2), many of which take advantage of our recent migration to HTTP/2. Finally, it includes quite a bit of refactoring of the server-side code for the purpose of maintainability—and, in particular, includes refactoring the course, forms, and payment functionality into ASP.NET Core MVC Areas (d35fa4b).
As with the major 4.0.0 release in December (cba60fb), which migrated the site from .NET Framework to .NET Core, this update shouldn't have any impact on the presentation of the site, but it should significantly improve both performance and maintenance.
New Features
- Introduced new GoldSim courseware functionality for online courses (cb25317)
- Migrated content files (such as images, videos, and downloads) to a new
media.GoldSim.com
server (74c2bea)
Improvements and Refactorings
- Various performance enhancements to client-side code (5c3cda2)
- Reduced size and improved quality of stylesheets (323d8dd, 1df0caa)
- Reduced size and improved quality of JavaScript code (2bace01, 1c22db8)
- Refactored code into areas to ease maintenance (d35fa4b)
- Evaluated and consolidated common CSS classes (60eb562)
Bug Fixes
- Fixed DASH video streaming issue related to bitrate switching with local media (1cdc2f3)
v4.0.0
This is a major technical update with minimal impact to the customer experience.
Framework Migrations
- ASP.NET MVC Framework (
/Web
) to ASP.NET Core 3 - ASP.NET WebForms (
/Forms
) to ASP.NET Core 3 - .NET Framework version of OnTopic Library to .NET Standard, C# 8
- ASP.NET WebForms version of OnTopic Editor to ASP.NET Core Razor Class Library
Note: The forms, in particular, are a ground up rewrite.
Library Improvements
The update to OnTopic Library introduces the following benefits:
- Establishing a Composition Root for Dependency Injection through new architectural patterns
- Use of new View Components, such as
MenuViewComponent
, for handling shared components across the site - Replacement of legacy Code Contracts with C#’s new nullability context
- Introduction of new
ReverseTopicMappingService
for mapping binding models back to topics - Support for new mapping scenarios such as
[Metadata()]
,[Flatten]
, and[MapToParent()]
, alongside support for compatible collections, nullable types, topic references, &c. - No more dependencies on the legacy
TopicRepository
static class fromIgnia.Topics.Web
- No more dependencies on the legacy
ITopicRoutingService
for identifying the current topic - Both OnTopic Library and OnTopic Editor now built via continuous integration and imported via NuGet packages
Build Improvements
- Most client-side dependencies are now downloaded via npm’s
packages.json
- Dependencies are concatenated, mapped, and copied to final locations via Gulp.js
- Gulp.js build process neatly allows for one off view resources that aren’t part of main assemblies
- Removal of dozens of legacy libraries that required manual side-loading and updating to maintain
- New deployment process allows direct publishing from Visual Studio without worrying about overwriting legacy content files; those are now excluded via
csproj
General Improvements
- Use of composable binding models for constructing customer forms that share core features
- Dramatic reduction of legacy code and configuration, leading to a much simpler code base
- Significant improvement in startup time, primarily due to ASP.NET Core 3's view compilation
- Replacement of the legacy Membership Database with new Azure AD for authenticating via OpenID Connect
- Improved configuration setup through
secrets.json
and App Service Configuration
This should provide a reliable technological foundation of the site for quite some time.
v2.1.0
Minor update to the GoldSim website to include new features added since previous release, as well as OnTopic 3.8.0.
BrainTree Payment Processing
Integration of the BrainTree payment processing library to allow GoldSim customers to pay invoices online via credit card, as well as other payment sources.
OnTopic 3.8.0
Upgrade to OnTopic 3.8.0, which now targets .NET Standard 2.1. This updated included significant refactoring of the OnTopic Library alongside breaking API changes, which are reflected in this release.
v2.0.0
Comprehensive redesign and ground-up re-implementation of the GoldSim website. The following is a high-level summary of new features, capabilities, and considerations.
New Design
- New visual design by Black&Cane
- Use of Zurb Foundation as a UI Framework
- Full SASS support for generating CSS
OnTopic Upgrade
- Latest version of Ignia OnTopic library
- More granular OnTopic content types (e.g., Content List, Accordion, &c.)
- Support for Dependency Injection with OnTopic (via
GoldSimControllerFactory
)
Platform Upgrades
- Microsoft ASP.NET MVC 5.x Framework
- Bing Custom Search (to replace Google's deprecated Custom Search Engine)
Compatibility
- Maintained compatibility for forms library (based on Microsoft ASP.NET Web Forms)
- Maintained compatibility for authentication (based on Forms-Based Authentication)