Skip to content
This repository has been archived by the owner on Jan 2, 2024. It is now read-only.

Version Notes

Mark Greenwald edited this page Oct 19, 2022 · 2 revisions
  • 1.3.0
    • Simplification
      • This project was begining to complicate and this pass attempted to get back to being an extension library.
      • Reduced global pollution: Helper classes (e.g. MemberQuery, Node.Scope) have been replaced with simpler helper extension functions with better testability (e.g. Object.prototype.memberSelector).
      • MVW namespace added for disassociated coordination between modules. MVW.Settings offers a shared default & overridable configuration core.
      • Reduced inter-dependencies across the library
      • Dropped low-value parsing extensions
    • Coverage
      • Hundreds of unit tests added
      • Code adjusted for testability
    • New Stuff
      • Added console formatter extensions that were being used in build scripts to the extended package
      • Added EventSource.prototype.promise extension for simplifying conversion of event-based async patterns to promises for compat with async/await
    • Breaking Changes
      • Default attribute prefix changed from 'data-' to 'bind-'
      • Node.prototype.map changed to Node.prototype.bind
      • Helper classes (e.g. MemberQuery, Node.Scope, etc) replaced/simplified with helper functions (e.g. Object.prototype.memberSelector.select)
      • New release/build schemes breaks references directly from the github web deploy
      • Removed Object.deserialize
      • Removed Object.serialize
      • Removed String.prototype.scan
      • Removed Promise.queue
      • Removed Object.override
  • 1.2.1
    • Hotfixes
      • Fix to HTMLTemplateElement.prototype.template that was causing elements to be reversed.
  • 1.2
    • Added
      • mvw.core
        • String.scanUntil & String.scanWhile
          • Consolidated common parsing utility functions
        • Object.override
          • Consolidated common mapping utility function
      • mvw.standard
        • HTMLElement.prototype.shown
          • Compliments HTMLElement.prototype.hidden
      • mvw.extended
        • Object.serialize & Object.deserialize
          • JSON-esque
          • type/class resolution
          • instance referencing
        • HTMLInputElement.prototype.autosize
          • Enables auto resizing on a text control
        • Promise.queue
          • Compliments Promise.all, Promise.race
          • Similar to Array.prototype.reduce
          • Redundant of using await in loops
    • Optimizations
      • HTMLTemplateElement.prototype.template
      • Node.prototype.map
      • Element.prototype.attribute
      • Element.prototype.class
    • Cleanup items
      • Updated build to support multiple builds: core, standard, extras
      • Renamed folder structure to match builds
    • Breaking Changes
      • Conforming Element.prototype.attribute extension to remove only on a false value
        • Previously included null/undefined
        • This change enables style activation of attributes
  • 1.1
    • Preformance Pass
      • Increased performance at the expense of a bump to caching on elements
      • Switched some RegExp to quicker, manual parsing
    • Support for parameter selectors
      • Selectors can now have parameter statements to define values passed to handlers
      • Example: <input name="field" data-onclick="member1.member2(name, value, value.length)">
    • Added configurability
      • attributePrefix: ('data-') The prefix used to identify mapping attributes
      • attributeDelimiter: ('-') The character used for separating properties in an attribute name
      • memberDelimiter: ('.') The character used for separating properties in a selector
      • selectorDelimiter: ('(') The opening character for parameter queries
      • parameterDelimiter: (',') The character used for separating parameter queries
      • selectorTerminator: (')') The character used marking the end of parameter queries
      • Example: document.body.map(model, {attributePrefix: 'map-'})
    • Breaking changes to ObjectQuery
      • Renamed to MemberQuery
      • Now creates a compiled selector that can be re-evaluated (vs single evaluation)
    • Breaking change to HTMLTemplateElement.prototype.template
      • Reading the template in js now returns the data rather than a content clone.
  • 1.0.1
    • Improved naming
      • HTMLElement.prototype.classes -> Element.prototype.class
        • Changed to match the non-plural name change of settings to attribute
        • Less likely to become a future conflict (see (Element.prototype.className)[https://developer.mozilla.org/en-US/docs/Web/API/Element/className])
      • HTMLElement.prototype.settings -> Element.prototype.attribute
        • Changed to better reflect the extensions purpose.
  • 1.0.0
    • Hello World
    • Extensions
      • Node.prototype.map
      • HTMLElement.prototype.classes
      • HTMLElement.prototype.settings
      • HTMLTemplateElement.prototype.template
    • Unit Tests: Yep
    • Performance Tests: Nope
Clone this wiki locally