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.
unreleased - Date
v3.14.0 - 2022-03-17
- @aofl/wdio - adding waitForNotExist command
- @aofl/wdio - updated waitForExist + waitForNavigation commands to output more verbose error messages
v3.13.1 - 2021-06-15
- @aofl/wdio - Updating @wdio modules to latest version that includes private device fix
v3.13.0 - 2021-02-25
- @aofl/wdio: Updated wdio to v7
- @aofl/wdio: Removed browser.takeScreenshot() in default preset
v3.12.0 - 2021-01-19
- @aofl/wdio: Updated wdio to v6, added support for additional onWorkerStart hook
v3.11.1 - 2020-10-27
- @aofl/wdio: fixed isExisting command to return true/false, even in the case of a reference error on the element
v3.11.0 - 2020-09-01
- @aofl/wdio - isDisplayed, isDisplayedInViewport, isEnabled, isEqual, isSelected, selectByAttribute, selectByIndex, selectByVisible, scrollIntoView, isClickable, waitForClickable, waitForEnabled, waitForDisplayed
- issue with chrome failing to start because of sandbox mode on travis-ci for merge requests
v3.10.0 - 2020-05-15
- @aofl/cli - source - only runs when git status is clean
- @aofl/cli - source - more debug logs and does not run install in the package's folder
- @aofl/cli - conclude - checks for other packages installed from the submodule and exits if finds any
- @aofl/cli - conclude - only runs if git status is clean
v3.9.0 - 2020-05-15
- @aofl/cli - init will invoke
postinit
script - @aofl/wdio - testing bot and crossbrowser support
- @aofl/router - removed forceReload option and can't navigate to current route restriction
- @aofl/cache-manager - fixed cannot read property 't' of null when keys expire.
v3.8.1 - 2020-05-12
- @aofl/cli-lib/git - archive paths reference
v3.8.0 - 2020-05-12
- @aofl/router - afterEach middleware. Use beforeEach instead.
- @aofl/cli-lib/git - fixed issue with archive command throwing an error when pulling multiple files.
- @aofl/picture - delay interacting with parent by a micro task. Fixes loading issues when picture elements are used outside of an Aofl JS app.
v3.7.0 - 2020-03-13
- @aofl/form-validate - removed strict "string" type requirements from validators.
v3.6.1 - 2020-03-10
- service worker bundles workbox-precaching
v3.6.0 - 2020-03-08
- @aofl/router - navigate will reject/throw error if any of the hooks throw.
- @aofl/middleware - next() takes additional parameter
error
and iterateMiddleware will reject if error is not null
v3.5.0 - 2020-02-25
- @aofl/wdio - Web Components support with Local and SauceLabs presets
- @aofl/cli - source-map-loader
- npmignore unnecessary files from the packages
- @aofl/unit-testing-plugin - refactored to use WebdriverIO
- unit testing config to work with new version
- @aofl/cli - devtool source-map as default for development builds
- @aofl/cli - updated workbox and pwa-manifest
- lodash
- mkdirp
- webcomponents-tester
- Exclude babel built-ins from generated bundles
- Source map files of generated bundles
- @aofl/cli - eslint loader cache set to false
- @aofl/templating-plugin - routes loader cache set to false. Build will pick up updated routes configs.
- @aofl/cli - init - repo and branch name support
- Replaced WebComponentsTester with WebdriverIO
- Updated npm packages
- Changed .gitignore
v3.4.0 - 2020-01-27
- @aofl/router - Redirect moved to first middleware in after
- @aofl/router - Update url converted to a middleware and is the second action in after.
- @aofl/picture - img size updates
- @aofl/map-state-properties-mixin - unit tests
v3.3.0 - 2020-01-22
- @aofl/form-validate - exports ValidationFunction and ValidationProperty classes
- @aofl/form-validate - compare validator
- @aofl/form-validate - pattern validator
- @aofl/cli-lib - added npm run
- @aofl/picture - img inherits height, width, max-height, max-width from aofl-img
- @aofl/picture - Uses naturalWidth and naturalHeight of the image
- @aofl/cli - generate css templates
3.2.1 - 2019-11-23
- @aofl/webcomponents-css-loader - Parse doc block RegExp[] correctly
3.2.0 - 2019-11-23
- @aofl/webcomponents-css-loader - Support doc block annotation to set purgeCss config.
3.1.0 - 2019-11-21
- @aofl/webcomponents-css-loader - Support ~alias style @import
- @aofl/cli - Webpack config fonts regex
3.0.0 - 2019-11-16
- Much faster dev builds
- @aofl/cli - serve added reporter option
- @aofl/cli - made webpack mode available in .ejs context
- @aofl/cli - server supports hot and hot only options
- @aofl/cli - generate - Added i18n template
- @aofl/cli - added cache-loader to webpack config
- @aofl/cli - serviceworker, pwaManifest and favicon can be disabled by setting to null.
- @aofl/cli-lib - webpack config support stand-alone and project modes
- @aofl/cli-lib - webpack config allows replace and append for include, exclude objects
- @aofl/cli-lib - git - added archive
- @aofl/cli-lib - git - added getNameFromUrl
- @aofl/i18n - extracted core i18n functionality from the mixin
- @aofl/i18n - added support for aoflDevtools.showI18nIds to display tt-tags over strings.
- @aofl/web-components/aofl-element - added property decorator to support binding to store when declaring class properties
- @aofl/hmr-loader
- @aofl/web-components/aofl-element - store and state options to properties decorator
- @aofl/templating-plugin - routes-config-loader supports hmr
- @aofl/store - added purge
- @aofl/api-request - added purge
- @aofl/store - store v3
- @aofl/api-request - added support for different expire times for each cache namespace
- @aofl/element - as a standalone package
- @aofl/picture - as a standalone package
- @aofl/select - as a standalone package
- @aofl/drawer - as a standalone package
- all packages ship with built file
- upgrade config for v3.0.0
- @aofl/cli - webpack config will not generate sourcemaps in dev by default
- @aofl/cli - webpack config replace imagemin-mozjpeg with imagemin-jpegtran
- @aofl/cli - webpack config updated to reflect webcomponent-css-loader options
- replaced purifyCss with purgeCss
- @aofl/middleware - use() returns unsubscribe function
- @aofl/router - hooks can unsubscribe
- @aofl/webcomponent-css-loader - No longer imports global css into components and doesn't prune css in dev
- @aofl/web-components - all components check customElements registry before calling define. This is done so hmr doesn't throw already defined error
- @aofl/cli - updated babel config
- @aofl/cli - a bunch of webpack optimization
- @aofl/unit-testing-plugin - major rewrite and optimization
- @aofl/cli - test command updated to work with new unit-testing-plugin
- @aofl/store - Store move to modules/legacy
- @aofl/form-validate - form.observed is set to true when any property is observed
- @aofl/store/legacy
- @aofl/web-components
- style-loader
- postcss
- cssnano
- autoprefixer
- @aofl/cli - .aofl.js config - removed cssLoader and postCssLoader config
- @aofl/cli - hard-source-webpack-plugin
- @aofl/cli - friendly-errors-webpack-plugin
- @aofl/cli - build/server/test will exit with error when .aofl.js config contains errors instead of falling back on the default configs
- @aofl/cli - i18n ignores _r & _c keys when validating the manifest
- @aofl/cli - excluded @webcomponents from webpack config ignore
- @aofl/router - fixed matching dynamic routes without trailing slash
- @aofl/web-components/aofl-select-list - Prevent dispatching change event while initializing
- @aofl/cli - i18n PathHelper reference typo
- possible variable overrides
- @aofl/unit-testing - re-implemented dependencies to fix npm audit issues
2.0.8 - 2019-07-09
- @aofl/cli - i18n enabled tolerant config for esprima
2.0.7 - 2019-06-27
- @aofl/cli - build and test stopping when compiling with warnings
2.0.6 - 2019-06-20
- @aofl/cli - replaced export with module.exports
2.0.5 - 2019-06-20
- @aofl/cli - debug reporter
- @aofl/cli - exits with error code when compiler reports an error
2.0.4 - 2019-06-18
- @aofl/cli - reporter option for build and test
- @aofl/templating-plugin - updated puppeteer and added --no-sandbox
- @aofl/cli - Serve only opens 2 browser tab
2.0.3 - 2019-06-12
- @aofl/rotations - updated rotation logic so that pages with the same qualifying ID get the same version
2.0.2 - 2019-05-22
- @aofl/cli - test command will set webpack mode to production when NODE_ENV is test
2.0.1 - 2019-05-20
- @aofl/webcomponents/aofl-drawer - fixed issue with child elements transitions causing drawer to flicker
2.0.0 - 2019-04-30
- @aofl/cli - source will remove the added submodule if an error occurs.
- @aofl/templating-plugin - added support for @linkTag
- @aofl/cli - build command
- @aofl/cli - test command
- @aofl/cli - serve command
- @aofl/cli - source --list option added
- @aofl/templating-plugin - eslint-disable routes-config-loader
- @aofl/webcomponent-css-loader - added cache option
- @aofl/webcomponent-css-loader - added whitelist option
- @aofl/store - auto generates setter mutations based on init() mutation
- @aofl/dom-scope - added README.md
- @aofl/dom-scope - added cache option
- @aofl/dom-scope - added schema utils validation
- @aofl/i18n-loader - added cache option
- @aofl/i18n-auto-id-loader - added cache option
- @aofl/component-utils - traverseParents() takes a callback function and traverses ancestors of the provided node.
- @aofl/component-utils - findParentByAttribute() utilizes traverseParents and looks for a specific parent containing a set of attributes.
- eslint-config-aofl
- @aofl/router - Added an additional parameter "meta" to
router.navigate()
method that gets added to the request object. - @aofl/cli - upgrade command
- @aofl/webcomponents/aofl-element - export render from lit-html
- @aofl/templating-plugin - added prerender options
- docsify for v2
- benchmark results
- Updated lit-element to 2.1.0
- Updated lit-html to 1.0.0
- Replaced babel-instrumenter-loader with babel-plugin-istanbul.
- @aofl/router - match-route-middleware caches the response after matching the route instead of the route.
- @aofl/web-components/aofl-element export an object containing AoflElement and all lit-element exports
- @aofl/web-components/aofl-element uses css`` to render styles
- Updated all references to AoflElement to reflect updated module export
- babel settings
- @aofl/cli - generate component template updated to use decorators
- @aofl/templating-plugin - prerenderTimeout
- Fixed bugs introduced by refactoring and linting
- @aofl/router - fixed request from link
- @aofl/web-components/aofl-img - Delay checkInViewport by a microtask to fix issue with images not loading when aofl-img is a child of another custom component.
- @aofl/cache-manager - getCollection updates storedKeys before returning the collection in case it changed within the context of another document.
- @aofl/cache-manager - limit expire to max 32bit signed integer
- @aofl/cli - Npm.installDependency force option fixed.
- @aofl/templating - fixed issue with meta tags getting injected into body due to invalid aoflTemplate string in head. The plugin will accept template replace keys wrapped in template tags.
- @aofl/rotations - changed window.aofljsConfig.prerender reference
- @aofl/cli/build - uses watchOptions in webpack config
1.4.2 - 2019-01-08
- webpack-packages/webcomponent-css-loader - Set cacheable to false
- webpack-packages/templating-plugin - Changed str.replace algorithm when prerendering to deal with large strings.
- webpack-packages/unit-testing - fixed issue with istanbul coverage not working
1.4.1 - 2019-01-07
- lerna setup
- pr template
- aofl-js-packages/resource-enumerate - added a new property ready that is a promise that resolves when init() is done fetching config files. get() awaits this promise.
- issue template
- cli-tools/cli - generate c changed context to ctx in template.js
- cli-tools/cli fixed
aofl init new/directory
- Add chrome and firefox addons in travis config for pull requests coming from forked repos
1.4.0 - 2018-12-27
- webpack-packages/html-webpack-purify-internal-css-plugin added
- webpack-packages/webcomponent-css-loader
- added force option
- Updated @polymer/lit-element to 0.6.5
- Updated lit-html to 1.0.0-rc.1
- Updated web-components-tester to 6.9.2
- Changelog.md follows keep a changlog guidelines
- Updated eslint rules to be more lenient
- lint cli and webpack-packages
- fixed typo in documentation
- aofljs-packages
- store
- Push store instances to window.aoflDevtools.storeInstances, when window.aoflDevtools exists or the app runs in development mode, instead of exposing a global variable window.storeInstance.
- store
- cli
- Fixed issue with child_process.spawn on windows by using cross-spawn. (https://stackoverflow.com/questions/37459717/error-spawn-enoent-on-windows) #11 #12
- init project ignores .git directory
1.3.0 - 2018-12-06
- ci pipeline setup
- aofljs-packages/aofl-multiselect-list
- aofljs-packages/aofl-list-option
- added keyboard interactions
- aofljs-packages/aofl-select-list
- added keyboard interactions
- switched to travis
- updated README.md
- upgrade to [email protected]
- upgrade to [email protected]
- moved issue-templates to .github
- webpack-packages/unit-testing-plugin
- upgraded web-component-tester to 6.9.0
- aofljs-packages/aofl-list-option
- updated to be compatible with aofl-multiselect-list
- changed string attributes to boolean
- aofl-js-packages/router
- update url state is triggered after all 'after' middleware callbacks run successfully
- cli
- renamed all bin files to aofl-*
- generate component adds "-element" if the component name doesn't include a (-)
- aofljs-packages/aofl-select-list
- changed string attributes to boolean
- node container to run automation
- jenkins file added
1.2.3 - 2018-11-20
- cli
- renamed all bin files to aofl-cli-*
- Build tools compatible with Windows & Ubuntu
- cli
- fixed temp directory path
- webpack-packages/templating-plugin
- path.sep fixes to be windows & Ubuntu compatible
- webpack-packages/webcomponents-css-loader
- path.sep fixes to be windows & Ubuntu compatible
1.2.1 - 2018-11-18
- gh-pages docs created
- webpack-packages/unit-testing-plugin
- accepts .wtcrc.js file
- aofl-js-packages/map-state-properties-mixin
- calls mapStateProperties function on connectedCallback automatically
- decreased SauceLabs browsers to 10
- webpack-packages/i18n-loader
- Set cacheable to false
1.2.0 - 2018-11-06
- Added CODE_OF_CONDUCT.md
- 100% coverage
- node container to run automation
- jenkins file added
- cli-tools/cli
- Added icons template
- webpack-packages/webcomponent-css-loader
- Add @import paths the modules dependencies.
- skip pruning on dev
- webpack-packages/templating-plugin
- added support for variable webpackConfig.output.publicPath
- Skip index.js files that do not contain a valid route doc block
- Updated node packages
- Adjusted eslint config for indentation
- Moved babel config out of webpack config
- Updated saucelabs config
- cli-tools/cli
- Updated generate component to match v1.1.0 standards
- aofl-js-packages
- Replaced babel-plugin-istanbul with istanbul-instrumenter-loader
- SauceLabs webpack config does not instrument and .wctrc-ls.json does not include istunbul plugin.
- Moved wct-istunbul plugin config to .wctrc.json
- webpack-packages/unit-testing-plugin
- Replaced web-components-tester-istanbul with wct-instanbul
- Bundle all tests into 1 suite
- webpack-packages/templating-plugin
- complete refactor
- added getTestContainer()
- RegisterCallback
- Removed error functions. Next expect an error object or null as the first argument.
- webpack-packages/unit-testing-plugin
- removed istanbul plugin from default list
- moved coverage report assignment to WCT to the top of the test file to fix fatal WCT error when a tests throws a fatal error.
- webpack-packages/webcomponent-css-loader
- removed logs
- Fixed linting issues
- web-components/aofl-drawer
- refactored and added transition-count attribute. Instead of trying to detect multiple transitions.
- webpack-packages/webcomponent-css-loader
- Fixed hard crashes
- webpack-packages/templating-plugin
- Fixed double build issue
- Fixed issue with new routes or changes to route docBlock required 2 builds
1.1.0 - 2018-10-17
- aofl-js-packages
- ready for saucelabs integration
- aofl-js-packages/polyfill-service
- config object accepts a {test, load} object to do custom checking
- aofl-js-packages/i18n-mixin
- Support for multi plural sentences
- aofl-js-packages/router
- Router holds reference to matchedRoute
- webpack-packages/i18n-auto-id-loader
- webpack-packages/webcomponent-css-loader
- webpack-packages/templating-plugin
- added support for baseurl and webpack output dir
- aofl-js-packages/rotations
- Adds several more unit tests covering all methods, w/minor refactoring
- aofl-js-packages
- upgraded lit-element to 0.6.2
- moved tests to root of each module
- transferred documentation examples to stackblitz and removed documentation projects
- Updated jsdoc comments and new jsdoc theme
- aofl-js-packages/i18n-mixin
- Refactored to cover all requirements from the translators
- aofl-js-packages/rotations
- Allows qualify functions to return primitive values or promises, adds unit test for qualify order
- webpack-packages/i18n-loader
- Refactored to work with the updated system
- cli/cli-tools
- Refactored i18n. Now uses lexical analysis to find translation strings
- @aofl/rotations
- Complete refactor
- aofl-js-packages/resource-enumerate
- Config object no longer supports local/stageRegex. Instead environment is passed to constructor.
- aofl-js-packages
- fix and updated unit tests for all browsers
- aofl-js-packages/rotations
- Fixes bug causing erratic weighted rotations
- webpack-packages/templating-plugin
- Fixed prod builds
1.0.0-beta.28 - 2018-09-27
- added ISSUE_TEMPLATE.md
- api-request
- documentation
- unit testing
- resource-enumerate
- documentation
- unit testing
- refactored to use api-request
- map-state-properties-mixin
- documentation
- unit testing
- router
- improved unit testing coverage
- navigate handles ?|# correctly
- web-components
- aofl-element
- documentation
- unit testing
- aofl-select-list
- documentation
- unit testing
- extends AoflElement instead of LitElement
- aofl-list-options
- documentation
- unit testing
- extends AoflElement instead of LitElement
- Replaced deprecated parentDepMixin with @aofl/component-utils/findParent
- aofl-drawer
- documentation
- unit testing
- extends AoflElement instead of LitElement
- aofl-source
- documentation
- unit testing
- extends AoflElement instead of LitElement
- aofl-img
- documentation
- unit testing
- extends AoflElement instead of LitElement
- aofl-picture
- documentation
- unit testing
- extends AoflElement instead of LitElement
- aofl-element
- component-utils
- documentation
- unit testing
- added is-in-viewport
- added is-in-viewport-mixin
- cli
- readme.md
- license
- generate
- changed aofl to c
- removed lit
- updated templates
- templating-plugin
- README.md added
- prerender injects __prerender__ before page load
- template name is added to the routes config
- aofl-validate
- documentation
- unit testing
- completely refactored
- unit-testing-plugin
- documentation
- default output directory changed to __build_tests
- supports .wtcrc.json and wtc-conf.json
- adds fetch-mock to test suite automatically
- parent-dep-mixin
- cli/sw
- cli
- dom-scope
- fixed pattern bug
- dom-scope
- api-request
- getCacheManager() fix issue with returning new cacheManager
- changed cache argument to fromCache.
- Replaced static class property with a static getter.
- router
- Fixes reject case in navigate method
- router.navigate resolve after redirects
- unit-testing-plugin
- run initial unit test once when watch mode enabled
- clean coverage report between runs
1.0.0-beta.27 - 2018-09-11
- Unit Testing
- uuid
- documentation
- unit testing
- object-utils
- documentation
- unit testing
- server-environment
- documentation
- unit testing
- polyfill-service
- added and refactored webcomponents-loader for dynamic import
- documentation
- unit testing
- Refactored to static class
- cache-manager
- documentation
- unit testing
- register-callback
- documented
- unit testing
- i18n-mixin
- documentation
- unit test
- i18n-loader
- added README.md
- middleware
- documentation
- unit test
- Updates constructor to take n string args for hook names
- rotations
- documentation
- unit test
- router
- documentation
- unit test
- export routerInstance
- store
- documentation
- unit test
- export storeInstance
- expose storeInstance on window when debug true or aoflDevtools available
- Support for pending status
- cli
- added default init repo
- cache-manager
- fixed issue with expired keys
- fixed issues with json.parse when storage is not memoryStorage
- register-callback
- unsubscribe can only be called once
- check index exists in removeCb
- router
- Fixes typo for removing popState listener
1.0.0-beta.26 - 2018-8-27
- License and github repo
- Store
- commit takes variadic arguments
1.0.0-beta.25 - 2018-08-23
- cli
- added aofl init command
- aofl-list-option
- changed selected from boolean to string
- fixed checking selected attribute value to match selected|selected=true|selected=false
1.0.0-beta.24 - 2018-08-22
- cli
- added -f to npm commands
- unit-testing-plugin
- refactor unit-testing (removed childcompiler)
- templating-plugin
- removed child compiler from templating plugin
- unit-testing-plugin
- removed hard coded browser options
- rotation
- compatibility with unit-testing
- AoflElement
- fixed css rendering for firefox
1.0.0-beta.23 - 2018-08-16
- parent-dep-mixin
- added
- web-components
- aofl-element
- added
- aofl-select-list
- removed _ prefix from functions _ aofl-list-options
- removed findParent and moved it to a parent-dep-mixin
- aofl-drawer
- refactored
- aofl-element
- unit-testing-plugin
- replaces istanbul plugin with wct-istanbul
1.0.0-beta.22 - 2018-08-10
- cli added sw command
- rotations
- templating plugin
- added locale, meta and refactored router doc block parser
- polyfill-service
- added object-assign-polyfill
- unit-testing-plugin
- i18n-mixin
- i18n-loader
- map-state-properties-mixin
- cli
- Adds i18n cli for pot generation
- cache-manager
- renamed MemoryStorage.length to size due to Function.length not being configurable on all browsers
- cli
- fixed conclude and renamed aofl-source.json to aofl.json