Skip to content

Releases: MRCollective/ChameleonForms


29 Aug 14:22
Choose a tag to compare

This release contains tag helper support. This is a significant addition to the library and provides a super nice syntax!

The documentation has been fully converted to support showing the tag helper vs HTML helper syntax across the entire documentation website.


02 May 13:43
Choose a tag to compare

ChameleonForms now works against netcoreapp3.1!

Huge thanks to @zabulus for assisting with this epic conversion. This conversion started from the work @zabulus did in #161 to get ChameleonForms largely working in .NET Core 3.0 in February 2020 (after some initial work in February 2019 to start converting to .NET Core 2). I then took the initial port, and over the last 22 days poured over every line of code (including the tests) and brought it up to production quality with as many idiomatic .NET Core features as possible across 69 commits. This includes a full review of the documentation.

As part of this the following enhancements have also been made:

  • Improved handling of binding and server-side validation of enum lists and flag enums
  • Added HTML5 type attributes for numbers (integral and floating point, including proper use of step), emails, URLs
  • Added HTML5 required attributes to required fields
  • Added aria-describedby to link hints with their form fields for screen readers
  • Added support for aspnet-validation (jQuery-less equivalent) in addition to jQuery Unobstrusive Validation
  • Added service collection registration method (.AddChameleonForms), including fluent builder to allow for global configuration
  • Supported . date separator in client-side format-aware datetime validation library

The breaking changes are documented in as per usual.

The plan from here is to keep it as a pre-release (beta) until bootstrap 4 and tag helper support is added (which feels like the idomatic way of using ChameleonForms in .NET Core), upon which it will be released as 4.0.0. Due to the high levels of test coverage we have a high degree of confidence in this release and are happy to recommend it's use in production scenarios using the existing HTML Helper / using driven syntax (which still works great!).


27 Apr 04:40
Choose a tag to compare
  • #165 Upgrade Bootstrap to latest version
  • #163 Upgrade from deprecated WebActivator to WebActivatorEx


28 Jan 16:59
Choose a tag to compare
  • #155 - Partial fixes contributed by Rob Moore (robdmoore)
  • #152 - Partials: Correctly set the HtmlFieldPrefix of the partial view contributed by Felipe Sateler (fsateler)
  • #148 - FieldConfiguration: Add extension methods that take Func<object, IHtmlString> contributed by Felipe Sateler (fsateler)
  • #136 - Create inline helper overloads for IFieldConfiguration methods that take a IHtmlString

Commits: 177ff8626d...1c4589dbdc


19 Jul 15:35
Choose a tag to compare
  • #144 - Fixing some problems with the app start file contributed by Rob Moore (robdmoore)
  • #143 - Added corrected mkdocs.yml for new flags enum documentation page contributed by Rob Moore (robdmoore)

Commits: 7f1a4dae57...325225f1ae


19 Jul 15:08
Choose a tag to compare

Commits: 93c7ef28e9...1d6d9e11f4


18 Jan 15:08
Choose a tag to compare
  • #133 - Ability to change the context of a form model contributed by Rob Moore (robdmoore)
  • #95 - Allow Html to be changed to a different model type +enhancement

See and for the documentation for this new feature.

Commits: 98e35f381c...e902b27777


02 Jan 05:25
Choose a tag to compare

This release contains breaking changes.

  • #135 - Add HtmlAttributes.ToString that renders the html contributed by Felipe Sateler (fsateler)
  • #132 - @f.PartialFor, @f.Partial, @s.PartialFor, @s.Partial contributed by Rob Moore (robdmoore)
  • #130 - Fixes for tests in the German culture. contributed by Jens Theisen (jtheisen)
  • #129 - Fix Bootstrap checkbox display issue contributed by Jens Theisen (jtheisen)
  • #128 - Fix for bootstrap checkbox bug contributed by Jens Theisen (jtheisen)
  • #127 - Support List of Tuples contributed by Jens Theisen (jtheisen)
  • #124 - Fixing a NullReferenceException, probably only occuring in MVC5 contributed by Jens Theisen (jtheisen)
  • #123 - Rename WithoutLabel to WithoutLabelElement and deprecate it contributed by (zabulus)
  • #122 - Rename WithoutLabel to WithoutLabelElement and deprecate it
  • #120 - Remove ReadOnlyConfiguration contributed by (zabulus)
  • #119 - ReadOnlyConfiguration class is redundant
  • #118 - WithoutInlineLabel implementation contributed by (zabulus)
  • #117 - Fix datetime g format string contributed by (zabulus)
  • #116 - Updating Twitter Bootstrap package to include Microsoft.AspNet.Web.Optim... contributed by Rob Moore (robdmoore)
  • #115 - TwitterBootstrap3 package should Install-Package Microsoft.AspNet.Web.Optimization
  • #114 - WithoutLabel method does not affect boolean field generation contributed by (zabulus)
  • #111 - Remove IFormTemplate contributed by (zabulus)
  • #105 - Why was the TTemplate generic argument added to classes in library?
  • #103 - Checkboxes are not displaying correctly since Bootstrap v3.2
  • #100 - When installing ChameleonForms.TwitterBootstrap3 it uses an old version of ChameleonForms

Commits: b5ae2ee9b5...0184724aec


01 Jan 14:50
Choose a tag to compare

Added .Exclude(...) method to IFieldConfiguration to allow exclusion of specific enum values from showing up as options when outputting an enum field.

See #109 and for more details.


10 May 09:28
Choose a tag to compare

Thanks to @cuzzlor who contributed #87, which added the functionality described in #79.

You can now add classes to the container around a field via the new AddFieldContainerClass method on IFieldConfiguration as documented here: The result on the HTML in the default templates that ChameleonForms comes with is documented here: