- refactor hyphenopoly.module.js to keep some internal structures private
- bump devDependencies
- update to eslint v9 and typescript-eslint v8
- Hyphenopoly.config() in hyphenopoly.module.js now always returns a
Map
(issue #209) - Drop support for outdated (eol) node versions. Hyphenopoly.module now requires node >= 18
- bump devDependencies
- small perf related refactorings
- use eslint flatConfig
- loader/loaderSync now has a second argument containing an URL to the patternDirectory (issue #207)
- simplify events and clarify in docs
- bump devDependencies
- created and updated patterns for german
- bump devDependencies
- refactor testsuite: lint code
- unhyphenate all childNodes (issue #205)
- translateMap now uses lesser load/stores
- Refactor how words are sent to wasm-modules: word delimiters are now added in the wasm-module instead of js
- bump devDependencies
- Update docs for standalone wasm-usage
- translateMap now uses lesser load/stores
- Refactor how words are sent to wasm-modules: word delimiters are now added in the wasm-module instead of js
- bump devDependencies
- Update docs for standalone wasm-usage
- Faroese hyphenation (thanks to Claus Eggers)
- syllabification patterns for german (de-x-syllable)
- use AbortController to halt fetches on timeout (https://mnater.github.io/Hyphenopoly/Setup.html#timeout)
Aggregation of the changes from beta-1 to beta-5
- Changed API for embedding Hyphenopoly in webpages.
- Use esm instead of require
- require loader function
- created and updated patterns for german
- updated patterns from tex-hyphen
- bump devDependencies
- Albanian hyphenation
- Pali hyphenation
- Update documenation for esm module
- Added documentation for using .wasm modules outside Hyphenopoly
- use c8 to check coverage
- bump devDependencies
- created and updated patterns for german
- updated patterns from tex-hyphen
- bump devDependencies
- Albanian hyphenation
- Pali hyphenation
- Use esm instead of require
- Albanian hyphenation
- Pali hyphenation
- Update documenation for esm module
- Added documentation for using .wasm modules outside Hyphenopoly
- use c8 to check coverage
- bump devDependencies
- Perf: improve select and rank (64Bit load and popcnt)
- Perf: improve get1PosInDWord
- Update examples to new API
- Update copyright to 2022
- Perf: optimize creation of word finding RegEx
- Perf: write hyphenation data in little endian
- bump devDependencies
- Changed API for embedding Hyphenopoly in webpages.
- Added documentation for Hyphenopoly.config()
- Cloning of modules for fallbacks not necessary any more
- Cleaning up code
- bump devDependencies
- The wasm modules internally use a succint trie data structure, memory layout has changed
- Drop support for outdated (eol) node versions. Hyphenopoly.module now requires node >= 12
- Fixed memory access out of bounds (#165)
- Fixed Module aborting with SIGBUS error (#169)
- bump devDependencies
- Fixed too long word error not stopping hyphenation in module (7373d9d80c6b632d46194f99d6778cbb04f260e1)
- Refactor code to determine language of elements (5c8379f230e3f34e4f3e73fcb32f81fccb383f24)
- Refactor code to store word in memory (7373d9d80c6b632d46194f99d6778cbb04f260e1)
- Refactor translateMap (35c8eb3dab3010a96feef589b049d2349d0a3bf1)
- bump devDependencies
- Prevent error on elements with lang="zxx" (#160)
- Refactor code to determine language of elements (79735497cb51f15fbc6932dce809293f4cd1050e)
- Enhance wasm.hyphenate() (1567e276ccdae2ca1b611c01b51e341e6ddb9dca)
- bump devDependencies
- Add compatibility to node v10 (thanks to yashha and danburzo, #154)
- wasm.hyphenate() returns the length of the hyphenated word - or 0 on error (d1c0d8e23485fc9ae9468d71c4414236a096bd3d)
- Extended CI testing to all node LTS versions (#156)
- Add lint script to pretest (4afce88b1b1341daed256ef8fd99e3206c21dd2b)
- Don't hyphenate words with (non-normalized) COMBINING ACCENTS (#147)
- bump devDependencies
- use TextDecoder instead of StringDecoder
- Update the webpack example for webpack 5.4.0
- bump dependencies in Webpack example
- bump devDependencies
- linked list based pattern trie needs much less memory
- retrieving maindir now works correctly if the filename is mangled (#135)
- bump devDependencies
- use nb instead of nb-no, equivalent to nn
- remove some rare/ancient languages (cop, mul-ethi, grc, la-x-liturgic)
- tooling now supports extraction of patterns from .tex files (#138)
- support for hyphenating in shadowDOM (#131)
- treatment of words with format chars (#132)
- bump devDependencies
- improve error handling (issue #122) - Error-Object returned on error
- check if elements are collected (issue #125)
- enable safeCopy for hyphenators (issue #117)
- reduce code size
- bump devDependencies
- convert objects to maps (no API changes)
- bumb devDependencies
- simplify webpack example
- Hyphenators handle subtags with different lang consistently (issue #108)
- Better word matching RegEx (issue #109)
- Emit multiple errors (instead of just one) (issue #112)
- bumpDevDependencies
- API to define character substitutions: https://mnater.github.io/Hyphenopoly/Setup.html#substitute (issue #109)
- Words with foreign characters are not hyphenated anymore (issue #109)
- Enhance documentation (serve minified hyphenopoly in https://mnater.github.io/Hyphenopoly/min/ and move examples to examples directory) (issue #104)
- exclude .DS_Store from npm package
- bumpDevDependencies
- Added support for Macedonian
- RequestCredentials are now configurable. See doc (issue #98)
- Hyphenators now hyphenate content of childNodes, too (#issue96)
- Update patterns for Spanish
- Don't try to hyphenate whitespace-only text nodes
- bump devDependencies
- Hyphenopoly.unhyphenate now returns
elements
: doc - \w is no longer part of the regex that finds words -> only words with characters from the alphabet (defined by patterns in the wasm module) are hyphenated
- remove -moz- prefix when feature testing for native CSS hyphens support
- disallow some characters for
hyphen
doc
- fix decode polyfill for Edge
- fix ability to set paths
- ensure wasm loads only once with fallbacks
- fix issue with hyphenation depending on media queries
With this major update Hyphenopoly NO LONGER SUPPORTS InternetExplorer. This step allows the usage of modern JavaScript features which leads to smaller file sizes and thus better performance.
- No fallback to asm.js
- hyphenEngine and patterns in one file per language
- Promise based events
- Usage of modern ES2016 features
- Option to disable mixed cased words (issue #91)
- Refactor encloseHyphenateFunction and enclHyphenate
- bump devDependencies
- Add configuration option
keepAlive
(issue #69) - Add documentation for issue #89
- Fixed issue where babelized Loader didn't work in iOS9 (issue #88)
- bump dev Dependencies (removed some unused eslint directives)
Bugfix release, because I had to unpublish from npm
- Fixed issue with SSL Certificates and FireFox 60.x ESR (issue #85)
- Fixed "a potential security vulnerability" in GitHub-pages dependencies
- Fixed issue with Firefox 68, where feature detection in Hyphenopoly_Loader fails
- bump devDependencies
- OnCopy-eventHandler now also includes content with type "text/html" (besides "text/plain") (issue #87)
- Fixed "Critical dependency: the request of a dependency is an expression" in webpack (issue #70)
- bump devDependencies
- bump devDependencies
- doc: build GitHub page from docs folder
- tools: move eslint config from package.json to .eslintrc
- tools: remove manual replacement of mutable globals when compiling to wasm
- Correctly reject hyphenator promises (issue #77)
- performance: reduce file size of Hyphenopoly_Loader.js
- update devDependencies
- feature: get maindir and patterndir from currentScript
- refactor(Loader): don't use innerHTML
- performance: slightly improved hyphenEngine
- bump devDependencies
- Improve the way how
registerOnCopy
builds a closure. This prevents a memory leak. - Removed "use strict" from RunKit example.
- Adapt the initial sizes of wasm-memory in some special cases
- BREAKING CHANGE: implement new hyphenation pattern binary (.hpb) format (issue #61)
- update patterns to new format and include left-/rightmin according to source
- update hyphenEngine.asm/.wasm to consume new pattern format
- implement .hpb-version-check in Hyphenopoly.js and hyphenopoly.module.js
- fix issue #65
- feat: tearDown event (issue #67)
- feat: loadError event (issue #59)
- feat: hyphenopoly.module is now browserifyable. Added new config option "loader"
- BREAKING CHANGE: remove
Hyphenopoly.setup.classnames
– use selectors instead
- the error event now accepts a
lvl
field ("info"/"warn"/"error") and logs accordingly (issue #56) - add list of supported languages in hyphenopoly.module.js (issue #57)
- improve loading of resources (issue #58)
- implement sync mode for node module (issue #43)
- implement sync mode for hyphenopoly.module.js (issue #47)
- fixed issue with Hyphenopoly.config sometimes not resolving (issue #52)
- enable viewport dependent hyphenation (issue #53)
- implement
Hyphenopoly.unhyphenate()
(needed for issue #53) - get good grades in codacy.com
- dontHyphenateClass is configurable (issue #48)
- fixed issue with StringDecoder in older node versions (issue #45)
- small refactoring for smaller code size
- fixed a StateError in IE 11
- improve hiding of elements while hyphenating (issue #40)
- fix several issues with lang-fallbacks (issue #41 and #44)
- new feature: use selectors instead of classnames (issue #42)
- updated german patterns (issue #45)
- remove "Church Slavonic" patterns (see #38)
- fix issue #39
- fix issues with very long word (#33 and #34)
- Hyphenopoly exposes Hyphenators
- fix issues with very long word (#33 and #34)
- hyphenopoly.module.js is now easy to use with browserify
- Implement fallback mechanism for language sub-tags where no patterns are available (e.g. en-au -> en-gb) #29
- updated patterns for Thai #25
- Don't use template strings #28
- run feature test for wasm support only if necessary
- define node >=8.3.0 as requirement (for util.TextDecoder)
- small refactoring
- Configure Travis-CI
- bug fixes
- Provide node module
- default file locations better reflect usual installations #19
- Add ability to store results of feature tests (optional) #22
- better error handling (f4bbaa7759eed24208e5cd7c744f1131262abb20, 1c7b0b67666b507d6f6b02eea38460562a5835e4)
- correct implementation of e.preventDefault (df988788db6fb7120fc0c8a1cff1c91aac5a3998)
- fix string normalization (a3229f730f79ccdd3054cbac257b2345f5c8e11a)
- Better tooling: minify, eslint, testing (mocha), compiling devDependencies
Prevent browsers to force layout on feature test in some cases.
First release