The tests in master are currently failing regularly because our current browser tests are serious memory hogs. Investigation reveals that nearly every test is retaining all of the memory it causes to be allocated. We have made some progress to being able to diagnose the problems, but we expect that problem to take some serious work to fix. We need a short-term solution though, and this is it.
Rather than modify the bundling process, we will shard the top-level test suites by name. For now, we've created 4 shards, but adding new shards is trivial if we need to.
Sharding is accomplished by creating a murmur3 hash of the top level suite names, then bucketing based on the hash output. If a test suite resolves to shard2, but we are running shard1, we simply never pass the function to `mocha.describe()`. Rather than redefine every describe statement, we have shimmed the global `window.describe()` function to accomplish this.
Production builds should never be published directly from a local
machine. Instead, the release command will now publish to a
commit-specific staging URL, so you use it to publish a release
candidate, and then when those builds have been verified, you need to
copy the RC builds from on the staging location on s3 to the production
folder.
- Add 'test:visualRegression' grunt task.
- Run 'test:visualRegression' as part of npm script 'test'.
- Add 'clean:screenshots task'.
- Clean screenshots/session when funtional tests are run.
The default behavior of the build task is to now apply the -snapshot
suffix dynamically rather than us manually hardcoding and managing it
within the source code itself. The `--release` flag will drop the
-snapshot suffix on a build, which should be used for any release
candidate.
The default behavior of the build task has also changed to create
rpm/deb packages as well. Since we've only confirmed that this works on
linux, you can override that behavior by passing `skip-os-packages`.
If you do not want to create any zip or tar.gz archives, you can pass
`--skip-archives`.
- Remove test/output and added test/screenshots (requires a Jenkins change).
- Add test/screenshots/baseline images. These document the expected state of the UI.
- Add dependency on image-diff package.
- Add utilities/compareScreenshots.js, which can be run via 'npm run compareScreenshots'.
Datemath was already pulled out into an npm module so it could be reused
in the reporting plugin, so this should essentially be a noop on the
resulting source.
Rison was already pulled out into an npm module so it could be reused in
the reporting plugin, so this should essentially be a noop on the
resulting source.
The rison file was originally copied and pasted directly into the Kibana
project, so it doesn't match our styleguide and is unlintable. This
means we basically have to keep our hands off of it. The node module
also has the benefit of including some tests.
Unfortunately, the old version of bunyan we were depending on has a
compilation failure during npm install, so we need to upgrade it in
order to get more builds.
Different versions of makelogs are required based on the current Kibana
branch/version, so we now include it as a dev dependency that we can
version accordingly.
There is also an npm script for makelogs so you do not need to traverse
the node_modules bin directory.
CSS
#16492: Use @input-border-radius variables on input groups.
#16529: Un-style the caret on <select>s in IE10+.
#16562, #16563: Create and implement a new @dl-horizontal-breakpoint variable to replace the @grid-float-breakpoint on .dl-horizontal.
#16646, #16651: Fix hover border covering active links in pagination.
#16684: Fix border-radius not being set on two corners of vertical btn group.
#16718: Full 4-digit Unicode escape sequences in CSS for asterisk and plus Glyphicons.
#16769: Remove the min-height on modal headers and replace with a clearfix to avoid collapsing when no title exists.
#16779: Adjust the padding on jumbotrons within containers.
#16785: Round the padding on containers to match the new rounding of negative margins on rows.
#16796: Ensure carousel controls are clickable in IE9.
#16804: Indicate which buttons in a button group are selected, even when disabled.
#16824: Correct a math error in the padding-top of .control-labels in large and small horizontal forms.
#16975: Use @carousel-control-font-size for in specific pixel values.
#17001: Fix borders on focused inputs in input groups.
JS
#16865: Fix triggering of shown.bs.dropdown & hidden.bs.dropdown events so that relatedTarget property gets set properly.
#16896: Note jQuery v3 incompatibility.
Accessibility
Docs
#16630, #16632: Update mention of not-allowed cursor in disabled checkboxes, radios, and fieldsets docs section.
#16744: Mention in the README where Bootstrap's changelogs can be found.
#16745: Add CHANGELOG.md file that points to GitHub Releases and our blog.
#16747: Document that Collapse and Tab methods are asynchronous.
#16793: Add example with visible <label> and input group addon.
#16888: Add a local jQuery fallback.
#16902: Fix grid in modal example by removing .container-fluid.
#16965: Call out .icon-next, .icon-prev alternative classes for carousel.
#17003: Add .col-offset-0 example addition to docs.
#17726: Clarify the purpose of adding .in to the .fade of the initially-open Tab.
#17729: Add Subresource Integrity (SRI) hashes to BootstrapCDN links
#17742: Add CSS portion of IE10 viewport bug workaround to docs & examples
#17809: Note that container: 'body' should be used for tooltips/popovers on tabular elements
#17910: Document that .panel-title overrides the font size of <h1>–<h6> tags
#18080: Document conflict between strict Content Security Policy and inline style attributes of .progress bars, and available workarounds
Packaging
#16710: Add official NuGet package
#16877, #17693: Add support for Meteor 1.2.
Build tools
#16589: Enable source maps for bootstrap.min.css.
#17769: Setup Hound for JSHint linting in pull requests
Customizer
#16897: Clarify that Collapse requires Component animations
Browser bugs
Signed-off-by: Kevin Kirsche <Kev.Kirsche@gmail.com>
#16689: Add Wall of Browser Bugs entry for #16671.
#16691: Add Wall of Browser Bugs entry for #15968.
#16813/#16839: Reported WebKit bug (http://wkbug.com/146896) for #16809, which WebKit then fixed.
#16840: Remove entry from Wall of Browser Bugs because http://wkbug.com/141804 has been fixed.
#16841: Remove entry from Wall of Browser Bugs because http://wkbug.com/139803 has been fixed.
#16842: Remove entry from Wall of Browser Bugs because http://wkbug.com/144990 has been fixed.
#16881: Add Wall of Browser Bugs entry for #16814.
#16908: Remove entry from Wall of Browser Bugs because http://crbug.com/309483 is most likely invalid.
#16994: Add Wall of Browser Bugs entry for #16988.
#17438 / #14237: Add Wall of Browser Bugs entry for http://wkbug.com/149935#17712: Mention Chrome meta-bug on Wall of Browser Bugs
#17753: Remove entry from Wall of Browser Bugs because http://bugzil.la/1048279 was closed as WONTFIX.
#17820: Add Wall of Browser Bugs entry for http://crbug.com/534750#17902: Remove entry from Wall of Browser Bugs because http://wkbug.com/138167 has been fixed.
#17906: Add Wall of Browser Bugs entry for #14975#18111: Add Wall of Browser Bugs entry for http://wkbug.com/150715