All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add
safeExecute
function inutility.js
- Do not import polyfills in
md5.js
(duplicate policy conflicts)
- Add
exports
to package - Add
.test.js
/node --test
testing
- Update hashing output to use
Uint8Array.prototype.(toHex|toBase64)
- Update
md5()
to useArrayBuffer
-based techniquess and be consistent withcrypto.subtle.digest
- The
hash()
function now supports a wider variety if inputs/data
- Base64 module for eg retrieving a
Blob
from a base64 encoded data URI - Add support for saving files from
Blob
objects infilesystem.js
- Fix treating
blob:
&data:
andfile:
URLs as "bare specifiers"
- Update
@shgysk8zer0/polyfills
- Update handling of creating data URIs in
filesystem.js
- Add function to get Google Maps link from
schema.org/PostalAddress
JSON-LD data
- Add support for
tags
increateKRVEvents()
- Update params set by
createKRVEvents()
to be full names
- Add basic key/value cache
- Add
renderComponentShadow
function tocustom-elements.js
module
- Add functions to list & add languages for syntax highlighting in markdown
- Fix no default (
'plaintext'
) language for syntax highlighting in markdown
- Add
defineComponent
®isterAllowedCustomElement
to allow tags in Aegis Sanitizer Config
- Do not check if
trustedTypes instanceof EventTarget
when checking for support
- Updated to more recent polyfills for Sanitizer API & Trusted Types API
- Massive breaking changes in multiple places
- Add
keys()
&entries()
toKeyValueStore
- Add
KeyValueStore
wrapper class overIndexDB
createWFDMayorEvents()
to embedhttps://whsikeyflatdays.com/mayors/embed/
getWFDMayorEventsICalFile()
to create iCalendar files from WF Mayor Candidate Eventsresize()
as a wrapper aroundResizeObserver
- Update/improve
toSpinalCase()
&toCamelCase()
- Allow WF Mayor Events embed URL in
krv#embed
policy - Update CSP and TrustedTypes Policies & importmap
- Fix name of Google Calendar Policy function on import & usage
- Lazy DOM operations using
Iterator.from(document.createNodeIterator()))
- Iterator helper module
- Wider variety of RNG in math module (8, 16, 32, & 64-bit - signed & unsigned)
- Support for
BigInt
in math module - Google Calendar & Maps
TrustedTypePolicy
- Embed/
<iframe>
for Google Calendar - Add
immutable.js
, withdeepFreeze()
& Record/Tuple viagetImmutable()
- Improve various functions in
math.js
- Add support for
BigInt
s infactorial()
&choose()
in math module - Factorial can now work with numbers > 18
- Update ESLint rules
- Add HTML iCal description support
- Add iCal support for multiple events
- Add functions to get WFD & KRV events as iCal files
- Move
createICalEventQR()
toqr.js
(for compatibility with server environments)
- Various iCal consts, effectively enums
- ICal support for attendees and organizer
- Numerous updates to iCal generating (beyond additions)
- Begin using
Promise.withResolvers()
- Create async generator helper module with
getGeneratorWithResolvers
- Add basic implementations of
Stack
andQueue
- Add Organizer and Sequence support for iCal events
- Update signal logic in
when()
blob#script-url
&data#script-url
trust policies
- Append links to document when saving files for supposedly better compatibility
- Deprecate
open()
andsave()
fromfilesystem.js
(useopenFile()
&saveFile()
)
- Add
qr.js
module usinghttps://api.qrserver.com/
- Add
iCal.js
module to create iCalendar files & QR codes - Add
timeZoneInfo.js
module for getting time zone info/offsets
- Update to use
@shgysk8zer0/consts
- Mark own version of constants (
namespaces.js
,states.js
, &types.js
) as deprecated
- Spotify embed module now supports
credentialless
in all functions
- Add utility function for Simple UIDs
- Add support for
credentialless
iframes #44
- Add module with Google Calendar Link Generator
- Add funding
- Add
imgur
module with method to upload to Imgur
- Fix range when testing primes
- Update to node 20
- Update GH Action for npm publish
- Update npm scripts for versioning and locks
- Allow
"text/plain"
formarkdown
module
- Add
markdown
module - Add
()
totrust-policies
module (checks for unsafe elements & attributes) - Add
getCSSStyleSheet()
tohttp
module - Add Markdown to
types
module - Add
gravatar
module
- Rename
loadStylesheet()
->loadStyleSheet()
inloader
module (with alias to old) - Update importmap and trusted policies
loadStylesheet()
is deprecated
- Add
@shgysk8zer0/js-utils
- Uninstall
eslint
- Update GitHub Release Action with correct permissions
- All sanitizer-related functions now accept config as well as sanitizer dict
- Switch to using
el.setHTML()
&Document.parseHTML()
- Sanitizer is deprecated and has been effectively removed from the spec
<svg>
child elements no longer have defaultrole
attribute- Package no longer has a
main
- Add Trust Policy for creating JSON
<script>
s - Add
strip#html
,escape#html
, andjson#script
trust policies createCalendarIcon()
&createClockIcon()
inicons.js
module
- Prefer
el.setHTML()
instead ofsanitizer.sanitizeFor()
in sanitizer trust policies
- Delete
viewport.js
isBare()
returns true forURL
s
- Re-add
md5.js
andexport md5
module.js
for resolving module specifiers (e.g.'@shgysk8zero/kazoo/module.js'
)- Implement resolving of module specifiers in loading related things (e.g.
resolveURL
,createScript
)
- Update README
- Yet more needed modules
- Import missing
viewport.js
module
- Import
media-queries.js
module
- Import
popup.js
module - Import
share-target.js
module
- KRV modules
- Add Google Analytics module
- GitHub workflow for automating releases
- Order of releases in CHANGELOG
- Module for animations
- Async function that
yield
s events dispatched on a target - Function to tell if a thing is iterable
- More testing/example code
- Handle
Iterator
/Generator
children increateElement()
- A bunch of bad old code in promises module
- Use
createElement
instead ofcreate
in filesystem module
- Re-add
lock()
inpromises.js
module
- Added missing
icons.js
module
- Updated README