- the
Component.for(obj)is now created first time vianew Component(obj)- #216
- declarative hyper.Component via
Component.for(context, uid?)- #202 - hyperHTML TypeScript information - #201
- fixed #200: textarea/style with initial undefined value
- fixed #198: connected/disconnected events for nested components
- more rigid / explicit RegExp to avoid glitches with self-closing tags
- improved
VOID_ELEMENTSregular expression (aligned with the viperHTML one)
- fixed
no.jspatch when wrong count of args is passed
- added
no.jsfile for environments without the ability to use modern JS or based on other languages such Dart.
- build runs on macOS too
- added umd.js file
- fixed weird SVG case (see #172)
- improved self-closing reliability recycling and sharing attributes RegExp
- updated
domdifflibrary to the latest version - implemented self-closing tags (and after various tests)
- ensure attributes values are updated when different from previous one
- avoid the usage of the word
globalin the whole code
- fix scripts with actual content too.
- fix a bug with scripts that don't trigger network requests in both Firefox and Safari (see bug #152)
- created a
Wireclass to handle viadomdiffmultiple wired nodes. - brought back multi nodes per wire, a feature lost since v2.0
- simplified
Componenthandling too, making it compatible again with multi wired content. - fixed some check to make IE9+ tests green again
- dropped the
enginealready. Too complex, no real benefits, refactored the whole internal logic to use domdiff instead. Deprecated hyperhtml-majinbuu and solved diffing "forever".
- the whole
hyperHTML.enginehas been refactored to use dom-splicer as an effort to make engine development easier
- the MutationObserver is installed only once and only if there are components that have on(dis)?connect handlers.
- using a new folders convention with
esm/index.jsas main module andcjs/index.jsas transformed artifact. This plays very well with bundlers when youimport {hyper} from 'hyperhtml/esm'orconst {hyper} = require('hyperhtml/cjs');
- fast changes where prepending or appending same lists; now dropping upfront or removing at the end are part of the fast path too.
- created a simple default merge engine focused on performance
- remove majinbuu as core dependency, created hyperhtml-majinbuu project to swap it back via
hyperHTML.engine = require('hyperhtml-majinbuu')or as ESM - reduced final bundle size down to 4.1K via brotli
Refactoring following ticket #140