Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.8.1 #10248

Merged
merged 190 commits into from Apr 3, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
f16e760
Update Node.js to version 8.12.0.
benjamn Oct 6, 2018
4a0bf12
Bump $BUNDLE_VERSION to 8.12.0.1 before rebuilding dev bundle.
benjamn Oct 6, 2018
721bfcf
Bump package versions for 1.8.1-beta.0 release.
benjamn Oct 6, 2018
b84afcc
Merge branch 'devel' into release-1.8.1
benjamn Oct 11, 2018
e15dd0e
Bump $BUNDLE_VERSION to 8.12.0.2 before rebuilding dev bundle.
benjamn Oct 11, 2018
07b45f6
Bump package versions for 1.8.1-beta.1 release.
benjamn Oct 11, 2018
2e428c8
webapp: add runtime config overrides when inline scripts are disabled
nathan-muir Oct 30, 2018
05a0eef
Merge branch 'devel' into release-1.8.1
benjamn Oct 31, 2018
675b5a1
Bump package versions for 1.8.1-beta.2 release.
benjamn Oct 31, 2018
13308cf
Remove `mongo` dependency from `autoupdate` package
klaussner Oct 9, 2018
02dcbb9
Add missing weak dependencies on `reload` package
klaussner Oct 9, 2018
e8c2a6a
Remove `minimongo` dependency from `ddp-server`
klaussner Oct 9, 2018
0e96600
Update self-tests for `mongo`-free `autoupdate`
klaussner Oct 9, 2018
970ac21
update request to latest version (drop a few dependencies)
sakulstra Oct 27, 2018
e24c4f7
Update dev bundle request package to version 2.88.0 as well.
benjamn Nov 3, 2018
865eacb
Update optimism npm package to version 0.6.8.
benjamn Nov 3, 2018
dfa236c
Update fibers npm package to version 3.0.0.
benjamn Nov 3, 2018
6cf87f2
Update pathwatcher npm package to version 8.0.2.
benjamn Nov 3, 2018
3a18f67
Rely on native Node.js Promise implementation.
benjamn Nov 3, 2018
d177085
Bump $BUNDLE_VERSION to 8.12.0.3 before rebuilding dev bundle.
benjamn Nov 3, 2018
c960a86
Merge branch 'devel' into release-1.8.1
benjamn Nov 3, 2018
3a881a4
Bump package versions after autodupate revamp (#10238).
benjamn Nov 3, 2018
f94b29b
Merge branch 'devel' into release-1.8.1
benjamn Nov 3, 2018
903bdea
Bump package versions for 1.8.1-beta.3 release.
benjamn Nov 3, 2018
d19ac6a
Merge branch 'devel' into release-1.8.1
benjamn Nov 13, 2018
1b1ab41
Bump $BUNDLE_VERSION to 8.12.0.4 before rebuilding dev bundle.
benjamn Nov 13, 2018
c8628e5
Bump package versions for 1.8.1-beta.4 release.
benjamn Nov 13, 2018
c67d40f
Merge branch 'devel' into release-1.8.1
benjamn Nov 15, 2018
887f2c6
Merge branch 'devel' into release-1.8.1
benjamn Nov 20, 2018
4a38f4f
Update Node to version 8.13.0.
benjamn Nov 20, 2018
ca06af8
Bump $BUNDLE_VERSION to 8.13.0.0 before rebuilding dev bundle.
benjamn Nov 20, 2018
2190fdb
Bump package versions for 1.8.1-beta.5 release.
benjamn Nov 20, 2018
40ac2de
Use object ...spread syntax rather than _.extend.
benjamn Nov 21, 2018
d5aa1ba
Merge branch 'master' into devel
benjamn Nov 23, 2018
905941f
Merge branch 'devel' into release-1.8.1
benjamn Nov 23, 2018
f8786bc
Bump $BUNDLE_VERSION to 8.13.0.1 before rebuilding dev bundle.
benjamn Nov 23, 2018
2d06bf7
Bump package versions for 1.8.1-beta.6 release.
benjamn Nov 23, 2018
fc02c25
Avoid object shorthand syntax in oauth package. (#10349)
idmadj Nov 23, 2018
2a37f61
Use setTimeout in prefetchInChunks to avoid blocking UI (#10354)
CaptainN Nov 23, 2018
f4ebac5
Merge pull request #10309 from nathan-muir/webapp-runtime-override-is…
benjamn Nov 23, 2018
4aad077
Remove Blaze dependencies from static-html (#10267)
hwillson Nov 23, 2018
8f94013
Bump dynamic-import package version to 0.5.1.
benjamn Nov 23, 2018
56c9062
Bump webapp package version to 1.7.2.
benjamn Nov 23, 2018
47e0046
Revert "Remove Blaze dependencies from static-html (#10267)"
benjamn Nov 23, 2018
aecd530
Fix 1.8.1-beta.n upgrade instructions in History.md.
benjamn Nov 26, 2018
2de35f4
Merge branch 'devel' into release-1.8.1
benjamn Nov 28, 2018
7e5656c
Update Node to version 8.14.0.
benjamn Nov 28, 2018
29db9cb
Update to latest Mongo server and driver patch versions.
benjamn Nov 28, 2018
5ff1367
Bump $BUNDLE_VERSION to 8.14.0.0 before rebuilding dev bundle.
benjamn Nov 28, 2018
1a721df
Bump package versions for 1.8.1-beta.7 release.
benjamn Nov 28, 2018
237d026
Update meteor-babel to version 7.2.0.
benjamn Dec 6, 2018
ad2d715
Bump meteor-promise version to 0.8.7.
benjamn Dec 6, 2018
0fcc7dd
Mention meteor-promise@0.8.7 update in History.md.
benjamn Dec 6, 2018
40d0fc5
Merge branch 'devel' into release-1.8.1
benjamn Dec 6, 2018
b3593f2
Bump $BUNDLE_VERSION to 8.14.0.1 before rebuilding dev bundle.
benjamn Dec 6, 2018
502d84e
Bump package versions for 1.8.1-beta.8 release.
benjamn Dec 6, 2018
ff72595
Move the less package into packages/non-core.
benjamn Dec 12, 2018
a8f527a
Update Node to version 8.14.1.
benjamn Dec 19, 2018
415d1d9
Update npm to version 6.5.0.
benjamn Dec 19, 2018
0d34c8d
Bump BUNDLE_VERSION to 8.14.1.0 before rebuilding dev bundle.
benjamn Dec 19, 2018
57a55ac
Bump package versions for 1.8.1-beta.9 release.
benjamn Dec 19, 2018
c2ef377
Delete garbage directory async
zodern Jan 1, 2019
9c3385f
Normalize paths before comparing them in symlinkWithOverwrite
zodern Jan 1, 2019
e14ce5b
Do not atomicallyRewriteFile when not building in place
zodern Jan 1, 2019
99f969b
Do not calculate rebuild dirs in "meteor run"
zodern Jan 1, 2019
21e90bf
Use in place builds on windows for the server
zodern Jan 1, 2019
92f8429
Add caching to _copyDirectory
zodern Jan 1, 2019
2ae55e8
Fix caching meteorNpm.isPortable on windows
zodern Jan 1, 2019
21f976d
Fix delay between server starting and showing "=> Server restarted"
zodern Jan 1, 2019
e04c87a
Clean up old symlinks
zodern Jan 1, 2019
097bccb
Update Node to version 8.15.0.
benjamn Jan 3, 2019
68ae303
Update fibers npm dependency to version 3.1.1.
benjamn Jan 3, 2019
65d978a
Stop trying to delete irrelevant fibers binaries from dev bundle.
benjamn Jan 4, 2019
6fd24ef
Bump BUNDLE_VERSION to 8.15.0.0 before rebuilding dev bundle.
benjamn Jan 4, 2019
b42524b
Bump package versions for 1.8.1-beta.10 release.
benjamn Jan 4, 2019
4859f42
Adjust timeouts to help Mongo self-tests pass reliably.
benjamn Jan 4, 2019
5c86db2
Fix files.readdir and files.realpath not being cached
zodern Jan 5, 2019
70772dc
Reduce duplicate fs calls in watcher
zodern Jan 5, 2019
a985bf4
Throttle rendering progress in updateProgress
zodern Jan 5, 2019
ca3d391
Clean up watch code
zodern Jan 5, 2019
6c87f68
Fix mongo tests by adding a package.json to standard-app.
benjamn Jan 5, 2019
7055780
Use `--enableFreeMonitoring off` instead of `--quiet` for Mongo shell.
benjamn Jan 5, 2019
61b2ac3
Revert "Use `--enableFreeMonitoring off` instead of `--quiet` for Mon…
benjamn Jan 5, 2019
bcf6bf2
Wait until test app is running before starting Mongo shell.
benjamn Jan 5, 2019
c7441e6
Ensure consistent LANG-related environment variables in findMongoPids.
benjamn Jan 5, 2019
8f2c2b5
Get more data from Meetup API
StorytellerCZ Nov 29, 2018
a51a0cf
Bump meetup-oauth package version and avoid some repetition.
benjamn Jan 5, 2019
aaeb2a7
Pass `--enableFreeMonitoring off` to Mongo 4 shell, except on Linux.
benjamn Jan 5, 2019
5d88d9a
Improve stack traces for self-test failures.
benjamn Jan 5, 2019
fb2146c
Stop excluding test modules when meteor.testModule found in package.j…
benjamn Jan 6, 2019
7acf030
Merge branch 'master' into devel
benjamn Jan 7, 2019
e254159
Merge branch 'devel' into release-1.8.1
benjamn Jan 7, 2019
68fc39a
Bump package versions for 1.8.1-beta.11 release.
benjamn Jan 7, 2019
be4cc2b
Refactor accounts-ui-unstyled/accounts_ui.js to fix bugs.
benjamn Jan 7, 2019
dea96ec
Fix #10409 by ignoring self-referential browser aliases in package.json.
benjamn Jan 10, 2019
991ff6d
Merge branch 'devel' into release-1.8.1
benjamn Jan 10, 2019
fbf463c
Bump package versions for 1.8.1-beta.12 release.
benjamn Jan 10, 2019
435d265
Update cordova-plugin-* dependencies of webapp package.
benjamn Nov 15, 2018
f4485fe
Use build.json to opt out of incompatible Xcode 10 build system.
benjamn Nov 15, 2018
6e262d4
Update cordova-plugin-meteor-webapp to version 1.6.3.
benjamn Jan 11, 2019
178a4be
Merge pull request #10339 from meteor/cordova-improvements-for-meteor…
benjamn Jan 11, 2019
4890fbe
Mention Cordova fixes (#10339) in History.md.
benjamn Jan 11, 2019
bbc2fb6
Bump package versions for 1.8.1-beta.13 release.
benjamn Jan 11, 2019
5b3e8bc
Fix duplicate entry about meteor-promise in History.md (#10410)
skirunman Jan 11, 2019
20da99c
Do not treat client and server directories specially in packages. (#1…
benjamn Jan 11, 2019
5d43d2c
Selectively disable compression based on the incoming request (#10378)
georgyberdyshev Jan 11, 2019
7a872b6
Rewrite/simplify appcache size limit debug message. (#10355)
CaptainN Jan 11, 2019
37abeef
Improve css @import warning text (#10375)
jamesmillerburgess Jan 11, 2019
e076317
Modernize `ddp-client` package (#10413)
lh0x00 Jan 12, 2019
e5c6d2a
Use new `WebAppLocalServer.switchToPendingVersion` before reload (#10…
wojtkowiak Jan 14, 2019
cdb5854
Merge branch 'devel' into release-1.8.1
benjamn Jan 14, 2019
6beef66
Bump minor version of reload package following PR #10219.
benjamn Jan 14, 2019
adaf653
Bump package versions for 1.8.1-beta.14 release.
benjamn Jan 14, 2019
5e26ebb
Update cordova-{android,ios} to latest versions.
benjamn Jan 14, 2019
2afe477
Bump cordova-plugin-meteor-webapp version to 1.6.4.
benjamn Jan 14, 2019
a89b34c
Remove hash of minimum modern browser versions from client hash.
benjamn Jan 15, 2019
f144e2e
Merge pull request #10416 from meteor/more-cordova-improvements-for-1…
benjamn Jan 15, 2019
3e06005
Bump package versions for 1.8.1-beta.15 release.
benjamn Jan 15, 2019
65bc2b0
Fix reusing symlinks from initial build
zodern Jan 17, 2019
285e1b5
Clean up code
zodern Jan 17, 2019
f9d17aa
Fix delaying render
zodern Jan 17, 2019
31dfb0c
Remove timeout for starting delayed build
zodern Jan 17, 2019
ead0a6d
Fix indentation
zodern Jan 17, 2019
419ff7c
Merge pull request #10399 from zodern/windows-build-performance
benjamn Jan 31, 2019
985892c
Bump package versions for 1.8.1-beta.16 release.
benjamn Jan 31, 2019
0a08d59
Update meteor/circleci Docker image to Android API v27.
benjamn Jan 31, 2019
f1b736e
Bump cordova-plugin-meteor-webapp version to 1.6.5.
benjamn Feb 4, 2019
312d06a
Add gitRevision property to star.json and __meteor_runtime_config__.
benjamn Feb 4, 2019
ccab563
Add a self-test of gitRevision extraction.
benjamn Feb 4, 2019
2486743
Expose Meteor.gitRevision for even easier access.
benjamn Feb 4, 2019
c4e6cdb
Mention Meteor.gitRevision in History.md.
benjamn Feb 4, 2019
a962419
Address review feedback from @glasser.
benjamn Feb 4, 2019
1e5863a
Update Meteor.gitRevision to Meteor.gitCommitHash in History.md.
benjamn Feb 4, 2019
0f48028
Attempt to fix tests by reverting puppeteer from 1.12.1 to 1.6.2.
benjamn Feb 4, 2019
808d78d
Merge pull request #10442 from meteor/add-gitRevision-to-star.json-an…
benjamn Feb 4, 2019
987c7b9
Bump package versions for 1.8.1-beta.17 release.
benjamn Feb 4, 2019
f04160a
Bump autoupdate patch version to 1.5.1.
benjamn Feb 8, 2019
c842d21
Merge branch 'devel' into release-1.8.1
benjamn Feb 8, 2019
f11b905
Use optimistic functions with assets
zodern Feb 13, 2019
ba3e333
Update npm to version 6.8.0 and pacote to version 9.4.1.
benjamn Feb 26, 2019
83ec5e9
Update meteor-babel to version 7.3.4.
benjamn Feb 27, 2019
5ff5881
Prevent strange EISDIR error when building dev bundle.
benjamn Feb 27, 2019
ae9bab7
Bump $BUNDLE_VERSION to 8.15.0.1 before rebuilding dev bundle.
benjamn Feb 27, 2019
743bfb6
Update RegExp for detecting non-existent npm packages.
benjamn Feb 27, 2019
7ea1402
Bump package versions for 1.8.1-beta.18 release.
benjamn Feb 27, 2019
24e8d1d
Merge pull request #10452 from zodern/cache-assets
benjamn Feb 27, 2019
05e5cb9
Avoid global staticFilesByArch variable in webapp_server.js.
benjamn Feb 28, 2019
b2d7df5
Update Node to version 8.15.1.
benjamn Feb 28, 2019
0981817
Update Mongo to latest version(s).
benjamn Feb 28, 2019
367572f
Bump $BUNDLE_VERSION to 8.15.1.0 before rebuilding dev bundle.
benjamn Feb 28, 2019
79d6435
Skip calculating SRI for assets from the public/ folder.
zodern Feb 5, 2019
b48715d
Improve performance of minifying dynamic files.
zodern Feb 5, 2019
29b6ca6
Avoid unnecessary work if the file was already written.
zodern Feb 5, 2019
c34a61a
Simplify deciding when to not calculate SRI.
zodern Feb 12, 2019
aadbbfb
Clean up code.
zodern Feb 13, 2019
01f515e
Inconsequential style tweaks.
benjamn Feb 28, 2019
2edc15a
fix(deps): update terser, fetch, decimaljs, postcss, nanocss
sakulstra Feb 13, 2019
3348d70
Update shrinkwrap files for npm dependencies bumped in #10448.
benjamn Feb 28, 2019
cd9ace9
Bump package versions after updating npm dependencies in #10448.
benjamn Feb 28, 2019
61ee90e
Begin garbage directory names with a '.' character.
benjamn Feb 28, 2019
7c7dea5
Double-check isDirectory before calling copyNpmPackageWithSymlinkedNo…
benjamn Feb 28, 2019
eda0146
Merge pull request #10454 from zodern/write-performance
benjamn Feb 28, 2019
986e0a3
Merge pull request #10448 from sakulstra/update-deps-again
benjamn Feb 28, 2019
358f454
Update source-map to 0.5.7.
zodern Feb 4, 2019
7b2adcb
Cache stringified prelinked output for dynamic files.
zodern Feb 5, 2019
95a1f54
Skip regenerating main bundle when only a dynamic file changed.
zodern Feb 5, 2019
bb564dd
Address my own (minor) review feedback.
benjamn Feb 28, 2019
ea86f86
Merge pull request #10453 from zodern/linker-performance
benjamn Feb 28, 2019
d3ccc4e
Bump package versions for 1.8.1-beta.20 release.
benjamn Feb 28, 2019
642be6d
Attempt to fix tests by reverting puppeteer from 1.12.1 to 1.6.2.
benjamn Feb 4, 2019
86b6086
Update CONTRIBUTING.md, adding @zodern as a collaborator. (#10485)
benjamn Mar 13, 2019
0513143
Fix typo in oauth package (#10474)
afelchak Mar 15, 2019
40e8da2
Added an environment variable to determine if Meteor will restart aut…
SimonSimCity Mar 15, 2019
ae397a3
Fix #10428 facebook permissions (#10429)
StorytellerCZ Mar 15, 2019
65747fc
Updated `meteor create --list` Angular boilerplate name and URL. (#10…
georgyberdyshev Mar 15, 2019
61960a0
Add more information on logs when Mongo and Meteor query disagree (#1…
filipenevola Mar 15, 2019
55d1ffa
Revert "Skip regenerating main bundle when only a dynamic file change…
benjamn Mar 19, 2019
30a1913
Bump versions of recently PR'd core packages.
benjamn Mar 19, 2019
44e293b
Merge branch 'devel' into release-1.8.1
benjamn Mar 19, 2019
5125da5
Update npm to 6.9.0 and pacote to 9.5.0.
benjamn Mar 19, 2019
128b7ff
Update optimism dependency to latest version (0.8.3).
benjamn Mar 19, 2019
cc4645b
Bump $BUNDLE_VERSION to 8.15.1.1 before rebuilding dev bundle.
benjamn Mar 19, 2019
038e353
Apply reasoning from PR #10402 to package code as well.
benjamn Mar 19, 2019
7f7545c
Bump package versions for 1.8.1-rc.0 release.
benjamn Mar 19, 2019
2b21a90
Wait until Mongo primary node is writable (#10500)
klaussner Mar 19, 2019
238f995
Mention `isMaster` command (#10500) in History.md (#10502)
klaussner Mar 20, 2019
0cfd170
Ensure op.ts is defined before calling handleDoc.
benjamn Mar 20, 2019
8e16365
Bump package versions for 1.8.1-rc.1 release.
benjamn Mar 20, 2019
8b0256e
Update History.md before final Meteor 1.8.1 release.
benjamn Apr 2, 2019
d376276
Bump package versions for the official 1.8.1 release.
benjamn Apr 2, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Expand Up @@ -61,7 +61,7 @@ run_save_node_bin: &run_save_node_bin
build_machine_environment: &build_machine_environment
# Specify that we want an actual machine (ala Circle 1.0), not a Docker image.
docker:
- image: meteor/circleci
- image: meteor/circleci:android-27-node-8
environment:
# This multiplier scales the waitSecs for selftests.
TIMEOUT_SCALE_FACTOR: 8
Expand Down
7 changes: 5 additions & 2 deletions CONTRIBUTING.md
Expand Up @@ -44,6 +44,7 @@ Current Issue Triagers:
- [@laosb](https://github.com/laosb)
- [@abernix](https://github.com/abernix)
- [@lorensr](https://github.com/lorensr)
- [@klaussner](https://github.com/klaussner)

#### Reviewer

Expand All @@ -53,6 +54,8 @@ Current Reviewers:
- [@hwillson](https://github.com/hwillson)
- [@lorensr](https://github.com/lorensr)
- [@abernix](https://github.com/abernix)
- [@klaussner](https://github.com/klaussner)
- [@zodern](https://github.com/zodern)

#### Core Committer

Expand All @@ -63,7 +66,7 @@ Project Lead: [@benjamn](https://github.com/benjamn)
Current Core Committers:
- [@abernix](https://github.com/abernix)
- [@glasser](https://github.com/glasser)
- [@stubailo](https://github.com/stubailo)
- [@hwillson](https://github.com/hwillson)

#### Documentation Maintainer

Expand All @@ -84,7 +87,7 @@ Current Community Package Maintainers:

The community manager helps to coordinate resources, documentation, events, and other supportive work needed to ensure the health of the Meteor project.

Current Community Manager:
Previous Community Manager (this role is currently unfilled):
- [@theadactyl](https://github.com/theadactyl)

### Tracking project work
Expand Down
103 changes: 99 additions & 4 deletions History.md
@@ -1,13 +1,108 @@
## v.NEXT

## v1.8.1, 2019-04-03

### Breaking changes
N/A

### Migration steps
* Although we are not aware of any specific backwards incompatibilities,
the major upgrade of `cordova-android` from 6.4.0 to 7.1.4 likely
deserves extra attention, if you use Cordova to build Android apps.

### Migration Steps
N/A

### Changes

* Node has been updated from version 8.11.4 to version
[8.15.1](https://nodejs.org/en/blog/release/v8.15.1/), an important
[security release](https://nodejs.org/en/blog/vulnerability/february-2019-security-releases/),
which includes the changes from four other minor releases:
* [8.15.0](https://nodejs.org/en/blog/release/v8.15.0/)
* [8.14.0](https://nodejs.org/en/blog/release/v8.14.0/), an important
[security release](https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/)
* [8.12.0](https://nodejs.org/en/blog/release/v8.12.0/)
* [8.13.0](https://nodejs.org/en/blog/release/v8.13.0/)

> Note: While Node 8.12.0 included changes that may improve the
performance of Meteor apps, there have been reports of CPU usage spikes
in production due to excessive garbage collection, so this version of
Meteor should be considered experimental until those problems have been
fixed. [Issue #10216](https://github.com/meteor/meteor/issues/10216)

* The `npm` tool has been upgraded to version
[6.9.0](https://github.com/npm/cli/releases/tag/v6.9.0), and our
[fork](https://github.com/meteor/pacote/tree/v9.5.0-meteor) of its
`pacote` dependency has been updated to version 9.5.0.

* Mongo has been upgraded to version 4.0.6 for 64-bit systems (was 4.0.2),
and 3.2.22 for 32-bit systems (was 3.2.19). The `mongodb` npm package
used by `npm-mongo` has been updated to version 3.1.13 (was 3.1.6).

* The `fibers` npm package has been updated to version 3.1.1, a major
update from version 2.0.0. Building this version of `fibers` requires a
C++11 compiler, unlike previous versions. If you deploy your Meteor app
manually (without using Galaxy), you may need to update the version of
`g++` used when running `npm install` in the `bundle/programs/server`
directory.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good news: I can confirm this version of fibers works just fine with Galaxy's deploy process.


* The `meteor-babel` npm package has been updated to version 7.3.4.

* Cordova Hot Code Push mechanism is now switching versions explicitly with
call to `WebAppLocalServer.switchToPendingVersion` instead of trying to
switch every time a browser reload is detected. If you use any third
party package or have your own HCP routines implemented be sure to call
it before forcing a browser reload. If you use the automatic reload from
the `Reload` meteor package you do not need to do anything.
[cordova-plugin-meteor-webapp PR #62](https://github.com/meteor/cordova-plugin-meteor-webapp/pull/62)

* Multiple Cordova-related bugs have been fixed, including Xcode 10 build
incompatibilities and hot code push errors due to duplicated
images/assets. [PR #10339](https://github.com/meteor/meteor/pull/10339)

* The `cordova-android` and `cordova-ios` npm dependencies have been
updated to 7.1.4 (from 6.4.0) and 4.5.5 (from 4.5.4), respectively.

* Build performance has improved (especially on Windows) thanks to
additional caching implemented by [@zodern](https://github.com/zodern)
in PRs [#10399](https://github.com/meteor/meteor/pull/10399),
[#10452](https://github.com/meteor/meteor/pull/10452),
[#10453](https://github.com/meteor/meteor/pull/10453), and
[#10454](https://github.com/meteor/meteor/pull/10454).

* The `meteor mongo` command no longer uses the `--quiet` option, so the
normal startup text will be displayed, albeit without the banner about
Mongo's free monitoring service. See this
[MongoDB Jira issue](https://jira.mongodb.org/browse/SERVER-38862)
for more details.

* In Meteor packages, `client/` and `server/` directories no longer have
any special meaning. In application code, `client/` directories are
ignored during the server build, and `server/` directories are ignored
during the client build, as before. This special behavior previously
applied to packages as well, but has now been removed.
[Issue #10393](https://github.com/meteor/meteor/issues/10393)
[PR #10414](https://github.com/meteor/meteor/pull/10414)

* If your application is using Git for version control, the current Git
commit hash will now be exposed via the `Meteor.gitCommitHash` property
while the app is running (in both server and client code), and also via
the `"gitCommitHash"` property in the `star.json` file located in the
root directory of builds produced by `meteor build`, for consumption by
deployment tools. If you are not using Git, neither property will be
defined. [PR #10442](https://github.com/meteor/meteor/pull/10442)

* The Meteor Tool now uses a more reliable method (the MongoDB
[`isMaster` command](https://docs.mongodb.com/manual/reference/command/isMaster/))
to detect when the local development database has started and is ready to
accept read and write operations.
[PR #10500](https://github.com/meteor/meteor/pull/10500)

* Setting the `x-no-compression` request header will prevent the `webapp`
package from compressing responses with `gzip`, which may be useful if
your Meteor app is behind a proxy that compresses resources with another
compression algorithm, such as [brotli](https://github.com/google/brotli).
[PR #10378](https://github.com/meteor/meteor/pull/10378)

## v1.8.0.2, 2019-01-07

### Breaking changes
Expand All @@ -18,13 +113,13 @@ N/A

### Changes

- The [React tutorial](https://www.meteor.com/tutorials/react/creating-an-app)
* The [React tutorial](https://www.meteor.com/tutorials/react/creating-an-app)
has been updated to address a number of inaccuracies due to changes in
recent Meteor releases that were not fully incorporated back into the
tutorial. As a reminder, Meteor now supports a `meteor create --react`
command that can be used to create a new React-based app quickly.

- Fixed a bug where modules named with `*.app-tests.js` (or `*.tests.js`)
* Fixed a bug where modules named with `*.app-tests.js` (or `*.tests.js`)
file extensions sometimes could not be imported by the
`meteor.testModule` entry point when running the `meteor test` command
(or `meteor test --full-app`).
Expand Down
3 changes: 1 addition & 2 deletions meteor
@@ -1,7 +1,6 @@
#!/usr/bin/env bash

# Note: Skip 8.12.0.0, as it has already been used.
BUNDLE_VERSION=8.11.4.8
BUNDLE_VERSION=8.15.1.1

# OS Check. Put here because here is where we download the precompiled
# bundles that are arch specific.
Expand Down
155 changes: 95 additions & 60 deletions packages/accounts-ui-unstyled/accounts_ui.js
Expand Up @@ -4,15 +4,29 @@
* @memberOf Accounts
* @importFromPackage accounts-base
*/
Accounts.ui = {};

Accounts.ui._options = {
requestPermissions: {},
requestOfflineToken: {},
forceApprovalPrompt: {}
Accounts.ui = {
_options: {
requestPermissions: Object.create(null),
requestOfflineToken: Object.create(null),
forceApprovalPrompt: Object.create(null),
},
};

// XXX refactor duplicated code in this function
const VALID_OPTIONS = new Set()
.add('passwordSignupFields')
.add('requestPermissions')
.add('requestOfflineToken')
.add('forceApprovalPrompt');

const VALID_PASSWORD_SIGNUP_FIELDS = new Set()
.add("USERNAME_AND_EMAIL")
.add("USERNAME_AND_OPTIONAL_EMAIL")
.add("USERNAME_ONLY")
.add("EMAIL_ONLY");

function isValidPasswordSignupField(field) {
return VALID_PASSWORD_SIGNUP_FIELDS.has(field);
}

/**
* @summary Configure the behavior of [`{{> loginButtons}}`](#accountsui).
Expand All @@ -25,86 +39,107 @@ Accounts.ui._options = {
* @importFromPackage accounts-base
*/
Accounts.ui.config = options => {
// validate options keys
const VALID_KEYS = ['passwordSignupFields', 'requestPermissions', 'requestOfflineToken', 'forceApprovalPrompt'];
Object.keys(options).forEach(key => {
if (!VALID_KEYS.includes(key))
throw new Error(`Accounts.ui.config: Invalid key: ${key}`);
if (!VALID_OPTIONS.has(key)) {
throw new Error(`Accounts.ui.config: Invalid option: ${key}`);
}
});

// deal with `passwordSignupFields`
if (options.passwordSignupFields) {
if (options.passwordSignupFields.reduce((prev, field) =>
prev &&
[
"USERNAME_AND_EMAIL",
"USERNAME_AND_OPTIONAL_EMAIL",
"USERNAME_ONLY",
"EMAIL_ONLY"
].includes(field),
true
)) {
if (Accounts.ui._options.passwordSignupFields)
handlePasswordSignupFields(options);
handleRequestPermissions(options);
handleRequestOfflineToken(options);
handleForceApprovalPrompt(options);
};

function handlePasswordSignupFields(options) {
let { passwordSignupFields } = options;

if (passwordSignupFields) {
const reportInvalid = () => {
throw new Error(`Accounts.ui.config: Invalid option for \`passwordSignupFields\`: ${passwordSignupFields}`);
};

if (typeof passwordSignupFields === "string") {
passwordSignupFields = [passwordSignupFields];
} else if (!Array.isArray(passwordSignupFields)) {
reportInvalid();
}

if (passwordSignupFields.every(isValidPasswordSignupField)) {
if (Accounts.ui._options.passwordSignupFields) {
throw new Error("Accounts.ui.config: Can't set `passwordSignupFields` more than once");
else
Accounts.ui._options.passwordSignupFields = options.passwordSignupFields;
} else {
throw new Error(`Accounts.ui.config: Invalid option for \`passwordSignupFields\`: ${options.passwordSignupFields}`);
}
Object.assign(Accounts.ui._options, { passwordSignupFields });
return;
}

reportInvalid();
}
}

export function passwordSignupFields() {
const { passwordSignupFields } = Accounts.ui._options;

if (Array.isArray(passwordSignupFields)) {
return passwordSignupFields;
}

if (typeof passwordSignupFields === 'string') {
return [passwordSignupFields];
}

// deal with `requestPermissions`
if (options.requestPermissions) {
Object.keys(options.requestPermissions).forEach(service => {
const scope = options.forceApprovalPrompt[service];
return ["EMAIL_ONLY"];
}


function handleRequestPermissions({ requestPermissions }) {
if (requestPermissions) {
Object.keys(requestPermissions).forEach(service => {
if (Accounts.ui._options.requestPermissions[service]) {
throw new Error(`Accounts.ui.config: Can't set \`requestPermissions\` more than once for ${service}`);
} else if (!Array.isArray(scope)) {
}

const scope = requestPermissions[service];

if (!Array.isArray(scope)) {
throw new Error("Accounts.ui.config: Value for `requestPermissions` must be an array");
} else {
Accounts.ui._options.requestPermissions[service] = scope;
}

Accounts.ui._options.requestPermissions[service] = scope;
});
}
}

// deal with `requestOfflineToken`
if (options.requestOfflineToken) {
Object.keys(options.requestOfflineToken).forEach(service => {
const value = options.forceApprovalPrompt[service];
if (service !== 'google')
function handleRequestOfflineToken({ requestOfflineToken }) {
if (requestOfflineToken) {
Object.keys(requestOfflineToken).forEach(service => {
if (service !== 'google') {
throw new Error("Accounts.ui.config: `requestOfflineToken` only supported for Google login at the moment.");
}

if (Accounts.ui._options.requestOfflineToken[service]) {
throw new Error(`Accounts.ui.config: Can't set \`requestOfflineToken\` more than once for ${service}`);
} else {
Accounts.ui._options.requestOfflineToken[service] = value;
}

Accounts.ui._options.requestOfflineToken[service] =
requestOfflineToken[service];
});
}
}

// deal with `forceApprovalPrompt`
if (options.forceApprovalPrompt) {
Object.keys(options.forceApprovalPrompt).forEach(service => {
const value = options.forceApprovalPrompt[service];
if (service !== 'google')
function handleForceApprovalPrompt({ forceApprovalPrompt }) {
if (forceApprovalPrompt) {
Object.keys(forceApprovalPrompt).forEach(service => {
if (service !== 'google') {
throw new Error("Accounts.ui.config: `forceApprovalPrompt` only supported for Google login at the moment.");
}

if (Accounts.ui._options.forceApprovalPrompt[service]) {
throw new Error(`Accounts.ui.config: Can't set \`forceApprovalPrompt\` more than once for ${service}`);
} else {
Accounts.ui._options.forceApprovalPrompt[service] = value;
}
});
}
};

export const passwordSignupFields = () => {
const { passwordSignupFields } = Accounts.ui._options;
if (Array.isArray(passwordSignupFields)) {
return passwordSignupFields;
} else if (typeof passwordSignupFields === 'string') {
return [passwordSignupFields];
Accounts.ui._options.forceApprovalPrompt[service] =
forceApprovalPrompt[service];
});
}
return ["EMAIL_ONLY"];
}

2 changes: 1 addition & 1 deletion packages/accounts-ui-unstyled/package.js
@@ -1,6 +1,6 @@
Package.describe({
summary: "Unstyled version of login widgets",
version: "1.4.1"
version: "1.4.2"
});

Package.onUse(function (api) {
Expand Down