diff --git a/.circleci/config.yml b/.circleci/config.yml index 258256aabb0d..55c71b9fd7eb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -152,10 +152,12 @@ jobs: - run: name: Install dependencies command: | + wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 + echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list sudo apt-get update - sudo apt-get install -y mongodb-org-shell + sudo apt-get install -y mongodb-org-shell google-chrome-stable - run: name: Configure Replica Set @@ -192,6 +194,14 @@ jobs: - checkout + - run: + name: Install dependencies + command: | + wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - + echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list + sudo apt-get update + sudo apt-get install -y google-chrome-stable + - run: name: NPM install command: | @@ -245,10 +255,118 @@ jobs: aws s3 cp $ROCKET_DEPLOY_DIR/ s3://download.rocket.chat/build/ --recursive bash .circleci/update-releases.sh - bash .circleci/docker.sh bash .circleci/snap.sh bash .circleci/redhat-registry.sh + image-build: + <<: *defaults + + docker: + - image: docker:17.05.0-ce-git + + steps: + - attach_workspace: + at: /tmp + + - checkout + + - setup_remote_docker + + - run: + name: Build Docker image + command: | + cd /tmp/build + tar xzf Rocket.Chat.tar.gz + rm Rocket.Chat.tar.gz + + export CIRCLE_TAG=${CIRCLE_TAG:=} + if [[ $CIRCLE_TAG ]]; then + docker login -u $DOCKER_USER -p $DOCKER_PASS + + echo "Build official Docker image" + cp ~/repo/.docker/Dockerfile . + docker build -t rocketchat/rocket.chat:$CIRCLE_TAG . + docker push rocketchat/rocket.chat:$CIRCLE_TAG + + echo "Build preview Docker image" + cp ~/repo/.docker-mongo/Dockerfile . + cp ~/repo/.docker-mongo/entrypoint.sh . + docker build -t rocketchat/rocket.chat.preview:$CIRCLE_TAG . + docker push rocketchat/rocket.chat.preview:$CIRCLE_TAG + + if echo "$CIRCLE_TAG" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$' ; then + docker tag rocketchat/rocket.chat:$CIRCLE_TAG rocketchat/rocket.chat:latest + docker push rocketchat/rocket.chat:latest + + docker tag rocketchat/rocket.chat.preview:$CIRCLE_TAG rocketchat/rocket.chat.preview:latest + docker push rocketchat/rocket.chat.preview:latest + elif echo "$CIRCLE_TAG" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$' ; then + docker tag rocketchat/rocket.chat:$CIRCLE_TAG rocketchat/rocket.chat:release-candidate + docker push rocketchat/rocket.chat:release-candidate + + docker tag rocketchat/rocket.chat.preview:$CIRCLE_TAG rocketchat/rocket.chat.preview:release-candidate + docker push rocketchat/rocket.chat.preview:release-candidate + fi + + exit 0 + fi; + + if [[ $CIRCLE_BRANCH == 'develop' ]]; then + docker login -u $DOCKER_USER -p $DOCKER_PASS + + echo "Build official Docker image" + cp ~/repo/.docker/Dockerfile . + docker build -t rocketchat/rocket.chat:develop . + docker push rocketchat/rocket.chat:develop + + echo "Build preview Docker image" + cp ~/repo/.docker-mongo/Dockerfile . + cp ~/repo/.docker-mongo/entrypoint.sh . + docker build -t rocketchat/rocket.chat.preview:develop . + docker push rocketchat/rocket.chat.preview:develop + + exit 0 + fi; + + pr-image-build: + <<: *defaults + + docker: + - image: docker:17.05.0-ce-git + + steps: + - attach_workspace: + at: /tmp + + - checkout + + - setup_remote_docker + + - run: + name: Build Docker image for PRs + command: | + export CIRCLE_PR_NUMBER="${CIRCLE_PR_NUMBER:-${CIRCLE_PULL_REQUEST##*/}}" + if [[ -z $CIRCLE_PR_NUMBER ]]; then + exit 0 + fi; + + cd /tmp/build + tar xzf Rocket.Chat.tar.gz + rm Rocket.Chat.tar.gz + + docker login -u $DOCKER_USER -p $DOCKER_PASS + + echo "Build official Docker image" + cp ~/repo/.docker/Dockerfile . + docker build -t rocketchat/rocket.chat:pr-$CIRCLE_PR_NUMBER . + docker push rocketchat/rocket.chat:pr-$CIRCLE_PR_NUMBER + + echo "Build preview Docker image" + cp ~/repo/.docker-mongo/Dockerfile . + cp ~/repo/.docker-mongo/entrypoint.sh . + docker build -t rocketchat/rocket.chat.preview:pr-$CIRCLE_PR_NUMBER . + docker push rocketchat/rocket.chat.preview:pr-$CIRCLE_PR_NUMBER + workflows: version: 2 build-and-test: @@ -278,4 +396,29 @@ workflows: only: develop tags: only: /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/ + - image-build: + requires: + - deploy + filters: + branches: + only: develop + tags: + only: /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/ + - hold: + type: approval + requires: + - build + filters: + branches: + ignore: develop + tags: + only: /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/ + - pr-image-build: + requires: + - hold + filters: + branches: + ignore: develop + tags: + only: /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/ diff --git a/.circleci/setartname.sh b/.circleci/setartname.sh index c0297ca3c73f..e61fd52f1a41 100644 --- a/.circleci/setartname.sh +++ b/.circleci/setartname.sh @@ -15,7 +15,7 @@ elif [[ $CIRCLE_TAG =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then else SNAP_CHANNEL=edge RC_RELEASE=develop - RC_VERSION=0.60.0-develop + RC_VERSION=0.66.0-develop fi export SNAP_CHANNEL diff --git a/.docker-mongo/Dockerfile b/.docker-mongo/Dockerfile new file mode 100644 index 000000000000..8a5faf28da37 --- /dev/null +++ b/.docker-mongo/Dockerfile @@ -0,0 +1,40 @@ +FROM rocketchat/base:8 + +ADD . /app +ADD entrypoint.sh /app/bundle/ + +MAINTAINER buildmaster@rocket.chat + +RUN set -x \ + && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ + && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" | tee /etc/apt/sources.list.d/mongodb-org-3.6.list \ + && apt-get update \ + && apt-get install -y --force-yes pwgen mongodb-org \ + && echo "mongodb-org hold" | dpkg --set-selections \ + && echo "mongodb-org-server hold" | dpkg --set-selections \ + && echo "mongodb-org-shell hold" | dpkg --set-selections \ + && echo "mongodb-org-mongos hold" | dpkg --set-selections \ + && echo "mongodb-org-tools hold" | dpkg --set-selections \ + && cd /app/bundle/programs/server \ + && npm install \ + && npm cache clear --force \ + && rm -rf /var/lib/apt/lists/* + +VOLUME /app/uploads + +WORKDIR /app/bundle + +# needs a mongoinstance - defaults to container linking with alias 'mongo' +ENV DEPLOY_METHOD=docker-preview \ + NODE_ENV=production \ + MONGO_URL=mongodb://localhost:27017/rocketchat \ + HOME=/tmp \ + PORT=3000 \ + ROOT_URL=http://localhost:3000 \ + Accounts_AvatarStorePath=/app/uploads + +EXPOSE 3000 + +RUN chmod +x /app/bundle/entrypoint.sh + +ENTRYPOINT /app/bundle/entrypoint.sh diff --git a/.docker-mongo/entrypoint.sh b/.docker-mongo/entrypoint.sh new file mode 100644 index 000000000000..f86035acba54 --- /dev/null +++ b/.docker-mongo/entrypoint.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +echo """ + +  +  +  +    +       +         +            +            +            +          +          +           +           +           +        +              +            +         +         +     +        +   + + + + +""" + +echo """ +██████╗ ██████╗ ██████╗██╗ ██╗███████╗████████╗ ██████╗██╗ ██╗ █████╗ ████████╗ ██████╗ ██████╗ ███████╗██╗ ██╗██╗███████╗██╗ ██╗ +██╔══██╗██╔═══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔════╝██║ ██║██╔══██╗╚══██╔══╝ ██╔══██╗██╔══██╗██╔════╝██║ ██║██║██╔════╝██║ ██║ +██████╔╝██║ ██║██║ █████╔╝ █████╗ ██║ ██║ ███████║███████║ ██║ ██████╔╝██████╔╝█████╗ ██║ ██║██║█████╗ ██║ █╗ ██║ +██╔══██╗██║ ██║██║ ██╔═██╗ ██╔══╝ ██║ ██║ ██╔══██║██╔══██║ ██║ ██╔═══╝ ██╔══██╗██╔══╝ ╚██╗ ██╔╝██║██╔══╝ ██║███╗██║ +██║ ██║╚██████╔╝╚██████╗██║ ██╗███████╗ ██║██╗╚██████╗██║ ██║██║ ██║ ██║ ██║ ██║ ██║███████╗ ╚████╔╝ ██║███████╗╚███╔███╔╝ +╚═╝ ╚═╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═══╝ ╚═╝╚══════╝ ╚══╝╚══╝ +""" + +mongod --smallfiles --storageEngine=mmapv1 --fork --config /etc/mongod.conf + +until mongo --eval "db" &> /dev/null; do + echo "MongoDB still not ready, sleeping" + sleep 1 +done + +node main.js diff --git a/.docker-mongo/licenses/LICENSE b/.docker-mongo/licenses/LICENSE new file mode 100644 index 000000000000..b3435a104885 --- /dev/null +++ b/.docker-mongo/licenses/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015-2017 Rocket.Chat Technologies Corp. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/.docker/Dockerfile b/.docker/Dockerfile index f356f252eda5..885051510ae2 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -1,16 +1,10 @@ FROM rocketchat/base:8 -ENV RC_VERSION 0.64.0-develop +ADD . /app MAINTAINER buildmaster@rocket.chat RUN set -x \ - && curl -SLf "https://releases.rocket.chat/${RC_VERSION}/download/" -o rocket.chat.tgz \ - && curl -SLf "https://releases.rocket.chat/${RC_VERSION}/asc" -o rocket.chat.tgz.asc \ - && gpg --verify rocket.chat.tgz.asc \ - && mkdir -p /app \ - && tar -zxf rocket.chat.tgz -C /app \ - && rm rocket.chat.tgz rocket.chat.tgz.asc \ && cd /app/bundle/programs/server \ && npm install \ && npm cache clear --force \ diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel new file mode 100644 index 000000000000..264b70bd007a --- /dev/null +++ b/.docker/Dockerfile.rhel @@ -0,0 +1,48 @@ +FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 + +ENV RC_VERSION 0.70.0-develop + +MAINTAINER buildmaster@rocket.chat + +LABEL name="Rocket.Chat" \ + vendor="Rocket.Chat" \ + version="${RC_VERSION}" \ + release="1" \ + url="https://rocket.chat" \ + summary="The Ultimate Open Source Web Chat Platform" \ + description="The Ultimate Open Source Web Chat Platform" \ + run="docker run -d --name ${NAME} ${IMAGE}" + + +# This is ugly... But for some reason npm and node aren't available at this stage. +ENV PATH /opt/rh/rh-nodejs8/root/usr/bin:/opt/app-root/src/node_modules/.bin/:/opt/app-root/src/.npm-global/bin/:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +RUN set -x \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 0E163286C20D07B9787EBE9FD7F9D0414FD08104 \ + && curl -SLf "https://releases.rocket.chat/${RC_VERSION}/download" -o rocket.chat.tgz \ + && curl -SLf "https://releases.rocket.chat/${RC_VERSION}/asc" -o rocket.chat.tgz.asc \ + && gpg --verify rocket.chat.tgz.asc \ + && tar -zxf rocket.chat.tgz -C /opt/app-root/src/ \ + && cd /opt/app-root/src/bundle/programs/server \ + && npm install + +COPY licenses /licenses + +VOLUME /opt/app-root/src/uploads + +WORKDIR /opt/app-root/src/bundle + +# Hack needed to force use of bundled library instead of system level outdated library +# https://github.com/lovell/sharp/issues/892 +ENV LD_PRELOAD=/opt/app-root/src/bundle/programs/server/npm/node_modules/sharp/vendor/lib/libz.so + +ENV DEPLOY_METHOD=docker-redhat \ + NODE_ENV=production \ + MONGO_URL=mongodb://mongo:27017/rocketchat \ + HOME=/tmp \ + PORT=3000 \ + ROOT_URL=http://localhost:3000 + +EXPOSE 3000 + +CMD ["node", "main.js"] diff --git a/.docker/licenses/LICENSE b/.docker/licenses/LICENSE new file mode 100644 index 000000000000..b3435a104885 --- /dev/null +++ b/.docker/licenses/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015-2017 Rocket.Chat Technologies Corp. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/.eslintignore b/.eslintignore index 6fedf42bc55d..f8e66c28c01d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -6,18 +6,19 @@ packages/rocketchat-emoji-emojione/generateEmojiIndex.js packages/rocketchat-favico/favico.js packages/rocketchat-katex/client/katex/katex.min.js packages/rocketchat-livechat/.app/node_modules +packages/rocketchat-livechat/.app/.meteor packages/rocketchat-livechat/assets/rocketchat-livechat.min.js packages/rocketchat-livechat/assets/rocket-livechat.js -packages/rocketchat-migrations/ packages/rocketchat-theme/client/minicolors/jquery.minicolors.js packages/rocketchat-ui/client/lib/customEventPolyfill.js packages/rocketchat-ui/client/lib/Modernizr.js packages/rocketchat-ui/client/lib/recorderjs/recorder.js -packages/rocketchat-ui/client/lib/textarea-autogrow.js packages/rocketchat-videobridge/client/public/external_api.js packages/rocketchat-theme/client/vendor/ +packages/tap-i18n/lib/tap_i18next/tap_i18next-1.7.3.js private/moment-locales/ public/livechat/ public/mp3-realtime-worker.js public/lame.min.js !.scripts +!packages/rocketchat-livechat/.app diff --git a/.eslintrc b/.eslintrc index 2510662072ce..7cf4fcf95d80 100644 --- a/.eslintrc +++ b/.eslintrc @@ -39,6 +39,24 @@ "no-inner-declarations": [2, "functions"], "no-invalid-regexp": 2, "no-irregular-whitespace": 2, + "no-mixed-operators": [2, { + "groups": [ + ["%", "**"], + ["%", "+"], + ["%", "-"], + ["%", "*"], + ["%", "/"], + ["**", "+"], + ["**", "-"], + ["**", "*"], + ["**", "/"], + ["&", "|", "^", "~", "<<", ">>", ">>>"], + ["==", "!=", "===", "!==", ">", ">=", "<", "<="], + ["&&", "||"], + ["in", "instanceof"] + ], + "allowSamePrecedence": false + }], "no-mixed-spaces-and-tabs": 2, "no-sparse-arrays": 2, "no-negated-in-lhs": 2, @@ -54,6 +72,35 @@ }], "no-void": 2, "no-var": 2, + "no-multiple-empty-lines": [2, { "max": 2 }], + "no-nested-ternary": 2, + "prefer-rest-params": 2, + "array-callback-return": 2, + "prefer-destructuring": [2, { + "VariableDeclarator": { + "array": false, + "object": true + }, + "AssignmentExpression": { + "array": false, + "object": false + } + }, { + "enforceForRenamedProperties": false + }], + "no-duplicate-imports": 2, + "arrow-parens": [2, "always"], + "quote-props": [2, "as-needed"], + "no-array-constructor": 2, + "arrow-spacing": 2, + "arrow-body-style": [2, "as-needed"], + "no-confusing-arrow": [2, { "allowParens": true }], + "dot-notation": 2, + "no-unneeded-ternary": 2, + "spaced-comment": 2, + "space-infix-ops": 2, + "array-bracket-spacing": [2, "never"], + "object-curly-spacing": [2, "always"], "one-var": [2, "never"], "no-lonely-if": 2, "no-trailing-spaces": 2, @@ -63,7 +110,7 @@ "space-before-blocks": [2, "always"], "indent": [2, "tab", {"SwitchCase": 1}], "eol-last": [2, "always"], - "comma-dangle": [2, "never"], + "comma-dangle": [2, "always-multiline"], "keyword-spacing": 2, "block-spacing": 2, "brace-style": [2, "1tbs", { "allowSingleLine": true }], @@ -76,7 +123,7 @@ "curly": [2, "all"], "eqeqeq": [2, "allow-null"], "new-cap": [2, { - "capIsNewExceptions": ["Match.Optional", "Match.Maybe", "Match.ObjectIncluding", "Push.Configure", "SHA256"] + "capIsNewExceptions": ["Match.Optional", "Match.Maybe", "Match.OneOf", "Match.Where", "Match.ObjectIncluding", "Push.Configure", "SHA256"] }], "use-isnan": 2, "valid-typeof": 2, @@ -131,6 +178,7 @@ "parentCall" : false, "Promise" : false, "Random" : false, + "ReactiveDict" : false, "ReactiveVar" : false, "Reload" : false, "RocketChat" : true, diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/bug_report.md similarity index 53% rename from .github/ISSUE_TEMPLATE.md rename to .github/ISSUE_TEMPLATE/bug_report.md index b30c37f15940..0822e6f29440 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,3 +1,9 @@ +--- +name: Bug report +about: Create a report to help us improve + +--- + - -### Server Setup Information: - -* Version of Rocket.Chat Server: -* Operating System: -* Deployment Method(snap/docker/tar/etc): -* Number of Running Instances: -* DB Replicaset Oplog: -* Node Version: -* mongoDB Version: + -### Steps to Reproduce: +### Steps to reproduce: -1. -2. +1. +2. 3. ### Expected behavior: @@ -34,8 +30,23 @@ If you are experiencing a bug please search our issues to be sure it is not alre ### Actual behavior: - + + +### Server Setup Information: + +- Version of Rocket.Chat Server: +- Operating System: +- Deployment Method: +- Number of Running Instances: +- DB Replicaset Oplog: +- NodeJS Version: +- MongoDB Version: + +### Additional context + + ### Relevant logs: - + + diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md new file mode 100644 index 000000000000..99bb9a00975f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -0,0 +1,7 @@ +--- +name: Custom issue template +about: Describe this issue template's purpose here. + +--- + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000000..066b2d920a28 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest an idea for this project + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md new file mode 100644 index 000000000000..03f57fcab160 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/release.md @@ -0,0 +1,59 @@ +--- +name: Release +about: Internal release checklist template + +--- + +# Release {version} +We are releasing a new version, this issue will keep track of the progress between the first release candidate (20th of each month) to the final release (27th of each month). + +Beginning on the 20th of each month, we will start the release process which ends 7 days later (the 27th). During this period of time, we will enter a "Feature Freeze". This Feature Freeze means that we will only be merging pull requests which fix bugs and not ones which add new features. + +When you find a bug that is a regression, please open a new issue and link it to this one. + + +## Before Release - Preparation - 1 business day before the day 20th +- [x] Create the issue to track the release progress +- [ ] Define the highlights from release PRs as suggestion to be included on Blog Post +- [ ] Talk to the Marketing Team about starting the release Blog Post +- [ ] Talk to the Documentation Team about ensuring the Docs are up to date and all pull requests are merged +- [ ] Sync translations from [LingoHub](https://translate.lingohub.com/rocketchat/rocket-dot-chat/dashboard) + +## Release Candidate 1 - On the 20th +- [ ] Execute action `Release Candidate` via [Houston CLI](https://github.com/RocketChat/Rocket.Chat.Houston) (`houston release`) +- [ ] Check if `release-candidate` branch was published +- [ ] Check if the tag was published and contains the history +- [ ] Ensure the build is passing on [CircleCI](https://circleci.com/gh/RocketChat/Rocket.Chat) +- [ ] Ensure the image was sent to [Docker Hub](https://hub.docker.com/r/rocketchat/rocket.chat/tags/) + + + +## Final Release - On the 27th +- [ ] Execute action `Final Release` via [Houston CLI](https://github.com/RocketChat/Rocket.Chat.Houston) (`houston release`) +- [ ] Check if `release-{version}` branch was published +- [ ] Check if the release was created as **draft** and contains the history +- [ ] Check if the release Pull Request was created and contains the history +- [ ] Ensure the **Pull Request** build is passing on [CircleCI](https://circleci.com/gh/RocketChat/Rocket.Chat) +- [ ] When build is passing ask for Pull Request approval +- [ ] When approved merge it! +- [ ] Ensure the **Tag** build is passing on [CircleCI](https://circleci.com/gh/RocketChat/Rocket.Chat) +- [ ] Ensure the image was sent to [Docker Hub](https://hub.docker.com/r/rocketchat/rocket.chat/tags/) +- [ ] After all edit the release/tag and publish it + +## After Release - Conclusion - 1 business day after the 27th +- [ ] Ensure all of the related issues were closed +- [ ] Determine if all of the related issues were correctly assigned to the this version's milestone +- [ ] Get an update from Marketing Team about the release Blog Post +- [ ] Check with the Documentation Team about the Docs release +- [ ] Sync develop + - [ ] Execute action `Develop Sync` via [Houston CLI](https://github.com/RocketChat/Rocket.Chat.Houston) (`houston release`) + - [ ] Ensure the **Pull Request** build is passing on [CircleCI](https://circleci.com/gh/RocketChat/Rocket.Chat) + - [ ] When build has passed, ask for approval and wait + - [ ] Merge Sync PR diff --git a/.github/history.json b/.github/history.json index 1c523399eede..b0b510da35de 100644 --- a/.github/history.json +++ b/.github/history.json @@ -1,12211 +1,18684 @@ { - "0.55.0-rc.0": [ - { - "pr": "6614", - "title": "Add candidate snap channel", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6597", - "title": "Add `fname` to subscriptions in memory", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "6608", - "title": "[New] Switch Snaps to use oplog", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "6576", - "title": "Convert Message Pin Package to JS", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6585", - "title": "Move room display name logic to roomType definition", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6598", - "title": "[FIX] Large files crashed browser when trying to show preview", - "userLogin": "geekgonecrazy", - "milestone": "0.55.0", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "6600", - "title": "[FIX] messageBox: put \"joinCodeRequired\" back", - "userLogin": "karlprieb", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "6594", - "title": "[FIX] Do not add default roles for users without services field", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6596", - "title": "Only configure LoggerManager on server", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6298", - "title": "POC Google Natural Language integration", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6591", - "title": "Fix recently introduced bug: OnePassword not defined", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6553", - "title": "rocketchat-lib part1", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6590", - "title": "[FIX] Accounts from LinkedIn OAuth without name", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6584", - "title": "dependencies upgrade", - "userLogin": "engelgabriel", - "milestone": "0.55.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6580", - "title": "fixed typo in readme.md", - "userLogin": "sezinkarli", - "milestone": "0.55.0", - "contributors": [ - "sezinkarli", - "web-flow" - ] - }, - { - "pr": "6565", - "title": "[NEW] Add shield.svg api route to generate custom shields/badges", - "userLogin": "alexbrazier", - "milestone": "0.55.0", - "contributors": [ - "alexbrazier" - ] - }, - { - "pr": "6575", - "title": "[FIX] Usage of subtagged languages", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "3851", - "title": "Use real name instead of username for messages and direct messages list", - "userLogin": "alexbrazier", - "milestone": "0.55.0", - "contributors": [ - "alexbrazier" - ] - }, - { - "pr": "6561", - "title": "Convert Ui-Login Package to Js", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6577", - "title": "[NEW] resolve merge share function", - "userLogin": "karlprieb", - "milestone": "0.55.0", - "contributors": [ - "tgxn", - "karlprieb" - ] - }, - { - "pr": "6551", - "title": "rocketchat-channel-settings coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "6571", - "title": "Move wordpress packages client files to client folder", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6539", - "title": "convert rocketchat-ui part 2", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6541", - "title": "rocketchat-channel-settings-mail-messages coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6574", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6567", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6562", - "title": "[FIX] UTC offset missing UTC text when positive", - "userLogin": "alexbrazier", - "milestone": "0.55.0", - "contributors": [ - "alexbrazier" - ] - }, - { - "pr": "6554", - "title": "[New] Added oauth2 userinfo endpoint", - "userLogin": "geekgonecrazy", - "milestone": "0.55.0", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "6531", - "title": "[FIX] can not get access_token when using custom oauth", - "userLogin": "fengt", - "milestone": "0.55.0", - "contributors": [ - "fengt" - ] - }, - { - "pr": "6540", - "title": "Remove Deprecated Shared Secret Package", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6542", - "title": "Remove coffeescript package from ui-sidenav", - "userLogin": "Kiran-Rao", - "milestone": "0.55.0", - "contributors": [ - "Kiran-Rao", - "web-flow" - ] - }, - { - "pr": "6543", - "title": "Remove coffeescript package from ui-flextab", - "userLogin": "Kiran-Rao", - "milestone": "0.55.0", - "contributors": [ - "Kiran-Rao", - "web-flow" - ] - }, - { - "pr": "6476", - "title": "[NEW] Two Factor Auth", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego", - "rodrigok" - ] - }, - { - "pr": "6478", - "title": "[FIX] Outgoing webhooks which have an error and they're retrying would still retry even if the integration was disabled`", - "userLogin": "graywolf336", - "milestone": "0.55.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6491", - "title": "Convert Theme Package to JS", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6487", - "title": "Fix typo of the safari pinned tab label", - "userLogin": "qge", - "milestone": "0.55.0", - "contributors": [ - "qge", - "web-flow" - ] - }, - { - "pr": "6493", - "title": "fix channel merge option of user preferences", - "userLogin": "billtt", - "milestone": "0.55.0", - "contributors": [ - "billtt" - ] - }, - { - "pr": "6495", - "title": "converted Rocketchat logger coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "6502", - "title": "converted rocketchat-integrations coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6522", - "title": "'allow reacting' should be a toggle option.otherwise, the style will display an error", - "userLogin": "szluohua", - "milestone": "0.55.0", - "contributors": [ - "szluohua", - "web-flow" - ] - }, - { - "pr": "6280", - "title": "Clipboard [Firefox version < 50]", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6473", - "title": "Convert ui-vrecord Package to JS", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6474", - "title": "converted slashcommands-mute coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6494", - "title": "Convert Version Package to JS", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok" - ] - }, - { - "pr": "6498", - "title": "Convert Ui-Master Package to Js", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok" - ] - }, - { - "pr": "6500", - "title": "converted messageAttachment coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6503", - "title": "Convert File Package to js", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok" - ] - }, - { - "pr": "6505", - "title": "Create groups.addAll endpoint and add activeUsersOnly param.", - "userLogin": "nathanmarcos", - "milestone": "0.55.0", - "contributors": [ - "nathanmarcos", - null - ] - }, - { - "pr": "6351", - "title": "New feature: Room announcement", - "userLogin": "billtt", - "milestone": "0.55.0", - "contributors": [ - "billtt" - ] - }, - { - "pr": "6468", - "title": "converted slashcommand-me coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "6469", - "title": "converted slashcommand-join coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "6470", - "title": "converted slashcommand-leave coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6471", - "title": "convert mapview package to js", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6496", - "title": "converted getAvatarUrlFromUsername", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "6497", - "title": "converted slashcommand-invite coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "6499", - "title": "Convert Wordpress Package to js", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6501", - "title": "converted slashcommand-msg coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "6504", - "title": "rocketchat-ui coffee to js part1", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6467", - "title": "converted rocketchat-mentions coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6479", - "title": "ESLint add rule `no-void`", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6456", - "title": "Add ESLint rules `prefer-template` and `template-curly-spacing`", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6466", - "title": "Fix livechat permissions", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6457", - "title": "Add ESLint rule `object-shorthand`", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6459", - "title": "Add ESLint rules `one-var` and `no-var`", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6458", - "title": "Add ESLint rule `one-var`", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6274", - "title": "Side-nav CoffeeScript to JavaScript III ", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6277", - "title": "Flex-Tab CoffeeScript to JavaScript II", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6430", - "title": "[NEW] Permission `join-without-join-code` assigned to admins and bots by default", - "userLogin": "graywolf336", - "milestone": "0.55.0", - "contributors": [ - "graywolf336", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6420", - "title": "[NEW] Integrations, both incoming and outgoing, now have access to the models. Example: `Users.findOneById(id)`", - "userLogin": "graywolf336", - "milestone": "0.55.0", - "contributors": [ - "graywolf336", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6266", - "title": "Side-nav CoffeeScript to JavaScript II", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6035", - "title": "Allow Livechat visitors to switch the department", - "userLogin": "drallgood", - "milestone": "0.55.0", - "contributors": [ - "drallgood", - "web-flow", - "sampaiodiego" - ] - }, - { - "pr": "6122", - "title": "fix livechat widget on small screens", - "userLogin": "karlprieb", - "milestone": "0.55.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "6180", - "title": "Allow livechat managers to transfer chats", - "userLogin": "drallgood", - "milestone": "0.55.0", - "contributors": [ - "drallgood", - "web-flow" - ] - }, - { - "pr": "6257", - "title": "focus first textbox element", - "userLogin": "a5his", - "milestone": "0.55.0", - "contributors": [ - "a5his" - ] - }, - { - "pr": "6268", - "title": "Join command", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6419", - "title": "Fix visitor ending livechat if multiples still open", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6319", - "title": "Password reset Cleaner text", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6400", - "title": "Add permission check to the import methods and not just the UI", - "userLogin": "graywolf336", - "milestone": "0.55.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6409", - "title": "Max textarea height", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6413", - "title": "Livechat fix office hours order", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6449", - "title": "Convert Spotify Package to JS", - "userLogin": "MartinSchoeler", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6422", - "title": "Make favicon package easier to read.", - "userLogin": "Kiran-Rao", - "milestone": "0.55.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "6426", - "title": "Just admins can change a Default Channel to Private (the channel will be a non default channel)", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6429", - "title": "Hide email settings on Sandstorm", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6432", - "title": "Do not show reset button for hidden settings", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6427", - "title": "Convert Dolphin Package to JavaScript", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6445", - "title": "converted rocketchat-message-mark-as-unread coffee/js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6453", - "title": "converted rocketchat-slashcommands-kick coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "6450", - "title": "converted meteor-accounts-saml coffee to js", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6447", - "title": "Convert Statistics Package to JS", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6425", - "title": "Convert ChatOps Package to JavaScript", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6410", - "title": "Change all instances of Meteor.Collection for Mongo.Collection", - "userLogin": "marceloschmidt", - "milestone": "0.55.0", - "contributors": [ - "marceloschmidt" - ] - }, - { - "pr": "6278", - "title": "Flex-Tab CoffeeScript to JavaScript III", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok" - ] - }, - { - "pr": "6276", - "title": "Flex-Tab CoffeeScript to JavaScript I ", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6264", - "title": "Side-nav CoffeeScript to JavaScript", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6446", - "title": "Convert Tutum Package to JS", - "userLogin": "MartinSchoeler", - "milestone": "0.55.0", - "contributors": [ - "MartinSchoeler" + "version": 1, + "releases": { + "0.55.0-rc.0": { + "node_version": "4.7.3", + "npm_version": "4.1.2", + "pull_requests": [ + { + "pr": "6614", + "title": "Add candidate snap channel", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6597", + "title": "Add `fname` to subscriptions in memory", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "6608", + "title": "[New] Switch Snaps to use oplog", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "6576", + "title": "Convert Message Pin Package to JS", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6585", + "title": "Move room display name logic to roomType definition", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6598", + "title": "[FIX] Large files crashed browser when trying to show preview", + "userLogin": "geekgonecrazy", + "milestone": "0.55.0", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "6600", + "title": "[FIX] messageBox: put \"joinCodeRequired\" back", + "userLogin": "karlprieb", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "6594", + "title": "[FIX] Do not add default roles for users without services field", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6596", + "title": "Only configure LoggerManager on server", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6298", + "title": "POC Google Natural Language integration", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6591", + "title": "Fix recently introduced bug: OnePassword not defined", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6553", + "title": "rocketchat-lib part1", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6590", + "title": "[FIX] Accounts from LinkedIn OAuth without name", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6584", + "title": "dependencies upgrade", + "userLogin": "engelgabriel", + "milestone": "0.55.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6580", + "title": "fixed typo in readme.md", + "userLogin": "sezinkarli", + "milestone": "0.55.0", + "contributors": [ + "sezinkarli", + "web-flow" + ] + }, + { + "pr": "6565", + "title": "[NEW] Add shield.svg api route to generate custom shields/badges", + "userLogin": "alexbrazier", + "milestone": "0.55.0", + "contributors": [ + "alexbrazier" + ] + }, + { + "pr": "6575", + "title": "[FIX] Usage of subtagged languages", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "3851", + "title": "Use real name instead of username for messages and direct messages list", + "userLogin": "alexbrazier", + "milestone": "0.55.0", + "contributors": [ + "alexbrazier" + ] + }, + { + "pr": "6561", + "title": "Convert Ui-Login Package to Js", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6577", + "title": "[NEW] resolve merge share function", + "userLogin": "karlprieb", + "milestone": "0.55.0", + "contributors": [ + "tgxn", + "karlprieb" + ] + }, + { + "pr": "6551", + "title": "rocketchat-channel-settings coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "6571", + "title": "Move wordpress packages client files to client folder", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6539", + "title": "convert rocketchat-ui part 2", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6541", + "title": "rocketchat-channel-settings-mail-messages coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6574", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6567", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6562", + "title": "[FIX] UTC offset missing UTC text when positive", + "userLogin": "alexbrazier", + "milestone": "0.55.0", + "contributors": [ + "alexbrazier" + ] + }, + { + "pr": "6554", + "title": "[New] Added oauth2 userinfo endpoint", + "userLogin": "geekgonecrazy", + "milestone": "0.55.0", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "6531", + "title": "[FIX] can not get access_token when using custom oauth", + "userLogin": "fengt", + "milestone": "0.55.0", + "contributors": [ + "fengt" + ] + }, + { + "pr": "6540", + "title": "Remove Deprecated Shared Secret Package", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6542", + "title": "Remove coffeescript package from ui-sidenav", + "userLogin": "Kiran-Rao", + "milestone": "0.55.0", + "contributors": [ + "Kiran-Rao", + "web-flow" + ] + }, + { + "pr": "6543", + "title": "Remove coffeescript package from ui-flextab", + "userLogin": "Kiran-Rao", + "milestone": "0.55.0", + "contributors": [ + "Kiran-Rao", + "web-flow" + ] + }, + { + "pr": "6476", + "title": "[NEW] Two Factor Auth", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "6478", + "title": "[FIX] Outgoing webhooks which have an error and they're retrying would still retry even if the integration was disabled`", + "userLogin": "graywolf336", + "milestone": "0.55.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6491", + "title": "Convert Theme Package to JS", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6487", + "title": "Fix typo of the safari pinned tab label", + "userLogin": "qge", + "milestone": "0.55.0", + "contributors": [ + "qge", + "web-flow" + ] + }, + { + "pr": "6493", + "title": "fix channel merge option of user preferences", + "userLogin": "billtt", + "milestone": "0.55.0", + "contributors": [ + "billtt" + ] + }, + { + "pr": "6495", + "title": "converted Rocketchat logger coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "6502", + "title": "converted rocketchat-integrations coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6522", + "title": "'allow reacting' should be a toggle option.otherwise, the style will display an error", + "userLogin": "szluohua", + "milestone": "0.55.0", + "contributors": [ + "szluohua", + "web-flow" + ] + }, + { + "pr": "6280", + "title": "Clipboard [Firefox version < 50]", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6473", + "title": "Convert ui-vrecord Package to JS", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6474", + "title": "converted slashcommands-mute coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6494", + "title": "Convert Version Package to JS", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok" + ] + }, + { + "pr": "6498", + "title": "Convert Ui-Master Package to Js", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok" + ] + }, + { + "pr": "6500", + "title": "converted messageAttachment coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6503", + "title": "Convert File Package to js", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok" + ] + }, + { + "pr": "6505", + "title": "Create groups.addAll endpoint and add activeUsersOnly param.", + "userLogin": "nathanmarcos", + "milestone": "0.55.0", + "contributors": [ + "nathanmarcos", + null + ] + }, + { + "pr": "6351", + "title": "New feature: Room announcement", + "userLogin": "billtt", + "milestone": "0.55.0", + "contributors": [ + "billtt" + ] + }, + { + "pr": "6468", + "title": "converted slashcommand-me coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "6469", + "title": "converted slashcommand-join coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "6470", + "title": "converted slashcommand-leave coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6471", + "title": "convert mapview package to js", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6496", + "title": "converted getAvatarUrlFromUsername", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "6497", + "title": "converted slashcommand-invite coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "6499", + "title": "Convert Wordpress Package to js", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6501", + "title": "converted slashcommand-msg coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "6504", + "title": "rocketchat-ui coffee to js part1", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6467", + "title": "converted rocketchat-mentions coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6479", + "title": "ESLint add rule `no-void`", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6456", + "title": "Add ESLint rules `prefer-template` and `template-curly-spacing`", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6466", + "title": "Fix livechat permissions", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6457", + "title": "Add ESLint rule `object-shorthand`", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6459", + "title": "Add ESLint rules `one-var` and `no-var`", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6458", + "title": "Add ESLint rule `one-var`", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6274", + "title": "Side-nav CoffeeScript to JavaScript III ", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6277", + "title": "Flex-Tab CoffeeScript to JavaScript II", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6430", + "title": "[NEW] Permission `join-without-join-code` assigned to admins and bots by default", + "userLogin": "graywolf336", + "milestone": "0.55.0", + "contributors": [ + "graywolf336", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6420", + "title": "[NEW] Integrations, both incoming and outgoing, now have access to the models. Example: `Users.findOneById(id)`", + "userLogin": "graywolf336", + "milestone": "0.55.0", + "contributors": [ + "graywolf336", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6266", + "title": "Side-nav CoffeeScript to JavaScript II", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6035", + "title": "Allow Livechat visitors to switch the department", + "userLogin": "drallgood", + "milestone": "0.55.0", + "contributors": [ + "drallgood", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "6122", + "title": "fix livechat widget on small screens", + "userLogin": "karlprieb", + "milestone": "0.55.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "6180", + "title": "Allow livechat managers to transfer chats", + "userLogin": "drallgood", + "milestone": "0.55.0", + "contributors": [ + "drallgood", + "web-flow" + ] + }, + { + "pr": "6257", + "title": "focus first textbox element", + "userLogin": "a5his", + "milestone": "0.55.0", + "contributors": [ + "a5his" + ] + }, + { + "pr": "6268", + "title": "Join command", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6419", + "title": "Fix visitor ending livechat if multiples still open", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6319", + "title": "Password reset Cleaner text", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6400", + "title": "Add permission check to the import methods and not just the UI", + "userLogin": "graywolf336", + "milestone": "0.55.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6409", + "title": "Max textarea height", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6413", + "title": "Livechat fix office hours order", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6449", + "title": "Convert Spotify Package to JS", + "userLogin": "MartinSchoeler", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6422", + "title": "Make favicon package easier to read.", + "userLogin": "Kiran-Rao", + "milestone": "0.55.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "6426", + "title": "Just admins can change a Default Channel to Private (the channel will be a non default channel)", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6429", + "title": "Hide email settings on Sandstorm", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6432", + "title": "Do not show reset button for hidden settings", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6427", + "title": "Convert Dolphin Package to JavaScript", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6445", + "title": "converted rocketchat-message-mark-as-unread coffee/js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6453", + "title": "converted rocketchat-slashcommands-kick coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "6450", + "title": "converted meteor-accounts-saml coffee to js", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6447", + "title": "Convert Statistics Package to JS", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6425", + "title": "Convert ChatOps Package to JavaScript", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6410", + "title": "Change all instances of Meteor.Collection for Mongo.Collection", + "userLogin": "marceloschmidt", + "milestone": "0.55.0", + "contributors": [ + "marceloschmidt" + ] + }, + { + "pr": "6278", + "title": "Flex-Tab CoffeeScript to JavaScript III", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok" + ] + }, + { + "pr": "6276", + "title": "Flex-Tab CoffeeScript to JavaScript I ", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6264", + "title": "Side-nav CoffeeScript to JavaScript", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6446", + "title": "Convert Tutum Package to JS", + "userLogin": "MartinSchoeler", + "milestone": "0.55.0", + "contributors": [ + "MartinSchoeler" + ] + } + ] + }, + "0.55.0-rc.1": { + "node_version": "4.7.3", + "npm_version": "4.1.2", + "pull_requests": [ + { + "pr": "6620", + "title": "[FIX] Incorrect curl command being generated on incoming integrations", + "userLogin": "graywolf336", + "milestone": "0.55.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6617", + "title": "[FIX] arguments logger", + "userLogin": "ggazzo", + "milestone": "0.55.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6616", + "title": "[NEW] 'users.resetAvatar' rest api endpoint", + "userLogin": "graywolf336", + "milestone": "0.55.0", + "contributors": [ + "graywolf336" + ] + } + ] + }, + "0.55.0-rc.2": { + "node_version": "4.8.0", + "npm_version": "4.3.0", + "pull_requests": [ + { + "pr": "6632", + "title": "[NEW] Drupal oAuth Integration for Rocketchat", + "userLogin": "Lawri-van-Buel", + "milestone": "0.55.0", + "contributors": [ + "Lawri-van-Buel", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "6634", + "title": "[NEW] Add monitoring package", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6650", + "title": "[FIX] Improve markdown code", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6651", + "title": "[FIX] Encode avatar url to prevent CSS injection", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6649", + "title": "Added Deploy method and platform to stats", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "6648", + "title": "[FIX] Do not escaping markdown on message attachments", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6647", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.55.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6631", + "title": "meteor update", + "userLogin": "engelgabriel", + "milestone": "0.55.0", + "contributors": [ + "engelgabriel" + ] + } + ] + }, + "0.55.0-rc.3": { + "node_version": "4.8.0", + "npm_version": "4.3.0", + "pull_requests": [ + { + "pr": "6658", + "title": "[FIX] Revert unwanted UI changes", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.55.0-rc.4": { + "node_version": "4.8.0", + "npm_version": "4.3.0", + "pull_requests": [ + { + "pr": "6682", + "title": "[FIX] Fix Logger stdout publication", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6680", + "title": "[FIX] Downgrade email package to from 1.2.0 to 1.1.18", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6681", + "title": "[NEW] Expose Livechat to Incoming Integrations and allow response", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6659", + "title": "[FIX] Administrators being rate limited when editing users data", + "userLogin": "graywolf336", + "milestone": "0.55.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6674", + "title": "[FIX] Make sure username exists in findByActiveUsersExcept", + "userLogin": "geekgonecrazy", + "milestone": "0.55.0", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.55.0-rc.5": { + "node_version": "4.8.0", + "npm_version": "4.3.0", + "pull_requests": [ + { + "pr": "6686", + "title": "[FIX] Update server cache indexes on record updates", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6684", + "title": "[FIX] Allow question on OAuth token path", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6163", + "title": "Env override initial setting", + "userLogin": "mrsimpson", + "milestone": "0.55.0", + "contributors": [ + "mrsimpson", + "web-flow" + ] + }, + { + "pr": "6683", + "title": "[FIX] Error when returning undefined from incoming intergation’s script", + "userLogin": "rodrigok", + "milestone": "0.55.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.55.0-rc.6": { + "node_version": "4.8.0", + "npm_version": "4.3.0", + "pull_requests": [ + { + "pr": "6704", + "title": "[FIX] Fix message types", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.55.0": { + "node_version": "4.8.0", + "npm_version": "4.3.0", + "pull_requests": [ + { + "pr": "6709", + "title": "[FIX] emoji picker exception", + "userLogin": "gdelavald", + "milestone": "0.55.0", + "contributors": [ + "gdelavald", + "rodrigok", + "web-flow" + ] + } + ] + }, + "0.55.1": { + "node_version": "4.8.0", + "npm_version": "4.3.0", + "pull_requests": [ + { + "pr": "6734", + "title": "[Fix] Bug with incoming integration (0.55.1)", + "userLogin": "rodrigok", + "milestone": "0.55.1", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.56.0-rc.0": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "6881", + "title": "[NEW] Add a pointer cursor to message images", + "userLogin": "MartinSchoeler", + "milestone": "0.56.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6842", + "title": "[New] Snap arm support", + "userLogin": "geekgonecrazy", + "milestone": "0.56.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "6861", + "title": "[FIX] start/unstar message", + "userLogin": "karlprieb", + "milestone": "0.56.0", + "contributors": [ + null + ] + }, + { + "pr": "6858", + "title": "Meteor update", + "userLogin": "engelgabriel", + "milestone": "0.56.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6845", + "title": "[FIX] Added helper for testing if the current user matches the params", + "userLogin": "abrom", + "milestone": "0.56.0", + "contributors": [ + "abrom" + ] + }, + { + "pr": "6827", + "title": "[NEW] Make channels.info accept roomName, just like groups.info", + "userLogin": "reist", + "milestone": "0.56.0", + "contributors": [ + "reist" + ] + }, + { + "pr": "6672", + "title": "Converted rocketchat-lib 3", + "userLogin": "ggazzo", + "milestone": "0.56.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6781", + "title": "Convert Message-Star Package to js ", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6780", + "title": "Convert Mailer Package to Js", + "userLogin": "MartinSchoeler", + "milestone": "0.56.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6796", + "title": "[FIX] REST API user.update throwing error due to rate limiting", + "userLogin": "graywolf336", + "milestone": "0.56.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6797", + "title": "[NEW] Option to allow to signup as anonymous", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6816", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.56.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6807", + "title": "[NEW] create a method 'create token'", + "userLogin": "ggazzo", + "milestone": "0.56.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6804", + "title": "Missing useful fields in admin user list #5110", + "userLogin": "vlogic", + "milestone": "0.56.0", + "contributors": [ + null, + "vlogic" + ] + }, + { + "pr": "6790", + "title": "[FIX] fix german translation", + "userLogin": "sscholl", + "milestone": "0.56.0", + "contributors": [ + "sscholl", + "web-flow" + ] + }, + { + "pr": "6793", + "title": "[FIX] Improve and correct Iframe Integration help text", + "userLogin": "antgel", + "milestone": "0.56.0", + "contributors": [ + null + ] + }, + { + "pr": "6800", + "title": "[FIX] Quoted and replied messages not retaining the original message's alias", + "userLogin": "graywolf336", + "milestone": "0.56.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6798", + "title": "[FIX] Fix iframe wise issues", + "userLogin": "sampaiodiego", + "milestone": "0.56.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6747", + "title": "[FIX] Incorrect error message when creating channel", + "userLogin": "gdelavald", + "milestone": "0.56.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "6760", + "title": "[FIX] Hides nav buttons when selecting own profile", + "userLogin": "gdelavald", + "milestone": "0.56.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "6767", + "title": "[FIX] Search full name on client side", + "userLogin": "alexbrazier", + "milestone": "0.56.0", + "contributors": [ + "alexbrazier" + ] + }, + { + "pr": "6758", + "title": "[FIX] Sort by real name if use real name setting is enabled", + "userLogin": "alexbrazier", + "milestone": "0.56.0", + "contributors": [ + "alexbrazier" + ] + }, + { + "pr": "6671", + "title": "Convert Katex Package to Js", + "userLogin": "MartinSchoeler", + "milestone": "0.56.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6688", + "title": "Convert Oembed Package to Js", + "userLogin": "MartinSchoeler", + "milestone": "0.56.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6689", + "title": "Convert Mentions-Flextab Package to Js", + "userLogin": "MartinSchoeler", + "milestone": "0.56.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6768", + "title": "[FIX] CSV importer: require that there is some data in the zip, not ALL data", + "userLogin": "reist", + "milestone": "0.56.0", + "contributors": [ + "reist" + ] + }, + { + "pr": "5986", + "title": "Anonymous use", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6368", + "title": "Breaking long URLS to prevent overflow", + "userLogin": "robertdown", + "milestone": "0.56.0", + "contributors": [ + "robertdown" + ] + }, + { + "pr": "6737", + "title": "[FIX] Archiving Direct Messages", + "userLogin": "graywolf336", + "milestone": "0.56.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "5373", + "title": "[NEW] Add option on Channel Settings: Hide Notifications and Hide Unread Room Status (#2707, #2143)", + "userLogin": "marceloschmidt", + "milestone": "0.56.0", + "contributors": [ + "marceloschmidt", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6593", + "title": "Rocketchat lib2", + "userLogin": "ggazzo", + "milestone": "0.56.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6734", + "title": "[Fix] Bug with incoming integration (0.55.1)", + "userLogin": "rodrigok", + "milestone": "0.55.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6722", + "title": "[NEW] Remove lesshat", + "userLogin": "karlprieb", + "milestone": "0.56.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "6654", + "title": "disable proxy configuration", + "userLogin": "glehmann", + "milestone": "0.56.0", + "contributors": [ + "glehmann" + ] + }, + { + "pr": "6721", + "title": "[FIX] Fix Caddy by forcing go 1.7 as needed by one of caddy's dependencies", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "6694", + "title": "Convert markdown to js", + "userLogin": "ehkasper", + "milestone": "0.56.0", + "contributors": [ + "ehkasper" + ] + }, + { + "pr": "6715", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.56.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6709", + "title": "[FIX] emoji picker exception", + "userLogin": "gdelavald", + "milestone": "0.55.0", + "contributors": [ + "gdelavald", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "6692", + "title": "[NEW] Use tokenSentVia parameter for clientid/secret to token endpoint", + "userLogin": "intelradoux", + "milestone": "0.56.0", + "contributors": [ + "intelradoux" + ] + }, + { + "pr": "6706", + "title": "meteor update to 1.4.4", + "userLogin": "engelgabriel", + "milestone": "0.56.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6704", + "title": "[FIX] Fix message types", + "userLogin": "sampaiodiego", + "milestone": "0.55.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6703", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6615", + "title": "[NEW] Add a setting to not run outgoing integrations on message edits", + "userLogin": "graywolf336", + "milestone": "0.56.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6734", + "title": "[Fix] Bug with incoming integration (0.55.1)", + "userLogin": "rodrigok", + "milestone": "0.55.1", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.56.0-rc.1": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "6896", + "title": "[FIX] Users status on main menu always offline", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.56.0-rc.2": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "6923", + "title": "[FIX] Not showing unread count on electron app’s icon", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.56.0-rc.3": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "6939", + "title": "[FIX] Compile CSS color variables", + "userLogin": "karlprieb", + "milestone": "0.56.0", + "contributors": [ + null + ] + }, + { + "pr": "6938", + "title": "[NEW] Improve CI/Docker build/release", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "6940", + "title": "[NEW] Add SMTP settings for Protocol and Pool", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.56.0-rc.4": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "6953", + "title": "[NEW] Show info about multiple instances at admin page", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.56.0-rc.5": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "6955", + "title": "[FIX] Remove spaces from env PORT and INSTANCE_IP", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6935", + "title": "[Fix] Error when trying to show preview of undefined filetype", + "userLogin": "geekgonecrazy", + "milestone": "0.57.0", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.56.0-rc.6": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [] + }, + "0.56.0-rc.7": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "6968", + "title": "[FIX] make channels.create API check for create-c", + "userLogin": "reist", + "milestone": "0.56.0", + "contributors": [ + "reist" + ] + } + ] + }, + "0.56.0": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "6734", + "title": "[Fix] Bug with incoming integration (0.55.1)", + "userLogin": "rodrigok", + "milestone": "0.55.1", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.57.0-rc.0": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "7146", + "title": "Convert hipchat importer to js", + "userLogin": "rodrigok", + "milestone": "0.57.0", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "sampaiodiego", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "7145", + "title": "Convert file unsubscribe.coffee to js", + "userLogin": "rodrigok", + "milestone": "0.57.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6991", + "title": "[FIX] Fix highlightjs bug", + "userLogin": "geekgonecrazy", + "milestone": "0.57.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "6788", + "title": "[NEW] New avatar storage types", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "7095", + "title": "[BREAK] Internal hubot does not load hubot-scripts anymore, it loads scripts from custom folders", + "userLogin": "ggazzo", + "milestone": "0.57.0", + "contributors": [ + "ggazzo", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "6690", + "title": "[NEW] Show full name in mentions if use full name setting enabled", + "userLogin": "alexbrazier", + "milestone": "0.57.0", + "contributors": [ + "alexbrazier" + ] + }, + { + "pr": "7017", + "title": "Convert oauth2-server-config package to js", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "7022", + "title": "Convert irc package to js", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "7055", + "title": "Ldap: User_Data_FieldMap description", + "userLogin": "bbrauns", + "milestone": "0.57.0", + "contributors": [ + "bbrauns" + ] + }, + { + "pr": "7030", + "title": "[FIX] do only store password if LDAP_Login_Fallback is on", + "userLogin": "pmb0", + "milestone": "0.57.0", + "contributors": [ + "pmb0" + ] + }, + { + "pr": "7059", + "title": "[NEW] Increase unread message count on @here mention", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7062", + "title": "Remove Useless Jasmine Tests ", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7121", + "title": "[FIX] fix bug in preview image", + "userLogin": "ggazzo", + "milestone": "0.57.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7094", + "title": "[FIX]Fix the failing tests ", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7085", + "title": "[NEW] API method and REST Endpoint for getting a single message by id", + "userLogin": "graywolf336", + "milestone": "0.57.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7084", + "title": "[FIX] Add option to ignore TLS in SMTP server settings", + "userLogin": "colin-campbell", + "milestone": "0.57.0", + "contributors": [ + "colin-campbell" + ] + }, + { + "pr": "7072", + "title": "[FIX] Add support for carriage return in markdown code blocks", + "userLogin": "jm-factorin", + "milestone": "0.57.0", + "contributors": [ + "jm-factorin" + ] + }, + { + "pr": "7014", + "title": "[FIX] Parse HTML on admin setting's descriptions", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7018", + "title": "converted rocketchat-importer", + "userLogin": "ggazzo", + "milestone": "0.57.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7114", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7105", + "title": "[FIX] edit button on firefox", + "userLogin": "karlprieb", + "milestone": "0.57.0", + "contributors": [ + null + ] + }, + { + "pr": "7104", + "title": "[FIX] Fix missing CSS files on production builds", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + null + ] + }, + { + "pr": "7103", + "title": "[FIX] clipboard (permalink, copy, pin, star buttons)", + "userLogin": "karlprieb", + "contributors": [ + null + ] + }, + { + "pr": "7096", + "title": "Convert Livechat from Coffeescript to JavaScript", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7092", + "title": "[FIX]Fixed typo hmtl -> html", + "userLogin": "jautero", + "contributors": [ + "jautero" + ] + }, + { + "pr": "7080", + "title": "[NEW] Migration to add tags to email header and footer", + "userLogin": "karlprieb", + "milestone": "0.57.0", + "contributors": [ + null + ] + }, + { + "pr": "7025", + "title": "[FIX] Add and to header and footer", + "userLogin": "ExTechOp", + "milestone": "0.57.0", + "contributors": [ + "ExTechOp", + "web-flow" + ] + }, + { + "pr": "7033", + "title": "[FIX] Prevent Ctrl key on message field from reloading messages list", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7044", + "title": "[FIX] New screen sharing Chrome extension checking method", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6982", + "title": "[NEW] postcss parser and cssnext implementation", + "userLogin": "karlprieb", + "contributors": [ + null, + "rodrigok", + "web-flow", + "MartinSchoeler" + ] + }, + { + "pr": "7049", + "title": "[FIX] Improve Tests", + "userLogin": "MartinSchoeler", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7045", + "title": "[FIX] Fix avatar upload via users.setAvatar REST endpoint", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7023", + "title": "[FIX] Sidenav roomlist", + "userLogin": "karlprieb", + "contributors": [ + null, + "sampaiodiego" + ] + }, + { + "pr": "7012", + "title": "[FIX] video message recording dialog is shown in an incorrect position", + "userLogin": "flaviogrossi", + "milestone": "0.57.0", + "contributors": [ + "flaviogrossi" + ] + }, + { + "pr": "7006", + "title": "Rocketchat ui3", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6836", + "title": "converted rocketchat-ui coffee to js part 2", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6912", + "title": "[FIX] Remove room from roomPick setting", + "userLogin": "marceloschmidt", + "milestone": "0.57.0", + "contributors": [ + "marceloschmidt", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "6605", + "title": "[NEW] Start running unit tests", + "userLogin": "ggazzo", + "milestone": "0.57.0", + "contributors": [ + "ggazzo", + "web-flow", + "rodrigok", + "engelgabriel" + ] + }, + { + "pr": "6997", + "title": "[FIX] Parse markdown links last", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6999", + "title": "[FIX] overlapping text for users-typing-message", + "userLogin": "darkv", + "milestone": "0.57.0", + "contributors": [ + "darkv" + ] + }, + { + "pr": "7005", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6735", + "title": "rocketchat-lib[4] coffee to js", + "userLogin": "ggazzo", + "milestone": "0.57.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6987", + "title": "rocketchat-importer-slack coffee to js", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6911", + "title": "Convert ui-admin package to js", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6857", + "title": "[NEW] Make channel/group delete call answer to roomName", + "userLogin": "reist", + "milestone": "0.57.0", + "contributors": [ + "reist" + ] + }, + { + "pr": "6903", + "title": "[FIX] Updating Incoming Integration Post As Field Not Allowed", + "userLogin": "graywolf336", + "milestone": "0.57.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6972", + "title": "[FIX] Fix error handling for non-valid avatar URL", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6914", + "title": "Rocketchat ui message", + "userLogin": "ggazzo", + "milestone": "0.57.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "6921", + "title": "[New] LDAP: Use variables in User_Data_FieldMap for name mapping", + "userLogin": "bbrauns", + "milestone": "0.57.0", + "contributors": [ + "bbrauns" + ] + }, + { + "pr": "6961", + "title": "[FIX] SAML: Only set KeyDescriptor when non empty", + "userLogin": "sathieu", + "milestone": "0.57.0", + "contributors": [ + "sathieu" + ] + }, + { + "pr": "6986", + "title": "[FIX] Fix the other tests failing due chimp update", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6936", + "title": "Convert meteor-autocomplete package to js", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6795", + "title": "Convert Ui Account Package to Js", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6950", + "title": "[FIX] Fix badge counter on iOS push notifications", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6974", + "title": "[FIX] Fix login with Meteor saving an object as email address", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6840", + "title": "[FIX] Check that username is not in the room when being muted / unmuted", + "userLogin": "matthewshirley", + "milestone": "0.57.0", + "contributors": [ + "matthewshirley", + "web-flow" + ] + }, + { + "pr": "6947", + "title": "[FIX] Use AWS Signature Version 4 signed URLs for uploads", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "6978", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.57.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "6976", + "title": "fix the crashing tests", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "6968", + "title": "[FIX] make channels.create API check for create-c", + "userLogin": "reist", + "milestone": "0.56.0", + "contributors": [ + "reist" + ] + }, + { + "pr": "6775", + "title": "Convert WebRTC Package to Js", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "6935", + "title": "[Fix] Error when trying to show preview of undefined filetype", + "userLogin": "geekgonecrazy", + "milestone": "0.57.0", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "6953", + "title": "[NEW] Show info about multiple instances at admin page", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "6938", + "title": "[NEW] Improve CI/Docker build/release", + "userLogin": "rodrigok", + "milestone": "0.56.0", + "contributors": [ + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "6919", + "title": "[NEW] Feature/delete any message permission", + "userLogin": "phutchins", + "milestone": "0.57.0", + "contributors": [ + "phutchins" + ] + }, + { + "pr": "6904", + "title": "[FIX] Bugs in `isUserFromParams` helper", + "userLogin": "abrom", + "milestone": "0.57.0", + "contributors": [ + "abrom" + ] + }, + { + "pr": "6910", + "title": "[FIX] Allow image insert from slack through slackbridge", + "userLogin": "marceloschmidt", + "milestone": "0.57.0", + "contributors": [ + "marceloschmidt" + ] + }, + { + "pr": "6913", + "title": "[FIX] Slackbridge text replacements", + "userLogin": "marceloschmidt", + "milestone": "0.57.0", + "contributors": [ + "marceloschmidt" + ] + } + ] + }, + "0.57.0-rc.1": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "7157", + "title": "[FIX] Fix all reactions having the same username", + "userLogin": "MartinSchoeler", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "7154", + "title": "Remove missing CoffeeScript dependencies", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7158", + "title": "Switch logic of artifact name", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + } + ] + }, + "0.57.0-rc.2": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "7200", + "title": "[FIX] Fix editing others messages", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7208", + "title": "[FIX] Fix oembed previews not being shown", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7215", + "title": "Fix the Zapier oAuth return url to the new one", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7209", + "title": "[FIX] \"requirePasswordChange\" property not being saved when set to false", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7196", + "title": "Fix the admin oauthApps view not working", + "userLogin": "graywolf336", + "milestone": "0.57.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7160", + "title": "[FIX] Removing the kadira package install from example build script.", + "userLogin": "JSzaszvari", + "contributors": [ + "JSzaszvari", + "web-flow" + ] + }, + { + "pr": "7159", + "title": "Fix forbidden error on setAvatar REST endpoint", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7196", + "title": "Fix the admin oauthApps view not working", + "userLogin": "graywolf336", + "milestone": "0.57.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7177", + "title": "Fix mobile avatars", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.57.0-rc.3": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "7358", + "title": "[FIX] Fix user's customFields not being saved correctly", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7352", + "title": "[FIX] Improve avatar migration", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7311", + "title": "[NEW] Force use of MongoDB for spotlight queries", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7320", + "title": "[FIX] Fix jump to unread button", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7345", + "title": "[FIX] click on image in a message", + "userLogin": "ggazzo", + "milestone": "0.57.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7304", + "title": "[FIX] Proxy upload to correct instance", + "userLogin": "rodrigok", + "milestone": "0.57.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7321", + "title": "[FIX] Fix Secret Url", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + } + ] + }, + "0.57.0": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "7379", + "title": "[FIX] Message being displayed unescaped", + "userLogin": "gdelavald", + "milestone": "0.58.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "7102", + "title": "add server methods getRoomNameById", + "userLogin": "thinkeridea", + "milestone": "0.57.0", + "contributors": [ + "thinkeridea" + ] + } + ] + }, + "0.57.1": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "7428", + "title": "[FIX] Fix migration of avatars from version 0.57.0", + "userLogin": "rodrigok", + "milestone": "0.57.1", + "contributors": [ + "sampaiodiego", + "rodrigok" + ] + } + ] + }, + "0.57.2": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "7431", + "title": "[FIX] Fix Emails in User Admin View", + "userLogin": "MartinSchoeler", + "milestone": "0.57.2", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7472", + "title": "[FIX] Always set LDAP properties on login", + "userLogin": "sampaiodiego", + "milestone": "0.57.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7403", + "title": "[FIX] Fix Unread Bar Disappearing", + "userLogin": "MartinSchoeler", + "milestone": "0.57.2", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7469", + "title": "[FIX] Fix file upload on Slack import", + "userLogin": "sampaiodiego", + "milestone": "0.57.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7432", + "title": "[FIX] Fix Private Channel List Submit", + "userLogin": "MartinSchoeler", + "milestone": "0.57.2", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7443", + "title": "[FIX] S3 uploads not working for custom URLs", + "userLogin": "rodrigok", + "milestone": "0.57.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.57.3": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "7212", + "title": "[Fix] Users and Channels list not respecting permissions", + "userLogin": "graywolf336", + "milestone": "0.57.3", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7325", + "title": "[FIX] Modernize rate limiting of sendMessage", + "userLogin": "jangmarker", + "milestone": "0.57.3", + "contributors": [ + "jangmarker" + ] + }, + { + "pr": "7390", + "title": "[FIX] custom soundEdit.html", + "userLogin": "rasos", + "milestone": "0.57.3", + "contributors": [ + "rasos", + "web-flow" + ] + }, + { + "pr": "7394", + "title": "[FIX] Use UTF8 setting for /create command", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7395", + "title": "[FIX] file upload broken when running in subdirectory https://github.com…", + "userLogin": "ryoshimizu", + "milestone": "0.57.3", + "contributors": [ + "ryoshimizu" + ] + }, + { + "pr": "7444", + "title": "[FIX] Fix Anonymous User", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7533", + "title": "[FIX] Missing eventName in unUser", + "userLogin": "Darkneon", + "milestone": "0.57.3", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "7535", + "title": "[FIX] Fix Join Channel Without Preview Room Permission", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7555", + "title": "[FIX] Improve build script example", + "userLogin": "sampaiodiego", + "milestone": "0.57.3", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.57.4": { + "node_version": "4.8.2", + "npm_version": "4.5.0", + "pull_requests": [ + { + "pr": "8390", + "title": "[FIX] Slack import failing and not being able to be restarted", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8408", + "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8389", + "title": "[FIX] Add needed dependency for snaps", + "userLogin": "geekgonecrazy", + "milestone": "0.59.0-rc.12", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.58.0-rc.0": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8390", + "title": "[FIX] Slack import failing and not being able to be restarted", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8408", + "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8389", + "title": "[FIX] Add needed dependency for snaps", + "userLogin": "geekgonecrazy", + "milestone": "0.59.0-rc.12", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "7212", + "title": "[Fix] Users and Channels list not respecting permissions", + "userLogin": "graywolf336", + "milestone": "0.57.3", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7325", + "title": "[FIX] Modernize rate limiting of sendMessage", + "userLogin": "jangmarker", + "milestone": "0.57.3", + "contributors": [ + "jangmarker" + ] + }, + { + "pr": "7390", + "title": "[FIX] custom soundEdit.html", + "userLogin": "rasos", + "milestone": "0.57.3", + "contributors": [ + "rasos", + "web-flow" + ] + }, + { + "pr": "7394", + "title": "[FIX] Use UTF8 setting for /create command", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7395", + "title": "[FIX] file upload broken when running in subdirectory https://github.com…", + "userLogin": "ryoshimizu", + "milestone": "0.57.3", + "contributors": [ + "ryoshimizu" + ] + }, + { + "pr": "7444", + "title": "[FIX] Fix Anonymous User", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7533", + "title": "[FIX] Missing eventName in unUser", + "userLogin": "Darkneon", + "milestone": "0.57.3", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "7535", + "title": "[FIX] Fix Join Channel Without Preview Room Permission", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7555", + "title": "[FIX] Improve build script example", + "userLogin": "sampaiodiego", + "milestone": "0.57.3", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7624", + "title": "[FIX] Error when updating message with an empty attachment array", + "userLogin": "graywolf336", + "milestone": "0.58.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7623", + "title": "[FIX] Uploading an unknown file type erroring out", + "userLogin": "graywolf336", + "milestone": "0.58.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7622", + "title": "[FIX] Error when acessing settings before ready", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7608", + "title": "Add missing parts of `one click to direct message`", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7621", + "title": "[FIX] Message box on safari", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7620", + "title": "[FIX] The username not being allowed to be passed into the user.setAvatar", + "userLogin": "graywolf336", + "milestone": "0.58.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7613", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7617", + "title": "[FIX] Fix Custom Fields Crashing on Register", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7615", + "title": "Improve link parser using tokens", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7616", + "title": "Improve login error messages", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7595", + "title": "[NEW] Allow special chars on room names", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7594", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.58.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7479", + "title": "[NEW] Add admin and user setting for notifications #4339", + "userLogin": "stalley", + "milestone": "0.58.0", + "contributors": [ + "stalley", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "7309", + "title": "[NEW] Edit user permissions", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0", + "contributors": [ + "MartinSchoeler", + "rodrigok" + ] + }, + { + "pr": "7324", + "title": "[NEW] Adding support for piwik sub domain settings", + "userLogin": "ruKurz", + "milestone": "0.58.0", + "contributors": [ + "ruKurz" + ] + }, + { + "pr": "7578", + "title": "Improve room leader", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7582", + "title": "[FIX] Fix admin room list show the correct i18n type", + "userLogin": "ccfang", + "milestone": "0.58.0", + "contributors": [ + "ccfang", + "rodrigok" + ] + }, + { + "pr": "6753", + "title": "[NEW] Add setting to change User Agent of OEmbed calls", + "userLogin": "AhmetS", + "milestone": "0.58.0", + "contributors": [ + "AhmetS", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "7517", + "title": "[NEW] Configurable Volume for Notifications #6087", + "userLogin": "lindoelio", + "milestone": "0.58.0", + "contributors": [ + "lindoelio" + ] + }, + { + "pr": "7590", + "title": "Develop sync", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "6564", + "title": "[NEW] Add customFields in rooms/get method", + "userLogin": "borsden", + "milestone": "0.58.0", + "contributors": [ + "borsden" + ] + }, + { + "pr": "7589", + "title": "[NEW] Option to select unread count style", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7580", + "title": "[NEW] Show different shape for alert numbers when have mentions", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7533", + "title": "[FIX] Missing eventName in unUser", + "userLogin": "Darkneon", + "milestone": "0.57.3", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "7569", + "title": "[NEW] Add reaction to the last message when get the shortcut +:", + "userLogin": "danilomiranda", + "milestone": "0.58.0", + "contributors": [ + "danilomiranda", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "7513", + "title": "[Fix] Don't save user to DB when a custom field is invalid", + "userLogin": "Darkneon", + "milestone": "0.58.0", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "7538", + "title": "[FIX] URL parse error fix for issue #7169", + "userLogin": "satyapramodh", + "milestone": "0.58.0", + "contributors": [ + "satyapramodh", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "7559", + "title": "[NEW] Show emojis and file uploads on notifications", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "7561", + "title": "[NEW] Closes tab bar on mobile when leaving room", + "userLogin": "gdelavald", + "milestone": "0.58.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "7572", + "title": "[FIX] User avatar image background", + "userLogin": "filipedelimabrito", + "milestone": "0.58.0", + "contributors": [ + "filipedelimabrito", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "7564", + "title": "[NEW] Adds preference to one-click-to-direct-message and basic functionality", + "userLogin": "gdelavald", + "milestone": "0.58.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "7555", + "title": "[FIX] Improve build script example", + "userLogin": "sampaiodiego", + "milestone": "0.57.3", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7535", + "title": "[FIX] Fix Join Channel Without Preview Room Permission", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7334", + "title": "[NEW] Search users also by email in toolbar", + "userLogin": "shahar3012", + "milestone": "0.58.0", + "contributors": [ + "shahar3012" + ] + }, + { + "pr": "7326", + "title": "[NEW] Do not rate limit bots on createDirectMessage", + "userLogin": "jangmarker", + "milestone": "0.58.0", + "contributors": [ + "jangmarker" + ] + }, + { + "pr": "7214", + "title": "[NEW] Allow channel property in the integrations returned content", + "userLogin": "graywolf336", + "milestone": "0.58.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7212", + "title": "[Fix] Users and Channels list not respecting permissions", + "userLogin": "graywolf336", + "milestone": "0.57.3", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7554", + "title": "[FIX] Look for livechat visitor IP address on X-Forwarded-For header", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7556", + "title": "[BREAK] Remove Sandstorm login method", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7557", + "title": "[FIX] Revert emojione package version upgrade", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7562", + "title": "[FIX] Stop logging mentions object to console", + "userLogin": "gdelavald", + "milestone": "0.58.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "7500", + "title": "Develop sync", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "thinkeridea", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "7520", + "title": "[NEW] Add room type identifier to room list header", + "userLogin": "danischreiber", + "milestone": "0.58.0", + "contributors": [ + "danischreiber", + "sampaiodiego" + ] + }, + { + "pr": "7523", + "title": "[NEW] Room type and recipient data for global event", + "userLogin": "danischreiber", + "milestone": "0.58.0", + "contributors": [ + "danischreiber" + ] + }, + { + "pr": "7526", + "title": "[NEW] Show room leader at top of chat when user scrolls down. Set and unset leader as admin.", + "userLogin": "danischreiber", + "milestone": "0.58.0", + "contributors": [ + "danischreiber" + ] + }, + { + "pr": "7525", + "title": "[NEW] Add toolbar buttons for iframe API", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7492", + "title": "Better Issue Template", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0", + "contributors": [ + "MartinSchoeler", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "7529", + "title": "[NEW] Add close button to flex tabs", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7496", + "title": "[NEW] Update meteor to 1.5.1", + "userLogin": "engelgabriel", + "milestone": "0.58.0", + "contributors": [ + "engelgabriel", + "MartinSchoeler", + "rodrigok" + ] + }, + { + "pr": "7486", + "title": "[FIX] Fix hiding flex-tab on embedded view", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7195", + "title": "[FIX] Fix emoji picker translations", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7325", + "title": "[FIX] Modernize rate limiting of sendMessage", + "userLogin": "jangmarker", + "milestone": "0.57.3", + "contributors": [ + "jangmarker" + ] + }, + { + "pr": "7390", + "title": "[FIX] custom soundEdit.html", + "userLogin": "rasos", + "milestone": "0.57.3", + "contributors": [ + "rasos", + "web-flow" + ] + }, + { + "pr": "7394", + "title": "[FIX] Use UTF8 setting for /create command", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7395", + "title": "[FIX] file upload broken when running in subdirectory https://github.com…", + "userLogin": "ryoshimizu", + "milestone": "0.57.3", + "contributors": [ + "ryoshimizu" + ] + }, + { + "pr": "7444", + "title": "[FIX] Fix Anonymous User", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7471", + "title": "[FIX] Issue #7365: added check for the existence of a parameter in the CAS URL", + "userLogin": "wsw70", + "milestone": "0.58.0", + "contributors": [ + "wsw70" + ] + }, + { + "pr": "7392", + "title": "[FIX] Fix Word Placement Anywhere on WebHooks", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7487", + "title": "[FIX] Prevent new room status from playing when user status changes", + "userLogin": "sampaiodiego", + "milestone": "0.58.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7443", + "title": "[FIX] S3 uploads not working for custom URLs", + "userLogin": "rodrigok", + "milestone": "0.57.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7432", + "title": "[FIX] Fix Private Channel List Submit", + "userLogin": "MartinSchoeler", + "milestone": "0.57.2", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7469", + "title": "[FIX] Fix file upload on Slack import", + "userLogin": "sampaiodiego", + "milestone": "0.57.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7403", + "title": "[FIX] Fix Unread Bar Disappearing", + "userLogin": "MartinSchoeler", + "milestone": "0.57.2", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7472", + "title": "[FIX] Always set LDAP properties on login", + "userLogin": "sampaiodiego", + "milestone": "0.57.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7448", + "title": "[NEW] flex-tab now is side by side with message list", + "userLogin": "ggazzo", + "milestone": "0.58.0", + "contributors": [ + "ggazzo", + "karlprieb", + "MartinSchoeler" + ] + }, + { + "pr": "7477", + "title": "[NEW] Option to select unread count behavior", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7205", + "title": "[FIX] url click events in the cordova app open in external browser or not at all", + "userLogin": "flaviogrossi", + "milestone": "0.58.0", + "contributors": [ + "flaviogrossi" + ] + }, + { + "pr": "7431", + "title": "[FIX] Fix Emails in User Admin View", + "userLogin": "MartinSchoeler", + "milestone": "0.57.2", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7428", + "title": "[FIX] Fix migration of avatars from version 0.57.0", + "userLogin": "rodrigok", + "milestone": "0.57.1", + "contributors": [ + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "6340", + "title": "Add helm chart kubernetes deployment", + "userLogin": "pierreozoux", + "milestone": "0.58.0", + "contributors": [ + "pierreozoux" + ] + }, + { + "pr": "7404", + "title": "[FIX] sweetalert alignment on mobile", + "userLogin": "karlprieb", + "milestone": "0.58.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7376", + "title": "[FIX] Sweet-Alert modal popup position on mobile devices", + "userLogin": "Oliver84", + "milestone": "0.58.0", + "contributors": [ + "Oliver84", + "web-flow" + ] + }, + { + "pr": "7355", + "title": "[FIX] Update node-engine in Snap to latest v4 LTS relase: 4.8.3", + "userLogin": "al3x", + "milestone": "0.58.0", + "contributors": [ + "al3x" + ] + }, + { + "pr": "7354", + "title": "[FIX] Remove warning about 2FA support being unavailable in mobile apps", + "userLogin": "al3x", + "milestone": "0.58.0", + "contributors": [ + "al3x" + ] + }, + { + "pr": "7363", + "title": "Develop sync", + "userLogin": "rodrigok", + "milestone": "0.58.0", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "JSzaszvari", + "MartinSchoeler", + "graywolf336", + "sampaiodiego", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "7308", + "title": "Escape error messages", + "userLogin": "rodrigok", + "milestone": "0.57.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "7322", + "title": "[FIX] Fix geolocation button", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7207", + "title": "[FIX] Fix Block Delete Message After (n) Minutes", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7311", + "title": "[NEW] Force use of MongoDB for spotlight queries", + "userLogin": "sampaiodiego", + "milestone": "0.57.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7320", + "title": "[FIX] Fix jump to unread button", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7321", + "title": "[FIX] Fix Secret Url", + "userLogin": "MartinSchoeler", + "milestone": "0.57.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7199", + "title": "[FIX] Use I18n on \"File Uploaded\"", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7287", + "title": "update meteor to 1.5.0", + "userLogin": "engelgabriel", + "milestone": "0.58.0", + "contributors": [ + "engelgabriel", + "rodrigok" + ] + }, + { + "pr": "7215", + "title": "Fix the Zapier oAuth return url to the new one", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7209", + "title": "[FIX] \"requirePasswordChange\" property not being saved when set to false", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7211", + "title": "[New] Add instance id to response headers", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "7184", + "title": "[NEW] Add healthchecks in OpenShift templates", + "userLogin": "jfchevrette", + "contributors": [ + "jfchevrette" + ] + }, + { + "pr": "7208", + "title": "[FIX] Fix oembed previews not being shown", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7200", + "title": "[FIX] Fix editing others messages", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7187", + "title": "[FIX] Fix error on image preview due to undefined description|title ", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + } + ] + }, + "0.58.0-rc.1": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7629", + "title": "[FIX] Fix messagebox growth", + "userLogin": "sampaiodiego", + "milestone": "0.58.0-rc.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7630", + "title": "[FIX] Wrong render of snippet’s name", + "userLogin": "rodrigok", + "milestone": "0.58.0-rc.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7658", + "title": "[NEW] Add unread options for direct messages", + "userLogin": "sampaiodiego", + "milestone": "0.58.0-rc.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7687", + "title": "[FIX] Fix room load on first hit", + "userLogin": "sampaiodiego", + "milestone": "0.58.0-rc.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7644", + "title": "[FIX] Markdown noopener/noreferrer: use correct HTML attribute", + "userLogin": "jangmarker", + "milestone": "0.58.0-rc.1", + "contributors": [ + "jangmarker" + ] + }, + { + "pr": "7652", + "title": "Only use \"File Uploaded\" prefix on files", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0-rc.1", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "7639", + "title": "[FIX] Wrong email subject when \"All Messages\" setting enabled", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0-rc.1", + "contributors": [ + "MartinSchoeler", + "rodrigok" + ] + } + ] + }, + "0.58.0-rc.2": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7456", + "title": "[FIX] Csv importer: work with more problematic data", + "userLogin": "reist", + "milestone": "0.58.0-rc.2", + "contributors": [ + "reist" + ] + } + ] + }, + "0.58.0-rc.3": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7738", + "title": "[FIX] make flex-tab visible again when reduced width", + "userLogin": "geekgonecrazy", + "milestone": "0.58.0-rc.3", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.58.0": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7752", + "title": "Release 0.58.0", + "userLogin": "rodrigok", + "contributors": [ + "ryoshimizu", + "rodrigok", + "web-flow", + "MartinSchoeler", + "karlprieb", + "engelgabriel", + "sampaiodiego", + "pierreozoux", + "geekgonecrazy", + "jangmarker", + "flaviogrossi", + "ggazzo" + ] + }, + { + "pr": "7690", + "title": "Sync Master with 0.57.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7212", + "title": "[Fix] Users and Channels list not respecting permissions", + "userLogin": "graywolf336", + "milestone": "0.57.3", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "7325", + "title": "[FIX] Modernize rate limiting of sendMessage", + "userLogin": "jangmarker", + "milestone": "0.57.3", + "contributors": [ + "jangmarker" + ] + }, + { + "pr": "7390", + "title": "[FIX] custom soundEdit.html", + "userLogin": "rasos", + "milestone": "0.57.3", + "contributors": [ + "rasos", + "web-flow" + ] + }, + { + "pr": "7394", + "title": "[FIX] Use UTF8 setting for /create command", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7395", + "title": "[FIX] file upload broken when running in subdirectory https://github.com…", + "userLogin": "ryoshimizu", + "milestone": "0.57.3", + "contributors": [ + "ryoshimizu" + ] + }, + { + "pr": "7444", + "title": "[FIX] Fix Anonymous User", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7533", + "title": "[FIX] Missing eventName in unUser", + "userLogin": "Darkneon", + "milestone": "0.57.3", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "7535", + "title": "[FIX] Fix Join Channel Without Preview Room Permission", + "userLogin": "MartinSchoeler", + "milestone": "0.57.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7555", + "title": "[FIX] Improve build script example", + "userLogin": "sampaiodiego", + "milestone": "0.57.3", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.58.1": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7782", + "title": "Release 0.58.1", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7781", + "title": "[FIX] Fix flex tab not opening and getting offscreen", + "userLogin": "MartinSchoeler", + "contributors": [ + "MartinSchoeler" + ] + } + ] + }, + "0.58.2": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7841", + "title": "Release 0.58.2", + "userLogin": "geekgonecrazy", + "milestone": "0.58.2", + "contributors": [ + "snoozan", + "geekgonecrazy" + ] + } + ] + }, + "0.58.3": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [] + }, + "0.58.4": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8408", + "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8390", + "title": "[FIX] Slack import failing and not being able to be restarted", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8389", + "title": "[FIX] Add needed dependency for snaps", + "userLogin": "geekgonecrazy", + "milestone": "0.59.0-rc.12", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.59.0-rc.0": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8408", + "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8390", + "title": "[FIX] Slack import failing and not being able to be restarted", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8389", + "title": "[FIX] Add needed dependency for snaps", + "userLogin": "geekgonecrazy", + "milestone": "0.59.0-rc.12", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "7864", + "title": "[NEW] Replace message cog for vertical menu", + "userLogin": "karlprieb", + "milestone": "0.59.0", + "contributors": [ + "karlprieb", + "rodrigok" + ] + }, + { + "pr": "7865", + "title": "Mobile sidenav", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7830", + "title": "[NEW] block users to mention unknow users", + "userLogin": "ggazzo", + "milestone": "0.59.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7614", + "title": "[NEW] Allow ldap mapping of customFields", + "userLogin": "goiaba", + "milestone": "0.59.0", + "contributors": [ + "goiaba", + "web-flow" + ] + }, + { + "pr": "7853", + "title": "[NEW] Create a standard for our svg icons", + "userLogin": "karlprieb", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7565", + "title": "[NEW] Allows admin to list all groups with API", + "userLogin": "mboudet", + "contributors": [ + "mboudet", + "web-flow" + ] + }, + { + "pr": "7855", + "title": "[FIX] File upload on multi-instances using a path prefix", + "userLogin": "Darkneon", + "milestone": "0.59.0", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "7863", + "title": "[FIX] Fix migration 100", + "userLogin": "ggazzo", + "milestone": "0.59.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "7852", + "title": "[NEW] Add markdown parser \"marked\"", + "userLogin": "rodrigok", + "milestone": "0.59.0", + "contributors": [ + "nishimaki10", + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "7817", + "title": "[NEW] Audio Notification updated in sidebar", + "userLogin": "aditya19496", + "milestone": "0.59.0", + "contributors": [ + "maarten-v", + "web-flow", + "aditya19496", + "engelgabriel", + "ggazzo" + ] + }, + { + "pr": "7846", + "title": "[FIX] Email message forward error", + "userLogin": "rodrigok", + "milestone": "0.59.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7854", + "title": "[FIX] Add CSS support for Safari versions > 7", + "userLogin": "sampaiodiego", + "milestone": "0.59.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7612", + "title": "[NEW] Search users by fields defined by admin", + "userLogin": "goiaba", + "milestone": "0.59.0", + "contributors": [ + "goiaba" + ] + }, + { + "pr": "7688", + "title": "[NEW] Template to show Custom Fields in user info view", + "userLogin": "goiaba", + "milestone": "0.59.0", + "contributors": [ + "goiaba" + ] + }, + { + "pr": "7842", + "title": "npm deps update", + "userLogin": "engelgabriel", + "milestone": "0.59.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7168", + "title": "[FIX] Fix black background on transparent avatars", + "userLogin": "ggazzo", + "milestone": "0.59.0", + "contributors": [ + "ggazzo", + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "7711", + "title": "[NEW] Add room type as a class to the ul-group of rooms", + "userLogin": "danischreiber", + "milestone": "0.59.0", + "contributors": [ + "danischreiber", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "7636", + "title": "[NEW] Add classes to notification menu so they can be hidden in css", + "userLogin": "danischreiber", + "milestone": "0.59.0", + "contributors": [ + "danischreiber" + ] + }, + { + "pr": "5902", + "title": "[NEW] Adds a Keyboard Shortcut option to the flextab", + "userLogin": "cnash", + "milestone": "0.59.0", + "contributors": [ + "cnash", + "web-flow", + "karlprieb", + "rodrigok" + ] + }, + { + "pr": "7342", + "title": "[NEW] Integrated personal email gateway (GSoC'17)", + "userLogin": "pkgodara", + "milestone": "0.59.0", + "contributors": [ + "pkgodara", + "web-flow" + ] + }, + { + "pr": "7803", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.59.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7825", + "title": "[FIX] Google vision NSFW tag", + "userLogin": "marceloschmidt", + "milestone": "0.59.0", + "contributors": [ + "marceloschmidt" + ] + }, + { + "pr": "7793", + "title": "Additions to the REST API", + "userLogin": "graywolf336", + "milestone": "0.59.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "6301", + "title": "[NEW] Add tags to uploaded images using Google Cloud Vision API", + "userLogin": "marceloschmidt", + "milestone": "0.59.0", + "contributors": [ + "marceloschmidt", + "karlprieb", + "engelgabriel", + "web-flow", + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "6700", + "title": "[NEW] Package to render issue numbers into links to an issue tracker.", + "userLogin": "TobiasKappe", + "milestone": "0.59.0", + "contributors": [ + "TobiasKappe", + "TAdeJong" + ] + }, + { + "pr": "7721", + "title": "[FIX] meteor-accounts-saml issue with ns0,ns1 namespaces, makes it compatible with pysaml2 lib", + "userLogin": "arminfelder", + "milestone": "0.59.0", + "contributors": [ + "arminfelder" + ] + }, + { + "pr": "7823", + "title": "[FIX] Fix new-message button showing on search", + "userLogin": "sampaiodiego", + "milestone": "0.59.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7350", + "title": "[NEW] Automatically select the first channel", + "userLogin": "antaryami-sahoo", + "milestone": "0.59.0", + "contributors": [ + "antaryami-sahoo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "7779", + "title": "[FIX] Settings not getting applied from Meteor.settings and process.env ", + "userLogin": "Darkneon", + "milestone": "0.59.0", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "7748", + "title": "[FIX] scroll on flex-tab", + "userLogin": "ggazzo", + "milestone": "0.59.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7755", + "title": "npm deps update", + "userLogin": "engelgabriel", + "milestone": "0.59.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7728", + "title": "FIX: Error when starting local development environment", + "userLogin": "rdebeasi", + "milestone": "0.59.0", + "contributors": [ + "rdebeasi" + ] + }, + { + "pr": "7815", + "title": "[FIX] Dutch translations", + "userLogin": "maarten-v", + "contributors": [ + "maarten-v", + "web-flow" + ] + }, + { + "pr": "7814", + "title": "[FIX] Fix Dutch translation", + "userLogin": "maarten-v", + "contributors": [ + "maarten-v", + "web-flow" + ] + }, + { + "pr": "7778", + "title": "[FIX] Update Snap links", + "userLogin": "MichaelGooden", + "contributors": [ + "MichaelGooden", + "web-flow" + ] + }, + { + "pr": "7809", + "title": "[FIX] Remove redundant \"do\" in \"Are you sure ...?\" messages.", + "userLogin": "xurizaemon", + "contributors": [ + "xurizaemon" + ] + }, + { + "pr": "7758", + "title": "[FIX] Fixed function closure syntax allowing validation emails to be sent.", + "userLogin": "snoozan", + "milestone": "0.58.2", + "contributors": [ + "snoozan" + ] + }, + { + "pr": "7739", + "title": "Remove CircleCI", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7643", + "title": "[NEW] Rocket.Chat UI Redesign", + "userLogin": "MartinSchoeler", + "contributors": [ + null, + "ggazzo", + "sampaiodiego" + ] + }, + { + "pr": "7677", + "title": "Meteor packages and npm dependencies update", + "userLogin": "engelgabriel", + "milestone": "0.59.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7456", + "title": "[FIX] Csv importer: work with more problematic data", + "userLogin": "reist", + "milestone": "0.58.0-rc.2", + "contributors": [ + "reist" + ] + }, + { + "pr": "7656", + "title": "[FIX] Fix avatar upload fail on Cordova app", + "userLogin": "ccfang", + "milestone": "0.58.0", + "contributors": [ + "ccfang" + ] + }, + { + "pr": "7679", + "title": "[FIX] Make link inside YouTube preview open in new tab", + "userLogin": "1lann", + "milestone": "0.59.0", + "contributors": [ + "1lann", + "web-flow" + ] + }, + { + "pr": "7664", + "title": "[MOVE] Client folder rocketchat-colors", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7665", + "title": "[MOVE] Client folder rocketchat-custom-oauth", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7666", + "title": "[MOVE] Client folder rocketchat-tooltip", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7667", + "title": "[MOVE] Client folder rocketchat-autolinker", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7668", + "title": "[MOVE] Client folder rocketchat-cas", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7669", + "title": "[MOVE] Client folder rocketchat-highlight-words", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7670", + "title": "[MOVE] Client folder rocketchat-custom-sounds", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7671", + "title": "[MOVE] Client folder rocketchat-emoji", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7672", + "title": "[FIX] Remove references to non-existent tests", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7673", + "title": "[FIX] Example usage of unsubscribe.js", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0", + "contributors": [ + "Kiran-Rao" + ] + }, + { + "pr": "7639", + "title": "[FIX] Wrong email subject when \"All Messages\" setting enabled", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0-rc.1", + "contributors": [ + "MartinSchoeler", + "rodrigok" + ] + }, + { + "pr": "7652", + "title": "Only use \"File Uploaded\" prefix on files", + "userLogin": "MartinSchoeler", + "milestone": "0.58.0-rc.1", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "7644", + "title": "[FIX] Markdown noopener/noreferrer: use correct HTML attribute", + "userLogin": "jangmarker", + "milestone": "0.58.0-rc.1", + "contributors": [ + "jangmarker" + ] + }, + { + "pr": "7687", + "title": "[FIX] Fix room load on first hit", + "userLogin": "sampaiodiego", + "milestone": "0.58.0-rc.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7658", + "title": "[NEW] Add unread options for direct messages", + "userLogin": "sampaiodiego", + "milestone": "0.58.0-rc.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7661", + "title": "Fix typo in generated URI", + "userLogin": "Rohlik", + "contributors": [ + "Rohlik", + "web-flow" + ] + }, + { + "pr": "7625", + "title": "Bump version to 0.59.0-develop", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7630", + "title": "[FIX] Wrong render of snippet’s name", + "userLogin": "rodrigok", + "milestone": "0.58.0-rc.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7629", + "title": "[FIX] Fix messagebox growth", + "userLogin": "sampaiodiego", + "milestone": "0.58.0-rc.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "2", + "title": "implemented new page-loader animated icon", + "userLogin": "rcaferati", + "contributors": [ + null + ] + } + ] + }, + "0.59.0-rc.1": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7880", + "title": "[FIX] sidebar paddings", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7878", + "title": "[FIX] Adds default search text padding for emoji search", + "userLogin": "gdelavald", + "milestone": "0.59.0-rc.1", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "7881", + "title": "[FIX] search results position on sidebar", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7882", + "title": "[FIX] hyperlink style on sidebar footer", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7883", + "title": "[FIX] popover position on mobile", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7885", + "title": "[FIX] message actions over unread bar", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7886", + "title": "[FIX] livechat icon", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7887", + "title": "[FIX] Makes text action menu width based on content size", + "userLogin": "gdelavald", + "milestone": "0.59.0-rc.1", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "7888", + "title": "[FIX] sidebar buttons and badge paddings", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + } + ] + }, + "0.59.0-rc.2": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7912", + "title": "[FIX] Fix google play logo on repo README", + "userLogin": "luizbills", + "milestone": "0.59.0-rc.2", + "contributors": [ + "luizbills", + "web-flow" + ] + }, + { + "pr": "7904", + "title": "[FIX] Fix livechat toggle UI issue", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7895", + "title": "[FIX] Remove break change in Realtime API", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7894", + "title": "Hide flex-tab close button", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.2", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7893", + "title": "[FIX] Window exception when parsing Markdown on server", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.0-rc.3": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7985", + "title": "[FIX] Text area buttons and layout on mobile ", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.3", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "7927", + "title": "[FIX] Double scroll on 'keyboard shortcuts' menu in sidepanel", + "userLogin": "aditya19496", + "milestone": "0.59.0-rc.3", + "contributors": [ + "aditya19496" + ] + }, + { + "pr": "7944", + "title": "[FIX] Broken embedded view layout", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7986", + "title": "[FIX] Textarea on firefox", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.3", + "contributors": [ + "MartinSchoeler", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "7984", + "title": "[FIX] Chat box no longer auto-focuses when typing", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7971", + "title": "[FIX] Add padding on messages to allow space to the action buttons", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.3", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7970", + "title": "[FIX] Small alignment fixes", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.3", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7965", + "title": "[FIX] Markdown being rendered in code tags", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7963", + "title": "[FIX] Fix the status on the members list", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7960", + "title": "[FIX] status and active room colors on sidebar", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7954", + "title": "[FIX] OTR buttons padding", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7953", + "title": "[FIX] username ellipsis on firefox", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7948", + "title": "[FIX] Document README.md. Drupal repo out of date", + "userLogin": "Lawri-van-Buel", + "milestone": "0.59.0-rc.3", + "contributors": [ + "Lawri-van-Buel" + ] + }, + { + "pr": "7945", + "title": "[FIX] Fix placeholders in account profile", + "userLogin": "josiasds", + "milestone": "0.59.0-rc.3", + "contributors": [ + "josiasds" + ] + }, + { + "pr": "7943", + "title": "[FIX] Broken emoji picker on firefox", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7942", + "title": "[FIX] Create channel button on Firefox", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7941", + "title": "Update BlackDuck URL", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.3", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "7909", + "title": "[DOCS] Add native mobile app links into README and update button images", + "userLogin": "rafaelks", + "milestone": "0.59.0-rc.3", + "contributors": [ + "rafaelks", + "web-flow" + ] + }, + { + "pr": "7712", + "title": "[FIX] Show leader on first load", + "userLogin": "danischreiber", + "milestone": "0.59.0-rc.3", + "contributors": [ + "danischreiber", + "rodrigok" + ] + } + ] + }, + "0.59.0-rc.4": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "7988", + "title": "[FIX] Vertical menu on flex-tab", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.4", + "contributors": [ + "ggazzo", + "karlprieb" + ] + }, + { + "pr": "8048", + "title": "[FIX] Invisible leader bar on hover", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.4", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "8046", + "title": "[FIX] Prevent autotranslate tokens race condition", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.4", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8039", + "title": "[FIX] copy to clipboard and update clipboard.js library", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8019", + "title": "[FIX] message-box autogrow", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8018", + "title": "[FIX] search results height", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.4", + "contributors": [ + "karlprieb", + "gdelavald" + ] + }, + { + "pr": "8017", + "title": "[FIX] room icon on header", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8014", + "title": "[FIX] Hide scrollbar on login page if not necessary", + "userLogin": "alexbrazier", + "milestone": "0.59.0-rc.4", + "contributors": [ + "alexbrazier" + ] + }, + { + "pr": "8001", + "title": "[FIX] Error when translating message", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.4", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7998", + "title": "[FIX] Recent emojis not updated when adding via text", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.4", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7989", + "title": "[FIX][PL] Polish translation", + "userLogin": "Rzeszow", + "milestone": "0.59.0-rc.4", + "contributors": [ + "Rzeszow", + "web-flow" + ] + }, + { + "pr": "7754", + "title": "[FIX] Fix email on mention", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.4", + "contributors": [ + "MartinSchoeler" + ] + } + ] + }, + "0.59.0-rc.5": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8112", + "title": "[FIX] RTL", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.5", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8101", + "title": "[FIX] Dynamic popover", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.5", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8122", + "title": "[FIX] Settings description not showing", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.5", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8099", + "title": "[FIX] Fix setting user avatar on LDAP login", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.5", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8059", + "title": "[FIX] Not sending email to mentioned users with unchanged preference", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.5", + "contributors": [ + "MartinSchoeler", + "sampaiodiego" + ] + }, + { + "pr": "8054", + "title": "Remove unnecessary returns in cors common", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0-rc.5", + "contributors": [ + "Kiran-Rao", + "web-flow" + ] + }, + { + "pr": "8047", + "title": "[FIX] Scroll on messagebox", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.5", + "contributors": [ + "MartinSchoeler" + ] + } + ] + }, + "0.59.0-rc.6": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8172", + "title": "[FIX] Allow unknown file types if no allowed whitelist has been set (#7074)", + "userLogin": "TriPhoenix", + "milestone": "0.59.0-rc.6", + "contributors": [ + "TriPhoenix" + ] + }, + { + "pr": "8167", + "title": "[FIX] Issue #8166 where empty analytics setting breaks to load Piwik script", + "userLogin": "ruKurz", + "milestone": "0.59.0-rc.6", + "contributors": [ + "ruKurz" + ] + }, + { + "pr": "8154", + "title": "[FIX] Sidebar and RTL alignments", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.6", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8147", + "title": "[FIX] \"*.members\" rest api being useless and only returning usernames", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.6", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8146", + "title": "[FIX] Fix iframe login API response (issue #8145)", + "userLogin": "astax-t", + "milestone": "0.59.0-rc.6", + "contributors": [ + "astax-t" + ] + }, + { + "pr": "8159", + "title": "[FIX] Text area lost text when page reloads", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.6", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8144", + "title": "[FIX] Fix new room sound being played too much", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.6", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8094", + "title": "[FIX] Add admin audio preferences translations", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.6", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8073", + "title": "[NEW] Upgrade to meteor 1.5.2", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.6", + "contributors": [ + "engelgabriel" + ] + } + ] + }, + "0.59.0-rc.7": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8213", + "title": "[FIX] Leave and hide buttons was removed", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.7", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8211", + "title": "[FIX] Incorrect URL for login terms when using prefix", + "userLogin": "Darkneon", + "milestone": "0.59.0-rc.7", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "8210", + "title": "[FIX] User avatar in DM list.", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.7", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8197", + "title": "npm deps update", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.7", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8194", + "title": "Fix more rtl issues", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.7", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8190", + "title": "[FIX] Scrollbar not using new style", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.7", + "contributors": [ + "ggazzo", + "rodrigok" + ] + } + ] + }, + "0.59.0-rc.8": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8253", + "title": "readme-file: fix broken link", + "userLogin": "vcapretz", + "milestone": "0.59.0-rc.8", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8257", + "title": "[FIX] sidenav colors, hide and leave, create channel on safari", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.8", + "contributors": [ + "ggazzo", + "karlprieb", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8262", + "title": "[FIX] make sidebar item animation fast", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.8", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8261", + "title": "[FIX] RTL on reply", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.8", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8260", + "title": "[NEW] Enable read only channel creation", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.8", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8259", + "title": "[FIX] clipboard and permalink on new popover", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.8", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8252", + "title": "[FIX] sidenav mentions on hover", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.8", + "contributors": [ + "ggazzo", + "karlprieb" + ] + }, + { + "pr": "8244", + "title": "Disable perfect scrollbar", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.8", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8243", + "title": "Fix `leave and hide` click, color and position", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.8", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8241", + "title": "[FIX] Api groups.files is always returning empty", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.8", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8216", + "title": "[FIX] Case insensitive SAML email check", + "userLogin": "arminfelder", + "milestone": "0.59.0-rc.8", + "contributors": [ + "arminfelder" + ] + } + ] + }, + "0.59.0-rc.9": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8310", + "title": "[FIX] Execute meteor reset on TRAVIS_TAG builds", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.9", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8307", + "title": "[FIX] Call buttons with wrong margin on RTL", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.9", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8304", + "title": "[NEW] Add RD Station integration to livechat", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.9", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8300", + "title": "[FIX] Emoji Picker hidden for reactions in RTL", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.9", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8299", + "title": " [FIX] Amin menu not showing all items & File list breaking line", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.9", + "contributors": [ + "ggazzo", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "8298", + "title": "[FIX] TypeError: Cannot read property 't' of undefined", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.9", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8296", + "title": "[FIX] Wrong file name when upload to AWS S3", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.9", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8295", + "title": "[FIX] Check attachments is defined before accessing first element", + "userLogin": "Darkneon", + "milestone": "0.59.0-rc.9", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "8286", + "title": "[FIX] Missing placeholder translations", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.9", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8282", + "title": "[FIX] fix color on unread messages", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.9", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8278", + "title": "[FIX] \"Cancel button\" on modal in RTL in Firefox 55", + "userLogin": "cyclops24", + "milestone": "0.59.0-rc.9", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8273", + "title": "Deps update", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.9", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8271", + "title": "[FIX] Attachment icons alignment in LTR and RTL", + "userLogin": "cyclops24", + "milestone": "0.59.0-rc.9", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8270", + "title": "[FIX] [i18n] My Profile & README.md links", + "userLogin": "Rzeszow", + "milestone": "0.59.0-rc.9", + "contributors": [ + "Rzeszow", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "8269", + "title": "[FIX] some placeholder and phrase traslation fix", + "userLogin": "cyclops24", + "milestone": "0.59.0-rc.9", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8266", + "title": "[FIX] \"Channel Setting\" buttons alignment in RTL", + "userLogin": "cyclops24", + "milestone": "0.59.0-rc.9", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8237", + "title": "[FIX] Removing pipe and commas from custom emojis (#8168)", + "userLogin": "matheusml", + "milestone": "0.59.0-rc.9", + "contributors": [ + "matheusml" + ] + } + ] + }, + "0.59.0-rc.10": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8355", + "title": "Update meteor to 1.5.2.2-rc.0", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.10", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8314", + "title": "[FIX] After deleting the room, cache is not synchronizing", + "userLogin": "szluohua", + "milestone": "0.59.0-rc.10", + "contributors": [ + "szluohua" + ] + }, + { + "pr": "8334", + "title": "[FIX] Remove sidebar header on admin embedded version", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.10", + "contributors": [ + "karlprieb", + "web-flow" + ] + }, + { + "pr": "8331", + "title": "[FIX-RC] Mobile file upload not working", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.10", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8317", + "title": "[FIX] Email Subjects not being sent", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.10", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "8315", + "title": "[FIX] Put delete action on another popover group", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.10", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8316", + "title": "[FIX] Mention unread indicator was removed", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.10", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.0-rc.11": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8375", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.11", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8372", + "title": "[FIX] Various LDAP issues & Missing pagination", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.11", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8364", + "title": "Update Meteor to 1.5.2.2", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.11", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8363", + "title": "Sync translations from LingoHub", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.11", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8358", + "title": "[FIX] remove accountBox from admin menu", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.11", + "contributors": [ + "engelgabriel", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "8361", + "title": "[NEW] Unify unread and mentions badge", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.11", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8362", + "title": "[NEW] make sidebar item width 100%", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.11", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8360", + "title": "[NEW] Smaller accountBox", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.11", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8357", + "title": "[FIX] Missing i18n translations", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.11", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "8345", + "title": "Remove field `lastActivity` from subscription data", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.11", + "contributors": [ + "ggazzo" + ] + } + ] + }, + "0.59.0-rc.12": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8416", + "title": "Fix: Account menu position on RTL", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.12", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8417", + "title": "Fix: Missing LDAP option to show internal logs", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.12", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8414", + "title": "Fix: Missing LDAP reconnect setting", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.12", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8389", + "title": "[FIX] Add needed dependency for snaps", + "userLogin": "geekgonecrazy", + "milestone": "0.59.0-rc.12", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "8390", + "title": "[FIX] Slack import failing and not being able to be restarted", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8397", + "title": "[FIX] Sidebar item menu position in RTL", + "userLogin": "cyclops24", + "milestone": "0.59.0-rc.12", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8386", + "title": "[FIX] disabled katex tooltip on messageBox", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.12", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8394", + "title": "Add i18n Title to snippet messages", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.12", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "8408", + "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8398", + "title": "Fix: Missing settings to configure LDAP size and page limits", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.12", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.0-rc.13": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8459", + "title": "[NEW] Setting to disable MarkDown and enable AutoLinker", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.13", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8457", + "title": "[FIX] LDAP memory issues when pagination is not available", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.13", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8451", + "title": "Improve markdown parser code", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.13", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.0-rc.14": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8515", + "title": "Change artifact path", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "8463", + "title": "Color variables migration", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.14", + "contributors": [ + "ggazzo", + "rodrigok", + "karlprieb" + ] + }, + { + "pr": "8516", + "title": "Fix: Change password not working in new UI", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8514", + "title": "[FIX] Uncessary route reload break some routes", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8491", + "title": "[FIX] Invalid Code message for password protected channel", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8489", + "title": "[FIX] Wrong message when reseting password and 2FA is enabled", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8490", + "title": "Enable AutoLinker back", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.0-rc.15": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8518", + "title": "Fix artifact path", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "8520", + "title": "Fix high CPU load when sending messages on large rooms (regression)", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.0-rc.16": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8527", + "title": "[FIX] Do not send joinCode field to clients", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.59.0-rc.17": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8529", + "title": "Improve room sync speed", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.0": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8420", + "title": "Merge 0.58.4 to master", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8335", + "title": "0.58.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8408", + "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8390", + "title": "[FIX] Slack import failing and not being able to be restarted", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8389", + "title": "[FIX] Add needed dependency for snaps", + "userLogin": "geekgonecrazy", + "milestone": "0.59.0-rc.12", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.59.1": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8543", + "title": "[FIX] Color reset when default value editor is different", + "userLogin": "rodrigok", + "milestone": "0.59.1", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "8547", + "title": "[FIX] Wrong colors after migration 103", + "userLogin": "rodrigok", + "milestone": "0.59.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8541", + "title": "[FIX] LDAP login error regression at 0.59.0", + "userLogin": "rodrigok", + "milestone": "0.59.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8544", + "title": "[FIX] Migration 103 wrong converting primrary colors", + "userLogin": "rodrigok", + "milestone": "0.59.1", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.2": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8637", + "title": "[FIX] Missing scroll at create channel page", + "userLogin": "karlprieb", + "milestone": "0.59.2", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8634", + "title": "[FIX] Message popup menu on mobile/cordova", + "userLogin": "karlprieb", + "milestone": "0.59.2", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8635", + "title": "[FIX] API channel/group.members not sorting", + "userLogin": "rodrigok", + "milestone": "0.59.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8613", + "title": "[FIX] LDAP not merging existent users && Wrong id link generation", + "userLogin": "rodrigok", + "milestone": "0.59.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8551", + "title": "[FIX] encode filename in url to prevent links breaking", + "userLogin": "joesitton", + "milestone": "0.59.2", + "contributors": [ + "joesitton", + "web-flow" + ] + }, + { + "pr": "8577", + "title": "[FIX] Fix guest pool inquiry taking", + "userLogin": "sampaiodiego", + "milestone": "0.59.2", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.59.3": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8593", + "title": "[FIX] AmazonS3: Quote file.name for ContentDisposition for files with commas", + "userLogin": "xenithorb", + "milestone": "0.59.3", + "contributors": [ + "xenithorb" + ] + }, + { + "pr": "8434", + "title": "removing a duplicate line", + "userLogin": "vikaskedia", + "milestone": "0.59.3", + "contributors": [ + "vikaskedia", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8645", + "title": "[FIX] Fix e-mail message forward", + "userLogin": "sampaiodiego", + "milestone": "0.59.3", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "8648", + "title": "[FIX] Audio message icon", + "userLogin": "karlprieb", + "milestone": "0.59.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8431", + "title": "[FIX] Highlighted color height issue", + "userLogin": "cyclops24", + "milestone": "0.59.3", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8655", + "title": "[FIX] Update pt-BR translation", + "userLogin": "rodorgas", + "milestone": "0.59.3", + "contributors": [ + "rodorgas" + ] + }, + { + "pr": "8679", + "title": "[FIX] Fix typos", + "userLogin": "sampaiodiego", + "milestone": "0.59.3", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "8653", + "title": "install grpc package manually to fix snap armhf build", + "userLogin": "geekgonecrazy", + "milestone": "0.59.3", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "8691", + "title": "[FIX] LDAP not respecting UTF8 characters & Sync Interval not working", + "userLogin": "rodrigok", + "milestone": "0.59.3", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.59.4": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8967", + "title": "Release/0.59.4", + "userLogin": "geekgonecrazy", + "contributors": [ + "cpitman", + "geekgonecrazy", + "karlprieb", + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "8685", + "title": "Add CircleCI", + "userLogin": "rodrigok", + "contributors": [ + "sampaiodiego", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8753", + "title": "[FIX] Channel settings buttons", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "geekgonecrazy", + "web-flow", + "rodrigok" + ] + } + ] + }, + "0.59.5": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8972", + "title": "Fix CircleCI deploy filter", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.59.6": { + "node_version": "4.8.4", + "npm_version": "4.6.1", + "pull_requests": [ + { + "pr": "8973", + "title": "Fix tag build", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.60.0-rc.0": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9084", + "title": "Fix tag build", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7285", + "title": "[NEW] Allow user's default preferences configuration", + "userLogin": "goiaba", + "milestone": "0.60.0", + "contributors": [ + "goiaba", + "web-flow" + ] + }, + { + "pr": "8925", + "title": "[FIX] Can't react on Read Only rooms even when enabled", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9068", + "title": "Turn off prettyJson if the node environment isn't development", + "userLogin": "graywolf336", + "milestone": "0.60.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "9049", + "title": "Fix api regression (exception when deleting user)", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8654", + "title": "[FIX] CAS does not share secrets when operating multiple server instances", + "userLogin": "AmShaegar13", + "milestone": "0.60.0", + "contributors": [ + "AmShaegar13" + ] + }, + { + "pr": "8937", + "title": "[FIX] Snippetted messages not working", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8915", + "title": "[NEW] Add \"Favorites\" and \"Mark as read\" options to the room list", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8807", + "title": "[NEW] Facebook livechat integration", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego", + "ggazzo", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9022", + "title": "[FIX] Added afterUserCreated trigger after first CAS login", + "userLogin": "AmShaegar13", + "milestone": "0.60.0", + "contributors": [ + "AmShaegar13" + ] + }, + { + "pr": "8902", + "title": "[NEW] Added support for Dataporten's userid-feide scope", + "userLogin": "torgeirl", + "milestone": "0.60.0", + "contributors": [ + "torgeirl", + "web-flow" + ] + }, + { + "pr": "8828", + "title": "[FIX] Notification is not sent when a video conference start", + "userLogin": "seainside75", + "milestone": "0.60.0", + "contributors": [ + "stefanoverducci", + "deepseainside75" + ] + }, + { + "pr": "8868", + "title": "[FIX] long filename overlaps cancel button in progress bar", + "userLogin": "joesitton", + "milestone": "0.60.0", + "contributors": [ + "joesitton", + "web-flow" + ] + }, + { + "pr": "8924", + "title": "[NEW] Describe file uploads when notifying by email", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9012", + "title": "[FIX] Changed oembedUrlWidget to prefer og:image and twitter:image over msapplication-TileImage", + "userLogin": "wferris722", + "milestone": "0.60.0", + "contributors": [ + "wferris722", + "web-flow" + ] + }, + { + "pr": "9046", + "title": "[FIX] Update insecure moment.js dependency", + "userLogin": "robbyoconnor", + "milestone": "0.60.0", + "contributors": [ + "robbyoconnor" + ] + }, + { + "pr": "8149", + "title": "[NEW] Feature/livechat hide email", + "userLogin": "icosamuel", + "milestone": "0.60.0", + "contributors": [ + "sarbasamuel", + "icosamuel", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "7999", + "title": "[NEW] Sender's name in email notifications.", + "userLogin": "pkgodara", + "milestone": "0.60.0", + "contributors": [ + "pkgodara", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "7922", + "title": "Use real names for user and room in emails", + "userLogin": "danischreiber", + "milestone": "0.60.0", + "contributors": [ + "danischreiber", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9034", + "title": "[FIX] Custom OAuth: Not able to set different token place for routes", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9044", + "title": "[FIX] Can't use OAuth login against a Rocket.Chat OAuth server", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy", + "graywolf336", + "web-flow" + ] + }, + { + "pr": "9042", + "title": "[FIX] Notification sound is not disabling when busy", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8739", + "title": "[NEW] Add \"real name change\" setting", + "userLogin": "AmShaegar13", + "milestone": "0.60.0", + "contributors": [ + "AmShaegar13" + ] + }, + { + "pr": "8433", + "title": "[NEW] Use enter separator rather than comma in highlight preferences + Auto refresh after change highlighted words", + "userLogin": "cyclops24", + "milestone": "0.60.0", + "contributors": [ + "cyclops24", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "7641", + "title": "[NEW] Adds admin option to globally set mobile devices to always be notified regardless of presence status.", + "userLogin": "stalley", + "milestone": "0.60.0", + "contributors": [ + "stalley", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9024", + "title": "[FIX] Use encodeURI in AmazonS3 contentDisposition file.name to prevent fail", + "userLogin": "paulovitin", + "milestone": "0.60.0", + "contributors": [ + "paulovitin", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9029", + "title": "[FIX] snap install by setting grpc package used by google/vision to 1.6.6", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "8142", + "title": "[MOVE] Move mentions files to client/server", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8947", + "title": "[NEW] Add new API endpoints", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok", + "graywolf336", + "web-flow" + ] + }, + { + "pr": "8671", + "title": "[FIX] Enable CORS for Restivus", + "userLogin": "mrsimpson", + "milestone": "0.60.0", + "contributors": [ + "mrsimpson", + "engelgabriel", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8966", + "title": "[FIX] Importers failing when usernames exists but cases don't match and improve the importer framework's performance", + "userLogin": "graywolf336", + "milestone": "0.60.0", + "contributors": [ + "graywolf336", + "geekgonecrazy", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9023", + "title": "[FIX] Error when saving integration with symbol as only trigger", + "userLogin": "graywolf336", + "milestone": "0.60.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8006", + "title": "[FIX] Sync of non existent field throws exception", + "userLogin": "goiaba", + "milestone": "0.60.0", + "contributors": [ + "goiaba", + "web-flow" + ] + }, + { + "pr": "9018", + "title": "Update multiple-instance-status package", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9007", + "title": "Use redhat official image with openshift", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "8107", + "title": "[FIX] Autoupdate of CSS does not work when using a prefix", + "userLogin": "Darkneon", + "milestone": "0.60.0", + "contributors": [ + "Darkneon", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8656", + "title": "[FIX] Contextual errors for this and RegExp declarations in IRC module", + "userLogin": "Pharserror", + "milestone": "0.60.0", + "contributors": [ + "Pharserror", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8029", + "title": "[NEW] Option to enable/disable auto away and configure timer", + "userLogin": "armand1m", + "milestone": "0.60.0", + "contributors": [ + "armand1m", + null, + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9013", + "title": "[FIX] Wrong room counter name", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8975", + "title": "Added d2c.io to deployment", + "userLogin": "mastappl", + "contributors": [ + "mastappl", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "8882", + "title": "[NEW] New Modal component", + "userLogin": "ggazzo", + "milestone": "0.60.0", + "contributors": [ + "ggazzo", + "web-flow", + "karlprieb" + ] + }, + { + "pr": "8932", + "title": "[FIX] Message-box autogrow flick", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9009", + "title": "[NEW] Improve room types API and usages", + "userLogin": "graywolf336", + "milestone": "0.60.0", + "contributors": [ + "mrsimpson", + "graywolf336" + ] + }, + { + "pr": "8812", + "title": "[FIX] Don't strip trailing slash on autolinker urls", + "userLogin": "jwilkins", + "milestone": "0.60.0", + "contributors": [ + "jwilkins", + "web-flow" + ] + }, + { + "pr": "8831", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8866", + "title": "[NEW] Room counter sidebar preference", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8883", + "title": "[FIX] Change the unread messages style", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8884", + "title": "[FIX] Missing sidebar footer padding", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8907", + "title": "[FIX] Long room announcement cut off", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8917", + "title": "[FIX] DM email notifications always being sent regardless of account setting", + "userLogin": "ashward", + "milestone": "0.60.0", + "contributors": [ + null, + "ashward", + "web-flow" + ] + }, + { + "pr": "8938", + "title": "[FIX] Typo Fix", + "userLogin": "seangeleno", + "milestone": "0.60.0", + "contributors": [ + "seangeleno", + "web-flow" + ] + }, + { + "pr": "8948", + "title": "[FIX] Katex markdown link changed", + "userLogin": "mritunjaygoutam12", + "milestone": "0.60.0", + "contributors": [ + "mritunjaygoutam12", + "web-flow" + ] + }, + { + "pr": "8979", + "title": "[NEW] Save room's last message", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego", + "karlprieb", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9000", + "title": "[FIX] if ogImage exists use it over image in oembedUrlWidget", + "userLogin": "satyapramodh", + "milestone": "0.60.0", + "contributors": [ + "satyapramodh" + ] + }, + { + "pr": "8060", + "title": "[NEW] Token Controlled Access channels", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "lindoelio", + "sampaiodiego", + "web-flow", + "karlprieb" + ] + }, + { + "pr": "8889", + "title": "[FIX] Cannot edit or delete custom sounds", + "userLogin": "ccfang", + "milestone": "0.60.0", + "contributors": [ + "ccfang", + "web-flow" + ] + }, + { + "pr": "8928", + "title": "[FIX] Change old 'rocketbot' username to 'InternalHubot_Username' setting", + "userLogin": "ramrami", + "milestone": "0.60.0", + "contributors": [ + "ramrami", + "web-flow" + ] + }, + { + "pr": "8985", + "title": "[FIX] Link for channels are not rendering correctly", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "web-flow" + ] + }, + { + "pr": "8968", + "title": "[FIX] Xenforo [BD]API for 'user.user_id; instead of 'id'", + "userLogin": "wesnspace", + "milestone": "0.60.0", + "contributors": [ + "wesnspace", + "web-flow" + ] + }, + { + "pr": "8994", + "title": "[FIX] flextab height on smaller screens", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8931", + "title": "[FIX] Check for mention-all permission in room scope", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8905", + "title": "[NEW] Send category and title fields to iOS push notification", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8981", + "title": "Fix snap download url", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "8753", + "title": "[FIX] Channel settings buttons", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "geekgonecrazy", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8906", + "title": "Add a few dots in readme.md", + "userLogin": "dusta", + "contributors": [ + "dusta", + "web-flow" + ] + }, + { + "pr": "8872", + "title": "Changed wording for \"Maximum Allowed Message Size\"", + "userLogin": "HammyHavoc", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "8822", + "title": "[FIX] fix emoji package path so they show up correctly in browser", + "userLogin": "ryoshimizu", + "milestone": "0.60.0", + "contributors": [ + "ryoshimizu" + ] + }, + { + "pr": "8857", + "title": "[NEW] code to get the updated messages", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8862", + "title": "Fix Docker image build", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8531", + "title": "[NEW] Rest API endpoints to list, get, and run commands", + "userLogin": "graywolf336", + "milestone": "0.60.0", + "contributors": [ + "graywolf336", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8830", + "title": "[FIX] Set correct Twitter link", + "userLogin": "jotafeldmann", + "contributors": [ + "jotafeldmann", + "web-flow" + ] + }, + { + "pr": "8829", + "title": "Fix link to .asc file on S3", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8820", + "title": "Bump version to 0.60.0-develop", + "userLogin": "geekgonecrazy", + "contributors": [ + "rodrigok", + "karlprieb", + "gdelavald", + "ggazzo", + "engelgabriel" + ] + }, + { + "pr": "8819", + "title": "Update path for s3 redirect in circle ci", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "8810", + "title": "[FIX] User email settings on DM", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8721", + "title": "[FIX] i18n'd Resend_verification_mail, username_initials, upload avatar", + "userLogin": "arungalva", + "milestone": "0.60.0", + "contributors": [ + "arungalva", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8716", + "title": "[FIX] Username clipping on firefox", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8742", + "title": "Remove chatops package", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "8743", + "title": "Removed tmeasday:crypto-md5", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "8802", + "title": "Update meteor package to 1.8.1", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "8795", + "title": "[FIX] Improved grammar and made it clearer to the user", + "userLogin": "HammyHavoc", + "milestone": "0.60.0", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "8705", + "title": "Fix typo", + "userLogin": "rmetzler", + "milestone": "0.60.0", + "contributors": [ + "rmetzler", + "geekgonecrazy", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "8718", + "title": "[FIX] Show real name of current user at top of side nav if setting enabled", + "userLogin": "alexbrazier", + "milestone": "0.60.0", + "contributors": [ + "alexbrazier", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8441", + "title": "[FIX] Range Slider Value label has bug in RTL", + "userLogin": "cyclops24", + "milestone": "0.60.0", + "contributors": [ + "cyclops24", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8413", + "title": "[Fix] Store Outgoing Integration Result as String in Mongo", + "userLogin": "cpitman", + "milestone": "0.60.0", + "contributors": [ + "cpitman", + "graywolf336", + "web-flow" + ] + }, + { + "pr": "8708", + "title": "[FIX] Add historic chats icon in Livechat", + "userLogin": "mrsimpson", + "milestone": "0.60.0", + "contributors": [ + "mrsimpson", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "8717", + "title": "[FIX] Sort direct messages by full name if show real names setting enabled", + "userLogin": "alexbrazier", + "milestone": "0.60.0", + "contributors": [ + "alexbrazier", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8793", + "title": "Update DEMO to OPEN links", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8796", + "title": "[FIX] Improving consistency of UX", + "userLogin": "HammyHavoc", + "milestone": "0.60.0", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "8787", + "title": "[FIX] fixed some typos", + "userLogin": "TheReal1604", + "milestone": "0.60.0", + "contributors": [ + "TheReal1604", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "8715", + "title": "[NEW] Upgrade Meteor to 1.6", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "karlprieb", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "8685", + "title": "Add CircleCI", + "userLogin": "rodrigok", + "contributors": [ + "sampaiodiego", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8750", + "title": "Fix Travis CI build", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8719", + "title": "Updated comments.", + "userLogin": "jasonjyu", + "contributors": [ + "jasonjyu", + "web-flow" + ] + }, + { + "pr": "8434", + "title": "removing a duplicate line", + "userLogin": "vikaskedia", + "milestone": "0.59.3", + "contributors": [ + "vikaskedia", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8645", + "title": "[FIX] Fix e-mail message forward", + "userLogin": "sampaiodiego", + "milestone": "0.59.3", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "8648", + "title": "[FIX] Audio message icon", + "userLogin": "karlprieb", + "milestone": "0.59.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8431", + "title": "[FIX] Highlighted color height issue", + "userLogin": "cyclops24", + "milestone": "0.59.3", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8593", + "title": "[FIX] AmazonS3: Quote file.name for ContentDisposition for files with commas", + "userLogin": "xenithorb", + "milestone": "0.59.3", + "contributors": [ + "xenithorb" + ] + }, + { + "pr": "8655", + "title": "[FIX] Update pt-BR translation", + "userLogin": "rodorgas", + "milestone": "0.59.3", + "contributors": [ + "rodorgas" + ] + }, + { + "pr": "8679", + "title": "[FIX] Fix typos", + "userLogin": "sampaiodiego", + "milestone": "0.59.3", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "8653", + "title": "install grpc package manually to fix snap armhf build", + "userLogin": "geekgonecrazy", + "milestone": "0.59.3", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "8691", + "title": "[FIX] LDAP not respecting UTF8 characters & Sync Interval not working", + "userLogin": "rodrigok", + "milestone": "0.59.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8637", + "title": "[FIX] Missing scroll at create channel page", + "userLogin": "karlprieb", + "milestone": "0.59.2", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8634", + "title": "[FIX] Message popup menu on mobile/cordova", + "userLogin": "karlprieb", + "milestone": "0.59.2", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8635", + "title": "[FIX] API channel/group.members not sorting", + "userLogin": "rodrigok", + "milestone": "0.59.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8613", + "title": "[FIX] LDAP not merging existent users && Wrong id link generation", + "userLogin": "rodrigok", + "milestone": "0.59.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8551", + "title": "[FIX] encode filename in url to prevent links breaking", + "userLogin": "joesitton", + "milestone": "0.59.2", + "contributors": [ + "joesitton", + "web-flow" + ] + }, + { + "pr": "8577", + "title": "[FIX] Fix guest pool inquiry taking", + "userLogin": "sampaiodiego", + "milestone": "0.59.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8589", + "title": "Fix community links in readme", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "8588", + "title": "[FIX] Changed all rocket.chat/docs/ to docs.rocket.chat/", + "userLogin": "RekkyRek", + "contributors": [ + "RekkyRek", + "web-flow" + ] + }, + { + "pr": "8543", + "title": "[FIX] Color reset when default value editor is different", + "userLogin": "rodrigok", + "milestone": "0.59.1", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "8547", + "title": "[FIX] Wrong colors after migration 103", + "userLogin": "rodrigok", + "milestone": "0.59.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8541", + "title": "[FIX] LDAP login error regression at 0.59.0", + "userLogin": "rodrigok", + "milestone": "0.59.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8544", + "title": "[FIX] Migration 103 wrong converting primrary colors", + "userLogin": "rodrigok", + "milestone": "0.59.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8529", + "title": "Improve room sync speed", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8527", + "title": "[FIX] Do not send joinCode field to clients", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8520", + "title": "Fix high CPU load when sending messages on large rooms (regression)", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8515", + "title": "Change artifact path", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "8463", + "title": "Color variables migration", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.14", + "contributors": [ + "ggazzo", + "rodrigok", + "karlprieb" + ] + }, + { + "pr": "8516", + "title": "Fix: Change password not working in new UI", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8514", + "title": "[FIX] Uncessary route reload break some routes", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8491", + "title": "[FIX] Invalid Code message for password protected channel", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8489", + "title": "[FIX] Wrong message when reseting password and 2FA is enabled", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8490", + "title": "Enable AutoLinker back", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.14", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8459", + "title": "[NEW] Setting to disable MarkDown and enable AutoLinker", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.13", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8457", + "title": "[FIX] LDAP memory issues when pagination is not available", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.13", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8451", + "title": "Improve markdown parser code", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.13", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8066", + "title": "[NEW] Add settings for allow user direct messages to yourself", + "userLogin": "lindoelio", + "milestone": "0.60.0", + "contributors": [ + "lindoelio" + ] + }, + { + "pr": "8108", + "title": "[NEW] Add sweet alert to video call tab", + "userLogin": "MartinSchoeler", + "milestone": "0.60.0", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "8143", + "title": "[NEW] Displays QR code for manually entering when enabling 2fa", + "userLogin": "marceloschmidt", + "milestone": "0.60.0", + "contributors": [ + "marceloschmidt" + ] + }, + { + "pr": "8077", + "title": "[MOVE] Move favico to client folder", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8078", + "title": "[MOVE] Move files from emojione to client/server folders", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8084", + "title": "[MOVE] Move files from slashcommands-unarchive to client/server folders", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8132", + "title": "[MOVE] Move slashcommands-open to client folder", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8135", + "title": "[MOVE] Move kick command to client/server folders", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8136", + "title": "[MOVE] Move join command to client/server folder", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8137", + "title": "[MOVE] Move inviteall command to client/server folder", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8138", + "title": "[MOVE] Move invite command to client/server folder", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8139", + "title": "[MOVE] Move create command to client/server folder", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8140", + "title": "[MOVE] Move archiveroom command to client/server folders", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8141", + "title": "[MOVE] Move slackbridge to client/server folders", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8150", + "title": "[MOVE] Move logger files to client/server folders", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8152", + "title": "[MOVE] Move timesync files to client/server folders", + "userLogin": "vcapretz", + "milestone": "0.60.0", + "contributors": [ + "vcapretz" + ] + }, + { + "pr": "8416", + "title": "Fix: Account menu position on RTL", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.12", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8417", + "title": "Fix: Missing LDAP option to show internal logs", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.12", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8414", + "title": "Fix: Missing LDAP reconnect setting", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.12", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8389", + "title": "[FIX] Add needed dependency for snaps", + "userLogin": "geekgonecrazy", + "milestone": "0.59.0-rc.12", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "8390", + "title": "[FIX] Slack import failing and not being able to be restarted", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8397", + "title": "[FIX] Sidebar item menu position in RTL", + "userLogin": "cyclops24", + "milestone": "0.59.0-rc.12", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8386", + "title": "[FIX] disabled katex tooltip on messageBox", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.12", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8394", + "title": "Add i18n Title to snippet messages", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.12", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "8408", + "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.12", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8398", + "title": "Fix: Missing settings to configure LDAP size and page limits", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.12", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8375", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.11", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8372", + "title": "[FIX] Various LDAP issues & Missing pagination", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.11", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8364", + "title": "Update Meteor to 1.5.2.2", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.11", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8363", + "title": "Sync translations from LingoHub", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.11", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8358", + "title": "[FIX] remove accountBox from admin menu", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.11", + "contributors": [ + "engelgabriel", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "8361", + "title": "[NEW] Unify unread and mentions badge", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.11", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8362", + "title": "[NEW] make sidebar item width 100%", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.11", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8360", + "title": "[NEW] Smaller accountBox", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.11", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8357", + "title": "[FIX] Missing i18n translations", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.11", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "8345", + "title": "Remove field `lastActivity` from subscription data", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.11", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8355", + "title": "Update meteor to 1.5.2.2-rc.0", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.10", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8314", + "title": "[FIX] After deleting the room, cache is not synchronizing", + "userLogin": "szluohua", + "milestone": "0.59.0-rc.10", + "contributors": [ + "szluohua" + ] + }, + { + "pr": "8334", + "title": "[FIX] Remove sidebar header on admin embedded version", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.10", + "contributors": [ + "karlprieb", + "web-flow" + ] + }, + { + "pr": "8331", + "title": "[FIX-RC] Mobile file upload not working", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.10", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8317", + "title": "[FIX] Email Subjects not being sent", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.10", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "8315", + "title": "[FIX] Put delete action on another popover group", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.10", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8316", + "title": "[FIX] Mention unread indicator was removed", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.10", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8304", + "title": "[NEW] Add RD Station integration to livechat", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.9", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8310", + "title": "[FIX] Execute meteor reset on TRAVIS_TAG builds", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.9", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8296", + "title": "[FIX] Wrong file name when upload to AWS S3", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.9", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8298", + "title": "[FIX] TypeError: Cannot read property 't' of undefined", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.9", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8295", + "title": "[FIX] Check attachments is defined before accessing first element", + "userLogin": "Darkneon", + "milestone": "0.59.0-rc.9", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "8299", + "title": " [FIX] Amin menu not showing all items & File list breaking line", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.9", + "contributors": [ + "ggazzo", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "8307", + "title": "[FIX] Call buttons with wrong margin on RTL", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.9", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8300", + "title": "[FIX] Emoji Picker hidden for reactions in RTL", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.9", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8273", + "title": "Deps update", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.9", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8282", + "title": "[FIX] fix color on unread messages", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.9", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8286", + "title": "[FIX] Missing placeholder translations", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.9", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8278", + "title": "[FIX] \"Cancel button\" on modal in RTL in Firefox 55", + "userLogin": "cyclops24", + "milestone": "0.59.0-rc.9", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8271", + "title": "[FIX] Attachment icons alignment in LTR and RTL", + "userLogin": "cyclops24", + "milestone": "0.59.0-rc.9", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "8270", + "title": "[FIX] [i18n] My Profile & README.md links", + "userLogin": "Rzeszow", + "milestone": "0.59.0-rc.9", + "contributors": [ + "Rzeszow", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "8211", + "title": "[FIX] Incorrect URL for login terms when using prefix", + "userLogin": "Darkneon", + "milestone": "0.59.0-rc.7", + "contributors": [ + "Darkneon" + ] + }, + { + "pr": "8194", + "title": "Fix more rtl issues", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.7", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8190", + "title": "[FIX] Scrollbar not using new style", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.7", + "contributors": [ + "ggazzo", + "rodrigok" + ] + }, + { + "pr": "8210", + "title": "[FIX] User avatar in DM list.", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.7", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8197", + "title": "npm deps update", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.7", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8146", + "title": "[FIX] Fix iframe login API response (issue #8145)", + "userLogin": "astax-t", + "milestone": "0.59.0-rc.6", + "contributors": [ + "astax-t" + ] + }, + { + "pr": "8167", + "title": "[FIX] Issue #8166 where empty analytics setting breaks to load Piwik script", + "userLogin": "ruKurz", + "milestone": "0.59.0-rc.6", + "contributors": [ + "ruKurz" + ] + }, + { + "pr": "8154", + "title": "[FIX] Sidebar and RTL alignments", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.6", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8147", + "title": "[FIX] \"*.members\" rest api being useless and only returning usernames", + "userLogin": "graywolf336", + "milestone": "0.59.0-rc.6", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "8159", + "title": "[FIX] Text area lost text when page reloads", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.6", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8094", + "title": "[FIX] Add admin audio preferences translations", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.6", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8073", + "title": "[NEW] Upgrade to meteor 1.5.2", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.6", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "8112", + "title": "[FIX] RTL", + "userLogin": "ggazzo", + "milestone": "0.59.0-rc.5", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "8122", + "title": "[FIX] Settings description not showing", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.5", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8059", + "title": "[FIX] Not sending email to mentioned users with unchanged preference", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.5", + "contributors": [ + "MartinSchoeler", + "sampaiodiego" + ] + }, + { + "pr": "8101", + "title": "[FIX] Dynamic popover", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.5", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8099", + "title": "[FIX] Fix setting user avatar on LDAP login", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.5", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8054", + "title": "Remove unnecessary returns in cors common", + "userLogin": "Kiran-Rao", + "milestone": "0.59.0-rc.5", + "contributors": [ + "Kiran-Rao", + "web-flow" + ] + }, + { + "pr": "8047", + "title": "[FIX] Scroll on messagebox", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.5", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "8048", + "title": "[FIX] Invisible leader bar on hover", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.4", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7754", + "title": "[FIX] Fix email on mention", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.4", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "8046", + "title": "[FIX] Prevent autotranslate tokens race condition", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.4", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7988", + "title": "[FIX] Vertical menu on flex-tab", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.4", + "contributors": [ + "ggazzo", + "karlprieb" + ] + }, + { + "pr": "8019", + "title": "[FIX] message-box autogrow", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8039", + "title": "[FIX] copy to clipboard and update clipboard.js library", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "8037", + "title": "[NEW] Add yunohost.org installation method to Readme.md", + "userLogin": "selamanse", + "contributors": [ + "selamanse", + "web-flow" + ] + }, + { + "pr": "8036", + "title": "Adding: How to Install in WeDeploy", + "userLogin": "thompsonemerson", + "contributors": [ + "thompsonemerson", + "web-flow" + ] + }, + { + "pr": "7998", + "title": "[FIX] Recent emojis not updated when adding via text", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.4", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7989", + "title": "[FIX][PL] Polish translation", + "userLogin": "Rzeszow", + "milestone": "0.59.0-rc.4", + "contributors": [ + "Rzeszow", + "web-flow" + ] + }, + { + "pr": "7984", + "title": "[FIX] Chat box no longer auto-focuses when typing", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7963", + "title": "[FIX] Fix the status on the members list", + "userLogin": "MartinSchoeler", + "milestone": "0.59.0-rc.3", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "7965", + "title": "[FIX] Markdown being rendered in code tags", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7983", + "title": "Revert \"npm deps update\"", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "7923", + "title": "[FIX] Email verification indicator added", + "userLogin": "aditya19496", + "milestone": "0.59.0-rc.3", + "contributors": [ + "aditya19496", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "7712", + "title": "[FIX] Show leader on first load", + "userLogin": "danischreiber", + "milestone": "0.59.0-rc.3", + "contributors": [ + "danischreiber", + "rodrigok" + ] + }, + { + "pr": "7909", + "title": "[DOCS] Add native mobile app links into README and update button images", + "userLogin": "rafaelks", + "milestone": "0.59.0-rc.3", + "contributors": [ + "rafaelks", + "web-flow" + ] + }, + { + "pr": "7971", + "title": "[FIX] Add padding on messages to allow space to the action buttons", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.3", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7970", + "title": "[FIX] Small alignment fixes", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.3", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7969", + "title": "npm deps update", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "7953", + "title": "[FIX] username ellipsis on firefox", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7948", + "title": "[FIX] Document README.md. Drupal repo out of date", + "userLogin": "Lawri-van-Buel", + "milestone": "0.59.0-rc.3", + "contributors": [ + "Lawri-van-Buel" + ] + }, + { + "pr": "7927", + "title": "[FIX] Double scroll on 'keyboard shortcuts' menu in sidepanel", + "userLogin": "aditya19496", + "milestone": "0.59.0-rc.3", + "contributors": [ + "aditya19496" + ] + }, + { + "pr": "7943", + "title": "[FIX] Broken emoji picker on firefox", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7944", + "title": "[FIX] Broken embedded view layout", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7945", + "title": "[FIX] Fix placeholders in account profile", + "userLogin": "josiasds", + "milestone": "0.59.0-rc.3", + "contributors": [ + "josiasds" + ] + }, + { + "pr": "7954", + "title": "[FIX] OTR buttons padding", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7960", + "title": "[FIX] status and active room colors on sidebar", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7941", + "title": "Update BlackDuck URL", + "userLogin": "engelgabriel", + "milestone": "0.59.0-rc.3", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "7912", + "title": "[FIX] Fix google play logo on repo README", + "userLogin": "luizbills", + "milestone": "0.59.0-rc.2", + "contributors": [ + "luizbills", + "web-flow" + ] + }, + { + "pr": "7904", + "title": "[FIX] Fix livechat toggle UI issue", + "userLogin": "sampaiodiego", + "milestone": "0.59.0-rc.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7895", + "title": "[FIX] Remove break change in Realtime API", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7893", + "title": "[FIX] Window exception when parsing Markdown on server", + "userLogin": "rodrigok", + "milestone": "0.59.0-rc.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "7894", + "title": "Hide flex-tab close button", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.2", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7888", + "title": "[FIX] sidebar buttons and badge paddings", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7882", + "title": "[FIX] hyperlink style on sidebar footer", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7886", + "title": "[FIX] livechat icon", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7887", + "title": "[FIX] Makes text action menu width based on content size", + "userLogin": "gdelavald", + "milestone": "0.59.0-rc.1", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "7885", + "title": "[FIX] message actions over unread bar", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7883", + "title": "[FIX] popover position on mobile", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7881", + "title": "[FIX] search results position on sidebar", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7880", + "title": "[FIX] sidebar paddings", + "userLogin": "karlprieb", + "milestone": "0.59.0-rc.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "7878", + "title": "[FIX] Adds default search text padding for emoji search", + "userLogin": "gdelavald", + "milestone": "0.59.0-rc.1", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "6606", + "title": "Added RocketChatLauncher (SaaS)", + "userLogin": "designgurudotorg", + "milestone": "0.59.0", + "contributors": [ + "designgurudotorg", + "web-flow" + ] + }, + { + "pr": "7866", + "title": "Develop sync", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "web-flow", + "geekgonecrazy", + "engelgabriel", + "MartinSchoeler" + ] + }, + { + "pr": "8973", + "title": "Fix tag build", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8972", + "title": "Fix CircleCI deploy filter", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8967", + "title": "Release/0.59.4", + "userLogin": "geekgonecrazy", + "contributors": [ + "cpitman", + "geekgonecrazy", + "karlprieb", + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "8685", + "title": "Add CircleCI", + "userLogin": "rodrigok", + "contributors": [ + "sampaiodiego", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8753", + "title": "[FIX] Channel settings buttons", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "geekgonecrazy", + "web-flow", + "rodrigok" + ] + } + ] + }, + "0.60.0-rc.1": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9092", + "title": "[NEW] Modal", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "web-flow" + ] + }, + { + "pr": "9111", + "title": "Fix: users listed as online after API login", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9110", + "title": "Fix regression in api channels.members", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9108", + "title": "[FIX] REST API file upload not respecting size limit", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9109", + "title": "[FIX] Creating channels on Firefox", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9095", + "title": "[FIX] Some UI problems on 0.60", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9094", + "title": "[FIX] Update rocketchat:streamer to be compatible with previous version", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.60.0-rc.2": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9137", + "title": "Fix: Clear all unreads modal not closing after confirming", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9138", + "title": "Fix: Message action quick buttons drops if \"new message\" divider is being shown", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9136", + "title": "Fix: Confirmation modals showing `Send` button", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9134", + "title": "[FIX] Importers not recovering when an error occurs", + "userLogin": "graywolf336", + "milestone": "0.60.0", + "contributors": [ + "graywolf336", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9121", + "title": "[FIX] Do not block room while loading history", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9120", + "title": "Fix: Multiple unread indicators", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9091", + "title": "[FIX] Channel page error", + "userLogin": "ggrish", + "milestone": "0.60.0", + "contributors": [ + "ggrish", + "web-flow" + ] + } + ] + }, + "0.60.0-rc.3": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9144", + "title": "Fix: Messages being displayed in reverse order", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9062", + "title": "[FIX] Update Rocket.Chat for sandstorm", + "userLogin": "peterlee0127", + "milestone": "0.60.0", + "contributors": [ + "peterlee0127", + "web-flow" + ] + } + ] + }, + "0.60.0-rc.4": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9171", + "title": "[FIX] modal data on enter and modal style for file preview", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9170", + "title": "[FIX] show oauth logins when adblock is used", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9169", + "title": "[FIX] Last sent message reoccurs in textbox", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9166", + "title": "Fix: UI: Descenders of glyphs are cut off", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9165", + "title": "Fix: Click on channel name - hover area bigger than link area", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9162", + "title": "Fix: Can’t login using LDAP via REST", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9149", + "title": "Fix: Unread line", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9146", + "title": "Fix test without oplog by waiting a successful login on changing users", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.60.0-rc.5": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9200", + "title": "Replace postcss-nesting with postcss-nested", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9197", + "title": "Dependencies Update", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9196", + "title": "Fix: Rooms and users are using different avatar style", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9193", + "title": "[FIX] Made welcome emails more readable", + "userLogin": "HammyHavoc", + "milestone": "0.60.0", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9190", + "title": "Typo: German language file", + "userLogin": "TheReal1604", + "milestone": "0.60.0", + "contributors": [ + "TheReal1604" + ] + }, + { + "pr": "9188", + "title": "[FIX] Unread bar position when room have announcement", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9186", + "title": "[FIX] Emoji size on last message preview", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9185", + "title": "[FIX] Cursor position when reply on safari", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9184", + "title": "Fix: Snippet name to not showing in snippet list", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9183", + "title": "Fix/api me only return verified", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9182", + "title": "[FIX] \"Use Emoji\" preference not working", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9181", + "title": "Fix: UI: Descenders of glyphs are cut off", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9176", + "title": "[FIX] make the cross icon on user selection at channel creation page work", + "userLogin": "vitor-nagao", + "milestone": "0.60.0", + "contributors": [ + "vitor-nagao", + "karlprieb", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9172", + "title": "[FIX] go to replied message", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9168", + "title": "[FIX] channel create scroll on small screens", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9066", + "title": "[NEW] Make Custom oauth accept nested usernameField", + "userLogin": "pierreozoux", + "milestone": "0.60.0", + "contributors": [ + "pierreozoux", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "9040", + "title": "[FIX] Error when user roles is missing or is invalid", + "userLogin": "paulovitin", + "milestone": "0.60.0", + "contributors": [ + "paulovitin", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8922", + "title": "[FIX] Make mentions and menu icons color darker", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "rodrigok", + "web-flow" + ] + } + ] + }, + "0.60.0-rc.6": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9241", + "title": "[FIX] Show modal with announcement", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9240", + "title": "Fix: Unneeded warning in payload of REST API calls", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9229", + "title": "Fix: Missing option to set user's avatar from a url", + "userLogin": "ggazzo", + "milestone": "0.60.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "9227", + "title": "Fix: updating last message on message edit or delete", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9217", + "title": "Fix: Username find is matching partially", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9215", + "title": "Fix: Upload access control too distributed", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9206", + "title": "[FIX] File upload not working on IE and weird on Chrome", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9194", + "title": "[FIX] \"Enter usernames\" placeholder is cutting in \"create channel\" view", + "userLogin": "TheReal1604", + "milestone": "0.60.0", + "contributors": [ + "TheReal1604" + ] + } + ] + }, + "0.60.0-rc.7": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9243", + "title": "[FIX] Move emojipicker css to theme package", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + } + ] + }, + "0.60.0-rc.8": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9257", + "title": "Do not change room icon color when room is unread", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9256", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9248", + "title": "Add curl, its missing on worker nodes so has to be explicitly added", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "9247", + "title": "Fix: Sidebar item on rtl and small devices", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + } + ] + }, + "0.60.0": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9259", + "title": "Release 0.60.0", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "graywolf336", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8973", + "title": "Fix tag build", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8972", + "title": "Fix CircleCI deploy filter", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8967", + "title": "Release/0.59.4", + "userLogin": "geekgonecrazy", + "contributors": [ + "cpitman", + "geekgonecrazy", + "karlprieb", + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "8685", + "title": "Add CircleCI", + "userLogin": "rodrigok", + "contributors": [ + "sampaiodiego", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "8753", + "title": "[FIX] Channel settings buttons", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "geekgonecrazy", + "web-flow", + "rodrigok" + ] + } + ] + }, + "0.60.1": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9262", + "title": "[FIX] File access not working when passing credentials via querystring", + "userLogin": "rodrigok", + "milestone": "0.60.1", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.60.2": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9280", + "title": "Release 0.60.2", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9277", + "title": "[FIX] Restore translations from other languages", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9274", + "title": "[FIX] Remove sweetalert from livechat facebook integration page", + "userLogin": "sampaiodiego", + "milestone": "0.60.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9272", + "title": "[FIX] Missing translations", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.60.3": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9320", + "title": "Release 0.60.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "HammyHavoc" + ] + }, + { + "pr": "9314", + "title": "[FIX] custom emoji size on sidebar item", + "userLogin": "karlprieb", + "milestone": "0.60.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9311", + "title": "[FIX] svg render on firefox", + "userLogin": "karlprieb", + "milestone": "0.60.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9249", + "title": "[FIX] sidebar footer padding", + "userLogin": "karlprieb", + "milestone": "0.60.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9309", + "title": "[FIX] LDAP/AD is not importing all users", + "userLogin": "rodrigok", + "milestone": "0.60.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9299", + "title": "Fix: English language improvements", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9291", + "title": "Fix: Change 'Wordpress' to 'WordPress", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9290", + "title": "Fix: Improved README.md", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9289", + "title": "[FIX] Wrong position of notifications alert in accounts preference page", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9286", + "title": "Fix: README typo", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9285", + "title": "[FIX] English Typos", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + } + ] + }, + "0.60.4-rc.0": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9343", + "title": "[FIX] LDAP TLS not working in some cases", + "userLogin": "rodrigok", + "milestone": "0.60.4", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9320", + "title": "Release 0.60.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "HammyHavoc" + ] + } + ] + }, + "0.60.4-rc.1": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9328", + "title": "[FIX] popover on safari for iOS", + "userLogin": "karlprieb", + "milestone": "0.60.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9330", + "title": "[FIX] announcement hyperlink color", + "userLogin": "karlprieb", + "milestone": "0.60.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9335", + "title": "[FIX] Deleting message with store last message not removing", + "userLogin": "sampaiodiego", + "milestone": "0.60.4", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9345", + "title": "[FIX] last message cutting on bottom", + "userLogin": "karlprieb", + "milestone": "0.60.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9346", + "title": "Update Marked dependecy to 0.3.9", + "userLogin": "rodrigok", + "milestone": "0.60.4", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.60.4": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9377", + "title": "Release 0.60.4", + "userLogin": "rodrigok", + "milestone": "0.60.4", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9320", + "title": "Release 0.60.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "HammyHavoc" + ] + } + ] + }, + "0.61.0-rc.0": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "8411", + "title": "[NEW] Contextual Bar Redesign", + "userLogin": "ggazzo", + "milestone": "0.61.0", + "contributors": [ + "geekgonecrazy", + "sampaiodiego", + "MartinSchoeler", + "ggazzo", + "karlprieb" + ] + }, + { + "pr": "9369", + "title": "[FIX][i18n] add room type translation support for room-changed-privacy message", + "userLogin": "cyclops24", + "milestone": "0.61.0", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "9442", + "title": "[NEW] Update documentation: provide example for multiple basedn", + "userLogin": "rndmh3ro", + "milestone": "0.61.0", + "contributors": [ + "rndmh3ro" + ] + }, + { + "pr": "9452", + "title": "[FIX] Fix livechat register form", + "userLogin": "sampaiodiego", + "milestone": "0.61.0", + "contributors": [ + "sampaiodiego", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9451", + "title": "[FIX] Fix livechat build", + "userLogin": "sampaiodiego", + "milestone": "0.61.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9164", + "title": "[FIX] Fix closing livechat inquiry", + "userLogin": "sampaiodiego", + "milestone": "0.61.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9439", + "title": "Add community bot", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9435", + "title": "[FIX] Slash command 'unarchive' throws exception if the channel does not exist ", + "userLogin": "ramrami", + "milestone": "0.61.0", + "contributors": [ + "ramrami", + "web-flow" + ] + }, + { + "pr": "9428", + "title": "[FIX] Slash command 'archive' throws exception if the channel does not exist", + "userLogin": "ramrami", + "milestone": "0.61.0", + "contributors": [ + "ramrami", + "web-flow" + ] + }, + { + "pr": "9432", + "title": "[FIX] Subscriptions not removed when removing user", + "userLogin": "rodrigok", + "milestone": "0.61.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9216", + "title": "[NEW] Sidebar menu option to mark room as unread", + "userLogin": "karlprieb", + "milestone": "0.61.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9228", + "title": "[NEW] Add mention-here permission #7631", + "userLogin": "ryjones", + "milestone": "0.61.0", + "contributors": [ + "ryjones", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "9234", + "title": "[NEW] Indicate the Self DM room", + "userLogin": "rodrigok", + "milestone": "0.61.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9245", + "title": "[NEW] new layout for emojipicker", + "userLogin": "karlprieb", + "milestone": "0.61.0", + "contributors": [ + "karlprieb", + "web-flow" + ] + }, + { + "pr": "9364", + "title": "[FIX] Highlight setting not working correctly", + "userLogin": "cyclops24", + "milestone": "0.60.4", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "9366", + "title": "[NEW] add /home link to sidenav footer logo", + "userLogin": "cyclops24", + "contributors": [ + "cyclops24" + ] + }, + { + "pr": "9356", + "title": "Use correct version of Mailparser module", + "userLogin": "rodrigok", + "milestone": "0.61.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9330", + "title": "[FIX] announcement hyperlink color", + "userLogin": "karlprieb", + "milestone": "0.60.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9328", + "title": "[FIX] popover on safari for iOS", + "userLogin": "karlprieb", + "milestone": "0.60.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9345", + "title": "[FIX] last message cutting on bottom", + "userLogin": "karlprieb", + "milestone": "0.60.4", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9346", + "title": "Update Marked dependecy to 0.3.9", + "userLogin": "rodrigok", + "milestone": "0.60.4", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9335", + "title": "[FIX] Deleting message with store last message not removing", + "userLogin": "sampaiodiego", + "milestone": "0.60.4", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9314", + "title": "[FIX] custom emoji size on sidebar item", + "userLogin": "karlprieb", + "milestone": "0.60.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9311", + "title": "[FIX] svg render on firefox", + "userLogin": "karlprieb", + "milestone": "0.60.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9249", + "title": "[FIX] sidebar footer padding", + "userLogin": "karlprieb", + "milestone": "0.60.3", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9309", + "title": "[FIX] LDAP/AD is not importing all users", + "userLogin": "rodrigok", + "milestone": "0.60.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9299", + "title": "Fix: English language improvements", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9291", + "title": "Fix: Change 'Wordpress' to 'WordPress", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9290", + "title": "Fix: Improved README.md", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9289", + "title": "[FIX] Wrong position of notifications alert in accounts preference page", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9286", + "title": "Fix: README typo", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9285", + "title": "[FIX] English Typos", + "userLogin": "HammyHavoc", + "milestone": "0.60.3", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9277", + "title": "[FIX] Restore translations from other languages", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9274", + "title": "[FIX] Remove sweetalert from livechat facebook integration page", + "userLogin": "sampaiodiego", + "milestone": "0.60.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9272", + "title": "[FIX] Missing translations", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9264", + "title": "[FIX] File access not working when passing credentials via querystring", + "userLogin": "rodrigok", + "milestone": "0.60.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9135", + "title": "[NEW] Livechat extract lead data from message", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9107", + "title": "[NEW] Add impersonate option for livechat triggers", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9053", + "title": "[NEW] Add support to external livechat queue service provider", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "9048", + "title": "[BREAK] Decouple livechat visitors from regular users", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9260", + "title": "Develop sync - Bump version to 0.61.0-develop", + "userLogin": "rodrigok", + "contributors": [ + "cpitman", + "geekgonecrazy", + "karlprieb", + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "9257", + "title": "Do not change room icon color when room is unread", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9256", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9247", + "title": "Fix: Sidebar item on rtl and small devices", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9248", + "title": "Add curl, its missing on worker nodes so has to be explicitly added", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "9243", + "title": "[FIX] Move emojipicker css to theme package", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9241", + "title": "[FIX] Show modal with announcement", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9240", + "title": "Fix: Unneeded warning in payload of REST API calls", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9229", + "title": "Fix: Missing option to set user's avatar from a url", + "userLogin": "ggazzo", + "milestone": "0.60.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "9215", + "title": "Fix: Upload access control too distributed", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9217", + "title": "Fix: Username find is matching partially", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9227", + "title": "Fix: updating last message on message edit or delete", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9194", + "title": "[FIX] \"Enter usernames\" placeholder is cutting in \"create channel\" view", + "userLogin": "TheReal1604", + "milestone": "0.60.0", + "contributors": [ + "TheReal1604" + ] + }, + { + "pr": "9206", + "title": "[FIX] File upload not working on IE and weird on Chrome", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9176", + "title": "[FIX] make the cross icon on user selection at channel creation page work", + "userLogin": "vitor-nagao", + "milestone": "0.60.0", + "contributors": [ + "vitor-nagao", + "karlprieb", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9196", + "title": "Fix: Rooms and users are using different avatar style", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9200", + "title": "Replace postcss-nesting with postcss-nested", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9197", + "title": "Dependencies Update", + "userLogin": "engelgabriel", + "milestone": "0.60.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9193", + "title": "[FIX] Made welcome emails more readable", + "userLogin": "HammyHavoc", + "milestone": "0.60.0", + "contributors": [ + "HammyHavoc", + "web-flow" + ] + }, + { + "pr": "9190", + "title": "Typo: German language file", + "userLogin": "TheReal1604", + "milestone": "0.60.0", + "contributors": [ + "TheReal1604" + ] + }, + { + "pr": "9184", + "title": "Fix: Snippet name to not showing in snippet list", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9183", + "title": "Fix/api me only return verified", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9185", + "title": "[FIX] Cursor position when reply on safari", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9186", + "title": "[FIX] Emoji size on last message preview", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9188", + "title": "[FIX] Unread bar position when room have announcement", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9040", + "title": "[FIX] Error when user roles is missing or is invalid", + "userLogin": "paulovitin", + "milestone": "0.60.0", + "contributors": [ + "paulovitin", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "8922", + "title": "[FIX] Make mentions and menu icons color darker", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9182", + "title": "[FIX] \"Use Emoji\" preference not working", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9181", + "title": "Fix: UI: Descenders of glyphs are cut off", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9066", + "title": "[NEW] Make Custom oauth accept nested usernameField", + "userLogin": "pierreozoux", + "milestone": "0.60.0", + "contributors": [ + "pierreozoux", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "9168", + "title": "[FIX] channel create scroll on small screens", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9172", + "title": "[FIX] go to replied message", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9173", + "title": "[Fix] oauth not working because of email array", + "userLogin": "geekgonecrazy", + "milestone": "0.60.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9171", + "title": "[FIX] modal data on enter and modal style for file preview", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9170", + "title": "[FIX] show oauth logins when adblock is used", + "userLogin": "karlprieb", + "milestone": "0.60.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9165", + "title": "Fix: Click on channel name - hover area bigger than link area", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9166", + "title": "Fix: UI: Descenders of glyphs are cut off", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9169", + "title": "[FIX] Last sent message reoccurs in textbox", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9162", + "title": "Fix: Can’t login using LDAP via REST", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9149", + "title": "Fix: Unread line", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9146", + "title": "Fix test without oplog by waiting a successful login on changing users", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9062", + "title": "[FIX] Update Rocket.Chat for sandstorm", + "userLogin": "peterlee0127", + "milestone": "0.60.0", + "contributors": [ + "peterlee0127", + "web-flow" + ] + }, + { + "pr": "9144", + "title": "Fix: Messages being displayed in reverse order", + "userLogin": "sampaiodiego", + "milestone": "0.60.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9137", + "title": "Fix: Clear all unreads modal not closing after confirming", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9138", + "title": "Fix: Message action quick buttons drops if \"new message\" divider is being shown", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9136", + "title": "Fix: Confirmation modals showing `Send` button", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9134", + "title": "[FIX] Importers not recovering when an error occurs", + "userLogin": "graywolf336", + "milestone": "0.60.0", + "contributors": [ + "graywolf336", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9121", + "title": "[FIX] Do not block room while loading history", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9120", + "title": "Fix: Multiple unread indicators", + "userLogin": "rodrigok", + "milestone": "0.60.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9091", + "title": "[FIX] Channel page error", + "userLogin": "ggrish", + "milestone": "0.60.0", + "contributors": [ + "ggrish", + "web-flow" + ] + }, + { + "pr": "9377", + "title": "Release 0.60.4", + "userLogin": "rodrigok", + "milestone": "0.60.4", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9320", + "title": "Release 0.60.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "HammyHavoc" + ] + }, + { + "pr": "9277", + "title": "[FIX] Restore translations from other languages", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9274", + "title": "[FIX] Remove sweetalert from livechat facebook integration page", + "userLogin": "sampaiodiego", + "milestone": "0.60.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9272", + "title": "[FIX] Missing translations", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9262", + "title": "[FIX] File access not working when passing credentials via querystring", + "userLogin": "rodrigok", + "milestone": "0.60.1", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.61.0-rc.1": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9469", + "title": "[DOCS] Update the links of our Mobile Apps in Features topic", + "userLogin": "rafaelks", + "contributors": [ + "rafaelks", + "web-flow" + ] + }, + { + "pr": "9490", + "title": "Update license", + "userLogin": "frdmn", + "contributors": [ + "frdmn", + "web-flow" + ] + }, + { + "pr": "9481", + "title": "[FIX] Contextual bar redesign", + "userLogin": "ggazzo", + "milestone": "0.61.0", + "contributors": [ + "ggazzo", + "karlprieb", + "gdelavald" + ] + }, + { + "pr": "9456", + "title": "[FIX] mention-here is missing i18n text #9455", + "userLogin": "ryjones", + "contributors": [ + "ryjones" + ] + } + ] + }, + "0.61.0-rc.2": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9506", + "title": "[FIX] Fix livechat visitor edit", + "userLogin": "sampaiodiego", + "milestone": "0.61.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9510", + "title": "[NEW] Contextual bar mail messages", + "userLogin": "karlprieb", + "milestone": "0.61.0", + "contributors": [ + "karlprieb", + "rodrigok" + ] + }, + { + "pr": "9504", + "title": "Prevent NPM package-lock inside livechat", + "userLogin": "rodrigok", + "milestone": "0.61.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9493", + "title": "[FIX] large names on userinfo, and admin user bug on users with no usernames", + "userLogin": "ggazzo", + "milestone": "0.61.0", + "contributors": [ + "ggazzo", + "web-flow", + "gdelavald" + ] + } + ] + }, + "0.61.0": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9533", + "title": "Release 0.61.0", + "userLogin": "rodrigok", + "milestone": "0.61.0", + "contributors": [ + "rodrigok", + "karlprieb", + "web-flow", + "geekgonecrazy", + "engelgabriel", + "sampaiodiego", + "ryjones" + ] + }, + { + "pr": "9377", + "title": "Release 0.60.4", + "userLogin": "rodrigok", + "milestone": "0.60.4", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9320", + "title": "Release 0.60.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "HammyHavoc" + ] + }, + { + "pr": "9277", + "title": "[FIX] Restore translations from other languages", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9274", + "title": "[FIX] Remove sweetalert from livechat facebook integration page", + "userLogin": "sampaiodiego", + "milestone": "0.60.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9272", + "title": "[FIX] Missing translations", + "userLogin": "rodrigok", + "milestone": "0.60.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9262", + "title": "[FIX] File access not working when passing credentials via querystring", + "userLogin": "rodrigok", + "milestone": "0.60.1", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.61.1": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9721", + "title": "Release 0.61.1", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.61.2": { + "node_version": "8.9.3", + "npm_version": "5.5.1", + "pull_requests": [ + { + "pr": "9786", + "title": "Release 0.61.2", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "9750", + "title": "[FIX] Livechat issues on external queue and lead capture", + "userLogin": "sampaiodiego", + "milestone": "0.61.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9776", + "title": "[FIX] Emoji rendering on last message", + "userLogin": "ggazzo", + "milestone": "0.61.2", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "9772", + "title": "[FIX] Livechat conversation not receiving messages when start without form", + "userLogin": "sampaiodiego", + "milestone": "0.61.2", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.62.0-rc.0": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "9796", + "title": "Sync from Master", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "web-flow", + "HammyHavoc" + ] + }, + { + "pr": "9793", + "title": "[NEW] Version update check", + "userLogin": "rodrigok", + "milestone": "0.62.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9778", + "title": "[NEW] General alert banner", + "userLogin": "ggazzo", + "milestone": "0.62.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "9642", + "title": "[NEW] Browse more channels / Directory", + "userLogin": "ggazzo", + "milestone": "0.62.0", + "contributors": [ + "ggazzo", + "karlprieb" + ] + }, + { + "pr": "9665", + "title": "[FIX] Wrong behavior of rooms info's *Read Only* and *Collaborative* buttons", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9457", + "title": "[NEW] Add user settings / preferences API endpoint", + "userLogin": "jgtoriginal", + "milestone": "0.62.0", + "contributors": [ + "jgtoriginal", + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9608", + "title": "[NEW] New sidebar layout", + "userLogin": "ggazzo", + "milestone": "0.62.0", + "contributors": [ + "karlprieb", + "ggazzo", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "9662", + "title": "[FIX] Close button on file upload bar was not working", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9717", + "title": "[NEW] Message read receipts", + "userLogin": "sampaiodiego", + "milestone": "0.62.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "7098", + "title": "[NEW] Alert admins when user requires approval & alert users when the account is approved/activated/deactivated", + "userLogin": "luisfn", + "milestone": "0.62.0", + "contributors": [ + "luisfn" + ] + }, + { + "pr": "9666", + "title": "[OTHER] Rocket.Chat Apps", + "userLogin": "graywolf336", + "milestone": "0.62.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "9772", + "title": "[FIX] Livechat conversation not receiving messages when start without form", + "userLogin": "sampaiodiego", + "milestone": "0.61.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9776", + "title": "[FIX] Emoji rendering on last message", + "userLogin": "ggazzo", + "milestone": "0.61.2", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "9753", + "title": "Move NRR package to inside the project and convert from CoffeeScript", + "userLogin": "rodrigok", + "milestone": "0.62.0", + "contributors": [ + "rodrigok", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "9527", + "title": "[NEW] Allow configuration of SAML logout behavior", + "userLogin": "mrsimpson", + "milestone": "0.62.0", + "contributors": [ + "mrsimpson", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9560", + "title": "[FIX] Chrome 64 breaks jitsi-meet iframe", + "userLogin": "speedy01", + "milestone": "0.62.0", + "contributors": [ + "speedy01", + "web-flow" + ] + }, + { + "pr": "9697", + "title": "[FIX] Harmonize channel-related actions", + "userLogin": "mrsimpson", + "milestone": "0.62.0", + "contributors": [ + "mrsimpson", + "engelgabriel", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9676", + "title": "[FIX] Custom emoji was cropping sometimes", + "userLogin": "anu-007", + "milestone": "0.62.0", + "contributors": [ + "anu-007" + ] + }, + { + "pr": "9696", + "title": "[FIX] Show custom room types icon in channel header", + "userLogin": "mrsimpson", + "milestone": "0.62.0", + "contributors": [ + "mrsimpson", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "8933", + "title": "[NEW] Internal hubot support for Direct Messages and Private Groups", + "userLogin": "ramrami", + "milestone": "0.62.0", + "contributors": [ + "ramrami", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "9424", + "title": "[FIX] 'Query' support for channels.list.joined, groups.list, groups.listAll, im.list", + "userLogin": "xbolshe", + "milestone": "0.62.0", + "contributors": [ + "xbolshe", + "web-flow" + ] + }, + { + "pr": "9298", + "title": "[NEW] Improved default welcome message", + "userLogin": "HammyHavoc", + "milestone": "0.62.0", + "contributors": [ + "HammyHavoc", + "web-flow", + "engelgabriel", + "graywolf336" + ] + }, + { + "pr": "9750", + "title": "[FIX] Livechat issues on external queue and lead capture", + "userLogin": "sampaiodiego", + "milestone": "0.61.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9746", + "title": "[NEW] Makes shield icon configurable", + "userLogin": "c0dzilla", + "milestone": "0.62.0", + "contributors": [ + "c0dzilla", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9747", + "title": "[FIX] DeprecationWarning: prom-client ... when starting Rocket Chat server", + "userLogin": "jgtoriginal", + "milestone": "0.62.0", + "contributors": [ + "jgtoriginal", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9737", + "title": "[FIX] API to retrive rooms was returning empty objects", + "userLogin": "rodrigok", + "milestone": "0.62.0", + "contributors": [ + "rodrigok", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "9687", + "title": "[NEW] Global message search (beta: disabled by default)", + "userLogin": "rodrigok", + "milestone": "0.62.0", + "contributors": [ + "cyberhck", + "savikko", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9487", + "title": "[FIX] Chat Message Reactions REST API End Point", + "userLogin": "jgtoriginal", + "milestone": "0.62.0", + "contributors": [ + "jgtoriginal", + "MarcosSpessatto" + ] + }, + { + "pr": "9312", + "title": "[NEW] Allow sounds when conversation is focused", + "userLogin": "RationalCoding", + "milestone": "0.62.0", + "contributors": [ + "RationalCoding", + "graywolf336" + ] + }, + { + "pr": "9519", + "title": "[NEW] API to fetch permissions & user roles", + "userLogin": "rafaelks", + "milestone": "0.62.0", + "contributors": [ + "rafaelks", + "MarcosSpessatto" + ] + }, + { + "pr": "9509", + "title": "[NEW] REST API to use Spotlight", + "userLogin": "rafaelks", + "milestone": "0.62.0", + "contributors": [ + "rafaelks", + "MarcosSpessatto" + ] + }, + { + "pr": "9546", + "title": "Update to meteor 1.6.1", + "userLogin": "engelgabriel", + "milestone": "0.62.0", + "contributors": [ + "engelgabriel", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9720", + "title": "[FIX] Messages can't be quoted sometimes", + "userLogin": "geekgonecrazy", + "milestone": "0.61.1", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "9716", + "title": "[FIX] GitLab OAuth does not work when GitLab’s URL ends with slash", + "userLogin": "rodrigok", + "milestone": "0.61.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9714", + "title": "[FIX] Close Livechat conversation by visitor not working in version 0.61.0", + "userLogin": "renatobecker", + "milestone": "0.61.1", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "9067", + "title": "[FIX] Formal pronouns and some small mistakes in German texts", + "userLogin": "AmShaegar13", + "milestone": "0.61.1", + "contributors": [ + "AmShaegar13" + ] + }, + { + "pr": "9640", + "title": "[FIX] Facebook integration in livechat not working on version 0.61.0", + "userLogin": "sampaiodiego", + "milestone": "0.61.1", + "contributors": [ + "sampaiodiego", + "web-flow", + "renatobecker" + ] + }, + { + "pr": "9623", + "title": "[FIX] Weird rendering of emojis at sidebar when `last message` is activated", + "userLogin": "ggazzo", + "milestone": "0.61.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "9699", + "title": "[NEW] Option to proxy files and avatars through the server", + "userLogin": "rodrigok", + "milestone": "0.62.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9711", + "title": "[BREAK] Remove Graphics/Image Magick support", + "userLogin": "rodrigok", + "milestone": "0.62.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8193", + "title": "[NEW] Allow request avatar placeholders as PNG or JPG instead of SVG", + "userLogin": "lindoelio", + "milestone": "0.62.0", + "contributors": [ + "lindoelio", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9218", + "title": " [NEW] Image preview as 32x32 base64 jpeg", + "userLogin": "jorgeluisrezende", + "milestone": "0.62.0", + "contributors": [ + "jorgeluisrezende", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9520", + "title": "[FIX] Rest API helpers only applying to v1", + "userLogin": "graywolf336", + "milestone": "0.62.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "9639", + "title": "[FIX] Desktop notification not showing when avatar came from external storage service", + "userLogin": "rodrigok", + "milestone": "0.61.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9454", + "title": "[FIX] Missing link Site URLs in enrollment e-mails", + "userLogin": "kemitchell", + "milestone": "0.62.0", + "contributors": [ + "kemitchell" + ] + }, + { + "pr": "9610", + "title": "[FIX] Missing string 'Username_already_exist' on the accountProfile page", + "userLogin": "lunaticmonk", + "milestone": "0.62.0", + "contributors": [ + "lunaticmonk" + ] + }, + { + "pr": "9507", + "title": "[NEW] New REST API to mark channel as read", + "userLogin": "rafaelks", + "milestone": "0.62.0", + "contributors": [ + "rafaelks", + "web-flow" + ] + }, + { + "pr": "9549", + "title": "[NEW] Add route to get user shield/badge", + "userLogin": "kb0304", + "milestone": "0.62.0", + "contributors": [ + "kb0304", + "graywolf336" + ] + }, + { + "pr": "9570", + "title": "[FIX] SVG avatars are not been displayed correctly when load in non HTML containers", + "userLogin": "filipedelimabrito", + "milestone": "0.62.0", + "contributors": [ + "filipedelimabrito" + ] + }, + { + "pr": "9599", + "title": "[FIX] Livechat is not working when running in a sub path", + "userLogin": "rodrigok", + "milestone": "0.62.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "8158", + "title": "[NEW] GraphQL API", + "userLogin": "kamilkisiela", + "milestone": "0.62.0", + "contributors": [ + "kamilkisiela", + "web-flow" + ] + }, + { + "pr": "9255", + "title": "[NEW] Livestream tab", + "userLogin": "gdelavald", + "milestone": "0.62.0", + "contributors": [ + "gdelavald" + ] + } + ] + }, + "0.62.0-rc.1": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "9843", + "title": "Regression: Avatar now open account related options", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9837", + "title": "Regression: Open search using ctrl/cmd + p and ctrl/cmd + k", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9839", + "title": "Regression: Search bar is now full width", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9658", + "title": "[NEW] Add documentation requirement to PRs", + "userLogin": "SeanPackham", + "contributors": [ + "SeanPackham", + "web-flow", + "MartinSchoeler" + ] + }, + { + "pr": "9807", + "title": "[NEW] Request mongoDB version in github issue template", + "userLogin": "TwizzyDizzy", + "contributors": [ + "TwizzyDizzy", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "9802", + "title": "[FIX] Not receiving sound notifications in rooms created by new LiveChats", + "userLogin": "renatobecker", + "milestone": "0.62.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "9811", + "title": "Dependencies update", + "userLogin": "engelgabriel", + "milestone": "0.62.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9821", + "title": "Fix: Custom fields not showing on user info panel", + "userLogin": "ggazzo", + "milestone": "0.62.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "9804", + "title": "Regression: Page was not respecting the window height on Firefox", + "userLogin": "MartinSchoeler", + "milestone": "0.62.0", + "contributors": [ + "MartinSchoeler", + "web-flow" + ] + }, + { + "pr": "9784", + "title": "Update bot-config.yml", + "userLogin": "JSzaszvari", + "contributors": [ + "JSzaszvari", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "9797", + "title": "Develop fix sync from master", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.62.0-rc.2": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "9851", + "title": "Regression: Change create channel icon", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9852", + "title": "Regression: Fix channel icons on safari", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9845", + "title": "Regression: Fix admin/user settings item text", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb", + "web-flow" + ] + }, + { + "pr": "9858", + "title": "[FIX] Silence the update check error message", + "userLogin": "graywolf336", + "milestone": "0.62.0", + "contributors": [ + "graywolf336" + ] + } + ] + }, + "0.62.0-rc.3": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "9905", + "title": "Regression: Improve sidebar filter", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9902", + "title": "[OTHER] Fix Apps not working on multi-instance deployments", + "userLogin": "graywolf336", + "milestone": "0.62.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "9877", + "title": "[Fix] Not Translated Phrases", + "userLogin": "bernardoetrevisan", + "milestone": "0.62.0", + "contributors": [ + "bernardoetrevisan", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9884", + "title": "[FIX] Parsing messages with multiple markdown matches ignore some tokens", + "userLogin": "c0dzilla", + "milestone": "0.62.0", + "contributors": [ + "c0dzilla" + ] + }, + { + "pr": "9850", + "title": "[FIX] Importers no longer working due to the FileUpload changes", + "userLogin": "graywolf336", + "milestone": "0.62.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "9889", + "title": "Regression: Overlapping header in user profile panel", + "userLogin": "kaiiiiiiiii", + "milestone": "0.62.0", + "contributors": [ + "kaiiiiiiiii" + ] + }, + { + "pr": "9888", + "title": "[FIX] Misplaced \"Save Changes\" button in user account panel", + "userLogin": "kaiiiiiiiii", + "milestone": "0.62.0", + "contributors": [ + "kaiiiiiiiii" + ] + }, + { + "pr": "9897", + "title": "Regression: sort on room's list not working correctly", + "userLogin": "ggazzo", + "milestone": "0.62.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "9879", + "title": "[FIX] Snap build was failing", + "userLogin": "geekgonecrazy", + "milestone": "0.62.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + } + ] + }, + "0.62.0": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "9935", + "title": "Release 0.62.0", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "web-flow", + "sampaiodiego", + "MartinSchoeler", + "renatobecker", + "engelgabriel", + "geekgonecrazy" + ] + }, + { + "pr": "9934", + "title": "[FIX] Typo on french translation for \"Open\"", + "userLogin": "sizrar", + "milestone": "0.62.0", + "contributors": [ + "sizrar", + "web-flow" + ] + }, + { + "pr": "9928", + "title": "Regression: Fix livechat queue link", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9931", + "title": "Regression: Directory now list default channel", + "userLogin": "karlprieb", + "milestone": "0.62.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9908", + "title": "Improve link handling for attachments", + "userLogin": "rodrigok", + "milestone": "0.62.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9883", + "title": "Regression: Misplaced language dropdown in user preferences panel", + "userLogin": "kaiiiiiiiii", + "milestone": "0.62.0", + "contributors": [ + "kaiiiiiiiii" + ] + }, + { + "pr": "9901", + "title": "Fix RHCC image path for OpenShift and default to the current namespace.", + "userLogin": "jsm84", + "contributors": [ + "jsm84", + "geekgonecrazy", + "web-flow" + ] + } + ] + }, + "0.62.1": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "9989", + "title": "Release 0.62.1", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9986", + "title": "[FIX] Delete user without username was removing direct rooms of all users", + "userLogin": "rodrigok", + "milestone": "0.62.1", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "9988", + "title": "[FIX] New channel page on medium size screens", + "userLogin": "karlprieb", + "milestone": "0.62.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9960", + "title": "[FIX] Empty sidenav when sorting by activity and there is a subscription without room", + "userLogin": "ggazzo", + "milestone": "0.62.1", + "contributors": [ + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9982", + "title": "[FIX] Two factor authentication modal was not showing", + "userLogin": "sampaiodiego", + "milestone": "0.62.1", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "0.62.2": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10087", + "title": "Release 0.62.2", + "userLogin": "rodrigok", + "milestone": "0.62.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10071", + "title": "[FIX] Slack Import reports `invalid import file type` due to a call to BSON.native() which is now doesn't exist", + "userLogin": "trongthanh", + "milestone": "0.62.2", + "contributors": [ + "trongthanh" + ] + }, + { + "pr": "9719", + "title": "[FIX] Verified property of user is always set to false if not supplied", + "userLogin": "MarcosSpessatto", + "milestone": "0.62.2", + "contributors": [ + "MarcosSpessatto", + "rodrigok" + ] + }, + { + "pr": "10076", + "title": "[FIX] Update preferences of users with settings: null was crashing the server", + "userLogin": "rodrigok", + "milestone": "0.62.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10009", + "title": "[FIX] REST API: Can't list all public channels when user has permission `view-joined-room`", + "userLogin": "MarcosSpessatto", + "milestone": "0.62.2", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10061", + "title": "[FIX] Message editing is crashing the server when read receipts are enabled", + "userLogin": "sampaiodiego", + "milestone": "0.62.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10029", + "title": "[FIX] Download links was duplicating Sub Paths", + "userLogin": "rodrigok", + "milestone": "0.62.2", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.63.0-rc.0": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10246", + "title": "[NEW] Interface to install and manage RocketChat Apps (alpha)", + "userLogin": "ggazzo", + "milestone": "0.63.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "10243", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.63.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10012", + "title": "[FIX] \"View All Members\" button inside channel's \"User Info\" is over sized", + "userLogin": "karlprieb", + "milestone": "0.63.0", + "contributors": [ + "karlprieb", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10242", + "title": "Revert \"[FIX] Apostrophe-containing URL misparsed\"", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "10054", + "title": "[NEW] Livechat messages rest APIs", + "userLogin": "hmagarotto", + "milestone": "0.63.0", + "contributors": [ + "hmagarotto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9907", + "title": "[NEW] Endpoint to retrieve message read receipts", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10237", + "title": "Rename migration name on 108 to match file name", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "10159", + "title": "Fix typo for Nextcloud login", + "userLogin": "pierreozoux", + "milestone": "0.63.0", + "contributors": [ + "pierreozoux", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "10222", + "title": "[FIX] user status on sidenav", + "userLogin": "ggazzo", + "milestone": "0.63.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "10152", + "title": "[FIX] Dynamic CSS script isn't working on older browsers", + "userLogin": "karlprieb", + "milestone": "0.63.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9816", + "title": "[NEW] Add option to login via REST using Facebook and Twitter tokens", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "9629", + "title": "[NEW] Add REST endpoint to get the list of custom emojis", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "9947", + "title": "[NEW] GDPR Right to be forgotten/erased", + "userLogin": "Hudell", + "milestone": "0.63.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10105", + "title": "[NEW] Added endpoint to retrieve mentions of a channel", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10160", + "title": "[FIX] Extended view mode on sidebar", + "userLogin": "karlprieb", + "milestone": "0.63.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "10082", + "title": "[FIX] Cannot answer to a livechat as a manager if agent has not answered yet", + "userLogin": "kb0304", + "milestone": "0.63.0", + "contributors": [ + "kb0304", + "web-flow" + ] + }, + { + "pr": "9584", + "title": "[NEW] Add leave public channel & leave private channel permissions", + "userLogin": "kb0304", + "milestone": "0.63.0", + "contributors": [ + "kb0304", + "graywolf336", + "web-flow" + ] + }, + { + "pr": "10128", + "title": "[NEW] Added GET/POST channels.notifications", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10103", + "title": "[BREAK] Removed Private History Route", + "userLogin": "Hudell", + "milestone": "0.63.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "9866", + "title": "[FIX] User status missing on user info", + "userLogin": "lunaticmonk", + "milestone": "0.63.0", + "contributors": [ + "lunaticmonk" + ] + }, + { + "pr": "9672", + "title": "[FIX] Name of files in file upload list cuts down at bottom due to overflow", + "userLogin": "lunaticmonk", + "milestone": "0.63.0", + "contributors": [ + "lunaticmonk" + ] + }, + { + "pr": "9783", + "title": "[FIX] No pattern for user's status text capitalization", + "userLogin": "lunaticmonk", + "milestone": "0.63.0", + "contributors": [ + "lunaticmonk" + ] + }, + { + "pr": "9739", + "title": "[FIX] Apostrophe-containing URL misparsed", + "userLogin": "lunaticmonk", + "milestone": "0.63.0", + "contributors": [ + "lunaticmonk" + ] + }, + { + "pr": "9860", + "title": "[FIX] Popover divs don't scroll if they overflow the viewport", + "userLogin": "Joe-mcgee", + "milestone": "0.63.0", + "contributors": [ + "Joe-mcgee", + "web-flow" + ] + }, + { + "pr": "10086", + "title": "[NEW] Reply preview", + "userLogin": "ubarsaiyan", + "milestone": "0.63.0", + "contributors": [ + "ubarsaiyan", + "web-flow" + ] + }, + { + "pr": "10104", + "title": "[FIX] Reactions not working on mobile", + "userLogin": "ggazzo", + "milestone": "0.63.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "10123", + "title": "[NEW] Support for agent's phone field", + "userLogin": "renatobecker", + "milestone": "0.63.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "9872", + "title": "[FIX] Broken video call accept dialog", + "userLogin": "ramrami", + "milestone": "0.63.0", + "contributors": [ + "ramrami" + ] + }, + { + "pr": "10081", + "title": "[FIX] Wrong switch button border color", + "userLogin": "kb0304", + "milestone": "0.63.0", + "contributors": [ + "kb0304" + ] + }, + { + "pr": "10154", + "title": "Add a few listener supports for the Rocket.Chat Apps", + "userLogin": "graywolf336", + "milestone": "0.63.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10148", + "title": "Add forums as a place to suggest, discuss and upvote features", + "userLogin": "SeanPackham", + "contributors": [ + "SeanPackham", + "web-flow" + ] + }, + { + "pr": "10090", + "title": "[FIX] Nextcloud as custom oauth provider wasn't mapping data correctly", + "userLogin": "pierreozoux", + "milestone": "0.63.0", + "contributors": [ + "pierreozoux", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "10144", + "title": "[NEW] Added endpoint to get the list of available oauth services", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10016", + "title": "[FIX] Missing sidebar default options on admin", + "userLogin": "karlprieb", + "milestone": "0.63.0", + "contributors": [ + "karlprieb", + "web-flow" + ] + }, + { + "pr": "8667", + "title": "[FIX] Able to react with invalid emoji", + "userLogin": "mutdmour", + "milestone": "0.63.0", + "contributors": [ + "mutdmour", + "rodrigok", + "web-flow", + "MarcosSpessatto" + ] + }, + { + "pr": "9742", + "title": "[NEW] REST API method to set room's announcement (channels.setAnnouncement)", + "userLogin": "TopHattedCat", + "milestone": "0.63.0", + "contributors": [ + "TopHattedCat", + "web-flow" + ] + }, + { + "pr": "9726", + "title": "[NEW] Audio recording as mp3 and better ui for recording", + "userLogin": "kb0304", + "milestone": "0.63.0", + "contributors": [ + "kb0304", + "rodrigok", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "9732", + "title": "[NEW] Setting to configure max delta for 2fa", + "userLogin": "Hudell", + "milestone": "0.63.0", + "contributors": [ + "Hudell", + "web-flow", + "engelgabriel", + "sampaiodiego" + ] + }, + { + "pr": "9870", + "title": "[NEW] Livechat webhook request on message", + "userLogin": "hmagarotto", + "milestone": "0.63.0", + "contributors": [ + "hmagarotto", + "web-flow" + ] + }, + { + "pr": "10071", + "title": "[FIX] Slack Import reports `invalid import file type` due to a call to BSON.native() which is now doesn't exist", + "userLogin": "trongthanh", + "milestone": "0.62.2", + "contributors": [ + "trongthanh" + ] + }, + { + "pr": "9719", + "title": "[FIX] Verified property of user is always set to false if not supplied", + "userLogin": "MarcosSpessatto", + "milestone": "0.62.2", + "contributors": [ + "MarcosSpessatto", + "rodrigok" + ] + }, + { + "pr": "10076", + "title": "[FIX] Update preferences of users with settings: null was crashing the server", + "userLogin": "rodrigok", + "milestone": "0.62.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10065", + "title": "Fix tests breaking randomly", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10009", + "title": "[FIX] REST API: Can't list all public channels when user has permission `view-joined-room`", + "userLogin": "MarcosSpessatto", + "milestone": "0.62.2", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10061", + "title": "[FIX] Message editing is crashing the server when read receipts are enabled", + "userLogin": "sampaiodiego", + "milestone": "0.62.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10029", + "title": "[FIX] Download links was duplicating Sub Paths", + "userLogin": "rodrigok", + "milestone": "0.62.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10051", + "title": "[FIX] User preferences can't be saved when roles are hidden in admin settings", + "userLogin": "Hudell", + "milestone": "0.63.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "9367", + "title": "[NEW] Announcement bar color wasn't using color from theming variables", + "userLogin": "cyclops24", + "milestone": "0.63.0", + "contributors": [ + "cyclops24", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "9932", + "title": "[FIX] Browser was auto-filling values when editing another user profile", + "userLogin": "kaiiiiiiiii", + "milestone": "0.63.0", + "contributors": [ + "kaiiiiiiiii" + ] + }, + { + "pr": "10011", + "title": "[FIX] Avatar input was accepting not supported image types", + "userLogin": "karlprieb", + "milestone": "0.63.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "10028", + "title": "[FIX] Initial loading feedback was missing", + "userLogin": "karlprieb", + "milestone": "0.63.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "10036", + "title": "[OTHER] Reactivate all tests", + "userLogin": "rodrigok", + "milestone": "0.63.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9844", + "title": "[OTHER] Reactivate API tests", + "userLogin": "karlprieb", + "contributors": [ + "karlprieb", + "MarcosSpessatto" + ] + }, + { + "pr": "9986", + "title": "[FIX] Delete user without username was removing direct rooms of all users", + "userLogin": "rodrigok", + "milestone": "0.62.1", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "9982", + "title": "[FIX] Two factor authentication modal was not showing", + "userLogin": "sampaiodiego", + "milestone": "0.62.1", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "9960", + "title": "[FIX] Empty sidenav when sorting by activity and there is a subscription without room", + "userLogin": "ggazzo", + "milestone": "0.62.1", + "contributors": [ + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9988", + "title": "[FIX] New channel page on medium size screens", + "userLogin": "karlprieb", + "milestone": "0.62.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9985", + "title": "Start 0.63.0-develop / develop sync from master", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10087", + "title": "Release 0.62.2", + "userLogin": "rodrigok", + "milestone": "0.62.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9986", + "title": "[FIX] Delete user without username was removing direct rooms of all users", + "userLogin": "rodrigok", + "milestone": "0.62.1", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "9988", + "title": "[FIX] New channel page on medium size screens", + "userLogin": "karlprieb", + "milestone": "0.62.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9960", + "title": "[FIX] Empty sidenav when sorting by activity and there is a subscription without room", + "userLogin": "ggazzo", + "milestone": "0.62.1", + "contributors": [ + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9982", + "title": "[FIX] Two factor authentication modal was not showing", + "userLogin": "sampaiodiego", + "milestone": "0.62.1", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "0.63.0-rc.1": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10272", + "title": "[FIX] File had redirect delay when using external storage services and no option to proxy only avatars", + "userLogin": "rodrigok", + "milestone": "0.63.0", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "10257", + "title": "Fix: Renaming channels.notifications Get/Post endpoints", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10262", + "title": "[FIX] Missing pt-BR translations", + "userLogin": "sampaiodiego", + "milestone": "0.63.0", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "10240", + "title": "[FIX] /me REST endpoint was missing user roles and preferences", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10260", + "title": "Fix caddy download link to pull from github", + "userLogin": "geekgonecrazy", + "milestone": "0.63.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "10252", + "title": "Fix: possible errors on rocket.chat side of the apps", + "userLogin": "graywolf336", + "milestone": "0.63.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10015", + "title": "Fix snap install. Remove execstack from sharp, and bypass grpc error", + "userLogin": "geekgonecrazy", + "milestone": "0.63.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + } + ] + }, + "0.63.0-rc.2": { + "node_version": "8.9.4", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10078", + "title": "[FIX] Unable to mention after newline in message", + "userLogin": "c0dzilla", + "milestone": "0.63.0", + "contributors": [ + "c0dzilla" + ] + }, + { + "pr": "10224", + "title": "[FIX] Wrong pagination information on /api/v1/channels.members", + "userLogin": "MarcosSpessatto", + "milestone": "0.63.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10163", + "title": "[FIX] Inline code following a url leads to autolinking of code with url", + "userLogin": "c0dzilla", + "milestone": "0.63.0", + "contributors": [ + "c0dzilla" + ] + }, + { + "pr": "10258", + "title": "[FIX] Incoming Webhooks were missing the raw content", + "userLogin": "Hudell", + "milestone": "0.63.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10270", + "title": "[FIX] Missing Translation Key on Reactions", + "userLogin": "bernardoetrevisan", + "milestone": "0.63.0", + "contributors": [ + "bernardoetrevisan", + "web-flow", + "graywolf336" + ] + }, + { + "pr": "10274", + "title": "Fix: inputs for rocketchat apps", + "userLogin": "ggazzo", + "milestone": "0.63.0", + "contributors": [ + "ggazzo", + "web-flow", + "graywolf336" + ] + }, + { + "pr": "10290", + "title": "Fix: chat.react api not accepting previous emojis", + "userLogin": "graywolf336", + "milestone": "0.63.0", + "contributors": [ + "graywolf336", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "10300", + "title": "Fix: Scroll on content page", + "userLogin": "ggazzo", + "milestone": "0.63.0", + "contributors": [ + "ggazzo" + ] + } + ] + }, + "0.63.0": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10324", + "title": "Release 0.63.0", + "userLogin": "rodrigok", + "milestone": "0.63.0", + "contributors": [ + "kb0304", + "MarcosSpessatto", + "hmagarotto", + "engelgabriel", + "web-flow", + "TopHattedCat", + "karlprieb", + "Joe-mcgee", + "lunaticmonk", + "ramrami", + "kaiiiiiiiii", + "Hudell", + "ggazzo", + "rodrigok" + ] + }, + { + "pr": "10087", + "title": "Release 0.62.2", + "userLogin": "rodrigok", + "milestone": "0.62.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9986", + "title": "[FIX] Delete user without username was removing direct rooms of all users", + "userLogin": "rodrigok", + "milestone": "0.62.1", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "9988", + "title": "[FIX] New channel page on medium size screens", + "userLogin": "karlprieb", + "milestone": "0.62.1", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "9960", + "title": "[FIX] Empty sidenav when sorting by activity and there is a subscription without room", + "userLogin": "ggazzo", + "milestone": "0.62.1", + "contributors": [ + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9982", + "title": "[FIX] Two factor authentication modal was not showing", + "userLogin": "sampaiodiego", + "milestone": "0.62.1", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "10303", + "title": "[FIX] Audio Message UI fixes", + "userLogin": "kb0304", + "contributors": [ + "kb0304", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "10319", + "title": "[NEW] Improve history generation", + "userLogin": "rodrigok", + "milestone": "0.63.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10323", + "title": "Fix: Reaction endpoint/api only working with regular emojis", + "userLogin": "graywolf336", + "milestone": "0.63.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10313", + "title": "Bump snap version to include security fix", + "userLogin": "geekgonecrazy", + "milestone": "0.63.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "10314", + "title": "Update Meteor to 1.6.1.1", + "userLogin": "rodrigok", + "milestone": "0.63.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.63.1": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10374", + "title": "Release 0.63.1", + "userLogin": "sampaiodiego", + "contributors": [ + "TechyPeople", + "web-flow", + "tttt-conan", + "rodrigok", + "geekgonecrazy", + "graywolf336", + "kaiiiiiiiii", + "sampaiodiego" + ] + }, + { + "pr": "10324", + "title": "Release 0.63.0", + "userLogin": "rodrigok", + "milestone": "0.63.0", + "contributors": [ + "kb0304", + "MarcosSpessatto", + "hmagarotto", + "engelgabriel", + "web-flow", + "TopHattedCat", + "karlprieb", + "Joe-mcgee", + "lunaticmonk", + "ramrami", + "kaiiiiiiiii", + "Hudell", + "ggazzo", + "rodrigok" + ] + }, + { + "pr": "10324", + "title": "Release 0.63.0", + "userLogin": "rodrigok", + "milestone": "0.63.0", + "contributors": [ + "kb0304", + "MarcosSpessatto", + "hmagarotto", + "engelgabriel", + "web-flow", + "TopHattedCat", + "karlprieb", + "Joe-mcgee", + "lunaticmonk", + "ramrami", + "kaiiiiiiiii", + "Hudell", + "ggazzo", + "rodrigok" + ] + } + ] + }, + "0.63.2": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10476", + "title": "Release 0.63.2", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336", + "web-flow" + ] + }, + { + "pr": "10408", + "title": "add redhat dockerfile to master", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.63.3": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10504", + "title": "Release 0.63.3", + "userLogin": "graywolf336", + "contributors": [ + "rafaelks", + "graywolf336" + ] + } + ] + }, + "0.64.0-rc.0": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10532", + "title": "Included missing lib for migrations", + "userLogin": "Hudell", + "milestone": "0.64.0", + "contributors": [ + "Hudell", + "rodrigok" + ] + }, + { + "pr": "10502", + "title": "[NEW] Option to mute group mentions (@all and @here)", + "userLogin": "Hudell", + "milestone": "0.64.0", + "contributors": [ + "Hudell", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "9906", + "title": "[NEW] GDPR - Right to access and Data Portability", + "userLogin": "Hudell", + "milestone": "0.64.0", + "contributors": [ + "Hudell", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "9922", + "title": "[BREAK] Validate incoming message schema", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto", + "ggazzo" + ] + }, + { + "pr": "9950", + "title": "[NEW] Broadcast Channels", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo", + "web-flow", + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "10480", + "title": "[FIX] Add user object to responses in /*.files Rest endpoints", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok" + ] + }, + { + "pr": "10517", + "title": "[NEW] Option to ignore users on channels", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo", + "gdelavald", + "web-flow", + "karlprieb" + ] + }, + { + "pr": "10110", + "title": "[NEW] Search Provider Framework", + "userLogin": "tkurz", + "milestone": "0.64.0", + "contributors": [ + "tkurz", + "web-flow" + ] + }, + { + "pr": "10473", + "title": "[FIX] Missing user data on files uploaded through the API", + "userLogin": "Hudell", + "milestone": "0.64.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10498", + "title": "[FIX] Rename method to clean history of messages", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10410", + "title": "[FIX] REST spotlight API wasn't allowing searches with # and @", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10505", + "title": "Develop sync", + "userLogin": "graywolf336", + "contributors": [ + "geekgonecrazy", + "web-flow", + "graywolf336", + "nsuchy", + "rodrigok", + "rafaelks", + "engelgabriel" + ] + }, + { + "pr": "10442", + "title": "[NEW] REST API endpoint `/directory`", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10482", + "title": "[FIX] Dropdown elements were using old styles", + "userLogin": "kaiiiiiiiii", + "milestone": "0.64.0", + "contributors": [ + "kaiiiiiiiii" + ] + }, + { + "pr": "10513", + "title": "Fix: Remove \"secret\" from REST endpoint /settings.oauth response", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10403", + "title": "[FIX] Directory sort and column sizes were wrong", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo", + "web-flow", + "karlprieb" + ] + }, + { + "pr": "10299", + "title": "[FIX] REST API OAuth services endpoint were missing fields and flag to indicate custom services", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10446", + "title": "[FIX] Error messages weren't been displayed when email verification fails", + "userLogin": "Hudell", + "milestone": "0.64.0", + "contributors": [ + "Hudell", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10454", + "title": "[FIX] Wrong column positions in the directory search for users", + "userLogin": "lunaticmonk", + "milestone": "0.64.0", + "contributors": [ + "lunaticmonk", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10463", + "title": "[FIX] Custom fields was misaligned in registration form", + "userLogin": "dschuan", + "milestone": "0.64.0", + "contributors": [ + "dschuan", + "web-flow" + ] + }, + { + "pr": "10341", + "title": "[FIX] Unique identifier file not really being unique", + "userLogin": "abernix", + "milestone": "0.64.0", + "contributors": [ + "abernix", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "10335", + "title": "[OTHER] More Listeners for Apps & Utilize Promises inside Apps", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10404", + "title": "[FIX] Empty panel after changing a user's username", + "userLogin": "Hudell", + "milestone": "0.64.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10418", + "title": " [FIX] Russian translation of \"False\"", + "userLogin": "strangerintheq", + "contributors": [ + "strangerintheq", + "web-flow" + ] + }, + { + "pr": "10496", + "title": "[FIX] Links being embedded inside of blockquotes", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10485", + "title": "[FIX] The 'channel.messages' REST API Endpoint error", + "userLogin": "rafaelks", + "milestone": "0.64.0", + "contributors": [ + "rafaelks", + "web-flow" + ] + }, + { + "pr": "10487", + "title": "[OTHER] Develop sync", + "userLogin": "graywolf336", + "contributors": [ + "geekgonecrazy", + "web-flow", + "graywolf336" + ] + }, + { + "pr": "10358", + "title": "[FIX] Button on user info contextual bar scrolling with the content", + "userLogin": "okaybroda", + "milestone": "0.64.0", + "contributors": [ + "okaybroda", + "ggazzo", + "web-flow", + "karlprieb", + "graywolf336" + ] + }, + { + "pr": "9824", + "title": "[FIX] \"Idle Time Limit\" using milliseconds instead of seconds", + "userLogin": "kaiiiiiiiii", + "milestone": "0.64.0", + "contributors": [ + "kaiiiiiiiii", + "web-flow", + "geekgonecrazy", + "sampaiodiego", + "graywolf336" + ] + }, + { + "pr": "10259", + "title": "[NEW] Body of the payload on an incoming webhook is included on the request object", + "userLogin": "Hudell", + "milestone": "0.64.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10387", + "title": "[FIX] Missing i18n translation key for \"Unread\"", + "userLogin": "Hudell", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "9729", + "title": "[FIX] Owner unable to delete channel or group from APIs", + "userLogin": "c0dzilla", + "milestone": "0.64.0", + "contributors": [ + "c0dzilla", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "10371", + "title": "[NEW] REST endpoint to recover forgotten password", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10354", + "title": "[NEW] REST endpoint to report messages", + "userLogin": "MarcosSpessatto", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10108", + "title": "[NEW] Livechat setting to customize ended conversation message", + "userLogin": "renatobecker", + "milestone": "0.64.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "10369", + "title": "[FIX] Livechat translation files being ignored", + "userLogin": "renatobecker", + "milestone": "0.64.0", + "contributors": [ + "renatobecker", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "7964", + "title": "[NEW] Twilio MMS support for LiveChat integration", + "userLogin": "t3hchipmunk", + "milestone": "0.64.0", + "contributors": [ + "t3hchipmunk", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "6673", + "title": "[FIX] Missing page \"not found\"", + "userLogin": "Prakharsvnit", + "milestone": "0.64.0", + "contributors": [ + "Prakharsvnit", + "web-flow", + "geekgonecrazy", + "karlprieb" + ] + }, + { + "pr": "10083", + "title": "[FIX] \"Highlight Words\" wasn't working with more than one word", + "userLogin": "nemaniarjun", + "milestone": "0.64.0", + "contributors": [ + "nemaniarjun", + "gdelavald", + "web-flow" + ] + }, + { + "pr": "10171", + "title": "[FIX] Missing \"Administration\" menu for user with manage-emoji permission", + "userLogin": "c0dzilla", + "milestone": "0.64.0", + "contributors": [ + "c0dzilla", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10395", + "title": "[FIX] Message view mode setting was missing at user's preferences ", + "userLogin": "kaiiiiiiiii", + "milestone": "0.64.0", + "contributors": [ + "kaiiiiiiiii", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10399", + "title": "[FIX] Profile image was not being shown in user's directory search", + "userLogin": "lunaticmonk", + "milestone": "0.64.0", + "contributors": [ + "lunaticmonk", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10342", + "title": "[NEW] REST API endpoint `rooms.favorite` to favorite and unfavorite rooms", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10428", + "title": "[FIX] Wrong positioning of popover when using RTL languages", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10472", + "title": "[FIX] Messages was grouping wrong some times when server is slow", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10225", + "title": "[FIX] GitLab authentication scope was too open, reduced to read only access", + "userLogin": "rafaelks", + "milestone": "0.64.0", + "contributors": [ + "rafaelks", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "10344", + "title": "[FIX] Renaming agent's username within Livechat's department", + "userLogin": "renatobecker", + "milestone": "0.64.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "10394", + "title": "[FIX] Missing RocketApps input types", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo", + "web-flow", + "graywolf336", + "karlprieb" + ] + }, + { + "pr": "10221", + "title": "[FIX] Livechat desktop notifications not being displayed", + "userLogin": "renatobecker", + "milestone": "0.64.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "10336", + "title": "Change Docker-Compose to use mmapv1 storage engine for mongo", + "userLogin": "geekgonecrazy", + "milestone": "0.64.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "10396", + "title": "[NEW] Add internal API to handle room announcements", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10409", + "title": "[FIX] Autocomplete list when inviting a user was partial hidden", + "userLogin": "karlprieb", + "milestone": "0.64.0", + "contributors": [ + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10423", + "title": "[FIX] Remove a user from the user's list when creating a new channel removes the wrong user", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10430", + "title": "[FIX] Room's name was cutting instead of having ellipses on sidebar", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10435", + "title": "Add some missing translations", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10437", + "title": "[NEW] Add message preview when quoting another message", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10438", + "title": "[FIX] Button to delete rooms by the owners wasn't appearing", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "10439", + "title": "[NEW] Prevent the browser to autocomplete some setting fields", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10441", + "title": "[OTHER] Removed the developer warning on the rest api", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10444", + "title": "[NEW] Shows user's real name on autocomplete popup", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10414", + "title": "[NEW] Automatically trigger Redhat registry build when tagging new release", + "userLogin": "geekgonecrazy", + "milestone": "0.64.0", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "10397", + "title": "Fix and improve vietnamese translation", + "userLogin": "tttt-conan", + "contributors": [ + "tttt-conan", + "TDiNguyen", + "graywolf336", + "web-flow" + ] + }, + { + "pr": "10411", + "title": "[BREAK] The property \"settings\" is no longer available to regular users via rest api", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "9946", + "title": "[FIX] Updated OpenShift Template to take an Image as a Param", + "userLogin": "christianh814", + "contributors": [ + "christianh814", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "10405", + "title": "Use Node 8.9 for CI build", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "9576", + "title": "[FIX] Incoming integrations being able to trigger an empty message with a GET", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10360", + "title": "Update allowed labels for bot", + "userLogin": "TwizzyDizzy", + "contributors": [ + "TwizzyDizzy", + "web-flow" + ] + }, + { + "pr": "10384", + "title": "Remove @core team mention from Pull Request template", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10390", + "title": "[FIX] Snaps installations are breaking on avatar requests", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10234", + "title": "New issue template for *Release Process*", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "10376", + "title": "Master into Develop Branch Sync", + "userLogin": "graywolf336", + "contributors": [ + "sampaiodiego", + "rodrigok", + "web-flow", + "graywolf336" + ] + }, + { + "pr": "10504", + "title": "Release 0.63.3", + "userLogin": "graywolf336", + "contributors": [ + "rafaelks", + "graywolf336" + ] + }, + { + "pr": "10476", + "title": "Release 0.63.2", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336", + "web-flow" + ] + }, + { + "pr": "10408", + "title": "add redhat dockerfile to master", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.64.0-rc.1": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10545", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.64.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10544", + "title": "Regression: Revert announcement structure", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10543", + "title": "Regression: Upload was not working", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.64.0-rc.2": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10549", + "title": "Deps update", + "userLogin": "engelgabriel", + "milestone": "0.64.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10560", + "title": "Regression: /api/v1/settings.oauth not returning clientId for Twitter", + "userLogin": "cardoso", + "milestone": "0.64.0", + "contributors": [ + "cardoso", + "web-flow" + ] + }, + { + "pr": "10555", + "title": "Regression: Webhooks breaking due to restricted test", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10559", + "title": "Regression: Rooms and Apps weren't playing nice with each other", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10554", + "title": "Regression: Fix announcement bar being displayed without content", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald" + ] + } + ] + }, + "0.64.0-rc.3": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10550", + "title": "[FIX] Wordpress oAuth authentication wasn't behaving correctly", + "userLogin": "kaiiiiiiiii", + "milestone": "0.64.0", + "contributors": [ + "kaiiiiiiiii" + ] + }, + { + "pr": "10553", + "title": "Regression: Inconsistent response of settings.oauth endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10571", + "title": "Regression: Remove added mentions on quote/reply", + "userLogin": "gdelavald", + "milestone": "0.64.0", + "contributors": [ + "gdelavald", + "rodrigok" + ] + }, + { + "pr": "10573", + "title": "Regression: Attachments and fields incorrectly failing on validation", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336" + ] + } + ] + }, + "0.64.0-rc.4": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10558", + "title": "[FIX] Switch buttons were cutting in RTL mode", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "10574", + "title": "[NEW] Add information regarding Zapier and Bots to the integrations page", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10575", + "title": "Regression: Rocket.Chat App author link opens in same window", + "userLogin": "kaiiiiiiiii", + "milestone": "0.64.0", + "contributors": [ + "kaiiiiiiiii", + "web-flow" + ] + }, + { + "pr": "10503", + "title": "[FIX] Stop Firefox announcement overflowing viewport", + "userLogin": "brendangadd", + "milestone": "0.64.0", + "contributors": [ + "brendangadd", + "web-flow" + ] + } + ] + }, + "0.64.0": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10613", + "title": "Release 0.64.0", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "web-flow", + "graywolf336", + "TwizzyDizzy", + "christianh814", + "tttt-conan", + "gdelavald", + "ggazzo" + ] + }, + { + "pr": "10504", + "title": "Release 0.63.3", + "userLogin": "graywolf336", + "contributors": [ + "rafaelks", + "graywolf336" + ] + }, + { + "pr": "10476", + "title": "Release 0.63.2", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336", + "web-flow" + ] + }, + { + "pr": "10408", + "title": "add redhat dockerfile to master", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + }, + { + "pr": "10591", + "title": "Regression: Various search provider fixes", + "userLogin": "tkurz", + "milestone": "0.64.0", + "contributors": [ + "tkurz", + "web-flow", + "engelgabriel", + "sampaiodiego" + ] + }, + { + "pr": "10596", + "title": "Regression: /api/v1/settings.oauth not sending needed info for SAML & CAS", + "userLogin": "cardoso", + "milestone": "0.64.0", + "contributors": [ + "cardoso", + "web-flow" + ] + }, + { + "pr": "10598", + "title": "Regression: Apps and Livechats not getting along well with each other", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10551", + "title": " [FIX] Missing \"Administration\" menu for users with some administration permissions", + "userLogin": "kaiiiiiiiii", + "milestone": "0.64.0", + "contributors": [ + "kaiiiiiiiii" + ] + }, + { + "pr": "10599", + "title": "[FIX] Member list search with no results", + "userLogin": "ggazzo", + "milestone": "0.64.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10586", + "title": "Development: Add Visual Studio Code debugging configuration", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10576", + "title": "[FIX] Integrations with room data not having the usernames filled in", + "userLogin": "graywolf336", + "milestone": "0.64.0", + "contributors": [ + "graywolf336", + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "0.64.1": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10660", + "title": "Release 0.64.1", + "userLogin": "rodrigok", + "milestone": "0.64.1", + "contributors": [ + "saplla", + "web-flow", + "engelgabriel", + "graywolf336", + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10597", + "title": "[NEW] Store the last sent message to show bellow the room's name by default", + "userLogin": "graywolf336", + "milestone": "0.64.1", + "contributors": [ + "graywolf336", + "engelgabriel", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "10529", + "title": "Support passing extra connection options to the Mongo driver", + "userLogin": "saplla", + "milestone": "0.64.1", + "contributors": [ + "saplla", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "10615", + "title": "[FIX] E-mails were hidden some information", + "userLogin": "rodrigok", + "milestone": "0.64.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10611", + "title": "Regression: Updating an App on multi-instance servers wasn't working", + "userLogin": "graywolf336", + "milestone": "0.64.1", + "contributors": [ + "graywolf336", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10627", + "title": "[FIX] Regression on 0.64.0 was freezing the application when posting some URLs", + "userLogin": "rodrigok", + "milestone": "0.64.1", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10648", + "title": "Dependencies update", + "userLogin": "engelgabriel", + "milestone": "0.64.1", + "contributors": [ + "engelgabriel" + ] + } + ] + }, + "0.64.2-rc.0": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10736", + "title": "More improvements on send notifications logic", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10720", + "title": "[FIX] Send a message when muted returns inconsistent result in chat.sendMessage", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.2", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10733", + "title": "[FIX] Regression: Empty content on announcement modal", + "userLogin": "gdelavald", + "milestone": "0.64.2", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10607", + "title": "[NEW] Add REST endpoints `channels.roles` & `groups.roles`", + "userLogin": "cardoso", + "milestone": "0.64.2", + "contributors": [ + "cardoso", + "web-flow", + "rafaelks" + ] + }, + { + "pr": "10724", + "title": "[NEW] Add more options for Wordpress OAuth configuration", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10523", + "title": "[NEW] Setup Wizard", + "userLogin": "karlprieb", + "milestone": "0.64.2", + "contributors": [ + "karlprieb", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10691", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10686", + "title": "[NEW] Improvements to notifications logic", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10705", + "title": "[FIX] Missing attachment description when Rocket.Chat Apps were enabled", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10445", + "title": "[FIX] Improve desktop notification formatting", + "userLogin": "Sameesunkaria", + "milestone": "0.64.2", + "contributors": [ + "Sameesunkaria", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10524", + "title": "Add `npm run postinstall` into example build script", + "userLogin": "peccu", + "milestone": "0.64.2", + "contributors": [ + "peccu", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "10678", + "title": "[FIX] Message box emoji icon was flickering when typing a text", + "userLogin": "gdelavald", + "milestone": "0.64.2", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10674", + "title": "Correct links in README file", + "userLogin": "winterstefan", + "milestone": "0.64.2", + "contributors": [ + "winterstefan" + ] + }, + { + "pr": "10665", + "title": "[FIX] Channel owner was being set as muted when creating a read-only channel", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.2", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10681", + "title": "[FIX] SAML wasn't working correctly when running multiple instances", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell", + "rodrigok", + "web-flow" + ] + } + ] + }, + "0.64.2-rc.1": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10789", + "title": "Prometheus: Improve metric names", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10788", + "title": "Improvement to push notifications on direct messages", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10786", + "title": "Better metric for notifications", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10779", + "title": "Add badge back to push notifications", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10776", + "title": "Wizard improvements", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10766", + "title": "Add setting and expose prometheus on port 9100", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10760", + "title": "Regression: Fix notifications for direct messages", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.64.2-rc.2": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10798", + "title": "Prometheus: Add metric to track hooks time", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10802", + "title": "Regression: Autorun of wizard was not destroyed after completion", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10803", + "title": "Prometheus: Fix notification metric", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10804", + "title": "Regression: Fix wrong wizard field name", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10793", + "title": "[FIX] Not escaping special chars on mentions", + "userLogin": "erhan-", + "milestone": "0.64.2", + "contributors": [ + "erhan-", + "sampaiodiego" + ] + } + ] + }, + "0.64.2": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10812", + "title": "Release 0.64.2", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "Hudell", + "rodrigok", + "web-flow", + "MarcosSpessatto", + "winterstefan", + "gdelavald", + "peccu", + "Sameesunkaria", + "sampaiodiego", + "engelgabriel", + "karlprieb", + "cardoso", + "erhan-" + ] + }, + { + "pr": "10798", + "title": "Prometheus: Add metric to track hooks time", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10802", + "title": "Regression: Autorun of wizard was not destroyed after completion", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10803", + "title": "Prometheus: Fix notification metric", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10804", + "title": "Regression: Fix wrong wizard field name", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10793", + "title": "[FIX] Not escaping special chars on mentions", + "userLogin": "erhan-", + "milestone": "0.64.2", + "contributors": [ + "erhan-", + "sampaiodiego" + ] + }, + { + "pr": "10789", + "title": "Prometheus: Improve metric names", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10788", + "title": "Improvement to push notifications on direct messages", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10786", + "title": "Better metric for notifications", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10779", + "title": "Add badge back to push notifications", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10776", + "title": "Wizard improvements", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10766", + "title": "Add setting and expose prometheus on port 9100", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10760", + "title": "Regression: Fix notifications for direct messages", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10736", + "title": "More improvements on send notifications logic", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10720", + "title": "[FIX] Send a message when muted returns inconsistent result in chat.sendMessage", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.2", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10733", + "title": "[FIX] Regression: Empty content on announcement modal", + "userLogin": "gdelavald", + "milestone": "0.64.2", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10607", + "title": "[NEW] Add REST endpoints `channels.roles` & `groups.roles`", + "userLogin": "cardoso", + "milestone": "0.64.2", + "contributors": [ + "cardoso", + "web-flow", + "rafaelks" + ] + }, + { + "pr": "10724", + "title": "[NEW] Add more options for Wordpress OAuth configuration", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10523", + "title": "[NEW] Setup Wizard", + "userLogin": "karlprieb", + "milestone": "0.64.2", + "contributors": [ + "karlprieb", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10691", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10686", + "title": "[NEW] Improvements to notifications logic", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10705", + "title": "[FIX] Missing attachment description when Rocket.Chat Apps were enabled", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10445", + "title": "[FIX] Improve desktop notification formatting", + "userLogin": "Sameesunkaria", + "milestone": "0.64.2", + "contributors": [ + "Sameesunkaria", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10524", + "title": "Add `npm run postinstall` into example build script", + "userLogin": "peccu", + "milestone": "0.64.2", + "contributors": [ + "peccu", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "10678", + "title": "[FIX] Message box emoji icon was flickering when typing a text", + "userLogin": "gdelavald", + "milestone": "0.64.2", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10674", + "title": "Correct links in README file", + "userLogin": "winterstefan", + "milestone": "0.64.2", + "contributors": [ + "winterstefan" + ] + }, + { + "pr": "10665", + "title": "[FIX] Channel owner was being set as muted when creating a read-only channel", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.2", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10681", + "title": "[FIX] SAML wasn't working correctly when running multiple instances", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell", + "rodrigok", + "web-flow" + ] + } + ] + }, + "0.65.0-rc.0": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10822", + "title": "Apps: Command Previews, Message and Room Removal Events", + "userLogin": "graywolf336", + "milestone": "0.65.0", + "contributors": [ + "graywolf336", + "rodrigok", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "9857", + "title": "[NEW] Implement a local password policy", + "userLogin": "graywolf336", + "milestone": "0.65.0", + "contributors": [ + "graywolf336", + "rodrigok" + ] + }, + { + "pr": "10663", + "title": "[FIX] Livechat managers were not being able to send messages in some cases", + "userLogin": "renatobecker", + "milestone": "0.65.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "10584", + "title": "[NEW] Options to enable/disable each Livechat registration form field", + "userLogin": "renatobecker", + "milestone": "0.65.0", + "contributors": [ + "renatobecker", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "10612", + "title": "[FIX] Livechat settings not appearing correctly", + "userLogin": "renatobecker", + "milestone": "0.65.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "10677", + "title": "[NEW] Return the result of the `/me` endpoint within the result of the `/login` endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.65.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10815", + "title": "Develop sync", + "userLogin": "rodrigok", + "contributors": [ + "geekgonecrazy", + "web-flow", + "graywolf336", + "nsuchy", + "rodrigok", + "rafaelks", + "sampaiodiego" + ] + }, + { + "pr": "10608", + "title": "[NEW] Lazy load image attachments", + "userLogin": "ggazzo", + "milestone": "0.65.0", + "contributors": [ + "ggazzo", + "web-flow", + "karlprieb", + "rodrigok" + ] + }, + { + "pr": "10427", + "title": "[FIX] Enabling `Collapse Embedded Media by Default` was hiding replies and quotes", + "userLogin": "c0dzilla", + "milestone": "0.65.0", + "contributors": [ + "c0dzilla" + ] + }, + { + "pr": "10214", + "title": "[NEW] View pinned message's attachment", + "userLogin": "c0dzilla", + "milestone": "0.65.0", + "contributors": [ + "c0dzilla", + "karlprieb", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "10704", + "title": "[FIX] Missing option to disable/enable System Messages", + "userLogin": "ggazzo", + "milestone": "0.65.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10448", + "title": "[FIX] Remove outdated translations of Internal Hubot's description of Scripts to Load that were pointing to a non existent address", + "userLogin": "Hudell", + "milestone": "0.65.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10661", + "title": "Major dependencies update", + "userLogin": "engelgabriel", + "milestone": "0.65.0", + "contributors": [ + "engelgabriel", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "10702", + "title": "[NEW] Add REST API endpoint `users.getUsernameSuggestion` to get username suggestion", + "userLogin": "MarcosSpessatto", + "milestone": "0.65.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10488", + "title": "[NEW] REST API endpoint `settings` now allow set colors and trigger actions", + "userLogin": "ThomasRoehl", + "milestone": "0.65.0", + "contributors": [ + "ThomasRoehl", + "MarcosSpessatto" + ] + }, + { + "pr": "10778", + "title": "[NEW] Add REST endpoint `subscriptions.unread` to mark messages as unread", + "userLogin": "MarcosSpessatto", + "milestone": "0.65.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10662", + "title": "[NEW] REST API endpoint `/me` now returns all the settings, including the default values", + "userLogin": "MarcosSpessatto", + "milestone": "0.65.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10741", + "title": "[NEW] Now is possible to access files using header authorization (`x-user-id` and `x-auth-token`)", + "userLogin": "MarcosSpessatto", + "milestone": "0.65.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10564", + "title": "[FIX] UI was not disabling the actions when users has had no permissions to create channels or add users to rooms", + "userLogin": "chuckAtCataworx", + "milestone": "0.65.0", + "contributors": [ + "cfunkles", + "chuckAtCataworx", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "9679", + "title": "[NEW] Add REST API endpoints `channels.counters`, `groups.counters and `im.counters`", + "userLogin": "xbolshe", + "milestone": "0.65.0", + "contributors": [ + "xbolshe", + "MarcosSpessatto" + ] + }, + { + "pr": "9733", + "title": "[NEW] Add REST API endpoints `channels.setCustomFields` and `groups.setCustomFields`", + "userLogin": "xbolshe", + "milestone": "0.65.0", + "contributors": [ + "xbolshe", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10625", + "title": "[FIX] Private settings were not being cleared from client cache in some cases", + "userLogin": "Hudell", + "milestone": "0.65.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10811", + "title": "Prevent setup wizard redirects", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10798", + "title": "Prometheus: Add metric to track hooks time", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10802", + "title": "Regression: Autorun of wizard was not destroyed after completion", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10803", + "title": "Prometheus: Fix notification metric", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10804", + "title": "Regression: Fix wrong wizard field name", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10793", + "title": "[FIX] Not escaping special chars on mentions", + "userLogin": "erhan-", + "milestone": "0.64.2", + "contributors": [ + "erhan-", + "sampaiodiego" + ] + }, + { + "pr": "10789", + "title": "Prometheus: Improve metric names", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10788", + "title": "Improvement to push notifications on direct messages", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10786", + "title": "Better metric for notifications", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10779", + "title": "Add badge back to push notifications", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10776", + "title": "Wizard improvements", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10766", + "title": "Add setting and expose prometheus on port 9100", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10760", + "title": "Regression: Fix notifications for direct messages", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10736", + "title": "More improvements on send notifications logic", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10720", + "title": "[FIX] Send a message when muted returns inconsistent result in chat.sendMessage", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.2", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10733", + "title": "[FIX] Regression: Empty content on announcement modal", + "userLogin": "gdelavald", + "milestone": "0.64.2", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10607", + "title": "[NEW] Add REST endpoints `channels.roles` & `groups.roles`", + "userLogin": "cardoso", + "milestone": "0.64.2", + "contributors": [ + "cardoso", + "web-flow", + "rafaelks" + ] + }, + { + "pr": "10724", + "title": "[NEW] Add more options for Wordpress OAuth configuration", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10523", + "title": "[NEW] Setup Wizard", + "userLogin": "karlprieb", + "milestone": "0.64.2", + "contributors": [ + "karlprieb", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10691", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.64.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10686", + "title": "[NEW] Improvements to notifications logic", + "userLogin": "sampaiodiego", + "milestone": "0.64.2", + "contributors": [ + "sampaiodiego", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10705", + "title": "[FIX] Missing attachment description when Rocket.Chat Apps were enabled", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10445", + "title": "[FIX] Improve desktop notification formatting", + "userLogin": "Sameesunkaria", + "milestone": "0.64.2", + "contributors": [ + "Sameesunkaria", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10524", + "title": "Add `npm run postinstall` into example build script", + "userLogin": "peccu", + "milestone": "0.64.2", + "contributors": [ + "peccu", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "10678", + "title": "[FIX] Message box emoji icon was flickering when typing a text", + "userLogin": "gdelavald", + "milestone": "0.64.2", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10674", + "title": "Correct links in README file", + "userLogin": "winterstefan", + "milestone": "0.64.2", + "contributors": [ + "winterstefan" + ] + }, + { + "pr": "10665", + "title": "[FIX] Channel owner was being set as muted when creating a read-only channel", + "userLogin": "MarcosSpessatto", + "milestone": "0.64.2", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10681", + "title": "[FIX] SAML wasn't working correctly when running multiple instances", + "userLogin": "Hudell", + "milestone": "0.64.2", + "contributors": [ + "Hudell", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10812", + "title": "Release 0.64.2", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "Hudell", + "rodrigok", + "web-flow", + "MarcosSpessatto", + "winterstefan", + "gdelavald", + "peccu", + "Sameesunkaria", + "sampaiodiego", + "engelgabriel", + "karlprieb", + "cardoso", + "erhan-" + ] + }, + { + "pr": "10660", + "title": "Release 0.64.1", + "userLogin": "rodrigok", + "milestone": "0.64.1", + "contributors": [ + "saplla", + "web-flow", + "engelgabriel", + "graywolf336", + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10613", + "title": "Release 0.64.0", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "web-flow", + "graywolf336", + "TwizzyDizzy", + "christianh814", + "tttt-conan", + "gdelavald", + "ggazzo" + ] + }, + { + "pr": "10504", + "title": "Release 0.63.3", + "userLogin": "graywolf336", + "contributors": [ + "rafaelks", + "graywolf336" + ] + }, + { + "pr": "10476", + "title": "Release 0.63.2", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336", + "web-flow" + ] + }, + { + "pr": "10408", + "title": "add redhat dockerfile to master", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.65.0-rc.1": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10837", + "title": "[FIX] Internal Error when requesting user data download", + "userLogin": "Hudell", + "milestone": "0.65.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10835", + "title": "[FIX] Broadcast channels were showing reply button for deleted messages and generating wrong reply links some times", + "userLogin": "ggazzo", + "milestone": "0.65.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10833", + "title": "Fix: Regression in REST API endpoint `/me` ", + "userLogin": "MarcosSpessatto", + "milestone": "0.65.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10734", + "title": "[FIX] User's preference `Unread on Top` wasn't working for LiveChat rooms", + "userLogin": "renatobecker", + "milestone": "0.65.0", + "contributors": [ + "renatobecker", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "10753", + "title": "[NEW] Add permission `view-broadcast-member-list`", + "userLogin": "cardoso", + "milestone": "0.65.0", + "contributors": [ + "cardoso", + "web-flow" + ] + }, + { + "pr": "10715", + "title": "[FIX] Cancel button wasn't working while uploading file", + "userLogin": "Mr-Gryphon", + "milestone": "0.65.0", + "contributors": [ + "Mr-Gryphon", + "web-flow", + "karlprieb" + ] + } + ] + }, + "0.65.0-rc.2": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10847", + "title": "Regression: Fix email notification preference not showing correct selected value", + "userLogin": "sampaiodiego", + "milestone": "0.65.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10853", + "title": "Apps: Command previews are clickable & Apps Framework is controlled via a setting", + "userLogin": "graywolf336", + "milestone": "0.65.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "10840", + "title": "[FIX] Missing pagination fields in the response of REST /directory endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.65.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10846", + "title": "[FIX] Layout badge cutting on unread messages for long names", + "userLogin": "kos4live", + "milestone": "0.65.0", + "contributors": [ + "kos4live" + ] + }, + { + "pr": "10848", + "title": "Regression: Make settings `Site_Name` and `Language` public again", + "userLogin": "rodrigok", + "milestone": "0.65.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10520", + "title": "Fix: Clarify the wording of the release issue template", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "10836", + "title": "Fix: Regression on users avatar in admin pages", + "userLogin": "ggazzo", + "milestone": "0.65.0", + "contributors": [ + "ggazzo", + "rodrigok", + "web-flow" + ] + } + ] + }, + "0.65.0-rc.3": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10875", + "title": "[FIX] Slack-Bridge bug when migrating to 0.64.1", + "userLogin": "iliaal", + "milestone": "0.65.0", + "contributors": [ + null + ] + }, + { + "pr": "10882", + "title": "Fix: Manage apps layout was a bit confuse", + "userLogin": "gdelavald", + "milestone": "0.65.0", + "contributors": [ + "gdelavald", + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "10886", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.65.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10887", + "title": "Fix: Regression Lazyload fix shuffle avatars", + "userLogin": "ggazzo", + "milestone": "0.65.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10883", + "title": "[FIX] Horizontally align items in preview message", + "userLogin": "gdelavald", + "milestone": "0.65.0", + "contributors": [ + "gdelavald" + ] + }, + { + "pr": "10857", + "title": "Fix: typo on error message for push token API", + "userLogin": "rafaelks", + "milestone": "0.65.0", + "contributors": [ + "rafaelks", + "web-flow" + ] + }, + { + "pr": "10878", + "title": "[FIX] The first users was not set as admin some times", + "userLogin": "rodrigok", + "milestone": "0.65.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.65.0": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10893", + "title": "Release 0.65.0", + "userLogin": "rodrigok", + "milestone": "0.65.0", + "contributors": [ + "Hudell", + "rodrigok", + "web-flow", + "MarcosSpessatto", + "winterstefan", + "gdelavald", + "peccu", + "Sameesunkaria", + "sampaiodiego", + "engelgabriel", + "karlprieb", + "cardoso", + "erhan-" + ] + }, + { + "pr": "10812", + "title": "Release 0.64.2", + "userLogin": "rodrigok", + "milestone": "0.64.2", + "contributors": [ + "Hudell", + "rodrigok", + "web-flow", + "MarcosSpessatto", + "winterstefan", + "gdelavald", + "peccu", + "Sameesunkaria", + "sampaiodiego", + "engelgabriel", + "karlprieb", + "cardoso", + "erhan-" + ] + }, + { + "pr": "10660", + "title": "Release 0.64.1", + "userLogin": "rodrigok", + "milestone": "0.64.1", + "contributors": [ + "saplla", + "web-flow", + "engelgabriel", + "graywolf336", + "rodrigok", + "sampaiodiego" + ] + }, + { + "pr": "10613", + "title": "Release 0.64.0", + "userLogin": "rodrigok", + "milestone": "0.64.0", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "web-flow", + "graywolf336", + "TwizzyDizzy", + "christianh814", + "tttt-conan", + "gdelavald", + "ggazzo" + ] + }, + { + "pr": "10504", + "title": "Release 0.63.3", + "userLogin": "graywolf336", + "contributors": [ + "rafaelks", + "graywolf336" + ] + }, + { + "pr": "10476", + "title": "Release 0.63.2", + "userLogin": "graywolf336", + "contributors": [ + "graywolf336", + "web-flow" + ] + }, + { + "pr": "10408", + "title": "add redhat dockerfile to master", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.65.1": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10940", + "title": "[FIX] Livechat not loading", + "userLogin": "sampaiodiego", + "milestone": "0.65.1", + "contributors": [ + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "10934", + "title": "[FIX] Application crashing on startup when trying to log errors to `exceptions` channel", + "userLogin": "sampaiodiego", + "milestone": "0.65.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10928", + "title": "[FIX] Incomplete email notification link", + "userLogin": "sampaiodiego", + "milestone": "0.65.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10904", + "title": "[FIX] Image lazy load was breaking attachments", + "userLogin": "ggazzo", + "milestone": "0.65.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10851", + "title": "[FIX] Leave room wasn't working as expected", + "userLogin": "ggazzo", + "milestone": "0.65.1", + "contributors": [ + "ggazzo" + ] + } + ] + }, + "0.65.2": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "9534", + "title": "[FIX] i18n - add semantic markup", + "userLogin": "brylie", + "contributors": [ + "brylie", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "10947", + "title": "Release 0.65.1", + "userLogin": "sampaiodiego", + "contributors": [ + "rodrigok", + "sampaiodiego", + "engelgabriel" + ] + } + ] + }, + "HEAD": { + "pull_requests": [] + }, + "0.66.0-rc.0": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11166", + "title": "[IMPROVE] Listing of apps in the admin page", + "userLogin": "gdelavald", + "milestone": "0.66.0", + "contributors": [ + "karlprieb", + "web-flow", + "gdelavald", + "engelgabriel" + ] + }, + { + "pr": "11206", + "title": "Regression: Directory css", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "karlprieb", + "ggazzo" + ] + }, + { + "pr": "11208", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10127", + "title": "[NEW] Youtube Broadcasting", + "userLogin": "gdelavald", + "milestone": "0.66.0", + "contributors": [ + "gdelavald", + "ggazzo" + ] + }, + { + "pr": "11187", + "title": "[FIX] Wordpress oauth configuration not loading properly", + "userLogin": "Hudell", + "milestone": "0.66.0", + "contributors": [ + "Hudell", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "10975", + "title": "[NEW] REST API endpoints `permissions.list` and `permissions.update`. Deprecated endpoint `permissions`", + "userLogin": "vynmera", + "milestone": "0.66.0", + "contributors": [ + "vynmera", + "web-flow" + ] + }, + { + "pr": "10941", + "title": "[NEW] REST API endpoint `channels.setDefault`", + "userLogin": "vynmera", + "milestone": "0.66.0", + "contributors": [ + "vynmera", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "10113", + "title": "IRC Federation: RFC2813 implementation (ngIRCd)", + "userLogin": "alansikora", + "milestone": "0.66.0", + "contributors": [ + "cpitman", + "lindoelio", + "alansikora", + "Hudell", + "web-flow" + ] + }, + { + "pr": "10999", + "title": "[FIX] REST API: Add more test cases for `/login`", + "userLogin": "MarcosSpessatto", + "milestone": "0.66.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "11191", + "title": "[FIX] Wrong font-family order", + "userLogin": "Hudell", + "milestone": "0.66.0", + "contributors": [ + "myfonj", + "web-flow", + "engelgabriel", + "Hudell" + ] + }, + { + "pr": "11008", + "title": "Add verification to make sure the user exists in REST insert object helper", + "userLogin": "MarcosSpessatto", + "milestone": "0.66.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10799", + "title": "[BREAK] Always remove the field `services` from user data responses in REST API", + "userLogin": "MarcosSpessatto", + "milestone": "0.66.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "11204", + "title": "[FIX] REST endpoint `users.updateOwnBasicInfo` was not returning errors for invalid names and trying to save custom fields when empty", + "userLogin": "MarcosSpessatto", + "milestone": "0.66.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "9751", + "title": "[NEW] Set Document Domain property in IFrame", + "userLogin": "kb0304", + "milestone": "0.66.0", + "contributors": [ + "kb0304", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10767", + "title": "[FIX] Livechat visitor not being prompted for transcript when himself is closing the chat", + "userLogin": "renatobecker", + "milestone": "0.66.0", + "contributors": [ + "renatobecker", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11188", + "title": "[FIX] HipChat Cloud import fails to import rooms", + "userLogin": "Hudell", + "milestone": "0.66.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "11190", + "title": "[FIX] Failure to download user data", + "userLogin": "Hudell", + "milestone": "0.66.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10447", + "title": "[FIX] Add parameter to REST chat.react endpoint, to make it work like a setter", + "userLogin": "MarcosSpessatto", + "contributors": [ + "MarcosSpessatto", + "ggazzo" + ] + }, + { + "pr": "11025", + "title": "[NEW] Custom login wallpapers", + "userLogin": "vynmera", + "milestone": "0.66.0", + "contributors": [ + "vynmera", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11200", + "title": "Regression: Directory user table infinite scroll doesn't working", + "userLogin": "karlprieb", + "milestone": "0.66.0", + "contributors": [ + "karlprieb" + ] + }, + { + "pr": "10205", + "title": "[NEW] Support for dynamic slack and rocket.chat channels", + "userLogin": "Hudell", + "milestone": "0.66.0", + "contributors": [ + "kable-wilmoth", + "Hudell", + "web-flow" + ] + }, + { + "pr": "11150", + "title": "[FIX] Default selected language", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "11026", + "title": "[IMPROVE] UI design for Tables and tabs component on Directory", + "userLogin": "karlprieb", + "milestone": "0.66.0", + "contributors": [ + "karlprieb", + "web-flow", + "engelgabriel", + "ggazzo" + ] + }, + { + "pr": "11165", + "title": "[FIX] Rendering of emails and mentions in messages", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "11177", + "title": "[FIX] Livechat icon with status", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11183", + "title": "[FIX] remove sidebar on embedded view", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11173", + "title": "[FIX]Missing language constants", + "userLogin": "rw4lll", + "contributors": [ + "rw4lll", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "11181", + "title": "[FIX Readme] Nodejs + Python version spicifications", + "userLogin": "mahdiyari", + "contributors": [ + "mahdiyari", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "11178", + "title": "[FIX] Room creation error due absence of subscriptions", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "11132", + "title": "[FIX] Remove failed upload messages when switching rooms", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11152", + "title": "[FIX] Wordpress OAuth not providing enough info to log in ", + "userLogin": "Hudell", + "contributors": [ + "Hudell", + "sampaiodiego" + ] + }, + { + "pr": "11010", + "title": "[FIX] /groups.invite not allow a user to invite even with permission", + "userLogin": "MarcosSpessatto", + "milestone": "0.66.0", + "contributors": [ + "MarcosSpessatto", + "Hudell", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11115", + "title": "[NEW] Add prometheus port config", + "userLogin": "thaiphv", + "contributors": [ + "brylie", + "web-flow", + "stuartpb", + "engelgabriel", + "thaiphv" + ] + }, + { + "pr": "10095", + "title": "[FIX] Various lang fixes [RU]", + "userLogin": "rw4lll", + "milestone": "0.66.0", + "contributors": [ + "rw4lll", + "web-flow", + "engelgabriel", + "ggazzo" + ] + }, + { + "pr": "11109", + "title": "[FIX] set-toolbar-items postMessage", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo", + "web-flow", + "tassoevan" + ] + }, + { + "pr": "11021", + "title": "[FIX] title and value attachments are optionals on sendMessage method", + "userLogin": "MarcosSpessatto", + "milestone": "0.66.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10301", + "title": "[NEW] Button to remove closed LiveChat rooms", + "userLogin": "renatobecker", + "milestone": "0.66.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "11136", + "title": "[FIX] Some typos in the error message names", + "userLogin": "vynmera", + "contributors": [ + "vynmera" + ] + }, + { + "pr": "11050", + "title": "[FIX] open conversation from room info", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "11129", + "title": "[FIX] Users model was not receiving options", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11113", + "title": "[FIX] Popover position", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "11096", + "title": "[FIX] Generated random password visible to the user", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "11111", + "title": "[FIX] LiveChat appearance changes not being saved", + "userLogin": "renatobecker", + "milestone": "0.66.0", + "contributors": [ + "renatobecker", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11095", + "title": "[FIX] Confirm password on set new password user profile", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "11090", + "title": "Regression: sorting direct message by asc on favorites group", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10431", + "title": "[FIX] Message_AllowedMaxSize fails for emoji sequences", + "userLogin": "c0dzilla", + "milestone": "0.66.0", + "contributors": [ + "c0dzilla", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11001", + "title": "[IMPROVE] User mentions", + "userLogin": "vynmera", + "milestone": "0.66.0", + "contributors": [ + "vynmera", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11107", + "title": "Fix PR Docker image creation by splitting in two build jobs", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8402", + "title": "[NEW] Update katex to v0.9.0", + "userLogin": "pitamar", + "milestone": "0.66.0", + "contributors": [ + "pitamar" + ] + }, + { + "pr": "11027", + "title": "[NEW] WebDAV(Nextcloud/ownCloud) Storage Server Option", + "userLogin": "karakayasemi", + "milestone": "0.66.0", + "contributors": [ + "karakayasemi", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11103", + "title": "Update v126.js", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "10973", + "title": "[NEW] Don't ask me again checkbox on hide room modal", + "userLogin": "karlprieb", + "milestone": "0.66.0", + "contributors": [ + "karlprieb", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "11097", + "title": "Speed up the build time by removing JSON Minify from i18n package", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "10958", + "title": "[NEW] Add input to set time for avatar cache control", + "userLogin": "MarcosSpessatto", + "milestone": "0.66.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10727", + "title": "[NEW] Command /hide to hide channels", + "userLogin": "mikaelmello", + "milestone": "0.66.0", + "contributors": [ + "mikaelmello", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11089", + "title": "[FIX] Can't access the `/account/profile`", + "userLogin": "tassoevan", + "milestone": "0.66.0", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11087", + "title": "[NEW] Do not wait method calls response on websocket before next method call", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "11086", + "title": "[NEW] Disconnect users from websocket when away from the login screen for 10min", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11083", + "title": "[NEW] Reduce the amount of DDP API calls on login screen", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "11093", + "title": "Fix Docker image for develop commits", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11085", + "title": "[NEW] Option to trace Methods and Subscription calls", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11084", + "title": "[FIX] Idle time limit wasn’t working as expected", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11076", + "title": "Build Docker image on CI", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "9959", + "title": "[FIX] Rooms list sorting by activity multiple re-renders and case sensitive sorting alphabetically", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo", + "sampaiodiego", + "web-flow", + "karlprieb", + "JoseRenan" + ] + }, + { + "pr": "11024", + "title": "[FIX] Notification not working for group mentions and not respecting ignored users", + "userLogin": "sampaiodiego", + "milestone": "0.66.0", + "contributors": [ + "sampaiodiego", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "10294", + "title": "[FIX] Overlapping of search text and cancel search icon (X)", + "userLogin": "taeven", + "milestone": "0.66.0", + "contributors": [ + "taeven", + "rodrigok", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "11063", + "title": "[FIX] Link previews not being removed from messages after removed on editing", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11074", + "title": "[FIX] avoid send presence without login", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11072", + "title": "[FIX] Exception in metrics generation", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11070", + "title": "Update issue templates", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "11062", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "11056", + "title": "[FIX] Build for Sandstorm missing dependence for capnp", + "userLogin": "peterlee0127", + "contributors": [ + "peterlee0127" + ] + }, + { + "pr": "11049", + "title": "[FIX] flex-tab icons missing", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11054", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "11053", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "11051", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "11045", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "11044", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "11043", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "11042", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9969", + "title": "Changed 'confirm password' placeholder text on user registration form", + "userLogin": "kumarnitj", + "milestone": "0.66.0", + "contributors": [ + null, + "kumarnitj", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11020", + "title": "[FIX] Update ja.i18n.json", + "userLogin": "noobbbbb", + "contributors": [ + "noobbbbb", + "web-flow", + "Hudell" + ] + }, + { + "pr": "11039", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + null, + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "11035", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "10954", + "title": "[NEW] Replace variable 'mergeChannels' with 'groupByType'.", + "userLogin": "mikaelmello", + "milestone": "0.66.0", + "contributors": [ + "mikaelmello", + "rodrigok", + "web-flow", + "ggazzo", + "engelgabriel" + ] + }, + { + "pr": "11012", + "title": "[FIX] Strange msg when setting room announcement, topic or description to be empty", + "userLogin": "vynmera", + "milestone": "0.66.0", + "contributors": [ + "vynmera", + "web-flow" + ] + }, + { + "pr": "11009", + "title": "[FIX] Exception thrown on avatar validation", + "userLogin": "Hudell", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "10091", + "title": "[NEW] Send LiveChat visitor navigation history as messages", + "userLogin": "renatobecker", + "milestone": "0.66.0", + "contributors": [ + "renatobecker", + "sampaiodiego" + ] + }, + { + "pr": "10673", + "title": "[NEW] Make supplying an AWS access key and secret optional for S3 uploads", + "userLogin": "saplla", + "milestone": "0.66.0", + "contributors": [ + "saplla", + "web-flow" + ] + }, + { + "pr": "10207", + "title": "Update Documentation: README.md", + "userLogin": "rakhi2104", + "contributors": [ + "rakhi2104", + "web-flow" + ] + }, + { + "pr": "10998", + "title": "[FIX] Preview of large images not resizing to fit the area and having scrollbars", + "userLogin": "vynmera", + "milestone": "0.66.0", + "contributors": [ + "vynmera", + "web-flow" + ] + }, + { + "pr": "10956", + "title": "[FIX] Allow inviting livechat managers to the same LiveChat room", + "userLogin": "renatobecker", + "milestone": "0.66.0", + "contributors": [ + "renatobecker", + "sampaiodiego" + ] + }, + { + "pr": "10913", + "title": "NPM Dependencies Update", + "userLogin": "engelgabriel", + "milestone": "0.66.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10805", + "title": "[FIX] Cannot read property 'debug' of undefined when trying to use REST API", + "userLogin": "haffla", + "milestone": "0.66.0", + "contributors": [ + "haffla", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10131", + "title": "update meteor to 1.6.1 for sandstorm build", + "userLogin": "peterlee0127", + "contributors": [ + "peterlee0127", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "10986", + "title": "Renaming username.username to username.value for clarity", + "userLogin": "engelgabriel", + "milestone": "0.66.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10988", + "title": "[NEW] Direct Reply: separate Reply-To email from account username field", + "userLogin": "engelgabriel", + "milestone": "0.66.0", + "contributors": [ + "pkgodara", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "5", + "title": "Fix readme typo", + "userLogin": "filipealva", + "contributors": [ + "filipealva" + ] + }, + { + "pr": "10055", + "title": "[NEW] Changes all 'mergeChannels' to 'groupByType'.", + "userLogin": "mikaelmello", + "milestone": "0.66.0", + "contributors": [ + "mikaelmello", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10771", + "title": "[FIX] Icons svg xml structure", + "userLogin": "timkinnane", + "contributors": [ + "timkinnane" + ] + }, + { + "pr": "10851", + "title": "[FIX] Leave room wasn't working as expected", + "userLogin": "ggazzo", + "milestone": "0.65.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10807", + "title": "Remove wrong and not needed time unit", + "userLogin": "cliffparnitzky", + "contributors": [ + "cliffparnitzky" + ] + }, + { + "pr": "10934", + "title": "[FIX] Application crashing on startup when trying to log errors to `exceptions` channel", + "userLogin": "sampaiodiego", + "milestone": "0.65.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10904", + "title": "[FIX] Image lazy load was breaking attachments", + "userLogin": "ggazzo", + "milestone": "0.65.1", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "10928", + "title": "[FIX] Incomplete email notification link", + "userLogin": "sampaiodiego", + "milestone": "0.65.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10916", + "title": "[FIX] Remove outdated 2FA warning for mobile clients", + "userLogin": "cardoso", + "contributors": [ + "cardoso" + ] + }, + { + "pr": "10841", + "title": "[NEW] Update WeDeploy deployment", + "userLogin": "jonnilundy", + "contributors": [ + "jonnilundy", + "web-flow" + ] + }, + { + "pr": "10867", + "title": "[FIX] Update Sandstorm build config", + "userLogin": "ocdtrekkie", + "contributors": [ + "ocdtrekkie", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "10909", + "title": "Develop sync commits", + "userLogin": "rodrigok", + "contributors": [ + "geekgonecrazy", + "web-flow", + "graywolf336", + "nsuchy", + "rodrigok", + "rafaelks", + "sampaiodiego" + ] + }, + { + "pr": "10908", + "title": "Develop sync2", + "userLogin": "rodrigok", + "contributors": [ + "geekgonecrazy", + "web-flow", + "graywolf336", + "nsuchy", + "rodrigok", + "rafaelks", + "sampaiodiego" + ] + }, + { + "pr": "10903", + "title": "Merge master into develop & Set version to 0.66.0-develop", + "userLogin": "rodrigok", + "contributors": [ + "geekgonecrazy", + "web-flow", + "graywolf336", + "nsuchy", + "rodrigok", + "rafaelks", + "sampaiodiego" + ] + }, + { + "pr": "9534", + "title": "[FIX] i18n - add semantic markup", + "userLogin": "brylie", + "contributors": [ + "brylie", + "web-flow", + "engelgabriel" + ] + } + ] + }, + "0.66.0-rc.1": { + "node_version": "8.11.1", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11223", + "title": "Regression: Fix directory table loading", + "userLogin": "karlprieb", + "milestone": "0.66.0", + "contributors": [ + "ggazzo", + "karlprieb" + ] + }, + { + "pr": "11221", + "title": "[FIX] \"blank messages\" on iOS < 11", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "11215", + "title": "Regression: Fix latest and release-candidate docker images building", + "userLogin": "sampaiodiego", + "milestone": "0.66.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11199", + "title": "[FIX] \"blank\" screen on iOS < 11", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "11216", + "title": "Regression: check username or usersCount on browseChannels", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11211", + "title": "Regression: Sending message with a mention is not showing to sender", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.66.0-rc.2": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11249", + "title": "Regression: Prometheus was not being enabled in some cases", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11232", + "title": "Regression: Skip operations if no actions on livechat migration", + "userLogin": "sampaiodiego", + "milestone": "0.66.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11224", + "title": "Regression: Directory sort users, fix null results, text for empty results", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11246", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11247", + "title": "Update Meteor to 1.6.1.3", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11237", + "title": "New history source format & add Node and NPM versions", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + } + ] + }, + "0.66.0-rc.3": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10971", + "title": "Add Dockerfile with MongoDB", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok", + "engelgabriel", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "11253", + "title": "[FIX] The process was freezing in some cases when HTTP calls exceeds timeout on integrations", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11264", + "title": "[FIX] LDAP was accepting login with empty passwords for certain AD configurations", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11263", + "title": "[FIX] Update capnproto dependence for Sandstorm Build", + "userLogin": "peterlee0127", + "contributors": [ + "peterlee0127" + ] + }, + { + "pr": "11257", + "title": "[FIX] Internal Server Error on first login with CAS integration", + "userLogin": "Hudell", + "milestone": "0.66.0", + "contributors": [ + "Hudell" + ] + } + ] + }, + "0.66.0-rc.4": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11268", + "title": "[FIX] Armhf snap build", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "11273", + "title": "Regression: sidebar sorting was being wrong in some cases where the rooms records were returned before the subscriptions", + "userLogin": "ggazzo", + "milestone": "0.66.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11276", + "title": "[FIX] Reaction Toggle was not working when omitting the last parameter from the API (DDP and REST)", + "userLogin": "Hudell", + "milestone": "0.66.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "11271", + "title": "Fix Docker image build on tags", + "userLogin": "sampaiodiego", + "milestone": "0.66.0", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.66.0": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11277", + "title": "Merge master into develop & Set version to 0.66.0-develop", + "userLogin": "rodrigok", + "contributors": [ + "brylie", + "web-flow", + "stuartpb", + "engelgabriel", + "Hudell", + "sampaiodiego", + "rodrigok" + ] + }, + { + "pr": "9534", + "title": "[FIX] i18n - add semantic markup", + "userLogin": "brylie", + "contributors": [ + "brylie", + "web-flow", + "engelgabriel" + ] + } + ] + }, + "0.66.1": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11335", + "title": "[FIX] Some updates were returning errors when based on queries with position operators", + "userLogin": "rodrigok", + "milestone": "0.66.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11315", + "title": "[FIX] SAML attributes with periods are not properly read.", + "userLogin": "Hudell", + "milestone": "0.66.1", + "contributors": [ + "Hudell", + "web-flow" + ] + }, + { + "pr": "11333", + "title": "[FIX] Outgoing integrations were stopping the oplog tailing sometimes", + "userLogin": "rodrigok", + "milestone": "0.66.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11254", + "title": "[IMPROVE] Setup Wizard username validation, step progress and optin/optout", + "userLogin": "tassoevan", + "milestone": "0.66.1", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11267", + "title": "[FIX] Livestream muted when audio only option was enabled", + "userLogin": "gdelavald", + "milestone": "0.66.1", + "contributors": [ + "gdelavald", + "web-flow" + ] + }, + { + "pr": "11295", + "title": "[FIX] Notification preferences being lost when switching view mode", + "userLogin": "sampaiodiego", + "milestone": "0.66.1", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.66.2": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11359", + "title": "Send setting Allow_Marketing_Emails to statistics collector", + "userLogin": "rodrigok", + "milestone": "0.66.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11364", + "title": "Regression: Fix migration 125 checking for settings field", + "userLogin": "sampaiodiego", + "milestone": "0.66.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11365", + "title": "[FIX] Remove file snap store doesn't like", + "userLogin": "geekgonecrazy", + "milestone": "0.66.2", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "11266", + "title": "[FIX] Livechat not sending desktop notifications", + "userLogin": "renatobecker", + "milestone": "0.66.2", + "contributors": [ + "renatobecker", + "sampaiodiego" + ] + } + ] + }, + "0.66.3": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11398", + "title": "[FIX] All messages notifications via email were sent as mention alert", + "userLogin": "rodrigok", + "milestone": "0.66.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11406", + "title": "[FIX] Livechat taking inquiry leading to 404 page", + "userLogin": "renatobecker", + "milestone": "0.66.3", + "contributors": [ + "renatobecker" + ] + } + ] + }, + "0.67.0-rc.0": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "10749", + "title": "[BREAK] Remove cache layer and internal calculated property `room.usernames`", + "userLogin": "rodrigok", + "milestone": "0.66.0", + "contributors": [ + "rodrigok", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "11417", + "title": "Merge master into develop & Set version to 0.67.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "renatobecker", + "sampaiodiego", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "11406", + "title": "[FIX] Livechat taking inquiry leading to 404 page", + "userLogin": "renatobecker", + "milestone": "0.66.3", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "11398", + "title": "[FIX] All messages notifications via email were sent as mention alert", + "userLogin": "rodrigok", + "milestone": "0.66.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11358", + "title": "[FIX] sort fname sidenav", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11399", + "title": "Merge master into develop & Set version to 0.67.0-develop", + "userLogin": "rodrigok", + "contributors": [ + "sampaiodiego", + "geekgonecrazy", + "renatobecker", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "10918", + "title": "[NEW] Additional Livechat iFrame API's", + "userLogin": "renatobecker", + "milestone": "0.66.0", + "contributors": [ + "renatobecker", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11266", + "title": "[FIX] Livechat not sending desktop notifications", + "userLogin": "renatobecker", + "milestone": "0.66.2", + "contributors": [ + "renatobecker", + "sampaiodiego" + ] + }, + { + "pr": "11319", + "title": "[FIX] SVG icons code", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11365", + "title": "[FIX] Remove file snap store doesn't like", + "userLogin": "geekgonecrazy", + "milestone": "0.66.2", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "11364", + "title": "Regression: Fix migration 125 checking for settings field", + "userLogin": "sampaiodiego", + "milestone": "0.66.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11359", + "title": "Send setting Allow_Marketing_Emails to statistics collector", + "userLogin": "rodrigok", + "milestone": "0.66.2", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11313", + "title": "[FIX] Message popup responsiveness in slash commands", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "9991", + "title": "[FIX] web app manifest errors as reported by Chrome DevTools", + "userLogin": "justinribeiro", + "milestone": "0.68.0", + "contributors": [ + "justinribeiro", + "web-flow" + ] + }, + { + "pr": "11342", + "title": "[FIX] Message attachment's fields with different sizes", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11330", + "title": "[IMPROVE] Stop sort callbacks on run", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "9754", + "title": "[FIX] Parse inline code without space before initial backtick", + "userLogin": "c0dzilla", + "milestone": "0.68.0", + "contributors": [ + "c0dzilla", + "gdelavald", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11348", + "title": "Merge master into develop & Set version to 0.67.0-develop", + "userLogin": "rodrigok", + "contributors": [ + "sampaiodiego", + "rodrigok", + "gdelavald", + "tassoevan", + "Hudell", + "web-flow" + ] + }, + { + "pr": "11335", + "title": "[FIX] Some updates were returning errors when based on queries with position operators", + "userLogin": "rodrigok", + "milestone": "0.66.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11315", + "title": "[FIX] SAML attributes with periods are not properly read.", + "userLogin": "Hudell", + "milestone": "0.66.1", + "contributors": [ + "Hudell", + "web-flow" + ] + }, + { + "pr": "11333", + "title": "[FIX] Outgoing integrations were stopping the oplog tailing sometimes", + "userLogin": "rodrigok", + "milestone": "0.66.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11254", + "title": "[IMPROVE] Setup Wizard username validation, step progress and optin/optout", + "userLogin": "tassoevan", + "milestone": "0.66.1", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11267", + "title": "[FIX] Livestream muted when audio only option was enabled", + "userLogin": "gdelavald", + "milestone": "0.66.1", + "contributors": [ + "gdelavald", + "web-flow" + ] + }, + { + "pr": "11295", + "title": "[FIX] Notification preferences being lost when switching view mode", + "userLogin": "sampaiodiego", + "milestone": "0.66.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11290", + "title": "Merge master into develop & Set version to 0.67.0-develop", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "web-flow" + ] + } + ] + }, + "0.67.0": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11497", + "title": "Fix dependency issue in redhat image", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy" + ] + } + ] + }, + "0.68.0-rc.0": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11328", + "title": "[NEW] Setting to disable 2FA globally", + "userLogin": "Hudell", + "contributors": [ + "Hudell", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11524", + "title": "[FIX] New favicons size too small", + "userLogin": "brunosquadros", + "contributors": [ + "brunosquadros", + "web-flow" + ] + }, + { + "pr": "11534", + "title": "[FIX] Render reply preview with message as a common message", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11537", + "title": "Revert: Mixed case channel slugs #9449", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11536", + "title": "Merge master into develop & Set version to 0.68.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "rodrigok", + "geekgonecrazy", + "engelgabriel", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11531", + "title": "[FIX] Unreads counter for new rooms on /channels.counters REST endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.68.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "11488", + "title": "[NEW] Add /users.deleteOwnAccount REST endpoint to an user delete his own account", + "userLogin": "MarcosSpessatto", + "milestone": "0.68.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "11357", + "title": "[FIX] Marked parser breaking announcements and mentions at the start of messages", + "userLogin": "vynmera", + "contributors": [ + "vynmera" + ] + }, + { + "pr": "11500", + "title": "[NEW] Add /roles.list REST endpoint to retrieve all server roles", + "userLogin": "MarcosSpessatto", + "milestone": "0.68.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10731", + "title": "[FIX] Send Livechat back to Guest Pool", + "userLogin": "renatobecker", + "milestone": "0.68.0", + "contributors": [ + "renatobecker", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11496", + "title": "[FIX] Add customFields property to /me REST endpoint response", + "userLogin": "MarcosSpessatto", + "milestone": "0.68.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "11507", + "title": "[FIX] Invalid permalink URLs for Direct Messages", + "userLogin": "Hudell", + "contributors": [ + "Hudell", + "sampaiodiego" + ] + }, + { + "pr": "11471", + "title": "[FIX] Unlimited upload file size not working", + "userLogin": "Hudell", + "milestone": "0.68.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "11493", + "title": "[BREAK] Remove deprecated /user.roles endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.68.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "11423", + "title": "Regression: Add missing LiveChat permission to allow removing closed rooms", + "userLogin": "renatobecker", + "milestone": "0.68.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "9449", + "title": "[FIX] Mixed case channel slugs", + "userLogin": "soundstorm", + "milestone": "0.68.0", + "contributors": [ + "soundstorm", + "web-flow" + ] + }, + { + "pr": "11135", + "title": "[FIX] SAML issues", + "userLogin": "Hudell", + "milestone": "0.68.0", + "contributors": [ + "arminfelder", + "web-flow", + "engelgabriel", + "Hudell" + ] + }, + { + "pr": "11363", + "title": "[FIX] Loading and setting fixes for i18n and RTL", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11527", + "title": "[FIX] Check for channels property on message object before parsing mentions", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11526", + "title": "[FIX] empty blockquote", + "userLogin": "ggazzo", + "milestone": "0.68.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11514", + "title": "[FIX] Snap font issue for sharp", + "userLogin": "geekgonecrazy", + "milestone": "0.68.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "11236", + "title": "[NEW] Message retention policy and pruning", + "userLogin": "vynmera", + "contributors": [ + "vynmera", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11327", + "title": "[IMPROVE] Set default max upload size to 100mb", + "userLogin": "cardoso", + "milestone": "0.68.0", + "contributors": [ + "cardoso", + "web-flow" + ] + }, + { + "pr": "11499", + "title": "Update release issue template to use Houston CLI", + "userLogin": "rodrigok", + "milestone": "0.68.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11508", + "title": "Regression: Remove safe area margins from logos", + "userLogin": "brunosquadros", + "contributors": [ + "brunosquadros", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "11164", + "title": "[IMPROVE] Typing indicators now use Real Names", + "userLogin": "vynmera", + "milestone": "0.68.0", + "contributors": [ + "vynmera", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11487", + "title": "[FIX] RocketChat.settings.get causing memory leak (sometimes)", + "userLogin": "ggazzo", + "milestone": "0.68.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11430", + "title": "[BREAK] Update GraphQL dependencies", + "userLogin": "engelgabriel", + "milestone": "0.68.0", + "contributors": [ + "engelgabriel", + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "11303", + "title": "[NEW] Send user status to client", + "userLogin": "HappyTobi", + "contributors": [ + "HappyTobi", + "web-flow" + ] + }, + { + "pr": "11486", + "title": "[NEW] Room files search form", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11441", + "title": "[FIX] Refinements in message popup mentions", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "10017", + "title": "[NEW] search only default tone emoji Popup search", + "userLogin": "Joe-mcgee", + "milestone": "0.68.0", + "contributors": [ + "Joe-mcgee", + "web-flow", + "engelgabriel", + "ggazzo" + ] + }, + { + "pr": "11332", + "title": "[NEW] Privacy for custom user fields", + "userLogin": "vynmera", + "contributors": [ + "vynmera", + "ggazzo" + ] + }, + { + "pr": "11450", + "title": "[FIX] Decrease room leader bar z-index", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11491", + "title": "[NEW] Replaced old logo with the new ones", + "userLogin": "brunosquadros", + "contributors": [ + "brunosquadros", + "web-flow" + ] + }, + { + "pr": "9972", + "title": "[NEW] Sorting channels by number of users in directory", + "userLogin": "arungalva", + "milestone": "0.68.0", + "contributors": [ + "arungalva", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11408", + "title": "[IMPROVE] Allow markdown in room topic, announcement, and description including single quotes", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "11298", + "title": "[FIX] Remove title attribute from sidebar items", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11459", + "title": "[FIX] Only escape HTML from details in toast error messages", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11462", + "title": "[FIX] broadcast channel reply", + "userLogin": "ggazzo", + "milestone": "0.68.0", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11416", + "title": "[FIX] Fixed svg for older chrome browsers bug #11414", + "userLogin": "tpDBL", + "milestone": "0.68.0", + "contributors": [ + "tpDBL", + "web-flow" + ] + }, + { + "pr": "10119", + "title": "[FIX] Wrap custom fields in user profile to new line", + "userLogin": "PhpXp", + "milestone": "0.68.0", + "contributors": [ + "PhpXp", + "karlprieb", + "web-flow" + ] + }, + { + "pr": "11349", + "title": "[FIX] Record popup", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11489", + "title": "[NEW] Make WebRTC not enabled by default", + "userLogin": "MartinSchoeler", + "contributors": [ + "MartinSchoeler" + ] + }, + { + "pr": "11443", + "title": "[NEW] Accept resumeToken as query param to log in", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "10514", + "title": "[NEW] Livechat File Upload", + "userLogin": "renatobecker", + "milestone": "0.66.0", + "contributors": [ + "renatobecker", + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "0.68.0-rc.1": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11561", + "title": "Regression: Update cachedCollection version", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11550", + "title": "Regression: nonReactive to nonreactive", + "userLogin": "ggazzo", + "milestone": "0.68.0", + "contributors": [ + "ggazzo" + ] + } + ] + }, + "0.68.0-rc.2": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11587", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11567", + "title": "Regression: Make message popup user mentions reactive again", + "userLogin": "tassoevan", + "milestone": "0.68.0", + "contributors": [ + "tassoevan", + "rodrigok", + "web-flow" + ] + } + ] + }, + "0.68.0-rc.3": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11590", + "title": "Regression: Fix purge message's translations", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.68.0": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [] + }, + "0.68.1": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11616", + "title": "Release 0.68.1", + "userLogin": "sampaiodiego", + "contributors": [ + "engelgabriel", + "sampaiodiego", + "tassoevan", + "rodrigok" + ] + }, + { + "pr": "11613", + "title": "[FIX] `Jump to message` search result action", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11597", + "title": "[FIX] HipChat importer wasn’t compatible with latest exports", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "0.68.2": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11630", + "title": "Release 0.68.2", + "userLogin": "sampaiodiego", + "contributors": [ + "c0dzilla", + "sampaiodiego" + ] + }, + { + "pr": "11544", + "title": "[FIX] Incorrect migration version in v130.js", + "userLogin": "c0dzilla", + "contributors": [ + "c0dzilla", + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "0.68.3": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11650", + "title": "Release 0.68.3", + "userLogin": "sampaiodiego", + "contributors": [ + "Hudell", + "sampaiodiego", + "rndmh3ro", + "MarcosSpessatto" + ] + }, + { + "pr": "11639", + "title": "[FIX] Missing chat history for users without permission `preview-c-room`", + "userLogin": "Hudell", + "milestone": "0.68.3", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "11625", + "title": "[FIX] User info APIs not returning customFields correctly", + "userLogin": "MarcosSpessatto", + "milestone": "0.68.3", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11631", + "title": "[FIX] Prune translations in German", + "userLogin": "rndmh3ro", + "milestone": "0.68.3", + "contributors": [ + "rndmh3ro", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11635", + "title": "[FIX] Prune translation on room info panel", + "userLogin": "sampaiodiego", + "milestone": "0.68.3", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11642", + "title": "[FIX] SAML login not working when user has multiple emails", + "userLogin": "Hudell", + "milestone": "0.68.3", + "contributors": [ + "Hudell", + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "0.68.4": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11719", + "title": "[FIX] Default server language not being applied", + "userLogin": "sampaiodiego", + "milestone": "0.68.4", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11708", + "title": "[FIX] Broken logo on setup wizard", + "userLogin": "sampaiodiego", + "milestone": "0.68.4", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11646", + "title": "[FIX] Regression in prune by user, and update lastMessage", + "userLogin": "vynmera", + "milestone": "0.68.4", + "contributors": [ + "vynmera", + "ggazzo" + ] + } + ] + }, + "0.68.5": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11830", + "title": "[FIX] Livechat open room method", + "userLogin": "renatobecker", + "milestone": "0.69.0", + "contributors": [ + "renatobecker" + ] + } + ] + }, + "0.69.0-rc.0": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11852", + "title": "Release 0.68.5", + "userLogin": "sampaiodiego", + "contributors": [ + "renatobecker", + "sampaiodiego" + ] + }, + { + "pr": "11613", + "title": "[FIX] `Jump to message` search result action", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11597", + "title": "[FIX] HipChat importer wasn’t compatible with latest exports", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "10700", + "title": "[FIX] Delete removed user's subscriptions", + "userLogin": "Hudell", + "milestone": "0.69.0", + "contributors": [ + "Hudell", + "MarcosSpessatto" + ] + }, + { + "pr": "11837", + "title": "[NEW] Beta support for Big Blue Button video conferencing system", + "userLogin": "rodrigok", + "milestone": "0.69.0", + "contributors": [ + "ggazzo", + "rodrigok" + ] + }, + { + "pr": "11011", + "title": "[FIX] LiveChat switch department not working", + "userLogin": "renatobecker", + "milestone": "Short-term", + "contributors": [ + "renatobecker", + "ggazzo", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "10269", + "title": "[NEW] Slackbridge: send attachment notifications", + "userLogin": "Hudell", + "milestone": "0.69.0", + "contributors": [ + "kable-wilmoth", + "Hudell", + "web-flow" + ] + }, + { + "pr": "11796", + "title": "[FIX] Some assets were pointing to nonexistent path", + "userLogin": "rodrigok", + "milestone": "0.69.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11733", + "title": "[IMPROVE] Start storing Livechat department within rooms", + "userLogin": "renatobecker", + "milestone": "0.69.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "11638", + "title": "[NEW] Personal access tokens for users to create API tokens", + "userLogin": "MarcosSpessatto", + "milestone": "0.69.0", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego", + "ggazzo" + ] + }, + { + "pr": "11522", + "title": "[FIX] Revoked `view-d-room` permission logics", + "userLogin": "Hudell", + "milestone": "0.69.0", + "contributors": [ + "Hudell", + "web-flow" + ] + }, + { + "pr": "11821", + "title": "[FIX] REST `im.members` endpoint not working without sort parameter", + "userLogin": "MarcosSpessatto", + "milestone": "0.69.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "11697", + "title": "[NEW] REST endpoint to manage server assets", + "userLogin": "MarcosSpessatto", + "milestone": "0.69.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "10217", + "title": "[NEW] Setting to enable/disable slack bridge reactions", + "userLogin": "Hudell", + "milestone": "0.69.0", + "contributors": [ + "kable-wilmoth", + "Hudell", + "web-flow" + ] + }, + { + "pr": "11691", + "title": "Fixed deutsch message pruning translations", + "userLogin": "TheReal1604", + "milestone": "0.69.0", + "contributors": [ + "TheReal1604", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "11794", + "title": "Fixed the Finnish translation and removed some profanities", + "userLogin": "jukper", + "milestone": "0.69.0", + "contributors": [ + "jukper" + ] + }, + { + "pr": "11834", + "title": "[FIX] Livechat rooms starting with two unread message counter", + "userLogin": "renatobecker", + "milestone": "0.69.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "11551", + "title": "[FIX] Results pagination on /directory REST endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.69.0", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego" + ] + }, + { + "pr": "11838", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.69.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11778", + "title": "[FIX] re-adding margin to menu icon on header", + "userLogin": "rssilva", + "milestone": "0.69.0", + "contributors": [ + "rssilva" + ] + }, + { + "pr": "11797", + "title": "[FIX] minor fixes in hungarian i18n ", + "userLogin": "Atisom", + "contributors": [ + "Atisom", + "web-flow" + ] + }, + { + "pr": "11836", + "title": "[FIX] permissions name no break", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11657", + "title": "[FIX] Searching by `undefined` via REST when using `query` param", + "userLogin": "MarcosSpessatto", + "milestone": "0.69.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "11781", + "title": "[FIX] Fix permalink of message when running system with subdir", + "userLogin": "ura14h", + "milestone": "0.69.0", + "contributors": [ + "ura14h", + "web-flow", + "tassoevan", + "ggazzo" + ] + }, + { + "pr": "11543", + "title": "[FIX] Fix links in `onTableItemClick` of the directroy page", + "userLogin": "ura14h", + "milestone": "0.69.0", + "contributors": [ + "ura14h", + "web-flow", + "ggazzo" + ] + }, + { + "pr": "11830", + "title": "[FIX] Livechat open room method", + "userLogin": "renatobecker", + "milestone": "0.69.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "11473", + "title": "[NEW] Rich message text and image buttons", + "userLogin": "ubarsaiyan", + "milestone": "0.69.0", + "contributors": [ + "ubarsaiyan", + "ggazzo", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "11802", + "title": "[FIX] App's i18nAlert is only being displayed as \"i18nAlert\"", + "userLogin": "graywolf336", + "milestone": "0.69.0", + "contributors": [ + "graywolf336" + ] + }, + { + "pr": "11627", + "title": "[FIX] Removed hardcoded values.", + "userLogin": "Hudell", + "milestone": "0.69.0", + "contributors": [ + "Hudell", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "9749", + "title": "[NEW] Setting to block unauthenticated access to avatars", + "userLogin": "Hudell", + "milestone": "Short-term", + "contributors": [ + "Hudell", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "11643", + "title": "[FIX] SAML is flooding logfile", + "userLogin": "Hudell", + "milestone": "0.69.0", + "contributors": [ + "Hudell", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11809", + "title": " [FIX] directory search table not clickable lines", + "userLogin": "tassoevan", + "milestone": "0.69.0", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11814", + "title": "Regression: Fix livechat code issues after new lint rules", + "userLogin": "sampaiodiego", + "milestone": "0.69.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11816", + "title": "Do not remove package-lock.json of livechat package", + "userLogin": "rodrigok", + "milestone": "0.69.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11815", + "title": "Run eslint and unit tests on pre-push hook", + "userLogin": "rodrigok", + "milestone": "0.69.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11474", + "title": "[FIX] REST endpoints to update user not respecting some settings", + "userLogin": "MarcosSpessatto", + "milestone": "0.69.0", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11779", + "title": "[NEW] Setting to set a JS/CSS CDN", + "userLogin": "geekgonecrazy", + "milestone": "0.69.0", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "11804", + "title": "Additional eslint rules ", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11807", + "title": "[FIX] Apply Cordova fix in lazy-loaded images sources", + "userLogin": "tassoevan", + "milestone": "0.69.0", + "contributors": [ + "tassoevan", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11800", + "title": "Add new eslint rules (automatically fixed)", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "8602", + "title": "[NEW] Make font of unread items bolder for better contrast", + "userLogin": "ausminternet", + "milestone": "0.69.0", + "contributors": [ + "ausminternet", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11775", + "title": "[FIX] Cannot set property 'input' of undefined", + "userLogin": "ggazzo", + "milestone": "0.69.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11644", + "title": "[IMPROVE] Escape parameters before send them to email template", + "userLogin": "tassoevan", + "milestone": "0.69.0", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "11784", + "title": "[IMPROVE] Warn about push settings that need server restart", + "userLogin": "tassoevan", + "milestone": "0.69.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11687", + "title": "[FIX] Missing twitter:image and og:image tags", + "userLogin": "engelgabriel", + "milestone": "0.69.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "11674", + "title": "[IMPROVE] Role tag UI", + "userLogin": "timkinnane", + "milestone": "0.69.0", + "contributors": [ + "timkinnane" + ] + }, + { + "pr": "11703", + "title": "[FIX] Return room ID for groups where user joined", + "userLogin": "timkinnane", + "contributors": [ + "timkinnane" + ] + }, + { + "pr": "11670", + "title": "[FIX] \"User is typing\" not working in new Livechat session", + "userLogin": "renatobecker", + "milestone": "0.69.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "11682", + "title": "[FIX] wrong create date of channels and users on directory view", + "userLogin": "gsperezb", + "milestone": "0.69.0", + "contributors": [ + "gsperezb", + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11730", + "title": "[FIX] Escape meta data before inject in head tag", + "userLogin": "tassoevan", + "milestone": "0.69.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11761", + "title": "[FIX] minor fixes in i18n", + "userLogin": "Atisom", + "milestone": "0.69.0", + "contributors": [ + "Atisom", + "web-flow" + ] + }, + { + "pr": "11467", + "title": "[FIX] Code tag duplicating characters", + "userLogin": "vynmera", + "milestone": "0.69.0", + "contributors": [ + "vynmera", + "web-flow" + ] + }, + { + "pr": "11139", + "title": "[FIX] Custom sound uploader not working in Firefox and IE", + "userLogin": "vynmera", + "milestone": "0.69.0", + "contributors": [ + "vynmera" + ] + }, + { + "pr": "11728", + "title": "[FIX] Fixing timeAgo function on directory", + "userLogin": "rssilva", + "milestone": "0.69.0", + "contributors": [ + "rssilva" + ] + }, + { + "pr": "11578", + "title": "[FIX] Render Attachment Pretext When Markdown Specified", + "userLogin": "glstewart17", + "milestone": "0.69.0", + "contributors": [ + "glstewart17" + ] + }, + { + "pr": "11686", + "title": "[IMPROVE] Messagebox fix performance", + "userLogin": "ggazzo", + "milestone": "0.69.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11740", + "title": "[FIX] Message attachments was not respecting sort and lost spacing", + "userLogin": "ggazzo", + "milestone": "0.69.0", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "11662", + "title": "[IMPROVE] Add template tag #{userdn} to filter LDAP group member format", + "userLogin": "crazy-max", + "milestone": "0.69.0", + "contributors": [ + "crazy-max" + ] + }, + { + "pr": "11719", + "title": "[FIX] Default server language not being applied", + "userLogin": "sampaiodiego", + "milestone": "0.68.4", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11709", + "title": "[FIX] Closed connections being storing on db", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11708", + "title": "[FIX] Broken logo on setup wizard", + "userLogin": "sampaiodiego", + "milestone": "0.68.4", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11646", + "title": "[FIX] Regression in prune by user, and update lastMessage", + "userLogin": "vynmera", + "milestone": "0.68.4", + "contributors": [ + "vynmera", + "ggazzo" + ] + }, + { + "pr": "11626", + "title": "[FIX] Login logo now centered on small screens", + "userLogin": "wreiske", + "milestone": "0.69.0", + "contributors": [ + "wreiske", + "web-flow" + ] + }, + { + "pr": "11667", + "title": "[FIX] Push notifications stuck after db failure", + "userLogin": "sampaiodiego", + "milestone": "0.69.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "11684", + "title": "[IMPROVE] Add nyan rocket on Rocket.Chat preview Docker image", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "11645", + "title": "[IMPROVE] Reducing `saveUser` code complexity", + "userLogin": "Hudell", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "11642", + "title": "[FIX] SAML login not working when user has multiple emails", + "userLogin": "Hudell", + "milestone": "0.68.3", + "contributors": [ + "Hudell", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11635", + "title": "[FIX] Prune translation on room info panel", + "userLogin": "sampaiodiego", + "milestone": "0.68.3", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11631", + "title": "[FIX] Prune translations in German", + "userLogin": "rndmh3ro", + "milestone": "0.68.3", + "contributors": [ + "rndmh3ro", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11625", + "title": "[FIX] User info APIs not returning customFields correctly", + "userLogin": "MarcosSpessatto", + "milestone": "0.68.3", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11639", + "title": "[FIX] Missing chat history for users without permission `preview-c-room`", + "userLogin": "Hudell", + "milestone": "0.68.3", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "11544", + "title": "[FIX] Incorrect migration version in v130.js", + "userLogin": "c0dzilla", + "contributors": [ + "c0dzilla", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11597", + "title": "[FIX] HipChat importer wasn’t compatible with latest exports", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11613", + "title": "[FIX] `Jump to message` search result action", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11606", + "title": "Merge master into develop & Set version to 0.69.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "11590", + "title": "Regression: Fix purge message's translations", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.69.0-rc.1": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11835", + "title": "App engine merge", + "userLogin": "rodrigok", + "milestone": "0.69.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11864", + "title": "[NEW] Internal marketplace for apps", + "userLogin": "rodrigok", + "milestone": "0.69.0", + "contributors": [ + "gdelavald", + "rssilva", + "rodrigok", + "ggazzo" + ] + }, + { + "pr": "11878", + "title": "[FIX] Translations were not unique per app allowing conflicts among apps", + "userLogin": "rodrigok", + "milestone": "0.69.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11861", + "title": "Regression: role tag background, unread item font and message box autogrow", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "sampaiodiego" + ] + } + ] + }, + "0.69.0": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11852", + "title": "Release 0.68.5", + "userLogin": "sampaiodiego", + "contributors": [ + "renatobecker", + "sampaiodiego" + ] + }, + { + "pr": "11613", + "title": "[FIX] `Jump to message` search result action", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "11597", + "title": "[FIX] HipChat importer wasn’t compatible with latest exports", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "sampaiodiego", + "web-flow" + ] + } + ] + }, + "0.69.1": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "11892", + "title": "[FIX] Hipchat import was failing when importing messages from a non existent user", + "userLogin": "rodrigok", + "milestone": "0.69.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11910", + "title": "[FIX] Hipchat importer was not importing users without emails and uploaded files", + "userLogin": "rodrigok", + "milestone": "0.69.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11893", + "title": " [FIX] App updates were not being shown correctly", + "userLogin": "rodrigok", + "milestone": "0.69.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "11853", + "title": "[FIX] Duplicated message buttons", + "userLogin": "ubarsaiyan", + "milestone": "0.69.1", + "contributors": [ + "ubarsaiyan", + "web-flow" + ] + } ] } - ], - "0.55.0-rc.1": [ - { - "pr": "6620", - "title": "[FIX] Incorrect curl command being generated on incoming integrations", - "userLogin": "graywolf336", - "milestone": "0.55.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6617", - "title": "[FIX] arguments logger", - "userLogin": "ggazzo", - "milestone": "0.55.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6616", - "title": "[NEW] 'users.resetAvatar' rest api endpoint", - "userLogin": "graywolf336", - "milestone": "0.55.0", - "contributors": [ - "graywolf336" - ] - } - ], - "0.55.0-rc.2": [ - { - "pr": "6632", - "title": "[NEW] Drupal oAuth Integration for Rocketchat", - "userLogin": "Lawri-van-Buel", - "milestone": "0.55.0", - "contributors": [ - "Lawri-van-Buel", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "6634", - "title": "[NEW] Add monitoring package", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6650", - "title": "[FIX] Improve markdown code", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6651", - "title": "[FIX] Encode avatar url to prevent CSS injection", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6649", - "title": "Added Deploy method and platform to stats", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "6648", - "title": "[FIX] Do not escaping markdown on message attachments", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6647", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.55.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6631", - "title": "meteor update", - "userLogin": "engelgabriel", - "milestone": "0.55.0", - "contributors": [ - "engelgabriel" - ] - } - ], - "0.55.0-rc.3": [ - { - "pr": "6658", - "title": "[FIX] Revert unwanted UI changes", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.55.0-rc.4": [ - { - "pr": "6682", - "title": "[FIX] Fix Logger stdout publication", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6680", - "title": "[FIX] Downgrade email package to from 1.2.0 to 1.1.18", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6681", - "title": "[NEW] Expose Livechat to Incoming Integrations and allow response", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6659", - "title": "[FIX] Administrators being rate limited when editing users data", - "userLogin": "graywolf336", - "milestone": "0.55.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6674", - "title": "[FIX] Make sure username exists in findByActiveUsersExcept", - "userLogin": "geekgonecrazy", - "milestone": "0.55.0", - "contributors": [ - "geekgonecrazy" - ] - } - ], - "0.55.0-rc.5": [ - { - "pr": "6686", - "title": "[FIX] Update server cache indexes on record updates", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6684", - "title": "[FIX] Allow question on OAuth token path", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6163", - "title": "Env override initial setting", - "userLogin": "mrsimpson", - "milestone": "0.55.0", - "contributors": [ - "mrsimpson", - "web-flow" - ] - }, - { - "pr": "6683", - "title": "[FIX] Error when returning undefined from incoming intergation’s script", - "userLogin": "rodrigok", - "milestone": "0.55.0", - "contributors": [ - "rodrigok" - ] - } - ], - "0.55.0-rc.6": [ - { - "pr": "6704", - "title": "[FIX] Fix message types", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.55.0": [ - { - "pr": "6709", - "title": "[FIX] emoji picker exception", - "userLogin": "gdelavald", - "milestone": "0.55.0", - "contributors": [ - "gdelavald", - "rodrigok", - "web-flow" - ] - } - ], - "0.55.1": [ - { - "pr": "6734", - "title": "[Fix] Bug with incoming integration (0.55.1)", - "userLogin": "rodrigok", - "milestone": "0.55.1", - "contributors": [ - "rodrigok" - ] - } - ], - "0.56.0-rc.0": [ - { - "pr": "6881", - "title": "[NEW] Add a pointer cursor to message images", - "userLogin": "MartinSchoeler", - "milestone": "0.56.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6842", - "title": "[New] Snap arm support", - "userLogin": "geekgonecrazy", - "milestone": "0.56.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "6861", - "title": "[FIX] start/unstar message", - "userLogin": "karlprieb", - "milestone": "0.56.0", - "contributors": [ - null - ] - }, - { - "pr": "6858", - "title": "Meteor update", - "userLogin": "engelgabriel", - "milestone": "0.56.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6845", - "title": "[FIX] Added helper for testing if the current user matches the params", - "userLogin": "abrom", - "milestone": "0.56.0", - "contributors": [ - "abrom" - ] - }, - { - "pr": "6827", - "title": "[NEW] Make channels.info accept roomName, just like groups.info", - "userLogin": "reist", - "milestone": "0.56.0", - "contributors": [ - "reist" - ] - }, - { - "pr": "6672", - "title": "Converted rocketchat-lib 3", - "userLogin": "ggazzo", - "milestone": "0.56.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6781", - "title": "Convert Message-Star Package to js ", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6780", - "title": "Convert Mailer Package to Js", - "userLogin": "MartinSchoeler", - "milestone": "0.56.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6796", - "title": "[FIX] REST API user.update throwing error due to rate limiting", - "userLogin": "graywolf336", - "milestone": "0.56.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6797", - "title": "[NEW] Option to allow to signup as anonymous", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6816", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.56.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6807", - "title": "[NEW] create a method 'create token'", - "userLogin": "ggazzo", - "milestone": "0.56.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6804", - "title": "Missing useful fields in admin user list #5110", - "userLogin": "vlogic", - "milestone": "0.56.0", - "contributors": [ - null, - "vlogic" - ] - }, - { - "pr": "6790", - "title": "[FIX] fix german translation", - "userLogin": "sscholl", - "milestone": "0.56.0", - "contributors": [ - "sscholl", - "web-flow" - ] - }, - { - "pr": "6793", - "title": "[FIX] Improve and correct Iframe Integration help text", - "userLogin": "antgel", - "milestone": "0.56.0", - "contributors": [ - null - ] - }, - { - "pr": "6800", - "title": "[FIX] Quoted and replied messages not retaining the original message's alias", - "userLogin": "graywolf336", - "milestone": "0.56.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6798", - "title": "[FIX] Fix iframe wise issues", - "userLogin": "sampaiodiego", - "milestone": "0.56.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6747", - "title": "[FIX] Incorrect error message when creating channel", - "userLogin": "gdelavald", - "milestone": "0.56.0", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "6760", - "title": "[FIX] Hides nav buttons when selecting own profile", - "userLogin": "gdelavald", - "milestone": "0.56.0", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "6767", - "title": "[FIX] Search full name on client side", - "userLogin": "alexbrazier", - "milestone": "0.56.0", - "contributors": [ - "alexbrazier" - ] - }, - { - "pr": "6758", - "title": "[FIX] Sort by real name if use real name setting is enabled", - "userLogin": "alexbrazier", - "milestone": "0.56.0", - "contributors": [ - "alexbrazier" - ] - }, - { - "pr": "6671", - "title": "Convert Katex Package to Js", - "userLogin": "MartinSchoeler", - "milestone": "0.56.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6688", - "title": "Convert Oembed Package to Js", - "userLogin": "MartinSchoeler", - "milestone": "0.56.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6689", - "title": "Convert Mentions-Flextab Package to Js", - "userLogin": "MartinSchoeler", - "milestone": "0.56.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6768", - "title": "[FIX] CSV importer: require that there is some data in the zip, not ALL data", - "userLogin": "reist", - "milestone": "0.56.0", - "contributors": [ - "reist" - ] - }, - { - "pr": "5986", - "title": "Anonymous use", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6368", - "title": "Breaking long URLS to prevent overflow", - "userLogin": "robertdown", - "milestone": "0.56.0", - "contributors": [ - "robertdown" - ] - }, - { - "pr": "6737", - "title": "[FIX] Archiving Direct Messages", - "userLogin": "graywolf336", - "milestone": "0.56.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "5373", - "title": "[NEW] Add option on Channel Settings: Hide Notifications and Hide Unread Room Status (#2707, #2143)", - "userLogin": "marceloschmidt", - "milestone": "0.56.0", - "contributors": [ - "marceloschmidt", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6593", - "title": "Rocketchat lib2", - "userLogin": "ggazzo", - "milestone": "0.56.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6734", - "title": "[Fix] Bug with incoming integration (0.55.1)", - "userLogin": "rodrigok", - "milestone": "0.55.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6722", - "title": "[NEW] Remove lesshat", - "userLogin": "karlprieb", - "milestone": "0.56.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "6654", - "title": "disable proxy configuration", - "userLogin": "glehmann", - "milestone": "0.56.0", - "contributors": [ - "glehmann" - ] - }, - { - "pr": "6721", - "title": "[FIX] Fix Caddy by forcing go 1.7 as needed by one of caddy's dependencies", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "6694", - "title": "Convert markdown to js", - "userLogin": "ehkasper", - "milestone": "0.56.0", - "contributors": [ - "ehkasper" - ] - }, - { - "pr": "6715", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.56.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6709", - "title": "[FIX] emoji picker exception", - "userLogin": "gdelavald", - "milestone": "0.55.0", - "contributors": [ - "gdelavald", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "6692", - "title": "[NEW] Use tokenSentVia parameter for clientid/secret to token endpoint", - "userLogin": "intelradoux", - "milestone": "0.56.0", - "contributors": [ - "intelradoux" - ] - }, - { - "pr": "6706", - "title": "meteor update to 1.4.4", - "userLogin": "engelgabriel", - "milestone": "0.56.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6704", - "title": "[FIX] Fix message types", - "userLogin": "sampaiodiego", - "milestone": "0.55.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6703", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6615", - "title": "[NEW] Add a setting to not run outgoing integrations on message edits", - "userLogin": "graywolf336", - "milestone": "0.56.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6734", - "title": "[Fix] Bug with incoming integration (0.55.1)", - "userLogin": "rodrigok", - "milestone": "0.55.1", - "contributors": [ - "rodrigok" - ] - } - ], - "0.56.0-rc.1": [ - { - "pr": "6896", - "title": "[FIX] Users status on main menu always offline", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok" - ] - } - ], - "0.56.0-rc.2": [ - { - "pr": "6923", - "title": "[FIX] Not showing unread count on electron app’s icon", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok" - ] - } - ], - "0.56.0-rc.3": [ - { - "pr": "6939", - "title": "[FIX] Compile CSS color variables", - "userLogin": "karlprieb", - "milestone": "0.56.0", - "contributors": [ - null - ] - }, - { - "pr": "6938", - "title": "[NEW] Improve CI/Docker build/release", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok", - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "6940", - "title": "[NEW] Add SMTP settings for Protocol and Pool", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok" - ] - } - ], - "0.56.0-rc.4": [ - { - "pr": "6953", - "title": "[NEW] Show info about multiple instances at admin page", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok" - ] - } - ], - "0.56.0-rc.5": [ - { - "pr": "6955", - "title": "[FIX] Remove spaces from env PORT and INSTANCE_IP", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6935", - "title": "[Fix] Error when trying to show preview of undefined filetype", - "userLogin": "geekgonecrazy", - "milestone": "0.57.0", - "contributors": [ - "geekgonecrazy" - ] - } - ], - "0.56.0-rc.6": [], - "0.56.0-rc.7": [ - { - "pr": "6968", - "title": "[FIX] make channels.create API check for create-c", - "userLogin": "reist", - "milestone": "0.56.0", - "contributors": [ - "reist" - ] - } - ], - "0.56.0": [ - { - "pr": "6734", - "title": "[Fix] Bug with incoming integration (0.55.1)", - "userLogin": "rodrigok", - "milestone": "0.55.1", - "contributors": [ - "rodrigok" - ] - } - ], - "0.57.0-rc.0": [ - { - "pr": "7146", - "title": "Convert hipchat importer to js", - "userLogin": "rodrigok", - "milestone": "0.57.0", - "contributors": [ - "rodrigok", - "geekgonecrazy", - "sampaiodiego", - "ggazzo", - "web-flow" - ] - }, - { - "pr": "7145", - "title": "Convert file unsubscribe.coffee to js", - "userLogin": "rodrigok", - "milestone": "0.57.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6991", - "title": "[FIX] Fix highlightjs bug", - "userLogin": "geekgonecrazy", - "milestone": "0.57.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "6788", - "title": "[NEW] New avatar storage types", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego", - "rodrigok" - ] - }, - { - "pr": "7095", - "title": "[BREAK] Internal hubot does not load hubot-scripts anymore, it loads scripts from custom folders", - "userLogin": "ggazzo", - "milestone": "0.57.0", - "contributors": [ - "ggazzo", - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "6690", - "title": "[NEW] Show full name in mentions if use full name setting enabled", - "userLogin": "alexbrazier", - "milestone": "0.57.0", - "contributors": [ - "alexbrazier" - ] - }, - { - "pr": "7017", - "title": "Convert oauth2-server-config package to js", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler", - "ggazzo", - "web-flow" - ] - }, - { - "pr": "7022", - "title": "Convert irc package to js", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler", - "ggazzo", - "web-flow" - ] - }, - { - "pr": "7055", - "title": "Ldap: User_Data_FieldMap description", - "userLogin": "bbrauns", - "milestone": "0.57.0", - "contributors": [ - "bbrauns" - ] - }, - { - "pr": "7030", - "title": "[FIX] do only store password if LDAP_Login_Fallback is on", - "userLogin": "pmb0", - "milestone": "0.57.0", - "contributors": [ - "pmb0" - ] - }, - { - "pr": "7059", - "title": "[NEW] Increase unread message count on @here mention", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7062", - "title": "Remove Useless Jasmine Tests ", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7121", - "title": "[FIX] fix bug in preview image", - "userLogin": "ggazzo", - "milestone": "0.57.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7094", - "title": "[FIX]Fix the failing tests ", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7085", - "title": "[NEW] API method and REST Endpoint for getting a single message by id", - "userLogin": "graywolf336", - "milestone": "0.57.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7084", - "title": "[FIX] Add option to ignore TLS in SMTP server settings", - "userLogin": "colin-campbell", - "milestone": "0.57.0", - "contributors": [ - "colin-campbell" - ] - }, - { - "pr": "7072", - "title": "[FIX] Add support for carriage return in markdown code blocks", - "userLogin": "jm-factorin", - "milestone": "0.57.0", - "contributors": [ - "jm-factorin" - ] - }, - { - "pr": "7014", - "title": "[FIX] Parse HTML on admin setting's descriptions", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7018", - "title": "converted rocketchat-importer", - "userLogin": "ggazzo", - "milestone": "0.57.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7114", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7105", - "title": "[FIX] edit button on firefox", - "userLogin": "karlprieb", - "milestone": "0.57.0", - "contributors": [ - null - ] - }, - { - "pr": "7104", - "title": "[FIX] Fix missing CSS files on production builds", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego", - null - ] - }, - { - "pr": "7103", - "title": "[FIX] clipboard (permalink, copy, pin, star buttons)", - "userLogin": "karlprieb", - "contributors": [ - null - ] - }, - { - "pr": "7096", - "title": "Convert Livechat from Coffeescript to JavaScript", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7092", - "title": "[FIX]Fixed typo hmtl -> html", - "userLogin": "jautero", - "contributors": [ - "jautero" - ] - }, - { - "pr": "7080", - "title": "[NEW] Migration to add tags to email header and footer", - "userLogin": "karlprieb", - "milestone": "0.57.0", - "contributors": [ - null - ] - }, - { - "pr": "7025", - "title": "[FIX] Add and to header and footer", - "userLogin": "ExTechOp", - "milestone": "0.57.0", - "contributors": [ - "ExTechOp", - "web-flow" - ] - }, - { - "pr": "7033", - "title": "[FIX] Prevent Ctrl key on message field from reloading messages list", - "userLogin": "ggazzo", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7044", - "title": "[FIX] New screen sharing Chrome extension checking method", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6982", - "title": "[NEW] postcss parser and cssnext implementation", - "userLogin": "karlprieb", - "contributors": [ - null, - "rodrigok", - "web-flow", - "MartinSchoeler" - ] - }, - { - "pr": "7049", - "title": "[FIX] Improve Tests", - "userLogin": "MartinSchoeler", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7045", - "title": "[FIX] Fix avatar upload via users.setAvatar REST endpoint", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7023", - "title": "[FIX] Sidenav roomlist", - "userLogin": "karlprieb", - "contributors": [ - null, - "sampaiodiego" - ] - }, - { - "pr": "7012", - "title": "[FIX] video message recording dialog is shown in an incorrect position", - "userLogin": "flaviogrossi", - "milestone": "0.57.0", - "contributors": [ - "flaviogrossi" - ] - }, - { - "pr": "7006", - "title": "Rocketchat ui3", - "userLogin": "ggazzo", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6836", - "title": "converted rocketchat-ui coffee to js part 2", - "userLogin": "ggazzo", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6912", - "title": "[FIX] Remove room from roomPick setting", - "userLogin": "marceloschmidt", - "milestone": "0.57.0", - "contributors": [ - "marceloschmidt", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "6605", - "title": "[NEW] Start running unit tests", - "userLogin": "ggazzo", - "milestone": "0.57.0", - "contributors": [ - "ggazzo", - "web-flow", - "rodrigok", - "engelgabriel" - ] - }, - { - "pr": "6997", - "title": "[FIX] Parse markdown links last", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6999", - "title": "[FIX] overlapping text for users-typing-message", - "userLogin": "darkv", - "milestone": "0.57.0", - "contributors": [ - "darkv" - ] - }, - { - "pr": "7005", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6735", - "title": "rocketchat-lib[4] coffee to js", - "userLogin": "ggazzo", - "milestone": "0.57.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6987", - "title": "rocketchat-importer-slack coffee to js", - "userLogin": "ggazzo", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6911", - "title": "Convert ui-admin package to js", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6857", - "title": "[NEW] Make channel/group delete call answer to roomName", - "userLogin": "reist", - "milestone": "0.57.0", - "contributors": [ - "reist" - ] - }, - { - "pr": "6903", - "title": "[FIX] Updating Incoming Integration Post As Field Not Allowed", - "userLogin": "graywolf336", - "milestone": "0.57.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6972", - "title": "[FIX] Fix error handling for non-valid avatar URL", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6914", - "title": "Rocketchat ui message", - "userLogin": "ggazzo", - "milestone": "0.57.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "6921", - "title": "[New] LDAP: Use variables in User_Data_FieldMap for name mapping", - "userLogin": "bbrauns", - "milestone": "0.57.0", - "contributors": [ - "bbrauns" - ] - }, - { - "pr": "6961", - "title": "[FIX] SAML: Only set KeyDescriptor when non empty", - "userLogin": "sathieu", - "milestone": "0.57.0", - "contributors": [ - "sathieu" - ] - }, - { - "pr": "6986", - "title": "[FIX] Fix the other tests failing due chimp update", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6936", - "title": "Convert meteor-autocomplete package to js", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6795", - "title": "Convert Ui Account Package to Js", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6950", - "title": "[FIX] Fix badge counter on iOS push notifications", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6974", - "title": "[FIX] Fix login with Meteor saving an object as email address", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6840", - "title": "[FIX] Check that username is not in the room when being muted / unmuted", - "userLogin": "matthewshirley", - "milestone": "0.57.0", - "contributors": [ - "matthewshirley", - "web-flow" - ] - }, - { - "pr": "6947", - "title": "[FIX] Use AWS Signature Version 4 signed URLs for uploads", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "6978", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.57.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "6976", - "title": "fix the crashing tests", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "6968", - "title": "[FIX] make channels.create API check for create-c", - "userLogin": "reist", - "milestone": "0.56.0", - "contributors": [ - "reist" - ] - }, - { - "pr": "6775", - "title": "Convert WebRTC Package to Js", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "6935", - "title": "[Fix] Error when trying to show preview of undefined filetype", - "userLogin": "geekgonecrazy", - "milestone": "0.57.0", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "6953", - "title": "[NEW] Show info about multiple instances at admin page", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "6938", - "title": "[NEW] Improve CI/Docker build/release", - "userLogin": "rodrigok", - "milestone": "0.56.0", - "contributors": [ - "rodrigok", - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "6919", - "title": "[NEW] Feature/delete any message permission", - "userLogin": "phutchins", - "milestone": "0.57.0", - "contributors": [ - "phutchins" - ] - }, - { - "pr": "6904", - "title": "[FIX] Bugs in `isUserFromParams` helper", - "userLogin": "abrom", - "milestone": "0.57.0", - "contributors": [ - "abrom" - ] - }, - { - "pr": "6910", - "title": "[FIX] Allow image insert from slack through slackbridge", - "userLogin": "marceloschmidt", - "milestone": "0.57.0", - "contributors": [ - "marceloschmidt" - ] - }, - { - "pr": "6913", - "title": "[FIX] Slackbridge text replacements", - "userLogin": "marceloschmidt", - "milestone": "0.57.0", - "contributors": [ - "marceloschmidt" - ] - } - ], - "0.57.0-rc.1": [ - { - "pr": "7157", - "title": "[FIX] Fix all reactions having the same username", - "userLogin": "MartinSchoeler", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "7154", - "title": "Remove missing CoffeeScript dependencies", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7158", - "title": "Switch logic of artifact name", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - } - ], - "0.57.0-rc.2": [ - { - "pr": "7200", - "title": "[FIX] Fix editing others messages", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7208", - "title": "[FIX] Fix oembed previews not being shown", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7215", - "title": "Fix the Zapier oAuth return url to the new one", - "userLogin": "graywolf336", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7209", - "title": "[FIX] \"requirePasswordChange\" property not being saved when set to false", - "userLogin": "graywolf336", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7196", - "title": "Fix the admin oauthApps view not working", - "userLogin": "graywolf336", - "milestone": "0.57.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7160", - "title": "[FIX] Removing the kadira package install from example build script.", - "userLogin": "JSzaszvari", - "contributors": [ - "JSzaszvari", - "web-flow" - ] - }, - { - "pr": "7159", - "title": "Fix forbidden error on setAvatar REST endpoint", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7196", - "title": "Fix the admin oauthApps view not working", - "userLogin": "graywolf336", - "milestone": "0.57.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7177", - "title": "Fix mobile avatars", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - } - ], - "0.57.0-rc.3": [ - { - "pr": "7358", - "title": "[FIX] Fix user's customFields not being saved correctly", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7352", - "title": "[FIX] Improve avatar migration", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7311", - "title": "[NEW] Force use of MongoDB for spotlight queries", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7320", - "title": "[FIX] Fix jump to unread button", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7345", - "title": "[FIX] click on image in a message", - "userLogin": "ggazzo", - "milestone": "0.57.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7304", - "title": "[FIX] Proxy upload to correct instance", - "userLogin": "rodrigok", - "milestone": "0.57.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7321", - "title": "[FIX] Fix Secret Url", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - } - ], - "0.57.0": [ - { - "pr": "7379", - "title": "[FIX] Message being displayed unescaped", - "userLogin": "gdelavald", - "milestone": "0.58.0", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "7102", - "title": "add server methods getRoomNameById", - "userLogin": "thinkeridea", - "milestone": "0.57.0", - "contributors": [ - "thinkeridea" - ] - } - ], - "0.57.1": [ - { - "pr": "7428", - "title": "[FIX] Fix migration of avatars from version 0.57.0", - "userLogin": "rodrigok", - "milestone": "0.57.1", - "contributors": [ - "sampaiodiego", - "rodrigok" - ] - } - ], - "0.57.2": [ - { - "pr": "7431", - "title": "[FIX] Fix Emails in User Admin View", - "userLogin": "MartinSchoeler", - "milestone": "0.57.2", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7472", - "title": "[FIX] Always set LDAP properties on login", - "userLogin": "sampaiodiego", - "milestone": "0.57.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7403", - "title": "[FIX] Fix Unread Bar Disappearing", - "userLogin": "MartinSchoeler", - "milestone": "0.57.2", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7469", - "title": "[FIX] Fix file upload on Slack import", - "userLogin": "sampaiodiego", - "milestone": "0.57.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7432", - "title": "[FIX] Fix Private Channel List Submit", - "userLogin": "MartinSchoeler", - "milestone": "0.57.2", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7443", - "title": "[FIX] S3 uploads not working for custom URLs", - "userLogin": "rodrigok", - "milestone": "0.57.2", - "contributors": [ - "rodrigok" - ] - } - ], - "0.57.3": [ - { - "pr": "7212", - "title": "[Fix] Users and Channels list not respecting permissions", - "userLogin": "graywolf336", - "milestone": "0.57.3", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7325", - "title": "[FIX] Modernize rate limiting of sendMessage", - "userLogin": "jangmarker", - "milestone": "0.57.3", - "contributors": [ - "jangmarker" - ] - }, - { - "pr": "7390", - "title": "[FIX] custom soundEdit.html", - "userLogin": "rasos", - "milestone": "0.57.3", - "contributors": [ - "rasos", - "web-flow" - ] - }, - { - "pr": "7394", - "title": "[FIX] Use UTF8 setting for /create command", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7395", - "title": "[FIX] file upload broken when running in subdirectory https://github.com…", - "userLogin": "ryoshimizu", - "milestone": "0.57.3", - "contributors": [ - "ryoshimizu" - ] - }, - { - "pr": "7444", - "title": "[FIX] Fix Anonymous User", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7533", - "title": "[FIX] Missing eventName in unUser", - "userLogin": "Darkneon", - "milestone": "0.57.3", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "7535", - "title": "[FIX] Fix Join Channel Without Preview Room Permission", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7555", - "title": "[FIX] Improve build script example", - "userLogin": "sampaiodiego", - "milestone": "0.57.3", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.57.4": [ - { - "pr": "8390", - "title": "[FIX] Slack import failing and not being able to be restarted", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8408", - "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8389", - "title": "[FIX] Add needed dependency for snaps", - "userLogin": "geekgonecrazy", - "milestone": "0.59.0-rc.12", - "contributors": [ - "geekgonecrazy" - ] - } - ], - "0.58.0-rc.0": [ - { - "pr": "8390", - "title": "[FIX] Slack import failing and not being able to be restarted", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8408", - "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8389", - "title": "[FIX] Add needed dependency for snaps", - "userLogin": "geekgonecrazy", - "milestone": "0.59.0-rc.12", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "7212", - "title": "[Fix] Users and Channels list not respecting permissions", - "userLogin": "graywolf336", - "milestone": "0.57.3", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7325", - "title": "[FIX] Modernize rate limiting of sendMessage", - "userLogin": "jangmarker", - "milestone": "0.57.3", - "contributors": [ - "jangmarker" - ] - }, - { - "pr": "7390", - "title": "[FIX] custom soundEdit.html", - "userLogin": "rasos", - "milestone": "0.57.3", - "contributors": [ - "rasos", - "web-flow" - ] - }, - { - "pr": "7394", - "title": "[FIX] Use UTF8 setting for /create command", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7395", - "title": "[FIX] file upload broken when running in subdirectory https://github.com…", - "userLogin": "ryoshimizu", - "milestone": "0.57.3", - "contributors": [ - "ryoshimizu" - ] - }, - { - "pr": "7444", - "title": "[FIX] Fix Anonymous User", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7533", - "title": "[FIX] Missing eventName in unUser", - "userLogin": "Darkneon", - "milestone": "0.57.3", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "7535", - "title": "[FIX] Fix Join Channel Without Preview Room Permission", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7555", - "title": "[FIX] Improve build script example", - "userLogin": "sampaiodiego", - "milestone": "0.57.3", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7624", - "title": "[FIX] Error when updating message with an empty attachment array", - "userLogin": "graywolf336", - "milestone": "0.58.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7623", - "title": "[FIX] Uploading an unknown file type erroring out", - "userLogin": "graywolf336", - "milestone": "0.58.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7622", - "title": "[FIX] Error when acessing settings before ready", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7608", - "title": "Add missing parts of `one click to direct message`", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7621", - "title": "[FIX] Message box on safari", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7620", - "title": "[FIX] The username not being allowed to be passed into the user.setAvatar", - "userLogin": "graywolf336", - "milestone": "0.58.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7613", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7617", - "title": "[FIX] Fix Custom Fields Crashing on Register", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7615", - "title": "Improve link parser using tokens", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7616", - "title": "Improve login error messages", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7595", - "title": "[NEW] Allow special chars on room names", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7594", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.58.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7479", - "title": "[NEW] Add admin and user setting for notifications #4339", - "userLogin": "stalley", - "milestone": "0.58.0", - "contributors": [ - "stalley", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "7309", - "title": "[NEW] Edit user permissions", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0", - "contributors": [ - "MartinSchoeler", - "rodrigok" - ] - }, - { - "pr": "7324", - "title": "[NEW] Adding support for piwik sub domain settings", - "userLogin": "ruKurz", - "milestone": "0.58.0", - "contributors": [ - "ruKurz" - ] - }, - { - "pr": "7578", - "title": "Improve room leader", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7582", - "title": "[FIX] Fix admin room list show the correct i18n type", - "userLogin": "ccfang", - "milestone": "0.58.0", - "contributors": [ - "ccfang", - "rodrigok" - ] - }, - { - "pr": "6753", - "title": "[NEW] Add setting to change User Agent of OEmbed calls", - "userLogin": "AhmetS", - "milestone": "0.58.0", - "contributors": [ - "AhmetS", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "7517", - "title": "[NEW] Configurable Volume for Notifications #6087", - "userLogin": "lindoelio", - "milestone": "0.58.0", - "contributors": [ - "lindoelio" - ] - }, - { - "pr": "7590", - "title": "Develop sync", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "6564", - "title": "[NEW] Add customFields in rooms/get method", - "userLogin": "borsden", - "milestone": "0.58.0", - "contributors": [ - "borsden" - ] - }, - { - "pr": "7589", - "title": "[NEW] Option to select unread count style", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7580", - "title": "[NEW] Show different shape for alert numbers when have mentions", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7533", - "title": "[FIX] Missing eventName in unUser", - "userLogin": "Darkneon", - "milestone": "0.57.3", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "7569", - "title": "[NEW] Add reaction to the last message when get the shortcut +:", - "userLogin": "danilomiranda", - "milestone": "0.58.0", - "contributors": [ - "danilomiranda", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "7513", - "title": "[Fix] Don't save user to DB when a custom field is invalid", - "userLogin": "Darkneon", - "milestone": "0.58.0", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "7538", - "title": "[FIX] URL parse error fix for issue #7169", - "userLogin": "satyapramodh", - "milestone": "0.58.0", - "contributors": [ - "satyapramodh", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "7559", - "title": "[NEW] Show emojis and file uploads on notifications", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "7561", - "title": "[NEW] Closes tab bar on mobile when leaving room", - "userLogin": "gdelavald", - "milestone": "0.58.0", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "7572", - "title": "[FIX] User avatar image background", - "userLogin": "filipedelimabrito", - "milestone": "0.58.0", - "contributors": [ - "filipedelimabrito", - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "7564", - "title": "[NEW] Adds preference to one-click-to-direct-message and basic functionality", - "userLogin": "gdelavald", - "milestone": "0.58.0", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "7555", - "title": "[FIX] Improve build script example", - "userLogin": "sampaiodiego", - "milestone": "0.57.3", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7535", - "title": "[FIX] Fix Join Channel Without Preview Room Permission", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7334", - "title": "[NEW] Search users also by email in toolbar", - "userLogin": "shahar3012", - "milestone": "0.58.0", - "contributors": [ - "shahar3012" - ] - }, - { - "pr": "7326", - "title": "[NEW] Do not rate limit bots on createDirectMessage", - "userLogin": "jangmarker", - "milestone": "0.58.0", - "contributors": [ - "jangmarker" - ] - }, - { - "pr": "7214", - "title": "[NEW] Allow channel property in the integrations returned content", - "userLogin": "graywolf336", - "milestone": "0.58.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7212", - "title": "[Fix] Users and Channels list not respecting permissions", - "userLogin": "graywolf336", - "milestone": "0.57.3", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7554", - "title": "[FIX] Look for livechat visitor IP address on X-Forwarded-For header", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7556", - "title": "[BREAK] Remove Sandstorm login method", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7557", - "title": "[FIX] Revert emojione package version upgrade", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7562", - "title": "[FIX] Stop logging mentions object to console", - "userLogin": "gdelavald", - "milestone": "0.58.0", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "7500", - "title": "Develop sync", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "thinkeridea", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "7520", - "title": "[NEW] Add room type identifier to room list header", - "userLogin": "danischreiber", - "milestone": "0.58.0", - "contributors": [ - "danischreiber", - "sampaiodiego" - ] - }, - { - "pr": "7523", - "title": "[NEW] Room type and recipient data for global event", - "userLogin": "danischreiber", - "milestone": "0.58.0", - "contributors": [ - "danischreiber" - ] - }, - { - "pr": "7526", - "title": "[NEW] Show room leader at top of chat when user scrolls down. Set and unset leader as admin.", - "userLogin": "danischreiber", - "milestone": "0.58.0", - "contributors": [ - "danischreiber" - ] - }, - { - "pr": "7525", - "title": "[NEW] Add toolbar buttons for iframe API", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7492", - "title": "Better Issue Template", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0", - "contributors": [ - "MartinSchoeler", - "web-flow", - "geekgonecrazy" - ] - }, - { - "pr": "7529", - "title": "[NEW] Add close button to flex tabs", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7496", - "title": "[NEW] Update meteor to 1.5.1", - "userLogin": "engelgabriel", - "milestone": "0.58.0", - "contributors": [ - "engelgabriel", - "MartinSchoeler", - "rodrigok" - ] - }, - { - "pr": "7486", - "title": "[FIX] Fix hiding flex-tab on embedded view", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7195", - "title": "[FIX] Fix emoji picker translations", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7325", - "title": "[FIX] Modernize rate limiting of sendMessage", - "userLogin": "jangmarker", - "milestone": "0.57.3", - "contributors": [ - "jangmarker" - ] - }, - { - "pr": "7390", - "title": "[FIX] custom soundEdit.html", - "userLogin": "rasos", - "milestone": "0.57.3", - "contributors": [ - "rasos", - "web-flow" - ] - }, - { - "pr": "7394", - "title": "[FIX] Use UTF8 setting for /create command", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7395", - "title": "[FIX] file upload broken when running in subdirectory https://github.com…", - "userLogin": "ryoshimizu", - "milestone": "0.57.3", - "contributors": [ - "ryoshimizu" - ] - }, - { - "pr": "7444", - "title": "[FIX] Fix Anonymous User", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7471", - "title": "[FIX] Issue #7365: added check for the existence of a parameter in the CAS URL", - "userLogin": "wsw70", - "milestone": "0.58.0", - "contributors": [ - "wsw70" - ] - }, - { - "pr": "7392", - "title": "[FIX] Fix Word Placement Anywhere on WebHooks", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7487", - "title": "[FIX] Prevent new room status from playing when user status changes", - "userLogin": "sampaiodiego", - "milestone": "0.58.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7443", - "title": "[FIX] S3 uploads not working for custom URLs", - "userLogin": "rodrigok", - "milestone": "0.57.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7432", - "title": "[FIX] Fix Private Channel List Submit", - "userLogin": "MartinSchoeler", - "milestone": "0.57.2", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7469", - "title": "[FIX] Fix file upload on Slack import", - "userLogin": "sampaiodiego", - "milestone": "0.57.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7403", - "title": "[FIX] Fix Unread Bar Disappearing", - "userLogin": "MartinSchoeler", - "milestone": "0.57.2", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7472", - "title": "[FIX] Always set LDAP properties on login", - "userLogin": "sampaiodiego", - "milestone": "0.57.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7448", - "title": "[NEW] flex-tab now is side by side with message list", - "userLogin": "ggazzo", - "milestone": "0.58.0", - "contributors": [ - "ggazzo", - "karlprieb", - "MartinSchoeler" - ] - }, - { - "pr": "7477", - "title": "[NEW] Option to select unread count behavior", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7205", - "title": "[FIX] url click events in the cordova app open in external browser or not at all", - "userLogin": "flaviogrossi", - "milestone": "0.58.0", - "contributors": [ - "flaviogrossi" - ] - }, - { - "pr": "7431", - "title": "[FIX] Fix Emails in User Admin View", - "userLogin": "MartinSchoeler", - "milestone": "0.57.2", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7428", - "title": "[FIX] Fix migration of avatars from version 0.57.0", - "userLogin": "rodrigok", - "milestone": "0.57.1", - "contributors": [ - "sampaiodiego", - "rodrigok" - ] - }, - { - "pr": "6340", - "title": "Add helm chart kubernetes deployment", - "userLogin": "pierreozoux", - "milestone": "0.58.0", - "contributors": [ - "pierreozoux" - ] - }, - { - "pr": "7404", - "title": "[FIX] sweetalert alignment on mobile", - "userLogin": "karlprieb", - "milestone": "0.58.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7376", - "title": "[FIX] Sweet-Alert modal popup position on mobile devices", - "userLogin": "Oliver84", - "milestone": "0.58.0", - "contributors": [ - "Oliver84", - "web-flow" - ] - }, - { - "pr": "7355", - "title": "[FIX] Update node-engine in Snap to latest v4 LTS relase: 4.8.3", - "userLogin": "al3x", - "milestone": "0.58.0", - "contributors": [ - "al3x" - ] - }, - { - "pr": "7354", - "title": "[FIX] Remove warning about 2FA support being unavailable in mobile apps", - "userLogin": "al3x", - "milestone": "0.58.0", - "contributors": [ - "al3x" - ] - }, - { - "pr": "7363", - "title": "Develop sync", - "userLogin": "rodrigok", - "milestone": "0.58.0", - "contributors": [ - "rodrigok", - "geekgonecrazy", - "JSzaszvari", - "MartinSchoeler", - "graywolf336", - "sampaiodiego", - "ggazzo", - "web-flow" - ] - }, - { - "pr": "7308", - "title": "Escape error messages", - "userLogin": "rodrigok", - "milestone": "0.57.0", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "7322", - "title": "[FIX] Fix geolocation button", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7207", - "title": "[FIX] Fix Block Delete Message After (n) Minutes", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7311", - "title": "[NEW] Force use of MongoDB for spotlight queries", - "userLogin": "sampaiodiego", - "milestone": "0.57.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7320", - "title": "[FIX] Fix jump to unread button", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7321", - "title": "[FIX] Fix Secret Url", - "userLogin": "MartinSchoeler", - "milestone": "0.57.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7199", - "title": "[FIX] Use I18n on \"File Uploaded\"", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7287", - "title": "update meteor to 1.5.0", - "userLogin": "engelgabriel", - "milestone": "0.58.0", - "contributors": [ - "engelgabriel", - "rodrigok" - ] - }, - { - "pr": "7215", - "title": "Fix the Zapier oAuth return url to the new one", - "userLogin": "graywolf336", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7209", - "title": "[FIX] \"requirePasswordChange\" property not being saved when set to false", - "userLogin": "graywolf336", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7211", - "title": "[New] Add instance id to response headers", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "7184", - "title": "[NEW] Add healthchecks in OpenShift templates", - "userLogin": "jfchevrette", - "contributors": [ - "jfchevrette" - ] - }, - { - "pr": "7208", - "title": "[FIX] Fix oembed previews not being shown", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7200", - "title": "[FIX] Fix editing others messages", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7187", - "title": "[FIX] Fix error on image preview due to undefined description|title ", - "userLogin": "ggazzo", - "contributors": [ - "ggazzo" - ] - } - ], - "0.58.0-rc.1": [ - { - "pr": "7629", - "title": "[FIX] Fix messagebox growth", - "userLogin": "sampaiodiego", - "milestone": "0.58.0-rc.1", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7630", - "title": "[FIX] Wrong render of snippet’s name", - "userLogin": "rodrigok", - "milestone": "0.58.0-rc.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7658", - "title": "[NEW] Add unread options for direct messages", - "userLogin": "sampaiodiego", - "milestone": "0.58.0-rc.1", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7687", - "title": "[FIX] Fix room load on first hit", - "userLogin": "sampaiodiego", - "milestone": "0.58.0-rc.1", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7644", - "title": "[FIX] Markdown noopener/noreferrer: use correct HTML attribute", - "userLogin": "jangmarker", - "milestone": "0.58.0-rc.1", - "contributors": [ - "jangmarker" - ] - }, - { - "pr": "7652", - "title": "Only use \"File Uploaded\" prefix on files", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0-rc.1", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "7639", - "title": "[FIX] Wrong email subject when \"All Messages\" setting enabled", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0-rc.1", - "contributors": [ - "MartinSchoeler", - "rodrigok" - ] - } - ], - "0.58.0-rc.2": [ - { - "pr": "7456", - "title": "[FIX] Csv importer: work with more problematic data", - "userLogin": "reist", - "milestone": "0.58.0-rc.2", - "contributors": [ - "reist" - ] - } - ], - "0.58.0-rc.3": [ - { - "pr": "7738", - "title": "[FIX] make flex-tab visible again when reduced width", - "userLogin": "geekgonecrazy", - "milestone": "0.58.0-rc.3", - "contributors": [ - "geekgonecrazy" - ] - } - ], - "0.58.0": [ - { - "pr": "7752", - "title": "Release 0.58.0", - "userLogin": "rodrigok", - "contributors": [ - "ryoshimizu", - "rodrigok", - "web-flow", - "MartinSchoeler", - "karlprieb", - "engelgabriel", - "sampaiodiego", - "pierreozoux", - "geekgonecrazy", - "jangmarker", - "flaviogrossi", - "ggazzo" - ] - }, - { - "pr": "7690", - "title": "Sync Master with 0.57.3", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7212", - "title": "[Fix] Users and Channels list not respecting permissions", - "userLogin": "graywolf336", - "milestone": "0.57.3", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "7325", - "title": "[FIX] Modernize rate limiting of sendMessage", - "userLogin": "jangmarker", - "milestone": "0.57.3", - "contributors": [ - "jangmarker" - ] - }, - { - "pr": "7390", - "title": "[FIX] custom soundEdit.html", - "userLogin": "rasos", - "milestone": "0.57.3", - "contributors": [ - "rasos", - "web-flow" - ] - }, - { - "pr": "7394", - "title": "[FIX] Use UTF8 setting for /create command", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7395", - "title": "[FIX] file upload broken when running in subdirectory https://github.com…", - "userLogin": "ryoshimizu", - "milestone": "0.57.3", - "contributors": [ - "ryoshimizu" - ] - }, - { - "pr": "7444", - "title": "[FIX] Fix Anonymous User", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7533", - "title": "[FIX] Missing eventName in unUser", - "userLogin": "Darkneon", - "milestone": "0.57.3", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "7535", - "title": "[FIX] Fix Join Channel Without Preview Room Permission", - "userLogin": "MartinSchoeler", - "milestone": "0.57.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7555", - "title": "[FIX] Improve build script example", - "userLogin": "sampaiodiego", - "milestone": "0.57.3", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.58.1": [ - { - "pr": "7782", - "title": "Release 0.58.1", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7781", - "title": "[FIX] Fix flex tab not opening and getting offscreen", - "userLogin": "MartinSchoeler", - "contributors": [ - "MartinSchoeler" - ] - } - ], - "0.58.2": [ - { - "pr": "7841", - "title": "Release 0.58.2", - "userLogin": "geekgonecrazy", - "milestone": "0.58.2", - "contributors": [ - "snoozan", - "geekgonecrazy" - ] - } - ], - "0.58.3": [], - "0.58.4": [ - { - "pr": "8408", - "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8390", - "title": "[FIX] Slack import failing and not being able to be restarted", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8389", - "title": "[FIX] Add needed dependency for snaps", - "userLogin": "geekgonecrazy", - "milestone": "0.59.0-rc.12", - "contributors": [ - "geekgonecrazy" - ] - } - ], - "0.59.0-rc.0": [ - { - "pr": "8408", - "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8390", - "title": "[FIX] Slack import failing and not being able to be restarted", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8389", - "title": "[FIX] Add needed dependency for snaps", - "userLogin": "geekgonecrazy", - "milestone": "0.59.0-rc.12", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "7864", - "title": "[NEW] Replace message cog for vertical menu", - "userLogin": "karlprieb", - "milestone": "0.59.0", - "contributors": [ - "karlprieb", - "rodrigok" - ] - }, - { - "pr": "7865", - "title": "Mobile sidenav", - "userLogin": "ggazzo", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7830", - "title": "[NEW] block users to mention unknow users", - "userLogin": "ggazzo", - "milestone": "0.59.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7614", - "title": "[NEW] Allow ldap mapping of customFields", - "userLogin": "goiaba", - "milestone": "0.59.0", - "contributors": [ - "goiaba", - "web-flow" - ] - }, - { - "pr": "7853", - "title": "[NEW] Create a standard for our svg icons", - "userLogin": "karlprieb", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7565", - "title": "[NEW] Allows admin to list all groups with API", - "userLogin": "mboudet", - "contributors": [ - "mboudet", - "web-flow" - ] - }, - { - "pr": "7855", - "title": "[FIX] File upload on multi-instances using a path prefix", - "userLogin": "Darkneon", - "milestone": "0.59.0", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "7863", - "title": "[FIX] Fix migration 100", - "userLogin": "ggazzo", - "milestone": "0.59.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "7852", - "title": "[NEW] Add markdown parser \"marked\"", - "userLogin": "rodrigok", - "milestone": "0.59.0", - "contributors": [ - "nishimaki10", - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "7817", - "title": "[NEW] Audio Notification updated in sidebar", - "userLogin": "aditya19496", - "milestone": "0.59.0", - "contributors": [ - "maarten-v", - "web-flow", - "aditya19496", - "engelgabriel", - "ggazzo" - ] - }, - { - "pr": "7846", - "title": "[FIX] Email message forward error", - "userLogin": "rodrigok", - "milestone": "0.59.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7854", - "title": "[FIX] Add CSS support for Safari versions > 7", - "userLogin": "sampaiodiego", - "milestone": "0.59.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7612", - "title": "[NEW] Search users by fields defined by admin", - "userLogin": "goiaba", - "milestone": "0.59.0", - "contributors": [ - "goiaba" - ] - }, - { - "pr": "7688", - "title": "[NEW] Template to show Custom Fields in user info view", - "userLogin": "goiaba", - "milestone": "0.59.0", - "contributors": [ - "goiaba" - ] - }, - { - "pr": "7842", - "title": "npm deps update", - "userLogin": "engelgabriel", - "milestone": "0.59.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7168", - "title": "[FIX] Fix black background on transparent avatars", - "userLogin": "ggazzo", - "milestone": "0.59.0", - "contributors": [ - "ggazzo", - "sampaiodiego", - "rodrigok" - ] - }, - { - "pr": "7711", - "title": "[NEW] Add room type as a class to the ul-group of rooms", - "userLogin": "danischreiber", - "milestone": "0.59.0", - "contributors": [ - "danischreiber", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "7636", - "title": "[NEW] Add classes to notification menu so they can be hidden in css", - "userLogin": "danischreiber", - "milestone": "0.59.0", - "contributors": [ - "danischreiber" - ] - }, - { - "pr": "5902", - "title": "[NEW] Adds a Keyboard Shortcut option to the flextab", - "userLogin": "cnash", - "milestone": "0.59.0", - "contributors": [ - "cnash", - "web-flow", - "karlprieb", - "rodrigok" - ] - }, - { - "pr": "7342", - "title": "[NEW] Integrated personal email gateway (GSoC'17)", - "userLogin": "pkgodara", - "milestone": "0.59.0", - "contributors": [ - "pkgodara", - "web-flow" - ] - }, - { - "pr": "7803", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.59.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7825", - "title": "[FIX] Google vision NSFW tag", - "userLogin": "marceloschmidt", - "milestone": "0.59.0", - "contributors": [ - "marceloschmidt" - ] - }, - { - "pr": "7793", - "title": "Additions to the REST API", - "userLogin": "graywolf336", - "milestone": "0.59.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "6301", - "title": "[NEW] Add tags to uploaded images using Google Cloud Vision API", - "userLogin": "marceloschmidt", - "milestone": "0.59.0", - "contributors": [ - "marceloschmidt", - "karlprieb", - "engelgabriel", - "web-flow", - "sampaiodiego", - "rodrigok" - ] - }, - { - "pr": "6700", - "title": "[NEW] Package to render issue numbers into links to an issue tracker.", - "userLogin": "TobiasKappe", - "milestone": "0.59.0", - "contributors": [ - "TobiasKappe", - "TAdeJong" - ] - }, - { - "pr": "7721", - "title": "[FIX] meteor-accounts-saml issue with ns0,ns1 namespaces, makes it compatible with pysaml2 lib", - "userLogin": "arminfelder", - "milestone": "0.59.0", - "contributors": [ - "arminfelder" - ] - }, - { - "pr": "7823", - "title": "[FIX] Fix new-message button showing on search", - "userLogin": "sampaiodiego", - "milestone": "0.59.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7350", - "title": "[NEW] Automatically select the first channel", - "userLogin": "antaryami-sahoo", - "milestone": "0.59.0", - "contributors": [ - "antaryami-sahoo", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "7779", - "title": "[FIX] Settings not getting applied from Meteor.settings and process.env ", - "userLogin": "Darkneon", - "milestone": "0.59.0", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "7748", - "title": "[FIX] scroll on flex-tab", - "userLogin": "ggazzo", - "milestone": "0.59.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7755", - "title": "npm deps update", - "userLogin": "engelgabriel", - "milestone": "0.59.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7728", - "title": "FIX: Error when starting local development environment", - "userLogin": "rdebeasi", - "milestone": "0.59.0", - "contributors": [ - "rdebeasi" - ] - }, - { - "pr": "7815", - "title": "[FIX] Dutch translations", - "userLogin": "maarten-v", - "contributors": [ - "maarten-v", - "web-flow" - ] - }, - { - "pr": "7814", - "title": "[FIX] Fix Dutch translation", - "userLogin": "maarten-v", - "contributors": [ - "maarten-v", - "web-flow" - ] - }, - { - "pr": "7778", - "title": "[FIX] Update Snap links", - "userLogin": "MichaelGooden", - "contributors": [ - "MichaelGooden", - "web-flow" - ] - }, - { - "pr": "7809", - "title": "[FIX] Remove redundant \"do\" in \"Are you sure ...?\" messages.", - "userLogin": "xurizaemon", - "contributors": [ - "xurizaemon" - ] - }, - { - "pr": "7758", - "title": "[FIX] Fixed function closure syntax allowing validation emails to be sent.", - "userLogin": "snoozan", - "milestone": "0.58.2", - "contributors": [ - "snoozan" - ] - }, - { - "pr": "7739", - "title": "Remove CircleCI", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7643", - "title": "[NEW] Rocket.Chat UI Redesign", - "userLogin": "MartinSchoeler", - "contributors": [ - null, - "ggazzo", - "sampaiodiego" - ] - }, - { - "pr": "7677", - "title": "Meteor packages and npm dependencies update", - "userLogin": "engelgabriel", - "milestone": "0.59.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7456", - "title": "[FIX] Csv importer: work with more problematic data", - "userLogin": "reist", - "milestone": "0.58.0-rc.2", - "contributors": [ - "reist" - ] - }, - { - "pr": "7656", - "title": "[FIX] Fix avatar upload fail on Cordova app", - "userLogin": "ccfang", - "milestone": "0.58.0", - "contributors": [ - "ccfang" - ] - }, - { - "pr": "7679", - "title": "[FIX] Make link inside YouTube preview open in new tab", - "userLogin": "1lann", - "milestone": "0.59.0", - "contributors": [ - "1lann", - "web-flow" - ] - }, - { - "pr": "7664", - "title": "[MOVE] Client folder rocketchat-colors", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7665", - "title": "[MOVE] Client folder rocketchat-custom-oauth", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7666", - "title": "[MOVE] Client folder rocketchat-tooltip", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7667", - "title": "[MOVE] Client folder rocketchat-autolinker", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7668", - "title": "[MOVE] Client folder rocketchat-cas", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7669", - "title": "[MOVE] Client folder rocketchat-highlight-words", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7670", - "title": "[MOVE] Client folder rocketchat-custom-sounds", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7671", - "title": "[MOVE] Client folder rocketchat-emoji", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7672", - "title": "[FIX] Remove references to non-existent tests", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7673", - "title": "[FIX] Example usage of unsubscribe.js", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0", - "contributors": [ - "Kiran-Rao" - ] - }, - { - "pr": "7639", - "title": "[FIX] Wrong email subject when \"All Messages\" setting enabled", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0-rc.1", - "contributors": [ - "MartinSchoeler", - "rodrigok" - ] - }, - { - "pr": "7652", - "title": "Only use \"File Uploaded\" prefix on files", - "userLogin": "MartinSchoeler", - "milestone": "0.58.0-rc.1", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "7644", - "title": "[FIX] Markdown noopener/noreferrer: use correct HTML attribute", - "userLogin": "jangmarker", - "milestone": "0.58.0-rc.1", - "contributors": [ - "jangmarker" - ] - }, - { - "pr": "7687", - "title": "[FIX] Fix room load on first hit", - "userLogin": "sampaiodiego", - "milestone": "0.58.0-rc.1", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7658", - "title": "[NEW] Add unread options for direct messages", - "userLogin": "sampaiodiego", - "milestone": "0.58.0-rc.1", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7661", - "title": "Fix typo in generated URI", - "userLogin": "Rohlik", - "contributors": [ - "Rohlik", - "web-flow" - ] - }, - { - "pr": "7625", - "title": "Bump version to 0.59.0-develop", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7630", - "title": "[FIX] Wrong render of snippet’s name", - "userLogin": "rodrigok", - "milestone": "0.58.0-rc.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7629", - "title": "[FIX] Fix messagebox growth", - "userLogin": "sampaiodiego", - "milestone": "0.58.0-rc.1", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "2", - "title": "implemented new page-loader animated icon", - "userLogin": "rcaferati", - "contributors": [ - null - ] - } - ], - "0.59.0-rc.1": [ - { - "pr": "7880", - "title": "[FIX] sidebar paddings", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7878", - "title": "[FIX] Adds default search text padding for emoji search", - "userLogin": "gdelavald", - "milestone": "0.59.0-rc.1", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "7881", - "title": "[FIX] search results position on sidebar", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7882", - "title": "[FIX] hyperlink style on sidebar footer", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7883", - "title": "[FIX] popover position on mobile", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7885", - "title": "[FIX] message actions over unread bar", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7886", - "title": "[FIX] livechat icon", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7887", - "title": "[FIX] Makes text action menu width based on content size", - "userLogin": "gdelavald", - "milestone": "0.59.0-rc.1", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "7888", - "title": "[FIX] sidebar buttons and badge paddings", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - } - ], - "0.59.0-rc.2": [ - { - "pr": "7912", - "title": "[FIX] Fix google play logo on repo README", - "userLogin": "luizbills", - "milestone": "0.59.0-rc.2", - "contributors": [ - "luizbills", - "web-flow" - ] - }, - { - "pr": "7904", - "title": "[FIX] Fix livechat toggle UI issue", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7895", - "title": "[FIX] Remove break change in Realtime API", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7894", - "title": "Hide flex-tab close button", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.2", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7893", - "title": "[FIX] Window exception when parsing Markdown on server", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.2", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.0-rc.3": [ - { - "pr": "7985", - "title": "[FIX] Text area buttons and layout on mobile ", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.3", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "7927", - "title": "[FIX] Double scroll on 'keyboard shortcuts' menu in sidepanel", - "userLogin": "aditya19496", - "milestone": "0.59.0-rc.3", - "contributors": [ - "aditya19496" - ] - }, - { - "pr": "7944", - "title": "[FIX] Broken embedded view layout", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7986", - "title": "[FIX] Textarea on firefox", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.3", - "contributors": [ - "MartinSchoeler", - "ggazzo", - "web-flow" - ] - }, - { - "pr": "7984", - "title": "[FIX] Chat box no longer auto-focuses when typing", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.3", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7971", - "title": "[FIX] Add padding on messages to allow space to the action buttons", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.3", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7970", - "title": "[FIX] Small alignment fixes", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.3", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7965", - "title": "[FIX] Markdown being rendered in code tags", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.3", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7963", - "title": "[FIX] Fix the status on the members list", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7960", - "title": "[FIX] status and active room colors on sidebar", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7954", - "title": "[FIX] OTR buttons padding", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7953", - "title": "[FIX] username ellipsis on firefox", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7948", - "title": "[FIX] Document README.md. Drupal repo out of date", - "userLogin": "Lawri-van-Buel", - "milestone": "0.59.0-rc.3", - "contributors": [ - "Lawri-van-Buel" - ] - }, - { - "pr": "7945", - "title": "[FIX] Fix placeholders in account profile", - "userLogin": "josiasds", - "milestone": "0.59.0-rc.3", - "contributors": [ - "josiasds" - ] - }, - { - "pr": "7943", - "title": "[FIX] Broken emoji picker on firefox", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7942", - "title": "[FIX] Create channel button on Firefox", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7941", - "title": "Update BlackDuck URL", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.3", - "contributors": [ - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "7909", - "title": "[DOCS] Add native mobile app links into README and update button images", - "userLogin": "rafaelks", - "milestone": "0.59.0-rc.3", - "contributors": [ - "rafaelks", - "web-flow" - ] - }, - { - "pr": "7712", - "title": "[FIX] Show leader on first load", - "userLogin": "danischreiber", - "milestone": "0.59.0-rc.3", - "contributors": [ - "danischreiber", - "rodrigok" - ] - } - ], - "0.59.0-rc.4": [ - { - "pr": "7988", - "title": "[FIX] Vertical menu on flex-tab", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.4", - "contributors": [ - "ggazzo", - "karlprieb" - ] - }, - { - "pr": "8048", - "title": "[FIX] Invisible leader bar on hover", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.4", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "8046", - "title": "[FIX] Prevent autotranslate tokens race condition", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.4", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8039", - "title": "[FIX] copy to clipboard and update clipboard.js library", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8019", - "title": "[FIX] message-box autogrow", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8018", - "title": "[FIX] search results height", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.4", - "contributors": [ - "karlprieb", - "gdelavald" - ] - }, - { - "pr": "8017", - "title": "[FIX] room icon on header", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8014", - "title": "[FIX] Hide scrollbar on login page if not necessary", - "userLogin": "alexbrazier", - "milestone": "0.59.0-rc.4", - "contributors": [ - "alexbrazier" - ] - }, - { - "pr": "8001", - "title": "[FIX] Error when translating message", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.4", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7998", - "title": "[FIX] Recent emojis not updated when adding via text", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.4", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7989", - "title": "[FIX][PL] Polish translation", - "userLogin": "Rzeszow", - "milestone": "0.59.0-rc.4", - "contributors": [ - "Rzeszow", - "web-flow" - ] - }, - { - "pr": "7754", - "title": "[FIX] Fix email on mention", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.4", - "contributors": [ - "MartinSchoeler" - ] - } - ], - "0.59.0-rc.5": [ - { - "pr": "8112", - "title": "[FIX] RTL", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.5", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8101", - "title": "[FIX] Dynamic popover", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.5", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8122", - "title": "[FIX] Settings description not showing", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.5", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8099", - "title": "[FIX] Fix setting user avatar on LDAP login", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.5", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8059", - "title": "[FIX] Not sending email to mentioned users with unchanged preference", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.5", - "contributors": [ - "MartinSchoeler", - "sampaiodiego" - ] - }, - { - "pr": "8054", - "title": "Remove unnecessary returns in cors common", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0-rc.5", - "contributors": [ - "Kiran-Rao", - "web-flow" - ] - }, - { - "pr": "8047", - "title": "[FIX] Scroll on messagebox", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.5", - "contributors": [ - "MartinSchoeler" - ] - } - ], - "0.59.0-rc.6": [ - { - "pr": "8172", - "title": "[FIX] Allow unknown file types if no allowed whitelist has been set (#7074)", - "userLogin": "TriPhoenix", - "milestone": "0.59.0-rc.6", - "contributors": [ - "TriPhoenix" - ] - }, - { - "pr": "8167", - "title": "[FIX] Issue #8166 where empty analytics setting breaks to load Piwik script", - "userLogin": "ruKurz", - "milestone": "0.59.0-rc.6", - "contributors": [ - "ruKurz" - ] - }, - { - "pr": "8154", - "title": "[FIX] Sidebar and RTL alignments", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.6", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8147", - "title": "[FIX] \"*.members\" rest api being useless and only returning usernames", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.6", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8146", - "title": "[FIX] Fix iframe login API response (issue #8145)", - "userLogin": "astax-t", - "milestone": "0.59.0-rc.6", - "contributors": [ - "astax-t" - ] - }, - { - "pr": "8159", - "title": "[FIX] Text area lost text when page reloads", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.6", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8144", - "title": "[FIX] Fix new room sound being played too much", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.6", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8094", - "title": "[FIX] Add admin audio preferences translations", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.6", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8073", - "title": "[NEW] Upgrade to meteor 1.5.2", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.6", - "contributors": [ - "engelgabriel" - ] - } - ], - "0.59.0-rc.7": [ - { - "pr": "8213", - "title": "[FIX] Leave and hide buttons was removed", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.7", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8211", - "title": "[FIX] Incorrect URL for login terms when using prefix", - "userLogin": "Darkneon", - "milestone": "0.59.0-rc.7", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "8210", - "title": "[FIX] User avatar in DM list.", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.7", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8197", - "title": "npm deps update", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.7", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8194", - "title": "Fix more rtl issues", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.7", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8190", - "title": "[FIX] Scrollbar not using new style", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.7", - "contributors": [ - "ggazzo", - "rodrigok" - ] - } - ], - "0.59.0-rc.8": [ - { - "pr": "8253", - "title": "readme-file: fix broken link", - "userLogin": "vcapretz", - "milestone": "0.59.0-rc.8", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8257", - "title": "[FIX] sidenav colors, hide and leave, create channel on safari", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.8", - "contributors": [ - "ggazzo", - "karlprieb", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8262", - "title": "[FIX] make sidebar item animation fast", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.8", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8261", - "title": "[FIX] RTL on reply", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.8", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8260", - "title": "[NEW] Enable read only channel creation", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.8", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8259", - "title": "[FIX] clipboard and permalink on new popover", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.8", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8252", - "title": "[FIX] sidenav mentions on hover", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.8", - "contributors": [ - "ggazzo", - "karlprieb" - ] - }, - { - "pr": "8244", - "title": "Disable perfect scrollbar", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.8", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8243", - "title": "Fix `leave and hide` click, color and position", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.8", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8241", - "title": "[FIX] Api groups.files is always returning empty", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.8", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8216", - "title": "[FIX] Case insensitive SAML email check", - "userLogin": "arminfelder", - "milestone": "0.59.0-rc.8", - "contributors": [ - "arminfelder" - ] - } - ], - "0.59.0-rc.9": [ - { - "pr": "8310", - "title": "[FIX] Execute meteor reset on TRAVIS_TAG builds", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.9", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8307", - "title": "[FIX] Call buttons with wrong margin on RTL", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.9", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8304", - "title": "[NEW] Add RD Station integration to livechat", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.9", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8300", - "title": "[FIX] Emoji Picker hidden for reactions in RTL", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.9", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8299", - "title": " [FIX] Amin menu not showing all items & File list breaking line", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.9", - "contributors": [ - "ggazzo", - "karlprieb", - "web-flow" - ] - }, - { - "pr": "8298", - "title": "[FIX] TypeError: Cannot read property 't' of undefined", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.9", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8296", - "title": "[FIX] Wrong file name when upload to AWS S3", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.9", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8295", - "title": "[FIX] Check attachments is defined before accessing first element", - "userLogin": "Darkneon", - "milestone": "0.59.0-rc.9", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "8286", - "title": "[FIX] Missing placeholder translations", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.9", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8282", - "title": "[FIX] fix color on unread messages", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.9", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8278", - "title": "[FIX] \"Cancel button\" on modal in RTL in Firefox 55", - "userLogin": "cyclops24", - "milestone": "0.59.0-rc.9", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8273", - "title": "Deps update", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.9", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8271", - "title": "[FIX] Attachment icons alignment in LTR and RTL", - "userLogin": "cyclops24", - "milestone": "0.59.0-rc.9", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8270", - "title": "[FIX] [i18n] My Profile & README.md links", - "userLogin": "Rzeszow", - "milestone": "0.59.0-rc.9", - "contributors": [ - "Rzeszow", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "8269", - "title": "[FIX] some placeholder and phrase traslation fix", - "userLogin": "cyclops24", - "milestone": "0.59.0-rc.9", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8266", - "title": "[FIX] \"Channel Setting\" buttons alignment in RTL", - "userLogin": "cyclops24", - "milestone": "0.59.0-rc.9", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8237", - "title": "[FIX] Removing pipe and commas from custom emojis (#8168)", - "userLogin": "matheusml", - "milestone": "0.59.0-rc.9", - "contributors": [ - "matheusml" - ] - } - ], - "0.59.0-rc.10": [ - { - "pr": "8355", - "title": "Update meteor to 1.5.2.2-rc.0", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.10", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8314", - "title": "[FIX] After deleting the room, cache is not synchronizing", - "userLogin": "szluohua", - "milestone": "0.59.0-rc.10", - "contributors": [ - "szluohua" - ] - }, - { - "pr": "8334", - "title": "[FIX] Remove sidebar header on admin embedded version", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.10", - "contributors": [ - "karlprieb", - "web-flow" - ] - }, - { - "pr": "8331", - "title": "[FIX-RC] Mobile file upload not working", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.10", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8317", - "title": "[FIX] Email Subjects not being sent", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.10", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "8315", - "title": "[FIX] Put delete action on another popover group", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.10", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8316", - "title": "[FIX] Mention unread indicator was removed", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.10", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.0-rc.11": [ - { - "pr": "8375", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.11", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8372", - "title": "[FIX] Various LDAP issues & Missing pagination", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.11", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8364", - "title": "Update Meteor to 1.5.2.2", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.11", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8363", - "title": "Sync translations from LingoHub", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.11", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8358", - "title": "[FIX] remove accountBox from admin menu", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.11", - "contributors": [ - "engelgabriel", - "karlprieb", - "web-flow" - ] - }, - { - "pr": "8361", - "title": "[NEW] Unify unread and mentions badge", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.11", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8362", - "title": "[NEW] make sidebar item width 100%", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.11", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8360", - "title": "[NEW] Smaller accountBox", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.11", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8357", - "title": "[FIX] Missing i18n translations", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.11", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "8345", - "title": "Remove field `lastActivity` from subscription data", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.11", - "contributors": [ - "ggazzo" - ] - } - ], - "0.59.0-rc.12": [ - { - "pr": "8416", - "title": "Fix: Account menu position on RTL", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.12", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8417", - "title": "Fix: Missing LDAP option to show internal logs", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.12", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8414", - "title": "Fix: Missing LDAP reconnect setting", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.12", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8389", - "title": "[FIX] Add needed dependency for snaps", - "userLogin": "geekgonecrazy", - "milestone": "0.59.0-rc.12", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "8390", - "title": "[FIX] Slack import failing and not being able to be restarted", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8397", - "title": "[FIX] Sidebar item menu position in RTL", - "userLogin": "cyclops24", - "milestone": "0.59.0-rc.12", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8386", - "title": "[FIX] disabled katex tooltip on messageBox", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.12", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8394", - "title": "Add i18n Title to snippet messages", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.12", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "8408", - "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8398", - "title": "Fix: Missing settings to configure LDAP size and page limits", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.12", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.0-rc.13": [ - { - "pr": "8459", - "title": "[NEW] Setting to disable MarkDown and enable AutoLinker", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.13", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8457", - "title": "[FIX] LDAP memory issues when pagination is not available", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.13", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8451", - "title": "Improve markdown parser code", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.13", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.0-rc.14": [ - { - "pr": "8515", - "title": "Change artifact path", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "8463", - "title": "Color variables migration", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.14", - "contributors": [ - "ggazzo", - "rodrigok", - "karlprieb" - ] - }, - { - "pr": "8516", - "title": "Fix: Change password not working in new UI", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8514", - "title": "[FIX] Uncessary route reload break some routes", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8491", - "title": "[FIX] Invalid Code message for password protected channel", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8489", - "title": "[FIX] Wrong message when reseting password and 2FA is enabled", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8490", - "title": "Enable AutoLinker back", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.0-rc.15": [ - { - "pr": "8518", - "title": "Fix artifact path", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "8520", - "title": "Fix high CPU load when sending messages on large rooms (regression)", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.0-rc.16": [ - { - "pr": "8527", - "title": "[FIX] Do not send joinCode field to clients", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.59.0-rc.17": [ - { - "pr": "8529", - "title": "Improve room sync speed", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.0": [ - { - "pr": "8420", - "title": "Merge 0.58.4 to master", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8335", - "title": "0.58.3", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8408", - "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8390", - "title": "[FIX] Slack import failing and not being able to be restarted", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8389", - "title": "[FIX] Add needed dependency for snaps", - "userLogin": "geekgonecrazy", - "milestone": "0.59.0-rc.12", - "contributors": [ - "geekgonecrazy" - ] - } - ], - "0.59.1": [ - { - "pr": "8543", - "title": "[FIX] Color reset when default value editor is different", - "userLogin": "rodrigok", - "milestone": "0.59.1", - "contributors": [ - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "8547", - "title": "[FIX] Wrong colors after migration 103", - "userLogin": "rodrigok", - "milestone": "0.59.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8541", - "title": "[FIX] LDAP login error regression at 0.59.0", - "userLogin": "rodrigok", - "milestone": "0.59.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8544", - "title": "[FIX] Migration 103 wrong converting primrary colors", - "userLogin": "rodrigok", - "milestone": "0.59.1", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.2": [ - { - "pr": "8637", - "title": "[FIX] Missing scroll at create channel page", - "userLogin": "karlprieb", - "milestone": "0.59.2", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8634", - "title": "[FIX] Message popup menu on mobile/cordova", - "userLogin": "karlprieb", - "milestone": "0.59.2", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8635", - "title": "[FIX] API channel/group.members not sorting", - "userLogin": "rodrigok", - "milestone": "0.59.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8613", - "title": "[FIX] LDAP not merging existent users && Wrong id link generation", - "userLogin": "rodrigok", - "milestone": "0.59.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8551", - "title": "[FIX] encode filename in url to prevent links breaking", - "userLogin": "joesitton", - "milestone": "0.59.2", - "contributors": [ - "joesitton", - "web-flow" - ] - }, - { - "pr": "8577", - "title": "[FIX] Fix guest pool inquiry taking", - "userLogin": "sampaiodiego", - "milestone": "0.59.2", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.59.3": [ - { - "pr": "8593", - "title": "[FIX] AmazonS3: Quote file.name for ContentDisposition for files with commas", - "userLogin": "xenithorb", - "milestone": "0.59.3", - "contributors": [ - "xenithorb" - ] - }, - { - "pr": "8434", - "title": "removing a duplicate line", - "userLogin": "vikaskedia", - "milestone": "0.59.3", - "contributors": [ - "vikaskedia", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8645", - "title": "[FIX] Fix e-mail message forward", - "userLogin": "sampaiodiego", - "milestone": "0.59.3", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "8648", - "title": "[FIX] Audio message icon", - "userLogin": "karlprieb", - "milestone": "0.59.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8431", - "title": "[FIX] Highlighted color height issue", - "userLogin": "cyclops24", - "milestone": "0.59.3", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8655", - "title": "[FIX] Update pt-BR translation", - "userLogin": "rodorgas", - "milestone": "0.59.3", - "contributors": [ - "rodorgas" - ] - }, - { - "pr": "8679", - "title": "[FIX] Fix typos", - "userLogin": "sampaiodiego", - "milestone": "0.59.3", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "8653", - "title": "install grpc package manually to fix snap armhf build", - "userLogin": "geekgonecrazy", - "milestone": "0.59.3", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "8691", - "title": "[FIX] LDAP not respecting UTF8 characters & Sync Interval not working", - "userLogin": "rodrigok", - "milestone": "0.59.3", - "contributors": [ - "rodrigok" - ] - } - ], - "0.59.4": [ - { - "pr": "8967", - "title": "Release/0.59.4", - "userLogin": "geekgonecrazy", - "contributors": [ - "cpitman", - "geekgonecrazy", - "karlprieb", - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "8685", - "title": "Add CircleCI", - "userLogin": "rodrigok", - "contributors": [ - "sampaiodiego", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8753", - "title": "[FIX] Channel settings buttons", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "geekgonecrazy", - "web-flow", - "rodrigok" - ] - } - ], - "0.59.5": [ - { - "pr": "8972", - "title": "Fix CircleCI deploy filter", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.59.6": [ - { - "pr": "8973", - "title": "Fix tag build", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.60.0-rc.0": [ - { - "pr": "9084", - "title": "Fix tag build", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7285", - "title": "[NEW] Allow user's default preferences configuration", - "userLogin": "goiaba", - "milestone": "0.60.0", - "contributors": [ - "goiaba", - "web-flow" - ] - }, - { - "pr": "8925", - "title": "[FIX] Can't react on Read Only rooms even when enabled", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9068", - "title": "Turn off prettyJson if the node environment isn't development", - "userLogin": "graywolf336", - "milestone": "0.60.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "9049", - "title": "Fix api regression (exception when deleting user)", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8654", - "title": "[FIX] CAS does not share secrets when operating multiple server instances", - "userLogin": "AmShaegar13", - "milestone": "0.60.0", - "contributors": [ - "AmShaegar13" - ] - }, - { - "pr": "8937", - "title": "[FIX] Snippetted messages not working", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8915", - "title": "[NEW] Add \"Favorites\" and \"Mark as read\" options to the room list", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8807", - "title": "[NEW] Facebook livechat integration", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego", - "ggazzo", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9022", - "title": "[FIX] Added afterUserCreated trigger after first CAS login", - "userLogin": "AmShaegar13", - "milestone": "0.60.0", - "contributors": [ - "AmShaegar13" - ] - }, - { - "pr": "8902", - "title": "[NEW] Added support for Dataporten's userid-feide scope", - "userLogin": "torgeirl", - "milestone": "0.60.0", - "contributors": [ - "torgeirl", - "web-flow" - ] - }, - { - "pr": "8828", - "title": "[FIX] Notification is not sent when a video conference start", - "userLogin": "seainside75", - "milestone": "0.60.0", - "contributors": [ - "stefanoverducci", - "deepseainside75" - ] - }, - { - "pr": "8868", - "title": "[FIX] long filename overlaps cancel button in progress bar", - "userLogin": "joesitton", - "milestone": "0.60.0", - "contributors": [ - "joesitton", - "web-flow" - ] - }, - { - "pr": "8924", - "title": "[NEW] Describe file uploads when notifying by email", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9012", - "title": "[FIX] Changed oembedUrlWidget to prefer og:image and twitter:image over msapplication-TileImage", - "userLogin": "wferris722", - "milestone": "0.60.0", - "contributors": [ - "wferris722", - "web-flow" - ] - }, - { - "pr": "9046", - "title": "[FIX] Update insecure moment.js dependency", - "userLogin": "robbyoconnor", - "milestone": "0.60.0", - "contributors": [ - "robbyoconnor" - ] - }, - { - "pr": "8149", - "title": "[NEW] Feature/livechat hide email", - "userLogin": "icosamuel", - "milestone": "0.60.0", - "contributors": [ - "sarbasamuel", - "icosamuel", - "web-flow", - "sampaiodiego" - ] - }, - { - "pr": "7999", - "title": "[NEW] Sender's name in email notifications.", - "userLogin": "pkgodara", - "milestone": "0.60.0", - "contributors": [ - "pkgodara", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "7922", - "title": "Use real names for user and room in emails", - "userLogin": "danischreiber", - "milestone": "0.60.0", - "contributors": [ - "danischreiber", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9034", - "title": "[FIX] Custom OAuth: Not able to set different token place for routes", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9044", - "title": "[FIX] Can't use OAuth login against a Rocket.Chat OAuth server", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy", - "graywolf336", - "web-flow" - ] - }, - { - "pr": "9042", - "title": "[FIX] Notification sound is not disabling when busy", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8739", - "title": "[NEW] Add \"real name change\" setting", - "userLogin": "AmShaegar13", - "milestone": "0.60.0", - "contributors": [ - "AmShaegar13" - ] - }, - { - "pr": "8433", - "title": "[NEW] Use enter separator rather than comma in highlight preferences + Auto refresh after change highlighted words", - "userLogin": "cyclops24", - "milestone": "0.60.0", - "contributors": [ - "cyclops24", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "7641", - "title": "[NEW] Adds admin option to globally set mobile devices to always be notified regardless of presence status.", - "userLogin": "stalley", - "milestone": "0.60.0", - "contributors": [ - "stalley", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9024", - "title": "[FIX] Use encodeURI in AmazonS3 contentDisposition file.name to prevent fail", - "userLogin": "paulovitin", - "milestone": "0.60.0", - "contributors": [ - "paulovitin", - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9029", - "title": "[FIX] snap install by setting grpc package used by google/vision to 1.6.6", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "8142", - "title": "[MOVE] Move mentions files to client/server", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8947", - "title": "[NEW] Add new API endpoints", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok", - "graywolf336", - "web-flow" - ] - }, - { - "pr": "8671", - "title": "[FIX] Enable CORS for Restivus", - "userLogin": "mrsimpson", - "milestone": "0.60.0", - "contributors": [ - "mrsimpson", - "engelgabriel", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8966", - "title": "[FIX] Importers failing when usernames exists but cases don't match and improve the importer framework's performance", - "userLogin": "graywolf336", - "milestone": "0.60.0", - "contributors": [ - "graywolf336", - "geekgonecrazy", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9023", - "title": "[FIX] Error when saving integration with symbol as only trigger", - "userLogin": "graywolf336", - "milestone": "0.60.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8006", - "title": "[FIX] Sync of non existent field throws exception", - "userLogin": "goiaba", - "milestone": "0.60.0", - "contributors": [ - "goiaba", - "web-flow" - ] - }, - { - "pr": "9018", - "title": "Update multiple-instance-status package", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9007", - "title": "Use redhat official image with openshift", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "8107", - "title": "[FIX] Autoupdate of CSS does not work when using a prefix", - "userLogin": "Darkneon", - "milestone": "0.60.0", - "contributors": [ - "Darkneon", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8656", - "title": "[FIX] Contextual errors for this and RegExp declarations in IRC module", - "userLogin": "Pharserror", - "milestone": "0.60.0", - "contributors": [ - "Pharserror", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8029", - "title": "[NEW] Option to enable/disable auto away and configure timer", - "userLogin": "armand1m", - "milestone": "0.60.0", - "contributors": [ - "armand1m", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9013", - "title": "[FIX] Wrong room counter name", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8975", - "title": "Added d2c.io to deployment", - "userLogin": "mastappl", - "contributors": [ - "mastappl", - "web-flow", - "geekgonecrazy" - ] - }, - { - "pr": "8882", - "title": "[NEW] New Modal component", - "userLogin": "ggazzo", - "milestone": "0.60.0", - "contributors": [ - "ggazzo", - "web-flow", - "karlprieb" - ] - }, - { - "pr": "8932", - "title": "[FIX] Message-box autogrow flick", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9009", - "title": "[NEW] Improve room types API and usages", - "userLogin": "graywolf336", - "milestone": "0.60.0", - "contributors": [ - "mrsimpson", - "graywolf336" - ] - }, - { - "pr": "8812", - "title": "[FIX] Don't strip trailing slash on autolinker urls", - "userLogin": "jwilkins", - "milestone": "0.60.0", - "contributors": [ - "jwilkins", - "web-flow" - ] - }, - { - "pr": "8831", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8866", - "title": "[NEW] Room counter sidebar preference", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8883", - "title": "[FIX] Change the unread messages style", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8884", - "title": "[FIX] Missing sidebar footer padding", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8907", - "title": "[FIX] Long room announcement cut off", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8917", - "title": "[FIX] DM email notifications always being sent regardless of account setting", - "userLogin": "ashward", - "milestone": "0.60.0", - "contributors": [ - null, - "ashward", - "web-flow" - ] - }, - { - "pr": "8938", - "title": "[FIX] Typo Fix", - "userLogin": "seangeleno", - "milestone": "0.60.0", - "contributors": [ - "seangeleno", - "web-flow" - ] - }, - { - "pr": "8948", - "title": "[FIX] Katex markdown link changed", - "userLogin": "mritunjaygoutam12", - "milestone": "0.60.0", - "contributors": [ - "mritunjaygoutam12", - "web-flow" - ] - }, - { - "pr": "8979", - "title": "[NEW] Save room's last message", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego", - "karlprieb", - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9000", - "title": "[FIX] if ogImage exists use it over image in oembedUrlWidget", - "userLogin": "satyapramodh", - "milestone": "0.60.0", - "contributors": [ - "satyapramodh" - ] - }, - { - "pr": "8060", - "title": "[NEW] Token Controlled Access channels", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "lindoelio", - "sampaiodiego", - "web-flow", - "karlprieb" - ] - }, - { - "pr": "8889", - "title": "[FIX] Cannot edit or delete custom sounds", - "userLogin": "ccfang", - "milestone": "0.60.0", - "contributors": [ - "ccfang", - "web-flow" - ] - }, - { - "pr": "8928", - "title": "[FIX] Change old 'rocketbot' username to 'InternalHubot_Username' setting", - "userLogin": "ramrami", - "milestone": "0.60.0", - "contributors": [ - "ramrami", - "web-flow" - ] - }, - { - "pr": "8985", - "title": "[FIX] Link for channels are not rendering correctly", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "web-flow" - ] - }, - { - "pr": "8968", - "title": "[FIX] Xenforo [BD]API for 'user.user_id; instead of 'id'", - "userLogin": "wesnspace", - "milestone": "0.60.0", - "contributors": [ - "wesnspace", - "web-flow" - ] - }, - { - "pr": "8994", - "title": "[FIX] flextab height on smaller screens", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8931", - "title": "[FIX] Check for mention-all permission in room scope", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8905", - "title": "[NEW] Send category and title fields to iOS push notification", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8981", - "title": "Fix snap download url", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "8753", - "title": "[FIX] Channel settings buttons", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "geekgonecrazy", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8906", - "title": "Add a few dots in readme.md", - "userLogin": "dusta", - "contributors": [ - "dusta", - "web-flow" - ] - }, - { - "pr": "8872", - "title": "Changed wording for \"Maximum Allowed Message Size\"", - "userLogin": "HammyHavoc", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "8822", - "title": "[FIX] fix emoji package path so they show up correctly in browser", - "userLogin": "ryoshimizu", - "milestone": "0.60.0", - "contributors": [ - "ryoshimizu" - ] - }, - { - "pr": "8857", - "title": "[NEW] code to get the updated messages", - "userLogin": "ggazzo", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8862", - "title": "Fix Docker image build", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8531", - "title": "[NEW] Rest API endpoints to list, get, and run commands", - "userLogin": "graywolf336", - "milestone": "0.60.0", - "contributors": [ - "graywolf336", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8830", - "title": "[FIX] Set correct Twitter link", - "userLogin": "jotafeldmann", - "contributors": [ - "jotafeldmann", - "web-flow" - ] - }, - { - "pr": "8829", - "title": "Fix link to .asc file on S3", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8820", - "title": "Bump version to 0.60.0-develop", - "userLogin": "geekgonecrazy", - "contributors": [ - "rodrigok", - "karlprieb", - "gdelavald", - "ggazzo", - "engelgabriel" - ] - }, - { - "pr": "8819", - "title": "Update path for s3 redirect in circle ci", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "8810", - "title": "[FIX] User email settings on DM", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8721", - "title": "[FIX] i18n'd Resend_verification_mail, username_initials, upload avatar", - "userLogin": "arungalva", - "milestone": "0.60.0", - "contributors": [ - "arungalva", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8716", - "title": "[FIX] Username clipping on firefox", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8742", - "title": "Remove chatops package", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "8743", - "title": "Removed tmeasday:crypto-md5", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "8802", - "title": "Update meteor package to 1.8.1", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "8795", - "title": "[FIX] Improved grammar and made it clearer to the user", - "userLogin": "HammyHavoc", - "milestone": "0.60.0", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "8705", - "title": "Fix typo", - "userLogin": "rmetzler", - "milestone": "0.60.0", - "contributors": [ - "rmetzler", - "geekgonecrazy", - "web-flow", - "engelgabriel" - ] - }, - { - "pr": "8718", - "title": "[FIX] Show real name of current user at top of side nav if setting enabled", - "userLogin": "alexbrazier", - "milestone": "0.60.0", - "contributors": [ - "alexbrazier", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8441", - "title": "[FIX] Range Slider Value label has bug in RTL", - "userLogin": "cyclops24", - "milestone": "0.60.0", - "contributors": [ - "cyclops24", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8413", - "title": "[Fix] Store Outgoing Integration Result as String in Mongo", - "userLogin": "cpitman", - "milestone": "0.60.0", - "contributors": [ - "cpitman", - "graywolf336", - "web-flow" - ] - }, - { - "pr": "8708", - "title": "[FIX] Add historic chats icon in Livechat", - "userLogin": "mrsimpson", - "milestone": "0.60.0", - "contributors": [ - "mrsimpson", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "8717", - "title": "[FIX] Sort direct messages by full name if show real names setting enabled", - "userLogin": "alexbrazier", - "milestone": "0.60.0", - "contributors": [ - "alexbrazier", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8793", - "title": "Update DEMO to OPEN links", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8796", - "title": "[FIX] Improving consistency of UX", - "userLogin": "HammyHavoc", - "milestone": "0.60.0", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "8787", - "title": "[FIX] fixed some typos", - "userLogin": "TheReal1604", - "milestone": "0.60.0", - "contributors": [ - "TheReal1604", - "web-flow", - "engelgabriel" - ] - }, - { - "pr": "8715", - "title": "[NEW] Upgrade Meteor to 1.6", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok", - "geekgonecrazy", - "karlprieb", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "8685", - "title": "Add CircleCI", - "userLogin": "rodrigok", - "contributors": [ - "sampaiodiego", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8750", - "title": "Fix Travis CI build", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8719", - "title": "Updated comments.", - "userLogin": "jasonjyu", - "contributors": [ - "jasonjyu", - "web-flow" - ] - }, - { - "pr": "8434", - "title": "removing a duplicate line", - "userLogin": "vikaskedia", - "milestone": "0.59.3", - "contributors": [ - "vikaskedia", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8645", - "title": "[FIX] Fix e-mail message forward", - "userLogin": "sampaiodiego", - "milestone": "0.59.3", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "8648", - "title": "[FIX] Audio message icon", - "userLogin": "karlprieb", - "milestone": "0.59.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8431", - "title": "[FIX] Highlighted color height issue", - "userLogin": "cyclops24", - "milestone": "0.59.3", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8593", - "title": "[FIX] AmazonS3: Quote file.name for ContentDisposition for files with commas", - "userLogin": "xenithorb", - "milestone": "0.59.3", - "contributors": [ - "xenithorb" - ] - }, - { - "pr": "8655", - "title": "[FIX] Update pt-BR translation", - "userLogin": "rodorgas", - "milestone": "0.59.3", - "contributors": [ - "rodorgas" - ] - }, - { - "pr": "8679", - "title": "[FIX] Fix typos", - "userLogin": "sampaiodiego", - "milestone": "0.59.3", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "8653", - "title": "install grpc package manually to fix snap armhf build", - "userLogin": "geekgonecrazy", - "milestone": "0.59.3", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "8691", - "title": "[FIX] LDAP not respecting UTF8 characters & Sync Interval not working", - "userLogin": "rodrigok", - "milestone": "0.59.3", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8637", - "title": "[FIX] Missing scroll at create channel page", - "userLogin": "karlprieb", - "milestone": "0.59.2", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8634", - "title": "[FIX] Message popup menu on mobile/cordova", - "userLogin": "karlprieb", - "milestone": "0.59.2", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8635", - "title": "[FIX] API channel/group.members not sorting", - "userLogin": "rodrigok", - "milestone": "0.59.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8613", - "title": "[FIX] LDAP not merging existent users && Wrong id link generation", - "userLogin": "rodrigok", - "milestone": "0.59.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8551", - "title": "[FIX] encode filename in url to prevent links breaking", - "userLogin": "joesitton", - "milestone": "0.59.2", - "contributors": [ - "joesitton", - "web-flow" - ] - }, - { - "pr": "8577", - "title": "[FIX] Fix guest pool inquiry taking", - "userLogin": "sampaiodiego", - "milestone": "0.59.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8589", - "title": "Fix community links in readme", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "8588", - "title": "[FIX] Changed all rocket.chat/docs/ to docs.rocket.chat/", - "userLogin": "RekkyRek", - "contributors": [ - "RekkyRek", - "web-flow" - ] - }, - { - "pr": "8543", - "title": "[FIX] Color reset when default value editor is different", - "userLogin": "rodrigok", - "milestone": "0.59.1", - "contributors": [ - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "8547", - "title": "[FIX] Wrong colors after migration 103", - "userLogin": "rodrigok", - "milestone": "0.59.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8541", - "title": "[FIX] LDAP login error regression at 0.59.0", - "userLogin": "rodrigok", - "milestone": "0.59.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8544", - "title": "[FIX] Migration 103 wrong converting primrary colors", - "userLogin": "rodrigok", - "milestone": "0.59.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8529", - "title": "Improve room sync speed", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8527", - "title": "[FIX] Do not send joinCode field to clients", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8520", - "title": "Fix high CPU load when sending messages on large rooms (regression)", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8515", - "title": "Change artifact path", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "8463", - "title": "Color variables migration", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.14", - "contributors": [ - "ggazzo", - "rodrigok", - "karlprieb" - ] - }, - { - "pr": "8516", - "title": "Fix: Change password not working in new UI", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8514", - "title": "[FIX] Uncessary route reload break some routes", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8491", - "title": "[FIX] Invalid Code message for password protected channel", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8489", - "title": "[FIX] Wrong message when reseting password and 2FA is enabled", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8490", - "title": "Enable AutoLinker back", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.14", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8459", - "title": "[NEW] Setting to disable MarkDown and enable AutoLinker", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.13", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8457", - "title": "[FIX] LDAP memory issues when pagination is not available", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.13", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8451", - "title": "Improve markdown parser code", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.13", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8066", - "title": "[NEW] Add settings for allow user direct messages to yourself", - "userLogin": "lindoelio", - "milestone": "0.60.0", - "contributors": [ - "lindoelio" - ] - }, - { - "pr": "8108", - "title": "[NEW] Add sweet alert to video call tab", - "userLogin": "MartinSchoeler", - "milestone": "0.60.0", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "8143", - "title": "[NEW] Displays QR code for manually entering when enabling 2fa", - "userLogin": "marceloschmidt", - "milestone": "0.60.0", - "contributors": [ - "marceloschmidt" - ] - }, - { - "pr": "8077", - "title": "[MOVE] Move favico to client folder", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8078", - "title": "[MOVE] Move files from emojione to client/server folders", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8084", - "title": "[MOVE] Move files from slashcommands-unarchive to client/server folders", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8132", - "title": "[MOVE] Move slashcommands-open to client folder", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8135", - "title": "[MOVE] Move kick command to client/server folders", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8136", - "title": "[MOVE] Move join command to client/server folder", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8137", - "title": "[MOVE] Move inviteall command to client/server folder", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8138", - "title": "[MOVE] Move invite command to client/server folder", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8139", - "title": "[MOVE] Move create command to client/server folder", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8140", - "title": "[MOVE] Move archiveroom command to client/server folders", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8141", - "title": "[MOVE] Move slackbridge to client/server folders", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8150", - "title": "[MOVE] Move logger files to client/server folders", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8152", - "title": "[MOVE] Move timesync files to client/server folders", - "userLogin": "vcapretz", - "milestone": "0.60.0", - "contributors": [ - "vcapretz" - ] - }, - { - "pr": "8416", - "title": "Fix: Account menu position on RTL", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.12", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8417", - "title": "Fix: Missing LDAP option to show internal logs", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.12", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8414", - "title": "Fix: Missing LDAP reconnect setting", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.12", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8389", - "title": "[FIX] Add needed dependency for snaps", - "userLogin": "geekgonecrazy", - "milestone": "0.59.0-rc.12", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "8390", - "title": "[FIX] Slack import failing and not being able to be restarted", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8397", - "title": "[FIX] Sidebar item menu position in RTL", - "userLogin": "cyclops24", - "milestone": "0.59.0-rc.12", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8386", - "title": "[FIX] disabled katex tooltip on messageBox", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.12", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8394", - "title": "Add i18n Title to snippet messages", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.12", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "8408", - "title": "[FIX] Duplicate code in rest api letting in a few bugs with the rest api", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.12", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8398", - "title": "Fix: Missing settings to configure LDAP size and page limits", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.12", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8375", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.11", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8372", - "title": "[FIX] Various LDAP issues & Missing pagination", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.11", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8364", - "title": "Update Meteor to 1.5.2.2", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.11", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8363", - "title": "Sync translations from LingoHub", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.11", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8358", - "title": "[FIX] remove accountBox from admin menu", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.11", - "contributors": [ - "engelgabriel", - "karlprieb", - "web-flow" - ] - }, - { - "pr": "8361", - "title": "[NEW] Unify unread and mentions badge", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.11", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8362", - "title": "[NEW] make sidebar item width 100%", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.11", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8360", - "title": "[NEW] Smaller accountBox", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.11", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8357", - "title": "[FIX] Missing i18n translations", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.11", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "8345", - "title": "Remove field `lastActivity` from subscription data", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.11", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8355", - "title": "Update meteor to 1.5.2.2-rc.0", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.10", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8314", - "title": "[FIX] After deleting the room, cache is not synchronizing", - "userLogin": "szluohua", - "milestone": "0.59.0-rc.10", - "contributors": [ - "szluohua" - ] - }, - { - "pr": "8334", - "title": "[FIX] Remove sidebar header on admin embedded version", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.10", - "contributors": [ - "karlprieb", - "web-flow" - ] - }, - { - "pr": "8331", - "title": "[FIX-RC] Mobile file upload not working", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.10", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8317", - "title": "[FIX] Email Subjects not being sent", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.10", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "8315", - "title": "[FIX] Put delete action on another popover group", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.10", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8316", - "title": "[FIX] Mention unread indicator was removed", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.10", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8304", - "title": "[NEW] Add RD Station integration to livechat", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.9", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8310", - "title": "[FIX] Execute meteor reset on TRAVIS_TAG builds", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.9", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8296", - "title": "[FIX] Wrong file name when upload to AWS S3", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.9", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8298", - "title": "[FIX] TypeError: Cannot read property 't' of undefined", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.9", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8295", - "title": "[FIX] Check attachments is defined before accessing first element", - "userLogin": "Darkneon", - "milestone": "0.59.0-rc.9", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "8299", - "title": " [FIX] Amin menu not showing all items & File list breaking line", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.9", - "contributors": [ - "ggazzo", - "karlprieb", - "web-flow" - ] - }, - { - "pr": "8307", - "title": "[FIX] Call buttons with wrong margin on RTL", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.9", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8300", - "title": "[FIX] Emoji Picker hidden for reactions in RTL", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.9", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8273", - "title": "Deps update", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.9", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8282", - "title": "[FIX] fix color on unread messages", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.9", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8286", - "title": "[FIX] Missing placeholder translations", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.9", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8278", - "title": "[FIX] \"Cancel button\" on modal in RTL in Firefox 55", - "userLogin": "cyclops24", - "milestone": "0.59.0-rc.9", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8271", - "title": "[FIX] Attachment icons alignment in LTR and RTL", - "userLogin": "cyclops24", - "milestone": "0.59.0-rc.9", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "8270", - "title": "[FIX] [i18n] My Profile & README.md links", - "userLogin": "Rzeszow", - "milestone": "0.59.0-rc.9", - "contributors": [ - "Rzeszow", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "8211", - "title": "[FIX] Incorrect URL for login terms when using prefix", - "userLogin": "Darkneon", - "milestone": "0.59.0-rc.7", - "contributors": [ - "Darkneon" - ] - }, - { - "pr": "8194", - "title": "Fix more rtl issues", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.7", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8190", - "title": "[FIX] Scrollbar not using new style", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.7", - "contributors": [ - "ggazzo", - "rodrigok" - ] - }, - { - "pr": "8210", - "title": "[FIX] User avatar in DM list.", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.7", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8197", - "title": "npm deps update", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.7", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8146", - "title": "[FIX] Fix iframe login API response (issue #8145)", - "userLogin": "astax-t", - "milestone": "0.59.0-rc.6", - "contributors": [ - "astax-t" - ] - }, - { - "pr": "8167", - "title": "[FIX] Issue #8166 where empty analytics setting breaks to load Piwik script", - "userLogin": "ruKurz", - "milestone": "0.59.0-rc.6", - "contributors": [ - "ruKurz" - ] - }, - { - "pr": "8154", - "title": "[FIX] Sidebar and RTL alignments", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.6", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8147", - "title": "[FIX] \"*.members\" rest api being useless and only returning usernames", - "userLogin": "graywolf336", - "milestone": "0.59.0-rc.6", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "8159", - "title": "[FIX] Text area lost text when page reloads", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.6", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8094", - "title": "[FIX] Add admin audio preferences translations", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.6", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8073", - "title": "[NEW] Upgrade to meteor 1.5.2", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.6", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "8112", - "title": "[FIX] RTL", - "userLogin": "ggazzo", - "milestone": "0.59.0-rc.5", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "8122", - "title": "[FIX] Settings description not showing", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.5", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8059", - "title": "[FIX] Not sending email to mentioned users with unchanged preference", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.5", - "contributors": [ - "MartinSchoeler", - "sampaiodiego" - ] - }, - { - "pr": "8101", - "title": "[FIX] Dynamic popover", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.5", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8099", - "title": "[FIX] Fix setting user avatar on LDAP login", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.5", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8054", - "title": "Remove unnecessary returns in cors common", - "userLogin": "Kiran-Rao", - "milestone": "0.59.0-rc.5", - "contributors": [ - "Kiran-Rao", - "web-flow" - ] - }, - { - "pr": "8047", - "title": "[FIX] Scroll on messagebox", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.5", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "8048", - "title": "[FIX] Invisible leader bar on hover", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.4", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7754", - "title": "[FIX] Fix email on mention", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.4", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "8046", - "title": "[FIX] Prevent autotranslate tokens race condition", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.4", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7988", - "title": "[FIX] Vertical menu on flex-tab", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.4", - "contributors": [ - "ggazzo", - "karlprieb" - ] - }, - { - "pr": "8019", - "title": "[FIX] message-box autogrow", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8039", - "title": "[FIX] copy to clipboard and update clipboard.js library", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "8037", - "title": "[NEW] Add yunohost.org installation method to Readme.md", - "userLogin": "selamanse", - "contributors": [ - "selamanse", - "web-flow" - ] - }, - { - "pr": "8036", - "title": "Adding: How to Install in WeDeploy", - "userLogin": "thompsonemerson", - "contributors": [ - "thompsonemerson", - "web-flow" - ] - }, - { - "pr": "7998", - "title": "[FIX] Recent emojis not updated when adding via text", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.4", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7989", - "title": "[FIX][PL] Polish translation", - "userLogin": "Rzeszow", - "milestone": "0.59.0-rc.4", - "contributors": [ - "Rzeszow", - "web-flow" - ] - }, - { - "pr": "7984", - "title": "[FIX] Chat box no longer auto-focuses when typing", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.3", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7963", - "title": "[FIX] Fix the status on the members list", - "userLogin": "MartinSchoeler", - "milestone": "0.59.0-rc.3", - "contributors": [ - "MartinSchoeler" - ] - }, - { - "pr": "7965", - "title": "[FIX] Markdown being rendered in code tags", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.3", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7983", - "title": "Revert \"npm deps update\"", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "7923", - "title": "[FIX] Email verification indicator added", - "userLogin": "aditya19496", - "milestone": "0.59.0-rc.3", - "contributors": [ - "aditya19496", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "7712", - "title": "[FIX] Show leader on first load", - "userLogin": "danischreiber", - "milestone": "0.59.0-rc.3", - "contributors": [ - "danischreiber", - "rodrigok" - ] - }, - { - "pr": "7909", - "title": "[DOCS] Add native mobile app links into README and update button images", - "userLogin": "rafaelks", - "milestone": "0.59.0-rc.3", - "contributors": [ - "rafaelks", - "web-flow" - ] - }, - { - "pr": "7971", - "title": "[FIX] Add padding on messages to allow space to the action buttons", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.3", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7970", - "title": "[FIX] Small alignment fixes", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.3", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7969", - "title": "npm deps update", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "7953", - "title": "[FIX] username ellipsis on firefox", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7948", - "title": "[FIX] Document README.md. Drupal repo out of date", - "userLogin": "Lawri-van-Buel", - "milestone": "0.59.0-rc.3", - "contributors": [ - "Lawri-van-Buel" - ] - }, - { - "pr": "7927", - "title": "[FIX] Double scroll on 'keyboard shortcuts' menu in sidepanel", - "userLogin": "aditya19496", - "milestone": "0.59.0-rc.3", - "contributors": [ - "aditya19496" - ] - }, - { - "pr": "7943", - "title": "[FIX] Broken emoji picker on firefox", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7944", - "title": "[FIX] Broken embedded view layout", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7945", - "title": "[FIX] Fix placeholders in account profile", - "userLogin": "josiasds", - "milestone": "0.59.0-rc.3", - "contributors": [ - "josiasds" - ] - }, - { - "pr": "7954", - "title": "[FIX] OTR buttons padding", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7960", - "title": "[FIX] status and active room colors on sidebar", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7941", - "title": "Update BlackDuck URL", - "userLogin": "engelgabriel", - "milestone": "0.59.0-rc.3", - "contributors": [ - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "7912", - "title": "[FIX] Fix google play logo on repo README", - "userLogin": "luizbills", - "milestone": "0.59.0-rc.2", - "contributors": [ - "luizbills", - "web-flow" - ] - }, - { - "pr": "7904", - "title": "[FIX] Fix livechat toggle UI issue", - "userLogin": "sampaiodiego", - "milestone": "0.59.0-rc.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7895", - "title": "[FIX] Remove break change in Realtime API", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7893", - "title": "[FIX] Window exception when parsing Markdown on server", - "userLogin": "rodrigok", - "milestone": "0.59.0-rc.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "7894", - "title": "Hide flex-tab close button", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.2", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7888", - "title": "[FIX] sidebar buttons and badge paddings", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7882", - "title": "[FIX] hyperlink style on sidebar footer", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7886", - "title": "[FIX] livechat icon", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7887", - "title": "[FIX] Makes text action menu width based on content size", - "userLogin": "gdelavald", - "milestone": "0.59.0-rc.1", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "7885", - "title": "[FIX] message actions over unread bar", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7883", - "title": "[FIX] popover position on mobile", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7881", - "title": "[FIX] search results position on sidebar", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7880", - "title": "[FIX] sidebar paddings", - "userLogin": "karlprieb", - "milestone": "0.59.0-rc.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "7878", - "title": "[FIX] Adds default search text padding for emoji search", - "userLogin": "gdelavald", - "milestone": "0.59.0-rc.1", - "contributors": [ - "gdelavald" - ] - }, - { - "pr": "6606", - "title": "Added RocketChatLauncher (SaaS)", - "userLogin": "designgurudotorg", - "milestone": "0.59.0", - "contributors": [ - "designgurudotorg", - "web-flow" - ] - }, - { - "pr": "7866", - "title": "Develop sync", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "web-flow", - "geekgonecrazy", - "engelgabriel", - "MartinSchoeler" - ] - }, - { - "pr": "8973", - "title": "Fix tag build", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8972", - "title": "Fix CircleCI deploy filter", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8967", - "title": "Release/0.59.4", - "userLogin": "geekgonecrazy", - "contributors": [ - "cpitman", - "geekgonecrazy", - "karlprieb", - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "8685", - "title": "Add CircleCI", - "userLogin": "rodrigok", - "contributors": [ - "sampaiodiego", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8753", - "title": "[FIX] Channel settings buttons", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "geekgonecrazy", - "web-flow", - "rodrigok" - ] - } - ], - "0.60.0-rc.1": [ - { - "pr": "9092", - "title": "[NEW] Modal", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "web-flow" - ] - }, - { - "pr": "9111", - "title": "Fix: users listed as online after API login", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9110", - "title": "Fix regression in api channels.members", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9108", - "title": "[FIX] REST API file upload not respecting size limit", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9109", - "title": "[FIX] Creating channels on Firefox", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9095", - "title": "[FIX] Some UI problems on 0.60", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9094", - "title": "[FIX] Update rocketchat:streamer to be compatible with previous version", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.60.0-rc.2": [ - { - "pr": "9137", - "title": "Fix: Clear all unreads modal not closing after confirming", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9138", - "title": "Fix: Message action quick buttons drops if \"new message\" divider is being shown", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9136", - "title": "Fix: Confirmation modals showing `Send` button", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9134", - "title": "[FIX] Importers not recovering when an error occurs", - "userLogin": "graywolf336", - "milestone": "0.60.0", - "contributors": [ - "graywolf336", - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9121", - "title": "[FIX] Do not block room while loading history", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9120", - "title": "Fix: Multiple unread indicators", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9091", - "title": "[FIX] Channel page error", - "userLogin": "ggrish", - "milestone": "0.60.0", - "contributors": [ - "ggrish", - "web-flow" - ] - } - ], - "0.60.0-rc.3": [ - { - "pr": "9144", - "title": "Fix: Messages being displayed in reverse order", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9062", - "title": "[FIX] Update Rocket.Chat for sandstorm", - "userLogin": "peterlee0127", - "milestone": "0.60.0", - "contributors": [ - "peterlee0127", - "web-flow" - ] - } - ], - "0.60.0-rc.4": [ - { - "pr": "9171", - "title": "[FIX] modal data on enter and modal style for file preview", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9170", - "title": "[FIX] show oauth logins when adblock is used", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9169", - "title": "[FIX] Last sent message reoccurs in textbox", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9166", - "title": "Fix: UI: Descenders of glyphs are cut off", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9165", - "title": "Fix: Click on channel name - hover area bigger than link area", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9162", - "title": "Fix: Can’t login using LDAP via REST", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9149", - "title": "Fix: Unread line", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9146", - "title": "Fix test without oplog by waiting a successful login on changing users", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.60.0-rc.5": [ - { - "pr": "9200", - "title": "Replace postcss-nesting with postcss-nested", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "9197", - "title": "Dependencies Update", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "9196", - "title": "Fix: Rooms and users are using different avatar style", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9193", - "title": "[FIX] Made welcome emails more readable", - "userLogin": "HammyHavoc", - "milestone": "0.60.0", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9190", - "title": "Typo: German language file", - "userLogin": "TheReal1604", - "milestone": "0.60.0", - "contributors": [ - "TheReal1604" - ] - }, - { - "pr": "9188", - "title": "[FIX] Unread bar position when room have announcement", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9186", - "title": "[FIX] Emoji size on last message preview", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9185", - "title": "[FIX] Cursor position when reply on safari", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9184", - "title": "Fix: Snippet name to not showing in snippet list", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9183", - "title": "Fix/api me only return verified", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9182", - "title": "[FIX] \"Use Emoji\" preference not working", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9181", - "title": "Fix: UI: Descenders of glyphs are cut off", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9176", - "title": "[FIX] make the cross icon on user selection at channel creation page work", - "userLogin": "vitor-nagao", - "milestone": "0.60.0", - "contributors": [ - "vitor-nagao", - "karlprieb", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9172", - "title": "[FIX] go to replied message", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9168", - "title": "[FIX] channel create scroll on small screens", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9066", - "title": "[NEW] Make Custom oauth accept nested usernameField", - "userLogin": "pierreozoux", - "milestone": "0.60.0", - "contributors": [ - "pierreozoux", - "web-flow", - "geekgonecrazy" - ] - }, - { - "pr": "9040", - "title": "[FIX] Error when user roles is missing or is invalid", - "userLogin": "paulovitin", - "milestone": "0.60.0", - "contributors": [ - "paulovitin", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8922", - "title": "[FIX] Make mentions and menu icons color darker", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "rodrigok", - "web-flow" - ] - } - ], - "0.60.0-rc.6": [ - { - "pr": "9241", - "title": "[FIX] Show modal with announcement", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9240", - "title": "Fix: Unneeded warning in payload of REST API calls", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9229", - "title": "Fix: Missing option to set user's avatar from a url", - "userLogin": "ggazzo", - "milestone": "0.60.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "9227", - "title": "Fix: updating last message on message edit or delete", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9217", - "title": "Fix: Username find is matching partially", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9215", - "title": "Fix: Upload access control too distributed", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9206", - "title": "[FIX] File upload not working on IE and weird on Chrome", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9194", - "title": "[FIX] \"Enter usernames\" placeholder is cutting in \"create channel\" view", - "userLogin": "TheReal1604", - "milestone": "0.60.0", - "contributors": [ - "TheReal1604" - ] - } - ], - "0.60.0-rc.7": [ - { - "pr": "9243", - "title": "[FIX] Move emojipicker css to theme package", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - } - ], - "0.60.0-rc.8": [ - { - "pr": "9257", - "title": "Do not change room icon color when room is unread", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9256", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "9248", - "title": "Add curl, its missing on worker nodes so has to be explicitly added", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "9247", - "title": "Fix: Sidebar item on rtl and small devices", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - } - ], - "0.60.0": [ - { - "pr": "9259", - "title": "Release 0.60.0", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "graywolf336", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8973", - "title": "Fix tag build", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8972", - "title": "Fix CircleCI deploy filter", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "8967", - "title": "Release/0.59.4", - "userLogin": "geekgonecrazy", - "contributors": [ - "cpitman", - "geekgonecrazy", - "karlprieb", - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "8685", - "title": "Add CircleCI", - "userLogin": "rodrigok", - "contributors": [ - "sampaiodiego", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "8753", - "title": "[FIX] Channel settings buttons", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "geekgonecrazy", - "web-flow", - "rodrigok" - ] - } - ], - "0.60.1": [ - { - "pr": "9262", - "title": "[FIX] File access not working when passing credentials via querystring", - "userLogin": "rodrigok", - "milestone": "0.60.1", - "contributors": [ - "rodrigok" - ] - } - ], - "0.60.2": [ - { - "pr": "9280", - "title": "Release 0.60.2", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9277", - "title": "[FIX] Restore translations from other languages", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9274", - "title": "[FIX] Remove sweetalert from livechat facebook integration page", - "userLogin": "sampaiodiego", - "milestone": "0.60.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9272", - "title": "[FIX] Missing translations", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - } - ], - "0.60.3": [ - { - "pr": "9320", - "title": "Release 0.60.3", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "HammyHavoc" - ] - }, - { - "pr": "9314", - "title": "[FIX] custom emoji size on sidebar item", - "userLogin": "karlprieb", - "milestone": "0.60.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9311", - "title": "[FIX] svg render on firefox", - "userLogin": "karlprieb", - "milestone": "0.60.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9249", - "title": "[FIX] sidebar footer padding", - "userLogin": "karlprieb", - "milestone": "0.60.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9309", - "title": "[FIX] LDAP/AD is not importing all users", - "userLogin": "rodrigok", - "milestone": "0.60.3", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9299", - "title": "Fix: English language improvements", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9291", - "title": "Fix: Change 'Wordpress' to 'WordPress", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9290", - "title": "Fix: Improved README.md", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9289", - "title": "[FIX] Wrong position of notifications alert in accounts preference page", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9286", - "title": "Fix: README typo", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9285", - "title": "[FIX] English Typos", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - } - ], - "0.60.4-rc.0": [ - { - "pr": "9343", - "title": "[FIX] LDAP TLS not working in some cases", - "userLogin": "rodrigok", - "milestone": "0.60.4", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9320", - "title": "Release 0.60.3", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "HammyHavoc" - ] - } - ], - "0.60.4-rc.1": [ - { - "pr": "9328", - "title": "[FIX] popover on safari for iOS", - "userLogin": "karlprieb", - "milestone": "0.60.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9330", - "title": "[FIX] announcement hyperlink color", - "userLogin": "karlprieb", - "milestone": "0.60.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9335", - "title": "[FIX] Deleting message with store last message not removing", - "userLogin": "sampaiodiego", - "milestone": "0.60.4", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9345", - "title": "[FIX] last message cutting on bottom", - "userLogin": "karlprieb", - "milestone": "0.60.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9346", - "title": "Update Marked dependecy to 0.3.9", - "userLogin": "rodrigok", - "milestone": "0.60.4", - "contributors": [ - "rodrigok" - ] - } - ], - "0.60.4": [ - { - "pr": "9377", - "title": "Release 0.60.4", - "userLogin": "rodrigok", - "milestone": "0.60.4", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9320", - "title": "Release 0.60.3", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "HammyHavoc" - ] - } - ], - "0.61.0-rc.0": [ - { - "pr": "8411", - "title": "[NEW] Contextual Bar Redesign", - "userLogin": "ggazzo", - "milestone": "0.61.0", - "contributors": [ - "geekgonecrazy", - "sampaiodiego", - "MartinSchoeler", - "ggazzo", - "karlprieb" - ] - }, - { - "pr": "9369", - "title": "[FIX][i18n] add room type translation support for room-changed-privacy message", - "userLogin": "cyclops24", - "milestone": "0.61.0", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "9442", - "title": "[NEW] Update documentation: provide example for multiple basedn", - "userLogin": "rndmh3ro", - "milestone": "0.61.0", - "contributors": [ - "mms-segu" - ] - }, - { - "pr": "9452", - "title": "[FIX] Fix livechat register form", - "userLogin": "sampaiodiego", - "milestone": "0.61.0", - "contributors": [ - "sampaiodiego", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9451", - "title": "[FIX] Fix livechat build", - "userLogin": "sampaiodiego", - "milestone": "0.61.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9164", - "title": "[FIX] Fix closing livechat inquiry", - "userLogin": "sampaiodiego", - "milestone": "0.61.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9439", - "title": "Add community bot", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9435", - "title": "[FIX] Slash command 'unarchive' throws exception if the channel does not exist ", - "userLogin": "ramrami", - "milestone": "0.61.0", - "contributors": [ - "ramrami", - "web-flow" - ] - }, - { - "pr": "9428", - "title": "[FIX] Slash command 'archive' throws exception if the channel does not exist", - "userLogin": "ramrami", - "milestone": "0.61.0", - "contributors": [ - "ramrami", - "web-flow" - ] - }, - { - "pr": "9432", - "title": "[FIX] Subscriptions not removed when removing user", - "userLogin": "rodrigok", - "milestone": "0.61.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9216", - "title": "[NEW] Sidebar menu option to mark room as unread", - "userLogin": "karlprieb", - "milestone": "0.61.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9228", - "title": "[NEW] Add mention-here permission #7631", - "userLogin": "ryjones", - "milestone": "0.61.0", - "contributors": [ - "ryjones", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "9234", - "title": "[NEW] Indicate the Self DM room", - "userLogin": "rodrigok", - "milestone": "0.61.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9245", - "title": "[NEW] new layout for emojipicker", - "userLogin": "karlprieb", - "milestone": "0.61.0", - "contributors": [ - "karlprieb", - "web-flow" - ] - }, - { - "pr": "9364", - "title": "[FIX] Highlight setting not working correctly", - "userLogin": "cyclops24", - "milestone": "0.60.4", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "9366", - "title": "[NEW] add /home link to sidenav footer logo", - "userLogin": "cyclops24", - "contributors": [ - "cyclops24" - ] - }, - { - "pr": "9356", - "title": "Use correct version of Mailparser module", - "userLogin": "rodrigok", - "milestone": "0.61.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9330", - "title": "[FIX] announcement hyperlink color", - "userLogin": "karlprieb", - "milestone": "0.60.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9328", - "title": "[FIX] popover on safari for iOS", - "userLogin": "karlprieb", - "milestone": "0.60.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9345", - "title": "[FIX] last message cutting on bottom", - "userLogin": "karlprieb", - "milestone": "0.60.4", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9346", - "title": "Update Marked dependecy to 0.3.9", - "userLogin": "rodrigok", - "milestone": "0.60.4", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9335", - "title": "[FIX] Deleting message with store last message not removing", - "userLogin": "sampaiodiego", - "milestone": "0.60.4", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9314", - "title": "[FIX] custom emoji size on sidebar item", - "userLogin": "karlprieb", - "milestone": "0.60.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9311", - "title": "[FIX] svg render on firefox", - "userLogin": "karlprieb", - "milestone": "0.60.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9249", - "title": "[FIX] sidebar footer padding", - "userLogin": "karlprieb", - "milestone": "0.60.3", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9309", - "title": "[FIX] LDAP/AD is not importing all users", - "userLogin": "rodrigok", - "milestone": "0.60.3", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9299", - "title": "Fix: English language improvements", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9291", - "title": "Fix: Change 'Wordpress' to 'WordPress", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9290", - "title": "Fix: Improved README.md", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9289", - "title": "[FIX] Wrong position of notifications alert in accounts preference page", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9286", - "title": "Fix: README typo", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9285", - "title": "[FIX] English Typos", - "userLogin": "HammyHavoc", - "milestone": "0.60.3", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9277", - "title": "[FIX] Restore translations from other languages", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9274", - "title": "[FIX] Remove sweetalert from livechat facebook integration page", - "userLogin": "sampaiodiego", - "milestone": "0.60.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9272", - "title": "[FIX] Missing translations", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9264", - "title": "[FIX] File access not working when passing credentials via querystring", - "userLogin": "rodrigok", - "milestone": "0.60.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9135", - "title": "[NEW] Livechat extract lead data from message", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9107", - "title": "[NEW] Add impersonate option for livechat triggers", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9053", - "title": "[NEW] Add support to external livechat queue service provider", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "9048", - "title": "[BREAK] Decouple livechat visitors from regular users", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9260", - "title": "Develop sync - Bump version to 0.61.0-develop", - "userLogin": "rodrigok", - "contributors": [ - "cpitman", - "geekgonecrazy", - "karlprieb", - "rodrigok", - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "9257", - "title": "Do not change room icon color when room is unread", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9256", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "9247", - "title": "Fix: Sidebar item on rtl and small devices", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9248", - "title": "Add curl, its missing on worker nodes so has to be explicitly added", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy" - ] - }, - { - "pr": "9243", - "title": "[FIX] Move emojipicker css to theme package", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9241", - "title": "[FIX] Show modal with announcement", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9240", - "title": "Fix: Unneeded warning in payload of REST API calls", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9229", - "title": "Fix: Missing option to set user's avatar from a url", - "userLogin": "ggazzo", - "milestone": "0.60.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "9215", - "title": "Fix: Upload access control too distributed", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9217", - "title": "Fix: Username find is matching partially", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9227", - "title": "Fix: updating last message on message edit or delete", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9194", - "title": "[FIX] \"Enter usernames\" placeholder is cutting in \"create channel\" view", - "userLogin": "TheReal1604", - "milestone": "0.60.0", - "contributors": [ - "TheReal1604" - ] - }, - { - "pr": "9206", - "title": "[FIX] File upload not working on IE and weird on Chrome", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9176", - "title": "[FIX] make the cross icon on user selection at channel creation page work", - "userLogin": "vitor-nagao", - "milestone": "0.60.0", - "contributors": [ - "vitor-nagao", - "karlprieb", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9196", - "title": "Fix: Rooms and users are using different avatar style", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9200", - "title": "Replace postcss-nesting with postcss-nested", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "9197", - "title": "Dependencies Update", - "userLogin": "engelgabriel", - "milestone": "0.60.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "9193", - "title": "[FIX] Made welcome emails more readable", - "userLogin": "HammyHavoc", - "milestone": "0.60.0", - "contributors": [ - "HammyHavoc", - "web-flow" - ] - }, - { - "pr": "9190", - "title": "Typo: German language file", - "userLogin": "TheReal1604", - "milestone": "0.60.0", - "contributors": [ - "TheReal1604" - ] - }, - { - "pr": "9184", - "title": "Fix: Snippet name to not showing in snippet list", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9183", - "title": "Fix/api me only return verified", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9185", - "title": "[FIX] Cursor position when reply on safari", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9186", - "title": "[FIX] Emoji size on last message preview", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9188", - "title": "[FIX] Unread bar position when room have announcement", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9040", - "title": "[FIX] Error when user roles is missing or is invalid", - "userLogin": "paulovitin", - "milestone": "0.60.0", - "contributors": [ - "paulovitin", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "8922", - "title": "[FIX] Make mentions and menu icons color darker", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9182", - "title": "[FIX] \"Use Emoji\" preference not working", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9181", - "title": "Fix: UI: Descenders of glyphs are cut off", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9066", - "title": "[NEW] Make Custom oauth accept nested usernameField", - "userLogin": "pierreozoux", - "milestone": "0.60.0", - "contributors": [ - "pierreozoux", - "web-flow", - "geekgonecrazy" - ] - }, - { - "pr": "9168", - "title": "[FIX] channel create scroll on small screens", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9172", - "title": "[FIX] go to replied message", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9173", - "title": "[Fix] oauth not working because of email array", - "userLogin": "geekgonecrazy", - "milestone": "0.60.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9171", - "title": "[FIX] modal data on enter and modal style for file preview", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9170", - "title": "[FIX] show oauth logins when adblock is used", - "userLogin": "karlprieb", - "milestone": "0.60.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9165", - "title": "Fix: Click on channel name - hover area bigger than link area", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9166", - "title": "Fix: UI: Descenders of glyphs are cut off", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9169", - "title": "[FIX] Last sent message reoccurs in textbox", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9162", - "title": "Fix: Can’t login using LDAP via REST", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9149", - "title": "Fix: Unread line", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9146", - "title": "Fix test without oplog by waiting a successful login on changing users", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9062", - "title": "[FIX] Update Rocket.Chat for sandstorm", - "userLogin": "peterlee0127", - "milestone": "0.60.0", - "contributors": [ - "peterlee0127", - "web-flow" - ] - }, - { - "pr": "9144", - "title": "Fix: Messages being displayed in reverse order", - "userLogin": "sampaiodiego", - "milestone": "0.60.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9137", - "title": "Fix: Clear all unreads modal not closing after confirming", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9138", - "title": "Fix: Message action quick buttons drops if \"new message\" divider is being shown", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9136", - "title": "Fix: Confirmation modals showing `Send` button", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9134", - "title": "[FIX] Importers not recovering when an error occurs", - "userLogin": "graywolf336", - "milestone": "0.60.0", - "contributors": [ - "graywolf336", - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9121", - "title": "[FIX] Do not block room while loading history", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9120", - "title": "Fix: Multiple unread indicators", - "userLogin": "rodrigok", - "milestone": "0.60.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9091", - "title": "[FIX] Channel page error", - "userLogin": "ggrish", - "milestone": "0.60.0", - "contributors": [ - "ggrish", - "web-flow" - ] - }, - { - "pr": "9377", - "title": "Release 0.60.4", - "userLogin": "rodrigok", - "milestone": "0.60.4", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9320", - "title": "Release 0.60.3", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "HammyHavoc" - ] - }, - { - "pr": "9277", - "title": "[FIX] Restore translations from other languages", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9274", - "title": "[FIX] Remove sweetalert from livechat facebook integration page", - "userLogin": "sampaiodiego", - "milestone": "0.60.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9272", - "title": "[FIX] Missing translations", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9262", - "title": "[FIX] File access not working when passing credentials via querystring", - "userLogin": "rodrigok", - "milestone": "0.60.1", - "contributors": [ - "rodrigok" - ] - } - ], - "0.61.0-rc.1": [ - { - "pr": "9469", - "title": "[DOCS] Update the links of our Mobile Apps in Features topic", - "userLogin": "rafaelks", - "contributors": [ - "rafaelks", - "web-flow" - ] - }, - { - "pr": "9490", - "title": "Update license", - "userLogin": "frdmn", - "contributors": [ - "frdmn", - "web-flow" - ] - }, - { - "pr": "9481", - "title": "[FIX] Contextual bar redesign", - "userLogin": "ggazzo", - "milestone": "0.61.0", - "contributors": [ - "ggazzo", - "karlprieb", - "gdelavald" - ] - }, - { - "pr": "9456", - "title": "[FIX] mention-here is missing i18n text #9455", - "userLogin": "ryjones", - "contributors": [ - "ryjones" - ] - } - ], - "0.61.0-rc.2": [ - { - "pr": "9506", - "title": "[FIX] Fix livechat visitor edit", - "userLogin": "sampaiodiego", - "milestone": "0.61.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9510", - "title": "[NEW] Contextual bar mail messages", - "userLogin": "karlprieb", - "milestone": "0.61.0", - "contributors": [ - "karlprieb", - "rodrigok" - ] - }, - { - "pr": "9504", - "title": "Prevent NPM package-lock inside livechat", - "userLogin": "rodrigok", - "milestone": "0.61.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9493", - "title": "[FIX] large names on userinfo, and admin user bug on users with no usernames", - "userLogin": "ggazzo", - "milestone": "0.61.0", - "contributors": [ - "ggazzo", - "web-flow", - "gdelavald" - ] - } - ], - "0.61.0": [ - { - "pr": "9533", - "title": "Release 0.61.0", - "userLogin": "rodrigok", - "milestone": "0.61.0", - "contributors": [ - "rodrigok", - "karlprieb", - "web-flow", - "geekgonecrazy", - "engelgabriel", - "sampaiodiego", - "ryjones" - ] - }, - { - "pr": "9377", - "title": "Release 0.60.4", - "userLogin": "rodrigok", - "milestone": "0.60.4", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9320", - "title": "Release 0.60.3", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "HammyHavoc" - ] - }, - { - "pr": "9277", - "title": "[FIX] Restore translations from other languages", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9274", - "title": "[FIX] Remove sweetalert from livechat facebook integration page", - "userLogin": "sampaiodiego", - "milestone": "0.60.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9272", - "title": "[FIX] Missing translations", - "userLogin": "rodrigok", - "milestone": "0.60.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9262", - "title": "[FIX] File access not working when passing credentials via querystring", - "userLogin": "rodrigok", - "milestone": "0.60.1", - "contributors": [ - "rodrigok" - ] - } - ], - "0.61.1": [ - { - "pr": "9721", - "title": "Release 0.61.1", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - } - ], - "0.61.2": [ - { - "pr": "9786", - "title": "Release 0.61.2", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego", - "rodrigok" - ] - }, - { - "pr": "9750", - "title": "[FIX] Livechat issues on external queue and lead capture", - "userLogin": "sampaiodiego", - "milestone": "0.61.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9776", - "title": "[FIX] Emoji rendering on last message", - "userLogin": "ggazzo", - "milestone": "0.61.2", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "9772", - "title": "[FIX] Livechat conversation not receiving messages when start without form", - "userLogin": "sampaiodiego", - "milestone": "0.61.2", - "contributors": [ - "sampaiodiego" - ] - } - ], - "0.62.0-rc.0": [ - { - "pr": "9796", - "title": "Sync from Master", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "web-flow", - "HammyHavoc" - ] - }, - { - "pr": "9793", - "title": "[NEW] Version update check", - "userLogin": "rodrigok", - "milestone": "0.62.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9778", - "title": "[NEW] General alert banner", - "userLogin": "ggazzo", - "milestone": "0.62.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "9642", - "title": "[NEW] Browse more channels / Directory", - "userLogin": "ggazzo", - "milestone": "0.62.0", - "contributors": [ - "ggazzo", - "karlprieb" - ] - }, - { - "pr": "9665", - "title": "[FIX] Wrong behavior of rooms info's *Read Only* and *Collaborative* buttons", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9457", - "title": "[NEW] Add user settings / preferences API endpoint", - "userLogin": "jgtoriginal", - "milestone": "0.62.0", - "contributors": [ - "jgtoriginal", - "MarcosSpessatto", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9608", - "title": "[NEW] New sidebar layout", - "userLogin": "ggazzo", - "milestone": "0.62.0", - "contributors": [ - "karlprieb", - "ggazzo", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "9662", - "title": "[FIX] Close button on file upload bar was not working", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9717", - "title": "[NEW] Message read receipts", - "userLogin": "sampaiodiego", - "milestone": "0.62.0", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "7098", - "title": "[NEW] Alert admins when user requires approval & alert users when the account is approved/activated/deactivated", - "userLogin": "luisfn", - "milestone": "0.62.0", - "contributors": [ - "luisfn" - ] - }, - { - "pr": "9666", - "title": "[OTHER] Rocket.Chat Apps", - "userLogin": "graywolf336", - "milestone": "0.62.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "9772", - "title": "[FIX] Livechat conversation not receiving messages when start without form", - "userLogin": "sampaiodiego", - "milestone": "0.61.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9776", - "title": "[FIX] Emoji rendering on last message", - "userLogin": "ggazzo", - "milestone": "0.61.2", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "9753", - "title": "Move NRR package to inside the project and convert from CoffeeScript", - "userLogin": "rodrigok", - "milestone": "0.62.0", - "contributors": [ - "rodrigok", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "9527", - "title": "[NEW] Allow configuration of SAML logout behavior", - "userLogin": "mrsimpson", - "milestone": "0.62.0", - "contributors": [ - "mrsimpson", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9560", - "title": "[FIX] Chrome 64 breaks jitsi-meet iframe", - "userLogin": "speedy01", - "milestone": "0.62.0", - "contributors": [ - "speedy01", - "web-flow" - ] - }, - { - "pr": "9697", - "title": "[FIX] Harmonize channel-related actions", - "userLogin": "mrsimpson", - "milestone": "0.62.0", - "contributors": [ - "mrsimpson", - "engelgabriel", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9676", - "title": "[FIX] Custom emoji was cropping sometimes", - "userLogin": "anu-007", - "milestone": "0.62.0", - "contributors": [ - "anu-007" - ] - }, - { - "pr": "9696", - "title": "[FIX] Show custom room types icon in channel header", - "userLogin": "mrsimpson", - "milestone": "0.62.0", - "contributors": [ - "mrsimpson", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "8933", - "title": "[NEW] Internal hubot support for Direct Messages and Private Groups", - "userLogin": "ramrami", - "milestone": "0.62.0", - "contributors": [ - "ramrami", - "web-flow", - "geekgonecrazy" - ] - }, - { - "pr": "9424", - "title": "[FIX] 'Query' support for channels.list.joined, groups.list, groups.listAll, im.list", - "userLogin": "xbolshe", - "milestone": "0.62.0", - "contributors": [ - "xbolshe", - "web-flow" - ] - }, - { - "pr": "9298", - "title": "[NEW] Improved default welcome message", - "userLogin": "HammyHavoc", - "milestone": "0.62.0", - "contributors": [ - "HammyHavoc", - "web-flow", - "engelgabriel", - "graywolf336" - ] - }, - { - "pr": "9750", - "title": "[FIX] Livechat issues on external queue and lead capture", - "userLogin": "sampaiodiego", - "milestone": "0.61.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9746", - "title": "[NEW] Makes shield icon configurable", - "userLogin": "c0dzilla", - "milestone": "0.62.0", - "contributors": [ - "c0dzilla", - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9747", - "title": "[FIX] DeprecationWarning: prom-client ... when starting Rocket Chat server", - "userLogin": "jgtoriginal", - "milestone": "0.62.0", - "contributors": [ - "jgtoriginal", - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9737", - "title": "[FIX] API to retrive rooms was returning empty objects", - "userLogin": "rodrigok", - "milestone": "0.62.0", - "contributors": [ - "rodrigok", - "engelgabriel", - "web-flow" - ] - }, - { - "pr": "9687", - "title": "[NEW] Global message search (beta: disabled by default)", - "userLogin": "rodrigok", - "milestone": "0.62.0", - "contributors": [ - "cyberhck", - "savikko", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9487", - "title": "[FIX] Chat Message Reactions REST API End Point", - "userLogin": "jgtoriginal", - "milestone": "0.62.0", - "contributors": [ - "jgtoriginal", - "MarcosSpessatto" - ] - }, - { - "pr": "9312", - "title": "[NEW] Allow sounds when conversation is focused", - "userLogin": "RationalCoding", - "milestone": "0.62.0", - "contributors": [ - "RationalCoding", - "graywolf336" - ] - }, - { - "pr": "9519", - "title": "[NEW] API to fetch permissions & user roles", - "userLogin": "rafaelks", - "milestone": "0.62.0", - "contributors": [ - "rafaelks", - "MarcosSpessatto" - ] - }, - { - "pr": "9509", - "title": "[NEW] REST API to use Spotlight", - "userLogin": "rafaelks", - "milestone": "0.62.0", - "contributors": [ - "rafaelks", - "MarcosSpessatto" - ] - }, - { - "pr": "9546", - "title": "Update to meteor 1.6.1", - "userLogin": "engelgabriel", - "milestone": "0.62.0", - "contributors": [ - "engelgabriel", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9720", - "title": "[FIX] Messages can't be quoted sometimes", - "userLogin": "geekgonecrazy", - "milestone": "0.61.1", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "9716", - "title": "[FIX] GitLab OAuth does not work when GitLab’s URL ends with slash", - "userLogin": "rodrigok", - "milestone": "0.61.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9714", - "title": "[FIX] Close Livechat conversation by visitor not working in version 0.61.0", - "userLogin": "renatobecker", - "milestone": "0.61.1", - "contributors": [ - "renatobecker" - ] - }, - { - "pr": "9067", - "title": "[FIX] Formal pronouns and some small mistakes in German texts", - "userLogin": "AmShaegar13", - "milestone": "0.61.1", - "contributors": [ - "AmShaegar13" - ] - }, - { - "pr": "9640", - "title": "[FIX] Facebook integration in livechat not working on version 0.61.0", - "userLogin": "sampaiodiego", - "milestone": "0.61.1", - "contributors": [ - "sampaiodiego", - "web-flow", - "renatobecker" - ] - }, - { - "pr": "9623", - "title": "[FIX] Weird rendering of emojis at sidebar when `last message` is activated", - "userLogin": "ggazzo", - "milestone": "0.61.1", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "9699", - "title": "[NEW] Option to proxy files and avatars through the server", - "userLogin": "rodrigok", - "milestone": "0.62.0", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9711", - "title": "[BREAK] Remove Graphics/Image Magick support", - "userLogin": "rodrigok", - "milestone": "0.62.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8193", - "title": "[NEW] Allow request avatar placeholders as PNG or JPG instead of SVG", - "userLogin": "lindoelio", - "milestone": "0.62.0", - "contributors": [ - "lindoelio", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9218", - "title": " [NEW] Image preview as 32x32 base64 jpeg", - "userLogin": "jorgeluisrezende", - "milestone": "0.62.0", - "contributors": [ - "jorgeluisrezende", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9520", - "title": "[FIX] Rest API helpers only applying to v1", - "userLogin": "graywolf336", - "milestone": "0.62.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "9639", - "title": "[FIX] Desktop notification not showing when avatar came from external storage service", - "userLogin": "rodrigok", - "milestone": "0.61.1", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9454", - "title": "[FIX] Missing link Site URLs in enrollment e-mails", - "userLogin": "kemitchell", - "milestone": "0.62.0", - "contributors": [ - "kemitchell" - ] - }, - { - "pr": "9610", - "title": "[FIX] Missing string 'Username_already_exist' on the accountProfile page", - "userLogin": "sumedh123", - "milestone": "0.62.0", - "contributors": [ - "sumedh123" - ] - }, - { - "pr": "9507", - "title": "[NEW] New REST API to mark channel as read", - "userLogin": "rafaelks", - "milestone": "0.62.0", - "contributors": [ - "rafaelks", - "web-flow" - ] - }, - { - "pr": "9549", - "title": "[NEW] Add route to get user shield/badge", - "userLogin": "kb0304", - "milestone": "0.62.0", - "contributors": [ - "kb0304", - "graywolf336" - ] - }, - { - "pr": "9570", - "title": "[FIX] SVG avatars are not been displayed correctly when load in non HTML containers", - "userLogin": "filipedelimabrito", - "milestone": "0.62.0", - "contributors": [ - "filipedelimabrito" - ] - }, - { - "pr": "9599", - "title": "[FIX] Livechat is not working when running in a sub path", - "userLogin": "rodrigok", - "milestone": "0.62.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "8158", - "title": "[NEW] GraphQL API", - "userLogin": "kamilkisiela", - "milestone": "0.62.0", - "contributors": [ - "kamilkisiela", - "web-flow" - ] - }, - { - "pr": "9255", - "title": "[NEW] Livestream tab", - "userLogin": "gdelavald", - "milestone": "0.62.0", - "contributors": [ - "gdelavald" - ] - } - ], - "0.62.0-rc.1": [ - { - "pr": "9843", - "title": "Regression: Avatar now open account related options", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9837", - "title": "Regression: Open search using ctrl/cmd + p and ctrl/cmd + k", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9839", - "title": "Regression: Search bar is now full width", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9658", - "title": "[NEW] Add documentation requirement to PRs", - "userLogin": "SeanPackham", - "contributors": [ - "SeanPackham", - "web-flow", - "MartinSchoeler" - ] - }, - { - "pr": "9807", - "title": "[NEW] Request mongoDB version in github issue template", - "userLogin": "TwizzyDizzy", - "contributors": [ - "TwizzyDizzy", - "web-flow", - "engelgabriel" - ] - }, - { - "pr": "9802", - "title": "[FIX] Not receiving sound notifications in rooms created by new LiveChats", - "userLogin": "renatobecker", - "milestone": "0.62.0", - "contributors": [ - "renatobecker" - ] - }, - { - "pr": "9811", - "title": "Dependencies update", - "userLogin": "engelgabriel", - "milestone": "0.62.0", - "contributors": [ - "engelgabriel" - ] - }, - { - "pr": "9821", - "title": "Fix: Custom fields not showing on user info panel", - "userLogin": "ggazzo", - "milestone": "0.62.0", - "contributors": [ - "ggazzo" - ] - }, - { - "pr": "9804", - "title": "Regression: Page was not respecting the window height on Firefox", - "userLogin": "MartinSchoeler", - "milestone": "0.62.0", - "contributors": [ - "MartinSchoeler", - "web-flow" - ] - }, - { - "pr": "9784", - "title": "Update bot-config.yml", - "userLogin": "JSzaszvari", - "contributors": [ - "JSzaszvari", - "web-flow", - "geekgonecrazy" - ] - }, - { - "pr": "9797", - "title": "Develop fix sync from master", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - } - ], - "0.62.0-rc.2": [ - { - "pr": "9851", - "title": "Regression: Change create channel icon", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9852", - "title": "Regression: Fix channel icons on safari", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9845", - "title": "Regression: Fix admin/user settings item text", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb", - "web-flow" - ] - }, - { - "pr": "9858", - "title": "[FIX] Silence the update check error message", - "userLogin": "graywolf336", - "milestone": "0.62.0", - "contributors": [ - "graywolf336" - ] - } - ], - "0.62.0-rc.3": [ - { - "pr": "9905", - "title": "Regression: Improve sidebar filter", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9902", - "title": "[OTHER] Fix Apps not working on multi-instance deployments", - "userLogin": "graywolf336", - "milestone": "0.62.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "9877", - "title": "[Fix] Not Translated Phrases", - "userLogin": "bernardoetrevisan", - "milestone": "0.62.0", - "contributors": [ - "bernardoetrevisan", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9884", - "title": "[FIX] Parsing messages with multiple markdown matches ignore some tokens", - "userLogin": "c0dzilla", - "milestone": "0.62.0", - "contributors": [ - "c0dzilla" - ] - }, - { - "pr": "9850", - "title": "[FIX] Importers no longer working due to the FileUpload changes", - "userLogin": "graywolf336", - "milestone": "0.62.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "9889", - "title": "Regression: Overlapping header in user profile panel", - "userLogin": "kaiiiiiiiii", - "milestone": "0.62.0", - "contributors": [ - "kaiiiiiiiii" - ] - }, - { - "pr": "9888", - "title": "[FIX] Misplaced \"Save Changes\" button in user account panel", - "userLogin": "kaiiiiiiiii", - "milestone": "0.62.0", - "contributors": [ - "kaiiiiiiiii" - ] - }, - { - "pr": "9897", - "title": "Regression: sort on room's list not working correctly", - "userLogin": "ggazzo", - "milestone": "0.62.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "9879", - "title": "[FIX] Snap build was failing", - "userLogin": "geekgonecrazy", - "milestone": "0.62.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - } - ], - "0.62.0": [ - { - "pr": "9935", - "title": "Release 0.62.0", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "web-flow", - "sampaiodiego", - "MartinSchoeler", - "renatobecker", - "engelgabriel", - "geekgonecrazy" - ] - }, - { - "pr": "9934", - "title": "[FIX] Typo on french translation for \"Open\"", - "userLogin": "sizrar", - "milestone": "0.62.0", - "contributors": [ - "sizrar", - "web-flow" - ] - }, - { - "pr": "9928", - "title": "Regression: Fix livechat queue link", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9931", - "title": "Regression: Directory now list default channel", - "userLogin": "karlprieb", - "milestone": "0.62.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9908", - "title": "Improve link handling for attachments", - "userLogin": "rodrigok", - "milestone": "0.62.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9883", - "title": "Regression: Misplaced language dropdown in user preferences panel", - "userLogin": "kaiiiiiiiii", - "milestone": "0.62.0", - "contributors": [ - "kaiiiiiiiii" - ] - }, - { - "pr": "9901", - "title": "Fix RHCC image path for OpenShift and default to the current namespace.", - "userLogin": "jsm84", - "contributors": [ - "jsm84", - "geekgonecrazy", - "web-flow" - ] - } - ], - "0.62.1": [ - { - "pr": "9989", - "title": "Release 0.62.1", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "9986", - "title": "[FIX] Delete user without username was removing direct rooms of all users", - "userLogin": "rodrigok", - "milestone": "0.62.1", - "contributors": [ - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "9988", - "title": "[FIX] New channel page on medium size screens", - "userLogin": "karlprieb", - "milestone": "0.62.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9960", - "title": "[FIX] Empty sidenav when sorting by activity and there is a subscription without room", - "userLogin": "ggazzo", - "milestone": "0.62.1", - "contributors": [ - "ggazzo", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9982", - "title": "[FIX] Two factor authentication modal was not showing", - "userLogin": "sampaiodiego", - "milestone": "0.62.1", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - } - ], - "0.62.2": [ - { - "pr": "10087", - "title": "Release 0.62.2", - "userLogin": "rodrigok", - "milestone": "0.62.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "10071", - "title": "[FIX] Slack Import reports `invalid import file type` due to a call to BSON.native() which is now doesn't exist", - "userLogin": "trongthanh", - "milestone": "0.62.2", - "contributors": [ - "trongthanh" - ] - }, - { - "pr": "9719", - "title": "[FIX] Verified property of user is always set to false if not supplied", - "userLogin": "MarcosSpessatto", - "milestone": "0.62.2", - "contributors": [ - "MarcosSpessatto", - "rodrigok" - ] - }, - { - "pr": "10076", - "title": "[FIX] Update preferences of users with settings: null was crashing the server", - "userLogin": "rodrigok", - "milestone": "0.62.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "10009", - "title": "[FIX] REST API: Can't list all public channels when user has permission `view-joined-room`", - "userLogin": "MarcosSpessatto", - "milestone": "0.62.2", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10061", - "title": "[FIX] Message editing is crashing the server when read receipts are enabled", - "userLogin": "sampaiodiego", - "milestone": "0.62.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "10029", - "title": "[FIX] Download links was duplicating Sub Paths", - "userLogin": "rodrigok", - "milestone": "0.62.2", - "contributors": [ - "rodrigok" - ] - } - ], - "0.63.0-rc.0": [ - { - "pr": "10246", - "title": "[NEW] Interface to install and manage RocketChat Apps (alpha)", - "userLogin": "ggazzo", - "milestone": "0.63.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "10243", - "title": "LingoHub based on develop", - "userLogin": "engelgabriel", - "milestone": "0.63.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "10012", - "title": "[FIX] \"View All Members\" button inside channel's \"User Info\" is over sized", - "userLogin": "karlprieb", - "milestone": "0.63.0", - "contributors": [ - "karlprieb", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "10242", - "title": "Revert \"[FIX] Apostrophe-containing URL misparsed\"", - "userLogin": "sampaiodiego", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "10054", - "title": "[NEW] Livechat messages rest APIs", - "userLogin": "hmagarotto", - "milestone": "0.63.0", - "contributors": [ - "hmagarotto", - "rodrigok", - "web-flow" - ] - }, - { - "pr": "9907", - "title": "[NEW] Endpoint to retrieve message read receipts", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10237", - "title": "Rename migration name on 108 to match file name", - "userLogin": "geekgonecrazy", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "10159", - "title": "Fix typo for Nextcloud login", - "userLogin": "pierreozoux", - "milestone": "0.63.0", - "contributors": [ - "pierreozoux", - "web-flow", - "geekgonecrazy" - ] - }, - { - "pr": "10222", - "title": "[FIX] user status on sidenav", - "userLogin": "ggazzo", - "milestone": "0.63.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "10152", - "title": "[FIX] Dynamic CSS script isn't working on older browsers", - "userLogin": "karlprieb", - "milestone": "0.63.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9816", - "title": "[NEW] Add option to login via REST using Facebook and Twitter tokens", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "9629", - "title": "[NEW] Add REST endpoint to get the list of custom emojis", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "9947", - "title": "[NEW] GDPR Right to be forgotten/erased", - "userLogin": "Hudell", - "milestone": "0.63.0", - "contributors": [ - "Hudell" - ] - }, - { - "pr": "10105", - "title": "[NEW] Added endpoint to retrieve mentions of a channel", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10160", - "title": "[FIX] Extended view mode on sidebar", - "userLogin": "karlprieb", - "milestone": "0.63.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "10082", - "title": "[FIX] Cannot answer to a livechat as a manager if agent has not answered yet", - "userLogin": "kb0304", - "milestone": "0.63.0", - "contributors": [ - "kb0304", - "web-flow" - ] - }, - { - "pr": "9584", - "title": "[NEW] Add leave public channel & leave private channel permissions", - "userLogin": "kb0304", - "milestone": "0.63.0", - "contributors": [ - "kb0304", - "graywolf336", - "web-flow" - ] - }, - { - "pr": "10128", - "title": "[NEW] Added GET/POST channels.notifications", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10103", - "title": "[BREAK] Removed Private History Route", - "userLogin": "Hudell", - "milestone": "0.63.0", - "contributors": [ - "Hudell" - ] - }, - { - "pr": "9866", - "title": "[FIX] User status missing on user info", - "userLogin": "sumedh123", - "milestone": "0.63.0", - "contributors": [ - "sumedh123" - ] - }, - { - "pr": "9672", - "title": "[FIX] Name of files in file upload list cuts down at bottom due to overflow", - "userLogin": "sumedh123", - "milestone": "0.63.0", - "contributors": [ - "sumedh123" - ] - }, - { - "pr": "9783", - "title": "[FIX] No pattern for user's status text capitalization", - "userLogin": "sumedh123", - "milestone": "0.63.0", - "contributors": [ - "sumedh123" - ] - }, - { - "pr": "9739", - "title": "[FIX] Apostrophe-containing URL misparsed", - "userLogin": "sumedh123", - "milestone": "0.63.0", - "contributors": [ - "sumedh123" - ] - }, - { - "pr": "9860", - "title": "[FIX] Popover divs don't scroll if they overflow the viewport", - "userLogin": "Joe-mcgee", - "milestone": "0.63.0", - "contributors": [ - "Joe-mcgee", - "web-flow" - ] - }, - { - "pr": "10086", - "title": "[NEW] Reply preview", - "userLogin": "ubarsaiyan", - "milestone": "0.63.0", - "contributors": [ - "ubarsaiyan", - "web-flow" - ] - }, - { - "pr": "10104", - "title": "[FIX] Reactions not working on mobile", - "userLogin": "ggazzo", - "milestone": "0.63.0", - "contributors": [ - "ggazzo", - "web-flow" - ] - }, - { - "pr": "10123", - "title": "[NEW] Support for agent's phone field", - "userLogin": "renatobecker", - "milestone": "0.63.0", - "contributors": [ - "renatobecker" - ] - }, - { - "pr": "9872", - "title": "[FIX] Broken video call accept dialog", - "userLogin": "ramrami", - "milestone": "0.63.0", - "contributors": [ - "ramrami" - ] - }, - { - "pr": "10081", - "title": "[FIX] Wrong switch button border color", - "userLogin": "kb0304", - "milestone": "0.63.0", - "contributors": [ - "kb0304" - ] - }, - { - "pr": "10154", - "title": "Add a few listener supports for the Rocket.Chat Apps", - "userLogin": "graywolf336", - "milestone": "0.63.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "10148", - "title": "Add forums as a place to suggest, discuss and upvote features", - "userLogin": "SeanPackham", - "contributors": [ - "SeanPackham", - "web-flow" - ] - }, - { - "pr": "10090", - "title": "[FIX] Nextcloud as custom oauth provider wasn't mapping data correctly", - "userLogin": "pierreozoux", - "milestone": "0.63.0", - "contributors": [ - "pierreozoux", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "10144", - "title": "[NEW] Added endpoint to get the list of available oauth services", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10016", - "title": "[FIX] Missing sidebar default options on admin", - "userLogin": "karlprieb", - "milestone": "0.63.0", - "contributors": [ - "karlprieb", - "web-flow" - ] - }, - { - "pr": "8667", - "title": "[FIX] Able to react with invalid emoji", - "userLogin": "mutdmour", - "milestone": "0.63.0", - "contributors": [ - "mutdmour", - "rodrigok", - "web-flow", - "MarcosSpessatto" - ] - }, - { - "pr": "9742", - "title": "[NEW] REST API method to set room's announcement (channels.setAnnouncement)", - "userLogin": "TopHattedCat", - "milestone": "0.63.0", - "contributors": [ - "TopHattedCat", - "web-flow" - ] - }, - { - "pr": "9726", - "title": "[NEW] Audio recording as mp3 and better ui for recording", - "userLogin": "kb0304", - "milestone": "0.63.0", - "contributors": [ - "kb0304", - "rodrigok", - "web-flow", - "engelgabriel" - ] - }, - { - "pr": "9732", - "title": "[NEW] Setting to configure max delta for 2fa", - "userLogin": "Hudell", - "milestone": "0.63.0", - "contributors": [ - "Hudell", - "web-flow", - "engelgabriel", - "sampaiodiego" - ] - }, - { - "pr": "9870", - "title": "[NEW] Livechat webhook request on message", - "userLogin": "hmagarotto", - "milestone": "0.63.0", - "contributors": [ - "hmagarotto", - "web-flow" - ] - }, - { - "pr": "10071", - "title": "[FIX] Slack Import reports `invalid import file type` due to a call to BSON.native() which is now doesn't exist", - "userLogin": "trongthanh", - "milestone": "0.62.2", - "contributors": [ - "trongthanh" - ] - }, - { - "pr": "9719", - "title": "[FIX] Verified property of user is always set to false if not supplied", - "userLogin": "MarcosSpessatto", - "milestone": "0.62.2", - "contributors": [ - "MarcosSpessatto", - "rodrigok" - ] - }, - { - "pr": "10076", - "title": "[FIX] Update preferences of users with settings: null was crashing the server", - "userLogin": "rodrigok", - "milestone": "0.62.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "10065", - "title": "Fix tests breaking randomly", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "10009", - "title": "[FIX] REST API: Can't list all public channels when user has permission `view-joined-room`", - "userLogin": "MarcosSpessatto", - "milestone": "0.62.2", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10061", - "title": "[FIX] Message editing is crashing the server when read receipts are enabled", - "userLogin": "sampaiodiego", - "milestone": "0.62.2", - "contributors": [ - "sampaiodiego" - ] - }, - { - "pr": "10029", - "title": "[FIX] Download links was duplicating Sub Paths", - "userLogin": "rodrigok", - "milestone": "0.62.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "10051", - "title": "[FIX] User preferences can't be saved when roles are hidden in admin settings", - "userLogin": "Hudell", - "milestone": "0.63.0", - "contributors": [ - "Hudell" - ] - }, - { - "pr": "9367", - "title": "[NEW] Announcement bar color wasn't using color from theming variables", - "userLogin": "cyclops24", - "milestone": "0.63.0", - "contributors": [ - "cyclops24", - "karlprieb", - "web-flow" - ] - }, - { - "pr": "9932", - "title": "[FIX] Browser was auto-filling values when editing another user profile", - "userLogin": "kaiiiiiiiii", - "milestone": "0.63.0", - "contributors": [ - "kaiiiiiiiii" - ] - }, - { - "pr": "10011", - "title": "[FIX] Avatar input was accepting not supported image types", - "userLogin": "karlprieb", - "milestone": "0.63.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "10028", - "title": "[FIX] Initial loading feedback was missing", - "userLogin": "karlprieb", - "milestone": "0.63.0", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "10036", - "title": "[OTHER] Reactivate all tests", - "userLogin": "rodrigok", - "milestone": "0.63.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9844", - "title": "[OTHER] Reactivate API tests", - "userLogin": "karlprieb", - "contributors": [ - "karlprieb", - "MarcosSpessatto" - ] - }, - { - "pr": "9986", - "title": "[FIX] Delete user without username was removing direct rooms of all users", - "userLogin": "rodrigok", - "milestone": "0.62.1", - "contributors": [ - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "9982", - "title": "[FIX] Two factor authentication modal was not showing", - "userLogin": "sampaiodiego", - "milestone": "0.62.1", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "9960", - "title": "[FIX] Empty sidenav when sorting by activity and there is a subscription without room", - "userLogin": "ggazzo", - "milestone": "0.62.1", - "contributors": [ - "ggazzo", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9988", - "title": "[FIX] New channel page on medium size screens", - "userLogin": "karlprieb", - "milestone": "0.62.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9985", - "title": "Start 0.63.0-develop / develop sync from master", - "userLogin": "rodrigok", - "contributors": [ - "rodrigok", - "web-flow" - ] - }, - { - "pr": "10087", - "title": "Release 0.62.2", - "userLogin": "rodrigok", - "milestone": "0.62.2", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "9986", - "title": "[FIX] Delete user without username was removing direct rooms of all users", - "userLogin": "rodrigok", - "milestone": "0.62.1", - "contributors": [ - "rodrigok", - "sampaiodiego" - ] - }, - { - "pr": "9988", - "title": "[FIX] New channel page on medium size screens", - "userLogin": "karlprieb", - "milestone": "0.62.1", - "contributors": [ - "karlprieb" - ] - }, - { - "pr": "9960", - "title": "[FIX] Empty sidenav when sorting by activity and there is a subscription without room", - "userLogin": "ggazzo", - "milestone": "0.62.1", - "contributors": [ - "ggazzo", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "9982", - "title": "[FIX] Two factor authentication modal was not showing", - "userLogin": "sampaiodiego", - "milestone": "0.62.1", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - } - ], - "0.63.0-rc.1": [ - { - "pr": "10272", - "title": "[FIX] File had redirect delay when using external storage services and no option to proxy only avatars", - "userLogin": "rodrigok", - "milestone": "0.63.0", - "contributors": [ - "rodrigok", - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "10257", - "title": "Fix: Renaming channels.notifications Get/Post endpoints", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10262", - "title": "[FIX] Missing pt-BR translations", - "userLogin": "sampaiodiego", - "milestone": "0.63.0", - "contributors": [ - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "10240", - "title": "[FIX] /me REST endpoint was missing user roles and preferences", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10260", - "title": "Fix caddy download link to pull from github", - "userLogin": "geekgonecrazy", - "milestone": "0.63.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "10252", - "title": "Fix: possible errors on rocket.chat side of the apps", - "userLogin": "graywolf336", - "milestone": "0.63.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "10015", - "title": "Fix snap install. Remove execstack from sharp, and bypass grpc error", - "userLogin": "geekgonecrazy", - "milestone": "0.63.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - } - ], - "0.63.0-rc.2": [ - { - "pr": "10078", - "title": "[FIX] Unable to mention after newline in message", - "userLogin": "c0dzilla", - "milestone": "0.63.0", - "contributors": [ - "c0dzilla" - ] - }, - { - "pr": "10224", - "title": "[FIX] Wrong pagination information on /api/v1/channels.members", - "userLogin": "MarcosSpessatto", - "milestone": "0.63.0", - "contributors": [ - "MarcosSpessatto" - ] - }, - { - "pr": "10163", - "title": "[FIX] Inline code following a url leads to autolinking of code with url", - "userLogin": "c0dzilla", - "milestone": "0.63.0", - "contributors": [ - "c0dzilla" - ] - }, - { - "pr": "10258", - "title": "[FIX] Incoming Webhooks were missing the raw content", - "userLogin": "Hudell", - "milestone": "0.63.0", - "contributors": [ - "Hudell" - ] - }, - { - "pr": "10270", - "title": "[FIX] Missing Translation Key on Reactions", - "userLogin": "bernardoetrevisan", - "milestone": "0.63.0", - "contributors": [ - "bernardoetrevisan", - "web-flow", - "graywolf336" - ] - }, - { - "pr": "10274", - "title": "Fix: inputs for rocketchat apps", - "userLogin": "ggazzo", - "milestone": "0.63.0", - "contributors": [ - "ggazzo", - "web-flow", - "graywolf336" - ] - }, - { - "pr": "10290", - "title": "Fix: chat.react api not accepting previous emojis", - "userLogin": "graywolf336", - "milestone": "0.63.0", - "contributors": [ - "graywolf336", - "sampaiodiego", - "web-flow" - ] - }, - { - "pr": "10300", - "title": "Fix: Scroll on content page", - "userLogin": "ggazzo", - "milestone": "0.63.0", - "contributors": [ - "ggazzo" - ] - } - ], - "HEAD": [], - "0.63.0": [ - { - "pr": "10303", - "title": "[FIX] Audio Message UI fixes", - "userLogin": "kb0304", - "contributors": [ - "kb0304", - "ggazzo", - "web-flow" - ] - }, - { - "pr": "10319", - "title": "[NEW] Improve history generation", - "userLogin": "rodrigok", - "milestone": "0.63.0", - "contributors": [ - "rodrigok" - ] - }, - { - "pr": "10323", - "title": "Fix: Reaction endpoint/api only working with regular emojis", - "userLogin": "graywolf336", - "milestone": "0.63.0", - "contributors": [ - "graywolf336" - ] - }, - { - "pr": "10313", - "title": "Bump snap version to include security fix", - "userLogin": "geekgonecrazy", - "milestone": "0.63.0", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "10314", - "title": "Update Meteor to 1.6.1.1", - "userLogin": "rodrigok", - "milestone": "0.63.0", - "contributors": [ - "rodrigok" - ] - } - ], - "0.63.1": [ - { - "pr": "10348", - "title": "[FIX] Change deprecated Meteor._reload.reload method in favor of Reload._reload", - "userLogin": "tttt-conan", - "milestone": "0.63.1", - "contributors": [ - "tttt-conan" - ] - }, - { - "pr": "10351", - "title": "[FIX] Snaps crashing due to Node v8.11.1 Segfault", - "userLogin": "geekgonecrazy", - "milestone": "0.63.1", - "contributors": [ - "geekgonecrazy", - "web-flow" - ] - }, - { - "pr": "10084", - "title": "[FIX] Add '.value' in the SAML package to fix TypeErrors on SAML token validation", - "userLogin": "TechyPeople", - "milestone": "0.63.1", - "contributors": [ - "TechyPeople", - "web-flow", - "rodrigok" - ] - }, - { - "pr": "10356", - "title": "[FIX] Incorrect german translation of user online status", - "userLogin": "kaiiiiiiiii", - "milestone": "0.63.1", - "contributors": [ - "kaiiiiiiiii" - ] - }, - { - "pr": "10355", - "title": "[FIX] Incorrect French language usage for Disabled", - "userLogin": "graywolf336", - "milestone": "0.63.1", - "contributors": [ - "graywolf336", - "web-flow" - ] - } - ] + } } \ No newline at end of file diff --git a/.github/issue-templates/release.md b/.github/issue-templates/release.md deleted file mode 100644 index 6918d52ab621..000000000000 --- a/.github/issue-templates/release.md +++ /dev/null @@ -1,59 +0,0 @@ -# Release {version} -We are releasing a new version, this issue will keep track of the progress between the first release candidate (20th of each month) to the final release (27th of each month). - -After the 20th of each month we start the release process that ends 7 days after, during that period we enter a Feature Freeze. While in the Feature Freeze, we will only be merging bug fixes and not new features. - -For any regression, open a new issue and link to this one. - - -## Before Release - Preparation - 1 business day before the day 20th -- [x] Create the issue to track the release progress -- [ ] Define the highlights from release PRs as suggestion to be included on Blog Post -- [ ] Talk to the Marketing Team about the Blog Post release -- [ ] Talk to the Documentation Team about the Docs release -- [ ] Sync translations from [LingoHub](https://translate.lingohub.com/rocketchat/rocket-dot-chat/dashboard) - -## Release Candidate 1 - On the 20th -- [ ] Delete branch `release-candidate` -- [ ] Create branch `release-candidate` based on `develop` -- [ ] On branch `release-candidate` run `npm run release` and follow the steps -- [ ] Publish the branch and the generated tag -- [ ] Edit the tag on GitHub and paste the generated History removing the version from the first line and mark the checkbox **This is a pre-release** -- [ ] Ensure the build is passing on CircleCI -- [ ] Ensure the build is passing on Docker Hub - - - -## Final Release - On the 27th -- [ ] Merge `develop` into `release-candidate` branch -- [ ] Create a new branch `release-{version}` based on `release-candidate` -- [ ] On branch `release-{version}` run `npm run release` and follow the steps **TODO: fix the history** -- [ ] Publish only the branch -- [ ] **Draft a new release** on GitHub - - [ ] Enter tag version as {version} - - [ ] Select target **master** - - [ ] Enter release title as {version} - - [ ] Paste the history removing the version from the first line - - [ ] Save as **draft** -- [ ] Create a PR from the branch `release-{version}` with the same history from the tag/release -- [ ] Ensure the build is passing on CircleCI -- [ ] Ensure the build is passing on Docker Hub -- [ ] When build is passing ask for approval -- [ ] When approved merge it! -- [ ] When merged edit the release/tag and publish it - -## After Release - Conclusion - 1 business day after the 27th -- [ ] Check if related issues was closed -- [ ] Check if related issues was assigned to the correct milestone -- [ ] Check with the Marketing Team about the Blog Post release -- [ ] Check with the Documentation Team about the Docs release -- [ ] Create a Sync PR to merge back master to develop -- [ ] Merge Sync PR diff --git a/.gitignore b/.gitignore index 3f7fd5b8134e..feb2b862bc23 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ **/build/* **/node_modules/* **/tmp/* +**/.meteor/.id **/.meteor/dev_bundle **/.meteor/local* **/.meteor/meteorite @@ -73,3 +74,6 @@ pm2.json settings.json build.sh /public/livechat +packages/rocketchat-i18n/i18n/livechat.* + +packages/rocketchat-apps/server/bridges/rooms\.js diff --git a/.meteor/.finished-upgraders b/.meteor/.finished-upgraders index 2a56593d3f82..8f397c7dad01 100644 --- a/.meteor/.finished-upgraders +++ b/.meteor/.finished-upgraders @@ -16,3 +16,4 @@ notices-for-facebook-graph-api-2 1.4.1-add-shell-server-package 1.4.3-split-account-service-packages 1.5-add-dynamic-import-package +1.7-split-underscore-from-meteor-base diff --git a/.meteor/.id b/.meteor/.id deleted file mode 100644 index bf888b12702f..000000000000 --- a/.meteor/.id +++ /dev/null @@ -1,7 +0,0 @@ -# This file contains a token that is unique to your project. -# Check it into your repository along with the rest of this directory. -# It can be used for purposes such as: -# - ensuring you don't accidentally deploy one app on top of another -# - providing package authors with aggregated statistics - -1d10m9yd7fq1hsv663c diff --git a/.meteor/packages b/.meteor/packages index 951eadb8980c..e87a8cd84f31 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -97,6 +97,7 @@ rocketchat:mapview rocketchat:markdown rocketchat:mentions rocketchat:mentions-flextab +rocketchat:message-action rocketchat:message-attachments rocketchat:message-mark-as-unread rocketchat:message-pin @@ -110,13 +111,16 @@ rocketchat:otr rocketchat:postcss rocketchat:push-notifications rocketchat:reactions +rocketchat:retention-policy rocketchat:apps rocketchat:sandstorm +rocketchat:setup-wizard rocketchat:slackbridge rocketchat:slashcommands-archive rocketchat:slashcommands-asciiarts rocketchat:slashcommands-create rocketchat:slashcommands-help +rocketchat:slashcommands-hide rocketchat:slashcommands-invite rocketchat:slashcommands-invite-all rocketchat:slashcommands-join @@ -140,12 +144,14 @@ rocketchat:tutum rocketchat:ui rocketchat:ui-account rocketchat:ui-admin +rocketchat:ui-clean-history rocketchat:ui-flextab rocketchat:ui-login rocketchat:ui-master rocketchat:ui-message rocketchat:ui-sidenav rocketchat:ui-vrecord +rocketchat:user-data-download rocketchat:version rocketchat:videobridge rocketchat:webrtc @@ -178,10 +184,17 @@ ostrio:cookies pauli:accounts-linkedin percolate:synced-cron raix:handlebar-helpers -raix:push +rocketchat:push raix:ui-dropped-event steffo:meteor-accounts-saml todda00:friendly-slugs yasaricli:slugify yasinuslu:blaze-meta rocketchat:version-check + +rocketchat:search +chatpal:search +rocketchat:lazy-load +tap:i18n +underscore +rocketchat:bigbluebutton diff --git a/.meteor/release b/.meteor/release index 011385b25613..8fed0e8ee874 100644 --- a/.meteor/release +++ b/.meteor/release @@ -1 +1 @@ -METEOR@1.6.1.1 +METEOR@1.6.1.3 diff --git a/.meteor/versions b/.meteor/versions index 3fa982c52f2d..655f5b396da4 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -9,7 +9,7 @@ accounts-twitter@1.4.1 aldeed:simple-schema@1.5.4 allow-deny@1.1.0 autoupdate@1.4.0 -babel-compiler@7.0.7 +babel-compiler@7.0.9 babel-runtime@1.2.2 base64@1.0.11 binary-heap@1.0.10 @@ -17,10 +17,11 @@ blaze@2.3.2 blaze-html-templates@1.1.2 blaze-tools@1.0.10 boilerplate-generator@1.4.0 -caching-compiler@1.1.11 +caching-compiler@1.1.12 caching-html-compiler@1.1.2 callback-hook@1.1.0 cfs:http-methods@0.0.32 +chatpal:search@0.0.1 check@1.3.1 coffeescript@1.0.17 dandv:caret-position@2.1.1 @@ -34,7 +35,7 @@ deps@1.0.12 diff-sequence@1.1.0 dispatch:run-as-user@1.1.1 dynamic-import@0.3.0 -ecmascript@0.10.7 +ecmascript@0.10.9 ecmascript-runtime@0.5.0 ecmascript-runtime-client@0.6.2 ecmascript-runtime-server@0.5.0 @@ -43,7 +44,7 @@ ejson@1.1.0 email@1.2.3 emojione:emojione@2.2.6 es5-shim@4.7.3 -facebook-oauth@1.4.0 +facebook-oauth@1.4.1 fastclick@1.0.13 francocatena:status@1.5.3 geojson-utils@1.0.10 @@ -52,7 +53,7 @@ google-oauth@1.2.5 hot-code-push@1.0.4 html-tools@1.0.11 htmljs@1.0.11 -http@1.4.0 +http@1.4.1 id-map@1.1.0 jalik:ufs@0.7.5 jalik:ufs-gridfs@0.2.1 @@ -69,7 +70,7 @@ konecty:change-case@2.3.0 konecty:delayed-task@1.0.0 konecty:mongo-counter@0.0.5_3 konecty:multiple-instances-status@1.1.0 -konecty:user-presence@2.0.1 +konecty:user-presence@2.2.0 launch-screen@1.1.1 less@2.7.12 livedata@1.0.18 @@ -84,15 +85,15 @@ meteorhacks:inject-initial@1.0.4 meteorhacks:meteorx@1.4.1 meteorspark:util@0.2.0 minifier-css@1.3.1 -minifier-js@2.3.4 +minifier-js@2.3.5 minimongo@1.4.4 mizzao:autocomplete@0.5.1 mizzao:timesync@0.3.4 mobile-experience@1.0.5 mobile-status-bar@1.0.14 -modules@0.11.6 +modules@0.11.8 modules-runtime@0.9.2 -mongo@1.4.5 +mongo@1.4.7 mongo-dev-server@1.1.0 mongo-id@1.0.7 mongo-livedata@1.0.12 @@ -115,7 +116,6 @@ promise@0.10.2 raix:eventemitter@0.1.3 raix:eventstate@0.0.4 raix:handlebar-helpers@0.2.5 -raix:push@3.3.0 raix:ui-dropped-event@0.0.7 random@1.1.0 rate-limit@1.0.9 @@ -133,6 +133,7 @@ rocketchat:assets@0.0.1 rocketchat:authorization@0.0.1 rocketchat:autolinker@0.0.1 rocketchat:autotranslate@0.0.1 +rocketchat:bigbluebutton@0.0.1 rocketchat:bot-helpers@0.0.1 rocketchat:cas@1.0.0 rocketchat:channel-settings@0.0.1 @@ -170,9 +171,10 @@ rocketchat:importer-slack@0.0.1 rocketchat:importer-slack-users@1.0.0 rocketchat:integrations@0.0.1 rocketchat:internal-hubot@0.0.1 -rocketchat:irc@0.0.2 +rocketchat:irc@0.0.1 rocketchat:issuelinks@0.0.1 rocketchat:katex@0.0.1 +rocketchat:lazy-load@0.0.1 rocketchat:ldap@0.0.1 rocketchat:lib@0.0.1 rocketchat:livechat@0.0.1 @@ -184,6 +186,7 @@ rocketchat:mapview@0.0.1 rocketchat:markdown@0.0.2 rocketchat:mentions@0.0.1 rocketchat:mentions-flextab@0.0.1 +rocketchat:message-action@0.0.1 rocketchat:message-attachments@0.0.1 rocketchat:message-mark-as-unread@0.0.1 rocketchat:message-pin@0.0.1 @@ -197,14 +200,19 @@ rocketchat:oauth2-server-config@1.0.0 rocketchat:oembed@0.0.1 rocketchat:otr@0.0.1 rocketchat:postcss@1.0.0 +rocketchat:push@3.3.1 rocketchat:push-notifications@0.0.1 rocketchat:reactions@0.0.1 +rocketchat:retention-policy@0.0.1 rocketchat:sandstorm@0.0.1 +rocketchat:search@0.0.1 +rocketchat:setup-wizard@0.0.1 rocketchat:slackbridge@0.0.1 rocketchat:slashcommands-archive@0.0.1 rocketchat:slashcommands-asciiarts@0.0.1 rocketchat:slashcommands-create@0.0.1 rocketchat:slashcommands-help@0.0.1 +rocketchat:slashcommands-hide@0.0.1 rocketchat:slashcommands-invite@0.0.1 rocketchat:slashcommands-invite-all@0.0.1 rocketchat:slashcommands-join@0.0.1 @@ -229,19 +237,21 @@ rocketchat:tutum@0.0.1 rocketchat:ui@0.1.0 rocketchat:ui-account@0.1.0 rocketchat:ui-admin@0.1.0 +rocketchat:ui-clean-history@0.0.1 rocketchat:ui-flextab@0.1.0 rocketchat:ui-login@0.1.0 rocketchat:ui-master@0.1.0 rocketchat:ui-message@0.1.0 rocketchat:ui-sidenav@0.1.0 rocketchat:ui-vrecord@0.0.1 +rocketchat:user-data-download@1.0.0 rocketchat:version@1.0.0 rocketchat:version-check@0.0.1 rocketchat:videobridge@0.2.0 rocketchat:webrtc@0.0.1 rocketchat:wordpress@0.0.1 routepolicy@1.0.13 -server-render@0.3.0 +server-render@0.3.1 service-configuration@1.0.11 session@1.1.7 sha@1.0.9 @@ -252,9 +262,9 @@ socket-stream-client@0.1.0 spacebars@1.0.15 spacebars-compiler@1.1.3 srp@1.0.10 -standard-minifier-js@2.3.3 +standard-minifier-js@2.3.4 steffo:meteor-accounts-saml@0.0.1 -swydo:graphql@0.0.3 +swydo:graphql@0.4.0 tap:i18n@1.8.2 templating@1.3.2 templating-compiler@1.3.3 diff --git a/.sandstorm/Vagrantfile b/.sandstorm/Vagrantfile index 6391e073097a..c7eee5ae79ea 100644 --- a/.sandstorm/Vagrantfile +++ b/.sandstorm/Vagrantfile @@ -9,9 +9,17 @@ VM_NAME = File.basename(File.dirname(File.dirname(__FILE__))) + "_sandstorm_#{Ti # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" +# ugly hack to prevent hashicorp's bitrot. See https://github.com/hashicorp/vagrant/issues/9442 +# this setting is required for pre-2.0 vagrant, but causes an error as of 2.0.3, +# remove entirely when confident nobody uses vagrant 1.x for anything. +unless Vagrant::DEFAULT_SERVER_URL.frozen? + Vagrant::DEFAULT_SERVER_URL.replace('https://vagrantcloud.com') +end + Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - # Base on the Sandstorm snapshots of the official Debian 8 (jessie) box. - config.vm.box = "sandstorm/debian-jessie64" + # Base on the Sandstorm snapshots of the official Debian 9 (stretch) box with vboxsf support. + config.vm.box = "debian/contrib-stretch64" + config.vm.box_version = "9.3.0" if Vagrant.has_plugin?("vagrant-vbguest") then # vagrant-vbguest is a Vagrant plugin that upgrades diff --git a/.sandstorm/build.sh b/.sandstorm/build.sh index 976f897db276..c8a155a2a351 100644 --- a/.sandstorm/build.sh +++ b/.sandstorm/build.sh @@ -5,6 +5,7 @@ set -euvo pipefail # Make meteor bundle sudo chown vagrant:vagrant /home/vagrant -R cd /opt/app +meteor npm install capnp meteor npm install meteor build --directory /home/vagrant/ diff --git a/.sandstorm/global-setup.sh b/.sandstorm/global-setup.sh index bf143b450e33..af9d391aaac9 100644 --- a/.sandstorm/global-setup.sh +++ b/.sandstorm/global-setup.sh @@ -4,6 +4,9 @@ set -euvo pipefail echo localhost > /etc/hostname hostname localhost +# Install curl that is needed below. +apt-get update +apt-get install -y curl curl https://install.sandstorm.io/ > /host-dot-sandstorm/caches/install.sh SANDSTORM_CURRENT_VERSION=$(curl -fs "https://install.sandstorm.io/dev?from=0&type=install") SANDSTORM_PACKAGE="sandstorm-$SANDSTORM_CURRENT_VERSION.tar.xz" diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp index b5e3e9786fe8..7468bf5b82fa 100644 --- a/.sandstorm/sandstorm-pkgdef.capnp +++ b/.sandstorm/sandstorm-pkgdef.capnp @@ -19,9 +19,9 @@ const pkgdef :Spk.PackageDefinition = ( appTitle = (defaultText = "Rocket.Chat"), - appVersion = 62, # Increment this for every release. + appVersion = 97, # Increment this for every release. - appMarketingVersion = (defaultText = "0.64.0-develop"), + appMarketingVersion = (defaultText = "0.70.0-develop"), # Human-readable representation of appVersion. Should match the way you # identify versions of your app in documentation and marketing. diff --git a/.sandstorm/setup.sh b/.sandstorm/setup.sh index bc30455ed282..6882afab185d 100644 --- a/.sandstorm/setup.sh +++ b/.sandstorm/setup.sh @@ -8,7 +8,7 @@ apt-get install build-essential git -y cd /opt/ NODE_ENV=production -PACKAGE=meteor-spk-0.4.0 +PACKAGE=meteor-spk-0.4.1 PACKAGE_FILENAME="$PACKAGE.tar.xz" CACHE_TARGET="/host-dot-sandstorm/caches/${PACKAGE_FILENAME}" @@ -23,16 +23,30 @@ tar xf "$CACHE_TARGET" # Create symlink so we can rely on the path /opt/meteor-spk ln -s "${PACKAGE}" meteor-spk +#This will install capnp, the Cap’n Proto command-line tool. +#It will also install libcapnp, libcapnpc, and libkj in /usr/local/lib and headers in /usr/local/include/capnp and /usr/local/include/kj. +curl -O https://capnproto.org/capnproto-c++-0.6.1.tar.gz +tar zxf capnproto-c++-0.6.1.tar.gz +cd capnproto-c++-0.6.1 +./configure +make -j6 check +sudo make install +# inlcude libcapnp and libkj library to dependencies. +cp .libs/* /opt/meteor-spk/meteor-spk.deps/lib/x86_64-linux-gnu/ + # Add bash, and its dependencies, so they get mapped into the image. # Bash runs the launcher script. cp -a /bin/bash /opt/meteor-spk/meteor-spk.deps/bin/ cp -a /lib/x86_64-linux-gnu/libncurses.so.* /opt/meteor-spk/meteor-spk.deps/lib/x86_64-linux-gnu/ cp -a /lib/x86_64-linux-gnu/libtinfo.so.* /opt/meteor-spk/meteor-spk.deps/lib/x86_64-linux-gnu/ +# for npm in package.json sharp. +cp -a /lib/x86_64-linux-gnu/libresolv* /opt/meteor-spk/meteor-spk.deps/lib/x86_64-linux-gnu/ + # Unfortunately, Meteor does not explicitly make it easy to cache packages, but # we know experimentally that the package is mostly directly extractable to a # user's $HOME/.meteor directory. -METEOR_RELEASE=1.6.0.1 +METEOR_RELEASE=1.6.1.1 METEOR_PLATFORM=os.linux.x86_64 METEOR_TARBALL_FILENAME="meteor-bootstrap-${METEOR_PLATFORM}.tar.gz" METEOR_TARBALL_URL="https://d3sqy0vbqsdhku.cloudfront.net/packages-bootstrap/${METEOR_RELEASE}/${METEOR_TARBALL_FILENAME}" diff --git a/.scripts/logs.js b/.scripts/logs.js index 77ff6412e1da..be65d91454b5 100644 --- a/.scripts/logs.js +++ b/.scripts/logs.js @@ -22,7 +22,7 @@ let historyData = (() => { octokit.authenticate({ type: 'token', - token: process.env.GITHUB_TOKEN + token: process.env.GITHUB_TOKEN, }); const owner = 'RocketChat'; const repo = 'Rocket.Chat'; @@ -31,8 +31,8 @@ function promiseRetryRateLimit(promiseFn, retryWait = 60000) { return new Promise((resolve, reject) => { function exec() { promiseFn() - .then(data => resolve(data)) - .catch(error => { + .then((data) => resolve(data)) + .catch((error) => { if (error.headers['x-ratelimit-remaining'] === '0') { let reset = error.headers['x-ratelimit-reset']; if (reset) { @@ -56,13 +56,13 @@ function getPRInfo(number, commit) { process.exit(1); } - return promiseRetryRateLimit(() => octokit.pullRequests.get({owner, repo, number})) + return promiseRetryRateLimit(() => octokit.pullRequests.get({ owner, repo, number })) .catch(onError) - .then(pr => { + .then((pr) => { const info = { pr: number, title: pr.data.title, - userLogin: pr.data.user.login + userLogin: pr.data.user.login, }; // data.author_association: 'CONTRIBUTOR', @@ -70,12 +70,12 @@ function getPRInfo(number, commit) { info.milestone = pr.data.milestone.title; } - return promiseRetryRateLimit(() => octokit.pullRequests.getCommits({owner, repo, number})) + return promiseRetryRateLimit(() => octokit.pullRequests.getCommits({ owner, repo, number })) .catch(onError) - .then(commits => { - info.contributors = _.unique(_.flatten(commits.data.map(i => { + .then((commits) => { + info.contributors = _.unique(_.flatten(commits.data.map((i) => { if (!i.author || !i.committer) { - return; + return null; } return [i.author.login, i.committer.login]; @@ -94,7 +94,7 @@ function getPRNumeberFromMessage(message, item) { const number = match[2] || match[4]; if (!/^\d+$/.test(number)) { - console.error('Invalid number', {number, message}); + console.error('Invalid number', { number, message }); process.exit(1); } @@ -108,17 +108,17 @@ function getPullRequests(from, to) { date: '%ai', message: '%s', author_name: '%aN', - author_email: '%ae' + author_email: '%ae', }; return git.log(logParams).then((log) => { const items = log.all - .filter(item => /^(\*\s)[0-9a-z]+$/.test(item.hash)) - .map(item => { + .filter((item) => /^(\*\s)[0-9a-z]+$/.test(item.hash)) + .map((item) => { item.hash = item.hash.replace(/^(\*\s)/, ''); return item; }) - .filter(item => commitRegex.test(item.message)); + .filter((item) => commitRegex.test(item.message)); const data = []; @@ -126,7 +126,7 @@ function getPullRequests(from, to) { const bar = new ProgressBar(' [:bar] :current/:total :percent :etas', { total: items.length, incomplete: ' ', - width: 20 + width: 20, }); function process() { @@ -137,18 +137,16 @@ function getPullRequests(from, to) { const partItems = items.splice(0, 10); bar.tick(partItems.length); - const promises = partItems.map(item => { - return getPRInfo(getPRNumeberFromMessage(item.message, item), item); - }); + const promises = partItems.map((item) => getPRInfo(getPRNumeberFromMessage(item.message, item), item)); - return Promise.all(promises).then(result => { + return Promise.all(promises).then((result) => { data.push(..._.compact(result)); if (items.length) { setTimeout(process, 100); } else { resolve(data); } - }).catch(error => reject(error)); + }).catch((error) => reject(error)); } process(); @@ -158,7 +156,7 @@ function getPullRequests(from, to) { function getTags() { return git.tags().then((tags) => { - tags = tags.all.filter(tag => /^\d+\.\d+\.\d+(-rc\.\d+)?$/.test(tag)); + tags = tags.all.filter((tag) => /^\d+\.\d+\.\d+(-rc\.\d+)?$/.test(tag)); tags = tags.sort((a, b) => { if (semver.gt(a, b)) { @@ -173,13 +171,11 @@ function getTags() { tags.push('HEAD'); return tags - .map((item, index) => { - return { - tag: item, - before: index ? tags[--index] : null - }; - }) - .filter(item => item.tag === 'HEAD' || semver.gte(item.tag, minTag)) + .map((item, index) => ({ + tag: item, + before: index ? tags[--index] : null, + })) + .filter((item) => item.tag === 'HEAD' || semver.gte(item.tag, minTag)) .reduce((value, item) => { value[item.tag] = item; return value; @@ -188,14 +184,14 @@ function getTags() { } function getMissingTags() { - return getTags().then(tags => { + return getTags().then((tags) => { const missingTags = _.difference(Object.keys(tags), Object.keys(historyData)); missingTags.push('HEAD'); return _.pick(tags, missingTags); }); } -getMissingTags().then(missingTags => { +getMissingTags().then((missingTags) => { console.log('Missing tags:'); console.log(JSON.stringify(Object.keys(missingTags), null, 2)); missingTags = Object.values(missingTags); @@ -209,10 +205,10 @@ getMissingTags().then(missingTags => { const from = item.before; const to = item.tag; console.log('Fetching data for tag:', to, `(from ${ from })`); - getPullRequests(from, to).then(prs => { + getPullRequests(from, to).then((prs) => { // console.log(' ', prs.length, 'item(s) found'); historyData = Object.assign(historyData, { - [to]: prs + [to]: prs, }); fs.writeFileSync(historyDataFile, JSON.stringify(historyData, null, 2)); loadMissingTag(); diff --git a/.scripts/md.js b/.scripts/md.js index b9e29e5ae6be..6f927f192cc2 100644 --- a/.scripts/md.js +++ b/.scripts/md.js @@ -2,7 +2,7 @@ const path = require('path'); const fs = require('fs'); const semver = require('semver'); const _ = require('underscore'); -const execSync = require('child_process').execSync; +const { execSync } = require('child_process'); const historyDataFile = path.join(__dirname, '../.github/history.json'); const historyManualDataFile = path.join(__dirname, '../.github/history-manual.json'); @@ -30,14 +30,14 @@ const nonContributors = [ 'rodrigok', 'renatobecker', 'sampaiodiego', - 'SeanPackham' + 'SeanPackham', ]; const GroupNames = { FIX: '### 🐛 Bug fixes', NEW: '### 🎉 New features', BREAK: '### ⚠️ BREAKING CHANGES', - MINOR: '🔍 Minor changes' + MINOR: '🔍 Minor changes', }; const SummaryNameEmoticons = { @@ -45,7 +45,7 @@ const SummaryNameEmoticons = { NEW: '🎉', BREAK: '️️️⚠️', NOGROUP: '🔍', - contributor: '👩‍💻👨‍💻' + contributor: '👩‍💻👨‍💻', }; const historyData = (() => { @@ -64,7 +64,7 @@ const historyManualData = (() => { } })(); -Object.keys(historyManualData).forEach(tag => { +Object.keys(historyManualData).forEach((tag) => { historyData[tag] = historyData[tag] || []; historyData[tag].unshift(...historyManualData[tag]); }); @@ -74,10 +74,10 @@ function groupPRs(prs) { BREAK: [], NEW: [], FIX: [], - NOGROUP: [] + NOGROUP: [], }; - prs.forEach(pr => { + prs.forEach((pr) => { const match = pr.title.match(/\[(FIX|NEW|BREAK)\]\s*(.+)/); if (match) { pr.title = match[2]; @@ -98,26 +98,26 @@ function getLatestCommitDate() { return execSync('git log --date=short --format=\'%ad\' -1').toString().replace(/\n/, ''); } -Object.keys(historyData).forEach(tag => { +Object.keys(historyData).forEach((tag) => { historyData[tag] = { prs: historyData[tag], - rcs: [] + rcs: [], }; }); -Object.keys(historyData).forEach(tag => { +Object.keys(historyData).forEach((tag) => { if (/-rc/.test(tag)) { const mainTag = tag.replace(/-rc.*/, ''); historyData[mainTag] = historyData[mainTag] || { noMainRelease: true, prs: [], - rcs: [] + rcs: [], }; if (historyData[mainTag].noMainRelease) { historyData[mainTag].rcs.push({ tag, - prs: historyData[tag].prs + prs: historyData[tag].prs, }); } else { historyData[mainTag].prs.push(...historyData[tag].prs); @@ -132,7 +132,7 @@ const file = []; function getSummary(contributors, groupedPRs) { const summary = []; - Object.keys(groupedPRs).forEach(group => { + Object.keys(groupedPRs).forEach((group) => { if (groupedPRs[group].length) { summary.push(`${ groupedPRs[group].length } ${ SummaryNameEmoticons[group] }`); } @@ -153,7 +153,7 @@ function renderPRs(prs) { const data = []; const groupedPRs = groupPRs(prs); - Object.keys(groupedPRs).forEach(group => { + Object.keys(groupedPRs).forEach((group) => { const prs = groupedPRs[group]; if (!prs.length) { return; @@ -166,10 +166,10 @@ function renderPRs(prs) { } else { data.push(`\n${ groupName }\n`); } - prs.forEach(pr => { + prs.forEach((pr) => { let contributors = _.compact(_.difference(pr.contributors, nonContributors)) .sort() - .map(contributor => `[@${ contributor }](https://github.com/${ contributor })`) + .map((contributor) => `[@${ contributor }](https://github.com/${ contributor })`) .join(' & '); if (contributors) { @@ -184,21 +184,19 @@ function renderPRs(prs) { } }); - const contributors = _.compact(_.difference(prs.reduce((value, pr) => { - return _.unique(value.concat(pr.contributors)); - }, []), nonContributors)); + const contributors = _.compact(_.difference(prs.reduce((value, pr) => _.unique(value.concat(pr.contributors)), []), nonContributors)); if (contributors.length) { // TODO: Improve list like https://gist.github.com/paulmillr/2657075/ data.push('\n### 👩‍💻👨‍💻 Contributors 😍\n'); - contributors.sort().forEach(contributor => { + contributors.sort().forEach((contributor) => { data.push(`- [@${ contributor }](https://github.com/${ contributor })`); }); } return { data, - summary: getSummary(contributors, groupedPRs) + summary: getSummary(contributors, groupedPRs), }; } @@ -219,8 +217,8 @@ function sort(a, b) { return 0; } -Object.keys(historyData).sort(sort).forEach(tag => { - const {prs, rcs} = historyData[tag]; +Object.keys(historyData).sort(sort).forEach((tag) => { + const { prs, rcs } = historyData[tag]; if (!prs.length && !rcs.length) { return; @@ -228,7 +226,7 @@ Object.keys(historyData).sort(sort).forEach(tag => { const tagDate = tag === 'HEAD' ? getLatestCommitDate() : getTagDate(tag); - const {data, summary} = renderPRs(prs); + const { data, summary } = renderPRs(prs); const tagText = tag === 'HEAD' ? 'Next' : tag; @@ -242,8 +240,8 @@ Object.keys(historyData).sort(sort).forEach(tag => { file.push(...data); if (Array.isArray(rcs)) { - rcs.reverse().forEach(rc => { - const {data, summary} = renderPRs(rc.prs); + rcs.reverse().forEach((rc) => { + const { data, summary } = renderPRs(rc.prs); if (historyData[tag].noMainRelease) { const tagDate = getTagDate(rc.tag); diff --git a/.scripts/set-version.js b/.scripts/set-version.js index e21035ee3a99..5a7f89653fc7 100644 --- a/.scripts/set-version.js +++ b/.scripts/set-version.js @@ -4,7 +4,7 @@ const path = require('path'); const fs = require('fs'); const semver = require('semver'); const inquirer = require('inquirer'); -const execSync = require('child_process').execSync; +// const execSync = require('child_process').execSync; const git = require('simple-git/promise')(process.cwd()); let pkgJson = {}; @@ -25,33 +25,30 @@ const files = [ './.circleci/snap.sh', './.circleci/update-releases.sh', './.docker/Dockerfile', - './packages/rocketchat-lib/rocketchat.info' + './.docker/Dockerfile.rhel', + './packages/rocketchat-lib/rocketchat.info', ]; -const readFile = (file) => { - return new Promise((resolve, reject) => { - fs.readFile(file, 'utf8', (error, result) => { - if (error) { - return reject(error); - } - resolve(result); - }); +const readFile = (file) => new Promise((resolve, reject) => { + fs.readFile(file, 'utf8', (error, result) => { + if (error) { + return reject(error); + } + resolve(result); }); -}; -const writeFile = (file, data) => { - return new Promise((resolve, reject) => { - fs.writeFile(file, data, 'utf8', (error, result) => { - if (error) { - return reject(error); - } - resolve(result); - }); +}); +const writeFile = (file, data) => new Promise((resolve, reject) => { + fs.writeFile(file, data, 'utf8', (error, result) => { + if (error) { + return reject(error); + } + resolve(result); }); -}; +}); let selectedVersion; git.status() - .then(status => { + .then((status) => { if (status.current === 'release-candidate') { return semver.inc(pkgJson.version, 'prerelease', 'rc'); } @@ -63,63 +60,59 @@ git.status() } return Promise.reject(`No release action for branch ${ status.current }`); }) - .then(nextVersion => inquirer.prompt([{ + .then((nextVersion) => inquirer.prompt([{ type: 'list', message: `The current version is ${ pkgJson.version }. Update to version:`, name: 'version', choices: [ nextVersion, - 'custom' - ] + 'custom', + ], }])) - .then(answers => { + .then((answers) => { if (answers.version === 'custom') { return inquirer.prompt([{ name: 'version', - message: 'Enter your custom version:' + message: 'Enter your custom version:', }]); } return answers; }) .then(({ version }) => { selectedVersion = version; - return Promise.all(files.map(file => { - return readFile(file) - .then(data => { - return writeFile(file, data.replace(pkgJson.version, version)); - }); - })); + return Promise.all(files.map((file) => readFile(file) + .then((data) => writeFile(file, data.replace(pkgJson.version, version))))); }) - .then(() => { - execSync('conventional-changelog --config .github/changelog.js -i HISTORY.md -s'); + .then(() => + // execSync('conventional-changelog --config .github/changelog.js -i HISTORY.md -s'); - return inquirer.prompt([{ + inquirer.prompt([{ type: 'confirm', message: 'Commit files?', - name: 'commit' - }]); - }) - .then(answers => { + name: 'commit', + }]) + ) + .then((answers) => { if (!answers.commit) { return Promise.reject(answers); } return git.status(); }) - .then(status => inquirer.prompt([{ + .then((status) => inquirer.prompt([{ type: 'checkbox', message: 'Select files to commit?', name: 'files', - choices: status.files.map(file => { return {name: `${ file.working_dir } ${ file.path }`, checked: true}; }) + choices: status.files.map((file) => ({ name: `${ file.working_dir } ${ file.path }`, checked: true })), }])) - .then(answers => answers.files.length && git.add(answers.files.map(file => file.slice(2)))) + .then((answers) => answers.files.length && git.add(answers.files.map((file) => file.slice(2)))) .then(() => git.commit(`Bump version to ${ selectedVersion }`)) .then(() => inquirer.prompt([{ type: 'confirm', message: `Add tag ${ selectedVersion }?`, - name: 'tag' + name: 'tag', }])) - .then(answers => answers.tag && git.addTag(selectedVersion)) + .then((answers) => answers.tag && git.addTag(selectedVersion)) .catch((error) => { console.error(error); }); diff --git a/.scripts/start.js b/.scripts/start.js index 2d377c36bd3d..3f08b5608276 100644 --- a/.scripts/start.js +++ b/.scripts/start.js @@ -3,7 +3,7 @@ const path = require('path'); const fs = require('fs'); const extend = require('util')._extend; -const exec = require('child_process').exec; +const { exec } = require('child_process'); const processes = []; const baseDir = path.resolve(__dirname, '..'); @@ -12,8 +12,8 @@ const srcDir = path.resolve(baseDir); const appOptions = { env: { PORT: 3000, - ROOT_URL: 'http://localhost:3000' - } + ROOT_URL: 'http://localhost:3000', + }, }; function startProcess(opts, callback) { @@ -38,7 +38,7 @@ function startProcess(opts, callback) { } if (opts.logFile) { - const logStream = fs.createWriteStream(opts.logFile, {flags: 'a'}); + const logStream = fs.createWriteStream(opts.logFile, { flags: 'a' }); proc.stdout.pipe(logStream); proc.stderr.pipe(logStream); } @@ -60,8 +60,8 @@ function startApp(callback) { waitForMessage: appOptions.waitForMessage, options: { cwd: srcDir, - env: extend(appOptions.env, process.env) - } + env: extend(appOptions.env, process.env), + }, }, callback); } @@ -73,9 +73,9 @@ function startChimp() { env: Object.assign({}, process.env, { NODE_PATH: `${ process.env.NODE_PATH + path.delimiter + srcDir + - path.delimiter + srcDir }/node_modules` - }) - } + path.delimiter + srcDir }/node_modules`, + }), + }, }); } diff --git a/.snapcraft/README.md b/.snapcraft/README.md deleted file mode 100644 index f0197f2dc65b..000000000000 --- a/.snapcraft/README.md +++ /dev/null @@ -1,61 +0,0 @@ -![Rocket.Chat logo](https://rocket.chat/images/logo/logo-dark.svg?v3) - -# rocketchat-server snap for Ubuntu Core (all arch) - -Features: -* bundles ubuntu distribution specific and RC compatible mongodb version -* oplog tailing for mongo by default -* mongodb backup command -* mongodb restore command -* caddy reverse proxy built-in - capable of handling free lestencrypt ssl - -Note: - -Currently, this repository is mirrored on launchpad, and used to build latest ARMHF and i386 snaps. - -You can download recent builds here: -https://code.launchpad.net/~sing-li/+snap/rocketchat-server - -Due an issue with the existing installed base of amd64 users (existing snap always installed mongodb 3.2 [#issue](https://github.com/RocketChat/rocketchat-server-snap/issues/3)), this snap is not currently used for amd64 builds. - -### Test installation - -Download the latest snap file of the corresponding architecture to your Ubuntu Core 16 or 16.04LTS server. - -`sudo snap install ./rocketchat-server-xxxxxxxx.snap --dangerous` - - -### Development or compile your own snap - -Make sure you have `snapcraft` installed. - -``` -git clone https://github.com/RocketChat/rocketchat-server-snap -cd rocketchat-server-snap -snapcraft snap -``` - -### Regression tests (run for amd64, i386 and armhf): -- snapcraft runs properly -- snap installs properly -- all services start automatically -- rc service shows a 5-second restart delay while waiting for mongo - - to test manually, stop rc, stop mongo, start rc, wait 20s or so, start mongo -- rc can be successfully restarted via the "Restart the server" button under Admin > Settings > General -- rc service shows a 5-second delay when restarted via this button -- all commands execute successfully: - - initcaddy - - modify the Caddyfile to test: - - self-signed TLS certificate (use the "tls self_signed" caddy directive) - - changing ports (with and without TLS) - - using IP address (only works without TLS) - - successfully acquiring a Let's Encrypt certificate (requires a registered domain) - - backupdb - - should run only with sudo - - restoredb - - ideally, stop rc service prior to running this (mongo must be running) - - should run only with sudo - - use any file outside of $snap_common (should fail) - - use the file created with backupdb - - use a dummy .tgz file without actual data - - with and without a "parties" directory in the archive diff --git a/.snapcraft/resources/backupdb b/.snapcraft/resources/backupdb new file mode 100644 index 000000000000..b457d325e543 --- /dev/null +++ b/.snapcraft/resources/backupdb @@ -0,0 +1,40 @@ +#!/bin/bash + +if [[ ${EUID} != 0 ]]; then + echo "[-] This task must be run with 'sudo'." + exit 1 +fi + +if $(ps x | grep "node ${SNAP}/main.js" | grep -qv "grep"); then + echo "[-] Please shutdown Rocket.Chat first to get a clean backup" + echo "[-] Use 'sudo systemctl stop snap.rocketchat-server.rocketchat-server'" +fi + +TIMESTAMP=$(date +"%Y%m%d.%H%M") +BACKUP_DIR="${SNAP_COMMON}/backup" + +if [[ ! -d ${BACKUP_DIR} ]]; then + mkdir ${BACKUP_DIR} +fi + +if [[ -d ${BACKUP_DIR}/dump ]]; then + rm -rf ${BACKUP_DIR}/dump +fi + +if [[ -f ${BACKUP_DIR}/rocketchat_backup_${TIMESTAMP}.tar.gz ]]; then + rm -f ${BACKUP_DIR}/rocketchat_backup_${TIMESTAMP}.tar.gz +fi + +if [[ -f ${BACKUP_DIR}/backup_${TIMESTAMP}.log ]]; then + rm -f ${BACKUP_DIR}/backup_${TIMESTAMP}.log +fi + +echo "[*] Creating backup file..." +mkdir ${BACKUP_DIR}/dump +echo "[*] Dumping database with \"mongodump -d parties -o ${BACKUP_DIR}/dump\"" > "${BACKUP_DIR}/backup_${TIMESTAMP}.log" +mongodump -d parties -o ${BACKUP_DIR}/dump &>> "${BACKUP_DIR}/backup_${TIMESTAMP}.log" +echo "[*] Packing archive with \"tar czvf ${BACKUP_DIR}/rocketchat_backup_${TIMESTAMP}.tar.gz ${BACKUP_DIR}/dump\"" >> "${BACKUP_DIR}/backup_${TIMESTAMP}.log" +tar czvf ${BACKUP_DIR}/rocketchat_backup_${TIMESTAMP}.tar.gz -C ${BACKUP_DIR} dump &>> "${BACKUP_DIR}/backup_${TIMESTAMP}.log" +rm -rf ${BACKUP_DIR}/dump + +echo "[+] A backup of your data can be found at ${BACKUP_DIR}/rocketchat_backup_${TIMESTAMP}.tar.gz" diff --git a/.snapcraft/resources/prepareRocketChat b/.snapcraft/resources/prepareRocketChat index 882998b9f82a..cd653b6fcfc2 100644 --- a/.snapcraft/resources/prepareRocketChat +++ b/.snapcraft/resources/prepareRocketChat @@ -2,17 +2,26 @@ curl -SLf "https://releases.rocket.chat/#{RC_VERSION}/download/" -o rocket.chat.tgz -tar xvf rocket.chat.tgz --strip 1 +tar xf rocket.chat.tgz --strip 1 cd programs/server +rm -rf npm/node_modules/meteor/emojione_emojione/node_modules/grunt-contrib-qunit -npm install +if [[ $(uname -m) == *armv6l* ]] || [[ $(uname -m) == *armv7l* ]] +then + rm -rf npm/node_modules/sharp/vendor +fi + +export NODE_ENV=production +npm i # Ideally this will go away. For some reason on install its installing node-v57-linux-x64-glibc but when actually running it is looking for node-v57-linux-x64-unknown if [[ $(uname -m) == "x86_64" ]] then cp -r npm/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc npm/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-unknown + rm npm/node_modules/grpc/node_modules/tar/lib/.unpack.js.swp fi # sharp needs execution stack removed - https://forum.snapcraft.io/t/snap-and-executable-stacks/1812 -execstack --clear-execstack npm/node_modules/sharp/vendor/lib/librsvg-2.so.2.42.0 +ls -l npm/node_modules/sharp/vendor +execstack --clear-execstack npm/node_modules/sharp/vendor/lib/librsvg-2.so* diff --git a/.snapcraft/resources/preparecaddy b/.snapcraft/resources/preparecaddy index 850ddf2d4716..a353dbf88542 100644 --- a/.snapcraft/resources/preparecaddy +++ b/.snapcraft/resources/preparecaddy @@ -1,6 +1,6 @@ #! /bin/bash -caddy_version="v0.10.12" +caddy_version="v0.11.0" caddy_bin="caddy" caddy_dl_ext=".tar.gz" diff --git a/.snapcraft/resources/preparenode b/.snapcraft/resources/preparenode new file mode 100644 index 000000000000..f6e0c58d3cc5 --- /dev/null +++ b/.snapcraft/resources/preparenode @@ -0,0 +1,23 @@ +#!/bin/bash + +node_version="v8.11.3" + +unamem="$(uname -m)" +if [[ $unamem == *aarch64* ]]; then + node_arch="arm64" +elif [[ $unamem == *64* ]]; then + node_arch="x64" +elif [[ $unamem == *86* ]]; then + node_arch="x86" +elif [[ $unamem == *armv6l* ]]; then + node_arch="armv6l" +elif [[ $unamem == *armv7l* ]]; then + node_arch="armv7l" +else + echo "Aborted, unsupported or unknown architecture: $unamem" + return 2 +fi + + +wget https://nodejs.org/dist/$node_version/node-$node_version-linux-$node_arch.tar.xz +tar xf node-$node_version-linux-$node_arch.tar.xz --strip 1 diff --git a/.snapcraft/resources/restoredb b/.snapcraft/resources/restoredb index 0a204e837709..731cc8bbfcb0 100644 --- a/.snapcraft/resources/restoredb +++ b/.snapcraft/resources/restoredb @@ -1,72 +1,88 @@ -#! /bin/bash +#!/bin/bash -if [[ ${EUID} != 0 ]] -then +function warn { + echo "[!] ${1}" + echo "[*] Check ${RESTORE_DIR}/${LOG_NAME} for details." +} + +function abort { + echo "[!] ${1}" + echo "[*] Check ${RESTORE_DIR}/${LOG_NAME} for details." + echo "[-] Restore aborted!" + exit 1 +} + +if [[ ${EUID} != 0 ]]; then echo "[-] This task must be run with 'sudo'." - exit + exit 1 fi -backup_file=${1} -if [[ ! -f ${backup_file} ]] -then - echo "[-] Usage: snap run rocketchat-server.restoredb ${SNAP_COMMON}/backup_file.tgz" - exit +echo "*** ATTENTION ***" +echo "* Your current database WILL BE DROPPED prior to the restore!" +echo "* Do you want to continue?" + +select yn in "Yes" "No"; do + case $yn in + Yes ) break;; + No ) exit 1;; + esac +done + +if $(ps x | grep "node ${SNAP}/main.js" | grep -qv "grep"); then + echo "[-] Please shutdown Rocket.Chat first to restore a clean backup" + echo "[-] Use 'sudo systemctl stop snap.rocketchat-server.rocketchat-server'" + echo "[-] Backup aborted!" + exit 1 fi -cd ${backup_file%/*} -if [[ -z $(pwd | grep "${SNAP_COMMON}") ]] -then - echo "[-] Backup file must be within ${SNAP_COMMON}." - exit +TIMESTAMP=$(date +"%Y%m%d.%H%M") +RESTORE_DIR="${SNAP_COMMON}/restore" +DATA_DIR="${RESTORE_DIR}/dump/parties" +LOG_NAME="restore_${TIMESTAMP}.log" + +if [[ ! -d ${RESTORE_DIR} ]]; then + mkdir ${RESTORE_DIR} fi -function ask_backup { - echo -n "\ -*** ATTENTION *** -* Your current database WILL BE DROPPED prior to the restore! -* Would you like to make a backup of the current database before proceeding? -* (y/n/Q)> " - - read choice - [[ "${choice,,}" = n* ]] && return - [[ "${choice,,}" = y* ]] && backupdb && return - exit -} +if [[ -d ${RESTORE_DIR}/dump ]]; then + rm -rf ${RESTORE_DIR}/dump +fi -function warn { - echo "[!] ${1}" - echo "[*] Check ${restore_dir}/${log_name} for details." -} +if [[ -f ${RESTORE_DIR}/${LOG_NAME} ]]; then + rm -f ${RESTORE_DIR}/${LOG_NAME} +fi -function abort { - echo "[!] ${1}" - echo "[*] Check ${restore_dir}/${log_name} for details." - echo "[-] Restore aborted!" - exit -} +BACKUP_FILE=${1} +if [[ ! -f ${BACKUP_FILE} ]]; then + echo "[-] Usage: sudo snap run rocketchat-server.restoredb ${SNAP_COMMON}/rocketchat_backup_{TIMESTAMP}.tar.gz" + exit 1 +fi + +if ! $(echo "${BACKUP_FILE}" | grep -q "${SNAP_COMMON}"); then + echo "[-] Backup file must be within ${SNAP_COMMON}." + exit 1 +fi -mongo parties --eval "db.getCollectionNames()" | grep "\[ \]" >> /dev/null || ask_backup echo "[*] Extracting backup file..." -restore_dir="${SNAP_COMMON}/restore" -log_name="extraction.log" -mkdir -p ${restore_dir} -cd ${restore_dir} -tar --no-same-owner --overwrite -zxvf ${backup_file} &> "${restore_dir}/${log_name}" -[[ $? != 0 ]] && abort "Failed to extract backup files to ${restore_dir}!" +echo "[*] Extracting backup file with \"tar --no-same-owner --overwrite -xzvf ${BACKUP_FILE}\"" &> "${RESTORE_DIR}/${LOG_NAME}" +cd ${RESTORE_DIR} +tar --no-same-owner --overwrite -xzvf ${BACKUP_FILE} &>> "${RESTORE_DIR}/${LOG_NAME}" \ + || abort "Failed to extract backup files to ${RESTORE_DIR}!" + +if [ $(ls -l ${DATA_DIR} | wc -l) -le 1 ]; then + abort "No restore data found within ${DATA_DIR}!" +fi echo "[*] Restoring data..." -data_dir=$(tail "${restore_dir}/${log_name}" | grep parties/. | head -n 1) -[[ -z ${data_dir} ]] && abort "Restore data not found within ${backup_file}! - Please check that your backup file contains the backup data within the \"parties\" directory." -data_dir=$(dirname ${data_dir}) -log_name="mongorestore.log" -mongorestore --db parties --noIndexRestore --drop ${data_dir} &> "${restore_dir}/${log_name}" -[[ $? != 0 ]] && abort "Failed to execute mongorestore from ${data_dir}!" -# If mongorestore.log only has a few lines, it likely didn't find the dump files -log_lines=$(wc -l < "${restore_dir}/${log_name}") -[[ ${log_lines} -lt 24 ]] && warn "Little or no restore data found within ${backup_file}! - Please check that your backup file contains all the backup data within the \"parties\" directory." +echo "[*] Restoring data with \"mongorestore --db parties --noIndexRestore --drop ${DATA_DIR}\"" &>> "${RESTORE_DIR}/${LOG_NAME}" +mongorestore --db parties --noIndexRestore --drop ${DATA_DIR} &>> "${RESTORE_DIR}/${LOG_NAME}" \ + || abort "Failed to execute mongorestore from ${DATA_DIR}!" +if [ $(cat ${RESTORE_DIR}/${LOG_NAME} | grep $(date +%Y) | wc -l) -lt 24 ]; then + warn "Little or no data could be restored from the backup!" +fi + echo "[*] Preparing database..." -log_name="mongoprepare.log" -mongo parties --eval "db.repairDatabase()" --verbose &> "${restore_dir}/${log_name}" -[[ $? != 0 ]] && abort "Failed to prepare database for usage!" -echo "[+] Restore completed! Please restart the snap.rocketchat services to verify." +echo "[*] Preparing database with \"mongo parties --eval 'db.repairDatabase()' --verbose\"" &>> "${RESTORE_DIR}/${LOG_NAME}" +mongo parties --eval "db.repairDatabase()" --verbose &>> "${RESTORE_DIR}/${LOG_NAME}" \ + || abort "Failed to prepare database for usage!" + +echo "[+] Restore completed! Please with 'sudo systemctl restart snap.rocketchat-server.rocketchat-server' to verify." diff --git a/.snapcraft/resources/startRocketChat b/.snapcraft/resources/startRocketChat index 9963948d50bb..50d257b4515c 100644 --- a/.snapcraft/resources/startRocketChat +++ b/.snapcraft/resources/startRocketChat @@ -3,6 +3,14 @@ function start_rocketchat { echo "Checking if oplog has been enabled, and enabling if not" LC_ALL=C mongo $SNAP/bin/initreplset.js + + ## For making fonts work for sharp + export XDG_DATA_HOME=$SNAP/usr/share + + # Font Config + export FONTCONFIG_PATH=$SNAP/etc/fonts/config.d + export FONTCONFIG_FILE=$SNAP/etc/fonts/fonts.conf + export DEPLOY_METHOD=snap export NODE_ENV=production diff --git a/.snapcraft/snapcraft.yaml b/.snapcraft/snapcraft.yaml index ee09287ce2ef..50354f7afa7f 100644 --- a/.snapcraft/snapcraft.yaml +++ b/.snapcraft/snapcraft.yaml @@ -16,7 +16,7 @@ apps: rocketchat-server: command: startRocketChat daemon: simple - plugs: [network, network-bind, desktop] + plugs: [network, network-bind] rocketchat-mongo: command: startmongo daemon: simple @@ -32,14 +32,14 @@ apps: command: env LC_ALL=C restoredb plugs: [network] backupdb: - command: env LC_ALL=c rcbackup + command: env LC_ALL=C backupdb plugs: [network] initcaddy: - command: env LC_ALL=c initcaddy + command: env LC_ALL=C initcaddy parts: node: plugin: dump - prepare: wget https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.xz; tar xvf node-v8.9.4-linux-x64.tar.xz --strip 1; + prepare: ./resources/preparenode build-packages: # For fibers - python @@ -54,10 +54,13 @@ parts: source: . stage-packages: - execstack + - fontconfig-config stage: - programs - main.js - .node_version.txt + - etc + - usr mongodb: build-packages: - wget @@ -74,7 +77,7 @@ parts: plugin: dump source: resources/ organize: - rcbackup: bin/rcbackup + backupdb: bin/backupdb restoredb: bin/restoredb startmongo: bin/startmongo startRocketChat: bin/startRocketChat diff --git a/.travis/snap.sh b/.travis/snap.sh index c8a57fb46834..52298eafea37 100644 --- a/.travis/snap.sh +++ b/.travis/snap.sh @@ -17,7 +17,7 @@ elif [[ $TRAVIS_TAG ]]; then RC_VERSION=$TRAVIS_TAG else CHANNEL=edge - RC_VERSION=0.64.0-develop + RC_VERSION=0.70.0-develop fi echo "Preparing to trigger a snap release for $CHANNEL channel" diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000000..05ddc20b9795 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,88 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Attach to meteor debug", + "type": "node", + "request": "attach", + "port": 9229, + "address": "localhost", + "restart": false, + "sourceMaps": true, + "sourceMapPathOverrides": { + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + }, + "protocol": "inspector" + }, + { + "type": "chrome", + "request": "launch", + "name": "Frontend (Chrome)", + "url": "http://localhost:3000", + "webRoot": "${workspaceFolder}", + "sourceMapPathOverrides": { + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + } + }, + { + "type": "node", + "request": "launch", + "name": "Server (debug)", + "runtimeExecutable": "npm", + "runtimeArgs": [ + "run", + "debug" + ], + "port": 9229, + "timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe + "sourceMapPathOverrides": { + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + }, + "protocol": "inspector" + }, + { + "type": "node", + "request": "launch", + "name": "Server (debug-brk)", + "runtimeExecutable": "npm", + "runtimeArgs": [ + "run", + "debug-brk" + ], + "port": 9229, + "timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe + "sourceMapPathOverrides": { + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + }, + "protocol": "inspector" + }, + { + "type": "node", + "request": "launch", + "name": "Server (Testmode)", + "runtimeExecutable": "npm", + "runtimeArgs": [ + "run", + "debug" + ], + "port": 9229, + "timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe + "sourceMapPathOverrides": { + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + }, + "env": { + "TEST_MODE": "true" + }, + "protocol": "inspector" + } + ], + "compounds": [ + { + "name": "Server + Frontend", + "configurations": [ + "Server (debug-brk)", + "Frontend (Chrome)" + ] + } + ] +} diff --git a/HISTORY.md b/HISTORY.md index b8e5bd88c566..dc3dd24dfb56 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,18 +1,1187 @@ - -# 0.64.0-develop (2018-04-07) +<<<<<<< HEAD // Saved as CRLF in the repo +======= +# 0.69.1 +`2018-08-31 · 4 🐛 · 2 👩‍💻👨‍💻` -# 0.63.1 -`2018-04-07 · 5 🐛 · 3 👩‍💻👨‍💻` +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- Hipchat import was failing when importing messages from a non existent user ([#11892](https://github.com/RocketChat/Rocket.Chat/pull/11892)) +- Hipchat importer was not importing users without emails and uploaded files ([#11910](https://github.com/RocketChat/Rocket.Chat/pull/11910)) +- App updates were not being shown correctly ([#11893](https://github.com/RocketChat/Rocket.Chat/pull/11893)) +- Duplicated message buttons ([#11853](https://github.com/RocketChat/Rocket.Chat/pull/11853) by [@ubarsaiyan](https://github.com/ubarsaiyan)) + +### 👩‍💻👨‍💻 Contributors 😍 + +- [@ubarsaiyan](https://github.com/ubarsaiyan) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@rodrigok](https://github.com/rodrigok) + +# 0.69.0 +`2018-08-28 · 10 🎉 · 8 🚀 · 35 🐛 · 13 🔍 · 25 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🎉 New features + +- Beta support for Big Blue Button video conferencing system ([#11837](https://github.com/RocketChat/Rocket.Chat/pull/11837)) +- Slackbridge: send attachment notifications ([#10269](https://github.com/RocketChat/Rocket.Chat/pull/10269) by [@kable-wilmoth](https://github.com/kable-wilmoth)) +- Personal access tokens for users to create API tokens ([#11638](https://github.com/RocketChat/Rocket.Chat/pull/11638)) +- REST endpoint to manage server assets ([#11697](https://github.com/RocketChat/Rocket.Chat/pull/11697)) +- Setting to enable/disable slack bridge reactions ([#10217](https://github.com/RocketChat/Rocket.Chat/pull/10217) by [@kable-wilmoth](https://github.com/kable-wilmoth)) +- Rich message text and image buttons ([#11473](https://github.com/RocketChat/Rocket.Chat/pull/11473) by [@ubarsaiyan](https://github.com/ubarsaiyan)) +- Setting to block unauthenticated access to avatars ([#9749](https://github.com/RocketChat/Rocket.Chat/pull/9749)) +- Setting to set a JS/CSS CDN ([#11779](https://github.com/RocketChat/Rocket.Chat/pull/11779)) +- Make font of unread items bolder for better contrast ([#8602](https://github.com/RocketChat/Rocket.Chat/pull/8602) by [@ausminternet](https://github.com/ausminternet)) +- Internal marketplace for apps ([#11864](https://github.com/RocketChat/Rocket.Chat/pull/11864) by [@gdelavald](https://github.com/gdelavald)) + +### 🚀 Improvements + +- Start storing Livechat department within rooms ([#11733](https://github.com/RocketChat/Rocket.Chat/pull/11733)) +- Escape parameters before send them to email template ([#11644](https://github.com/RocketChat/Rocket.Chat/pull/11644)) +- Warn about push settings that need server restart ([#11784](https://github.com/RocketChat/Rocket.Chat/pull/11784)) +- Role tag UI ([#11674](https://github.com/RocketChat/Rocket.Chat/pull/11674)) +- Messagebox fix performance ([#11686](https://github.com/RocketChat/Rocket.Chat/pull/11686)) +- Add template tag #{userdn} to filter LDAP group member format ([#11662](https://github.com/RocketChat/Rocket.Chat/pull/11662) by [@crazy-max](https://github.com/crazy-max)) +- Add nyan rocket on Rocket.Chat preview Docker image ([#11684](https://github.com/RocketChat/Rocket.Chat/pull/11684)) +- Reducing `saveUser` code complexity ([#11645](https://github.com/RocketChat/Rocket.Chat/pull/11645)) + +### 🐛 Bug fixes + +- Delete removed user's subscriptions ([#10700](https://github.com/RocketChat/Rocket.Chat/pull/10700)) +- LiveChat switch department not working ([#11011](https://github.com/RocketChat/Rocket.Chat/pull/11011)) +- Some assets were pointing to nonexistent path ([#11796](https://github.com/RocketChat/Rocket.Chat/pull/11796)) +- Revoked `view-d-room` permission logics ([#11522](https://github.com/RocketChat/Rocket.Chat/pull/11522)) +- REST `im.members` endpoint not working without sort parameter ([#11821](https://github.com/RocketChat/Rocket.Chat/pull/11821)) +- Livechat rooms starting with two unread message counter ([#11834](https://github.com/RocketChat/Rocket.Chat/pull/11834)) +- Results pagination on /directory REST endpoint ([#11551](https://github.com/RocketChat/Rocket.Chat/pull/11551)) +- re-adding margin to menu icon on header ([#11778](https://github.com/RocketChat/Rocket.Chat/pull/11778)) +- minor fixes in hungarian i18n ([#11797](https://github.com/RocketChat/Rocket.Chat/pull/11797) by [@Atisom](https://github.com/Atisom)) +- permissions name no break ([#11836](https://github.com/RocketChat/Rocket.Chat/pull/11836)) +- Searching by `undefined` via REST when using `query` param ([#11657](https://github.com/RocketChat/Rocket.Chat/pull/11657)) +- Fix permalink of message when running system with subdir ([#11781](https://github.com/RocketChat/Rocket.Chat/pull/11781) by [@ura14h](https://github.com/ura14h)) +- Fix links in `onTableItemClick` of the directroy page ([#11543](https://github.com/RocketChat/Rocket.Chat/pull/11543) by [@ura14h](https://github.com/ura14h)) +- App's i18nAlert is only being displayed as "i18nAlert" ([#11802](https://github.com/RocketChat/Rocket.Chat/pull/11802)) +- Removed hardcoded values. ([#11627](https://github.com/RocketChat/Rocket.Chat/pull/11627)) +- SAML is flooding logfile ([#11643](https://github.com/RocketChat/Rocket.Chat/pull/11643)) +- directory search table not clickable lines ([#11809](https://github.com/RocketChat/Rocket.Chat/pull/11809)) +- REST endpoints to update user not respecting some settings ([#11474](https://github.com/RocketChat/Rocket.Chat/pull/11474)) +- Apply Cordova fix in lazy-loaded images sources ([#11807](https://github.com/RocketChat/Rocket.Chat/pull/11807)) +- Cannot set property 'input' of undefined ([#11775](https://github.com/RocketChat/Rocket.Chat/pull/11775)) +- Missing twitter:image and og:image tags ([#11687](https://github.com/RocketChat/Rocket.Chat/pull/11687)) +- Return room ID for groups where user joined ([#11703](https://github.com/RocketChat/Rocket.Chat/pull/11703)) +- "User is typing" not working in new Livechat session ([#11670](https://github.com/RocketChat/Rocket.Chat/pull/11670)) +- wrong create date of channels and users on directory view ([#11682](https://github.com/RocketChat/Rocket.Chat/pull/11682) by [@gsperezb](https://github.com/gsperezb)) +- Escape meta data before inject in head tag ([#11730](https://github.com/RocketChat/Rocket.Chat/pull/11730)) +- minor fixes in i18n ([#11761](https://github.com/RocketChat/Rocket.Chat/pull/11761) by [@Atisom](https://github.com/Atisom)) +- Code tag duplicating characters ([#11467](https://github.com/RocketChat/Rocket.Chat/pull/11467) by [@vynmera](https://github.com/vynmera)) +- Custom sound uploader not working in Firefox and IE ([#11139](https://github.com/RocketChat/Rocket.Chat/pull/11139) by [@vynmera](https://github.com/vynmera)) +- Fixing timeAgo function on directory ([#11728](https://github.com/RocketChat/Rocket.Chat/pull/11728)) +- Render Attachment Pretext When Markdown Specified ([#11578](https://github.com/RocketChat/Rocket.Chat/pull/11578) by [@glstewart17](https://github.com/glstewart17)) +- Message attachments was not respecting sort and lost spacing ([#11740](https://github.com/RocketChat/Rocket.Chat/pull/11740)) +- Closed connections being storing on db ([#11709](https://github.com/RocketChat/Rocket.Chat/pull/11709)) +- Login logo now centered on small screens ([#11626](https://github.com/RocketChat/Rocket.Chat/pull/11626) by [@wreiske](https://github.com/wreiske)) +- Push notifications stuck after db failure ([#11667](https://github.com/RocketChat/Rocket.Chat/pull/11667)) +- Translations were not unique per app allowing conflicts among apps ([#11878](https://github.com/RocketChat/Rocket.Chat/pull/11878)) + +
+🔍 Minor changes + +- Release 0.68.5 ([#11852](https://github.com/RocketChat/Rocket.Chat/pull/11852)) +- Release 0.68.5 ([#11852](https://github.com/RocketChat/Rocket.Chat/pull/11852)) +- Fixed deutsch message pruning translations ([#11691](https://github.com/RocketChat/Rocket.Chat/pull/11691) by [@TheReal1604](https://github.com/TheReal1604)) +- Fixed the Finnish translation and removed some profanities ([#11794](https://github.com/RocketChat/Rocket.Chat/pull/11794) by [@jukper](https://github.com/jukper)) +- LingoHub based on develop ([#11838](https://github.com/RocketChat/Rocket.Chat/pull/11838)) +- Regression: Fix livechat code issues after new lint rules ([#11814](https://github.com/RocketChat/Rocket.Chat/pull/11814)) +- Do not remove package-lock.json of livechat package ([#11816](https://github.com/RocketChat/Rocket.Chat/pull/11816)) +- Run eslint and unit tests on pre-push hook ([#11815](https://github.com/RocketChat/Rocket.Chat/pull/11815)) +- Additional eslint rules ([#11804](https://github.com/RocketChat/Rocket.Chat/pull/11804)) +- Add new eslint rules (automatically fixed) ([#11800](https://github.com/RocketChat/Rocket.Chat/pull/11800)) +- Merge master into develop & Set version to 0.69.0-develop ([#11606](https://github.com/RocketChat/Rocket.Chat/pull/11606)) +- App engine merge ([#11835](https://github.com/RocketChat/Rocket.Chat/pull/11835)) +- Regression: role tag background, unread item font and message box autogrow ([#11861](https://github.com/RocketChat/Rocket.Chat/pull/11861)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@Atisom](https://github.com/Atisom) +- [@TheReal1604](https://github.com/TheReal1604) +- [@ausminternet](https://github.com/ausminternet) +- [@crazy-max](https://github.com/crazy-max) +- [@gdelavald](https://github.com/gdelavald) +- [@glstewart17](https://github.com/glstewart17) +- [@gsperezb](https://github.com/gsperezb) +- [@jukper](https://github.com/jukper) +- [@kable-wilmoth](https://github.com/kable-wilmoth) +- [@ubarsaiyan](https://github.com/ubarsaiyan) +- [@ura14h](https://github.com/ura14h) +- [@vynmera](https://github.com/vynmera) +- [@wreiske](https://github.com/wreiske) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@rssilva](https://github.com/rssilva) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) +- [@timkinnane](https://github.com/timkinnane) + +# 0.68.5 +`2018-08-23 · 1 🐛 · 1 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- Livechat open room method ([#11830](https://github.com/RocketChat/Rocket.Chat/pull/11830)) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@renatobecker](https://github.com/renatobecker) + +# 0.68.4 +`2018-08-10 · 3 🐛 · 3 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- Default server language not being applied ([#11719](https://github.com/RocketChat/Rocket.Chat/pull/11719)) +- Broken logo on setup wizard ([#11708](https://github.com/RocketChat/Rocket.Chat/pull/11708)) +- Regression in prune by user, and update lastMessage ([#11646](https://github.com/RocketChat/Rocket.Chat/pull/11646) by [@vynmera](https://github.com/vynmera)) + +### 👩‍💻👨‍💻 Contributors 😍 + +- [@vynmera](https://github.com/vynmera) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@ggazzo](https://github.com/ggazzo) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.68.3 +`2018-08-01 · 5 🐛 · 1 🔍 · 4 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- Missing chat history for users without permission `preview-c-room` ([#11639](https://github.com/RocketChat/Rocket.Chat/pull/11639)) +- User info APIs not returning customFields correctly ([#11625](https://github.com/RocketChat/Rocket.Chat/pull/11625)) +- Prune translations in German ([#11631](https://github.com/RocketChat/Rocket.Chat/pull/11631) by [@rndmh3ro](https://github.com/rndmh3ro)) +- Prune translation on room info panel ([#11635](https://github.com/RocketChat/Rocket.Chat/pull/11635)) +- SAML login not working when user has multiple emails ([#11642](https://github.com/RocketChat/Rocket.Chat/pull/11642)) + +
+🔍 Minor changes + +- Release 0.68.3 ([#11650](https://github.com/RocketChat/Rocket.Chat/pull/11650) by [@rndmh3ro](https://github.com/rndmh3ro)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@rndmh3ro](https://github.com/rndmh3ro) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.68.2 +`2018-07-31 · 1 🐛 · 1 🔍 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- Incorrect migration version in v130.js ([#11544](https://github.com/RocketChat/Rocket.Chat/pull/11544) by [@c0dzilla](https://github.com/c0dzilla)) + +
+🔍 Minor changes + +- Release 0.68.2 ([#11630](https://github.com/RocketChat/Rocket.Chat/pull/11630) by [@c0dzilla](https://github.com/c0dzilla)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@c0dzilla](https://github.com/c0dzilla) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.68.1 +`2018-07-31 · 2 🐛 · 1 🔍 · 4 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- `Jump to message` search result action ([#11613](https://github.com/RocketChat/Rocket.Chat/pull/11613)) +- HipChat importer wasn’t compatible with latest exports ([#11597](https://github.com/RocketChat/Rocket.Chat/pull/11597)) + +
+🔍 Minor changes + +- Release 0.68.1 ([#11616](https://github.com/RocketChat/Rocket.Chat/pull/11616)) + +
+ +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@engelgabriel](https://github.com/engelgabriel) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.68.0 +`2018-07-27 · 2 ️️️⚠️ · 13 🎉 · 3 🚀 · 23 🐛 · 10 🔍 · 21 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### ⚠️ BREAKING CHANGES + +- Remove deprecated /user.roles endpoint ([#11493](https://github.com/RocketChat/Rocket.Chat/pull/11493)) +- Update GraphQL dependencies ([#11430](https://github.com/RocketChat/Rocket.Chat/pull/11430)) + +### 🎉 New features + +- Setting to disable 2FA globally ([#11328](https://github.com/RocketChat/Rocket.Chat/pull/11328)) +- Add /users.deleteOwnAccount REST endpoint to an user delete his own account ([#11488](https://github.com/RocketChat/Rocket.Chat/pull/11488)) +- Add /roles.list REST endpoint to retrieve all server roles ([#11500](https://github.com/RocketChat/Rocket.Chat/pull/11500)) +- Message retention policy and pruning ([#11236](https://github.com/RocketChat/Rocket.Chat/pull/11236) by [@vynmera](https://github.com/vynmera)) +- Send user status to client ([#11303](https://github.com/RocketChat/Rocket.Chat/pull/11303) by [@HappyTobi](https://github.com/HappyTobi)) +- Room files search form ([#11486](https://github.com/RocketChat/Rocket.Chat/pull/11486)) +- search only default tone emoji Popup search ([#10017](https://github.com/RocketChat/Rocket.Chat/pull/10017) by [@Joe-mcgee](https://github.com/Joe-mcgee)) +- Privacy for custom user fields ([#11332](https://github.com/RocketChat/Rocket.Chat/pull/11332) by [@vynmera](https://github.com/vynmera)) +- Replaced old logo with the new ones ([#11491](https://github.com/RocketChat/Rocket.Chat/pull/11491)) +- Sorting channels by number of users in directory ([#9972](https://github.com/RocketChat/Rocket.Chat/pull/9972) by [@arungalva](https://github.com/arungalva)) +- Make WebRTC not enabled by default ([#11489](https://github.com/RocketChat/Rocket.Chat/pull/11489)) +- Accept resumeToken as query param to log in ([#11443](https://github.com/RocketChat/Rocket.Chat/pull/11443)) +- Livechat File Upload ([#10514](https://github.com/RocketChat/Rocket.Chat/pull/10514)) + +### 🚀 Improvements + +- Set default max upload size to 100mb ([#11327](https://github.com/RocketChat/Rocket.Chat/pull/11327)) +- Typing indicators now use Real Names ([#11164](https://github.com/RocketChat/Rocket.Chat/pull/11164) by [@vynmera](https://github.com/vynmera)) +- Allow markdown in room topic, announcement, and description including single quotes ([#11408](https://github.com/RocketChat/Rocket.Chat/pull/11408)) + +### 🐛 Bug fixes + +- New favicons size too small ([#11524](https://github.com/RocketChat/Rocket.Chat/pull/11524)) +- Render reply preview with message as a common message ([#11534](https://github.com/RocketChat/Rocket.Chat/pull/11534)) +- Unreads counter for new rooms on /channels.counters REST endpoint ([#11531](https://github.com/RocketChat/Rocket.Chat/pull/11531)) +- Marked parser breaking announcements and mentions at the start of messages ([#11357](https://github.com/RocketChat/Rocket.Chat/pull/11357) by [@vynmera](https://github.com/vynmera)) +- Send Livechat back to Guest Pool ([#10731](https://github.com/RocketChat/Rocket.Chat/pull/10731)) +- Add customFields property to /me REST endpoint response ([#11496](https://github.com/RocketChat/Rocket.Chat/pull/11496)) +- Invalid permalink URLs for Direct Messages ([#11507](https://github.com/RocketChat/Rocket.Chat/pull/11507)) +- Unlimited upload file size not working ([#11471](https://github.com/RocketChat/Rocket.Chat/pull/11471)) +- Mixed case channel slugs ([#9449](https://github.com/RocketChat/Rocket.Chat/pull/9449) by [@soundstorm](https://github.com/soundstorm)) +- SAML issues ([#11135](https://github.com/RocketChat/Rocket.Chat/pull/11135) by [@arminfelder](https://github.com/arminfelder)) +- Loading and setting fixes for i18n and RTL ([#11363](https://github.com/RocketChat/Rocket.Chat/pull/11363)) +- Check for channels property on message object before parsing mentions ([#11527](https://github.com/RocketChat/Rocket.Chat/pull/11527)) +- empty blockquote ([#11526](https://github.com/RocketChat/Rocket.Chat/pull/11526)) +- Snap font issue for sharp ([#11514](https://github.com/RocketChat/Rocket.Chat/pull/11514)) +- RocketChat.settings.get causing memory leak (sometimes) ([#11487](https://github.com/RocketChat/Rocket.Chat/pull/11487)) +- Refinements in message popup mentions ([#11441](https://github.com/RocketChat/Rocket.Chat/pull/11441)) +- Decrease room leader bar z-index ([#11450](https://github.com/RocketChat/Rocket.Chat/pull/11450)) +- Remove title attribute from sidebar items ([#11298](https://github.com/RocketChat/Rocket.Chat/pull/11298)) +- Only escape HTML from details in toast error messages ([#11459](https://github.com/RocketChat/Rocket.Chat/pull/11459)) +- broadcast channel reply ([#11462](https://github.com/RocketChat/Rocket.Chat/pull/11462)) +- Fixed svg for older chrome browsers bug #11414 ([#11416](https://github.com/RocketChat/Rocket.Chat/pull/11416) by [@tpDBL](https://github.com/tpDBL)) +- Wrap custom fields in user profile to new line ([#10119](https://github.com/RocketChat/Rocket.Chat/pull/10119) by [@PhpXp](https://github.com/PhpXp)) +- Record popup ([#11349](https://github.com/RocketChat/Rocket.Chat/pull/11349)) + +
+🔍 Minor changes + +- Revert: Mixed case channel slugs #9449 ([#11537](https://github.com/RocketChat/Rocket.Chat/pull/11537)) +- Merge master into develop & Set version to 0.68.0-develop ([#11536](https://github.com/RocketChat/Rocket.Chat/pull/11536)) +- Regression: Add missing LiveChat permission to allow removing closed rooms ([#11423](https://github.com/RocketChat/Rocket.Chat/pull/11423)) +- Update release issue template to use Houston CLI ([#11499](https://github.com/RocketChat/Rocket.Chat/pull/11499)) +- Regression: Remove safe area margins from logos ([#11508](https://github.com/RocketChat/Rocket.Chat/pull/11508)) +- Regression: Update cachedCollection version ([#11561](https://github.com/RocketChat/Rocket.Chat/pull/11561)) +- Regression: nonReactive to nonreactive ([#11550](https://github.com/RocketChat/Rocket.Chat/pull/11550)) +- LingoHub based on develop ([#11587](https://github.com/RocketChat/Rocket.Chat/pull/11587)) +- Regression: Make message popup user mentions reactive again ([#11567](https://github.com/RocketChat/Rocket.Chat/pull/11567)) +- Regression: Fix purge message's translations ([#11590](https://github.com/RocketChat/Rocket.Chat/pull/11590)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@HappyTobi](https://github.com/HappyTobi) +- [@Joe-mcgee](https://github.com/Joe-mcgee) +- [@PhpXp](https://github.com/PhpXp) +- [@arminfelder](https://github.com/arminfelder) +- [@arungalva](https://github.com/arungalva) +- [@soundstorm](https://github.com/soundstorm) +- [@tpDBL](https://github.com/tpDBL) +- [@vynmera](https://github.com/vynmera) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@brunosquadros](https://github.com/brunosquadros) +- [@cardoso](https://github.com/cardoso) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@karlprieb](https://github.com/karlprieb) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.67.0 +`2018-07-20 · 1 ️️️⚠️ · 1 🎉 · 1 🚀 · 6 🐛 · 5 🔍 · 11 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### ⚠️ BREAKING CHANGES + +- Remove cache layer and internal calculated property `room.usernames` ([#10749](https://github.com/RocketChat/Rocket.Chat/pull/10749)) + +### 🎉 New features + +- Additional Livechat iFrame API's ([#10918](https://github.com/RocketChat/Rocket.Chat/pull/10918)) + +### 🚀 Improvements + +- Stop sort callbacks on run ([#11330](https://github.com/RocketChat/Rocket.Chat/pull/11330)) + +### 🐛 Bug fixes + +- sort fname sidenav ([#11358](https://github.com/RocketChat/Rocket.Chat/pull/11358)) +- SVG icons code ([#11319](https://github.com/RocketChat/Rocket.Chat/pull/11319)) +- Message popup responsiveness in slash commands ([#11313](https://github.com/RocketChat/Rocket.Chat/pull/11313)) +- web app manifest errors as reported by Chrome DevTools ([#9991](https://github.com/RocketChat/Rocket.Chat/pull/9991) by [@justinribeiro](https://github.com/justinribeiro)) +- Message attachment's fields with different sizes ([#11342](https://github.com/RocketChat/Rocket.Chat/pull/11342)) +- Parse inline code without space before initial backtick ([#9754](https://github.com/RocketChat/Rocket.Chat/pull/9754) by [@c0dzilla](https://github.com/c0dzilla) & [@gdelavald](https://github.com/gdelavald)) + +
+🔍 Minor changes + +- Fix dependency issue in redhat image ([#11497](https://github.com/RocketChat/Rocket.Chat/pull/11497)) +- Merge master into develop & Set version to 0.67.0-develop ([#11417](https://github.com/RocketChat/Rocket.Chat/pull/11417)) +- Merge master into develop & Set version to 0.67.0-develop ([#11399](https://github.com/RocketChat/Rocket.Chat/pull/11399)) +- Merge master into develop & Set version to 0.67.0-develop ([#11348](https://github.com/RocketChat/Rocket.Chat/pull/11348) by [@gdelavald](https://github.com/gdelavald)) +- Merge master into develop & Set version to 0.67.0-develop ([#11290](https://github.com/RocketChat/Rocket.Chat/pull/11290)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@c0dzilla](https://github.com/c0dzilla) +- [@gdelavald](https://github.com/gdelavald) +- [@justinribeiro](https://github.com/justinribeiro) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.66.3 +`2018-07-09 · 2 🐛 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- All messages notifications via email were sent as mention alert ([#11398](https://github.com/RocketChat/Rocket.Chat/pull/11398)) +- Livechat taking inquiry leading to 404 page ([#11406](https://github.com/RocketChat/Rocket.Chat/pull/11406)) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) + +# 0.66.2 +`2018-07-06 · 2 🐛 · 2 🔍 · 4 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- Remove file snap store doesn't like ([#11365](https://github.com/RocketChat/Rocket.Chat/pull/11365)) +- Livechat not sending desktop notifications ([#11266](https://github.com/RocketChat/Rocket.Chat/pull/11266)) + +
+🔍 Minor changes + +- Send setting Allow_Marketing_Emails to statistics collector ([#11359](https://github.com/RocketChat/Rocket.Chat/pull/11359)) +- Regression: Fix migration 125 checking for settings field ([#11364](https://github.com/RocketChat/Rocket.Chat/pull/11364)) + +
+ +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.66.1 +`2018-07-04 · 1 🚀 · 5 🐛 · 6 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🚀 Improvements + +- Setup Wizard username validation, step progress and optin/optout ([#11254](https://github.com/RocketChat/Rocket.Chat/pull/11254)) + +### 🐛 Bug fixes + +- Some updates were returning errors when based on queries with position operators ([#11335](https://github.com/RocketChat/Rocket.Chat/pull/11335)) +- SAML attributes with periods are not properly read. ([#11315](https://github.com/RocketChat/Rocket.Chat/pull/11315)) +- Outgoing integrations were stopping the oplog tailing sometimes ([#11333](https://github.com/RocketChat/Rocket.Chat/pull/11333)) +- Livestream muted when audio only option was enabled ([#11267](https://github.com/RocketChat/Rocket.Chat/pull/11267) by [@gdelavald](https://github.com/gdelavald)) +- Notification preferences being lost when switching view mode ([#11295](https://github.com/RocketChat/Rocket.Chat/pull/11295)) + +### 👩‍💻👨‍💻 Contributors 😍 + +- [@gdelavald](https://github.com/gdelavald) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@ggazzo](https://github.com/ggazzo) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.66.0 +`2018-06-27 · 1 ️️️⚠️ · 23 🎉 · 3 🚀 · 55 🐛 · 47 🔍 · 45 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### ⚠️ BREAKING CHANGES + +- Always remove the field `services` from user data responses in REST API ([#10799](https://github.com/RocketChat/Rocket.Chat/pull/10799)) + +### 🎉 New features + +- Youtube Broadcasting ([#10127](https://github.com/RocketChat/Rocket.Chat/pull/10127) by [@gdelavald](https://github.com/gdelavald)) +- REST API endpoints `permissions.list` and `permissions.update`. Deprecated endpoint `permissions` ([#10975](https://github.com/RocketChat/Rocket.Chat/pull/10975) by [@vynmera](https://github.com/vynmera)) +- REST API endpoint `channels.setDefault` ([#10941](https://github.com/RocketChat/Rocket.Chat/pull/10941) by [@vynmera](https://github.com/vynmera)) +- Set Document Domain property in IFrame ([#9751](https://github.com/RocketChat/Rocket.Chat/pull/9751) by [@kb0304](https://github.com/kb0304)) +- Custom login wallpapers ([#11025](https://github.com/RocketChat/Rocket.Chat/pull/11025) by [@vynmera](https://github.com/vynmera)) +- Support for dynamic slack and rocket.chat channels ([#10205](https://github.com/RocketChat/Rocket.Chat/pull/10205) by [@kable-wilmoth](https://github.com/kable-wilmoth)) +- Add prometheus port config ([#11115](https://github.com/RocketChat/Rocket.Chat/pull/11115) by [@brylie](https://github.com/brylie) & [@stuartpb](https://github.com/stuartpb) & [@thaiphv](https://github.com/thaiphv)) +- Button to remove closed LiveChat rooms ([#10301](https://github.com/RocketChat/Rocket.Chat/pull/10301)) +- Update katex to v0.9.0 ([#8402](https://github.com/RocketChat/Rocket.Chat/pull/8402) by [@pitamar](https://github.com/pitamar)) +- WebDAV(Nextcloud/ownCloud) Storage Server Option ([#11027](https://github.com/RocketChat/Rocket.Chat/pull/11027) by [@karakayasemi](https://github.com/karakayasemi)) +- Don't ask me again checkbox on hide room modal ([#10973](https://github.com/RocketChat/Rocket.Chat/pull/10973)) +- Add input to set time for avatar cache control ([#10958](https://github.com/RocketChat/Rocket.Chat/pull/10958)) +- Command /hide to hide channels ([#10727](https://github.com/RocketChat/Rocket.Chat/pull/10727) by [@mikaelmello](https://github.com/mikaelmello)) +- Do not wait method calls response on websocket before next method call ([#11087](https://github.com/RocketChat/Rocket.Chat/pull/11087)) +- Disconnect users from websocket when away from the login screen for 10min ([#11086](https://github.com/RocketChat/Rocket.Chat/pull/11086)) +- Reduce the amount of DDP API calls on login screen ([#11083](https://github.com/RocketChat/Rocket.Chat/pull/11083)) +- Option to trace Methods and Subscription calls ([#11085](https://github.com/RocketChat/Rocket.Chat/pull/11085)) +- Replace variable 'mergeChannels' with 'groupByType'. ([#10954](https://github.com/RocketChat/Rocket.Chat/pull/10954) by [@mikaelmello](https://github.com/mikaelmello)) +- Send LiveChat visitor navigation history as messages ([#10091](https://github.com/RocketChat/Rocket.Chat/pull/10091)) +- Make supplying an AWS access key and secret optional for S3 uploads ([#10673](https://github.com/RocketChat/Rocket.Chat/pull/10673) by [@saplla](https://github.com/saplla)) +- Direct Reply: separate Reply-To email from account username field ([#10988](https://github.com/RocketChat/Rocket.Chat/pull/10988) by [@pkgodara](https://github.com/pkgodara)) +- Changes all 'mergeChannels' to 'groupByType'. ([#10055](https://github.com/RocketChat/Rocket.Chat/pull/10055) by [@mikaelmello](https://github.com/mikaelmello)) +- Update WeDeploy deployment ([#10841](https://github.com/RocketChat/Rocket.Chat/pull/10841) by [@jonnilundy](https://github.com/jonnilundy)) + +### 🚀 Improvements + +- Listing of apps in the admin page ([#11166](https://github.com/RocketChat/Rocket.Chat/pull/11166) by [@gdelavald](https://github.com/gdelavald)) +- UI design for Tables and tabs component on Directory ([#11026](https://github.com/RocketChat/Rocket.Chat/pull/11026)) +- User mentions ([#11001](https://github.com/RocketChat/Rocket.Chat/pull/11001) by [@vynmera](https://github.com/vynmera)) + +### 🐛 Bug fixes + +- Wordpress oauth configuration not loading properly ([#11187](https://github.com/RocketChat/Rocket.Chat/pull/11187)) +- REST API: Add more test cases for `/login` ([#10999](https://github.com/RocketChat/Rocket.Chat/pull/10999)) +- Wrong font-family order ([#11191](https://github.com/RocketChat/Rocket.Chat/pull/11191) by [@myfonj](https://github.com/myfonj)) +- REST endpoint `users.updateOwnBasicInfo` was not returning errors for invalid names and trying to save custom fields when empty ([#11204](https://github.com/RocketChat/Rocket.Chat/pull/11204)) +- Livechat visitor not being prompted for transcript when himself is closing the chat ([#10767](https://github.com/RocketChat/Rocket.Chat/pull/10767)) +- HipChat Cloud import fails to import rooms ([#11188](https://github.com/RocketChat/Rocket.Chat/pull/11188)) +- Failure to download user data ([#11190](https://github.com/RocketChat/Rocket.Chat/pull/11190)) +- Add parameter to REST chat.react endpoint, to make it work like a setter ([#10447](https://github.com/RocketChat/Rocket.Chat/pull/10447)) +- Default selected language ([#11150](https://github.com/RocketChat/Rocket.Chat/pull/11150)) +- Rendering of emails and mentions in messages ([#11165](https://github.com/RocketChat/Rocket.Chat/pull/11165)) +- Livechat icon with status ([#11177](https://github.com/RocketChat/Rocket.Chat/pull/11177)) +- remove sidebar on embedded view ([#11183](https://github.com/RocketChat/Rocket.Chat/pull/11183)) +- Missing language constants ([#11173](https://github.com/RocketChat/Rocket.Chat/pull/11173) by [@rw4lll](https://github.com/rw4lll)) +- Room creation error due absence of subscriptions ([#11178](https://github.com/RocketChat/Rocket.Chat/pull/11178)) +- Remove failed upload messages when switching rooms ([#11132](https://github.com/RocketChat/Rocket.Chat/pull/11132)) +- Wordpress OAuth not providing enough info to log in ([#11152](https://github.com/RocketChat/Rocket.Chat/pull/11152)) +- /groups.invite not allow a user to invite even with permission ([#11010](https://github.com/RocketChat/Rocket.Chat/pull/11010)) +- Various lang fixes [RU] ([#10095](https://github.com/RocketChat/Rocket.Chat/pull/10095) by [@rw4lll](https://github.com/rw4lll)) +- set-toolbar-items postMessage ([#11109](https://github.com/RocketChat/Rocket.Chat/pull/11109)) +- title and value attachments are optionals on sendMessage method ([#11021](https://github.com/RocketChat/Rocket.Chat/pull/11021)) +- Some typos in the error message names ([#11136](https://github.com/RocketChat/Rocket.Chat/pull/11136) by [@vynmera](https://github.com/vynmera)) +- open conversation from room info ([#11050](https://github.com/RocketChat/Rocket.Chat/pull/11050)) +- Users model was not receiving options ([#11129](https://github.com/RocketChat/Rocket.Chat/pull/11129)) +- Popover position ([#11113](https://github.com/RocketChat/Rocket.Chat/pull/11113)) +- Generated random password visible to the user ([#11096](https://github.com/RocketChat/Rocket.Chat/pull/11096)) +- LiveChat appearance changes not being saved ([#11111](https://github.com/RocketChat/Rocket.Chat/pull/11111)) +- Confirm password on set new password user profile ([#11095](https://github.com/RocketChat/Rocket.Chat/pull/11095)) +- Message_AllowedMaxSize fails for emoji sequences ([#10431](https://github.com/RocketChat/Rocket.Chat/pull/10431) by [@c0dzilla](https://github.com/c0dzilla)) +- Can't access the `/account/profile` ([#11089](https://github.com/RocketChat/Rocket.Chat/pull/11089)) +- Idle time limit wasn’t working as expected ([#11084](https://github.com/RocketChat/Rocket.Chat/pull/11084)) +- Rooms list sorting by activity multiple re-renders and case sensitive sorting alphabetically ([#9959](https://github.com/RocketChat/Rocket.Chat/pull/9959) by [@JoseRenan](https://github.com/JoseRenan)) +- Notification not working for group mentions and not respecting ignored users ([#11024](https://github.com/RocketChat/Rocket.Chat/pull/11024)) +- Overlapping of search text and cancel search icon (X) ([#10294](https://github.com/RocketChat/Rocket.Chat/pull/10294) by [@taeven](https://github.com/taeven)) +- Link previews not being removed from messages after removed on editing ([#11063](https://github.com/RocketChat/Rocket.Chat/pull/11063)) +- avoid send presence without login ([#11074](https://github.com/RocketChat/Rocket.Chat/pull/11074)) +- Exception in metrics generation ([#11072](https://github.com/RocketChat/Rocket.Chat/pull/11072)) +- Build for Sandstorm missing dependence for capnp ([#11056](https://github.com/RocketChat/Rocket.Chat/pull/11056) by [@peterlee0127](https://github.com/peterlee0127)) +- flex-tab icons missing ([#11049](https://github.com/RocketChat/Rocket.Chat/pull/11049)) +- Update ja.i18n.json ([#11020](https://github.com/RocketChat/Rocket.Chat/pull/11020) by [@noobbbbb](https://github.com/noobbbbb)) +- Strange msg when setting room announcement, topic or description to be empty ([#11012](https://github.com/RocketChat/Rocket.Chat/pull/11012) by [@vynmera](https://github.com/vynmera)) +- Exception thrown on avatar validation ([#11009](https://github.com/RocketChat/Rocket.Chat/pull/11009)) +- Preview of large images not resizing to fit the area and having scrollbars ([#10998](https://github.com/RocketChat/Rocket.Chat/pull/10998) by [@vynmera](https://github.com/vynmera)) +- Allow inviting livechat managers to the same LiveChat room ([#10956](https://github.com/RocketChat/Rocket.Chat/pull/10956)) +- Cannot read property 'debug' of undefined when trying to use REST API ([#10805](https://github.com/RocketChat/Rocket.Chat/pull/10805) by [@haffla](https://github.com/haffla)) +- Icons svg xml structure ([#10771](https://github.com/RocketChat/Rocket.Chat/pull/10771)) +- Remove outdated 2FA warning for mobile clients ([#10916](https://github.com/RocketChat/Rocket.Chat/pull/10916)) +- Update Sandstorm build config ([#10867](https://github.com/RocketChat/Rocket.Chat/pull/10867) by [@ocdtrekkie](https://github.com/ocdtrekkie)) +- "blank messages" on iOS < 11 ([#11221](https://github.com/RocketChat/Rocket.Chat/pull/11221)) +- "blank" screen on iOS < 11 ([#11199](https://github.com/RocketChat/Rocket.Chat/pull/11199)) +- The process was freezing in some cases when HTTP calls exceeds timeout on integrations ([#11253](https://github.com/RocketChat/Rocket.Chat/pull/11253)) +- LDAP was accepting login with empty passwords for certain AD configurations ([#11264](https://github.com/RocketChat/Rocket.Chat/pull/11264)) +- Update capnproto dependence for Sandstorm Build ([#11263](https://github.com/RocketChat/Rocket.Chat/pull/11263) by [@peterlee0127](https://github.com/peterlee0127)) +- Internal Server Error on first login with CAS integration ([#11257](https://github.com/RocketChat/Rocket.Chat/pull/11257)) +- Armhf snap build ([#11268](https://github.com/RocketChat/Rocket.Chat/pull/11268)) +- Reaction Toggle was not working when omitting the last parameter from the API (DDP and REST) ([#11276](https://github.com/RocketChat/Rocket.Chat/pull/11276)) + +
+🔍 Minor changes + +- Merge master into develop & Set version to 0.66.0-develop ([#11277](https://github.com/RocketChat/Rocket.Chat/pull/11277) by [@brylie](https://github.com/brylie) & [@stuartpb](https://github.com/stuartpb)) +- Regression: Directory css ([#11206](https://github.com/RocketChat/Rocket.Chat/pull/11206)) +- LingoHub based on develop ([#11208](https://github.com/RocketChat/Rocket.Chat/pull/11208)) +- IRC Federation: RFC2813 implementation (ngIRCd) ([#10113](https://github.com/RocketChat/Rocket.Chat/pull/10113) by [@cpitman](https://github.com/cpitman) & [@lindoelio](https://github.com/lindoelio)) +- Add verification to make sure the user exists in REST insert object helper ([#11008](https://github.com/RocketChat/Rocket.Chat/pull/11008)) +- Regression: Directory user table infinite scroll doesn't working ([#11200](https://github.com/RocketChat/Rocket.Chat/pull/11200)) +- [FIX Readme] Nodejs + Python version spicifications ([#11181](https://github.com/RocketChat/Rocket.Chat/pull/11181) by [@mahdiyari](https://github.com/mahdiyari)) +- Regression: sorting direct message by asc on favorites group ([#11090](https://github.com/RocketChat/Rocket.Chat/pull/11090)) +- Fix PR Docker image creation by splitting in two build jobs ([#11107](https://github.com/RocketChat/Rocket.Chat/pull/11107)) +- Update v126.js ([#11103](https://github.com/RocketChat/Rocket.Chat/pull/11103)) +- Speed up the build time by removing JSON Minify from i18n package ([#11097](https://github.com/RocketChat/Rocket.Chat/pull/11097)) +- Fix Docker image for develop commits ([#11093](https://github.com/RocketChat/Rocket.Chat/pull/11093)) +- Build Docker image on CI ([#11076](https://github.com/RocketChat/Rocket.Chat/pull/11076)) +- Update issue templates ([#11070](https://github.com/RocketChat/Rocket.Chat/pull/11070)) +- LingoHub based on develop ([#11062](https://github.com/RocketChat/Rocket.Chat/pull/11062)) +- LingoHub based on develop ([#11054](https://github.com/RocketChat/Rocket.Chat/pull/11054)) +- LingoHub based on develop ([#11053](https://github.com/RocketChat/Rocket.Chat/pull/11053)) +- LingoHub based on develop ([#11051](https://github.com/RocketChat/Rocket.Chat/pull/11051)) +- LingoHub based on develop ([#11045](https://github.com/RocketChat/Rocket.Chat/pull/11045)) +- LingoHub based on develop ([#11044](https://github.com/RocketChat/Rocket.Chat/pull/11044)) +- LingoHub based on develop ([#11043](https://github.com/RocketChat/Rocket.Chat/pull/11043)) +- LingoHub based on develop ([#11042](https://github.com/RocketChat/Rocket.Chat/pull/11042)) +- Changed 'confirm password' placeholder text on user registration form ([#9969](https://github.com/RocketChat/Rocket.Chat/pull/9969) by [@kumarnitj](https://github.com/kumarnitj)) +- LingoHub based on develop ([#11039](https://github.com/RocketChat/Rocket.Chat/pull/11039)) +- LingoHub based on develop ([#11035](https://github.com/RocketChat/Rocket.Chat/pull/11035)) +- Update Documentation: README.md ([#10207](https://github.com/RocketChat/Rocket.Chat/pull/10207) by [@rakhi2104](https://github.com/rakhi2104)) +- NPM Dependencies Update ([#10913](https://github.com/RocketChat/Rocket.Chat/pull/10913)) +- update meteor to 1.6.1 for sandstorm build ([#10131](https://github.com/RocketChat/Rocket.Chat/pull/10131) by [@peterlee0127](https://github.com/peterlee0127)) +- Renaming username.username to username.value for clarity ([#10986](https://github.com/RocketChat/Rocket.Chat/pull/10986)) +- Fix readme typo ([#5](https://github.com/RocketChat/Rocket.Chat/pull/5)) +- Remove wrong and not needed time unit ([#10807](https://github.com/RocketChat/Rocket.Chat/pull/10807) by [@cliffparnitzky](https://github.com/cliffparnitzky)) +- Develop sync commits ([#10909](https://github.com/RocketChat/Rocket.Chat/pull/10909) by [@nsuchy](https://github.com/nsuchy)) +- Develop sync2 ([#10908](https://github.com/RocketChat/Rocket.Chat/pull/10908) by [@nsuchy](https://github.com/nsuchy)) +- Merge master into develop & Set version to 0.66.0-develop ([#10903](https://github.com/RocketChat/Rocket.Chat/pull/10903) by [@nsuchy](https://github.com/nsuchy)) +- Regression: Fix directory table loading ([#11223](https://github.com/RocketChat/Rocket.Chat/pull/11223)) +- Regression: Fix latest and release-candidate docker images building ([#11215](https://github.com/RocketChat/Rocket.Chat/pull/11215)) +- Regression: check username or usersCount on browseChannels ([#11216](https://github.com/RocketChat/Rocket.Chat/pull/11216)) +- Regression: Sending message with a mention is not showing to sender ([#11211](https://github.com/RocketChat/Rocket.Chat/pull/11211)) +- Regression: Prometheus was not being enabled in some cases ([#11249](https://github.com/RocketChat/Rocket.Chat/pull/11249)) +- Regression: Skip operations if no actions on livechat migration ([#11232](https://github.com/RocketChat/Rocket.Chat/pull/11232)) +- Regression: Directory sort users, fix null results, text for empty results ([#11224](https://github.com/RocketChat/Rocket.Chat/pull/11224)) +- LingoHub based on develop ([#11246](https://github.com/RocketChat/Rocket.Chat/pull/11246)) +- Update Meteor to 1.6.1.3 ([#11247](https://github.com/RocketChat/Rocket.Chat/pull/11247)) +- New history source format & add Node and NPM versions ([#11237](https://github.com/RocketChat/Rocket.Chat/pull/11237)) +- Add Dockerfile with MongoDB ([#10971](https://github.com/RocketChat/Rocket.Chat/pull/10971)) +- Regression: sidebar sorting was being wrong in some cases where the rooms records were returned before the subscriptions ([#11273](https://github.com/RocketChat/Rocket.Chat/pull/11273)) +- Fix Docker image build on tags ([#11271](https://github.com/RocketChat/Rocket.Chat/pull/11271)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@JoseRenan](https://github.com/JoseRenan) +- [@brylie](https://github.com/brylie) +- [@c0dzilla](https://github.com/c0dzilla) +- [@cliffparnitzky](https://github.com/cliffparnitzky) +- [@cpitman](https://github.com/cpitman) +- [@gdelavald](https://github.com/gdelavald) +- [@haffla](https://github.com/haffla) +- [@jonnilundy](https://github.com/jonnilundy) +- [@kable-wilmoth](https://github.com/kable-wilmoth) +- [@karakayasemi](https://github.com/karakayasemi) +- [@kb0304](https://github.com/kb0304) +- [@kumarnitj](https://github.com/kumarnitj) +- [@lindoelio](https://github.com/lindoelio) +- [@mahdiyari](https://github.com/mahdiyari) +- [@mikaelmello](https://github.com/mikaelmello) +- [@myfonj](https://github.com/myfonj) +- [@noobbbbb](https://github.com/noobbbbb) +- [@nsuchy](https://github.com/nsuchy) +- [@ocdtrekkie](https://github.com/ocdtrekkie) +- [@peterlee0127](https://github.com/peterlee0127) +- [@pitamar](https://github.com/pitamar) +- [@pkgodara](https://github.com/pkgodara) +- [@rakhi2104](https://github.com/rakhi2104) +- [@rw4lll](https://github.com/rw4lll) +- [@saplla](https://github.com/saplla) +- [@stuartpb](https://github.com/stuartpb) +- [@taeven](https://github.com/taeven) +- [@thaiphv](https://github.com/thaiphv) +- [@vynmera](https://github.com/vynmera) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@alansikora](https://github.com/alansikora) +- [@cardoso](https://github.com/cardoso) +- [@engelgabriel](https://github.com/engelgabriel) +- [@filipealva](https://github.com/filipealva) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@rafaelks](https://github.com/rafaelks) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) +- [@timkinnane](https://github.com/timkinnane) + +# 0.65.2 +`2018-06-16 · 1 🐛 · 1 🔍 · 4 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- i18n - add semantic markup ([#9534](https://github.com/RocketChat/Rocket.Chat/pull/9534) by [@brylie](https://github.com/brylie)) + +
+🔍 Minor changes + +- Release 0.65.1 ([#10947](https://github.com/RocketChat/Rocket.Chat/pull/10947)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@brylie](https://github.com/brylie) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@engelgabriel](https://github.com/engelgabriel) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.65.1 +`2018-05-30 · 5 🐛 · 3 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- Livechat not loading ([#10940](https://github.com/RocketChat/Rocket.Chat/pull/10940)) +- Application crashing on startup when trying to log errors to `exceptions` channel ([#10934](https://github.com/RocketChat/Rocket.Chat/pull/10934)) +- Incomplete email notification link ([#10928](https://github.com/RocketChat/Rocket.Chat/pull/10928)) +- Image lazy load was breaking attachments ([#10904](https://github.com/RocketChat/Rocket.Chat/pull/10904)) +- Leave room wasn't working as expected ([#10851](https://github.com/RocketChat/Rocket.Chat/pull/10851)) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@ggazzo](https://github.com/ggazzo) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.65.0 +`2018-05-28 · 13 🎉 · 16 🐛 · 15 🔍 · 25 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +### 🎉 New features + +- Implement a local password policy ([#9857](https://github.com/RocketChat/Rocket.Chat/pull/9857)) +- Options to enable/disable each Livechat registration form field ([#10584](https://github.com/RocketChat/Rocket.Chat/pull/10584)) +- Return the result of the `/me` endpoint within the result of the `/login` endpoint ([#10677](https://github.com/RocketChat/Rocket.Chat/pull/10677)) +- Lazy load image attachments ([#10608](https://github.com/RocketChat/Rocket.Chat/pull/10608)) +- View pinned message's attachment ([#10214](https://github.com/RocketChat/Rocket.Chat/pull/10214) by [@c0dzilla](https://github.com/c0dzilla)) +- Add REST API endpoint `users.getUsernameSuggestion` to get username suggestion ([#10702](https://github.com/RocketChat/Rocket.Chat/pull/10702)) +- REST API endpoint `settings` now allow set colors and trigger actions ([#10488](https://github.com/RocketChat/Rocket.Chat/pull/10488) by [@ThomasRoehl](https://github.com/ThomasRoehl)) +- Add REST endpoint `subscriptions.unread` to mark messages as unread ([#10778](https://github.com/RocketChat/Rocket.Chat/pull/10778)) +- REST API endpoint `/me` now returns all the settings, including the default values ([#10662](https://github.com/RocketChat/Rocket.Chat/pull/10662)) +- Now is possible to access files using header authorization (`x-user-id` and `x-auth-token`) ([#10741](https://github.com/RocketChat/Rocket.Chat/pull/10741)) +- Add REST API endpoints `channels.counters`, `groups.counters and `im.counters` ([#9679](https://github.com/RocketChat/Rocket.Chat/pull/9679) by [@xbolshe](https://github.com/xbolshe)) +- Add REST API endpoints `channels.setCustomFields` and `groups.setCustomFields` ([#9733](https://github.com/RocketChat/Rocket.Chat/pull/9733) by [@xbolshe](https://github.com/xbolshe)) +- Add permission `view-broadcast-member-list` ([#10753](https://github.com/RocketChat/Rocket.Chat/pull/10753)) ### 🐛 Bug fixes -- Change deprecated Meteor._reload.reload method in favor of Reload._reload ([#10348](https://github.com/RocketChat/Rocket.Chat/pull/10348) by [@tttt-conan](https://github.com/tttt-conan)) -- Snaps crashing due to Node v8.11.1 Segfault ([#10351](https://github.com/RocketChat/Rocket.Chat/pull/10351)) -- Add '.value' in the SAML package to fix TypeErrors on SAML token validation ([#10084](https://github.com/RocketChat/Rocket.Chat/pull/10084) by [@TechyPeople](https://github.com/TechyPeople)) -- Incorrect german translation of user online status ([#10356](https://github.com/RocketChat/Rocket.Chat/pull/10356) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) -- Incorrect French language usage for Disabled ([#10355](https://github.com/RocketChat/Rocket.Chat/pull/10355)) +- Livechat managers were not being able to send messages in some cases ([#10663](https://github.com/RocketChat/Rocket.Chat/pull/10663)) +- Livechat settings not appearing correctly ([#10612](https://github.com/RocketChat/Rocket.Chat/pull/10612)) +- Enabling `Collapse Embedded Media by Default` was hiding replies and quotes ([#10427](https://github.com/RocketChat/Rocket.Chat/pull/10427) by [@c0dzilla](https://github.com/c0dzilla)) +- Missing option to disable/enable System Messages ([#10704](https://github.com/RocketChat/Rocket.Chat/pull/10704)) +- Remove outdated translations of Internal Hubot's description of Scripts to Load that were pointing to a non existent address ([#10448](https://github.com/RocketChat/Rocket.Chat/pull/10448)) +- UI was not disabling the actions when users has had no permissions to create channels or add users to rooms ([#10564](https://github.com/RocketChat/Rocket.Chat/pull/10564) by [@cfunkles](https://github.com/cfunkles) & [@chuckAtCataworx](https://github.com/chuckAtCataworx)) +- Private settings were not being cleared from client cache in some cases ([#10625](https://github.com/RocketChat/Rocket.Chat/pull/10625)) +- Internal Error when requesting user data download ([#10837](https://github.com/RocketChat/Rocket.Chat/pull/10837)) +- Broadcast channels were showing reply button for deleted messages and generating wrong reply links some times ([#10835](https://github.com/RocketChat/Rocket.Chat/pull/10835)) +- User's preference `Unread on Top` wasn't working for LiveChat rooms ([#10734](https://github.com/RocketChat/Rocket.Chat/pull/10734)) +- Cancel button wasn't working while uploading file ([#10715](https://github.com/RocketChat/Rocket.Chat/pull/10715) by [@Mr-Gryphon](https://github.com/Mr-Gryphon)) +- Missing pagination fields in the response of REST /directory endpoint ([#10840](https://github.com/RocketChat/Rocket.Chat/pull/10840)) +- Layout badge cutting on unread messages for long names ([#10846](https://github.com/RocketChat/Rocket.Chat/pull/10846) by [@kos4live](https://github.com/kos4live)) +- Slack-Bridge bug when migrating to 0.64.1 ([#10875](https://github.com/RocketChat/Rocket.Chat/pull/10875)) +- Horizontally align items in preview message ([#10883](https://github.com/RocketChat/Rocket.Chat/pull/10883) by [@gdelavald](https://github.com/gdelavald)) +- The first users was not set as admin some times ([#10878](https://github.com/RocketChat/Rocket.Chat/pull/10878)) + +
+🔍 Minor changes + +- Release 0.65.0 ([#10893](https://github.com/RocketChat/Rocket.Chat/pull/10893) by [@Sameesunkaria](https://github.com/Sameesunkaria) & [@erhan-](https://github.com/erhan-) & [@gdelavald](https://github.com/gdelavald) & [@peccu](https://github.com/peccu) & [@winterstefan](https://github.com/winterstefan)) +- Apps: Command Previews, Message and Room Removal Events ([#10822](https://github.com/RocketChat/Rocket.Chat/pull/10822)) +- Develop sync ([#10815](https://github.com/RocketChat/Rocket.Chat/pull/10815) by [@nsuchy](https://github.com/nsuchy)) +- Major dependencies update ([#10661](https://github.com/RocketChat/Rocket.Chat/pull/10661)) +- Prevent setup wizard redirects ([#10811](https://github.com/RocketChat/Rocket.Chat/pull/10811)) +- Fix: Regression in REST API endpoint `/me` ([#10833](https://github.com/RocketChat/Rocket.Chat/pull/10833)) +- Regression: Fix email notification preference not showing correct selected value ([#10847](https://github.com/RocketChat/Rocket.Chat/pull/10847)) +- Apps: Command previews are clickable & Apps Framework is controlled via a setting ([#10853](https://github.com/RocketChat/Rocket.Chat/pull/10853)) +- Regression: Make settings `Site_Name` and `Language` public again ([#10848](https://github.com/RocketChat/Rocket.Chat/pull/10848)) +- Fix: Clarify the wording of the release issue template ([#10520](https://github.com/RocketChat/Rocket.Chat/pull/10520)) +- Fix: Regression on users avatar in admin pages ([#10836](https://github.com/RocketChat/Rocket.Chat/pull/10836)) +- Fix: Manage apps layout was a bit confuse ([#10882](https://github.com/RocketChat/Rocket.Chat/pull/10882) by [@gdelavald](https://github.com/gdelavald)) +- LingoHub based on develop ([#10886](https://github.com/RocketChat/Rocket.Chat/pull/10886)) +- Fix: Regression Lazyload fix shuffle avatars ([#10887](https://github.com/RocketChat/Rocket.Chat/pull/10887)) +- Fix: typo on error message for push token API ([#10857](https://github.com/RocketChat/Rocket.Chat/pull/10857)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@Mr-Gryphon](https://github.com/Mr-Gryphon) +- [@Sameesunkaria](https://github.com/Sameesunkaria) +- [@ThomasRoehl](https://github.com/ThomasRoehl) +- [@c0dzilla](https://github.com/c0dzilla) +- [@cfunkles](https://github.com/cfunkles) +- [@chuckAtCataworx](https://github.com/chuckAtCataworx) +- [@erhan-](https://github.com/erhan-) +- [@gdelavald](https://github.com/gdelavald) +- [@kos4live](https://github.com/kos4live) +- [@nsuchy](https://github.com/nsuchy) +- [@peccu](https://github.com/peccu) +- [@winterstefan](https://github.com/winterstefan) +- [@xbolshe](https://github.com/xbolshe) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@cardoso](https://github.com/cardoso) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@rafaelks](https://github.com/rafaelks) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.64.2 +`2018-05-18 · 8 🎉 · 16 🐛 · 31 🔍 · 13 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +### 🎉 New features + +- Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607)) +- Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724)) +- Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523)) +- Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) +- Add REST endpoints `channels.roles` & `groups.roles` ([#10607](https://github.com/RocketChat/Rocket.Chat/pull/10607)) +- Add more options for Wordpress OAuth configuration ([#10724](https://github.com/RocketChat/Rocket.Chat/pull/10724)) +- Setup Wizard ([#10523](https://github.com/RocketChat/Rocket.Chat/pull/10523)) +- Improvements to notifications logic ([#10686](https://github.com/RocketChat/Rocket.Chat/pull/10686)) + +### 🐛 Bug fixes + +- Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-)) +- Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) +- Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) +- Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705)) +- Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) +- Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) +- Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) +- SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681)) +- Send a message when muted returns inconsistent result in chat.sendMessage ([#10720](https://github.com/RocketChat/Rocket.Chat/pull/10720)) +- Regression: Empty content on announcement modal ([#10733](https://github.com/RocketChat/Rocket.Chat/pull/10733) by [@gdelavald](https://github.com/gdelavald)) +- Missing attachment description when Rocket.Chat Apps were enabled ([#10705](https://github.com/RocketChat/Rocket.Chat/pull/10705)) +- Improve desktop notification formatting ([#10445](https://github.com/RocketChat/Rocket.Chat/pull/10445) by [@Sameesunkaria](https://github.com/Sameesunkaria)) +- Message box emoji icon was flickering when typing a text ([#10678](https://github.com/RocketChat/Rocket.Chat/pull/10678) by [@gdelavald](https://github.com/gdelavald)) +- Channel owner was being set as muted when creating a read-only channel ([#10665](https://github.com/RocketChat/Rocket.Chat/pull/10665)) +- SAML wasn't working correctly when running multiple instances ([#10681](https://github.com/RocketChat/Rocket.Chat/pull/10681)) +- Not escaping special chars on mentions ([#10793](https://github.com/RocketChat/Rocket.Chat/pull/10793) by [@erhan-](https://github.com/erhan-)) + +
+🔍 Minor changes + +- Release 0.64.2 ([#10812](https://github.com/RocketChat/Rocket.Chat/pull/10812) by [@Sameesunkaria](https://github.com/Sameesunkaria) & [@erhan-](https://github.com/erhan-) & [@gdelavald](https://github.com/gdelavald) & [@peccu](https://github.com/peccu) & [@winterstefan](https://github.com/winterstefan)) +- Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) +- Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) +- Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) +- Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804)) +- Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) +- Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) +- Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) +- Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) +- Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) +- Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) +- Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) +- More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) +- LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) +- Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) +- Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) +- More improvements on send notifications logic ([#10736](https://github.com/RocketChat/Rocket.Chat/pull/10736)) +- LingoHub based on develop ([#10691](https://github.com/RocketChat/Rocket.Chat/pull/10691)) +- Add `npm run postinstall` into example build script ([#10524](https://github.com/RocketChat/Rocket.Chat/pull/10524) by [@peccu](https://github.com/peccu)) +- Correct links in README file ([#10674](https://github.com/RocketChat/Rocket.Chat/pull/10674) by [@winterstefan](https://github.com/winterstefan)) +- Prometheus: Improve metric names ([#10789](https://github.com/RocketChat/Rocket.Chat/pull/10789)) +- Improvement to push notifications on direct messages ([#10788](https://github.com/RocketChat/Rocket.Chat/pull/10788)) +- Better metric for notifications ([#10786](https://github.com/RocketChat/Rocket.Chat/pull/10786)) +- Add badge back to push notifications ([#10779](https://github.com/RocketChat/Rocket.Chat/pull/10779)) +- Wizard improvements ([#10776](https://github.com/RocketChat/Rocket.Chat/pull/10776)) +- Add setting and expose prometheus on port 9100 ([#10766](https://github.com/RocketChat/Rocket.Chat/pull/10766)) +- Regression: Fix notifications for direct messages ([#10760](https://github.com/RocketChat/Rocket.Chat/pull/10760)) +- Prometheus: Add metric to track hooks time ([#10798](https://github.com/RocketChat/Rocket.Chat/pull/10798)) +- Regression: Autorun of wizard was not destroyed after completion ([#10802](https://github.com/RocketChat/Rocket.Chat/pull/10802)) +- Prometheus: Fix notification metric ([#10803](https://github.com/RocketChat/Rocket.Chat/pull/10803)) +- Regression: Fix wrong wizard field name ([#10804](https://github.com/RocketChat/Rocket.Chat/pull/10804)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@Sameesunkaria](https://github.com/Sameesunkaria) +- [@erhan-](https://github.com/erhan-) +- [@gdelavald](https://github.com/gdelavald) +- [@peccu](https://github.com/peccu) +- [@winterstefan](https://github.com/winterstefan) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@cardoso](https://github.com/cardoso) +- [@engelgabriel](https://github.com/engelgabriel) +- [@karlprieb](https://github.com/karlprieb) +- [@rafaelks](https://github.com/rafaelks) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.64.1 +`2018-05-03 · 1 🎉 · 2 🐛 · 4 🔍 · 5 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +### 🎉 New features + +- Store the last sent message to show bellow the room's name by default ([#10597](https://github.com/RocketChat/Rocket.Chat/pull/10597)) + +### 🐛 Bug fixes + +- E-mails were hidden some information ([#10615](https://github.com/RocketChat/Rocket.Chat/pull/10615)) +- Regression on 0.64.0 was freezing the application when posting some URLs ([#10627](https://github.com/RocketChat/Rocket.Chat/pull/10627)) + +
+🔍 Minor changes + +- Release 0.64.1 ([#10660](https://github.com/RocketChat/Rocket.Chat/pull/10660) by [@saplla](https://github.com/saplla)) +- Support passing extra connection options to the Mongo driver ([#10529](https://github.com/RocketChat/Rocket.Chat/pull/10529) by [@saplla](https://github.com/saplla)) +- Regression: Updating an App on multi-instance servers wasn't working ([#10611](https://github.com/RocketChat/Rocket.Chat/pull/10611)) +- Dependencies update ([#10648](https://github.com/RocketChat/Rocket.Chat/pull/10648)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@saplla](https://github.com/saplla) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@engelgabriel](https://github.com/engelgabriel) +- [@graywolf336](https://github.com/graywolf336) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.64.0 +`2018-04-28 · 2 ️️️⚠️ · 18 🎉 · 44 🐛 · 31 🔍 · 30 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +### ⚠️ BREAKING CHANGES + +- Validate incoming message schema ([#9922](https://github.com/RocketChat/Rocket.Chat/pull/9922)) +- The property "settings" is no longer available to regular users via rest api ([#10411](https://github.com/RocketChat/Rocket.Chat/pull/10411)) + +### 🎉 New features + +- Option to mute group mentions (@all and @here) ([#10502](https://github.com/RocketChat/Rocket.Chat/pull/10502)) +- GDPR - Right to access and Data Portability ([#9906](https://github.com/RocketChat/Rocket.Chat/pull/9906)) +- Broadcast Channels ([#9950](https://github.com/RocketChat/Rocket.Chat/pull/9950)) +- Option to ignore users on channels ([#10517](https://github.com/RocketChat/Rocket.Chat/pull/10517) by [@gdelavald](https://github.com/gdelavald)) +- Search Provider Framework ([#10110](https://github.com/RocketChat/Rocket.Chat/pull/10110) by [@tkurz](https://github.com/tkurz)) +- REST API endpoint `/directory` ([#10442](https://github.com/RocketChat/Rocket.Chat/pull/10442)) +- Body of the payload on an incoming webhook is included on the request object ([#10259](https://github.com/RocketChat/Rocket.Chat/pull/10259)) +- REST endpoint to recover forgotten password ([#10371](https://github.com/RocketChat/Rocket.Chat/pull/10371)) +- REST endpoint to report messages ([#10354](https://github.com/RocketChat/Rocket.Chat/pull/10354)) +- Livechat setting to customize ended conversation message ([#10108](https://github.com/RocketChat/Rocket.Chat/pull/10108)) +- Twilio MMS support for LiveChat integration ([#7964](https://github.com/RocketChat/Rocket.Chat/pull/7964) by [@t3hchipmunk](https://github.com/t3hchipmunk)) +- REST API endpoint `rooms.favorite` to favorite and unfavorite rooms ([#10342](https://github.com/RocketChat/Rocket.Chat/pull/10342)) +- Add internal API to handle room announcements ([#10396](https://github.com/RocketChat/Rocket.Chat/pull/10396) by [@gdelavald](https://github.com/gdelavald)) +- Add message preview when quoting another message ([#10437](https://github.com/RocketChat/Rocket.Chat/pull/10437) by [@gdelavald](https://github.com/gdelavald)) +- Prevent the browser to autocomplete some setting fields ([#10439](https://github.com/RocketChat/Rocket.Chat/pull/10439) by [@gdelavald](https://github.com/gdelavald)) +- Shows user's real name on autocomplete popup ([#10444](https://github.com/RocketChat/Rocket.Chat/pull/10444) by [@gdelavald](https://github.com/gdelavald)) +- Automatically trigger Redhat registry build when tagging new release ([#10414](https://github.com/RocketChat/Rocket.Chat/pull/10414)) +- Add information regarding Zapier and Bots to the integrations page ([#10574](https://github.com/RocketChat/Rocket.Chat/pull/10574)) + +### 🐛 Bug fixes + +- Missing "Administration" menu for users with some administration permissions ([#10551](https://github.com/RocketChat/Rocket.Chat/pull/10551) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) +- Member list search with no results ([#10599](https://github.com/RocketChat/Rocket.Chat/pull/10599)) +- Integrations with room data not having the usernames filled in ([#10576](https://github.com/RocketChat/Rocket.Chat/pull/10576)) +- Add user object to responses in /*.files Rest endpoints ([#10480](https://github.com/RocketChat/Rocket.Chat/pull/10480)) +- Missing user data on files uploaded through the API ([#10473](https://github.com/RocketChat/Rocket.Chat/pull/10473)) +- Rename method to clean history of messages ([#10498](https://github.com/RocketChat/Rocket.Chat/pull/10498)) +- REST spotlight API wasn't allowing searches with # and @ ([#10410](https://github.com/RocketChat/Rocket.Chat/pull/10410)) +- Dropdown elements were using old styles ([#10482](https://github.com/RocketChat/Rocket.Chat/pull/10482) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) +- Directory sort and column sizes were wrong ([#10403](https://github.com/RocketChat/Rocket.Chat/pull/10403)) +- REST API OAuth services endpoint were missing fields and flag to indicate custom services ([#10299](https://github.com/RocketChat/Rocket.Chat/pull/10299)) +- Error messages weren't been displayed when email verification fails ([#10446](https://github.com/RocketChat/Rocket.Chat/pull/10446)) +- Wrong column positions in the directory search for users ([#10454](https://github.com/RocketChat/Rocket.Chat/pull/10454) by [@lunaticmonk](https://github.com/lunaticmonk)) +- Custom fields was misaligned in registration form ([#10463](https://github.com/RocketChat/Rocket.Chat/pull/10463) by [@dschuan](https://github.com/dschuan)) +- Unique identifier file not really being unique ([#10341](https://github.com/RocketChat/Rocket.Chat/pull/10341) by [@abernix](https://github.com/abernix)) +- Empty panel after changing a user's username ([#10404](https://github.com/RocketChat/Rocket.Chat/pull/10404)) +- Russian translation of "False" ([#10418](https://github.com/RocketChat/Rocket.Chat/pull/10418) by [@strangerintheq](https://github.com/strangerintheq)) +- Links being embedded inside of blockquotes ([#10496](https://github.com/RocketChat/Rocket.Chat/pull/10496) by [@gdelavald](https://github.com/gdelavald)) +- The 'channel.messages' REST API Endpoint error ([#10485](https://github.com/RocketChat/Rocket.Chat/pull/10485)) +- Button on user info contextual bar scrolling with the content ([#10358](https://github.com/RocketChat/Rocket.Chat/pull/10358) by [@okaybroda](https://github.com/okaybroda)) +- "Idle Time Limit" using milliseconds instead of seconds ([#9824](https://github.com/RocketChat/Rocket.Chat/pull/9824) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) +- Missing i18n translation key for "Unread" ([#10387](https://github.com/RocketChat/Rocket.Chat/pull/10387)) +- Owner unable to delete channel or group from APIs ([#9729](https://github.com/RocketChat/Rocket.Chat/pull/9729) by [@c0dzilla](https://github.com/c0dzilla)) +- Livechat translation files being ignored ([#10369](https://github.com/RocketChat/Rocket.Chat/pull/10369)) +- Missing page "not found" ([#6673](https://github.com/RocketChat/Rocket.Chat/pull/6673) by [@Prakharsvnit](https://github.com/Prakharsvnit)) +- "Highlight Words" wasn't working with more than one word ([#10083](https://github.com/RocketChat/Rocket.Chat/pull/10083) by [@gdelavald](https://github.com/gdelavald) & [@nemaniarjun](https://github.com/nemaniarjun)) +- Missing "Administration" menu for user with manage-emoji permission ([#10171](https://github.com/RocketChat/Rocket.Chat/pull/10171) by [@c0dzilla](https://github.com/c0dzilla)) +- Message view mode setting was missing at user's preferences ([#10395](https://github.com/RocketChat/Rocket.Chat/pull/10395) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) +- Profile image was not being shown in user's directory search ([#10399](https://github.com/RocketChat/Rocket.Chat/pull/10399) by [@lunaticmonk](https://github.com/lunaticmonk)) +- Wrong positioning of popover when using RTL languages ([#10428](https://github.com/RocketChat/Rocket.Chat/pull/10428)) +- Messages was grouping wrong some times when server is slow ([#10472](https://github.com/RocketChat/Rocket.Chat/pull/10472) by [@gdelavald](https://github.com/gdelavald)) +- GitLab authentication scope was too open, reduced to read only access ([#10225](https://github.com/RocketChat/Rocket.Chat/pull/10225)) +- Renaming agent's username within Livechat's department ([#10344](https://github.com/RocketChat/Rocket.Chat/pull/10344)) +- Missing RocketApps input types ([#10394](https://github.com/RocketChat/Rocket.Chat/pull/10394)) +- Livechat desktop notifications not being displayed ([#10221](https://github.com/RocketChat/Rocket.Chat/pull/10221)) +- Autocomplete list when inviting a user was partial hidden ([#10409](https://github.com/RocketChat/Rocket.Chat/pull/10409)) +- Remove a user from the user's list when creating a new channel removes the wrong user ([#10423](https://github.com/RocketChat/Rocket.Chat/pull/10423) by [@gdelavald](https://github.com/gdelavald)) +- Room's name was cutting instead of having ellipses on sidebar ([#10430](https://github.com/RocketChat/Rocket.Chat/pull/10430)) +- Button to delete rooms by the owners wasn't appearing ([#10438](https://github.com/RocketChat/Rocket.Chat/pull/10438)) +- Updated OpenShift Template to take an Image as a Param ([#9946](https://github.com/RocketChat/Rocket.Chat/pull/9946) by [@christianh814](https://github.com/christianh814)) +- Incoming integrations being able to trigger an empty message with a GET ([#9576](https://github.com/RocketChat/Rocket.Chat/pull/9576)) +- Snaps installations are breaking on avatar requests ([#10390](https://github.com/RocketChat/Rocket.Chat/pull/10390)) +- Wordpress oAuth authentication wasn't behaving correctly ([#10550](https://github.com/RocketChat/Rocket.Chat/pull/10550) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) +- Switch buttons were cutting in RTL mode ([#10558](https://github.com/RocketChat/Rocket.Chat/pull/10558)) +- Stop Firefox announcement overflowing viewport ([#10503](https://github.com/RocketChat/Rocket.Chat/pull/10503) by [@brendangadd](https://github.com/brendangadd)) + +
+🔍 Minor changes + +- Release 0.64.0 ([#10613](https://github.com/RocketChat/Rocket.Chat/pull/10613) by [@christianh814](https://github.com/christianh814) & [@gdelavald](https://github.com/gdelavald) & [@tttt-conan](https://github.com/tttt-conan)) +- Regression: Various search provider fixes ([#10591](https://github.com/RocketChat/Rocket.Chat/pull/10591) by [@tkurz](https://github.com/tkurz)) +- Regression: /api/v1/settings.oauth not sending needed info for SAML & CAS ([#10596](https://github.com/RocketChat/Rocket.Chat/pull/10596)) +- Regression: Apps and Livechats not getting along well with each other ([#10598](https://github.com/RocketChat/Rocket.Chat/pull/10598)) +- Development: Add Visual Studio Code debugging configuration ([#10586](https://github.com/RocketChat/Rocket.Chat/pull/10586)) +- Included missing lib for migrations ([#10532](https://github.com/RocketChat/Rocket.Chat/pull/10532)) +- Develop sync ([#10505](https://github.com/RocketChat/Rocket.Chat/pull/10505) by [@nsuchy](https://github.com/nsuchy)) +- Fix: Remove "secret" from REST endpoint /settings.oauth response ([#10513](https://github.com/RocketChat/Rocket.Chat/pull/10513)) +- [OTHER] More Listeners for Apps & Utilize Promises inside Apps ([#10335](https://github.com/RocketChat/Rocket.Chat/pull/10335)) +- [OTHER] Develop sync ([#10487](https://github.com/RocketChat/Rocket.Chat/pull/10487)) +- Change Docker-Compose to use mmapv1 storage engine for mongo ([#10336](https://github.com/RocketChat/Rocket.Chat/pull/10336)) +- Add some missing translations ([#10435](https://github.com/RocketChat/Rocket.Chat/pull/10435) by [@gdelavald](https://github.com/gdelavald)) +- [OTHER] Removed the developer warning on the rest api ([#10441](https://github.com/RocketChat/Rocket.Chat/pull/10441)) +- Fix and improve vietnamese translation ([#10397](https://github.com/RocketChat/Rocket.Chat/pull/10397) by [@TDiNguyen](https://github.com/TDiNguyen) & [@tttt-conan](https://github.com/tttt-conan)) +- Use Node 8.9 for CI build ([#10405](https://github.com/RocketChat/Rocket.Chat/pull/10405)) +- Update allowed labels for bot ([#10360](https://github.com/RocketChat/Rocket.Chat/pull/10360)) +- Remove @core team mention from Pull Request template ([#10384](https://github.com/RocketChat/Rocket.Chat/pull/10384)) +- New issue template for *Release Process* ([#10234](https://github.com/RocketChat/Rocket.Chat/pull/10234)) +- Master into Develop Branch Sync ([#10376](https://github.com/RocketChat/Rocket.Chat/pull/10376)) +- LingoHub based on develop ([#10545](https://github.com/RocketChat/Rocket.Chat/pull/10545)) +- Regression: Revert announcement structure ([#10544](https://github.com/RocketChat/Rocket.Chat/pull/10544) by [@gdelavald](https://github.com/gdelavald)) +- Regression: Upload was not working ([#10543](https://github.com/RocketChat/Rocket.Chat/pull/10543)) +- Deps update ([#10549](https://github.com/RocketChat/Rocket.Chat/pull/10549)) +- Regression: /api/v1/settings.oauth not returning clientId for Twitter ([#10560](https://github.com/RocketChat/Rocket.Chat/pull/10560)) +- Regression: Webhooks breaking due to restricted test ([#10555](https://github.com/RocketChat/Rocket.Chat/pull/10555)) +- Regression: Rooms and Apps weren't playing nice with each other ([#10559](https://github.com/RocketChat/Rocket.Chat/pull/10559)) +- Regression: Fix announcement bar being displayed without content ([#10554](https://github.com/RocketChat/Rocket.Chat/pull/10554) by [@gdelavald](https://github.com/gdelavald)) +- Regression: Inconsistent response of settings.oauth endpoint ([#10553](https://github.com/RocketChat/Rocket.Chat/pull/10553)) +- Regression: Remove added mentions on quote/reply ([#10571](https://github.com/RocketChat/Rocket.Chat/pull/10571) by [@gdelavald](https://github.com/gdelavald)) +- Regression: Attachments and fields incorrectly failing on validation ([#10573](https://github.com/RocketChat/Rocket.Chat/pull/10573)) +- Regression: Rocket.Chat App author link opens in same window ([#10575](https://github.com/RocketChat/Rocket.Chat/pull/10575) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@Prakharsvnit](https://github.com/Prakharsvnit) +- [@TDiNguyen](https://github.com/TDiNguyen) +- [@abernix](https://github.com/abernix) +- [@brendangadd](https://github.com/brendangadd) +- [@c0dzilla](https://github.com/c0dzilla) +- [@christianh814](https://github.com/christianh814) +- [@dschuan](https://github.com/dschuan) +- [@gdelavald](https://github.com/gdelavald) +- [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) +- [@lunaticmonk](https://github.com/lunaticmonk) +- [@nemaniarjun](https://github.com/nemaniarjun) +- [@nsuchy](https://github.com/nsuchy) +- [@okaybroda](https://github.com/okaybroda) +- [@strangerintheq](https://github.com/strangerintheq) +- [@t3hchipmunk](https://github.com/t3hchipmunk) +- [@tkurz](https://github.com/tkurz) +- [@tttt-conan](https://github.com/tttt-conan) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@TwizzyDizzy](https://github.com/TwizzyDizzy) +- [@cardoso](https://github.com/cardoso) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@rafaelks](https://github.com/rafaelks) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + +# 0.63.3 +`2018-04-18 · 1 🔍 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +
+🔍 Minor changes + +- Release 0.63.3 ([#10504](https://github.com/RocketChat/Rocket.Chat/pull/10504)) + +
+ +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@graywolf336](https://github.com/graywolf336) +- [@rafaelks](https://github.com/rafaelks) + +# 0.63.2 +`2018-04-17 · 2 🔍 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +
+🔍 Minor changes + +- Release 0.63.2 ([#10476](https://github.com/RocketChat/Rocket.Chat/pull/10476)) +- add redhat dockerfile to master ([#10408](https://github.com/RocketChat/Rocket.Chat/pull/10408)) + +
+ +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@graywolf336](https://github.com/graywolf336) +>>>>>>> upstream/develop + +# 0.63.1 +`2018-04-07 · 1 🔍 · 7 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` + +
+🔍 Minor changes + +- Release 0.63.1 ([#10374](https://github.com/RocketChat/Rocket.Chat/pull/10374) by [@TechyPeople](https://github.com/TechyPeople) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@tttt-conan](https://github.com/tttt-conan)) + +
### 👩‍💻👨‍💻 Contributors 😍 @@ -20,8 +1189,19 @@ - [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) - [@tttt-conan](https://github.com/tttt-conan) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@graywolf336](https://github.com/graywolf336) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.63.0 -`2018-04-04 · 1 ️️️⚠️ · 18 🎉 · 44 🐛 · 20 🔍 · 13 👩‍💻👨‍💻` +`2018-04-04 · 1 ️️️⚠️ · 18 🎉 · 30 🐛 · 20 🔍 · 24 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.1` +- NPM: `5.6.0` ### ⚠️ BREAKING CHANGES @@ -57,35 +1237,21 @@ - Dynamic CSS script isn't working on older browsers ([#10152](https://github.com/RocketChat/Rocket.Chat/pull/10152)) - Extended view mode on sidebar ([#10160](https://github.com/RocketChat/Rocket.Chat/pull/10160)) - Cannot answer to a livechat as a manager if agent has not answered yet ([#10082](https://github.com/RocketChat/Rocket.Chat/pull/10082) by [@kb0304](https://github.com/kb0304)) -- User status missing on user info ([#9866](https://github.com/RocketChat/Rocket.Chat/pull/9866) by [@sumedh123](https://github.com/sumedh123)) -- Name of files in file upload list cuts down at bottom due to overflow ([#9672](https://github.com/RocketChat/Rocket.Chat/pull/9672) by [@sumedh123](https://github.com/sumedh123)) -- No pattern for user's status text capitalization ([#9783](https://github.com/RocketChat/Rocket.Chat/pull/9783) by [@sumedh123](https://github.com/sumedh123)) -- Apostrophe-containing URL misparsed ([#9739](https://github.com/RocketChat/Rocket.Chat/pull/9739) by [@sumedh123](https://github.com/sumedh123)) +- User status missing on user info ([#9866](https://github.com/RocketChat/Rocket.Chat/pull/9866) by [@lunaticmonk](https://github.com/lunaticmonk)) +- Name of files in file upload list cuts down at bottom due to overflow ([#9672](https://github.com/RocketChat/Rocket.Chat/pull/9672) by [@lunaticmonk](https://github.com/lunaticmonk)) +- No pattern for user's status text capitalization ([#9783](https://github.com/RocketChat/Rocket.Chat/pull/9783) by [@lunaticmonk](https://github.com/lunaticmonk)) +- Apostrophe-containing URL misparsed ([#9739](https://github.com/RocketChat/Rocket.Chat/pull/9739) by [@lunaticmonk](https://github.com/lunaticmonk)) - Popover divs don't scroll if they overflow the viewport ([#9860](https://github.com/RocketChat/Rocket.Chat/pull/9860) by [@Joe-mcgee](https://github.com/Joe-mcgee)) - Reactions not working on mobile ([#10104](https://github.com/RocketChat/Rocket.Chat/pull/10104)) - Broken video call accept dialog ([#9872](https://github.com/RocketChat/Rocket.Chat/pull/9872) by [@ramrami](https://github.com/ramrami)) - Wrong switch button border color ([#10081](https://github.com/RocketChat/Rocket.Chat/pull/10081) by [@kb0304](https://github.com/kb0304)) -- Nextcloud as custom oauth provider wasn't mapping data correctly ([#10090](https://github.com/RocketChat/Rocket.Chat/pull/10090) by [@pierreozoux](https://github.com/pierreozoux)) +- Nextcloud as custom oauth provider wasn't mapping data correctly ([#10090](https://github.com/RocketChat/Rocket.Chat/pull/10090)) - Missing sidebar default options on admin ([#10016](https://github.com/RocketChat/Rocket.Chat/pull/10016)) - Able to react with invalid emoji ([#8667](https://github.com/RocketChat/Rocket.Chat/pull/8667) by [@mutdmour](https://github.com/mutdmour)) -- Slack Import reports `invalid import file type` due to a call to BSON.native() which is now doesn't exist ([#10071](https://github.com/RocketChat/Rocket.Chat/pull/10071) by [@trongthanh](https://github.com/trongthanh)) -- Verified property of user is always set to false if not supplied ([#9719](https://github.com/RocketChat/Rocket.Chat/pull/9719)) -- Update preferences of users with settings: null was crashing the server ([#10076](https://github.com/RocketChat/Rocket.Chat/pull/10076)) -- REST API: Can't list all public channels when user has permission `view-joined-room` ([#10009](https://github.com/RocketChat/Rocket.Chat/pull/10009)) -- Message editing is crashing the server when read receipts are enabled ([#10061](https://github.com/RocketChat/Rocket.Chat/pull/10061)) -- Download links was duplicating Sub Paths ([#10029](https://github.com/RocketChat/Rocket.Chat/pull/10029)) - User preferences can't be saved when roles are hidden in admin settings ([#10051](https://github.com/RocketChat/Rocket.Chat/pull/10051)) - Browser was auto-filling values when editing another user profile ([#9932](https://github.com/RocketChat/Rocket.Chat/pull/9932) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) - Avatar input was accepting not supported image types ([#10011](https://github.com/RocketChat/Rocket.Chat/pull/10011)) - Initial loading feedback was missing ([#10028](https://github.com/RocketChat/Rocket.Chat/pull/10028)) -- Delete user without username was removing direct rooms of all users ([#9986](https://github.com/RocketChat/Rocket.Chat/pull/9986)) -- Two factor authentication modal was not showing ([#9982](https://github.com/RocketChat/Rocket.Chat/pull/9982)) -- Empty sidenav when sorting by activity and there is a subscription without room ([#9960](https://github.com/RocketChat/Rocket.Chat/pull/9960)) -- New channel page on medium size screens ([#9988](https://github.com/RocketChat/Rocket.Chat/pull/9988)) -- Delete user without username was removing direct rooms of all users ([#9986](https://github.com/RocketChat/Rocket.Chat/pull/9986)) -- New channel page on medium size screens ([#9988](https://github.com/RocketChat/Rocket.Chat/pull/9988)) -- Empty sidenav when sorting by activity and there is a subscription without room ([#9960](https://github.com/RocketChat/Rocket.Chat/pull/9960)) -- Two factor authentication modal was not showing ([#9982](https://github.com/RocketChat/Rocket.Chat/pull/9982)) - File had redirect delay when using external storage services and no option to proxy only avatars ([#10272](https://github.com/RocketChat/Rocket.Chat/pull/10272)) - Missing pt-BR translations ([#10262](https://github.com/RocketChat/Rocket.Chat/pull/10262)) - /me REST endpoint was missing user roles and preferences ([#10240](https://github.com/RocketChat/Rocket.Chat/pull/10240)) @@ -93,24 +1259,24 @@ - Wrong pagination information on /api/v1/channels.members ([#10224](https://github.com/RocketChat/Rocket.Chat/pull/10224)) - Inline code following a url leads to autolinking of code with url ([#10163](https://github.com/RocketChat/Rocket.Chat/pull/10163) by [@c0dzilla](https://github.com/c0dzilla)) - Incoming Webhooks were missing the raw content ([#10258](https://github.com/RocketChat/Rocket.Chat/pull/10258)) -- Missing Translation Key on Reactions ([#10270](https://github.com/RocketChat/Rocket.Chat/pull/10270)) +- Missing Translation Key on Reactions ([#10270](https://github.com/RocketChat/Rocket.Chat/pull/10270) by [@bernardoetrevisan](https://github.com/bernardoetrevisan))
🔍 Minor changes +- Release 0.63.0 ([#10324](https://github.com/RocketChat/Rocket.Chat/pull/10324) by [@Joe-mcgee](https://github.com/Joe-mcgee) & [@TopHattedCat](https://github.com/TopHattedCat) & [@hmagarotto](https://github.com/hmagarotto) & [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) & [@kb0304](https://github.com/kb0304) & [@lunaticmonk](https://github.com/lunaticmonk) & [@ramrami](https://github.com/ramrami)) - Fix: Reaction endpoint/api only working with regular emojis ([#10323](https://github.com/RocketChat/Rocket.Chat/pull/10323)) - Bump snap version to include security fix ([#10313](https://github.com/RocketChat/Rocket.Chat/pull/10313)) - Update Meteor to 1.6.1.1 ([#10314](https://github.com/RocketChat/Rocket.Chat/pull/10314)) - LingoHub based on develop ([#10243](https://github.com/RocketChat/Rocket.Chat/pull/10243)) - Rename migration name on 108 to match file name ([#10237](https://github.com/RocketChat/Rocket.Chat/pull/10237)) -- Fix typo for Nextcloud login ([#10159](https://github.com/RocketChat/Rocket.Chat/pull/10159) by [@pierreozoux](https://github.com/pierreozoux)) +- Fix typo for Nextcloud login ([#10159](https://github.com/RocketChat/Rocket.Chat/pull/10159)) - Add a few listener supports for the Rocket.Chat Apps ([#10154](https://github.com/RocketChat/Rocket.Chat/pull/10154)) -- Add forums as a place to suggest, discuss and upvote features ([#10148](https://github.com/RocketChat/Rocket.Chat/pull/10148)) +- Add forums as a place to suggest, discuss and upvote features ([#10148](https://github.com/RocketChat/Rocket.Chat/pull/10148) by [@SeanPackham](https://github.com/SeanPackham)) - Fix tests breaking randomly ([#10065](https://github.com/RocketChat/Rocket.Chat/pull/10065)) - [OTHER] Reactivate all tests ([#10036](https://github.com/RocketChat/Rocket.Chat/pull/10036)) - [OTHER] Reactivate API tests ([#9844](https://github.com/RocketChat/Rocket.Chat/pull/9844)) - Start 0.63.0-develop / develop sync from master ([#9985](https://github.com/RocketChat/Rocket.Chat/pull/9985)) -- Release 0.62.2 ([#10087](https://github.com/RocketChat/Rocket.Chat/pull/10087)) - Fix: Renaming channels.notifications Get/Post endpoints ([#10257](https://github.com/RocketChat/Rocket.Chat/pull/10257)) - Fix caddy download link to pull from github ([#10260](https://github.com/RocketChat/Rocket.Chat/pull/10260)) - Fix: possible errors on rocket.chat side of the apps ([#10252](https://github.com/RocketChat/Rocket.Chat/pull/10252)) @@ -124,21 +1290,39 @@ ### 👩‍💻👨‍💻 Contributors 😍 - [@Joe-mcgee](https://github.com/Joe-mcgee) +- [@SeanPackham](https://github.com/SeanPackham) - [@TopHattedCat](https://github.com/TopHattedCat) +- [@bernardoetrevisan](https://github.com/bernardoetrevisan) - [@c0dzilla](https://github.com/c0dzilla) - [@cyclops24](https://github.com/cyclops24) - [@hmagarotto](https://github.com/hmagarotto) - [@kaiiiiiiiii](https://github.com/kaiiiiiiiii) - [@kb0304](https://github.com/kb0304) +- [@lunaticmonk](https://github.com/lunaticmonk) - [@mutdmour](https://github.com/mutdmour) -- [@pierreozoux](https://github.com/pierreozoux) - [@ramrami](https://github.com/ramrami) -- [@sumedh123](https://github.com/sumedh123) -- [@trongthanh](https://github.com/trongthanh) - [@ubarsaiyan](https://github.com/ubarsaiyan) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@pierreozoux](https://github.com/pierreozoux) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.62.2 -`2018-03-09 · 6 🐛 · 1 🔍 · 1 👩‍💻👨‍💻` +`2018-03-09 · 6 🐛 · 1 🔍 · 4 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.4` +- NPM: `5.6.0` ### 🐛 Bug fixes @@ -160,8 +1344,18 @@ - [@trongthanh](https://github.com/trongthanh) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.62.1 -`2018-03-03 · 4 🐛 · 1 🔍` +`2018-03-03 · 4 🐛 · 1 🔍 · 4 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.4` +- NPM: `5.6.0` ### 🐛 Bug fixes @@ -177,8 +1371,19 @@
+### 👩‍💻👨‍💻 Core Team 🤓 + +- [@ggazzo](https://github.com/ggazzo) +- [@karlprieb](https://github.com/karlprieb) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.62.0 -`2018-02-27 · 1 ️️️⚠️ · 24 🎉 · 32 🐛 · 26 🔍 · 25 👩‍💻👨‍💻` +`2018-02-27 · 1 ️️️⚠️ · 24 🎉 · 29 🐛 · 26 🔍 · 39 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.4` +- NPM: `5.6.0` ### ⚠️ BREAKING CHANGES @@ -193,7 +1398,7 @@ - New sidebar layout ([#9608](https://github.com/RocketChat/Rocket.Chat/pull/9608)) - Message read receipts ([#9717](https://github.com/RocketChat/Rocket.Chat/pull/9717)) - Alert admins when user requires approval & alert users when the account is approved/activated/deactivated ([#7098](https://github.com/RocketChat/Rocket.Chat/pull/7098) by [@luisfn](https://github.com/luisfn)) -- Allow configuration of SAML logout behavior ([#9527](https://github.com/RocketChat/Rocket.Chat/pull/9527) by [@mrsimpson](https://github.com/mrsimpson)) +- Allow configuration of SAML logout behavior ([#9527](https://github.com/RocketChat/Rocket.Chat/pull/9527)) - Internal hubot support for Direct Messages and Private Groups ([#8933](https://github.com/RocketChat/Rocket.Chat/pull/8933) by [@ramrami](https://github.com/ramrami)) - Improved default welcome message ([#9298](https://github.com/RocketChat/Rocket.Chat/pull/9298) by [@HammyHavoc](https://github.com/HammyHavoc)) - Makes shield icon configurable ([#9746](https://github.com/RocketChat/Rocket.Chat/pull/9746) by [@c0dzilla](https://github.com/c0dzilla)) @@ -207,23 +1412,20 @@ - New REST API to mark channel as read ([#9507](https://github.com/RocketChat/Rocket.Chat/pull/9507)) - Add route to get user shield/badge ([#9549](https://github.com/RocketChat/Rocket.Chat/pull/9549) by [@kb0304](https://github.com/kb0304)) - GraphQL API ([#8158](https://github.com/RocketChat/Rocket.Chat/pull/8158) by [@kamilkisiela](https://github.com/kamilkisiela)) -- Livestream tab ([#9255](https://github.com/RocketChat/Rocket.Chat/pull/9255)) -- Add documentation requirement to PRs ([#9658](https://github.com/RocketChat/Rocket.Chat/pull/9658)) -- Request mongoDB version in github issue template ([#9807](https://github.com/RocketChat/Rocket.Chat/pull/9807) by [@TwizzyDizzy](https://github.com/TwizzyDizzy)) +- Livestream tab ([#9255](https://github.com/RocketChat/Rocket.Chat/pull/9255) by [@gdelavald](https://github.com/gdelavald)) +- Add documentation requirement to PRs ([#9658](https://github.com/RocketChat/Rocket.Chat/pull/9658) by [@SeanPackham](https://github.com/SeanPackham)) +- Request mongoDB version in github issue template ([#9807](https://github.com/RocketChat/Rocket.Chat/pull/9807)) ### 🐛 Bug fixes - Typo on french translation for "Open" ([#9934](https://github.com/RocketChat/Rocket.Chat/pull/9934) by [@sizrar](https://github.com/sizrar)) - Wrong behavior of rooms info's *Read Only* and *Collaborative* buttons ([#9665](https://github.com/RocketChat/Rocket.Chat/pull/9665)) - Close button on file upload bar was not working ([#9662](https://github.com/RocketChat/Rocket.Chat/pull/9662)) -- Livechat conversation not receiving messages when start without form ([#9772](https://github.com/RocketChat/Rocket.Chat/pull/9772)) -- Emoji rendering on last message ([#9776](https://github.com/RocketChat/Rocket.Chat/pull/9776)) - Chrome 64 breaks jitsi-meet iframe ([#9560](https://github.com/RocketChat/Rocket.Chat/pull/9560) by [@speedy01](https://github.com/speedy01)) -- Harmonize channel-related actions ([#9697](https://github.com/RocketChat/Rocket.Chat/pull/9697) by [@mrsimpson](https://github.com/mrsimpson)) +- Harmonize channel-related actions ([#9697](https://github.com/RocketChat/Rocket.Chat/pull/9697)) - Custom emoji was cropping sometimes ([#9676](https://github.com/RocketChat/Rocket.Chat/pull/9676) by [@anu-007](https://github.com/anu-007)) -- Show custom room types icon in channel header ([#9696](https://github.com/RocketChat/Rocket.Chat/pull/9696) by [@mrsimpson](https://github.com/mrsimpson)) +- Show custom room types icon in channel header ([#9696](https://github.com/RocketChat/Rocket.Chat/pull/9696)) - 'Query' support for channels.list.joined, groups.list, groups.listAll, im.list ([#9424](https://github.com/RocketChat/Rocket.Chat/pull/9424) by [@xbolshe](https://github.com/xbolshe)) -- Livechat issues on external queue and lead capture ([#9750](https://github.com/RocketChat/Rocket.Chat/pull/9750)) - DeprecationWarning: prom-client ... when starting Rocket Chat server ([#9747](https://github.com/RocketChat/Rocket.Chat/pull/9747) by [@jgtoriginal](https://github.com/jgtoriginal)) - API to retrive rooms was returning empty objects ([#9737](https://github.com/RocketChat/Rocket.Chat/pull/9737)) - Chat Message Reactions REST API End Point ([#9487](https://github.com/RocketChat/Rocket.Chat/pull/9487) by [@jgtoriginal](https://github.com/jgtoriginal)) @@ -236,8 +1438,8 @@ - Rest API helpers only applying to v1 ([#9520](https://github.com/RocketChat/Rocket.Chat/pull/9520)) - Desktop notification not showing when avatar came from external storage service ([#9639](https://github.com/RocketChat/Rocket.Chat/pull/9639)) - Missing link Site URLs in enrollment e-mails ([#9454](https://github.com/RocketChat/Rocket.Chat/pull/9454) by [@kemitchell](https://github.com/kemitchell)) -- Missing string 'Username_already_exist' on the accountProfile page ([#9610](https://github.com/RocketChat/Rocket.Chat/pull/9610) by [@sumedh123](https://github.com/sumedh123)) -- SVG avatars are not been displayed correctly when load in non HTML containers ([#9570](https://github.com/RocketChat/Rocket.Chat/pull/9570) by [@filipedelimabrito](https://github.com/filipedelimabrito)) +- Missing string 'Username_already_exist' on the accountProfile page ([#9610](https://github.com/RocketChat/Rocket.Chat/pull/9610) by [@lunaticmonk](https://github.com/lunaticmonk)) +- SVG avatars are not been displayed correctly when load in non HTML containers ([#9570](https://github.com/RocketChat/Rocket.Chat/pull/9570)) - Livechat is not working when running in a sub path ([#9599](https://github.com/RocketChat/Rocket.Chat/pull/9599)) - Not receiving sound notifications in rooms created by new LiveChats ([#9802](https://github.com/RocketChat/Rocket.Chat/pull/9802)) - Silence the update check error message ([#9858](https://github.com/RocketChat/Rocket.Chat/pull/9858)) @@ -265,14 +1467,14 @@ - Dependencies update ([#9811](https://github.com/RocketChat/Rocket.Chat/pull/9811)) - Fix: Custom fields not showing on user info panel ([#9821](https://github.com/RocketChat/Rocket.Chat/pull/9821)) - Regression: Page was not respecting the window height on Firefox ([#9804](https://github.com/RocketChat/Rocket.Chat/pull/9804)) -- Update bot-config.yml ([#9784](https://github.com/RocketChat/Rocket.Chat/pull/9784) by [@JSzaszvari](https://github.com/JSzaszvari)) +- Update bot-config.yml ([#9784](https://github.com/RocketChat/Rocket.Chat/pull/9784)) - Develop fix sync from master ([#9797](https://github.com/RocketChat/Rocket.Chat/pull/9797)) - Regression: Change create channel icon ([#9851](https://github.com/RocketChat/Rocket.Chat/pull/9851)) - Regression: Fix channel icons on safari ([#9852](https://github.com/RocketChat/Rocket.Chat/pull/9852)) - Regression: Fix admin/user settings item text ([#9845](https://github.com/RocketChat/Rocket.Chat/pull/9845)) - Regression: Improve sidebar filter ([#9905](https://github.com/RocketChat/Rocket.Chat/pull/9905)) - [OTHER] Fix Apps not working on multi-instance deployments ([#9902](https://github.com/RocketChat/Rocket.Chat/pull/9902)) -- [Fix] Not Translated Phrases ([#9877](https://github.com/RocketChat/Rocket.Chat/pull/9877)) +- [Fix] Not Translated Phrases ([#9877](https://github.com/RocketChat/Rocket.Chat/pull/9877) by [@bernardoetrevisan](https://github.com/bernardoetrevisan)) - Regression: Overlapping header in user profile panel ([#9889](https://github.com/RocketChat/Rocket.Chat/pull/9889) by [@kaiiiiiiiii](https://github.com/kaiiiiiiiii)) - Regression: sort on room's list not working correctly ([#9897](https://github.com/RocketChat/Rocket.Chat/pull/9897)) @@ -282,13 +1484,13 @@ - [@AmShaegar13](https://github.com/AmShaegar13) - [@HammyHavoc](https://github.com/HammyHavoc) -- [@JSzaszvari](https://github.com/JSzaszvari) - [@RationalCoding](https://github.com/RationalCoding) -- [@TwizzyDizzy](https://github.com/TwizzyDizzy) +- [@SeanPackham](https://github.com/SeanPackham) - [@anu-007](https://github.com/anu-007) +- [@bernardoetrevisan](https://github.com/bernardoetrevisan) - [@c0dzilla](https://github.com/c0dzilla) - [@cyberhck](https://github.com/cyberhck) -- [@filipedelimabrito](https://github.com/filipedelimabrito) +- [@gdelavald](https://github.com/gdelavald) - [@jgtoriginal](https://github.com/jgtoriginal) - [@jorgeluisrezende](https://github.com/jorgeluisrezende) - [@jsm84](https://github.com/jsm84) @@ -298,16 +1500,37 @@ - [@kemitchell](https://github.com/kemitchell) - [@lindoelio](https://github.com/lindoelio) - [@luisfn](https://github.com/luisfn) -- [@mrsimpson](https://github.com/mrsimpson) +- [@lunaticmonk](https://github.com/lunaticmonk) - [@ramrami](https://github.com/ramrami) - [@savikko](https://github.com/savikko) - [@sizrar](https://github.com/sizrar) - [@speedy01](https://github.com/speedy01) -- [@sumedh123](https://github.com/sumedh123) - [@xbolshe](https://github.com/xbolshe) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@JSzaszvari](https://github.com/JSzaszvari) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@TwizzyDizzy](https://github.com/TwizzyDizzy) +- [@engelgabriel](https://github.com/engelgabriel) +- [@filipedelimabrito](https://github.com/filipedelimabrito) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@mrsimpson](https://github.com/mrsimpson) +- [@rafaelks](https://github.com/rafaelks) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.61.2 -`2018-02-20 · 3 🐛 · 1 🔍` +`2018-02-20 · 3 🐛 · 1 🔍 · 3 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.3` +- NPM: `5.5.1` ### 🐛 Bug fixes @@ -322,8 +1545,18 @@ +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@ggazzo](https://github.com/ggazzo) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.61.1 -`2018-02-14 · 1 🔍` +`2018-02-14 · 1 🔍 · 1 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.3` +- NPM: `5.5.1`
🔍 Minor changes @@ -332,8 +1565,16 @@
+### 👩‍💻👨‍💻 Core Team 🤓 + +- [@rodrigok](https://github.com/rodrigok) + # 0.61.0 -`2018-01-27 · 1 ️️️⚠️ · 12 🎉 · 55 🐛 · 43 🔍 · 13 👩‍💻👨‍💻` +`2018-01-27 · 1 ️️️⚠️ · 11 🎉 · 13 🐛 · 8 🔍 · 15 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.3` +- NPM: `5.5.1` ### ⚠️ BREAKING CHANGES @@ -342,7 +1583,7 @@ ### 🎉 New features - Contextual Bar Redesign ([#8411](https://github.com/RocketChat/Rocket.Chat/pull/8411)) -- Update documentation: provide example for multiple basedn ([#9442](https://github.com/RocketChat/Rocket.Chat/pull/9442) by [@mms-segu](https://github.com/mms-segu)) +- Update documentation: provide example for multiple basedn ([#9442](https://github.com/RocketChat/Rocket.Chat/pull/9442) by [@rndmh3ro](https://github.com/rndmh3ro)) - Sidebar menu option to mark room as unread ([#9216](https://github.com/RocketChat/Rocket.Chat/pull/9216)) - Add mention-here permission #7631 ([#9228](https://github.com/RocketChat/Rocket.Chat/pull/9228) by [@ryjones](https://github.com/ryjones)) - Indicate the Self DM room ([#9234](https://github.com/RocketChat/Rocket.Chat/pull/9234)) @@ -351,15 +1592,10 @@ - Livechat extract lead data from message ([#9135](https://github.com/RocketChat/Rocket.Chat/pull/9135)) - Add impersonate option for livechat triggers ([#9107](https://github.com/RocketChat/Rocket.Chat/pull/9107)) - Add support to external livechat queue service provider ([#9053](https://github.com/RocketChat/Rocket.Chat/pull/9053)) -- Make Custom oauth accept nested usernameField ([#9066](https://github.com/RocketChat/Rocket.Chat/pull/9066) by [@pierreozoux](https://github.com/pierreozoux)) - Contextual bar mail messages ([#9510](https://github.com/RocketChat/Rocket.Chat/pull/9510)) ### 🐛 Bug fixes -- Restore translations from other languages ([#9277](https://github.com/RocketChat/Rocket.Chat/pull/9277)) -- Remove sweetalert from livechat facebook integration page ([#9274](https://github.com/RocketChat/Rocket.Chat/pull/9274)) -- Missing translations ([#9272](https://github.com/RocketChat/Rocket.Chat/pull/9272)) -- File access not working when passing credentials via querystring ([#9262](https://github.com/RocketChat/Rocket.Chat/pull/9262)) - [i18n] add room type translation support for room-changed-privacy message ([#9369](https://github.com/RocketChat/Rocket.Chat/pull/9369) by [@cyclops24](https://github.com/cyclops24)) - Fix livechat register form ([#9452](https://github.com/RocketChat/Rocket.Chat/pull/9452)) - Fix livechat build ([#9451](https://github.com/RocketChat/Rocket.Chat/pull/9451)) @@ -368,117 +1604,53 @@ - Slash command 'archive' throws exception if the channel does not exist ([#9428](https://github.com/RocketChat/Rocket.Chat/pull/9428) by [@ramrami](https://github.com/ramrami)) - Subscriptions not removed when removing user ([#9432](https://github.com/RocketChat/Rocket.Chat/pull/9432)) - Highlight setting not working correctly ([#9364](https://github.com/RocketChat/Rocket.Chat/pull/9364) by [@cyclops24](https://github.com/cyclops24)) -- announcement hyperlink color ([#9330](https://github.com/RocketChat/Rocket.Chat/pull/9330)) -- popover on safari for iOS ([#9328](https://github.com/RocketChat/Rocket.Chat/pull/9328)) -- last message cutting on bottom ([#9345](https://github.com/RocketChat/Rocket.Chat/pull/9345)) -- Deleting message with store last message not removing ([#9335](https://github.com/RocketChat/Rocket.Chat/pull/9335)) -- custom emoji size on sidebar item ([#9314](https://github.com/RocketChat/Rocket.Chat/pull/9314)) -- svg render on firefox ([#9311](https://github.com/RocketChat/Rocket.Chat/pull/9311)) -- sidebar footer padding ([#9249](https://github.com/RocketChat/Rocket.Chat/pull/9249)) -- LDAP/AD is not importing all users ([#9309](https://github.com/RocketChat/Rocket.Chat/pull/9309)) -- Wrong position of notifications alert in accounts preference page ([#9289](https://github.com/RocketChat/Rocket.Chat/pull/9289) by [@HammyHavoc](https://github.com/HammyHavoc)) -- English Typos ([#9285](https://github.com/RocketChat/Rocket.Chat/pull/9285) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Restore translations from other languages ([#9277](https://github.com/RocketChat/Rocket.Chat/pull/9277)) -- Remove sweetalert from livechat facebook integration page ([#9274](https://github.com/RocketChat/Rocket.Chat/pull/9274)) -- Missing translations ([#9272](https://github.com/RocketChat/Rocket.Chat/pull/9272)) - File access not working when passing credentials via querystring ([#9264](https://github.com/RocketChat/Rocket.Chat/pull/9264)) -- Move emojipicker css to theme package ([#9243](https://github.com/RocketChat/Rocket.Chat/pull/9243)) -- Show modal with announcement ([#9241](https://github.com/RocketChat/Rocket.Chat/pull/9241)) -- "Enter usernames" placeholder is cutting in "create channel" view ([#9194](https://github.com/RocketChat/Rocket.Chat/pull/9194) by [@TheReal1604](https://github.com/TheReal1604)) -- File upload not working on IE and weird on Chrome ([#9206](https://github.com/RocketChat/Rocket.Chat/pull/9206)) -- make the cross icon on user selection at channel creation page work ([#9176](https://github.com/RocketChat/Rocket.Chat/pull/9176) by [@vitor-nagao](https://github.com/vitor-nagao)) -- Made welcome emails more readable ([#9193](https://github.com/RocketChat/Rocket.Chat/pull/9193) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Cursor position when reply on safari ([#9185](https://github.com/RocketChat/Rocket.Chat/pull/9185)) -- Emoji size on last message preview ([#9186](https://github.com/RocketChat/Rocket.Chat/pull/9186)) -- Unread bar position when room have announcement ([#9188](https://github.com/RocketChat/Rocket.Chat/pull/9188)) -- Error when user roles is missing or is invalid ([#9040](https://github.com/RocketChat/Rocket.Chat/pull/9040) by [@paulovitin](https://github.com/paulovitin)) -- Make mentions and menu icons color darker ([#8922](https://github.com/RocketChat/Rocket.Chat/pull/8922)) -- "Use Emoji" preference not working ([#9182](https://github.com/RocketChat/Rocket.Chat/pull/9182)) -- channel create scroll on small screens ([#9168](https://github.com/RocketChat/Rocket.Chat/pull/9168)) -- go to replied message ([#9172](https://github.com/RocketChat/Rocket.Chat/pull/9172)) -- modal data on enter and modal style for file preview ([#9171](https://github.com/RocketChat/Rocket.Chat/pull/9171)) -- show oauth logins when adblock is used ([#9170](https://github.com/RocketChat/Rocket.Chat/pull/9170)) -- Last sent message reoccurs in textbox ([#9169](https://github.com/RocketChat/Rocket.Chat/pull/9169)) -- Update Rocket.Chat for sandstorm ([#9062](https://github.com/RocketChat/Rocket.Chat/pull/9062) by [@peterlee0127](https://github.com/peterlee0127)) -- Importers not recovering when an error occurs ([#9134](https://github.com/RocketChat/Rocket.Chat/pull/9134)) -- Do not block room while loading history ([#9121](https://github.com/RocketChat/Rocket.Chat/pull/9121)) -- Channel page error ([#9091](https://github.com/RocketChat/Rocket.Chat/pull/9091) by [@ggrish](https://github.com/ggrish)) -- Restore translations from other languages ([#9277](https://github.com/RocketChat/Rocket.Chat/pull/9277)) -- Remove sweetalert from livechat facebook integration page ([#9274](https://github.com/RocketChat/Rocket.Chat/pull/9274)) -- Missing translations ([#9272](https://github.com/RocketChat/Rocket.Chat/pull/9272)) -- File access not working when passing credentials via querystring ([#9262](https://github.com/RocketChat/Rocket.Chat/pull/9262)) -- Contextual bar redesign ([#9481](https://github.com/RocketChat/Rocket.Chat/pull/9481)) +- Contextual bar redesign ([#9481](https://github.com/RocketChat/Rocket.Chat/pull/9481) by [@gdelavald](https://github.com/gdelavald)) - mention-here is missing i18n text #9455 ([#9456](https://github.com/RocketChat/Rocket.Chat/pull/9456) by [@ryjones](https://github.com/ryjones)) - Fix livechat visitor edit ([#9506](https://github.com/RocketChat/Rocket.Chat/pull/9506)) -- large names on userinfo, and admin user bug on users with no usernames ([#9493](https://github.com/RocketChat/Rocket.Chat/pull/9493)) +- large names on userinfo, and admin user bug on users with no usernames ([#9493](https://github.com/RocketChat/Rocket.Chat/pull/9493) by [@gdelavald](https://github.com/gdelavald))
🔍 Minor changes - Release 0.61.0 ([#9533](https://github.com/RocketChat/Rocket.Chat/pull/9533) by [@ryjones](https://github.com/ryjones)) -- Release 0.60.4 ([#9377](https://github.com/RocketChat/Rocket.Chat/pull/9377)) -- Release 0.60.3 ([#9320](https://github.com/RocketChat/Rocket.Chat/pull/9320) by [@HammyHavoc](https://github.com/HammyHavoc)) - Add community bot ([#9439](https://github.com/RocketChat/Rocket.Chat/pull/9439)) - Use correct version of Mailparser module ([#9356](https://github.com/RocketChat/Rocket.Chat/pull/9356)) -- Update Marked dependecy to 0.3.9 ([#9346](https://github.com/RocketChat/Rocket.Chat/pull/9346)) -- Fix: English language improvements ([#9299](https://github.com/RocketChat/Rocket.Chat/pull/9299) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Fix: Change 'Wordpress' to 'WordPress ([#9291](https://github.com/RocketChat/Rocket.Chat/pull/9291) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Fix: Improved README.md ([#9290](https://github.com/RocketChat/Rocket.Chat/pull/9290) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Fix: README typo ([#9286](https://github.com/RocketChat/Rocket.Chat/pull/9286) by [@HammyHavoc](https://github.com/HammyHavoc)) - Develop sync - Bump version to 0.61.0-develop ([#9260](https://github.com/RocketChat/Rocket.Chat/pull/9260) by [@cpitman](https://github.com/cpitman)) -- Do not change room icon color when room is unread ([#9257](https://github.com/RocketChat/Rocket.Chat/pull/9257)) -- LingoHub based on develop ([#9256](https://github.com/RocketChat/Rocket.Chat/pull/9256)) -- Fix: Sidebar item on rtl and small devices ([#9247](https://github.com/RocketChat/Rocket.Chat/pull/9247)) -- Add curl, its missing on worker nodes so has to be explicitly added ([#9248](https://github.com/RocketChat/Rocket.Chat/pull/9248)) -- Fix: Unneeded warning in payload of REST API calls ([#9240](https://github.com/RocketChat/Rocket.Chat/pull/9240)) -- Fix: Missing option to set user's avatar from a url ([#9229](https://github.com/RocketChat/Rocket.Chat/pull/9229)) -- Fix: Upload access control too distributed ([#9215](https://github.com/RocketChat/Rocket.Chat/pull/9215)) -- Fix: Username find is matching partially ([#9217](https://github.com/RocketChat/Rocket.Chat/pull/9217)) -- Fix: updating last message on message edit or delete ([#9227](https://github.com/RocketChat/Rocket.Chat/pull/9227)) -- Fix: Rooms and users are using different avatar style ([#9196](https://github.com/RocketChat/Rocket.Chat/pull/9196)) -- Replace postcss-nesting with postcss-nested ([#9200](https://github.com/RocketChat/Rocket.Chat/pull/9200)) -- Dependencies Update ([#9197](https://github.com/RocketChat/Rocket.Chat/pull/9197)) -- Typo: German language file ([#9190](https://github.com/RocketChat/Rocket.Chat/pull/9190) by [@TheReal1604](https://github.com/TheReal1604)) -- Fix: Snippet name to not showing in snippet list ([#9184](https://github.com/RocketChat/Rocket.Chat/pull/9184)) -- Fix/api me only return verified ([#9183](https://github.com/RocketChat/Rocket.Chat/pull/9183)) -- Fix: UI: Descenders of glyphs are cut off ([#9181](https://github.com/RocketChat/Rocket.Chat/pull/9181)) - [Fix] oauth not working because of email array ([#9173](https://github.com/RocketChat/Rocket.Chat/pull/9173)) -- Fix: Click on channel name - hover area bigger than link area ([#9165](https://github.com/RocketChat/Rocket.Chat/pull/9165)) -- Fix: UI: Descenders of glyphs are cut off ([#9166](https://github.com/RocketChat/Rocket.Chat/pull/9166)) -- Fix: Can’t login using LDAP via REST ([#9162](https://github.com/RocketChat/Rocket.Chat/pull/9162)) -- Fix: Unread line ([#9149](https://github.com/RocketChat/Rocket.Chat/pull/9149)) -- Fix test without oplog by waiting a successful login on changing users ([#9146](https://github.com/RocketChat/Rocket.Chat/pull/9146)) -- Fix: Messages being displayed in reverse order ([#9144](https://github.com/RocketChat/Rocket.Chat/pull/9144)) -- Fix: Clear all unreads modal not closing after confirming ([#9137](https://github.com/RocketChat/Rocket.Chat/pull/9137)) -- Fix: Message action quick buttons drops if "new message" divider is being shown ([#9138](https://github.com/RocketChat/Rocket.Chat/pull/9138)) -- Fix: Confirmation modals showing `Send` button ([#9136](https://github.com/RocketChat/Rocket.Chat/pull/9136)) -- Fix: Multiple unread indicators ([#9120](https://github.com/RocketChat/Rocket.Chat/pull/9120)) -- Release 0.60.4 ([#9377](https://github.com/RocketChat/Rocket.Chat/pull/9377)) -- Release 0.60.3 ([#9320](https://github.com/RocketChat/Rocket.Chat/pull/9320) by [@HammyHavoc](https://github.com/HammyHavoc)) - [DOCS] Update the links of our Mobile Apps in Features topic ([#9469](https://github.com/RocketChat/Rocket.Chat/pull/9469)) -- Update license ([#9490](https://github.com/RocketChat/Rocket.Chat/pull/9490) by [@frdmn](https://github.com/frdmn)) +- Update license ([#9490](https://github.com/RocketChat/Rocket.Chat/pull/9490)) - Prevent NPM package-lock inside livechat ([#9504](https://github.com/RocketChat/Rocket.Chat/pull/9504))
### 👩‍💻👨‍💻 Contributors 😍 -- [@HammyHavoc](https://github.com/HammyHavoc) -- [@TheReal1604](https://github.com/TheReal1604) - [@cpitman](https://github.com/cpitman) - [@cyclops24](https://github.com/cyclops24) -- [@frdmn](https://github.com/frdmn) -- [@ggrish](https://github.com/ggrish) -- [@mms-segu](https://github.com/mms-segu) -- [@paulovitin](https://github.com/paulovitin) -- [@peterlee0127](https://github.com/peterlee0127) -- [@pierreozoux](https://github.com/pierreozoux) +- [@gdelavald](https://github.com/gdelavald) - [@ramrami](https://github.com/ramrami) +- [@rndmh3ro](https://github.com/rndmh3ro) - [@ryjones](https://github.com/ryjones) -- [@vitor-nagao](https://github.com/vitor-nagao) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@engelgabriel](https://github.com/engelgabriel) +- [@frdmn](https://github.com/frdmn) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@karlprieb](https://github.com/karlprieb) +- [@rafaelks](https://github.com/rafaelks) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) # 0.60.4 -`2018-01-10 · 5 🐛 · 4 🔍 · 1 👩‍💻👨‍💻` +`2018-01-10 · 5 🐛 · 2 🔍 · 3 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.3` +- NPM: `5.5.1` ### 🐛 Bug fixes @@ -492,18 +1664,22 @@ 🔍 Minor changes - Release 0.60.4 ([#9377](https://github.com/RocketChat/Rocket.Chat/pull/9377)) -- Release 0.60.3 ([#9320](https://github.com/RocketChat/Rocket.Chat/pull/9320) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Release 0.60.3 ([#9320](https://github.com/RocketChat/Rocket.Chat/pull/9320) by [@HammyHavoc](https://github.com/HammyHavoc)) - Update Marked dependecy to 0.3.9 ([#9346](https://github.com/RocketChat/Rocket.Chat/pull/9346)) -### 👩‍💻👨‍💻 Contributors 😍 +### 👩‍💻👨‍💻 Core Team 🤓 -- [@HammyHavoc](https://github.com/HammyHavoc) +- [@karlprieb](https://github.com/karlprieb) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) # 0.60.3 -`2018-01-03 · 6 🐛 · 5 🔍 · 1 👩‍💻👨‍💻` +`2018-01-03 · 6 🐛 · 5 🔍 · 3 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.3` +- NPM: `5.5.1` ### 🐛 Bug fixes @@ -529,8 +1705,17 @@ - [@HammyHavoc](https://github.com/HammyHavoc) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@karlprieb](https://github.com/karlprieb) +- [@rodrigok](https://github.com/rodrigok) + # 0.60.2 -`2017-12-29 · 3 🐛 · 1 🔍` +`2017-12-29 · 3 🐛 · 1 🔍 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.3` +- NPM: `5.5.1` ### 🐛 Bug fixes @@ -545,15 +1730,32 @@ +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.60.1 -`2017-12-27 · 1 🐛` +`2017-12-27 · 1 🐛 · 1 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.3` +- NPM: `5.5.1` ### 🐛 Bug fixes - File access not working when passing credentials via querystring ([#9262](https://github.com/RocketChat/Rocket.Chat/pull/9262)) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@rodrigok](https://github.com/rodrigok) + # 0.60.0 -`2017-12-27 · 33 🎉 · 174 🐛 · 108 🔍 · 59 👩‍💻👨‍💻` +`2017-12-27 · 27 🎉 · 74 🐛 · 72 🔍 · 59 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.9.3` +- NPM: `5.5.1` ### 🎉 New features @@ -570,7 +1772,7 @@ - Add new API endpoints ([#8947](https://github.com/RocketChat/Rocket.Chat/pull/8947)) - Option to enable/disable auto away and configure timer ([#8029](https://github.com/RocketChat/Rocket.Chat/pull/8029) by [@armand1m](https://github.com/armand1m)) - New Modal component ([#8882](https://github.com/RocketChat/Rocket.Chat/pull/8882)) -- Improve room types API and usages ([#9009](https://github.com/RocketChat/Rocket.Chat/pull/9009) by [@mrsimpson](https://github.com/mrsimpson)) +- Improve room types API and usages ([#9009](https://github.com/RocketChat/Rocket.Chat/pull/9009)) - Room counter sidebar preference ([#8866](https://github.com/RocketChat/Rocket.Chat/pull/8866)) - Save room's last message ([#8979](https://github.com/RocketChat/Rocket.Chat/pull/8979)) - Token Controlled Access channels ([#8060](https://github.com/RocketChat/Rocket.Chat/pull/8060) by [@lindoelio](https://github.com/lindoelio)) @@ -578,170 +1780,64 @@ - code to get the updated messages ([#8857](https://github.com/RocketChat/Rocket.Chat/pull/8857)) - Rest API endpoints to list, get, and run commands ([#8531](https://github.com/RocketChat/Rocket.Chat/pull/8531)) - Upgrade Meteor to 1.6 ([#8715](https://github.com/RocketChat/Rocket.Chat/pull/8715)) -- Setting to disable MarkDown and enable AutoLinker ([#8459](https://github.com/RocketChat/Rocket.Chat/pull/8459)) - Add settings for allow user direct messages to yourself ([#8066](https://github.com/RocketChat/Rocket.Chat/pull/8066) by [@lindoelio](https://github.com/lindoelio)) - Add sweet alert to video call tab ([#8108](https://github.com/RocketChat/Rocket.Chat/pull/8108)) - Displays QR code for manually entering when enabling 2fa ([#8143](https://github.com/RocketChat/Rocket.Chat/pull/8143)) -- Unify unread and mentions badge ([#8361](https://github.com/RocketChat/Rocket.Chat/pull/8361)) -- make sidebar item width 100% ([#8362](https://github.com/RocketChat/Rocket.Chat/pull/8362)) -- Smaller accountBox ([#8360](https://github.com/RocketChat/Rocket.Chat/pull/8360)) -- Add RD Station integration to livechat ([#8304](https://github.com/RocketChat/Rocket.Chat/pull/8304)) -- Upgrade to meteor 1.5.2 ([#8073](https://github.com/RocketChat/Rocket.Chat/pull/8073)) - Add yunohost.org installation method to Readme.md ([#8037](https://github.com/RocketChat/Rocket.Chat/pull/8037) by [@selamanse](https://github.com/selamanse)) - Modal ([#9092](https://github.com/RocketChat/Rocket.Chat/pull/9092)) -- Make Custom oauth accept nested usernameField ([#9066](https://github.com/RocketChat/Rocket.Chat/pull/9066) by [@pierreozoux](https://github.com/pierreozoux)) +- Make Custom oauth accept nested usernameField ([#9066](https://github.com/RocketChat/Rocket.Chat/pull/9066)) ### 🐛 Bug fixes -- Channel settings buttons ([#8753](https://github.com/RocketChat/Rocket.Chat/pull/8753)) - Can't react on Read Only rooms even when enabled ([#8925](https://github.com/RocketChat/Rocket.Chat/pull/8925)) - CAS does not share secrets when operating multiple server instances ([#8654](https://github.com/RocketChat/Rocket.Chat/pull/8654) by [@AmShaegar13](https://github.com/AmShaegar13)) - Snippetted messages not working ([#8937](https://github.com/RocketChat/Rocket.Chat/pull/8937)) - Added afterUserCreated trigger after first CAS login ([#9022](https://github.com/RocketChat/Rocket.Chat/pull/9022) by [@AmShaegar13](https://github.com/AmShaegar13)) - Notification is not sent when a video conference start ([#8828](https://github.com/RocketChat/Rocket.Chat/pull/8828) by [@deepseainside75](https://github.com/deepseainside75) & [@stefanoverducci](https://github.com/stefanoverducci)) -- long filename overlaps cancel button in progress bar ([#8868](https://github.com/RocketChat/Rocket.Chat/pull/8868) by [@joesitton](https://github.com/joesitton)) -- Changed oembedUrlWidget to prefer og:image and twitter:image over msapplication-TileImage ([#9012](https://github.com/RocketChat/Rocket.Chat/pull/9012) by [@wferris722](https://github.com/wferris722)) -- Update insecure moment.js dependency ([#9046](https://github.com/RocketChat/Rocket.Chat/pull/9046) by [@robbyoconnor](https://github.com/robbyoconnor)) -- Custom OAuth: Not able to set different token place for routes ([#9034](https://github.com/RocketChat/Rocket.Chat/pull/9034)) -- Can't use OAuth login against a Rocket.Chat OAuth server ([#9044](https://github.com/RocketChat/Rocket.Chat/pull/9044)) -- Notification sound is not disabling when busy ([#9042](https://github.com/RocketChat/Rocket.Chat/pull/9042)) -- Use encodeURI in AmazonS3 contentDisposition file.name to prevent fail ([#9024](https://github.com/RocketChat/Rocket.Chat/pull/9024) by [@paulovitin](https://github.com/paulovitin)) -- snap install by setting grpc package used by google/vision to 1.6.6 ([#9029](https://github.com/RocketChat/Rocket.Chat/pull/9029)) -- Enable CORS for Restivus ([#8671](https://github.com/RocketChat/Rocket.Chat/pull/8671) by [@mrsimpson](https://github.com/mrsimpson)) -- Importers failing when usernames exists but cases don't match and improve the importer framework's performance ([#8966](https://github.com/RocketChat/Rocket.Chat/pull/8966)) -- Error when saving integration with symbol as only trigger ([#9023](https://github.com/RocketChat/Rocket.Chat/pull/9023)) -- Sync of non existent field throws exception ([#8006](https://github.com/RocketChat/Rocket.Chat/pull/8006) by [@goiaba](https://github.com/goiaba)) -- Autoupdate of CSS does not work when using a prefix ([#8107](https://github.com/RocketChat/Rocket.Chat/pull/8107) by [@Darkneon](https://github.com/Darkneon)) -- Contextual errors for this and RegExp declarations in IRC module ([#8656](https://github.com/RocketChat/Rocket.Chat/pull/8656) by [@Pharserror](https://github.com/Pharserror)) -- Wrong room counter name ([#9013](https://github.com/RocketChat/Rocket.Chat/pull/9013)) -- Message-box autogrow flick ([#8932](https://github.com/RocketChat/Rocket.Chat/pull/8932)) -- Don't strip trailing slash on autolinker urls ([#8812](https://github.com/RocketChat/Rocket.Chat/pull/8812) by [@jwilkins](https://github.com/jwilkins)) -- Change the unread messages style ([#8883](https://github.com/RocketChat/Rocket.Chat/pull/8883)) -- Missing sidebar footer padding ([#8884](https://github.com/RocketChat/Rocket.Chat/pull/8884)) -- Long room announcement cut off ([#8907](https://github.com/RocketChat/Rocket.Chat/pull/8907)) -- DM email notifications always being sent regardless of account setting ([#8917](https://github.com/RocketChat/Rocket.Chat/pull/8917) by [@ashward](https://github.com/ashward)) -- Typo Fix ([#8938](https://github.com/RocketChat/Rocket.Chat/pull/8938) by [@seangeleno](https://github.com/seangeleno)) -- Katex markdown link changed ([#8948](https://github.com/RocketChat/Rocket.Chat/pull/8948) by [@mritunjaygoutam12](https://github.com/mritunjaygoutam12)) -- if ogImage exists use it over image in oembedUrlWidget ([#9000](https://github.com/RocketChat/Rocket.Chat/pull/9000) by [@satyapramodh](https://github.com/satyapramodh)) -- Cannot edit or delete custom sounds ([#8889](https://github.com/RocketChat/Rocket.Chat/pull/8889) by [@ccfang](https://github.com/ccfang)) -- Change old 'rocketbot' username to 'InternalHubot_Username' setting ([#8928](https://github.com/RocketChat/Rocket.Chat/pull/8928) by [@ramrami](https://github.com/ramrami)) -- Link for channels are not rendering correctly ([#8985](https://github.com/RocketChat/Rocket.Chat/pull/8985)) -- Xenforo [BD]API for 'user.user_id; instead of 'id' ([#8968](https://github.com/RocketChat/Rocket.Chat/pull/8968) by [@wesnspace](https://github.com/wesnspace)) -- flextab height on smaller screens ([#8994](https://github.com/RocketChat/Rocket.Chat/pull/8994)) -- Check for mention-all permission in room scope ([#8931](https://github.com/RocketChat/Rocket.Chat/pull/8931)) -- Channel settings buttons ([#8753](https://github.com/RocketChat/Rocket.Chat/pull/8753)) -- fix emoji package path so they show up correctly in browser ([#8822](https://github.com/RocketChat/Rocket.Chat/pull/8822) by [@ryoshimizu](https://github.com/ryoshimizu)) -- Set correct Twitter link ([#8830](https://github.com/RocketChat/Rocket.Chat/pull/8830) by [@jotafeldmann](https://github.com/jotafeldmann)) -- User email settings on DM ([#8810](https://github.com/RocketChat/Rocket.Chat/pull/8810)) -- i18n'd Resend_verification_mail, username_initials, upload avatar ([#8721](https://github.com/RocketChat/Rocket.Chat/pull/8721) by [@arungalva](https://github.com/arungalva)) -- Username clipping on firefox ([#8716](https://github.com/RocketChat/Rocket.Chat/pull/8716)) -- Improved grammar and made it clearer to the user ([#8795](https://github.com/RocketChat/Rocket.Chat/pull/8795) by [@HammyHavoc](https://github.com/HammyHavoc)) -- Show real name of current user at top of side nav if setting enabled ([#8718](https://github.com/RocketChat/Rocket.Chat/pull/8718)) -- Range Slider Value label has bug in RTL ([#8441](https://github.com/RocketChat/Rocket.Chat/pull/8441) by [@cyclops24](https://github.com/cyclops24)) -- Add historic chats icon in Livechat ([#8708](https://github.com/RocketChat/Rocket.Chat/pull/8708) by [@mrsimpson](https://github.com/mrsimpson)) -- Sort direct messages by full name if show real names setting enabled ([#8717](https://github.com/RocketChat/Rocket.Chat/pull/8717)) -- Improving consistency of UX ([#8796](https://github.com/RocketChat/Rocket.Chat/pull/8796) by [@HammyHavoc](https://github.com/HammyHavoc)) -- fixed some typos ([#8787](https://github.com/RocketChat/Rocket.Chat/pull/8787) by [@TheReal1604](https://github.com/TheReal1604)) -- Fix e-mail message forward ([#8645](https://github.com/RocketChat/Rocket.Chat/pull/8645)) -- Audio message icon ([#8648](https://github.com/RocketChat/Rocket.Chat/pull/8648)) -- Highlighted color height issue ([#8431](https://github.com/RocketChat/Rocket.Chat/pull/8431) by [@cyclops24](https://github.com/cyclops24)) -- AmazonS3: Quote file.name for ContentDisposition for files with commas ([#8593](https://github.com/RocketChat/Rocket.Chat/pull/8593) by [@xenithorb](https://github.com/xenithorb)) -- Update pt-BR translation ([#8655](https://github.com/RocketChat/Rocket.Chat/pull/8655) by [@rodorgas](https://github.com/rodorgas)) -- Fix typos ([#8679](https://github.com/RocketChat/Rocket.Chat/pull/8679)) -- LDAP not respecting UTF8 characters & Sync Interval not working ([#8691](https://github.com/RocketChat/Rocket.Chat/pull/8691)) -- Missing scroll at create channel page ([#8637](https://github.com/RocketChat/Rocket.Chat/pull/8637)) -- Message popup menu on mobile/cordova ([#8634](https://github.com/RocketChat/Rocket.Chat/pull/8634)) -- API channel/group.members not sorting ([#8635](https://github.com/RocketChat/Rocket.Chat/pull/8635)) -- LDAP not merging existent users && Wrong id link generation ([#8613](https://github.com/RocketChat/Rocket.Chat/pull/8613)) -- encode filename in url to prevent links breaking ([#8551](https://github.com/RocketChat/Rocket.Chat/pull/8551) by [@joesitton](https://github.com/joesitton)) -- Fix guest pool inquiry taking ([#8577](https://github.com/RocketChat/Rocket.Chat/pull/8577)) -- Changed all rocket.chat/docs/ to docs.rocket.chat/ ([#8588](https://github.com/RocketChat/Rocket.Chat/pull/8588) by [@RekkyRek](https://github.com/RekkyRek)) -- Color reset when default value editor is different ([#8543](https://github.com/RocketChat/Rocket.Chat/pull/8543)) -- Wrong colors after migration 103 ([#8547](https://github.com/RocketChat/Rocket.Chat/pull/8547)) -- LDAP login error regression at 0.59.0 ([#8541](https://github.com/RocketChat/Rocket.Chat/pull/8541)) -- Migration 103 wrong converting primrary colors ([#8544](https://github.com/RocketChat/Rocket.Chat/pull/8544)) -- Do not send joinCode field to clients ([#8527](https://github.com/RocketChat/Rocket.Chat/pull/8527)) -- Uncessary route reload break some routes ([#8514](https://github.com/RocketChat/Rocket.Chat/pull/8514)) -- Invalid Code message for password protected channel ([#8491](https://github.com/RocketChat/Rocket.Chat/pull/8491)) -- Wrong message when reseting password and 2FA is enabled ([#8489](https://github.com/RocketChat/Rocket.Chat/pull/8489)) -- LDAP memory issues when pagination is not available ([#8457](https://github.com/RocketChat/Rocket.Chat/pull/8457)) -- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) -- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) -- Sidebar item menu position in RTL ([#8397](https://github.com/RocketChat/Rocket.Chat/pull/8397) by [@cyclops24](https://github.com/cyclops24)) -- disabled katex tooltip on messageBox ([#8386](https://github.com/RocketChat/Rocket.Chat/pull/8386)) -- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) -- Various LDAP issues & Missing pagination ([#8372](https://github.com/RocketChat/Rocket.Chat/pull/8372)) -- remove accountBox from admin menu ([#8358](https://github.com/RocketChat/Rocket.Chat/pull/8358)) -- Missing i18n translations ([#8357](https://github.com/RocketChat/Rocket.Chat/pull/8357)) -- After deleting the room, cache is not synchronizing ([#8314](https://github.com/RocketChat/Rocket.Chat/pull/8314) by [@szluohua](https://github.com/szluohua)) -- Remove sidebar header on admin embedded version ([#8334](https://github.com/RocketChat/Rocket.Chat/pull/8334)) -- Email Subjects not being sent ([#8317](https://github.com/RocketChat/Rocket.Chat/pull/8317)) -- Put delete action on another popover group ([#8315](https://github.com/RocketChat/Rocket.Chat/pull/8315)) -- Mention unread indicator was removed ([#8316](https://github.com/RocketChat/Rocket.Chat/pull/8316)) -- Execute meteor reset on TRAVIS_TAG builds ([#8310](https://github.com/RocketChat/Rocket.Chat/pull/8310)) -- Wrong file name when upload to AWS S3 ([#8296](https://github.com/RocketChat/Rocket.Chat/pull/8296)) -- TypeError: Cannot read property 't' of undefined ([#8298](https://github.com/RocketChat/Rocket.Chat/pull/8298)) -- Check attachments is defined before accessing first element ([#8295](https://github.com/RocketChat/Rocket.Chat/pull/8295) by [@Darkneon](https://github.com/Darkneon)) -- Amin menu not showing all items & File list breaking line ([#8299](https://github.com/RocketChat/Rocket.Chat/pull/8299)) -- Call buttons with wrong margin on RTL ([#8307](https://github.com/RocketChat/Rocket.Chat/pull/8307)) -- Emoji Picker hidden for reactions in RTL ([#8300](https://github.com/RocketChat/Rocket.Chat/pull/8300)) -- fix color on unread messages ([#8282](https://github.com/RocketChat/Rocket.Chat/pull/8282)) -- Missing placeholder translations ([#8286](https://github.com/RocketChat/Rocket.Chat/pull/8286)) -- "Cancel button" on modal in RTL in Firefox 55 ([#8278](https://github.com/RocketChat/Rocket.Chat/pull/8278) by [@cyclops24](https://github.com/cyclops24)) -- Attachment icons alignment in LTR and RTL ([#8271](https://github.com/RocketChat/Rocket.Chat/pull/8271) by [@cyclops24](https://github.com/cyclops24)) -- [i18n] My Profile & README.md links ([#8270](https://github.com/RocketChat/Rocket.Chat/pull/8270) by [@Rzeszow](https://github.com/Rzeszow)) -- Incorrect URL for login terms when using prefix ([#8211](https://github.com/RocketChat/Rocket.Chat/pull/8211) by [@Darkneon](https://github.com/Darkneon)) -- Scrollbar not using new style ([#8190](https://github.com/RocketChat/Rocket.Chat/pull/8190)) -- User avatar in DM list. ([#8210](https://github.com/RocketChat/Rocket.Chat/pull/8210)) -- Fix iframe login API response (issue #8145) ([#8146](https://github.com/RocketChat/Rocket.Chat/pull/8146) by [@astax-t](https://github.com/astax-t)) -- Issue #8166 where empty analytics setting breaks to load Piwik script ([#8167](https://github.com/RocketChat/Rocket.Chat/pull/8167) by [@ruKurz](https://github.com/ruKurz)) -- Sidebar and RTL alignments ([#8154](https://github.com/RocketChat/Rocket.Chat/pull/8154)) -- "*.members" rest api being useless and only returning usernames ([#8147](https://github.com/RocketChat/Rocket.Chat/pull/8147)) -- Text area lost text when page reloads ([#8159](https://github.com/RocketChat/Rocket.Chat/pull/8159)) -- Add admin audio preferences translations ([#8094](https://github.com/RocketChat/Rocket.Chat/pull/8094)) -- RTL ([#8112](https://github.com/RocketChat/Rocket.Chat/pull/8112)) -- Settings description not showing ([#8122](https://github.com/RocketChat/Rocket.Chat/pull/8122)) -- Not sending email to mentioned users with unchanged preference ([#8059](https://github.com/RocketChat/Rocket.Chat/pull/8059)) -- Dynamic popover ([#8101](https://github.com/RocketChat/Rocket.Chat/pull/8101)) -- Fix setting user avatar on LDAP login ([#8099](https://github.com/RocketChat/Rocket.Chat/pull/8099)) -- Scroll on messagebox ([#8047](https://github.com/RocketChat/Rocket.Chat/pull/8047)) -- Invisible leader bar on hover ([#8048](https://github.com/RocketChat/Rocket.Chat/pull/8048)) -- Fix email on mention ([#7754](https://github.com/RocketChat/Rocket.Chat/pull/7754)) -- Prevent autotranslate tokens race condition ([#8046](https://github.com/RocketChat/Rocket.Chat/pull/8046)) -- Vertical menu on flex-tab ([#7988](https://github.com/RocketChat/Rocket.Chat/pull/7988)) -- message-box autogrow ([#8019](https://github.com/RocketChat/Rocket.Chat/pull/8019)) -- copy to clipboard and update clipboard.js library ([#8039](https://github.com/RocketChat/Rocket.Chat/pull/8039)) -- Recent emojis not updated when adding via text ([#7998](https://github.com/RocketChat/Rocket.Chat/pull/7998)) -- [PL] Polish translation ([#7989](https://github.com/RocketChat/Rocket.Chat/pull/7989) by [@Rzeszow](https://github.com/Rzeszow)) -- Chat box no longer auto-focuses when typing ([#7984](https://github.com/RocketChat/Rocket.Chat/pull/7984)) -- Fix the status on the members list ([#7963](https://github.com/RocketChat/Rocket.Chat/pull/7963)) -- Markdown being rendered in code tags ([#7965](https://github.com/RocketChat/Rocket.Chat/pull/7965)) +- long filename overlaps cancel button in progress bar ([#8868](https://github.com/RocketChat/Rocket.Chat/pull/8868) by [@joesitton](https://github.com/joesitton)) +- Changed oembedUrlWidget to prefer og:image and twitter:image over msapplication-TileImage ([#9012](https://github.com/RocketChat/Rocket.Chat/pull/9012) by [@wferris722](https://github.com/wferris722)) +- Update insecure moment.js dependency ([#9046](https://github.com/RocketChat/Rocket.Chat/pull/9046) by [@robbyoconnor](https://github.com/robbyoconnor)) +- Custom OAuth: Not able to set different token place for routes ([#9034](https://github.com/RocketChat/Rocket.Chat/pull/9034)) +- Can't use OAuth login against a Rocket.Chat OAuth server ([#9044](https://github.com/RocketChat/Rocket.Chat/pull/9044)) +- Notification sound is not disabling when busy ([#9042](https://github.com/RocketChat/Rocket.Chat/pull/9042)) +- Use encodeURI in AmazonS3 contentDisposition file.name to prevent fail ([#9024](https://github.com/RocketChat/Rocket.Chat/pull/9024) by [@paulovitin](https://github.com/paulovitin)) +- snap install by setting grpc package used by google/vision to 1.6.6 ([#9029](https://github.com/RocketChat/Rocket.Chat/pull/9029)) +- Enable CORS for Restivus ([#8671](https://github.com/RocketChat/Rocket.Chat/pull/8671)) +- Importers failing when usernames exists but cases don't match and improve the importer framework's performance ([#8966](https://github.com/RocketChat/Rocket.Chat/pull/8966)) +- Error when saving integration with symbol as only trigger ([#9023](https://github.com/RocketChat/Rocket.Chat/pull/9023)) +- Sync of non existent field throws exception ([#8006](https://github.com/RocketChat/Rocket.Chat/pull/8006) by [@goiaba](https://github.com/goiaba)) +- Autoupdate of CSS does not work when using a prefix ([#8107](https://github.com/RocketChat/Rocket.Chat/pull/8107) by [@Darkneon](https://github.com/Darkneon)) +- Contextual errors for this and RegExp declarations in IRC module ([#8656](https://github.com/RocketChat/Rocket.Chat/pull/8656) by [@Pharserror](https://github.com/Pharserror)) +- Wrong room counter name ([#9013](https://github.com/RocketChat/Rocket.Chat/pull/9013)) +- Message-box autogrow flick ([#8932](https://github.com/RocketChat/Rocket.Chat/pull/8932)) +- Don't strip trailing slash on autolinker urls ([#8812](https://github.com/RocketChat/Rocket.Chat/pull/8812) by [@jwilkins](https://github.com/jwilkins)) +- Change the unread messages style ([#8883](https://github.com/RocketChat/Rocket.Chat/pull/8883)) +- Missing sidebar footer padding ([#8884](https://github.com/RocketChat/Rocket.Chat/pull/8884)) +- Long room announcement cut off ([#8907](https://github.com/RocketChat/Rocket.Chat/pull/8907)) +- DM email notifications always being sent regardless of account setting ([#8917](https://github.com/RocketChat/Rocket.Chat/pull/8917) by [@ashward](https://github.com/ashward)) +- Typo Fix ([#8938](https://github.com/RocketChat/Rocket.Chat/pull/8938) by [@seangeleno](https://github.com/seangeleno)) +- Katex markdown link changed ([#8948](https://github.com/RocketChat/Rocket.Chat/pull/8948) by [@mritunjaygoutam12](https://github.com/mritunjaygoutam12)) +- if ogImage exists use it over image in oembedUrlWidget ([#9000](https://github.com/RocketChat/Rocket.Chat/pull/9000) by [@satyapramodh](https://github.com/satyapramodh)) +- Cannot edit or delete custom sounds ([#8889](https://github.com/RocketChat/Rocket.Chat/pull/8889) by [@ccfang](https://github.com/ccfang)) +- Change old 'rocketbot' username to 'InternalHubot_Username' setting ([#8928](https://github.com/RocketChat/Rocket.Chat/pull/8928) by [@ramrami](https://github.com/ramrami)) +- Link for channels are not rendering correctly ([#8985](https://github.com/RocketChat/Rocket.Chat/pull/8985)) +- Xenforo [BD]API for 'user.user_id; instead of 'id' ([#8968](https://github.com/RocketChat/Rocket.Chat/pull/8968) by [@wesnspace](https://github.com/wesnspace)) +- flextab height on smaller screens ([#8994](https://github.com/RocketChat/Rocket.Chat/pull/8994)) +- Check for mention-all permission in room scope ([#8931](https://github.com/RocketChat/Rocket.Chat/pull/8931)) +- fix emoji package path so they show up correctly in browser ([#8822](https://github.com/RocketChat/Rocket.Chat/pull/8822) by [@ryoshimizu](https://github.com/ryoshimizu)) +- Set correct Twitter link ([#8830](https://github.com/RocketChat/Rocket.Chat/pull/8830) by [@jotafeldmann](https://github.com/jotafeldmann)) +- User email settings on DM ([#8810](https://github.com/RocketChat/Rocket.Chat/pull/8810)) +- i18n'd Resend_verification_mail, username_initials, upload avatar ([#8721](https://github.com/RocketChat/Rocket.Chat/pull/8721) by [@arungalva](https://github.com/arungalva)) +- Username clipping on firefox ([#8716](https://github.com/RocketChat/Rocket.Chat/pull/8716)) +- Improved grammar and made it clearer to the user ([#8795](https://github.com/RocketChat/Rocket.Chat/pull/8795) by [@HammyHavoc](https://github.com/HammyHavoc)) +- Show real name of current user at top of side nav if setting enabled ([#8718](https://github.com/RocketChat/Rocket.Chat/pull/8718)) +- Range Slider Value label has bug in RTL ([#8441](https://github.com/RocketChat/Rocket.Chat/pull/8441) by [@cyclops24](https://github.com/cyclops24)) +- Add historic chats icon in Livechat ([#8708](https://github.com/RocketChat/Rocket.Chat/pull/8708)) +- Sort direct messages by full name if show real names setting enabled ([#8717](https://github.com/RocketChat/Rocket.Chat/pull/8717)) +- Improving consistency of UX ([#8796](https://github.com/RocketChat/Rocket.Chat/pull/8796) by [@HammyHavoc](https://github.com/HammyHavoc)) +- fixed some typos ([#8787](https://github.com/RocketChat/Rocket.Chat/pull/8787) by [@TheReal1604](https://github.com/TheReal1604)) +- Changed all rocket.chat/docs/ to docs.rocket.chat/ ([#8588](https://github.com/RocketChat/Rocket.Chat/pull/8588) by [@RekkyRek](https://github.com/RekkyRek)) - Email verification indicator added ([#7923](https://github.com/RocketChat/Rocket.Chat/pull/7923) by [@aditya19496](https://github.com/aditya19496)) -- Show leader on first load ([#7712](https://github.com/RocketChat/Rocket.Chat/pull/7712) by [@danischreiber](https://github.com/danischreiber)) -- Add padding on messages to allow space to the action buttons ([#7971](https://github.com/RocketChat/Rocket.Chat/pull/7971)) -- Small alignment fixes ([#7970](https://github.com/RocketChat/Rocket.Chat/pull/7970)) -- username ellipsis on firefox ([#7953](https://github.com/RocketChat/Rocket.Chat/pull/7953)) -- Document README.md. Drupal repo out of date ([#7948](https://github.com/RocketChat/Rocket.Chat/pull/7948) by [@Lawri-van-Buel](https://github.com/Lawri-van-Buel)) -- Double scroll on 'keyboard shortcuts' menu in sidepanel ([#7927](https://github.com/RocketChat/Rocket.Chat/pull/7927) by [@aditya19496](https://github.com/aditya19496)) -- Broken emoji picker on firefox ([#7943](https://github.com/RocketChat/Rocket.Chat/pull/7943)) -- Broken embedded view layout ([#7944](https://github.com/RocketChat/Rocket.Chat/pull/7944)) -- Fix placeholders in account profile ([#7945](https://github.com/RocketChat/Rocket.Chat/pull/7945) by [@josiasds](https://github.com/josiasds)) -- OTR buttons padding ([#7954](https://github.com/RocketChat/Rocket.Chat/pull/7954)) -- status and active room colors on sidebar ([#7960](https://github.com/RocketChat/Rocket.Chat/pull/7960)) -- Fix google play logo on repo README ([#7912](https://github.com/RocketChat/Rocket.Chat/pull/7912) by [@luizbills](https://github.com/luizbills)) -- Fix livechat toggle UI issue ([#7904](https://github.com/RocketChat/Rocket.Chat/pull/7904)) -- Remove break change in Realtime API ([#7895](https://github.com/RocketChat/Rocket.Chat/pull/7895)) -- Window exception when parsing Markdown on server ([#7893](https://github.com/RocketChat/Rocket.Chat/pull/7893)) -- sidebar buttons and badge paddings ([#7888](https://github.com/RocketChat/Rocket.Chat/pull/7888)) -- hyperlink style on sidebar footer ([#7882](https://github.com/RocketChat/Rocket.Chat/pull/7882)) -- livechat icon ([#7886](https://github.com/RocketChat/Rocket.Chat/pull/7886)) -- Makes text action menu width based on content size ([#7887](https://github.com/RocketChat/Rocket.Chat/pull/7887)) -- message actions over unread bar ([#7885](https://github.com/RocketChat/Rocket.Chat/pull/7885)) -- popover position on mobile ([#7883](https://github.com/RocketChat/Rocket.Chat/pull/7883)) -- search results position on sidebar ([#7881](https://github.com/RocketChat/Rocket.Chat/pull/7881)) -- sidebar paddings ([#7880](https://github.com/RocketChat/Rocket.Chat/pull/7880)) -- Adds default search text padding for emoji search ([#7878](https://github.com/RocketChat/Rocket.Chat/pull/7878)) -- Channel settings buttons ([#8753](https://github.com/RocketChat/Rocket.Chat/pull/8753)) - REST API file upload not respecting size limit ([#9108](https://github.com/RocketChat/Rocket.Chat/pull/9108)) - Creating channels on Firefox ([#9109](https://github.com/RocketChat/Rocket.Chat/pull/9109)) - Some UI problems on 0.60 ([#9095](https://github.com/RocketChat/Rocket.Chat/pull/9095)) @@ -772,10 +1868,6 @@ 🔍 Minor changes - Release 0.60.0 ([#9259](https://github.com/RocketChat/Rocket.Chat/pull/9259)) -- Fix tag build ([#8973](https://github.com/RocketChat/Rocket.Chat/pull/8973)) -- Fix CircleCI deploy filter ([#8972](https://github.com/RocketChat/Rocket.Chat/pull/8972)) -- Release/0.59.4 ([#8967](https://github.com/RocketChat/Rocket.Chat/pull/8967) by [@cpitman](https://github.com/cpitman)) -- Add CircleCI ([#8685](https://github.com/RocketChat/Rocket.Chat/pull/8685)) - Fix tag build ([#9084](https://github.com/RocketChat/Rocket.Chat/pull/9084)) - Turn off prettyJson if the node environment isn't development ([#9068](https://github.com/RocketChat/Rocket.Chat/pull/9068)) - Fix api regression (exception when deleting user) ([#9049](https://github.com/RocketChat/Rocket.Chat/pull/9049)) @@ -790,7 +1882,7 @@ - Changed wording for "Maximum Allowed Message Size" ([#8872](https://github.com/RocketChat/Rocket.Chat/pull/8872) by [@HammyHavoc](https://github.com/HammyHavoc)) - Fix Docker image build ([#8862](https://github.com/RocketChat/Rocket.Chat/pull/8862)) - Fix link to .asc file on S3 ([#8829](https://github.com/RocketChat/Rocket.Chat/pull/8829)) -- Bump version to 0.60.0-develop ([#8820](https://github.com/RocketChat/Rocket.Chat/pull/8820)) +- Bump version to 0.60.0-develop ([#8820](https://github.com/RocketChat/Rocket.Chat/pull/8820) by [@gdelavald](https://github.com/gdelavald)) - Update path for s3 redirect in circle ci ([#8819](https://github.com/RocketChat/Rocket.Chat/pull/8819)) - Remove chatops package ([#8742](https://github.com/RocketChat/Rocket.Chat/pull/8742)) - Removed tmeasday:crypto-md5 ([#8743](https://github.com/RocketChat/Rocket.Chat/pull/8743)) @@ -798,19 +1890,9 @@ - Fix typo ([#8705](https://github.com/RocketChat/Rocket.Chat/pull/8705) by [@rmetzler](https://github.com/rmetzler)) - [Fix] Store Outgoing Integration Result as String in Mongo ([#8413](https://github.com/RocketChat/Rocket.Chat/pull/8413) by [@cpitman](https://github.com/cpitman)) - Update DEMO to OPEN links ([#8793](https://github.com/RocketChat/Rocket.Chat/pull/8793)) -- Add CircleCI ([#8685](https://github.com/RocketChat/Rocket.Chat/pull/8685)) - Fix Travis CI build ([#8750](https://github.com/RocketChat/Rocket.Chat/pull/8750)) - Updated comments. ([#8719](https://github.com/RocketChat/Rocket.Chat/pull/8719) by [@jasonjyu](https://github.com/jasonjyu)) -- removing a duplicate line ([#8434](https://github.com/RocketChat/Rocket.Chat/pull/8434) by [@vikaskedia](https://github.com/vikaskedia)) -- install grpc package manually to fix snap armhf build ([#8653](https://github.com/RocketChat/Rocket.Chat/pull/8653)) - Fix community links in readme ([#8589](https://github.com/RocketChat/Rocket.Chat/pull/8589)) -- Improve room sync speed ([#8529](https://github.com/RocketChat/Rocket.Chat/pull/8529)) -- Fix high CPU load when sending messages on large rooms (regression) ([#8520](https://github.com/RocketChat/Rocket.Chat/pull/8520)) -- Change artifact path ([#8515](https://github.com/RocketChat/Rocket.Chat/pull/8515)) -- Color variables migration ([#8463](https://github.com/RocketChat/Rocket.Chat/pull/8463)) -- Fix: Change password not working in new UI ([#8516](https://github.com/RocketChat/Rocket.Chat/pull/8516)) -- Enable AutoLinker back ([#8490](https://github.com/RocketChat/Rocket.Chat/pull/8490)) -- Improve markdown parser code ([#8451](https://github.com/RocketChat/Rocket.Chat/pull/8451)) - [MOVE] Move favico to client folder ([#8077](https://github.com/RocketChat/Rocket.Chat/pull/8077) by [@vcapretz](https://github.com/vcapretz)) - [MOVE] Move files from emojione to client/server folders ([#8078](https://github.com/RocketChat/Rocket.Chat/pull/8078) by [@vcapretz](https://github.com/vcapretz)) - [MOVE] Move files from slashcommands-unarchive to client/server folders ([#8084](https://github.com/RocketChat/Rocket.Chat/pull/8084) by [@vcapretz](https://github.com/vcapretz)) @@ -824,33 +1906,11 @@ - [MOVE] Move slackbridge to client/server folders ([#8141](https://github.com/RocketChat/Rocket.Chat/pull/8141) by [@vcapretz](https://github.com/vcapretz)) - [MOVE] Move logger files to client/server folders ([#8150](https://github.com/RocketChat/Rocket.Chat/pull/8150) by [@vcapretz](https://github.com/vcapretz)) - [MOVE] Move timesync files to client/server folders ([#8152](https://github.com/RocketChat/Rocket.Chat/pull/8152) by [@vcapretz](https://github.com/vcapretz)) -- Fix: Account menu position on RTL ([#8416](https://github.com/RocketChat/Rocket.Chat/pull/8416)) -- Fix: Missing LDAP option to show internal logs ([#8417](https://github.com/RocketChat/Rocket.Chat/pull/8417)) -- Fix: Missing LDAP reconnect setting ([#8414](https://github.com/RocketChat/Rocket.Chat/pull/8414)) -- Add i18n Title to snippet messages ([#8394](https://github.com/RocketChat/Rocket.Chat/pull/8394)) -- Fix: Missing settings to configure LDAP size and page limits ([#8398](https://github.com/RocketChat/Rocket.Chat/pull/8398)) -- LingoHub based on develop ([#8375](https://github.com/RocketChat/Rocket.Chat/pull/8375)) -- Update Meteor to 1.5.2.2 ([#8364](https://github.com/RocketChat/Rocket.Chat/pull/8364)) -- Sync translations from LingoHub ([#8363](https://github.com/RocketChat/Rocket.Chat/pull/8363)) -- Remove field `lastActivity` from subscription data ([#8345](https://github.com/RocketChat/Rocket.Chat/pull/8345)) -- Update meteor to 1.5.2.2-rc.0 ([#8355](https://github.com/RocketChat/Rocket.Chat/pull/8355)) -- [FIX-RC] Mobile file upload not working ([#8331](https://github.com/RocketChat/Rocket.Chat/pull/8331)) -- Deps update ([#8273](https://github.com/RocketChat/Rocket.Chat/pull/8273)) -- Fix more rtl issues ([#8194](https://github.com/RocketChat/Rocket.Chat/pull/8194)) -- npm deps update ([#8197](https://github.com/RocketChat/Rocket.Chat/pull/8197)) -- Remove unnecessary returns in cors common ([#8054](https://github.com/RocketChat/Rocket.Chat/pull/8054) by [@Kiran-Rao](https://github.com/Kiran-Rao)) - Adding: How to Install in WeDeploy ([#8036](https://github.com/RocketChat/Rocket.Chat/pull/8036) by [@thompsonemerson](https://github.com/thompsonemerson)) - Revert "npm deps update" ([#7983](https://github.com/RocketChat/Rocket.Chat/pull/7983)) -- [DOCS] Add native mobile app links into README and update button images ([#7909](https://github.com/RocketChat/Rocket.Chat/pull/7909)) - npm deps update ([#7969](https://github.com/RocketChat/Rocket.Chat/pull/7969)) -- Update BlackDuck URL ([#7941](https://github.com/RocketChat/Rocket.Chat/pull/7941)) -- Hide flex-tab close button ([#7894](https://github.com/RocketChat/Rocket.Chat/pull/7894)) - Added RocketChatLauncher (SaaS) ([#6606](https://github.com/RocketChat/Rocket.Chat/pull/6606) by [@designgurudotorg](https://github.com/designgurudotorg)) - Develop sync ([#7866](https://github.com/RocketChat/Rocket.Chat/pull/7866)) -- Fix tag build ([#8973](https://github.com/RocketChat/Rocket.Chat/pull/8973)) -- Fix CircleCI deploy filter ([#8972](https://github.com/RocketChat/Rocket.Chat/pull/8972)) -- Release/0.59.4 ([#8967](https://github.com/RocketChat/Rocket.Chat/pull/8967) by [@cpitman](https://github.com/cpitman)) -- Add CircleCI ([#8685](https://github.com/RocketChat/Rocket.Chat/pull/8685)) - Fix: users listed as online after API login ([#9111](https://github.com/RocketChat/Rocket.Chat/pull/9111)) - Fix regression in api channels.members ([#9110](https://github.com/RocketChat/Rocket.Chat/pull/9110)) - Fix: Clear all unreads modal not closing after confirming ([#9137](https://github.com/RocketChat/Rocket.Chat/pull/9137)) @@ -887,17 +1947,13 @@ - [@AmShaegar13](https://github.com/AmShaegar13) - [@Darkneon](https://github.com/Darkneon) - [@HammyHavoc](https://github.com/HammyHavoc) -- [@Kiran-Rao](https://github.com/Kiran-Rao) -- [@Lawri-van-Buel](https://github.com/Lawri-van-Buel) - [@Pharserror](https://github.com/Pharserror) - [@RekkyRek](https://github.com/RekkyRek) -- [@Rzeszow](https://github.com/Rzeszow) - [@TheReal1604](https://github.com/TheReal1604) - [@aditya19496](https://github.com/aditya19496) - [@armand1m](https://github.com/armand1m) - [@arungalva](https://github.com/arungalva) - [@ashward](https://github.com/ashward) -- [@astax-t](https://github.com/astax-t) - [@ccfang](https://github.com/ccfang) - [@cpitman](https://github.com/cpitman) - [@cyclops24](https://github.com/cyclops24) @@ -905,28 +1961,23 @@ - [@deepseainside75](https://github.com/deepseainside75) - [@designgurudotorg](https://github.com/designgurudotorg) - [@dusta](https://github.com/dusta) +- [@gdelavald](https://github.com/gdelavald) - [@ggrish](https://github.com/ggrish) - [@goiaba](https://github.com/goiaba) - [@icosamuel](https://github.com/icosamuel) - [@jasonjyu](https://github.com/jasonjyu) - [@joesitton](https://github.com/joesitton) -- [@josiasds](https://github.com/josiasds) - [@jotafeldmann](https://github.com/jotafeldmann) - [@jwilkins](https://github.com/jwilkins) - [@lindoelio](https://github.com/lindoelio) -- [@luizbills](https://github.com/luizbills) - [@mastappl](https://github.com/mastappl) - [@mritunjaygoutam12](https://github.com/mritunjaygoutam12) -- [@mrsimpson](https://github.com/mrsimpson) - [@paulovitin](https://github.com/paulovitin) - [@peterlee0127](https://github.com/peterlee0127) -- [@pierreozoux](https://github.com/pierreozoux) - [@pkgodara](https://github.com/pkgodara) - [@ramrami](https://github.com/ramrami) - [@rmetzler](https://github.com/rmetzler) - [@robbyoconnor](https://github.com/robbyoconnor) -- [@rodorgas](https://github.com/rodorgas) -- [@ruKurz](https://github.com/ruKurz) - [@ryoshimizu](https://github.com/ryoshimizu) - [@sarbasamuel](https://github.com/sarbasamuel) - [@satyapramodh](https://github.com/satyapramodh) @@ -934,18 +1985,34 @@ - [@selamanse](https://github.com/selamanse) - [@stalley](https://github.com/stalley) - [@stefanoverducci](https://github.com/stefanoverducci) -- [@szluohua](https://github.com/szluohua) - [@thompsonemerson](https://github.com/thompsonemerson) - [@torgeirl](https://github.com/torgeirl) - [@vcapretz](https://github.com/vcapretz) -- [@vikaskedia](https://github.com/vikaskedia) - [@vitor-nagao](https://github.com/vitor-nagao) - [@wesnspace](https://github.com/wesnspace) - [@wferris722](https://github.com/wferris722) -- [@xenithorb](https://github.com/xenithorb) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@alexbrazier](https://github.com/alexbrazier) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@mrsimpson](https://github.com/mrsimpson) +- [@pierreozoux](https://github.com/pierreozoux) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) # 0.59.6 -`2017-11-29 · 1 🔍` +`2017-11-29 · 1 🔍 · 1 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1`
🔍 Minor changes @@ -954,8 +2021,16 @@
+### 👩‍💻👨‍💻 Core Team 🤓 + +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.59.5 -`2017-11-29 · 1 🔍` +`2017-11-29 · 1 🔍 · 1 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1`
🔍 Minor changes @@ -964,8 +2039,16 @@
+### 👩‍💻👨‍💻 Core Team 🤓 + +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.59.4 -`2017-11-29 · 1 🐛 · 2 🔍 · 1 👩‍💻👨‍💻` +`2017-11-29 · 1 🐛 · 2 🔍 · 5 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1` ### 🐛 Bug fixes @@ -983,12 +2066,23 @@ - [@cpitman](https://github.com/cpitman) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@karlprieb](https://github.com/karlprieb) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.59.3 -`2017-10-29 · 7 🐛 · 2 🔍 · 4 👩‍💻👨‍💻` +`2017-10-29 · 7 🐛 · 2 🔍 · 8 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1` ### 🐛 Bug fixes -- AmazonS3: Quote file.name for ContentDisposition for files with commas ([#8593](https://github.com/RocketChat/Rocket.Chat/pull/8593) by [@xenithorb](https://github.com/xenithorb)) +- AmazonS3: Quote file.name for ContentDisposition for files with commas ([#8593](https://github.com/RocketChat/Rocket.Chat/pull/8593)) - Fix e-mail message forward ([#8645](https://github.com/RocketChat/Rocket.Chat/pull/8645)) - Audio message icon ([#8648](https://github.com/RocketChat/Rocket.Chat/pull/8648)) - Highlighted color height issue ([#8431](https://github.com/RocketChat/Rocket.Chat/pull/8431) by [@cyclops24](https://github.com/cyclops24)) @@ -1009,10 +2103,21 @@ - [@cyclops24](https://github.com/cyclops24) - [@rodorgas](https://github.com/rodorgas) - [@vikaskedia](https://github.com/vikaskedia) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@karlprieb](https://github.com/karlprieb) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) - [@xenithorb](https://github.com/xenithorb) # 0.59.2 -`2017-10-25 · 6 🐛 · 1 👩‍💻👨‍💻` +`2017-10-25 · 6 🐛 · 4 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1` ### 🐛 Bug fixes @@ -1027,8 +2132,18 @@ - [@joesitton](https://github.com/joesitton) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@karlprieb](https://github.com/karlprieb) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.59.1 -`2017-10-19 · 4 🐛` +`2017-10-19 · 4 🐛 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1` ### 🐛 Bug fixes @@ -1037,8 +2152,17 @@ - LDAP login error regression at 0.59.0 ([#8541](https://github.com/RocketChat/Rocket.Chat/pull/8541)) - Migration 103 wrong converting primrary colors ([#8544](https://github.com/RocketChat/Rocket.Chat/pull/8544)) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.59.0 -`2017-10-18 · 25 🎉 · 131 🐛 · 51 🔍 · 34 👩‍💻👨‍💻` +`2017-10-18 · 24 🎉 · 116 🐛 · 50 🔍 · 44 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1` ### 🎉 New features @@ -1059,7 +2183,6 @@ - Package to render issue numbers into links to an issue tracker. ([#6700](https://github.com/RocketChat/Rocket.Chat/pull/6700) by [@TAdeJong](https://github.com/TAdeJong) & [@TobiasKappe](https://github.com/TobiasKappe)) - Automatically select the first channel ([#7350](https://github.com/RocketChat/Rocket.Chat/pull/7350) by [@antaryami-sahoo](https://github.com/antaryami-sahoo)) - Rocket.Chat UI Redesign ([#7643](https://github.com/RocketChat/Rocket.Chat/pull/7643)) -- Add unread options for direct messages ([#7658](https://github.com/RocketChat/Rocket.Chat/pull/7658)) - Upgrade to meteor 1.5.2 ([#8073](https://github.com/RocketChat/Rocket.Chat/pull/8073)) - Enable read only channel creation ([#8260](https://github.com/RocketChat/Rocket.Chat/pull/8260)) - Add RD Station integration to livechat ([#8304](https://github.com/RocketChat/Rocket.Chat/pull/8304)) @@ -1070,12 +2193,6 @@ ### 🐛 Bug fixes -- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) -- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) -- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) -- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) -- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) -- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) - File upload on multi-instances using a path prefix ([#7855](https://github.com/RocketChat/Rocket.Chat/pull/7855) by [@Darkneon](https://github.com/Darkneon)) - Fix migration 100 ([#7863](https://github.com/RocketChat/Rocket.Chat/pull/7863)) - Email message forward error ([#7846](https://github.com/RocketChat/Rocket.Chat/pull/7846)) @@ -1091,24 +2208,18 @@ - Update Snap links ([#7778](https://github.com/RocketChat/Rocket.Chat/pull/7778) by [@MichaelGooden](https://github.com/MichaelGooden)) - Remove redundant "do" in "Are you sure ...?" messages. ([#7809](https://github.com/RocketChat/Rocket.Chat/pull/7809) by [@xurizaemon](https://github.com/xurizaemon)) - Fixed function closure syntax allowing validation emails to be sent. ([#7758](https://github.com/RocketChat/Rocket.Chat/pull/7758) by [@snoozan](https://github.com/snoozan)) -- Csv importer: work with more problematic data ([#7456](https://github.com/RocketChat/Rocket.Chat/pull/7456) by [@reist](https://github.com/reist)) - Fix avatar upload fail on Cordova app ([#7656](https://github.com/RocketChat/Rocket.Chat/pull/7656) by [@ccfang](https://github.com/ccfang)) - Make link inside YouTube preview open in new tab ([#7679](https://github.com/RocketChat/Rocket.Chat/pull/7679) by [@1lann](https://github.com/1lann)) - Remove references to non-existent tests ([#7672](https://github.com/RocketChat/Rocket.Chat/pull/7672) by [@Kiran-Rao](https://github.com/Kiran-Rao)) - Example usage of unsubscribe.js ([#7673](https://github.com/RocketChat/Rocket.Chat/pull/7673) by [@Kiran-Rao](https://github.com/Kiran-Rao)) -- Wrong email subject when "All Messages" setting enabled ([#7639](https://github.com/RocketChat/Rocket.Chat/pull/7639)) -- Markdown noopener/noreferrer: use correct HTML attribute ([#7644](https://github.com/RocketChat/Rocket.Chat/pull/7644) by [@jangmarker](https://github.com/jangmarker)) -- Fix room load on first hit ([#7687](https://github.com/RocketChat/Rocket.Chat/pull/7687)) -- Wrong render of snippet’s name ([#7630](https://github.com/RocketChat/Rocket.Chat/pull/7630)) -- Fix messagebox growth ([#7629](https://github.com/RocketChat/Rocket.Chat/pull/7629)) - sidebar paddings ([#7880](https://github.com/RocketChat/Rocket.Chat/pull/7880)) -- Adds default search text padding for emoji search ([#7878](https://github.com/RocketChat/Rocket.Chat/pull/7878)) +- Adds default search text padding for emoji search ([#7878](https://github.com/RocketChat/Rocket.Chat/pull/7878) by [@gdelavald](https://github.com/gdelavald)) - search results position on sidebar ([#7881](https://github.com/RocketChat/Rocket.Chat/pull/7881)) - hyperlink style on sidebar footer ([#7882](https://github.com/RocketChat/Rocket.Chat/pull/7882)) - popover position on mobile ([#7883](https://github.com/RocketChat/Rocket.Chat/pull/7883)) - message actions over unread bar ([#7885](https://github.com/RocketChat/Rocket.Chat/pull/7885)) - livechat icon ([#7886](https://github.com/RocketChat/Rocket.Chat/pull/7886)) -- Makes text action menu width based on content size ([#7887](https://github.com/RocketChat/Rocket.Chat/pull/7887)) +- Makes text action menu width based on content size ([#7887](https://github.com/RocketChat/Rocket.Chat/pull/7887) by [@gdelavald](https://github.com/gdelavald)) - sidebar buttons and badge paddings ([#7888](https://github.com/RocketChat/Rocket.Chat/pull/7888)) - Fix google play logo on repo README ([#7912](https://github.com/RocketChat/Rocket.Chat/pull/7912) by [@luizbills](https://github.com/luizbills)) - Fix livechat toggle UI issue ([#7904](https://github.com/RocketChat/Rocket.Chat/pull/7904)) @@ -1136,7 +2247,7 @@ - Prevent autotranslate tokens race condition ([#8046](https://github.com/RocketChat/Rocket.Chat/pull/8046)) - copy to clipboard and update clipboard.js library ([#8039](https://github.com/RocketChat/Rocket.Chat/pull/8039)) - message-box autogrow ([#8019](https://github.com/RocketChat/Rocket.Chat/pull/8019)) -- search results height ([#8018](https://github.com/RocketChat/Rocket.Chat/pull/8018)) +- search results height ([#8018](https://github.com/RocketChat/Rocket.Chat/pull/8018) by [@gdelavald](https://github.com/gdelavald)) - room icon on header ([#8017](https://github.com/RocketChat/Rocket.Chat/pull/8017)) - Hide scrollbar on login page if not necessary ([#8014](https://github.com/RocketChat/Rocket.Chat/pull/8014)) - Error when translating message ([#8001](https://github.com/RocketChat/Rocket.Chat/pull/8001)) @@ -1191,11 +2302,8 @@ - Various LDAP issues & Missing pagination ([#8372](https://github.com/RocketChat/Rocket.Chat/pull/8372)) - remove accountBox from admin menu ([#8358](https://github.com/RocketChat/Rocket.Chat/pull/8358)) - Missing i18n translations ([#8357](https://github.com/RocketChat/Rocket.Chat/pull/8357)) -- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) -- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) - Sidebar item menu position in RTL ([#8397](https://github.com/RocketChat/Rocket.Chat/pull/8397) by [@cyclops24](https://github.com/cyclops24)) - disabled katex tooltip on messageBox ([#8386](https://github.com/RocketChat/Rocket.Chat/pull/8386)) -- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) - LDAP memory issues when pagination is not available ([#8457](https://github.com/RocketChat/Rocket.Chat/pull/8457)) - Uncessary route reload break some routes ([#8514](https://github.com/RocketChat/Rocket.Chat/pull/8514)) - Invalid Code message for password protected channel ([#8491](https://github.com/RocketChat/Rocket.Chat/pull/8491)) @@ -1223,7 +2331,6 @@ - [MOVE] Client folder rocketchat-highlight-words ([#7669](https://github.com/RocketChat/Rocket.Chat/pull/7669) by [@Kiran-Rao](https://github.com/Kiran-Rao)) - [MOVE] Client folder rocketchat-custom-sounds ([#7670](https://github.com/RocketChat/Rocket.Chat/pull/7670) by [@Kiran-Rao](https://github.com/Kiran-Rao)) - [MOVE] Client folder rocketchat-emoji ([#7671](https://github.com/RocketChat/Rocket.Chat/pull/7671) by [@Kiran-Rao](https://github.com/Kiran-Rao)) -- Only use "File Uploaded" prefix on files ([#7652](https://github.com/RocketChat/Rocket.Chat/pull/7652)) - Fix typo in generated URI ([#7661](https://github.com/RocketChat/Rocket.Chat/pull/7661) by [@Rohlik](https://github.com/Rohlik)) - Bump version to 0.59.0-develop ([#7625](https://github.com/RocketChat/Rocket.Chat/pull/7625)) - implemented new page-loader animated icon ([#2](https://github.com/RocketChat/Rocket.Chat/pull/2)) @@ -1279,8 +2386,8 @@ - [@cnash](https://github.com/cnash) - [@cyclops24](https://github.com/cyclops24) - [@danischreiber](https://github.com/danischreiber) +- [@gdelavald](https://github.com/gdelavald) - [@goiaba](https://github.com/goiaba) -- [@jangmarker](https://github.com/jangmarker) - [@josiasds](https://github.com/josiasds) - [@luizbills](https://github.com/luizbills) - [@maarten-v](https://github.com/maarten-v) @@ -1289,24 +2396,39 @@ - [@nishimaki10](https://github.com/nishimaki10) - [@pkgodara](https://github.com/pkgodara) - [@rdebeasi](https://github.com/rdebeasi) -- [@reist](https://github.com/reist) - [@ruKurz](https://github.com/ruKurz) - [@snoozan](https://github.com/snoozan) - [@szluohua](https://github.com/szluohua) - [@vcapretz](https://github.com/vcapretz) - [@xurizaemon](https://github.com/xurizaemon) -# 0.58.4 -`2017-10-05 · 3 🐛` +### 👩‍💻👨‍💻 Core Team 🤓 -### 🐛 Bug fixes +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@alexbrazier](https://github.com/alexbrazier) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@rafaelks](https://github.com/rafaelks) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) -- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) -- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) -- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) +# 0.58.4 +`2017-10-05` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1` # 0.58.2 -`2017-08-22 · 1 🔍 · 1 👩‍💻👨‍💻` +`2017-08-22 · 1 🔍 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1`
🔍 Minor changes @@ -1319,8 +2441,16 @@ - [@snoozan](https://github.com/snoozan) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@geekgonecrazy](https://github.com/geekgonecrazy) + # 0.58.1 -`2017-08-17 · 1 🐛 · 1 🔍` +`2017-08-17 · 1 🐛 · 1 🔍 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1` ### 🐛 Bug fixes @@ -1333,8 +2463,17 @@
+### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@rodrigok](https://github.com/rodrigok) + # 0.58.0 -`2017-08-16 · 1 ️️️⚠️ · 27 🎉 · 72 🐛 · 22 🔍 · 24 👩‍💻👨‍💻` +`2017-08-16 · 1 ️️️⚠️ · 26 🎉 · 33 🐛 · 18 🔍 · 32 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.4` +- NPM: `4.6.1` ### ⚠️ BREAKING CHANGES @@ -1353,8 +2492,8 @@ - Show different shape for alert numbers when have mentions ([#7580](https://github.com/RocketChat/Rocket.Chat/pull/7580)) - Add reaction to the last message when get the shortcut +: ([#7569](https://github.com/RocketChat/Rocket.Chat/pull/7569) by [@danilomiranda](https://github.com/danilomiranda)) - Show emojis and file uploads on notifications ([#7559](https://github.com/RocketChat/Rocket.Chat/pull/7559)) -- Closes tab bar on mobile when leaving room ([#7561](https://github.com/RocketChat/Rocket.Chat/pull/7561)) -- Adds preference to one-click-to-direct-message and basic functionality ([#7564](https://github.com/RocketChat/Rocket.Chat/pull/7564)) +- Closes tab bar on mobile when leaving room ([#7561](https://github.com/RocketChat/Rocket.Chat/pull/7561) by [@gdelavald](https://github.com/gdelavald)) +- Adds preference to one-click-to-direct-message and basic functionality ([#7564](https://github.com/RocketChat/Rocket.Chat/pull/7564) by [@gdelavald](https://github.com/gdelavald)) - Search users also by email in toolbar ([#7334](https://github.com/RocketChat/Rocket.Chat/pull/7334) by [@shahar3012](https://github.com/shahar3012)) - Do not rate limit bots on createDirectMessage ([#7326](https://github.com/RocketChat/Rocket.Chat/pull/7326) by [@jangmarker](https://github.com/jangmarker)) - Allow channel property in the integrations returned content ([#7214](https://github.com/RocketChat/Rocket.Chat/pull/7214)) @@ -1366,31 +2505,11 @@ - Update meteor to 1.5.1 ([#7496](https://github.com/RocketChat/Rocket.Chat/pull/7496)) - flex-tab now is side by side with message list ([#7448](https://github.com/RocketChat/Rocket.Chat/pull/7448)) - Option to select unread count behavior ([#7477](https://github.com/RocketChat/Rocket.Chat/pull/7477)) -- Force use of MongoDB for spotlight queries ([#7311](https://github.com/RocketChat/Rocket.Chat/pull/7311)) - Add healthchecks in OpenShift templates ([#7184](https://github.com/RocketChat/Rocket.Chat/pull/7184) by [@jfchevrette](https://github.com/jfchevrette)) - Add unread options for direct messages ([#7658](https://github.com/RocketChat/Rocket.Chat/pull/7658)) ### 🐛 Bug fixes -- Modernize rate limiting of sendMessage ([#7325](https://github.com/RocketChat/Rocket.Chat/pull/7325) by [@jangmarker](https://github.com/jangmarker)) -- custom soundEdit.html ([#7390](https://github.com/RocketChat/Rocket.Chat/pull/7390) by [@rasos](https://github.com/rasos)) -- Use UTF8 setting for /create command ([#7394](https://github.com/RocketChat/Rocket.Chat/pull/7394)) -- file upload broken when running in subdirectory https://github.com… ([#7395](https://github.com/RocketChat/Rocket.Chat/pull/7395) by [@ryoshimizu](https://github.com/ryoshimizu)) -- Fix Anonymous User ([#7444](https://github.com/RocketChat/Rocket.Chat/pull/7444)) -- Missing eventName in unUser ([#7533](https://github.com/RocketChat/Rocket.Chat/pull/7533) by [@Darkneon](https://github.com/Darkneon)) -- Fix Join Channel Without Preview Room Permission ([#7535](https://github.com/RocketChat/Rocket.Chat/pull/7535)) -- Improve build script example ([#7555](https://github.com/RocketChat/Rocket.Chat/pull/7555)) -- Slack import failing and not being able to be restarted ([#8390](https://github.com/RocketChat/Rocket.Chat/pull/8390)) -- Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) -- Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) -- Modernize rate limiting of sendMessage ([#7325](https://github.com/RocketChat/Rocket.Chat/pull/7325) by [@jangmarker](https://github.com/jangmarker)) -- custom soundEdit.html ([#7390](https://github.com/RocketChat/Rocket.Chat/pull/7390) by [@rasos](https://github.com/rasos)) -- Use UTF8 setting for /create command ([#7394](https://github.com/RocketChat/Rocket.Chat/pull/7394)) -- file upload broken when running in subdirectory https://github.com… ([#7395](https://github.com/RocketChat/Rocket.Chat/pull/7395) by [@ryoshimizu](https://github.com/ryoshimizu)) -- Fix Anonymous User ([#7444](https://github.com/RocketChat/Rocket.Chat/pull/7444)) -- Missing eventName in unUser ([#7533](https://github.com/RocketChat/Rocket.Chat/pull/7533) by [@Darkneon](https://github.com/Darkneon)) -- Fix Join Channel Without Preview Room Permission ([#7535](https://github.com/RocketChat/Rocket.Chat/pull/7535)) -- Improve build script example ([#7555](https://github.com/RocketChat/Rocket.Chat/pull/7555)) - Error when updating message with an empty attachment array ([#7624](https://github.com/RocketChat/Rocket.Chat/pull/7624)) - Uploading an unknown file type erroring out ([#7623](https://github.com/RocketChat/Rocket.Chat/pull/7623)) - Error when acessing settings before ready ([#7622](https://github.com/RocketChat/Rocket.Chat/pull/7622)) @@ -1398,44 +2517,24 @@ - The username not being allowed to be passed into the user.setAvatar ([#7620](https://github.com/RocketChat/Rocket.Chat/pull/7620)) - Fix Custom Fields Crashing on Register ([#7617](https://github.com/RocketChat/Rocket.Chat/pull/7617)) - Fix admin room list show the correct i18n type ([#7582](https://github.com/RocketChat/Rocket.Chat/pull/7582) by [@ccfang](https://github.com/ccfang)) -- Missing eventName in unUser ([#7533](https://github.com/RocketChat/Rocket.Chat/pull/7533) by [@Darkneon](https://github.com/Darkneon)) - URL parse error fix for issue #7169 ([#7538](https://github.com/RocketChat/Rocket.Chat/pull/7538) by [@satyapramodh](https://github.com/satyapramodh)) -- User avatar image background ([#7572](https://github.com/RocketChat/Rocket.Chat/pull/7572) by [@filipedelimabrito](https://github.com/filipedelimabrito)) -- Improve build script example ([#7555](https://github.com/RocketChat/Rocket.Chat/pull/7555)) -- Fix Join Channel Without Preview Room Permission ([#7535](https://github.com/RocketChat/Rocket.Chat/pull/7535)) +- User avatar image background ([#7572](https://github.com/RocketChat/Rocket.Chat/pull/7572)) - Look for livechat visitor IP address on X-Forwarded-For header ([#7554](https://github.com/RocketChat/Rocket.Chat/pull/7554)) - Revert emojione package version upgrade ([#7557](https://github.com/RocketChat/Rocket.Chat/pull/7557)) -- Stop logging mentions object to console ([#7562](https://github.com/RocketChat/Rocket.Chat/pull/7562)) +- Stop logging mentions object to console ([#7562](https://github.com/RocketChat/Rocket.Chat/pull/7562) by [@gdelavald](https://github.com/gdelavald)) - Fix hiding flex-tab on embedded view ([#7486](https://github.com/RocketChat/Rocket.Chat/pull/7486)) - Fix emoji picker translations ([#7195](https://github.com/RocketChat/Rocket.Chat/pull/7195)) -- Modernize rate limiting of sendMessage ([#7325](https://github.com/RocketChat/Rocket.Chat/pull/7325) by [@jangmarker](https://github.com/jangmarker)) -- custom soundEdit.html ([#7390](https://github.com/RocketChat/Rocket.Chat/pull/7390) by [@rasos](https://github.com/rasos)) -- Use UTF8 setting for /create command ([#7394](https://github.com/RocketChat/Rocket.Chat/pull/7394)) -- file upload broken when running in subdirectory https://github.com… ([#7395](https://github.com/RocketChat/Rocket.Chat/pull/7395) by [@ryoshimizu](https://github.com/ryoshimizu)) -- Fix Anonymous User ([#7444](https://github.com/RocketChat/Rocket.Chat/pull/7444)) - Issue #7365: added check for the existence of a parameter in the CAS URL ([#7471](https://github.com/RocketChat/Rocket.Chat/pull/7471) by [@wsw70](https://github.com/wsw70)) - Fix Word Placement Anywhere on WebHooks ([#7392](https://github.com/RocketChat/Rocket.Chat/pull/7392)) - Prevent new room status from playing when user status changes ([#7487](https://github.com/RocketChat/Rocket.Chat/pull/7487)) -- S3 uploads not working for custom URLs ([#7443](https://github.com/RocketChat/Rocket.Chat/pull/7443)) -- Fix Private Channel List Submit ([#7432](https://github.com/RocketChat/Rocket.Chat/pull/7432)) -- Fix file upload on Slack import ([#7469](https://github.com/RocketChat/Rocket.Chat/pull/7469)) -- Fix Unread Bar Disappearing ([#7403](https://github.com/RocketChat/Rocket.Chat/pull/7403)) -- Always set LDAP properties on login ([#7472](https://github.com/RocketChat/Rocket.Chat/pull/7472)) - url click events in the cordova app open in external browser or not at all ([#7205](https://github.com/RocketChat/Rocket.Chat/pull/7205) by [@flaviogrossi](https://github.com/flaviogrossi)) -- Fix Emails in User Admin View ([#7431](https://github.com/RocketChat/Rocket.Chat/pull/7431)) -- Fix migration of avatars from version 0.57.0 ([#7428](https://github.com/RocketChat/Rocket.Chat/pull/7428)) - sweetalert alignment on mobile ([#7404](https://github.com/RocketChat/Rocket.Chat/pull/7404)) - Sweet-Alert modal popup position on mobile devices ([#7376](https://github.com/RocketChat/Rocket.Chat/pull/7376) by [@Oliver84](https://github.com/Oliver84)) - Update node-engine in Snap to latest v4 LTS relase: 4.8.3 ([#7355](https://github.com/RocketChat/Rocket.Chat/pull/7355) by [@al3x](https://github.com/al3x)) - Remove warning about 2FA support being unavailable in mobile apps ([#7354](https://github.com/RocketChat/Rocket.Chat/pull/7354) by [@al3x](https://github.com/al3x)) - Fix geolocation button ([#7322](https://github.com/RocketChat/Rocket.Chat/pull/7322)) - Fix Block Delete Message After (n) Minutes ([#7207](https://github.com/RocketChat/Rocket.Chat/pull/7207)) -- Fix jump to unread button ([#7320](https://github.com/RocketChat/Rocket.Chat/pull/7320)) -- Fix Secret Url ([#7321](https://github.com/RocketChat/Rocket.Chat/pull/7321)) - Use I18n on "File Uploaded" ([#7199](https://github.com/RocketChat/Rocket.Chat/pull/7199)) -- "requirePasswordChange" property not being saved when set to false ([#7209](https://github.com/RocketChat/Rocket.Chat/pull/7209)) -- Fix oembed previews not being shown ([#7208](https://github.com/RocketChat/Rocket.Chat/pull/7208)) -- Fix editing others messages ([#7200](https://github.com/RocketChat/Rocket.Chat/pull/7200)) - Fix error on image preview due to undefined description|title ([#7187](https://github.com/RocketChat/Rocket.Chat/pull/7187)) - Fix messagebox growth ([#7629](https://github.com/RocketChat/Rocket.Chat/pull/7629)) - Wrong render of snippet’s name ([#7630](https://github.com/RocketChat/Rocket.Chat/pull/7630)) @@ -1448,10 +2547,8 @@
🔍 Minor changes -- Release 0.58.0 ([#7752](https://github.com/RocketChat/Rocket.Chat/pull/7752) by [@flaviogrossi](https://github.com/flaviogrossi) & [@jangmarker](https://github.com/jangmarker) & [@pierreozoux](https://github.com/pierreozoux) & [@ryoshimizu](https://github.com/ryoshimizu)) +- Release 0.58.0 ([#7752](https://github.com/RocketChat/Rocket.Chat/pull/7752) by [@flaviogrossi](https://github.com/flaviogrossi) & [@jangmarker](https://github.com/jangmarker) & [@ryoshimizu](https://github.com/ryoshimizu)) - Sync Master with 0.57.3 ([#7690](https://github.com/RocketChat/Rocket.Chat/pull/7690)) -- [Fix] Users and Channels list not respecting permissions ([#7212](https://github.com/RocketChat/Rocket.Chat/pull/7212)) -- [Fix] Users and Channels list not respecting permissions ([#7212](https://github.com/RocketChat/Rocket.Chat/pull/7212)) - Add missing parts of `one click to direct message` ([#7608](https://github.com/RocketChat/Rocket.Chat/pull/7608)) - LingoHub based on develop ([#7613](https://github.com/RocketChat/Rocket.Chat/pull/7613)) - Improve link parser using tokens ([#7615](https://github.com/RocketChat/Rocket.Chat/pull/7615)) @@ -1460,14 +2557,12 @@ - Improve room leader ([#7578](https://github.com/RocketChat/Rocket.Chat/pull/7578)) - Develop sync ([#7590](https://github.com/RocketChat/Rocket.Chat/pull/7590)) - [Fix] Don't save user to DB when a custom field is invalid ([#7513](https://github.com/RocketChat/Rocket.Chat/pull/7513) by [@Darkneon](https://github.com/Darkneon)) -- [Fix] Users and Channels list not respecting permissions ([#7212](https://github.com/RocketChat/Rocket.Chat/pull/7212)) - Develop sync ([#7500](https://github.com/RocketChat/Rocket.Chat/pull/7500) by [@thinkeridea](https://github.com/thinkeridea)) - Better Issue Template ([#7492](https://github.com/RocketChat/Rocket.Chat/pull/7492)) -- Add helm chart kubernetes deployment ([#6340](https://github.com/RocketChat/Rocket.Chat/pull/6340) by [@pierreozoux](https://github.com/pierreozoux)) -- Develop sync ([#7363](https://github.com/RocketChat/Rocket.Chat/pull/7363) by [@JSzaszvari](https://github.com/JSzaszvari)) +- Add helm chart kubernetes deployment ([#6340](https://github.com/RocketChat/Rocket.Chat/pull/6340)) +- Develop sync ([#7363](https://github.com/RocketChat/Rocket.Chat/pull/7363)) - Escape error messages ([#7308](https://github.com/RocketChat/Rocket.Chat/pull/7308)) - update meteor to 1.5.0 ([#7287](https://github.com/RocketChat/Rocket.Chat/pull/7287)) -- Fix the Zapier oAuth return url to the new one ([#7215](https://github.com/RocketChat/Rocket.Chat/pull/7215)) - [New] Add instance id to response headers ([#7211](https://github.com/RocketChat/Rocket.Chat/pull/7211)) - Only use "File Uploaded" prefix on files ([#7652](https://github.com/RocketChat/Rocket.Chat/pull/7652)) @@ -1477,20 +2572,17 @@ - [@AhmetS](https://github.com/AhmetS) - [@Darkneon](https://github.com/Darkneon) -- [@JSzaszvari](https://github.com/JSzaszvari) - [@Oliver84](https://github.com/Oliver84) - [@al3x](https://github.com/al3x) - [@borsden](https://github.com/borsden) - [@ccfang](https://github.com/ccfang) - [@danilomiranda](https://github.com/danilomiranda) - [@danischreiber](https://github.com/danischreiber) -- [@filipedelimabrito](https://github.com/filipedelimabrito) - [@flaviogrossi](https://github.com/flaviogrossi) +- [@gdelavald](https://github.com/gdelavald) - [@jangmarker](https://github.com/jangmarker) - [@jfchevrette](https://github.com/jfchevrette) - [@lindoelio](https://github.com/lindoelio) -- [@pierreozoux](https://github.com/pierreozoux) -- [@rasos](https://github.com/rasos) - [@reist](https://github.com/reist) - [@ruKurz](https://github.com/ruKurz) - [@ryoshimizu](https://github.com/ryoshimizu) @@ -1500,8 +2592,26 @@ - [@thinkeridea](https://github.com/thinkeridea) - [@wsw70](https://github.com/wsw70) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@JSzaszvari](https://github.com/JSzaszvari) +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@engelgabriel](https://github.com/engelgabriel) +- [@filipedelimabrito](https://github.com/filipedelimabrito) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@pierreozoux](https://github.com/pierreozoux) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.57.4 -`2017-10-05 · 3 🐛` +`2017-10-05 · 3 🐛 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.2` +- NPM: `4.5.0` ### 🐛 Bug fixes @@ -1509,8 +2619,17 @@ - Duplicate code in rest api letting in a few bugs with the rest api ([#8408](https://github.com/RocketChat/Rocket.Chat/pull/8408)) - Add needed dependency for snaps ([#8389](https://github.com/RocketChat/Rocket.Chat/pull/8389)) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@graywolf336](https://github.com/graywolf336) + # 0.57.3 -`2017-08-08 · 8 🐛 · 1 🔍 · 4 👩‍💻👨‍💻` +`2017-08-08 · 8 🐛 · 1 🔍 · 7 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.2` +- NPM: `4.5.0` ### 🐛 Bug fixes @@ -1537,8 +2656,18 @@ - [@rasos](https://github.com/rasos) - [@ryoshimizu](https://github.com/ryoshimizu) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@graywolf336](https://github.com/graywolf336) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.57.2 -`2017-07-14 · 6 🐛` +`2017-07-14 · 6 🐛 · 3 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.2` +- NPM: `4.5.0` ### 🐛 Bug fixes @@ -1549,15 +2678,34 @@ - Fix Private Channel List Submit ([#7432](https://github.com/RocketChat/Rocket.Chat/pull/7432)) - S3 uploads not working for custom URLs ([#7443](https://github.com/RocketChat/Rocket.Chat/pull/7443)) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.57.1 -`2017-07-05 · 1 🐛` +`2017-07-05 · 1 🐛 · 2 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.2` +- NPM: `4.5.0` ### 🐛 Bug fixes - Fix migration of avatars from version 0.57.0 ([#7428](https://github.com/RocketChat/Rocket.Chat/pull/7428)) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.57.0 -`2017-07-03 · 1 ️️️⚠️ · 12 🎉 · 45 🐛 · 31 🔍 · 15 👩‍💻👨‍💻` +`2017-07-03 · 1 ️️️⚠️ · 10 🎉 · 44 🐛 · 30 🔍 · 25 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.2` +- NPM: `4.5.0` ### ⚠️ BREAKING CHANGES @@ -1573,14 +2721,12 @@ - postcss parser and cssnext implementation ([#6982](https://github.com/RocketChat/Rocket.Chat/pull/6982)) - Start running unit tests ([#6605](https://github.com/RocketChat/Rocket.Chat/pull/6605)) - Make channel/group delete call answer to roomName ([#6857](https://github.com/RocketChat/Rocket.Chat/pull/6857) by [@reist](https://github.com/reist)) -- Show info about multiple instances at admin page ([#6953](https://github.com/RocketChat/Rocket.Chat/pull/6953)) -- Improve CI/Docker build/release ([#6938](https://github.com/RocketChat/Rocket.Chat/pull/6938)) - Feature/delete any message permission ([#6919](https://github.com/RocketChat/Rocket.Chat/pull/6919) by [@phutchins](https://github.com/phutchins)) - Force use of MongoDB for spotlight queries ([#7311](https://github.com/RocketChat/Rocket.Chat/pull/7311)) ### 🐛 Bug fixes -- Message being displayed unescaped ([#7379](https://github.com/RocketChat/Rocket.Chat/pull/7379)) +- Message being displayed unescaped ([#7379](https://github.com/RocketChat/Rocket.Chat/pull/7379) by [@gdelavald](https://github.com/gdelavald)) - Fix highlightjs bug ([#6991](https://github.com/RocketChat/Rocket.Chat/pull/6991)) - do only store password if LDAP_Login_Fallback is on ([#7030](https://github.com/RocketChat/Rocket.Chat/pull/7030) by [@pmb0](https://github.com/pmb0)) - fix bug in preview image ([#7121](https://github.com/RocketChat/Rocket.Chat/pull/7121)) @@ -1610,7 +2756,6 @@ - Fix login with Meteor saving an object as email address ([#6974](https://github.com/RocketChat/Rocket.Chat/pull/6974)) - Check that username is not in the room when being muted / unmuted ([#6840](https://github.com/RocketChat/Rocket.Chat/pull/6840) by [@matthewshirley](https://github.com/matthewshirley)) - Use AWS Signature Version 4 signed URLs for uploads ([#6947](https://github.com/RocketChat/Rocket.Chat/pull/6947)) -- make channels.create API check for create-c ([#6968](https://github.com/RocketChat/Rocket.Chat/pull/6968) by [@reist](https://github.com/reist)) - Bugs in `isUserFromParams` helper ([#6904](https://github.com/RocketChat/Rocket.Chat/pull/6904) by [@abrom](https://github.com/abrom)) - Allow image insert from slack through slackbridge ([#6910](https://github.com/RocketChat/Rocket.Chat/pull/6910)) - Slackbridge text replacements ([#6913](https://github.com/RocketChat/Rocket.Chat/pull/6913)) @@ -1618,7 +2763,7 @@ - Fix editing others messages ([#7200](https://github.com/RocketChat/Rocket.Chat/pull/7200)) - Fix oembed previews not being shown ([#7208](https://github.com/RocketChat/Rocket.Chat/pull/7208)) - "requirePasswordChange" property not being saved when set to false ([#7209](https://github.com/RocketChat/Rocket.Chat/pull/7209)) -- Removing the kadira package install from example build script. ([#7160](https://github.com/RocketChat/Rocket.Chat/pull/7160) by [@JSzaszvari](https://github.com/JSzaszvari)) +- Removing the kadira package install from example build script. ([#7160](https://github.com/RocketChat/Rocket.Chat/pull/7160)) - Fix user's customFields not being saved correctly ([#7358](https://github.com/RocketChat/Rocket.Chat/pull/7358)) - Improve avatar migration ([#7352](https://github.com/RocketChat/Rocket.Chat/pull/7352)) - Fix jump to unread button ([#7320](https://github.com/RocketChat/Rocket.Chat/pull/7320)) @@ -1652,7 +2797,6 @@ - LingoHub based on develop ([#6978](https://github.com/RocketChat/Rocket.Chat/pull/6978)) - fix the crashing tests ([#6976](https://github.com/RocketChat/Rocket.Chat/pull/6976)) - Convert WebRTC Package to Js ([#6775](https://github.com/RocketChat/Rocket.Chat/pull/6775)) -- [Fix] Error when trying to show preview of undefined filetype ([#6935](https://github.com/RocketChat/Rocket.Chat/pull/6935)) - Remove missing CoffeeScript dependencies ([#7154](https://github.com/RocketChat/Rocket.Chat/pull/7154)) - Switch logic of artifact name ([#7158](https://github.com/RocketChat/Rocket.Chat/pull/7158)) - Fix the Zapier oAuth return url to the new one ([#7215](https://github.com/RocketChat/Rocket.Chat/pull/7215)) @@ -1666,12 +2810,12 @@ ### 👩‍💻👨‍💻 Contributors 😍 - [@ExTechOp](https://github.com/ExTechOp) -- [@JSzaszvari](https://github.com/JSzaszvari) - [@abrom](https://github.com/abrom) - [@bbrauns](https://github.com/bbrauns) - [@colin-campbell](https://github.com/colin-campbell) - [@darkv](https://github.com/darkv) - [@flaviogrossi](https://github.com/flaviogrossi) +- [@gdelavald](https://github.com/gdelavald) - [@jautero](https://github.com/jautero) - [@jm-factorin](https://github.com/jm-factorin) - [@matthewshirley](https://github.com/matthewshirley) @@ -1681,8 +2825,25 @@ - [@sathieu](https://github.com/sathieu) - [@thinkeridea](https://github.com/thinkeridea) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@JSzaszvari](https://github.com/JSzaszvari) +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@alexbrazier](https://github.com/alexbrazier) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.56.0 -`2017-05-15 · 11 🎉 · 21 🐛 · 22 🔍 · 8 👩‍💻👨‍💻` +`2017-05-15 · 11 🎉 · 19 🐛 · 19 🔍 · 19 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.2` +- NPM: `4.5.0` ### 🎉 New features @@ -1707,15 +2868,13 @@ - Improve and correct Iframe Integration help text ([#6793](https://github.com/RocketChat/Rocket.Chat/pull/6793)) - Quoted and replied messages not retaining the original message's alias ([#6800](https://github.com/RocketChat/Rocket.Chat/pull/6800)) - Fix iframe wise issues ([#6798](https://github.com/RocketChat/Rocket.Chat/pull/6798)) -- Incorrect error message when creating channel ([#6747](https://github.com/RocketChat/Rocket.Chat/pull/6747)) -- Hides nav buttons when selecting own profile ([#6760](https://github.com/RocketChat/Rocket.Chat/pull/6760)) +- Incorrect error message when creating channel ([#6747](https://github.com/RocketChat/Rocket.Chat/pull/6747) by [@gdelavald](https://github.com/gdelavald)) +- Hides nav buttons when selecting own profile ([#6760](https://github.com/RocketChat/Rocket.Chat/pull/6760) by [@gdelavald](https://github.com/gdelavald)) - Search full name on client side ([#6767](https://github.com/RocketChat/Rocket.Chat/pull/6767)) - Sort by real name if use real name setting is enabled ([#6758](https://github.com/RocketChat/Rocket.Chat/pull/6758)) - CSV importer: require that there is some data in the zip, not ALL data ([#6768](https://github.com/RocketChat/Rocket.Chat/pull/6768) by [@reist](https://github.com/reist)) - Archiving Direct Messages ([#6737](https://github.com/RocketChat/Rocket.Chat/pull/6737)) - Fix Caddy by forcing go 1.7 as needed by one of caddy's dependencies ([#6721](https://github.com/RocketChat/Rocket.Chat/pull/6721)) -- emoji picker exception ([#6709](https://github.com/RocketChat/Rocket.Chat/pull/6709)) -- Fix message types ([#6704](https://github.com/RocketChat/Rocket.Chat/pull/6704)) - Users status on main menu always offline ([#6896](https://github.com/RocketChat/Rocket.Chat/pull/6896)) - Not showing unread count on electron app’s icon ([#6923](https://github.com/RocketChat/Rocket.Chat/pull/6923)) - Compile CSS color variables ([#6939](https://github.com/RocketChat/Rocket.Chat/pull/6939)) @@ -1725,7 +2884,6 @@
🔍 Minor changes -- [Fix] Bug with incoming integration (0.55.1) ([#6734](https://github.com/RocketChat/Rocket.Chat/pull/6734)) - [New] Snap arm support ([#6842](https://github.com/RocketChat/Rocket.Chat/pull/6842)) - Meteor update ([#6858](https://github.com/RocketChat/Rocket.Chat/pull/6858)) - Converted rocketchat-lib 3 ([#6672](https://github.com/RocketChat/Rocket.Chat/pull/6672)) @@ -1739,13 +2897,11 @@ - Anonymous use ([#5986](https://github.com/RocketChat/Rocket.Chat/pull/5986)) - Breaking long URLS to prevent overflow ([#6368](https://github.com/RocketChat/Rocket.Chat/pull/6368) by [@robertdown](https://github.com/robertdown)) - Rocketchat lib2 ([#6593](https://github.com/RocketChat/Rocket.Chat/pull/6593)) -- [Fix] Bug with incoming integration (0.55.1) ([#6734](https://github.com/RocketChat/Rocket.Chat/pull/6734)) - disable proxy configuration ([#6654](https://github.com/RocketChat/Rocket.Chat/pull/6654) by [@glehmann](https://github.com/glehmann)) - Convert markdown to js ([#6694](https://github.com/RocketChat/Rocket.Chat/pull/6694) by [@ehkasper](https://github.com/ehkasper)) - LingoHub based on develop ([#6715](https://github.com/RocketChat/Rocket.Chat/pull/6715)) - meteor update to 1.4.4 ([#6706](https://github.com/RocketChat/Rocket.Chat/pull/6706)) - LingoHub based on develop ([#6703](https://github.com/RocketChat/Rocket.Chat/pull/6703)) -- [Fix] Bug with incoming integration (0.55.1) ([#6734](https://github.com/RocketChat/Rocket.Chat/pull/6734)) - [Fix] Error when trying to show preview of undefined filetype ([#6935](https://github.com/RocketChat/Rocket.Chat/pull/6935))
@@ -1754,6 +2910,7 @@ - [@abrom](https://github.com/abrom) - [@ehkasper](https://github.com/ehkasper) +- [@gdelavald](https://github.com/gdelavald) - [@glehmann](https://github.com/glehmann) - [@intelradoux](https://github.com/intelradoux) - [@reist](https://github.com/reist) @@ -1761,8 +2918,25 @@ - [@sscholl](https://github.com/sscholl) - [@vlogic](https://github.com/vlogic) +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@alexbrazier](https://github.com/alexbrazier) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.55.1 -`2017-04-19 · 1 🔍` +`2017-04-19 · 1 🔍 · 1 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.0` +- NPM: `4.3.0`
🔍 Minor changes @@ -1771,8 +2945,16 @@
+### 👩‍💻👨‍💻 Core Team 🤓 + +- [@rodrigok](https://github.com/rodrigok) + # 0.55.0 -`2017-04-18 · 1 ️️️⚠️ · 9 🎉 · 25 🐛 · 87 🔍 · 12 👩‍💻👨‍💻` +`2017-04-18 · 1 ️️️⚠️ · 9 🎉 · 25 🐛 · 87 🔍 · 23 👩‍💻👨‍💻` + +### Engine versions +- Node: `4.8.0` +- NPM: `4.3.0` ### ⚠️ BREAKING CHANGES @@ -1794,7 +2976,7 @@ - Incoming integrations would break when trying to use the `Store` feature.` - Removed Deprecated Package rocketchat:sharedsecret` -- emoji picker exception ([#6709](https://github.com/RocketChat/Rocket.Chat/pull/6709)) +- emoji picker exception ([#6709](https://github.com/RocketChat/Rocket.Chat/pull/6709) by [@gdelavald](https://github.com/gdelavald)) - Large files crashed browser when trying to show preview ([#6598](https://github.com/RocketChat/Rocket.Chat/pull/6598)) - messageBox: put "joinCodeRequired" back ([#6600](https://github.com/RocketChat/Rocket.Chat/pull/6600)) - Do not add default roles for users without services field ([#6594](https://github.com/RocketChat/Rocket.Chat/pull/6594)) @@ -1907,7 +3089,7 @@ - Added Deploy method and platform to stats ([#6649](https://github.com/RocketChat/Rocket.Chat/pull/6649)) - LingoHub based on develop ([#6647](https://github.com/RocketChat/Rocket.Chat/pull/6647)) - meteor update ([#6631](https://github.com/RocketChat/Rocket.Chat/pull/6631)) -- Env override initial setting ([#6163](https://github.com/RocketChat/Rocket.Chat/pull/6163) by [@mrsimpson](https://github.com/mrsimpson)) +- Env override initial setting ([#6163](https://github.com/RocketChat/Rocket.Chat/pull/6163))
@@ -1919,9 +3101,23 @@ - [@billtt](https://github.com/billtt) - [@drallgood](https://github.com/drallgood) - [@fengt](https://github.com/fengt) -- [@mrsimpson](https://github.com/mrsimpson) +- [@gdelavald](https://github.com/gdelavald) - [@nathanmarcos](https://github.com/nathanmarcos) - [@qge](https://github.com/qge) - [@sezinkarli](https://github.com/sezinkarli) - [@szluohua](https://github.com/szluohua) -- [@tgxn](https://github.com/tgxn) \ No newline at end of file +- [@tgxn](https://github.com/tgxn) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@MartinSchoeler](https://github.com/MartinSchoeler) +- [@alexbrazier](https://github.com/alexbrazier) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@graywolf336](https://github.com/graywolf336) +- [@karlprieb](https://github.com/karlprieb) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@mrsimpson](https://github.com/mrsimpson) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) \ No newline at end of file diff --git a/README.md b/README.md index 7478c27dc04d..babf76c7a512 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Rocket.Chat logo](https://rocket.chat/images/logo/logo-dark.svg?v3) +![Rocket.Chat logo](https://upload.wikimedia.org/wikipedia/commons/1/12/Rocket.Chat_Logo.svg) # The Ultimate Open Source WebChat Platform @@ -29,7 +29,6 @@ * [Scalingo](#scalingo) * [Sloppy.io](#sloppyio) * [Docker](#docker) - * [FreeBSD](#freebsd) * [Ansible](#ansible) * [Raspberry Pi 2](#raspberry-pi-2) * [Koozali SME](#koozali-sme) @@ -81,10 +80,7 @@ Download the Native Cross-Platform Desktop Application at [Rocket.Chat.Electron] [![Rocket.Chat on Apple App Store](https://user-images.githubusercontent.com/551004/29770691-a2082ff4-8bc6-11e7-89a6-964cd405ea8e.png)](https://itunes.apple.com/us/app/rocket.chat/id1028869439?mt=8) [![Rocket.Chat on Google Play](https://user-images.githubusercontent.com/551004/29770692-a20975c6-8bc6-11e7-8ab0-1cde275496e0.png)](https://play.google.com/store/apps/details?id=com.konecty.rocket.chat) -*Now compatible with all Android devices as old as version 4.0.x - [download here](https://docs.rocket.chat/developer-guides/mobile-apps/), even on BlackBerry Passport!* - -### Also available as FirefoxOS app -[![Firefox OS app now available](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/firefoxos.png)](https://docs.rocket.chat/installation/mobile-and-desktop-apps/#native-firefox-os-app). +*Now compatible with all Android devices as old as version 4.0.x - [download here](https://rocket.chat/docs/developer-guides/mobile-apps/), even on BlackBerry Passport!* # Deployment @@ -103,7 +99,7 @@ Installing snaps is very quick. By running that command you have your full Rocke Our snap features a built-in reverse proxy that can request and maintain free Let's Encrypt SSL certificates. You can go from zero to a public-facing SSL-secured Rocket.Chat server in less than 5 minutes. -Find out more information about our snaps [here](https://docs.rocket.chat/installation/manual-installation/ubuntu/snaps/). +Find out more information about our snaps [here](https://rocket.chat/docs/installation/manual-installation/ubuntu/snaps/). ## RocketChatLauncher @@ -133,7 +129,7 @@ Host your own Rocket.Chat server in a few seconds. Easiest way to install a ready-to-run Rocket.Chat server on a Linux machine, VM, or VPS. -[![DP deploy](https://raw.githubusercontent.com/DFabric/DPlatform-ShellCore/gh-pages/img/deploy.png)](https://dfabric.github.io/DPlatform-ShellCore) +[![DP deploy](https://raw.githubusercontent.com/DFabric/DPlatform-ShellCore/images/logo.png)](https://dfabric.github.io/DPlatform-ShellCore) ## IndieHosters Get your Rocket.Chat instance hosted in a "as a Service" style. You register and we manage it for you! (updates, backup...). @@ -174,7 +170,7 @@ Host your docker container at [sloppy.io](http://sloppy.io). Get an account and ## Docker -[Deploy with docker compose](https://docs.rocket.chat/installation/docker-containers/docker-compose) +[Deploy with docker compose](https://rocket.chat/docs/installation/docker-containers/docker-compose/) [![Rocket.Chat logo](https://d207aa93qlcgug.cloudfront.net/1.95.5.qa/img/nav/docker-logo-loggedout.png)](https://hub.docker.com/r/rocketchat/rocket.chat/) @@ -195,21 +191,10 @@ OR our [official docker registry image](https://hub.docker.com/_/rocket.chat/), docker pull rocket.chat ``` -## FreeBSD -Run solid five-nines deployment on industry workhorse FreeBSD server. - -[![FreeBSD Daemon](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/freebsd.png)](https://docs.rocket.chat/installation/manual-installation/freebsd/) - -## Windows Server - -Deploy on your own enterprise server, or with Microsoft Azure. - -[![Windows 2012 or 2016 Server](https://github.com/Sing-Li/bbug/blob/master/images/windows.png)](https://docs.rocket.chat/installation/manual-installation/windows-server/) - ## Ansible Automated production-grade deployment in minutes, for RHEL / CentOS 7 or Ubuntu 14.04 LTS / 15.04. -[![Ansible deployment](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/ansible.png)](https://docs.rocket.chat/installation/automation-tools/ansible/) +[![Ansible deployment](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/ansible.png)](https://rocket.chat/docs/installation/automation-tools/ansible/) ## Raspberry Pi 2 Run Rocket.Chat on this world famous $30 quad core server. @@ -223,15 +208,15 @@ Add Rocket.Chat to this world famous time tested small enterprise server today. [![Koozali SME](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/koozali.png)](https://wiki.contribs.org/Rocket_Chat) ## Ubuntu VPS -Follow these [deployment instructions](https://docs.rocket.chat/installation/manual-installation/ubuntu/). +Follow these [deployment instructions](https://rocket.chat/docs/installation/manual-installation/ubuntu/). ## Hyper.sh -Follow their [deployment instructions](https://docs.rocket.chat/installation/paas-deployments/hyper-sh/) to install a per-second billed Rocket.Chat instance on [Hyper.sh](https://docs.rocket.chat/installation/paas-deployments/hyper-sh/). +Follow their [deployment instructions](https://rocket.chat/docs/installation/paas-deployments/hyper-sh/) to install a per-second billed Rocket.Chat instance on [Hyper.sh](https://rocket.chat/docs/installation/paas-deployments/hyper-sh/). ## WeDeploy Install Rocket.Chat on [WeDeploy](https://wedeploy.com): -[![Install](https://avatars3.githubusercontent.com/u/10002920?v=4&s=100)](https://docs.rocket.chat/installation/paas-deployments/wedeploy/) +[![Deploy](https://cdn.wedeploy.com/images/deploy.svg)](https://console.wedeploy.com/deploy?repo=https://github.com/wedeploy-examples/rocketchat-example) ## D2C.io Deploy Rocket.Chat stack to your server with [D2C](https://d2c.io/). Scale with a single click, check live logs and metrics: @@ -321,7 +306,6 @@ It is a great solution for communities and companies wanting to privately host t - Native Cross-Platform Desktop Application [Windows, macOS, or Linux](https://rocket.chat/) - Mobile app for iPhone, iPad, and iPod touch [Download on App Store](https://geo.itunes.apple.com/us/app/rocket-chat/id1148741252?mt=8) - Mobile app for Android phone, tablet, and TV stick [Available now on Google Play](https://play.google.com/store/apps/details?id=chat.rocket.android) -- Native Firefox OS Application (also for Desktop Firefox and Firefox for Android) - [Check the docs page for install instructions](https://docs.rocket.chat/installation/mobile-and-desktop-apps/#native-firefox-os-app) - Sandstorm.io instant Rocket.Chat server [Now on Sandstorm App Store](https://apps.sandstorm.io/app/vfnwptfn02ty21w715snyyczw0nqxkv3jvawcah10c6z7hj1hnu0) - Available on [Cloudron Store](https://cloudron.io/appstore.html#chat.rocket.cloudronapp) @@ -394,7 +378,7 @@ We are developing the APIs based on the competition, so stay tuned and you will ## Documentation -Checkout [Rocket.Chat documentation](https://docs.rocket.chat/). +Checkout [Rocket.Chat documentation](https://rocket.chat/docs/). ## License @@ -408,6 +392,8 @@ Prerequisites: * [Git](http://git-scm.com/book/en/v2/Getting-Started-Installing-Git) * [Meteor](https://www.meteor.com/install) +> Meteor automatically installs a hidden [NodeJS v8](https://nodejs.org/download/release/v8.9.3/), [Python v2.7](https://www.python.org/downloads/release/python-270/) and [MongoDB v3.6](https://www.mongodb.com/mongodb-3.6) to be used when you run your app in development mode using the `meteor` command. + Now just clone and start the app: ```sh @@ -416,11 +402,11 @@ cd Rocket.Chat meteor npm start ``` -If you are not a developer and just want to run the server - see [deployment methods](https://docs.rocket.chat/installation/paas-deployments/). +If you are not a developer and just want to run the server - see [deployment methods](https://rocket.chat/docs/installation/paas-deployments/). ## Branching Model -See [Branches and Releases](https://docs.rocket.chat/developer-guides/branches-and-releases/). +See [Branches and Releases](https://rocket.chat/docs/developer-guides/branches-and-releases/). It is based on [Gitflow Workflow](http://nvie.com/posts/a-successful-git-branching-model/), reference section below is derived from Vincent Driessen at nvie. diff --git a/client/helpers/escapeCssUrl.js b/client/helpers/escapeCssUrl.js new file mode 100644 index 000000000000..bc4344794d3a --- /dev/null +++ b/client/helpers/escapeCssUrl.js @@ -0,0 +1 @@ +Template.registerHelper('escapeCssUrl', (url) => url.replace(/(['"])/g, '\\$1')); diff --git a/client/helpers/log.js b/client/helpers/log.js index 0c6ee1e3c000..cdbd6fa466dc 100644 --- a/client/helpers/log.js +++ b/client/helpers/log.js @@ -1,3 +1,3 @@ -Template.registerHelper('log', () => { - console.log.apply(console, arguments); +Template.registerHelper('log', (...args) => { + console.log.apply(console, args); }); diff --git a/client/helpers/not.js b/client/helpers/not.js index 91b4e19a3c86..9d5597e28f25 100644 --- a/client/helpers/not.js +++ b/client/helpers/not.js @@ -1,3 +1 @@ -Template.registerHelper('not', (value) => { - return !value; -}); +Template.registerHelper('not', (value) => !value); diff --git a/client/lib/handleError.js b/client/lib/handleError.js index 9fdd054cd43b..e4bff4ad3c7e 100644 --- a/client/lib/handleError.js +++ b/client/lib/handleError.js @@ -12,7 +12,12 @@ this.handleError = function(error, useToastr = true) { } if (useToastr) { - return toastr.error(s.escapeHTML(TAPi18n.__(error.error, error.details)), error.details && error.details.errorTitle ? s.escapeHTML(TAPi18n.__(error.details.errorTitle)) : null); + const details = Object.entries(error.details || {}) + .reduce((obj, [key, value]) => ({ ...obj, [key] : s.escapeHTML(value) }), {}); + const message = TAPi18n.__(error.error, details); + const title = details.errorTitle && TAPi18n.__(details.errorTitle); + + return toastr.error(message, title); } return s.escapeHTML(TAPi18n.__(error.error, error.details)); diff --git a/client/methods/deleteMessage.js b/client/methods/deleteMessage.js index b57f5c412bb7..2c63a58da76a 100644 --- a/client/methods/deleteMessage.js +++ b/client/methods/deleteMessage.js @@ -7,7 +7,7 @@ Meteor.methods({ return false; } - //We're now only passed in the `_id` property to lower the amount of data sent to the server + // We're now only passed in the `_id` property to lower the amount of data sent to the server message = ChatMessage.findOne({ _id: message._id }); const hasPermission = RocketChat.authz.hasAtLeastOnePermission('delete-message', message.rid); @@ -35,8 +35,8 @@ Meteor.methods({ Tracker.nonreactive(function() { ChatMessage.remove({ _id: message._id, - 'u._id': Meteor.userId() + 'u._id': Meteor.userId(), }); }); - } + }, }); diff --git a/client/methods/hideRoom.js b/client/methods/hideRoom.js index ba3f2c2dcb1b..210937dd62db 100644 --- a/client/methods/hideRoom.js +++ b/client/methods/hideRoom.js @@ -6,12 +6,12 @@ Meteor.methods({ ChatSubscription.update({ rid, - 'u._id': Meteor.userId() + 'u._id': Meteor.userId(), }, { $set: { alert: false, - open: false - } + open: false, + }, }); - } + }, }); diff --git a/client/methods/leaveRoom.js b/client/methods/leaveRoom.js deleted file mode 100644 index 8a5d1817f3a9..000000000000 --- a/client/methods/leaveRoom.js +++ /dev/null @@ -1,18 +0,0 @@ -Meteor.methods({ - leaveRoom(rid) { - if (!Meteor.userId()) { - return false; - } - - ChatSubscription.remove({ - rid, - 'u._id': Meteor.userId() - }); - - ChatRoom.update(rid, { - $pull: { - usernames: Meteor.user().username - } - }); - } -}); diff --git a/client/methods/openRoom.js b/client/methods/openRoom.js index bb8ae962442d..87c082ced863 100644 --- a/client/methods/openRoom.js +++ b/client/methods/openRoom.js @@ -6,11 +6,11 @@ Meteor.methods({ ChatSubscription.update({ rid, - 'u._id': Meteor.userId() + 'u._id': Meteor.userId(), }, { $set: { - open: true - } + open: true, + }, }); - } + }, }); diff --git a/client/methods/setUserActiveStatus.js b/client/methods/setUserActiveStatus.js index c164fcd8fa4a..97cbe7c7dbbb 100644 --- a/client/methods/setUserActiveStatus.js +++ b/client/methods/setUserActiveStatus.js @@ -2,5 +2,5 @@ Meteor.methods({ setUserActiveStatus(userId, active) { Meteor.users.update(userId, { $set: { active } }); return true; - } + }, }); diff --git a/client/methods/toggleFavorite.js b/client/methods/toggleFavorite.js index 1579b6223a5f..e9c55b3440df 100644 --- a/client/methods/toggleFavorite.js +++ b/client/methods/toggleFavorite.js @@ -6,11 +6,11 @@ Meteor.methods({ ChatSubscription.update({ rid, - 'u._id': Meteor.userId() + 'u._id': Meteor.userId(), }, { $set: { - f - } + f, + }, }); - } + }, }); diff --git a/client/methods/updateMessage.js b/client/methods/updateMessage.js index 8e4d6986e148..43552aa88f81 100644 --- a/client/methods/updateMessage.js +++ b/client/methods/updateMessage.js @@ -48,11 +48,11 @@ Meteor.methods({ message.editedBy = { _id: Meteor.userId(), - username: me.username + username: me.username, }; message = RocketChat.callbacks.run('beforeSaveMessage', message); - const messageObject = {'editedAt': message.editedAt, 'editedBy': message.editedBy, msg: message.msg}; + const messageObject = { editedAt: message.editedAt, editedBy: message.editedBy, msg: message.msg }; if (originalMessage.attachments) { if (originalMessage.attachments[0].description !== undefined) { @@ -61,8 +61,8 @@ Meteor.methods({ } ChatMessage.update({ _id: message._id, - 'u._id': Meteor.userId() - }, {$set : messageObject}); + 'u._id': Meteor.userId(), + }, { $set : messageObject }); }); - } + }, }); diff --git a/client/notifications/UsersNameChanged.js b/client/notifications/UsersNameChanged.js index 68f23ea3e133..88438545b678 100644 --- a/client/notifications/UsersNameChanged.js +++ b/client/notifications/UsersNameChanged.js @@ -1,34 +1,34 @@ Meteor.startup(function() { - RocketChat.Notifications.onLogged('Users:NameChanged', function({_id, name, username}) { + RocketChat.Notifications.onLogged('Users:NameChanged', function({ _id, name, username }) { RocketChat.models.Messages.update({ - 'u._id': _id + 'u._id': _id, }, { $set: { - 'u.name': name - } + 'u.name': name, + }, }, { - multi: true + multi: true, }); RocketChat.models.Messages.update({ mentions: { - $elemMatch: { _id } - } + $elemMatch: { _id }, + }, }, { $set: { - 'mentions.$.name': name - } + 'mentions.$.name': name, + }, }, { - multi: true + multi: true, }); RocketChat.models.Subscriptions.update({ name: username, - t: 'd' + t: 'd', }, { $set: { - fname: name - } + fname: name, + }, }); }); }); diff --git a/client/notifications/notification.js b/client/notifications/notification.js index db2b30ca3bb7..031b3bd963c9 100644 --- a/client/notifications/notification.js +++ b/client/notifications/notification.js @@ -34,7 +34,7 @@ Meteor.startup(function() { fireGlobalEvent('notification', { notification, fromOpenedRoom: messageIsInOpenedRoom, - hasFocus + hasFocus, }); if (RocketChat.Layout.isEmbedded()) { diff --git a/client/notifications/updateUserState.js b/client/notifications/updateUserState.js new file mode 100644 index 000000000000..367ded6c4975 --- /dev/null +++ b/client/notifications/updateUserState.js @@ -0,0 +1,8 @@ +/* globals fireGlobalEvent */ + +/* fire user state change globally, to listen on desktop electron client */ +Meteor.startup(function() { + RocketChat.callbacks.add('userStatusManuallySet', (status) => { + fireGlobalEvent('user-status-manually-set', status); + }); +}); diff --git a/client/routes/adminRouter.js b/client/routes/adminRouter.js index 0675c0763476..5f75a3733fa1 100644 --- a/client/routes/adminRouter.js +++ b/client/routes/adminRouter.js @@ -1,48 +1,48 @@ FlowRouter.route('/admin/users', { name: 'admin-users', action() { - BlazeLayout.render('main', {center: 'adminUsers'}); - } + BlazeLayout.render('main', { center: 'adminUsers' }); + }, }); FlowRouter.route('/admin/rooms', { name: 'admin-rooms', action() { - BlazeLayout.render('main', {center: 'adminRooms'}); - } + BlazeLayout.render('main', { center: 'adminRooms' }); + }, }); FlowRouter.route('/admin/info', { name: 'admin-info', action() { - BlazeLayout.render('main', {center: 'adminInfo'}); - } + BlazeLayout.render('main', { center: 'adminInfo' }); + }, }); FlowRouter.route('/admin/import', { name: 'admin-import', action() { - BlazeLayout.render('main', {center: 'adminImport'}); - } + BlazeLayout.render('main', { center: 'adminImport' }); + }, }); FlowRouter.route('/admin/import/prepare/:importer', { name: 'admin-import-prepare', action() { - BlazeLayout.render('main', {center: 'adminImportPrepare'}); - } + BlazeLayout.render('main', { center: 'adminImportPrepare' }); + }, }); FlowRouter.route('/admin/import/progress/:importer', { name: 'admin-import-progress', action() { - BlazeLayout.render('main', {center: 'adminImportProgress'}); - } + BlazeLayout.render('main', { center: 'adminImportProgress' }); + }, }); FlowRouter.route('/admin/:group?', { name: 'admin', action() { - BlazeLayout.render('main', {center: 'admin'}); - } + BlazeLayout.render('main', { center: 'admin' }); + }, }); diff --git a/client/routes/pageNotFound.html b/client/routes/pageNotFound.html new file mode 100644 index 000000000000..b0ab91242c6d --- /dev/null +++ b/client/routes/pageNotFound.html @@ -0,0 +1,5 @@ + diff --git a/client/routes/roomRoute.js b/client/routes/roomRoute.js index f77e4d9b70ba..dc36397d3fb4 100644 --- a/client/routes/roomRoute.js +++ b/client/routes/roomRoute.js @@ -1,5 +1,5 @@ FlowRouter.goToRoomById = (roomId) => { - const subscription = ChatSubscription.findOne({rid: roomId}); + const subscription = ChatSubscription.findOne({ rid: roomId }); if (subscription) { RocketChat.roomTypes.openRouteLink(subscription.t, subscription, FlowRouter.current().queryParams); } diff --git a/client/routes/router.js b/client/routes/router.js index 67d0f4870e5e..69b69dac0b5a 100644 --- a/client/routes/router.js +++ b/client/routes/router.js @@ -38,7 +38,7 @@ FlowRouter.route('/', { c.stop(); } }); - } + }, }); @@ -47,7 +47,7 @@ FlowRouter.route('/login', { action() { FlowRouter.go('home'); - } + }, }); FlowRouter.route('/home', { @@ -59,25 +59,25 @@ FlowRouter.route('/home', { Accounts.callLoginMethod({ methodArguments: [{ saml: true, - credentialToken: queryParams.saml_idp_credentialToken + credentialToken: queryParams.saml_idp_credentialToken, }], - userCallback() { BlazeLayout.render('main', {center: 'home'}); } + userCallback() { BlazeLayout.render('main', { center: 'home' }); }, }); } else { - BlazeLayout.render('main', {center: 'home'}); + BlazeLayout.render('main', { center: 'home' }); } - } + }, }); FlowRouter.route('/directory', { name: 'directory', action() { - BlazeLayout.render('main', {center: 'directory'}); + BlazeLayout.render('main', { center: 'directory' }); }, triggersExit: [function() { $('.main-content').addClass('rc-old'); - }] + }], }); FlowRouter.route('/account/:group?', { @@ -92,7 +92,7 @@ FlowRouter.route('/account/:group?', { }, triggersExit: [function() { $('.main-content').addClass('rc-old'); - }] + }], }); FlowRouter.route('/terms-of-service', { @@ -101,7 +101,7 @@ FlowRouter.route('/terms-of-service', { action() { Session.set('cmsPage', 'Layout_Terms_of_Service'); BlazeLayout.render('cmsPage'); - } + }, }); FlowRouter.route('/privacy-policy', { @@ -110,16 +110,16 @@ FlowRouter.route('/privacy-policy', { action() { Session.set('cmsPage', 'Layout_Privacy_Policy'); BlazeLayout.render('cmsPage'); - } + }, }); FlowRouter.route('/room-not-found/:type/:name', { name: 'room-not-found', action(params) { - Session.set('roomNotFound', {type: params.type, name: params.name}); - BlazeLayout.render('main', {center: 'roomNotFound'}); - } + Session.set('roomNotFound', { type: params.type, name: params.name }); + BlazeLayout.render('main', { center: 'roomNotFound' }); + }, }); FlowRouter.route('/fxos', { @@ -127,13 +127,13 @@ FlowRouter.route('/fxos', { action() { BlazeLayout.render('fxOsInstallPrompt'); - } + }, }); FlowRouter.route('/register/:hash', { name: 'register-secret-url', - action(/*params*/) { + action(/* params*/) { BlazeLayout.render('secretURL'); // if RocketChat.settings.get('Accounts_RegistrationForm') is 'Secret URL' @@ -146,5 +146,28 @@ FlowRouter.route('/register/:hash', { // BlazeLayout.render 'logoLayout', { render: 'invalidSecretURL' } // else // BlazeLayout.render 'logoLayout', { render: 'invalidSecretURL' } - } + }, }); + +FlowRouter.route('/setup-wizard', { + name: 'setup-wizard', + + action() { + BlazeLayout.render('setupWizard'); + }, +}); + +FlowRouter.route('/setup-wizard/final', { + name: 'setup-wizard-final', + + action() { + BlazeLayout.render('setupWizardFinal'); + }, +}); + +FlowRouter.notFound = { + action() { + BlazeLayout.render('pageNotFound'); + }, +}; + diff --git a/client/startup/i18n.js b/client/startup/i18n.js new file mode 100644 index 000000000000..5e426f4dd698 --- /dev/null +++ b/client/startup/i18n.js @@ -0,0 +1,80 @@ +/* globals isRtl */ + +import moment from 'moment'; + +const currentLanguage = new ReactiveVar(); + +Meteor.startup(() => { + TAPi18n.conf.i18n_files_route = Meteor._relativeToSiteRootUrl('/tap-i18n'); + currentLanguage.set(localStorage.getItem('userLanguage')); + + const availableLanguages = TAPi18n.getLanguages(); + + const filterLanguage = (language) => { + // Fix browsers having all-lowercase language settings eg. pt-br, en-us + const regex = /([a-z]{2})-([a-z]{2})/; + const matches = regex.exec(language); + if (matches) { + return `${ matches[1] }-${ matches[2].toUpperCase() }`; + } + + return language; + }; + + const getBrowserLanguage = () => filterLanguage(window.navigator.userLanguage || window.navigator.language); + + const loadMomentLocale = (language) => new Promise((resolve, reject) => { + if (moment.locales().includes(language.toLowerCase())) { + resolve(language); + return; + } + + Meteor.call('loadLocale', language, (error, localeSrc) => { + if (error) { + reject(error); + return; + } + + Function(localeSrc).call({ moment }); + resolve(language); + }); + }); + + const applyLanguage = (language = 'en') => { + language = filterLanguage(language); + + if (!availableLanguages[language]) { + language = language.split('-').shift(); + } + + if (!language) { + return; + } + + document.documentElement.classList[isRtl(language) ? 'add' : 'remove']('rtl'); + TAPi18n.setLanguage(language); + loadMomentLocale(language).then((locale) => moment.locale(locale), (error) => console.error(error)); + }; + + const setLanguage = (language) => { + const lang = filterLanguage(language); + currentLanguage.set(lang); + localStorage.setItem('userLanguage', lang); + }; + window.setLanguage = setLanguage; + + const defaultUserLanguage = () => RocketChat.settings.get('Language') || getBrowserLanguage() || 'en'; + window.defaultUserLanguage = defaultUserLanguage; + + Tracker.autorun(() => { + const user = RocketChat.models.Users.findOne(Meteor.userId(), { fields: { language: 1 } }); + + setLanguage((user && user.language) || defaultUserLanguage()); + }); + + Tracker.autorun(() => { + if (currentLanguage.get()) { + applyLanguage(currentLanguage.get()); + } + }); +}); diff --git a/client/startup/loginViaQuery.js b/client/startup/loginViaQuery.js new file mode 100644 index 000000000000..5804be24b3bb --- /dev/null +++ b/client/startup/loginViaQuery.js @@ -0,0 +1,7 @@ +Meteor.startup(() => { + if (FlowRouter.getQueryParam('resumeToken')) { + Meteor.loginWithToken(FlowRouter.getQueryParam('resumeToken'), () => { + FlowRouter.go('/home'); + }); + } +}); diff --git a/client/startup/roomObserve.js b/client/startup/roomObserve.js index f2b6bafd8acd..6681b89f8f7a 100644 --- a/client/startup/roomObserve.js +++ b/client/startup/roomObserve.js @@ -8,6 +8,6 @@ Meteor.startup(function() { }, removed(data) { Session.set(`roomData${ data._id }`, undefined); - } + }, }); }); diff --git a/client/startup/startup.js b/client/startup/startup.js index 8279db3373a5..d29aae306a91 100644 --- a/client/startup/startup.js +++ b/client/startup/startup.js @@ -1,6 +1,5 @@ -/* globals UserPresence, fireGlobalEvent, isRtl */ +/* globals UserPresence, fireGlobalEvent */ -import moment from 'moment'; import toastr from 'toastr'; import hljs from 'highlight.js'; import 'highlight.js/styles/github.css'; @@ -17,115 +16,50 @@ if (window.DISABLE_ANIMATION) { Meteor.startup(function() { TimeSync.loggingEnabled = false; - const userHasPreferences = (user) => { - if (!user) { - return false; - } - - const userHasSettings = user.hasOwnProperty('settings'); - - if (!userHasSettings) { - return false; - } - - return user.settings.hasOwnProperty('preferences'); - }; - - Meteor.subscribe('activeUsers'); - Session.setDefault('AvatarRandom', 0); window.lastMessageWindow = {}; window.lastMessageWindowHistory = {}; - TAPi18n.conf.i18n_files_route = Meteor._relativeToSiteRootUrl('/tap-i18n'); - - const defaultAppLanguage = function() { - let lng = window.navigator.userLanguage || window.navigator.language || 'en'; - // Fix browsers having all-lowercase language settings eg. pt-br, en-us - const re = /([a-z]{2}-)([a-z]{2})/; - if (re.test(lng)) { - lng = lng.replace(re, (match, ...parts) => { - return parts[0] + parts[1].toUpperCase(); - }); + Tracker.autorun(function(computation) { + if (!Meteor.userId() && !RocketChat.settings.get('Accounts_AllowAnonymousRead')) { + return; } - return lng; - }; - - window.defaultUserLanguage = function() { - return RocketChat.settings.get('Language') || defaultAppLanguage(); - }; - - const availableLanguages = TAPi18n.getLanguages(); - const loadedLanguages = []; + Meteor.subscribe('userData'); + Meteor.subscribe('activeUsers'); + computation.stop(); + }); - window.setLanguage = function(language) { - if (!language) { + let status = undefined; + Tracker.autorun(function() { + if (!Meteor.userId()) { return; } + const user = RocketChat.models.Users.findOne(Meteor.userId(), { + fields: { + status: 1, + 'settings.preferences.idleTimeLimit': 1, + 'settings.preferences.enableAutoAway': 1, + }, + }); - if (loadedLanguages.indexOf(language) > -1) { + if (!user) { return; } - loadedLanguages.push(language); - - if (isRtl(language)) { - $('html').addClass('rtl'); + if (RocketChat.getUserPreference(user, 'enableAutoAway')) { + const idleTimeLimit = RocketChat.getUserPreference(user, 'idleTimeLimit') || 300; + UserPresence.awayTime = idleTimeLimit * 1000; } else { - $('html').removeClass('rtl'); - } - - if (!availableLanguages[language]) { - language = language.split('-').shift(); + delete UserPresence.awayTime; + UserPresence.stopTimer(); } - TAPi18n.setLanguage(language); + UserPresence.start(); - language = language.toLowerCase(); - if (language !== 'en') { - Meteor.call('loadLocale', language, (err, localeFn) => { - Function(localeFn).call({moment}); - moment.locale(language); - }); + if (user.status !== status) { + status = user.status; + fireGlobalEvent('status-changed', status); } - }; - - const defaultIdleTimeLimit = 300000; - - Meteor.subscribe('userData', function() { - const user = Meteor.user(); - const userLanguage = user && user.language ? user.language : window.defaultUserLanguage(); - - if (!userHasPreferences(user)) { - UserPresence.awayTime = defaultIdleTimeLimit; - UserPresence.start(); - } else { - UserPresence.awayTime = user.settings.preferences.idleTimeLimit || defaultIdleTimeLimit; - - if (user.settings.preferences.hasOwnProperty('enableAutoAway')) { - user.settings.preferences.enableAutoAway && UserPresence.start(); - } else { - UserPresence.start(); - } - } - - if (localStorage.getItem('userLanguage') !== userLanguage) { - localStorage.setItem('userLanguage', userLanguage); - } - - window.setLanguage(userLanguage); - - let status = undefined; - Tracker.autorun(function() { - if (!Meteor.userId()) { - return; - } - - if (user && user.status !== status) { - status = user.status; - fireGlobalEvent('status-changed', status); - } - }); }); }); diff --git a/client/startup/unread.js b/client/startup/unread.js index f124cf6d75d7..7313f1b7a38b 100644 --- a/client/startup/unread.js +++ b/client/startup/unread.js @@ -5,7 +5,7 @@ Meteor.startup(function() { let unreadCount = 0; let unreadAlert = false; - const subscriptions = ChatSubscription.find({open: true, hideUnreadStatus: { $ne: true }}, { fields: { unread: 1, alert: 1, rid: 1, t: 1, name: 1, ls: 1, unreadAlert: 1 } }); + const subscriptions = ChatSubscription.find({ open: true, hideUnreadStatus: { $ne: true } }, { fields: { unread: 1, alert: 1, rid: 1, t: 1, name: 1, ls: 1, unreadAlert: 1 } }); let openedRoomId = undefined; Tracker.nonreactive(function() { @@ -63,7 +63,7 @@ Meteor.startup(function() { Meteor.startup(function() { window.favico = new Favico({ position: 'up', - animation: 'none' + animation: 'none', }); Tracker.autorun(function() { @@ -74,7 +74,7 @@ Meteor.startup(function() { if (favico) { favico.badge(unread, { - bgColor: typeof unread !== 'number' ? '#3d8a3a' : '#ac1b1b' + bgColor: typeof unread !== 'number' ? '#3d8a3a' : '#ac1b1b', }); } diff --git a/client/startup/userSetUtcOffset.js b/client/startup/userSetUtcOffset.js index d41f644fe67f..7916222214b3 100644 --- a/client/startup/userSetUtcOffset.js +++ b/client/startup/userSetUtcOffset.js @@ -2,7 +2,7 @@ import moment from 'moment'; Meteor.startup(function() { Tracker.autorun(function() { - const user = Meteor.user(); + const user = RocketChat.models.Users.findOne({ _id: Meteor.userId() }, { fields: { statusConnection: 1, utcOffset: 1 } }); if (user && user.statusConnection === 'online') { const utcOffset = moment().utcOffset() / 60; if (user.utcOffset !== utcOffset) { diff --git a/client/startup/usersObserve.js b/client/startup/usersObserve.js index 2dbddf942059..3ed237430286 100644 --- a/client/startup/usersObserve.js +++ b/client/startup/usersObserve.js @@ -11,6 +11,6 @@ Meteor.startup(function() { removed(user) { Session.set(`user_${ user.username }_status`, null); RoomManager.updateUserStatus(user, 'offline', null); - } + }, }); }); diff --git a/docker-compose.yml b/docker-compose.yml index d1cfa596080c..430214bc3263 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,7 +28,7 @@ services: volumes: - ./data/db:/data/db #- ./data/dump:/dump - command: mongod --smallfiles --oplogSize 128 --replSet rs0 + command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1 labels: - "traefik.enable=false" diff --git a/example-build-run.sh b/example-build-run.sh index 97fc98bd6680..83792b97d940 100644 --- a/example-build-run.sh +++ b/example-build-run.sh @@ -10,6 +10,7 @@ DEPLOY_DIR=/var/www/rocket.chat ### BUILD meteor npm install +meteor npm run postinstall # on the very first build, meteor build command should fail due to a bug on emojione package (related to phantomjs installation) # the command below forces the error to happen before build command (not needed on subsequent builds) diff --git a/imports/message-read-receipt/client/main.js b/imports/message-read-receipt/client/main.js index c2711f6663dd..a40a8b0a6190 100644 --- a/imports/message-read-receipt/client/main.js +++ b/imports/message-read-receipt/client/main.js @@ -3,5 +3,5 @@ Template.main.helpers({ if (RocketChat.settings.get('Message_Read_Receipt_Store_Users')) { return 'read-receipts-enabled'; } - } + }, }); diff --git a/imports/message-read-receipt/client/message.js b/imports/message-read-receipt/client/message.js index 9a89d937b6c4..8c08a2b502d5 100644 --- a/imports/message-read-receipt/client/message.js +++ b/imports/message-read-receipt/client/message.js @@ -7,7 +7,7 @@ Template.message.helpers({ } return { - readByEveryone: (!this.unread && 'read') || 'color-component-color' + readByEveryone: (!this.unread && 'read') || 'color-component-color', }; - } + }, }); diff --git a/imports/message-read-receipt/client/readReceipts.js b/imports/message-read-receipt/client/readReceipts.js index b1a9cde21644..bfdac29a99e1 100644 --- a/imports/message-read-receipt/client/readReceipts.js +++ b/imports/message-read-receipt/client/readReceipts.js @@ -16,7 +16,7 @@ Template.readReceipts.helpers({ }, isLoading() { return Template.instance().loading.get(); - } + }, }); Template.readReceipts.onCreated(function readReceiptsOnCreated() { diff --git a/imports/message-read-receipt/client/room.js b/imports/message-read-receipt/client/room.js index dc5cde1e4a6b..89f61ccab43a 100644 --- a/imports/message-read-receipt/client/room.js +++ b/imports/message-read-receipt/client/room.js @@ -9,16 +9,16 @@ RocketChat.MessageAction.addButton({ title: t('Message_info'), content: 'readReceipts', data: { - messageId: message._id + messageId: message._id, }, showConfirmButton: true, showCancelButton: false, - confirmButtonText: t('Close') + confirmButtonText: t('Close'), }); }, condition() { return RocketChat.settings.get('Message_Read_Receipt_Store_Users'); }, order: 1, - group: 'menu' + group: 'menu', }); diff --git a/imports/message-read-receipt/server/api/methods/getReadReceipts.js b/imports/message-read-receipt/server/api/methods/getReadReceipts.js index da9c7ecbe995..4c8a10096960 100644 --- a/imports/message-read-receipt/server/api/methods/getReadReceipts.js +++ b/imports/message-read-receipt/server/api/methods/getReadReceipts.js @@ -24,5 +24,5 @@ Meteor.methods({ } return ReadReceipt.getReceipts(message); - } + }, }); diff --git a/imports/message-read-receipt/server/dbIndexes.js b/imports/message-read-receipt/server/dbIndexes.js index b88d4021a7bf..3d82fc7be455 100644 --- a/imports/message-read-receipt/server/dbIndexes.js +++ b/imports/message-read-receipt/server/dbIndexes.js @@ -1,5 +1,5 @@ RocketChat.models.Messages.tryEnsureIndex({ - unread: 1 + unread: 1, }, { - sparse: true + sparse: true, }); diff --git a/imports/message-read-receipt/server/lib/ReadReceipt.js b/imports/message-read-receipt/server/lib/ReadReceipt.js index 8cde6157ab29..04261faadee8 100644 --- a/imports/message-read-receipt/server/lib/ReadReceipt.js +++ b/imports/message-read-receipt/server/lib/ReadReceipt.js @@ -55,15 +55,13 @@ export const ReadReceipt = { storeReadReceipts(messages, roomId, userId) { if (RocketChat.settings.get('Message_Read_Receipt_Store_Users')) { const ts = new Date(); - const receipts = messages.map(message => { - return { - _id: Random.id(), - roomId, - userId, - messageId: message._id, - ts - }; - }); + const receipts = messages.map((message) => ({ + _id: Random.id(), + roomId, + userId, + messageId: message._id, + ts, + })); if (receipts.length === 0) { return; @@ -78,9 +76,9 @@ export const ReadReceipt = { }, getReceipts(message) { - return ModelReadReceipts.findByMessageId(message._id).map(receipt => ({ + return ModelReadReceipts.findByMessageId(message._id).map((receipt) => ({ ...receipt, - user: RocketChat.models.Users.findOneById(receipt.userId, { fields: { username: 1, name: 1 }}) + user: RocketChat.models.Users.findOneById(receipt.userId, { fields: { username: 1, name: 1 } }), })); - } + }, }; diff --git a/imports/message-read-receipt/server/models/ReadReceipts.js b/imports/message-read-receipt/server/models/ReadReceipts.js index 4749ae5bb281..5d62edb1fdde 100644 --- a/imports/message-read-receipt/server/models/ReadReceipts.js +++ b/imports/message-read-receipt/server/models/ReadReceipts.js @@ -1,13 +1,13 @@ class ModelReadReceipts extends RocketChat.models._Base { - constructor() { - super(...arguments); + constructor(...args) { + super(...args); this.tryEnsureIndex({ roomId: 1, userId: 1, - messageId: 1 + messageId: 1, }, { - unique: 1 + unique: 1, }); } diff --git a/imports/message-read-receipt/server/settings.js b/imports/message-read-receipt/server/settings.js index 5349ab399b8b..39d3bd33f2e2 100644 --- a/imports/message-read-receipt/server/settings.js +++ b/imports/message-read-receipt/server/settings.js @@ -1,12 +1,12 @@ RocketChat.settings.add('Message_Read_Receipt_Enabled', false, { group: 'Message', type: 'boolean', - public: true + public: true, }); RocketChat.settings.add('Message_Read_Receipt_Store_Users', false, { group: 'Message', type: 'boolean', public: true, - enableQuery: { _id: 'Message_Read_Receipt_Enabled', value: true } + enableQuery: { _id: 'Message_Read_Receipt_Enabled', value: true }, }); diff --git a/imports/personal-access-tokens/client/index.js b/imports/personal-access-tokens/client/index.js new file mode 100644 index 000000000000..621ead8218b0 --- /dev/null +++ b/imports/personal-access-tokens/client/index.js @@ -0,0 +1 @@ +import './personalAccessTokens'; diff --git a/imports/personal-access-tokens/client/personalAccessTokens.html b/imports/personal-access-tokens/client/personalAccessTokens.html new file mode 100644 index 000000000000..31a0e7e3adab --- /dev/null +++ b/imports/personal-access-tokens/client/personalAccessTokens.html @@ -0,0 +1,68 @@ + diff --git a/imports/personal-access-tokens/client/personalAccessTokens.js b/imports/personal-access-tokens/client/personalAccessTokens.js new file mode 100644 index 000000000000..c28896968dfc --- /dev/null +++ b/imports/personal-access-tokens/client/personalAccessTokens.js @@ -0,0 +1,107 @@ +import { ReactiveVar } from 'meteor/reactive-var'; +import toastr from 'toastr'; +import moment from 'moment'; + +import './personalAccessTokens.html'; + +const PersonalAccessTokens = new Mongo.Collection('personal_access_tokens'); + +Template.accountTokens.helpers({ + isAllowed() { + return RocketChat.settings.get('API_Enable_Personal_Access_Tokens'); + }, + tokens() { + return (PersonalAccessTokens.find({}).fetch()[0] && PersonalAccessTokens.find({}).fetch()[0].tokens) || []; + }, + dateFormated(date) { + return moment(date).format('L LT'); + }, +}); + +const showSuccessModal = (token) => { + modal.open({ + title: t('API_Personal_Access_Token_Generated'), + text: t('API_Personal_Access_Token_Generated_Text_Token_s_UserId_s', { token, userId: Meteor.userId() }), + type: 'success', + confirmButtonColor: '#DD6B55', + confirmButtonText: 'Ok', + closeOnConfirm: true, + html: true, + }, () => { + }); +}; +Template.accountTokens.events({ + 'submit #form-tokens'(e, instance) { + e.preventDefault(); + const tokenName = e.currentTarget.elements.tokenName.value.trim(); + if (tokenName === '') { + return toastr.error(t('Please_fill_a_token_name')); + } + Meteor.call('personalAccessTokens:generateToken', { tokenName }, (error, token) => { + if (error) { + return toastr.error(t(error.error)); + } + showSuccessModal(token); + instance.find('#input-token-name').value = ''; + }); + }, + 'click .remove-personal-access-token'() { + modal.open({ + title: t('Are_you_sure'), + text: t('API_Personal_Access_Tokens_Remove_Modal'), + type: 'warning', + showCancelButton: true, + confirmButtonColor: '#DD6B55', + confirmButtonText: t('Yes'), + cancelButtonText: t('Cancel'), + closeOnConfirm: true, + html: false, + }, () => { + Meteor.call('personalAccessTokens:removeToken', { + tokenName: this.name, + }, (error) => { + if (error) { + return toastr.error(t(error.error)); + } + toastr.success(t('Removed')); + }); + }); + }, + 'click .regenerate-personal-access-token'() { + modal.open({ + title: t('Are_you_sure'), + text: t('API_Personal_Access_Tokens_Regenerate_Modal'), + type: 'warning', + showCancelButton: true, + confirmButtonColor: '#DD6B55', + confirmButtonText: t('API_Personal_Access_Tokens_Regenerate_It'), + cancelButtonText: t('Cancel'), + closeOnConfirm: true, + html: false, + }, () => { + Meteor.call('personalAccessTokens:regenerateToken', { + tokenName: this.name, + }, (error, token) => { + if (error) { + return toastr.error(t(error.error)); + } + showSuccessModal(token); + }); + }); + }, +}); + +Template.accountTokens.onCreated(function() { + this.ready = new ReactiveVar(true); + const subscription = this.subscribe('personalAccessTokens'); + this.autorun(() => { + this.ready.set(subscription.ready()); + }); +}); + +Template.accountTokens.onRendered(function() { + Tracker.afterFlush(function() { + SideNav.setFlex('accountFlex'); + SideNav.openFlex(); + }); +}); diff --git a/imports/personal-access-tokens/server/api/methods/generateToken.js b/imports/personal-access-tokens/server/api/methods/generateToken.js new file mode 100644 index 000000000000..68f337e357c5 --- /dev/null +++ b/imports/personal-access-tokens/server/api/methods/generateToken.js @@ -0,0 +1,35 @@ +import { Meteor } from 'meteor/meteor'; +import { Random } from 'meteor/random'; +import { Accounts } from 'meteor/accounts-base'; + +Meteor.methods({ + 'personalAccessTokens:generateToken'({ tokenName }) { + if (!Meteor.userId()) { + throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:generateToken' }); + } + if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) { + throw new Meteor.Error('error-personal-access-tokens-are-current-disabled', 'Personal Access Tokens are currently disabled', { method: 'personalAccessTokens:generateToken' }); + } + + const token = Random.secret(); + const tokenExist = RocketChat.models.Users.findPersonalAccessTokenByTokenNameAndUserId({ + userId: Meteor.userId(), + tokenName, + }); + if (tokenExist) { + throw new Meteor.Error('error-token-already-exists', 'A token with this name already exists', { method: 'personalAccessTokens:generateToken' }); + } + + RocketChat.models.Users.addPersonalAccessTokenToUser({ + userId: Meteor.userId(), + loginTokenObject: { + hashedToken: Accounts._hashLoginToken(token), + type: 'personalAccessToken', + createdAt: new Date(), + lastTokenPart: token.slice(-6), + name: tokenName, + }, + }); + return token; + }, +}); diff --git a/imports/personal-access-tokens/server/api/methods/index.js b/imports/personal-access-tokens/server/api/methods/index.js new file mode 100644 index 000000000000..a4edd2289186 --- /dev/null +++ b/imports/personal-access-tokens/server/api/methods/index.js @@ -0,0 +1,3 @@ +import './generateToken'; +import './regenerateToken'; +import './removeToken'; diff --git a/imports/personal-access-tokens/server/api/methods/regenerateToken.js b/imports/personal-access-tokens/server/api/methods/regenerateToken.js new file mode 100644 index 000000000000..6b36f9adf25c --- /dev/null +++ b/imports/personal-access-tokens/server/api/methods/regenerateToken.js @@ -0,0 +1,23 @@ +import { Meteor } from 'meteor/meteor'; + +Meteor.methods({ + 'personalAccessTokens:regenerateToken'({ tokenName }) { + if (!Meteor.userId()) { + throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:regenerateToken' }); + } + if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) { + throw new Meteor.Error('error-personal-access-tokens-are-current-disabled', 'Personal Access Tokens are currently disabled', { method: 'personalAccessTokens:regenerateToken' }); + } + + const tokenExist = RocketChat.models.Users.findPersonalAccessTokenByTokenNameAndUserId({ + userId: Meteor.userId(), + tokenName, + }); + if (!tokenExist) { + throw new Meteor.Error('error-token-does-not-exists', 'Token does not exist', { method: 'personalAccessTokens:regenerateToken' }); + } + + Meteor.call('personalAccessTokens:removeToken', { tokenName }); + return Meteor.call('personalAccessTokens:generateToken', { tokenName }); + }, +}); diff --git a/imports/personal-access-tokens/server/api/methods/removeToken.js b/imports/personal-access-tokens/server/api/methods/removeToken.js new file mode 100644 index 000000000000..ff7be8de698c --- /dev/null +++ b/imports/personal-access-tokens/server/api/methods/removeToken.js @@ -0,0 +1,26 @@ +import { Meteor } from 'meteor/meteor'; + +Meteor.methods({ + 'personalAccessTokens:removeToken'({ tokenName }) { + if (!Meteor.userId()) { + throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:removeToken' }); + } + if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) { + throw new Meteor.Error('error-personal-access-tokens-are-current-disabled', 'Personal Access Tokens are currently disabled', { method: 'personalAccessTokens:removeToken' }); + } + const tokenExist = RocketChat.models.Users.findPersonalAccessTokenByTokenNameAndUserId({ + userId: Meteor.userId(), + tokenName, + }); + if (!tokenExist) { + throw new Meteor.Error('error-token-does-not-exists', 'Token does not exist', { method: 'personalAccessTokens:removeToken' }); + } + RocketChat.models.Users.removePersonalAccessTokenOfUser({ + userId: Meteor.userId(), + loginTokenObject: { + type: 'personalAccessToken', + name: tokenName, + }, + }); + }, +}); diff --git a/imports/personal-access-tokens/server/index.js b/imports/personal-access-tokens/server/index.js new file mode 100644 index 000000000000..ca18192c8e77 --- /dev/null +++ b/imports/personal-access-tokens/server/index.js @@ -0,0 +1,6 @@ +import './api/methods'; +import './settings'; +import './models'; +import './publications'; + + diff --git a/imports/personal-access-tokens/server/models/Users.js b/imports/personal-access-tokens/server/models/Users.js new file mode 100644 index 000000000000..6785ac815a48 --- /dev/null +++ b/imports/personal-access-tokens/server/models/Users.js @@ -0,0 +1,39 @@ +RocketChat.models.Users.getLoginTokensByUserId = function(userId) { + const query = { + 'services.resume.loginTokens.type': { + $exists: true, + $eq: 'personalAccessToken', + }, + _id: userId, + }; + + return this.find(query, { fields: { 'services.resume.loginTokens': 1 } }); +}; + +RocketChat.models.Users.addPersonalAccessTokenToUser = function({ userId, loginTokenObject }) { + return this.update(userId, { + $push: { + 'services.resume.loginTokens': loginTokenObject, + }, + }); +}; + +RocketChat.models.Users.removePersonalAccessTokenOfUser = function({ userId, loginTokenObject }) { + return this.update(userId, { + $pull: { + 'services.resume.loginTokens': loginTokenObject, + }, + }); +}; + +RocketChat.models.Users.findPersonalAccessTokenByTokenNameAndUserId = function({ userId, tokenName }) { + const query = { + 'services.resume.loginTokens': { + $elemMatch: { name: tokenName, type: 'personalAccessToken' }, + }, + _id: userId, + }; + + return this.findOne(query); +}; + diff --git a/imports/personal-access-tokens/server/models/index.js b/imports/personal-access-tokens/server/models/index.js new file mode 100644 index 000000000000..499666bb4d94 --- /dev/null +++ b/imports/personal-access-tokens/server/models/index.js @@ -0,0 +1 @@ +import './Users'; diff --git a/imports/personal-access-tokens/server/publications/index.js b/imports/personal-access-tokens/server/publications/index.js new file mode 100644 index 000000000000..621ead8218b0 --- /dev/null +++ b/imports/personal-access-tokens/server/publications/index.js @@ -0,0 +1 @@ +import './personalAccessTokens'; diff --git a/imports/personal-access-tokens/server/publications/personalAccessTokens.js b/imports/personal-access-tokens/server/publications/personalAccessTokens.js new file mode 100644 index 000000000000..bdc75b9a9ecf --- /dev/null +++ b/imports/personal-access-tokens/server/publications/personalAccessTokens.js @@ -0,0 +1,35 @@ +import { Meteor } from 'meteor/meteor'; + +Meteor.publish('personalAccessTokens', function() { + if (!this.userId) { + return this.ready(); + } + if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) { + return this.ready(); + } + const self = this; + const getFieldsToPublish = (fields) => fields.services.resume.loginTokens + .filter((loginToken) => loginToken.type && loginToken.type === 'personalAccessToken') + .map((loginToken) => ({ + name: loginToken.name, + createdAt: loginToken.createdAt, + lastTokenPart: loginToken.lastTokenPart, + })); + const handle = RocketChat.models.Users.getLoginTokensByUserId(this.userId).observeChanges({ + added(id, fields) { + self.added('personal_access_tokens', id, { tokens: getFieldsToPublish(fields) }); + }, + changed(id, fields) { + self.changed('personal_access_tokens', id, { tokens: getFieldsToPublish(fields) }); + }, + removed(id) { + self.removed('personal_access_tokens', id); + }, + }); + + self.ready(); + + self.onStop(function() { + handle.stop(); + }); +}); diff --git a/imports/personal-access-tokens/server/settings.js b/imports/personal-access-tokens/server/settings.js new file mode 100644 index 000000000000..fa2aba8cfb24 --- /dev/null +++ b/imports/personal-access-tokens/server/settings.js @@ -0,0 +1,5 @@ +RocketChat.settings.addGroup('General', function() { + this.section('REST API', function() { + this.add('API_Enable_Personal_Access_Tokens', false, { type: 'boolean', public: true }); + }); +}); diff --git a/imports/startup/client/index.js b/imports/startup/client/index.js index d61ded85f56a..4e417640eab6 100644 --- a/imports/startup/client/index.js +++ b/imports/startup/client/index.js @@ -1 +1,2 @@ import '../../message-read-receipt/client'; +import '../../personal-access-tokens/client'; diff --git a/imports/startup/server/index.js b/imports/startup/server/index.js index 261b86e752db..8b7c5bd8020b 100644 --- a/imports/startup/server/index.js +++ b/imports/startup/server/index.js @@ -1 +1,2 @@ import '../../message-read-receipt/server'; +import '../../personal-access-tokens/server'; diff --git a/package-lock.json b/package-lock.json index 140c99548c68..e867f1295c9d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,118 +1,113 @@ { "name": "Rocket.Chat", - "version": "0.63.0-rc.1", + "version": "0.69.0-develop", "lockfileVersion": 1, "requires": true, "dependencies": { "@babel/runtime": { - "version": "7.0.0-beta.44", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.44.tgz", - "integrity": "sha512-4r2bym+kePWQH3eLne/IqVwqzbk43Lt6rzYQM+ARwSHfned1rFg9SX62SdKHtzSYq8NCoULxwHJS0T6a6r5hiA==", + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.49.tgz", + "integrity": "sha1-A7O/B+uYIHLI6FHdLd1RECguYb8=", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "regenerator-runtime": "0.11.1" } }, "@google-cloud/common": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.16.1.tgz", - "integrity": "sha512-1sufDsSfgJ7fuBLq+ux8t3TlydMlyWl9kPZx2WdLINkGtf5RjvXX6EWYZiCMKe8flJ3oC0l95j5atN2uX5n3rg==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz", + "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "requires": { "array-uniq": "1.0.3", "arrify": "1.0.1", - "concat-stream": "1.6.0", + "concat-stream": "1.6.2", "create-error-class": "3.0.2", - "duplexify": "3.5.3", + "duplexify": "3.6.0", "ent": "2.2.0", "extend": "3.0.1", - "google-auto-auth": "0.9.3", + "google-auto-auth": "0.10.1", "is": "3.2.1", - "log-driver": "1.2.5", + "log-driver": "1.2.7", "methmeth": "1.1.0", "modelo": "4.2.3", - "request": "2.83.0", + "request": "2.87.0", "retry-request": "3.3.1", "split-array-stream": "1.0.3", - "stream-events": "1.0.2", + "stream-events": "1.0.4", "string-format-obj": "1.1.1", "through2": "2.0.3" } }, "@google-cloud/language": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@google-cloud/language/-/language-1.1.0.tgz", - "integrity": "sha512-CcCc2zgX3M1X+rn+zy38QjCY/1R9CBCRd3cCqzIefZL16QgBod3ATPtVEHQG4KCyjnvCkMNMTQdYRCcsXs4wLw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@google-cloud/language/-/language-1.2.0.tgz", + "integrity": "sha512-lHgSUORR6tNtwZ6cdTtmFqCVtwrp6SJp/8NdKdX4pabibiqYlZBDrQPNq+96qRF9YSYkSpsl9px41T1i/NUrWw==", "requires": { - "google-gax": "0.14.5", + "google-gax": "0.16.1", "lodash.merge": "4.6.1" } }, "@google-cloud/storage": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.6.0.tgz", - "integrity": "sha512-yQ63bJYoiwY220gn/KdTLPoHppAPwFHfG7VFLPwJ+1R5U1eqUN5XV2a7uPj1szGF8/gxlKm2UbE8DgoJJ76DFw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.7.0.tgz", + "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "requires": { - "@google-cloud/common": "0.16.1", + "@google-cloud/common": "0.17.0", "arrify": "1.0.1", - "async": "2.6.0", - "compressible": "2.0.12", - "concat-stream": "1.6.0", + "async": "2.6.1", + "compressible": "2.0.13", + "concat-stream": "1.6.2", "create-error-class": "3.0.2", - "duplexify": "3.5.3", + "duplexify": "3.6.0", "extend": "3.0.1", - "gcs-resumable-upload": "0.9.0", + "gcs-resumable-upload": "0.10.2", "hash-stream-validation": "0.2.1", "is": "3.2.1", - "mime": "2.2.0", - "mime-types": "2.1.17", + "mime": "2.3.1", + "mime-types": "2.1.18", "once": "1.4.0", - "pumpify": "1.4.0", - "request": "2.83.0", - "safe-buffer": "5.1.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "safe-buffer": "5.1.2", "snakeize": "0.1.0", - "stream-events": "1.0.2", - "string-format-obj": "1.1.1", - "through2": "2.0.3" - }, - "dependencies": { - "mime": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", - "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==" - } + "stream-events": "1.0.4", + "through2": "2.0.3", + "xdg-basedir": "3.0.0" } }, "@google-cloud/vision": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/@google-cloud/vision/-/vision-0.15.2.tgz", - "integrity": "sha512-SqirvZHIX95q24RIGGucVI4oS3FMZSnEXqw4SK8C6MlEfV3C0zn59eT1W8zcYvvFnR90+mHgw2PC2Z4ZMav/LQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@google-cloud/vision/-/vision-0.19.0.tgz", + "integrity": "sha512-ull7J16iYWSlejmdBCfJgeLWHeTe6HusUANwmy6OUgKgh/1rUBG4ivUFMHy5UZ/6rdaUvNzLicYodnMywqWTYg==", "requires": { - "@google-cloud/common": "0.16.1", - "async": "2.6.0", + "@google-cloud/common": "0.17.0", + "async": "2.6.1", "extend": "3.0.1", - "google-gax": "0.14.5", - "google-proto-files": "0.15.0", + "google-gax": "0.16.1", + "google-proto-files": "0.15.1", "is": "3.2.1", - "lodash.merge": "4.6.1" - }, - "dependencies": { - "google-proto-files": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.0.tgz", - "integrity": "sha512-reirGcMJMI4yxmQRrOJguyRa17AEPxcPfeK/v/o0ez1kJ3VG8FKl8B2W9gMpU56Sr5TmnPIwnKj9Qa1UurxgtQ==", - "requires": { - "globby": "7.1.1", - "power-assert": "1.4.4", - "prettier": "1.10.2", - "protobufjs": "6.8.4" - } - } + "lodash.merge": "4.6.1", + "protobufjs": "6.8.6" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" } }, + "@nodelib/fs.stat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz", + "integrity": "sha512-LAQ1d4OPfSJ/BMbI2DuizmYrrkD9JMaTdi2hQTlI53lQ4kRQPyZQRS4CYQ7O66bnBBnP/oYdRxbk++X0xuFU6A==" + }, "@octokit/rest": { - "version": "15.2.6", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.2.6.tgz", - "integrity": "sha512-KcqG0zjnjzUqn7wczz/fKiueNpTLiAI7erhUG6bXWAsYKJJlqnwYonFSXrMW/nmes5y+qOk4uSyHBh1mdRXdVQ==", + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.8.1.tgz", + "integrity": "sha512-IpC/ctwwauiiSrnNTHOG4CyAPz5YwEX8wSSGuTBb0M1mJcAYJCaYZr11dSZTB4K2p2XFY4AY5+SZcW5aub3hSQ==", "dev": true, "requires": { "before-after-hook": "1.1.0", @@ -120,20 +115,11 @@ "debug": "3.1.0", "http-proxy-agent": "2.1.0", "https-proxy-agent": "2.2.1", - "lodash": "4.17.5", + "lodash": "4.17.10", "node-fetch": "2.1.2", "url-template": "2.0.8" }, "dependencies": { - "agent-base": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", - "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", - "dev": true, - "requires": { - "es6-promisify": "5.0.0" - } - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -142,16 +128,6 @@ "requires": { "ms": "2.0.0" } - }, - "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", - "dev": true, - "requires": { - "agent-base": "4.2.0", - "debug": "3.1.0" - } } } }, @@ -209,37 +185,173 @@ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, + "@rocket.chat/apps-engine": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.0.0.tgz", + "integrity": "sha512-vs7eRW3uEfAsRfJv7olYpQ1TWa1H9dKv/CDf/gUEmylO9zb+HdddJBT8ZX9+pzCMNfvVYXk5EEAPxd2sgma8HA==", + "requires": { + "adm-zip": "0.4.11", + "lodash.clonedeep": "4.5.0", + "semver": "5.5.0", + "stack-trace": "0.0.10", + "typescript": "2.9.2", + "uuid": "3.2.1" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "@slack/client": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@slack/client/-/client-4.2.2.tgz", + "integrity": "sha512-fxEIKykNLN//hIS+9KTWadS9sKcVqAjIYM2RbkSqB6SJQfR05ymDhXYd5n+UHIPhHKij6JJ+EkZI/q9UxhA/UA==", + "requires": { + "@types/delay": "2.0.1", + "@types/form-data": "2.2.1", + "@types/got": "7.1.8", + "@types/is-stream": "1.1.0", + "@types/loglevel": "1.5.3", + "@types/node": "9.6.20", + "@types/p-cancelable": "0.3.0", + "@types/p-queue": "2.3.1", + "@types/p-retry": "1.0.1", + "@types/retry": "0.10.2", + "@types/url-join": "0.8.2", + "@types/ws": "4.0.2", + "delay": "2.0.0", + "eventemitter3": "3.1.0", + "finity": "0.5.4", + "form-data": "2.3.2", + "got": "8.3.1", + "is-stream": "1.1.0", + "loglevel": "1.6.1", + "object.entries": "1.0.4", + "object.getownpropertydescriptors": "2.0.3", + "object.values": "1.0.4", + "p-cancelable": "0.3.0", + "p-queue": "2.4.2", + "p-retry": "1.0.0", + "retry": "0.10.1", + "url-join": "4.0.0", + "ws": "4.1.0" + }, + "dependencies": { + "@types/node": { + "version": "9.6.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.20.tgz", + "integrity": "sha512-mIMXUbH2MmJAQQjzFUIRpxa+FtA27IaHMrIgoJ1fyu/EfpVN/UZw3ISMNnwVec4lau8R8SM4pNFXSCZpJFX2Bw==" + } + } + }, + "@types/delay": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/delay/-/delay-2.0.1.tgz", + "integrity": "sha512-D1/YuYOcdOIdaQnaiUJ77VcilVvESkynw79CtGqpjkXyv4OUezEVZtdXnSOwXL8Zcelu66QbyC8QQcVQ/ZPdig==" + }, + "@types/events": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", + "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==" + }, + "@types/form-data": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", + "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", + "requires": { + "@types/node": "8.10.18" + } + }, + "@types/got": { + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/@types/got/-/got-7.1.8.tgz", + "integrity": "sha512-QxcSkx9PjHH7uqbzqKTKOAjGbayyo+dECnnqM3BBMC0WjYAqx0e6Qi9AFR4jluvx91e7qzgz4aGka7AhCTHYRw==", + "requires": { + "@types/node": "8.10.18" + } + }, + "@types/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@types/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==", + "requires": { + "@types/node": "8.10.18" + } + }, + "@types/loglevel": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@types/loglevel/-/loglevel-1.5.3.tgz", + "integrity": "sha512-TzzIZihV+y9kxSg5xJMkyIkaoGkXi50isZTtGHObNHRqAAwjGNjSCNPI7AUAv0tZUKTq9f2cdkCUd/2JVZUTrA==" + }, "@types/long": { "version": "3.0.32", "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz", "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "8.9.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.4.tgz", - "integrity": "sha512-dSvD36qnQs78G1BPsrZFdPpvLgMW/dnvr5+nTW2csMs5TiP9MOXrjUbnMZOEwnIuBklXtn7b6TPA2Cuq07bDHA==" + "version": "8.10.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.18.tgz", + "integrity": "sha512-WoepSz+wJlU5Bjq5oK6cO1oXe2FgPcjMtQPgKPS8fVaTAD0lxkScMCCbMimdkVCsykqaA4lvHWz3cmj28yimhA==" + }, + "@types/p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@types/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-sP+9Ivnpil7cdmvr5O+145aXm65YX8Y+Lrul1ojdYz6yaE05Dqonn6Z9v5eqJCQ0UeSGcTRtepMlZDh9ywdKgw==" + }, + "@types/p-queue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/p-queue/-/p-queue-2.3.1.tgz", + "integrity": "sha512-JyO7uMAtkcMMULmsTQ4t/lCC8nxirTtweGG1xAFNNIAoC1RemmeIxq8PiKghuEy99XdbS6Lwx4zpbXUjfeSSAA==" + }, + "@types/p-retry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/p-retry/-/p-retry-1.0.1.tgz", + "integrity": "sha512-HgQPG9kkUb4EpTeUv2taH2nBZsVUb5aOTSw3X2YozcTG1ttmGcLaLKx1MbAz1evVfUEDTCAPmdz2HiFztIyWrw==", + "requires": { + "@types/retry": "0.10.2" + } + }, + "@types/retry": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.10.2.tgz", + "integrity": "sha512-LqJkY4VQ7S09XhI7kA3ON71AxauROhSv74639VsNXC9ish4IWHnIi98if+nP1MxQV3RMPqXSCYgpPsDHjlg9UQ==" + }, + "@types/url-join": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@types/url-join/-/url-join-0.8.2.tgz", + "integrity": "sha1-EYHsvh2XtwNODqHjXmLobMJrQi0=" + }, + "@types/ws": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-4.0.2.tgz", + "integrity": "sha512-tlDVFHCcJdNqYgjGNDPDCo4tNqhFMymIAdJCcykFbdhYr4X6vD7IlMxY0t3/k6Pfup68YNkMTpRfLKTRuKDmnQ==", + "requires": { + "@types/events": "1.2.0", + "@types/node": "8.10.18" + } }, "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.3.tgz", + "integrity": "sha512-3Sp6WZZ/lXl+nTDoGpGWHEpTnnC6X5fnkolYZR6nwIfzbxxvA8utPWe1gCt7i0m9uVGsSz2IS8K8mJ7HmlduMg==", "dev": true, "requires": { "jsonparse": "1.3.1", "through": "2.3.8" } }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "abab": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==" }, "accepts": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", "requires": { - "mime-types": "2.1.17", + "mime-types": "2.1.18", "negotiator": "0.5.3" } }, @@ -253,6 +365,21 @@ "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=" }, + "acorn-globals": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz", + "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==", + "requires": { + "acorn": "5.7.2" + }, + "dependencies": { + "acorn": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", + "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==" + } + } + }, "acorn-jsx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", @@ -282,24 +409,17 @@ "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=" }, "adm-zip": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", - "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=" + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", + "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==" }, "agent-base": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", - "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", + "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", + "dev": true, "requires": { - "extend": "3.0.1", - "semver": "5.0.3" - }, - "dependencies": { - "semver": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", - "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=" - } + "es6-promisify": "5.0.0" } }, "ajv": { @@ -308,7 +428,7 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { "co": "4.6.0", - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -328,6 +448,17 @@ "kind-of": "3.2.2", "longest": "1.0.1", "repeat-string": "1.6.1" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } } }, "amdefine": { @@ -336,9 +467,9 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" }, "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, "ansi-regex": { @@ -359,6 +490,97 @@ "requires": { "micromatch": "2.3.11", "normalize-path": "2.1.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + } } }, "aproba": { @@ -370,15 +592,14 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", - "dev": true, "requires": { "archiver-utils": "1.3.0", - "async": "2.6.0", + "async": "2.6.1", "buffer-crc32": "0.2.13", "glob": "7.1.2", - "lodash": "4.17.5", - "readable-stream": "2.3.4", - "tar-stream": "1.5.5", + "lodash": "4.17.10", + "readable-stream": "2.3.6", + "tar-stream": "1.6.1", "zip-stream": "1.2.0" } }, @@ -386,29 +607,28 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", - "dev": true, "requires": { "glob": "7.1.2", "graceful-fs": "4.1.11", "lazystream": "1.0.0", - "lodash": "4.17.5", + "lodash": "4.17.10", "normalize-path": "2.1.1", - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } }, "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { "delegates": "1.0.0", - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } }, "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "1.0.3" @@ -422,25 +642,25 @@ } } }, - "arguejs": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/arguejs/-/arguejs-0.2.3.tgz", - "integrity": "sha1-tvk59f4OPNHz+T4qqSYkJL8xKvc=" - }, "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" }, "array-filter": { "version": "1.0.0", @@ -460,9 +680,9 @@ "dev": true }, "array-iterate": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.1.tgz", - "integrity": "sha1-hlv3+K851rCYLGCQKRSsdrwBCPY=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.2.tgz", + "integrity": "sha512-1hWSHTIlG/8wtYD+PPX5AOBtKWngpDFjrsrHgZpe+JdgNGz0udYu6ZIkAa/xuenIUEqFv7DvE2Yr60jxweJSrQ==", "dev": true }, "array-union": { @@ -479,10 +699,14 @@ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arraybuffer-to-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer-to-string/-/arraybuffer-to-string-1.0.2.tgz", + "integrity": "sha512-WbIYlLVmvIAyUBdQRRuyGOJRriOQy9OAsWcyURmsRQp9+g647hdMSS2VFKXbJLVw0daUu06hqwLXm9etVrXI9A==" }, "arrify": { "version": "1.0.1", @@ -519,12 +743,17 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "async-each": { @@ -533,6 +762,11 @@ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -544,10 +778,9 @@ "integrity": "sha1-isdFqHg3mUkNF0H6Cc9HLn/zCTA=" }, "atob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz", - "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=", - "dev": true + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" }, "autolinker": { "version": "1.6.2", @@ -555,47 +788,47 @@ "integrity": "sha512-IKLGtYFb3jzGTtgCpb4bm//1sXmmmgmr0msKshhYoc7EsWmLCFvuyxLcEIfcZ5gbCgZGXrnXkOkcBblOFEnlog==" }, "autoprefixer": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.0.0.tgz", - "integrity": "sha512-XBEqAoESCyGu3daYmWcTC37Dwmjvs0y40UtUO3MMX+Pd/w7jwNFfUKNtxoMFu0u0wcotP+arDpU3JVH54UV79Q==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.0.tgz", + "integrity": "sha512-JaYK4gmyklt+es0VDdWVS9R/X96D8eaT0qDLAO6R4niBsoKv6nI4QtfFs8YQskwatIdJ6XZeTBDRpjf4tH+Dlg==", "dev": true, "requires": { - "browserslist": "3.1.0", - "caniuse-lite": "1.0.30000808", + "browserslist": "3.2.8", + "caniuse-lite": "1.0.30000847", "normalize-range": "0.1.2", "num2fraction": "1.2.2", - "postcss": "6.0.17", + "postcss": "6.0.22", "postcss-value-parser": "3.3.0" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "browserslist": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.1.0.tgz", - "integrity": "sha512-pyoJs5teqQWTdwOTG7F5IDKi7hMvifd9ri3EYLG2ElXlA2AwvqB1SZ6RIPMRHpmYb0RYN8N7GSERey5WgxSCUQ==", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-lite": "1.0.30000847", + "electron-to-chromium": "1.3.48" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -605,14 +838,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -622,9 +855,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -633,19 +866,19 @@ } }, "aws-sdk": { - "version": "2.199.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.199.0.tgz", - "integrity": "sha1-lMJISwMPKZ3aSUyUusxPZuSzLek=", + "version": "2.250.1", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.250.1.tgz", + "integrity": "sha1-DMBO38QfoKal7MvFaIiDL1knAUE=", "requires": { "buffer": "4.9.1", "events": "1.1.1", + "ieee754": "1.1.8", "jmespath": "0.15.0", "querystring": "0.2.0", "sax": "1.2.1", "url": "0.10.3", "uuid": "3.1.0", - "xml2js": "0.4.17", - "xmlbuilder": "4.2.1" + "xml2js": "0.4.17" }, "dependencies": { "uuid": { @@ -667,7 +900,7 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", "requires": { - "lodash": "4.17.5" + "lodash": "4.17.10" } } } @@ -678,9 +911,18 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" + }, + "axios": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" + } }, "babel-code-frame": { "version": "6.26.0", @@ -712,7 +954,7 @@ "convert-source-map": "1.5.1", "debug": "2.6.9", "json5": "0.4.0", - "lodash": "4.17.5", + "lodash": "4.17.10", "minimatch": "2.0.10", "path-exists": "1.0.0", "path-is-absolute": "1.0.1", @@ -730,12 +972,6 @@ "requires": { "brace-expansion": "1.1.11" } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, @@ -750,17 +986,9 @@ "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.17.5", + "lodash": "4.17.10", "source-map": "0.5.7", "trim-right": "1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } } }, "babel-helper-bindify-decorators": { @@ -817,7 +1045,7 @@ "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "babel-helper-explode-assignable-expression": { @@ -894,7 +1122,7 @@ "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -1157,7 +1385,7 @@ "babel-template": "6.26.0", "babel-traverse": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "babel-plugin-transform-es2015-classes": { @@ -1226,9 +1454,9 @@ } }, "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { "babel-plugin-transform-strict-mode": "6.24.1", @@ -1436,7 +1664,7 @@ "dev": true, "requires": { "babel-runtime": "6.26.0", - "core-js": "2.5.3", + "core-js": "2.5.7", "regenerator-runtime": "0.10.5" }, "dependencies": { @@ -1464,7 +1692,7 @@ "babel-plugin-transform-es2015-for-of": "6.23.0", "babel-plugin-transform-es2015-function-name": "6.24.1", "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", "babel-plugin-transform-es2015-object-super": "6.24.1", "babel-plugin-transform-es2015-parameters": "6.24.1", "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", @@ -1543,19 +1771,19 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.0", + "babel-core": "6.26.3", "babel-runtime": "6.26.0", - "core-js": "2.5.3", + "core-js": "2.5.7", "home-or-tmp": "2.0.0", - "lodash": "4.17.5", + "lodash": "4.17.10", "mkdirp": "0.5.1", "source-map-support": "0.4.18" }, "dependencies": { "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -1571,7 +1799,7 @@ "convert-source-map": "1.5.1", "debug": "2.6.9", "json5": "0.5.1", - "lodash": "4.17.5", + "lodash": "4.17.10", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", "private": "0.1.8", @@ -1584,12 +1812,6 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, @@ -1599,7 +1821,7 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "regenerator-runtime": "0.11.1" } }, @@ -1613,7 +1835,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "babel-traverse": { @@ -1629,8 +1851,8 @@ "babylon": "6.18.0", "debug": "2.6.9", "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.5" + "invariant": "2.2.4", + "lodash": "4.17.10" } }, "babel-types": { @@ -1641,7 +1863,7 @@ "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.17.5", + "lodash": "4.17.10", "to-fast-properties": "1.0.3" } }, @@ -1678,9 +1900,9 @@ "integrity": "sha1-XphW2/E0gqKVw7CzBK+51M/FxXk=" }, "bail": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz", - "integrity": "sha1-99bBcxYwqfnw1NNe0fli4gdKF2Q=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz", + "integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==", "dev": true }, "balanced-match": { @@ -1688,26 +1910,71 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, "base32.js": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/base32.js/-/base32.js-0.0.1.tgz", "integrity": "sha1-0EVzalex9sE58MffQlGKhOkbsro=" }, "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, "base64-url": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz", "integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg=" }, - "base64url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz", - "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs=" - }, "basic-auth": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz", @@ -1724,32 +1991,438 @@ "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=" }, "bcrypt": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-1.0.3.tgz", - "integrity": "sha512-pRyDdo73C8Nim3jwFJ7DWe3TZCgwDfWZ6nHS5LSdU77kWbj1frruvdndP02AOavtD4y8v6Fp2dolbHgp4SDrfg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-2.0.1.tgz", + "integrity": "sha512-DwB7WgJPdskbR+9Y3OTJtwRq09Lmm7Na6b+4ewvXjkD0nfNRi1OozxljHm5ETlDCBq9DTy04lQz+rj+T2ztIJg==", "requires": { - "nan": "2.6.2", - "node-pre-gyp": "0.6.36" + "nan": "2.10.0", + "node-pre-gyp": "0.9.1" }, "dependencies": { - "nan": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", - "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=" - } - } - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "before-after-hook": { - "version": "1.1.0", + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.5" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "requires": { + "minipass": "2.2.4" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "requires": { + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "requires": { + "minipass": "2.2.4" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.9.1", + "bundled": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.6", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "rc": { + "version": "1.2.6", + "bundled": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true + } + } + }, + "readable-stream": { + "version": "2.3.5", + "bundled": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true + }, + "sax": { + "version": "1.2.4", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "bundled": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "before-after-hook": { + "version": "1.1.0", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-1.1.0.tgz", "integrity": "sha512-VOMDtYPwLbIncTxNoSzRyvaMxtXmLWLUqr8k5AfC1BzLk34HvBXaQX8snOwQZ4c0aX8aSERqtJSiI9/m2u5kuA==", "dev": true @@ -1766,19 +2439,12 @@ "integrity": "sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ=" }, "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "requires": { - "readable-stream": "2.3.4" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "requires": { - "inherits": "2.0.3" + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2" } }, "bluebird": { @@ -1800,7 +2466,7 @@ "on-finished": "2.3.0", "qs": "4.0.0", "raw-body": "2.1.7", - "type-is": "1.6.15" + "type-is": "1.6.16" }, "dependencies": { "debug": { @@ -1834,11 +2500,12 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "2.16.3" } }, "brace-expansion": { @@ -1851,14 +2518,30 @@ } }, "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } } }, "browser-fingerprint": { @@ -1866,6 +2549,11 @@ "resolved": "https://registry.npmjs.org/browser-fingerprint/-/browser-fingerprint-0.0.1.tgz", "integrity": "sha1-jfPNyiW/fVs1QtYVRdcwBT/OYEo=" }, + "browser-process-hrtime": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz", + "integrity": "sha1-Ql1opY00R/AqBKqJQYf86K+Le44=" + }, "browser-stdout": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", @@ -1877,14 +2565,14 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "1.0.30000847", + "electron-to-chromium": "1.3.48" } }, "bson": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz", - "integrity": "sha1-k8ENOeqltYQVy8QFLz5T5WKwtyw=" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/bson/-/bson-2.0.7.tgz", + "integrity": "sha512-xow7P+tDWHJNNgUt8j7xYH/uUAAkinRmM7hOEl5JajXq7Yj+0xA8HNN4i+oQku1y/m6KzU9AChaWHctvwZVI6Q==" }, "btoa-lite": { "version": "1.0.0", @@ -1897,37 +2585,55 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.1", + "base64-js": "1.3.0", "ieee754": "1.1.8", "isarray": "1.0.0" } }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "1.1.0", + "buffer-fill": "1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" }, "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==" + }, "bugsnag": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/bugsnag/-/bugsnag-2.1.3.tgz", - "integrity": "sha512-Zge2etOwtWatxP2fElRIwLRBiPVPSuf/BJcK+PGA5YQiCIH5FBWwFva5pZ7vA/VazAZq1X+T6KyJMOyREK08jw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bugsnag/-/bugsnag-2.4.0.tgz", + "integrity": "sha512-xRpxAYW9tSet6YCRrauV58mf/A7K2Ua/rdZTJ0hRGEnP5mnnumygCe2kRLqxZukeTYhr8/9vfM78ukhA1ITxRw==", "requires": { "backo": "1.1.0", "cuid": "1.3.8", "json-stringify-safe": "5.0.1", "promise": "7.3.1", - "request": "2.83.0", + "request": "2.87.0", "stack-trace": "0.0.10" } }, @@ -1942,10 +2648,10 @@ "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz", "integrity": "sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=", "requires": { - "dtrace-provider": "0.8.6", - "moment": "2.20.1", + "dtrace-provider": "0.8.7", + "moment": "2.22.2", "mv": "2.1.1", - "safe-json-stringify": "1.0.4" + "safe-json-stringify": "1.2.0" } }, "busboy": { @@ -1986,6 +2692,13 @@ "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { "long": "3.2.0" + }, + "dependencies": { + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + } } }, "bytes": { @@ -1993,6 +2706,48 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz", "integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=" }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + } + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, "call-signature": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", @@ -2029,24 +2784,33 @@ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" }, "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "4.1.0", + "map-obj": "2.0.0", + "quick-lru": "1.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } } }, "caniuse-db": { - "version": "1.0.30000808", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000808.tgz", - "integrity": "sha1-MN/YMAnVcE8C3/s3clBo7RKjZrs=" + "version": "1.0.30000847", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000847.tgz", + "integrity": "sha1-/0BypUaICf7ArprDtANe+JHlsUQ=" }, "caniuse-lite": { - "version": "1.0.30000808", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000808.tgz", - "integrity": "sha512-vT0JLmHdvq1UVbYXioxCXHYdNw55tyvi+IUWyX0Zeh1OFQi2IllYtm38IJnSgHWCv/zUnX1hdhy3vMJvuTNSqw==", + "version": "1.0.30000847", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000847.tgz", + "integrity": "sha512-Weo+tRtVWcN2da782Ebx/27hFNEb+KP+uP6tdqAa+2S5bp1zOJhVH9tEpDygagrfvU4QjeuPwi/5VGsgT4SLaA==", "dev": true }, "capture-stack-trace": { @@ -2056,7 +2820,7 @@ }, "cas": { "version": "https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62", - "integrity": "sha1-AL8m1JYV/7kMEdlJ0sKtJ18YXg4=", + "integrity": "sha512-CyDs8nQAr4Asy6+H2oai66tomXC/Q6B/GF2zUYNww7jfT+xBvIhkiUGctzAy5bdq7cVxBZv31hWHz7+fxevElA==", "requires": { "cheerio": "0.19.0" } @@ -2067,9 +2831,9 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "ccount": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.2.tgz", - "integrity": "sha1-U7ai+BW7d7nChx97mnLDol8djok=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz", + "integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==", "dev": true }, "center-align": { @@ -2126,27 +2890,27 @@ } }, "character-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz", - "integrity": "sha1-92hxvl72bdt/j440eOzDdMJ9bco=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz", + "integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==", "dev": true }, "character-entities-html4": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.1.tgz", - "integrity": "sha1-NZoqSg9+KdPcKsmb2+Ie45Q46lA=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz", + "integrity": "sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==", "dev": true }, "character-entities-legacy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz", - "integrity": "sha1-9Ad53xoQGHK7UQo9KV4fzPFHIC8=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz", + "integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==", "dev": true }, "character-reference-invalid": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz", - "integrity": "sha1-lCg191Dk7GGjCOYMLvjMEBEgLvw=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz", + "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==", "dev": true }, "chardet": { @@ -2205,9 +2969,9 @@ "chai-as-promised": "6.0.0", "child-process-debug": "0.0.7", "chokidar": "1.6.1", - "chromedriver": "2.37.0", + "chromedriver": "2.38.3", "colors": "1.1.2", - "commander": "2.14.1", + "commander": "2.15.1", "cucumber": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c", "deep-extend": "0.4.2", "exit": "0.1.2", @@ -2222,10 +2986,10 @@ "mocha": "4.1.0", "phantomjs-prebuilt": "2.1.15", "progress": "1.1.8", - "request": "2.83.0", + "request": "2.87.0", "requestretry": "1.5.0", - "saucelabs": "1.4.0", - "selenium-standalone": "6.13.0", + "saucelabs": "1.5.0", + "selenium-standalone": "6.15.0", "underscore": "1.8.3", "xolvio-ddp": "0.12.3", "xolvio-jasmine-expect": "1.1.0", @@ -2238,33 +3002,6 @@ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", "dev": true }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "cucumber": { - "version": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c", - "dev": true, - "requires": { - "camel-case": "3.0.0", - "cli-table": "0.3.1", - "co": "4.6.0", - "colors": "1.1.2", - "commander": "2.14.1", - "duration": "0.2.0", - "fibers": "1.0.15", - "figures": "1.7.0", - "gherkin": "4.0.0", - "glob": "github:lucetius/node-glob#51c7ca6e69bfbd17db5f1ea710e3f2a7a457d9ce", - "is-generator": "1.0.3", - "lodash": "4.17.5", - "meteor-promise": "0.8.6", - "stack-chain": "1.3.7", - "stacktrace-js": "1.3.1" - } - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -2274,6 +3011,12 @@ "ms": "2.0.0" } }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true + }, "glob": { "version": "github:lucetius/node-glob#51c7ca6e69bfbd17db5f1ea710e3f2a7a457d9ce", "dev": true, @@ -2292,6 +3035,12 @@ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, + "loglevel": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.4.1.tgz", + "integrity": "sha1-lbOD+Ro8J1b9SrCTZn5DCRYfK80=", + "dev": true + }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", @@ -2358,6 +3107,12 @@ "requires": { "has-flag": "2.0.0" } + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true } } }, @@ -2369,13 +3124,39 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.3", + "fsevents": "1.2.4", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", "is-glob": "2.0.1", "path-is-absolute": "1.0.1", "readdirp": "2.1.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } } }, "chownr": { @@ -2384,24 +3165,51 @@ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" }, "chromedriver": { - "version": "2.37.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.37.0.tgz", - "integrity": "sha512-Dz3ktXp+9T0ygMIEZX3SNL3grXywi2kC1swiD9cjISlLcoenzhOpsj/R/Gr2hJvrC49aGE2BhSpuUevdGq6J4w==", + "version": "2.38.3", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.38.3.tgz", + "integrity": "sha512-tczy6RHl0LOVA4p+xezcu3NRjr9A1iLyyfjP9yPIUynvV28YSKH/Ll1iw0jMCjN9jwtaB2HB4aPjv0Uuw2VARw==", "dev": true, "requires": { "del": "3.0.0", - "extract-zip": "1.6.6", + "extract-zip": "1.6.7", "kew": "0.7.0", "mkdirp": "0.5.1", - "request": "2.83.0" + "request": "2.87.0" + } + }, + "ci-info": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.3.1.tgz", + "integrity": "sha512-l4wK/SFEN8VVTQ9RO1I5yzIL2vw1w6My29qA6Gwaec80QeHxfXbruuUWqn1knyMoJn/X5kav3zVY1TlRHSKeIA==", + "dev": true + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + } } }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -2418,6 +3226,14 @@ "dev": true, "requires": { "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } } }, "cli-width": { @@ -2427,9 +3243,9 @@ "dev": true }, "clipboard": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-1.7.1.tgz", - "integrity": "sha1-Ng1taUbpmnof7zleQrqStem1oWs=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.1.tgz", + "integrity": "sha512-7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==", "requires": { "good-listener": "1.2.2", "select": "1.1.2", @@ -2447,13 +3263,21 @@ } }, "clone-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz", - "integrity": "sha1-6uCiQT9VwJQvgYwin+/OhF1/Oxw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz", + "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==", "dev": true, "requires": { "is-regexp": "1.0.0", - "is-supported-regexp-flag": "1.0.0" + "is-supported-regexp-flag": "1.0.1" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "1.0.0" } }, "co": { @@ -2467,9 +3291,9 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "codemirror": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.35.0.tgz", - "integrity": "sha512-8HQICjZlDfe1ai7bvU6m2uHxuZuFgsUCdDRU9OHVB+2RTRd+FftN1ezVCqbquG0Fyq+wETqyadKhUX46DswSUQ==" + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.38.0.tgz", + "integrity": "sha512-PEPnDg8U3DTGFB/Dn2T/INiRNC9CB5k2vLAQJidYCsHvAgtXbklqnuidEwx7yGrMrdGhl0L0P3iNKW9I07J6tQ==" }, "coffeescript": { "version": "1.12.7", @@ -2477,15 +3301,24 @@ "integrity": "sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==" }, "collapse-white-space": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz", - "integrity": "sha1-S5BvZw5aljqHt2sOFolkM0G2Ajw=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz", + "integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==", "dev": true }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, "color": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz", - "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", "requires": { "color-convert": "1.9.1", "color-string": "1.5.2" @@ -2514,9 +3347,10 @@ } }, "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true }, "colour": { "version": "0.7.1", @@ -2532,9 +3366,10 @@ } }, "commander": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", - "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true }, "compare-func": { "version": "1.3.2", @@ -2560,27 +3395,25 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "compress-commons": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", - "dev": true, "requires": { "buffer-crc32": "0.2.13", "crc32-stream": "2.0.0", "normalize-path": "2.1.1", - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } }, "compressible": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", - "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", "requires": { - "mime-db": "1.33.0" + "mime-db": "1.34.0" } }, "compression": { @@ -2590,7 +3423,7 @@ "requires": { "accepts": "1.2.13", "bytes": "2.1.0", - "compressible": "2.0.12", + "compressible": "2.0.13", "debug": "2.2.0", "on-headers": "1.0.1", "vary": "1.0.1" @@ -2617,23 +3450,24 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { + "buffer-from": "1.1.0", "inherits": "2.0.3", - "readable-stream": "2.3.4", + "readable-stream": "2.3.6", "typedarray": "0.0.6" } }, "configstore": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", - "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "requires": { "dot-prop": "4.2.0", "graceful-fs": "4.1.11", - "make-dir": "1.1.0", + "make-dir": "1.3.0", "unique-string": "1.0.0", "write-file-atomic": "2.3.0", "xdg-basedir": "3.0.0" @@ -2672,7 +3506,7 @@ "serve-favicon": "2.3.2", "serve-index": "1.7.3", "serve-static": "1.10.3", - "type-is": "1.6.15", + "type-is": "1.6.16", "utils-merge": "1.0.0", "vhost": "3.0.2" }, @@ -2685,22 +3519,6 @@ "ms": "0.7.1" } }, - "escape-html": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz", - "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=" - }, - "finalhandler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", - "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=", - "requires": { - "debug": "2.2.0", - "escape-html": "1.0.2", - "on-finished": "2.3.0", - "unpipe": "1.0.0" - } - }, "ms": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", @@ -2710,11 +3528,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz", "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=" - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" } } }, @@ -2754,80 +3567,88 @@ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, + "conventional-changelog-angular": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz", + "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==", + "dev": true, + "requires": { + "compare-func": "1.3.2", + "q": "1.5.1" + }, + "dependencies": { + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + } + } + }, "conventional-changelog-cli": { - "version": "1.3.14", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-1.3.14.tgz", - "integrity": "sha512-XxGHKAzt/Z0++OCnVG1S7XXuKZETI8ZUczfHoJniR1t0wNtlE2tJ1MPBHoLCPgYIGTPOe80EcSbHL6RQni54Tw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.0.tgz", + "integrity": "sha512-tFLPdjlPBqH2XOdoFBHj/O1lbNdK6A+LfL0jzNUP+J3mEFSyGL3T+6F6/jansPQOmm1GVNhlo9OO3BYF0nr/4w==", "dev": true, "requires": { "add-stream": "1.0.0", - "conventional-changelog": "1.1.16", - "lodash": "4.17.5", - "meow": "3.7.0", + "conventional-changelog": "2.0.0", + "lodash": "4.17.10", + "meow": "4.0.1", "tempfile": "1.1.1" }, "dependencies": { "conventional-changelog": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.16.tgz", - "integrity": "sha512-7Z7B39PJeCbviJw6ukVOjoyWDGmSvlZj77UkPxXPLO03zGgHHADCDSu1yU/YfVsKkQiel4Ot0o7jTqbP8zIvVQ==", - "dev": true, - "requires": { - "conventional-changelog-angular": "1.6.5", - "conventional-changelog-atom": "0.2.3", - "conventional-changelog-codemirror": "0.3.3", - "conventional-changelog-core": "2.0.4", - "conventional-changelog-ember": "0.3.5", - "conventional-changelog-eslint": "1.0.3", - "conventional-changelog-express": "0.3.3", - "conventional-changelog-jquery": "0.1.0", - "conventional-changelog-jscs": "0.1.0", - "conventional-changelog-jshint": "0.3.3", - "conventional-changelog-preset-loader": "1.1.5" - } - }, - "conventional-changelog-angular": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.5.tgz", - "integrity": "sha512-70zO0ThLMlAzPOiYqRAFcMTQbe1Qewy+4v/TJuKMZueCJwR1fLqJCVfvjRlnPrYDwgjI0kc74VymbFO7rJDIPg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-2.0.0.tgz", + "integrity": "sha512-hbwyYn7uZJ2IB7o/h9xGVQeoNzdpZn+eQZ31GSh/S8tj3eEzdJcOInnMBQU6l+207pQ3bEZzjU3ZVehH2Mnuqw==", "dev": true, "requires": { - "compare-func": "1.3.2", - "q": "1.5.1" + "conventional-changelog-angular": "1.6.6", + "conventional-changelog-atom": "1.0.0", + "conventional-changelog-codemirror": "1.0.0", + "conventional-changelog-core": "3.0.0", + "conventional-changelog-ember": "1.0.0", + "conventional-changelog-eslint": "2.0.0", + "conventional-changelog-express": "1.0.0", + "conventional-changelog-jquery": "0.1.0", + "conventional-changelog-jscs": "0.1.0", + "conventional-changelog-jshint": "1.0.0", + "conventional-changelog-preset-loader": "2.0.0" } }, "conventional-changelog-atom": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.2.3.tgz", - "integrity": "sha512-ZhhcyBeMQQbQ/eqanVb9bFJfS7ScsPgvlbPWLrL5HgcfdO9yGSaEp/hLvXIZ2tYYDd8e5Y0AB+5C4tiSE2K4EQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-1.0.0.tgz", + "integrity": "sha512-HswSKDz4+fHc832OczcgGrsWEnMkjjFc3xuvNcG/HsBxwL6+gFhhSmPjAWrZuJt/YuVmtiEK5S/W4rakLEoJqw==", "dev": true, "requires": { "q": "1.5.1" } }, "conventional-changelog-codemirror": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.3.tgz", - "integrity": "sha512-9vYteJT6F3Ao3CtgXYg1JCRdzLI4qqbH3GdHL0OSjEe/FQjsJRcGHqpbUQ1SQ0ga+vqAJlJdJNib9BwHIQF4mw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-1.0.0.tgz", + "integrity": "sha512-OchwAltFTS4jyLsAO21YsJazMlTuRRCawEeq7jq1t6vQR08DNNdeMYfcddWVD++d9a+coZEYqIQ0wDtoeFpVLA==", "dev": true, "requires": { "q": "1.5.1" } }, "conventional-changelog-core": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-2.0.4.tgz", - "integrity": "sha512-XsmaKcbfewovP72N5w17TNV6fqZYTF0jnNKG0V/OhPsIZETFvFzJwPHCDM3FrRNvDXWRvqb2M0a83cvYhHbvzw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.0.0.tgz", + "integrity": "sha512-D2hApWWsdh4tkNgDjn1KtRapxUJ70Sd+V84btTVJJJ96S3cVRES8Ty3ih0TRkOZmDkw/uS0mxrHSskQ/P/Gvsg==", "dev": true, "requires": { - "conventional-changelog-writer": "3.0.3", - "conventional-commits-parser": "2.1.4", - "dateformat": "1.0.12", + "conventional-changelog-writer": "4.0.0", + "conventional-commits-parser": "3.0.0", + "dateformat": "3.0.3", "get-pkg-repo": "1.4.0", - "git-raw-commits": "1.3.3", + "git-raw-commits": "2.0.0", "git-remote-origin-url": "2.0.0", - "git-semver-tags": "1.3.3", - "lodash": "4.17.5", + "git-semver-tags": "2.0.0", + "lodash": "4.17.10", "normalize-package-data": "2.4.0", "q": "1.5.1", "read-pkg": "1.1.0", @@ -2836,36 +3657,36 @@ } }, "conventional-changelog-ember": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.3.5.tgz", - "integrity": "sha512-A55p1kg/ekyU2zTEScdRKwuHaCUfDocakIPoaxdCxsRQ1732C4Em4u6lbN0F1jQHoCsQqqA1aPAEOMKgDicnbA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-1.0.0.tgz", + "integrity": "sha512-5yT3hXNgy0VrAsUjKMUq2khlHeRmusglGligAcF+WRlzdI95bBPKgBT5r6UJ/D9vsITgMb7SnNUlknvFl6HgEw==", "dev": true, "requires": { "q": "1.5.1" } }, "conventional-changelog-eslint": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.3.tgz", - "integrity": "sha512-4Y1/9TX16RvWiOdMnJQ8flxZ+hdDGVm1E4yrWvyr1L1UBWM56CJobMRg7nf+LqqVnKj0kkuyhwf3WV9//luYHg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-2.0.0.tgz", + "integrity": "sha512-8qzbgeHXOCf1XNDSNivBjmpeDd+OJeHsEbqipryO86VHGVOoJ9WYNWYG2Bc0c7mWMD4oNadNBg1JkXs82uZ1tQ==", "dev": true, "requires": { "q": "1.5.1" } }, "conventional-changelog-express": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.3.3.tgz", - "integrity": "sha512-ivIa/9a05xxcA4bH1jQFpzwCEJywDirHhcQ6OQwYvAy0/ekRfGXA9U2ULVqE1WRqcmpFuayfAuysE9BJjqthEQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-1.0.0.tgz", + "integrity": "sha512-OMFBXTPiYbuJFOCgy5yzSTG7+wBtumGy/w7m8ts19ePcP+Zd7NSINgrexw0oNsVtgFDT7kbBpaIhUYoquRR35Q==", "dev": true, "requires": { "q": "1.5.1" } }, "conventional-changelog-jshint": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.3.tgz", - "integrity": "sha512-RuGFuOp101qhxQdV+h4Dhdeqs1ZsycdoqN14GZ98E3MiDGQ++jfH6wjgUjU8uv8jULyrkLPenIWC0ooxQYneCw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-1.0.0.tgz", + "integrity": "sha512-TZSCzg+cmzkJjV6paBBO26g6P0cy+jVTQq3rm2Y4IvNGjCpOkR3lrJPEXcPV3vszIvC5CENBv+PCmwIiD1u/0g==", "dev": true, "requires": { "compare-func": "1.3.2", @@ -2873,76 +3694,82 @@ } }, "conventional-changelog-preset-loader": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.5.tgz", - "integrity": "sha512-ngaSOqeyH5hYYdvl+bcJNEiT9B2c8cSRpIZtnFxbRyH7MVQbLOEn5oPV9NpQM00hTyBtqDviNDCXmy/Al6Gq8w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.0.0.tgz", + "integrity": "sha512-hEWm9o6TxjS9aO1AKaHpl8avSXaUHiUXBT25vJ4ToaDi/gPDqt3OnZkwhIgubADUF+lPqcXpjFTOYcOL4AwyvA==", "dev": true }, "conventional-changelog-writer": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-3.0.3.tgz", - "integrity": "sha512-gzkAFnFxjEOBCwISTBUJ6DnthMwzqY1MRyElN6S25VYBcRV/6DOVbbZgbBL1KdsogO6Z/QuJlSnIH7OteVd5lQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.0.tgz", + "integrity": "sha512-hMZPe0AQ6Bi05epeK/7hz80xxk59nPA5z/b63TOHq2wigM0/akreOc8N4Jam5b9nFgKWX1e9PdPv2ewgW6bcfg==", "dev": true, "requires": { "compare-func": "1.3.2", - "conventional-commits-filter": "1.1.4", - "dateformat": "1.0.12", + "conventional-commits-filter": "2.0.0", + "dateformat": "3.0.3", "handlebars": "4.0.11", "json-stringify-safe": "5.0.1", - "lodash": "4.17.5", - "meow": "3.7.0", + "lodash": "4.17.10", + "meow": "4.0.1", "semver": "5.5.0", "split": "1.0.1", "through2": "2.0.3" } }, "conventional-commits-filter": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.4.tgz", - "integrity": "sha512-VaLmHo+P1IYQenZwkgp21y9z5tyU8sH3GKI/AfthQYPK9IYhT4lNbATGW9Iona+BU3fmWw/9S3L5vMopMI+jkA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.0.tgz", + "integrity": "sha512-Cfl0j1/NquB/TMVx7Wrmyq7uRM+/rPQbtVVGwzfkhZ6/yH6fcMmP0Q/9044TBZPTNdGzm46vXFXL14wbET0/Mg==", "dev": true, "requires": { "is-subset": "0.1.1", - "modify-values": "1.0.0" + "modify-values": "1.0.1" } }, "conventional-commits-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.4.tgz", - "integrity": "sha512-dyTFuqQQzTynPN81zk9Pvm6d4mGiTuPz+Qi1ee8CmhupBji7gwO0DKXvAWo3MEFilE50pm8h8kRbETL5wsI65A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.0.tgz", + "integrity": "sha512-GWh71U26BLWgMykCp+VghZ4s64wVbtseECcKQ/PvcPZR2cUnz+FUc2J9KjxNl7/ZbCxST8R03c9fc+Vi0umS9Q==", "dev": true, "requires": { - "JSONStream": "1.3.2", + "JSONStream": "1.3.3", "is-text-path": "1.0.1", - "lodash": "4.17.5", - "meow": "3.7.0", + "lodash": "4.17.10", + "meow": "4.0.1", "split2": "2.2.0", "through2": "2.0.3", "trim-off-newlines": "1.0.1" } }, "git-raw-commits": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.3.tgz", - "integrity": "sha512-EKgNIRhpCYFgLTM+o4lbu5+JxTGhUBgaRN3JQv/X2dm7zuSf64tay/igxf2RMJfOZYpmUYX96JOk3Q7JajPLVA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", "dev": true, "requires": { "dargs": "4.1.0", "lodash.template": "4.4.0", - "meow": "3.7.0", + "meow": "4.0.1", "split2": "2.2.0", "through2": "2.0.3" } }, "git-semver-tags": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.3.3.tgz", - "integrity": "sha512-FK/ZQeFwANfsoo+3FFhO1XRVVKgSZgcO0ABtydFrPQj7U2N5ELVr8MxBqlXa5TdpRKTp6/H5ki1cK2Anxr2kJw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.0.tgz", + "integrity": "sha512-lSgFc3zQTul31nFje2Q8XdNcTOI6B4I3mJRPCgFzHQQLfxfqdWTYzdtCaynkK5Xmb2wQlSJoKolhXJ1VhKROnQ==", "dev": true, "requires": { - "meow": "3.7.0", + "meow": "4.0.1", "semver": "5.5.0" } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true } } }, @@ -3006,15 +3833,20 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "cookiejar": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", - "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", "dev": true }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" }, "core-util-is": { "version": "1.0.2", @@ -3022,42 +3854,28 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-3.1.0.tgz", - "integrity": "sha512-zedsBhLSbPBms+kE7AH4vHg6JsKDz6epSv2/+5XHs8ILHlgDciSJfSWf8sX9aQ52Jb7KI7VswUTsLpR/G0cr2Q==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.5.tgz", + "integrity": "sha512-94j37OtvxS5w7qr7Ta6dt67tWdnOxigBVN4VnSxNXFez9o18PGQ0D33SchKP17r9LAcWVTYV72G6vDayAUBFIg==", "dev": true, "requires": { "is-directory": "0.3.1", - "js-yaml": "3.10.0", - "parse-json": "3.0.0", - "require-from-string": "2.0.1" - }, - "dependencies": { - "parse-json": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-3.0.0.tgz", - "integrity": "sha1-+m9HsY4jgm6tMvJj50TQ4ehH+xM=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - } + "js-yaml": "3.12.0", + "parse-json": "4.0.0" } }, "crc": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", - "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=", - "dev": true + "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=" }, "crc32-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", - "dev": true, "requires": { "crc": "3.5.0", - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } }, "create-error-class": { @@ -3069,58 +3887,25 @@ } }, "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "lru-cache": "4.1.1", + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", "shebang-command": "1.2.0", "which": "1.2.14" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - } } }, "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "requires": { - "hoek": "4.2.0" - } - } + "boom": "2.10.1" } }, "crypto-random-string": { @@ -3139,14 +3924,14 @@ } }, "css": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz", - "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", + "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", "dev": true, "requires": { "inherits": "2.0.3", "source-map": "0.1.43", - "source-map-resolve": "0.3.1", + "source-map-resolve": "0.5.2", "urix": "0.1.0" }, "dependencies": { @@ -3167,7 +3952,7 @@ "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", "dev": true, "requires": { - "css": "2.2.1" + "css": "2.2.3" } }, "css-select": { @@ -3192,6 +3977,19 @@ "resolved": "https://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz", "integrity": "sha1-18wt9FGAZm+Z0rFEYmOUaeAPc2w=" }, + "cssom": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==" + }, + "cssstyle": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", + "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", + "requires": { + "cssom": "0.3.4" + } + }, "csurf": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz", @@ -3204,9 +4002,9 @@ } }, "csv-parse": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-1.3.3.tgz", - "integrity": "sha1-0c/YdDwvhJoKuy/VRNtWaV0ZpJA=" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-2.4.0.tgz", + "integrity": "sha512-C/Biz45WWkL7yGvzyD4ONDMaQFHC/nIrSCOh9YCEBLsDQ4JOSDsgp7oyTFvOaMwvI/OVfJ7qLIPcx00Dk/7USw==" }, "ctype": { "version": "0.5.3", @@ -3214,6 +4012,27 @@ "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", "dev": true }, + "cucumber": { + "version": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "cli-table": "0.3.1", + "co": "4.6.0", + "colors": "1.1.2", + "commander": "2.15.1", + "duration": "0.2.0", + "fibers": "1.0.15", + "figures": "1.7.0", + "gherkin": "4.0.0", + "glob": "7.1.2", + "is-generator": "1.0.3", + "lodash": "4.17.10", + "meteor-promise": "0.8.6", + "stack-chain": "1.3.7", + "stacktrace-js": "1.3.1" + } + }, "cuid": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/cuid/-/cuid-1.3.8.tgz", @@ -3240,18 +4059,13 @@ "array-find-index": "1.0.2" } }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" - }, "d": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", "dev": true, "requires": { - "es5-ext": "0.10.38" + "es5-ext": "0.10.45" } }, "dargs": { @@ -3271,14 +4085,40 @@ "assert-plus": "1.0.0" } }, + "data-urls": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.1.tgz", + "integrity": "sha512-0HdcMZzK6ubMUnsMmQmG0AcLQPvbvb47R0+7CCZQCYgcd8OUWG91CG7sM6GoXgjz+WLl4ArFzHtBMy/QqSF4eg==", + "requires": { + "abab": "2.0.0", + "whatwg-mimetype": "2.1.0", + "whatwg-url": "7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "requires": { + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" + } + } + } + }, "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "dbly-linked-list": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dbly-linked-list/-/dbly-linked-list-0.2.0.tgz", + "integrity": "sha512-Ool7y15f6JRDs0YKx7Dh9uiTb1jS1SZLNdT3Y2q16DlaEghXbMsmODS/XittjR2xztt1gJUpz7jVxpqAPF8VGg==", "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" + "lodash.isequal": "4.5.0" } }, "ddp-ejson": { @@ -3317,8 +4157,21 @@ "requires": { "decamelize": "1.2.0", "map-obj": "1.0.1" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } } }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, "decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", @@ -3337,15 +4190,14 @@ } }, "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "deepmerge": { "version": "2.0.1", @@ -3362,6 +4214,43 @@ "object-keys": "1.0.11" } }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, "del": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", @@ -3370,10 +4259,10 @@ "requires": { "globby": "6.1.0", "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", "p-map": "1.2.0", "pify": "3.0.0", - "rimraf": "2.6.2" + "rimraf": "2.4.5" }, "dependencies": { "globby": { @@ -3399,6 +4288,14 @@ } } }, + "delay": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-2.0.0.tgz", + "integrity": "sha1-kRLq3APk7H4AKXM3iW8nO72R+uU=", + "requires": { + "p-defer": "1.0.0" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -3419,6 +4316,11 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz", "integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=" }, + "deprecate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz", + "integrity": "sha1-ZhSQ7SQokWpsiIPYg05WRvTkpKg=" + }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", @@ -3477,9 +4379,9 @@ "dev": true }, "diff-match-patch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.0.tgz", - "integrity": "sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.1.tgz", + "integrity": "sha512-A0QEhr4PxGUMEtKxd6X+JLnOTFd3BfIPSDpsc4dMvj+CbSaErDwTpoTo/nFJDMSrjxLW4BiNq+FbNisAAHhWeQ==" }, "dir-glob": { "version": "2.0.0", @@ -3520,6 +4422,14 @@ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "requires": { + "webidl-conversions": "4.0.2" + } + }, "domhandler": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", @@ -3550,22 +4460,27 @@ "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=" }, "dtrace-provider": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.6.tgz", - "integrity": "sha1-QooiOv4DQl0s1tY0f99AxmkDVj0=", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.7.tgz", + "integrity": "sha1-3JObTT4GIM/gwc2APQ0tftBP/QQ=", "optional": true, "requires": { - "nan": "2.8.0" + "nan": "2.10.0" } }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, "duplexify": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz", - "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", - "readable-stream": "2.3.4", + "readable-stream": "2.3.6", "stream-shift": "1.0.0" } }, @@ -3576,7 +4491,7 @@ "dev": true, "requires": { "d": "0.1.1", - "es5-ext": "0.10.38" + "es5-ext": "0.10.45" } }, "eastasianwidth": { @@ -3594,12 +4509,11 @@ } }, "ecdsa-sig-formatter": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz", - "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", + "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "base64url": "2.0.0", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "ee-first": { @@ -3608,15 +4522,15 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "ejs": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.8.tgz", - "integrity": "sha512-QIDZL54fyV8MDcAsO91BMH1ft2qGGaHIJsJIA/+t+7uvXol1dm413fPcUgUb4k8F/9457rx4/KFE4XfDifrQxQ==", + "version": "2.5.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz", + "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==", "dev": true }, "electron-to-chromium": { - "version": "1.3.33", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz", - "integrity": "sha1-vwBwPWKnxlI4E2V4w1LWxcBCpUU=" + "version": "1.3.48", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz", + "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=" }, "emailreplyparser": { "version": "0.0.5", @@ -3628,7 +4542,7 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz", "integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "empower-core": "0.6.2" } }, @@ -3638,7 +4552,7 @@ "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.3" + "core-js": "2.5.7" } }, "end-of-stream": { @@ -3660,9 +4574,9 @@ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" }, "errno": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", - "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "requires": { "prr": "1.0.1" } @@ -3698,16 +4612,16 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz", "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=", "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "escape-html": "1.0.3" }, "dependencies": { "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.17", + "mime-types": "2.1.18", "negotiator": "0.6.1" } }, @@ -3718,14 +4632,37 @@ } } }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.2", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } + }, "es5-ext": { - "version": "0.10.38", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz", - "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==", + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-iterator": { @@ -3735,7 +4672,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.38", + "es5-ext": "0.10.45", "es6-symbol": "3.1.1" }, "dependencies": { @@ -3745,15 +4682,15 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.38" + "es5-ext": "0.10.45" } } } }, "es6-promise": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", - "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", "dev": true }, "es6-promisify": { @@ -3762,7 +4699,7 @@ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { - "es6-promise": "4.0.5" + "es6-promise": "4.2.4" } }, "es6-symbol": { @@ -3772,7 +4709,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.38" + "es5-ext": "0.10.45" }, "dependencies": { "d": { @@ -3781,7 +4718,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.38" + "es5-ext": "0.10.45" } } } @@ -3796,36 +4733,61 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, "eslint": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.1.tgz", - "integrity": "sha512-gPSfpSRCHre1GLxGmO68tZNxOlL2y7xBd95VcLD+Eo4S2js31YoMum3CAQIOaxY24hqYOMksMvW38xuuWKQTgw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { "ajv": "5.5.2", "babel-code-frame": "6.26.0", - "chalk": "2.3.1", - "concat-stream": "1.6.0", + "chalk": "2.4.1", + "concat-stream": "1.6.2", "cross-spawn": "5.1.0", "debug": "3.1.0", "doctrine": "2.1.0", "eslint-scope": "3.7.1", "eslint-visitor-keys": "1.0.0", - "espree": "3.5.3", - "esquery": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", "esutils": "2.0.2", "file-entry-cache": "2.0.0", "functional-red-black-tree": "1.0.1", "glob": "7.1.2", - "globals": "11.3.0", - "ignore": "3.3.7", + "globals": "11.5.0", + "ignore": "3.3.8", "imurmurhash": "0.1.4", "inquirer": "3.3.0", "is-resolvable": "1.1.0", - "js-yaml": "3.10.0", + "js-yaml": "3.12.0", "json-stable-stringify-without-jsonify": "1.0.1", "levn": "0.3.0", - "lodash": "4.17.5", + "lodash": "4.17.10", "minimatch": "3.0.4", "mkdirp": "0.5.1", "natural-compare": "1.4.0", @@ -3833,6 +4795,7 @@ "path-is-inside": "1.0.2", "pluralize": "7.0.0", "progress": "2.0.0", + "regexpp": "1.1.0", "require-uncached": "1.0.3", "semver": "5.5.0", "strip-ansi": "4.0.0", @@ -3848,23 +4811,34 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.2.14" } }, "debug": { @@ -3877,9 +4851,9 @@ } }, "globals": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", - "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", + "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==", "dev": true }, "has-flag": { @@ -3888,12 +4862,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -3904,9 +4872,9 @@ } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -3920,7 +4888,7 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.0", + "esrecurse": "4.2.1", "estraverse": "4.2.0" } }, @@ -3931,19 +4899,19 @@ "dev": true }, "espree": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz", - "integrity": "sha512-Zy3tAJDORxQZLl2baguiRU1syPERAIg0L+JB2MWorORgTu/CplzvxS9WWA7Xh4+Q+eOQihNs/1o1Xep8cvCxWQ==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.4.1", + "acorn": "5.6.1", "acorn-jsx": "3.0.1" }, "dependencies": { "acorn": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", - "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.1.tgz", + "integrity": "sha512-XH4o5BK5jmw9PzSGK7mNf+/xV+mPxQxGZoeC36OVsJZYV77JAG9NnI7T90hoUpI/C1TOfXWTvugRdZ9ZR3iE2Q==", "dev": true } } @@ -3955,30 +4923,29 @@ "dev": true }, "espurify": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz", - "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", + "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "2.5.3" + "core-js": "2.5.7" } }, "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { "estraverse": "4.2.0" } }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "4.2.0" } }, "estraverse": { @@ -3989,8 +4956,7 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "etag": { "version": "1.7.0", @@ -3998,9 +4964,9 @@ "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=" }, "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" }, "events": { "version": "1.1.1", @@ -4013,7 +4979,7 @@ "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", "dev": true, "requires": { - "clone-regexp": "1.0.0" + "clone-regexp": "1.0.1" } }, "exit": { @@ -4023,12 +4989,35 @@ "dev": true }, "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "is-posix-bracket": "0.1.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } } }, "expand-range": { @@ -4037,9 +5026,56 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "2.2.4" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } } }, + "expand-template": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz", + "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==" + }, "express-session": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz", @@ -4081,11 +5117,6 @@ "requires": { "base64-url": "1.2.1" } - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" } } }, @@ -4094,47 +5125,105 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, "external-editor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", - "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { "chardet": "0.4.2", - "iconv-lite": "0.4.19", + "iconv-lite": "0.4.23", "tmp": "0.0.33" } }, "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } } }, "extract-zip": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", - "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", "dev": true, "requires": { - "concat-stream": "1.6.0", + "concat-stream": "1.6.2", "debug": "2.6.9", - "mkdirp": "0.5.0", + "mkdirp": "0.5.1", "yauzl": "2.4.1" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - } } }, "extsprintf": { @@ -4142,15 +5231,23 @@ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" - }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", + "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", + "requires": { + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" + } }, "fast-json-stable-stringify": { "version": "2.0.0", @@ -4160,8 +5257,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "faye-websocket": { "version": "0.9.4", @@ -4232,9 +5328,9 @@ } }, "file-type": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-7.6.0.tgz", - "integrity": "sha512-EAogdjMKf0PEU26Wk+N/Qkg8JXpMRo9t70dg7+t9QvcYUZb/XfA66Hdt15g4xRdam4wgiQsg/qycKUIuZQDJog==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.0.0.tgz", + "integrity": "sha512-vaWQ+6lIlPyzIRSqxcSaOhTPLOWTdVuzSwDvfOKEcnJS7B0yzJHMzAG8Z3+qNBXS7CPP/7PsGLTlAmRq0X5A+w==" }, "filename-regex": { "version": "2.0.1", @@ -4243,9 +5339,9 @@ "dev": true }, "filesize": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.0.tgz", - "integrity": "sha512-g5OWtoZWcPI56js1DFhIEqyG9tnu/7sG3foHwgS9KGYFMfsYguI3E+PRVCmtmE96VajQIEMRU2OhN+ME589Gdw==" + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" }, "fill-keys": { "version": "1.0.2", @@ -4258,39 +5354,71 @@ } }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, + "finalhandler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", + "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=", "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "debug": "2.2.0", + "escape-html": "1.0.2", + "on-finished": "2.3.0", + "unpipe": "1.0.0" }, "dependencies": { - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", "requires": { - "pinkie-promise": "2.0.1" + "ms": "0.7.1" } + }, + "escape-html": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz", + "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=" + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" } } }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "finity": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/finity/-/finity-0.5.4.tgz", + "integrity": "sha512-3l+5/1tuw616Lgb0QBimxfdd2TqaDGpfCBpfX6EqtFmqUV3FtQnVEX4Aa62DagYEqnsTIjZcTfbq9msDbXYgyA==" + }, "flat-cache": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", @@ -4311,11 +5439,11 @@ "requires": { "globby": "5.0.0", "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "rimraf": "2.4.5" } }, "globby": { @@ -4345,11 +5473,28 @@ "resolved": "https://registry.npmjs.org/flushwritable/-/flushwritable-1.0.0.tgz", "integrity": "sha1-PjKNj95BKtR+c44751C00pAENJg=" }, + "follow-redirects": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "for-own": { "version": "0.1.5", @@ -4377,15 +5522,23 @@ "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.17" + "mime-types": "2.1.18" } }, "formidable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz", - "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", "dev": true }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "0.2.2" + } + }, "freeport": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/freeport/-/freeport-1.0.5.tgz", @@ -4397,6 +5550,25 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=" }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-copy-file-sync": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz", + "integrity": "sha512-2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ==" + }, "fs-extra": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", @@ -4413,144 +5585,68 @@ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { - "minipass": "2.2.1" + "minipass": "2.3.3" } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "dev": true, - "optional": true, - "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", "bundled": true, "dev": true, "optional": true }, - "aws-sign2": { - "version": "0.6.0", + "ansi-regex": { + "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, - "aws4": { - "version": "1.6.0", + "aproba": { + "version": "1.2.0", "bundled": true, "dev": true, "optional": true }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", + "are-we-there-yet": { + "version": "1.1.4", "bundled": true, "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, - "boom": { - "version": "2.10.1", + "balanced-match": { + "version": "1.0.0", "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } + "dev": true }, "brace-expansion": { - "version": "1.1.7", + "version": "1.1.11", "bundled": true, "dev": true, "requires": { - "balanced-match": "0.4.2", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", + "chownr": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true @@ -4560,14 +5656,6 @@ "bundled": true, "dev": true }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, "concat-map": { "version": "0.0.1", "bundled": true, @@ -4581,35 +5669,11 @@ "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "debug": { - "version": "2.6.8", + "version": "2.6.9", "bundled": true, "dev": true, "optional": true, @@ -4618,16 +5682,11 @@ } }, "deep-extend": { - "version": "0.4.2", + "version": "0.5.1", "bundled": true, "dev": true, "optional": true }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "delegates": { "version": "1.0.0", "bundled": true, @@ -4635,74 +5694,25 @@ "optional": true }, "detect-libc": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", + "version": "1.0.3", "bundled": true, "dev": true, "optional": true }, - "form-data": { - "version": "2.1.4", + "fs-minipass": { + "version": "1.2.5", "bundled": true, "dev": true, "optional": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "minipass": "2.2.4" } }, "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } + "optional": true }, "gauge": { "version": "2.7.4", @@ -4710,7 +5720,7 @@ "dev": true, "optional": true, "requires": { - "aproba": "1.1.1", + "aproba": "1.2.0", "console-control-strings": "1.1.0", "has-unicode": "2.0.1", "object-assign": "4.1.1", @@ -4720,27 +5730,11 @@ "wide-align": "1.1.2" } }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, "glob": { "version": "7.1.2", "bundled": true, "dev": true, + "optional": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -4750,64 +5744,35 @@ "path-is-absolute": "1.0.1" } }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, "has-unicode": { "version": "2.0.1", "bundled": true, "dev": true, "optional": true }, - "hawk": { - "version": "3.1.3", + "iconv-lite": { + "version": "0.4.21", "bundled": true, "dev": true, + "optional": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "safer-buffer": "2.1.2" } }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", + "ignore-walk": { + "version": "3.0.1", "bundled": true, "dev": true, "optional": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "dev": true, + "optional": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -4819,7 +5784,7 @@ "dev": true }, "ini": { - "version": "1.3.4", + "version": "1.3.5", "bundled": true, "dev": true, "optional": true @@ -4832,111 +5797,43 @@ "number-is-nan": "1.0.1" } }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, "isarray": { "version": "1.0.0", "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, "dev": true, "optional": true }, - "jsprim": { - "version": "1.4.0", + "minimatch": { + "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } + "brace-expansion": "1.1.11" } }, - "mime-db": { - "version": "1.27.0", + "minimist": { + "version": "0.0.8", "bundled": true, "dev": true }, - "mime-types": { - "version": "2.1.15", + "minipass": { + "version": "2.2.4", "bundled": true, "dev": true, "requires": { - "mime-db": "1.27.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, - "minimatch": { - "version": "3.0.4", + "minizlib": { + "version": "1.1.0", "bundled": true, "dev": true, + "optional": true, "requires": { - "brace-expansion": "1.1.7" + "minipass": "2.2.4" } }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, "mkdirp": { "version": "0.5.1", "bundled": true, @@ -4951,23 +5848,33 @@ "dev": true, "optional": true }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, "node-pre-gyp": { - "version": "0.6.39", + "version": "0.10.0", "bundled": true, "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", + "detect-libc": "1.0.3", "mkdirp": "0.5.1", + "needle": "2.2.0", "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -4976,12 +5883,28 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { - "version": "4.1.0", + "version": "4.1.2", "bundled": true, "dev": true, "optional": true, @@ -4997,12 +5920,6 @@ "bundled": true, "dev": true }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, "object-assign": { "version": "4.1.1", "bundled": true, @@ -5030,7 +5947,7 @@ "optional": true }, "osenv": { - "version": "0.1.4", + "version": "0.1.5", "bundled": true, "dev": true, "optional": true, @@ -5042,39 +5959,23 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", + "version": "2.0.0", "bundled": true, "dev": true, "optional": true }, "rc": { - "version": "1.2.1", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", + "deep-extend": "0.5.1", + "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" }, @@ -5088,112 +5989,63 @@ } }, "readable-stream": { - "version": "2.2.9", + "version": "2.3.6", "bundled": true, "dev": true, + "optional": true, "requires": { - "buffer-shims": "1.0.0", "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" } }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, "rimraf": { - "version": "2.6.1", + "version": "2.6.2", "bundled": true, "dev": true, + "optional": true, "requires": { "glob": "7.1.2" } }, "safe-buffer": { - "version": "5.0.1", + "version": "5.1.1", "bundled": true, "dev": true }, - "semver": { - "version": "5.3.0", + "safer-buffer": { + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, - "set-blocking": { - "version": "2.0.0", + "sax": { + "version": "1.2.4", "bundled": true, "dev": true, "optional": true }, - "signal-exit": { - "version": "3.0.2", + "semver": { + "version": "5.5.0", "bundled": true, "dev": true, "optional": true }, - "sntp": { - "version": "1.0.9", + "set-blocking": { + "version": "2.0.0", "bundled": true, "dev": true, - "requires": { - "hoek": "2.16.3" - } + "optional": true }, - "sshpk": { - "version": "1.13.0", + "signal-exit": { + "version": "3.0.2", "bundled": true, "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "string-width": { "version": "1.0.2", @@ -5206,19 +6058,14 @@ } }, "string_decoder": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "dev": true, + "optional": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "5.1.1" } }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, "strip-ansi": { "version": "3.0.1", "bundled": true, @@ -5234,81 +6081,26 @@ "optional": true }, "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", + "version": "4.4.1", "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "5.0.1" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, "dev": true, "optional": true }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, "wide-align": { "version": "1.1.2", "bundled": true, @@ -5322,35 +6114,18 @@ "version": "1.0.2", "bundled": true, "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true } } }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -5370,52 +6145,38 @@ "signal-exit": "3.0.2", "string-width": "1.0.2", "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "wide-align": "1.1.3" } }, "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { - "globule": "1.2.0" + "globule": "1.2.1" } }, "gcp-metadata": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.4.1.tgz", - "integrity": "sha512-yFE7v+NyoMiTOi2L6r8q87eVbiZCKooJNPKXTHhBStga8pwwgWofK9iHl00qd0XevZxcpk7ORaEL/ALuTvlaGQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", + "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { + "axios": "0.18.0", "extend": "3.0.1", - "retry-request": "3.3.1" + "retry-axios": "0.3.2" } }, "gcs-resumable-upload": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.9.0.tgz", - "integrity": "sha512-+Zrmr0JKO2y/2mg953TW6JLu+NAMHqQsKzqCm7CIT24gMQakolPJCMzDleVpVjXAqB7ZCD276tcUq2ebOfqTug==", - "requires": { - "buffer-equal": "1.0.0", - "configstore": "3.1.1", - "google-auto-auth": "0.9.3", - "pumpify": "1.4.0", - "request": "2.83.0", - "stream-events": "1.0.2", - "through2": "2.0.3" - } - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.10.2.tgz", + "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "requires": { - "is-property": "1.0.2" + "configstore": "3.1.2", + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { @@ -5436,11 +6197,87 @@ "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", "dev": true, "requires": { - "hosted-git-info": "2.5.0", + "hosted-git-info": "2.6.0", "meow": "3.7.0", "normalize-package-data": "2.4.0", "parse-github-repo-url": "1.4.1", "through2": "2.0.3" + }, + "dependencies": { + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } } }, "get-stdin": { @@ -5449,6 +6286,16 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -5490,6 +6337,11 @@ "ini": "1.3.5" } }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -5511,17 +6363,58 @@ "requires": { "glob-parent": "2.0.0", "is-glob": "2.0.1" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } } }, "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "2.0.1" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "2.1.1" + } + } } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", @@ -5529,14 +6422,15 @@ "dev": true }, "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { "array-union": "1.0.2", "dir-glob": "2.0.0", + "fast-glob": "2.2.2", "glob": "7.1.2", - "ignore": "3.3.7", + "ignore": "3.3.8", "pify": "3.0.0", "slash": "1.0.0" } @@ -5548,13 +6442,13 @@ "dev": true }, "globule": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { "glob": "7.1.2", - "lodash": "4.17.5", + "lodash": "4.17.10", "minimatch": "3.0.4" } }, @@ -5584,62 +6478,110 @@ } }, "google-auth-library": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-0.12.0.tgz", - "integrity": "sha512-79qCXtJ1VweBmmLr4yLq9S4clZB2p5Y+iACvuKk9gu4JitEnPc+bQFmYvtCYehVR44MQzD1J8DVmYW2w677IEw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.5.0.tgz", + "integrity": "sha512-xpibA/hkq4waBcpIkSJg4GiDAqcBWjJee3c47zj7xP3RQ0A9mc8MP3Vc9sc8SGRoDYA0OszZxTjW7SbcC4pJIA==", "requires": { - "gtoken": "1.2.3", - "jws": "3.1.4", + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.5", "lodash.isstring": "4.0.1", - "lodash.merge": "4.6.1", - "request": "2.83.0" + "lru-cache": "4.1.3", + "retry-axios": "0.3.2" } }, "google-auto-auth": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.3.tgz", - "integrity": "sha512-TbOZZs0WJOolrRmdQLK5qmWdOJQFG1oPnxcIBbAwL7XCWcv3XgZ9gHJ6W4byrdEZT8TahNFgMfkHd73mqxM9dw==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", + "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "requires": { - "async": "2.6.0", - "gcp-metadata": "0.4.1", - "google-auth-library": "0.12.0", - "request": "2.83.0" + "async": "2.6.1", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.5.0", + "request": "2.87.0" } }, "google-gax": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.14.5.tgz", - "integrity": "sha512-3A6KbrtLDavrqZnnzurnSydRIJnyH+2Sm56fAvXciQ/62aEnSDaR43MCgWhtReCLVjeFjBiCEIdX5zV0LVLVBg==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz", + "integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==", "requires": { + "duplexify": "3.6.0", "extend": "3.0.1", - "globby": "7.1.1", - "google-auto-auth": "0.9.3", - "google-proto-files": "0.14.2", - "grpc": "1.7.3", - "is-stream-ended": "0.1.3", - "lodash": "4.17.5", - "protobufjs": "6.8.4", - "readable-stream": "2.3.4", + "globby": "8.0.1", + "google-auto-auth": "0.10.1", + "google-proto-files": "0.15.1", + "grpc": "1.12.2", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.6", "through2": "2.0.3" } }, "google-p12-pem": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-0.1.2.tgz", - "integrity": "sha1-M8RqsCGqc0+gMys5YKmj/8svMXc=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", + "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "0.7.1" + "node-forge": "0.7.5", + "pify": "3.0.0" } }, "google-proto-files": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.14.2.tgz", - "integrity": "sha512-wwm2TIlfTgAjDbjrxAb3akznO7vBM0PRLS6Xf2QfR3L7b0p+szD3iwOW0wMSFl3B0UbLv27hUVk+clePqCVmXA==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", + "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", "requires": { "globby": "7.1.1", - "power-assert": "1.4.4", - "prettier": "1.10.2", - "protobufjs": "6.8.4" + "power-assert": "1.5.0", + "protobufjs": "6.8.6" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.8", + "pify": "3.0.0", + "slash": "1.0.0" + } + } + } + }, + "got": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.1.tgz", + "integrity": "sha512-tiLX+bnYm5A56T5N/n9Xo89vMaO1mrS9qoDqj3u/anVooqGozvY/HbXzEpDfbNeKsHCBpK40gSbz8wGYSp3i1w==", + "requires": { + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.0", + "p-cancelable": "0.4.1", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" + }, + "dependencies": { + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + } } }, "graceful-fs": { @@ -5647,6 +6589,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, + "grapheme-splitter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.2.tgz", + "integrity": "sha1-Y56dwb8GWJLGQ94x2qJ89YsQaOI=" + }, "gridfs-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/gridfs-stream/-/gridfs-stream-1.1.1.tgz", @@ -5662,29 +6609,20 @@ "dev": true }, "grpc": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.7.3.tgz", - "integrity": "sha512-7zXQJlDXMr/ZaDqdaIchgclViyoWo8GQxZSmFUAxR8GwSr28b6/BTgF221WG+2W693jpp74XJ/+I9DcPXsgt9Q==", - "requires": { - "arguejs": "0.2.3", - "lodash": "4.17.5", - "nan": "2.8.0", - "node-pre-gyp": "0.6.39", - "protobufjs": "5.0.2" + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.2.tgz", + "integrity": "sha512-oDrW7TPuP+u9+RboUx8XupS1GOPCdLSmldyMHmlaB5wu38nOzzyDxzLsmleROw5/0XyfyuwsmFX6UUr7FaXN2w==", + "requires": { + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.10.0", + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { - "version": "1.0.9", + "version": "1.1.1", "bundled": true }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, "ansi-regex": { "version": "2.1.1", "bundled": true @@ -5698,82 +6636,29 @@ "bundled": true, "requires": { "delegates": "1.0.0", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, - "asn1": { - "version": "0.2.3", - "bundled": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true - }, "balanced-match": { "version": "1.0.0", "bundled": true }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, "brace-expansion": { - "version": "1.1.8", + "version": "1.1.11", "bundled": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, - "caseless": { - "version": "0.12.0", - "bundled": true - }, - "co": { - "version": "4.6.0", + "chownr": { + "version": "1.0.1", "bundled": true }, "code-point-at": { "version": "1.1.0", "bundled": true }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, "concat-map": { "version": "0.0.1", "bundled": true @@ -5786,39 +6671,15 @@ "version": "1.0.2", "bundled": true }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true - } - } - }, "debug": { - "version": "2.6.8", + "version": "2.6.9", "bundled": true, "requires": { "ms": "2.0.0" } }, "deep-extend": { - "version": "0.4.2", - "bundled": true - }, - "delayed-stream": { - "version": "1.0.0", + "version": "0.5.1", "bundled": true }, "delegates": { @@ -5826,61 +6687,20 @@ "bundled": true }, "detect-libc": { - "version": "1.0.2", - "bundled": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true - }, - "extsprintf": { - "version": "1.3.0", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", + "version": "1.0.3", "bundled": true }, - "form-data": { - "version": "2.1.4", + "fs-minipass": { + "version": "1.2.5", "bundled": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "minipass": "2.3.3" } }, "fs.realpath": { "version": "1.0.0", "bundled": true }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, "gauge": { "version": "2.7.4", "bundled": true, @@ -5895,21 +6715,8 @@ "wide-align": "1.1.2" } }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true - } - } - }, "glob": { - "version": "7.1.1", + "version": "7.1.2", "bundled": true, "requires": { "fs.realpath": "1.0.0", @@ -5920,47 +6727,22 @@ "path-is-absolute": "1.0.1" } }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, "has-unicode": { "version": "2.0.1", "bundled": true }, - "hawk": { - "version": "3.1.3", + "iconv-lite": { + "version": "0.4.23", "bundled": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "safer-buffer": "2.1.2" } }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", + "ignore-walk": { + "version": "3.0.1", "bundled": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "minimatch": "3.0.4" } }, "inflight": { @@ -5976,7 +6758,7 @@ "bundled": true }, "ini": { - "version": "1.3.4", + "version": "1.3.5", "bundled": true }, "is-fullwidth-code-point": { @@ -5986,116 +6768,96 @@ "number-is-nan": "1.0.1" } }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true - }, "isarray": { "version": "1.0.0", "bundled": true }, - "isstream": { - "version": "0.1.2", - "bundled": true - }, - "jsbn": { - "version": "0.1.1", + "minimatch": { + "version": "3.0.4", "bundled": true, - "optional": true + "requires": { + "brace-expansion": "1.1.11" + } }, - "json-schema": { - "version": "0.2.3", + "minimist": { + "version": "1.2.0", "bundled": true }, - "json-stable-stringify": { - "version": "1.0.1", + "minipass": { + "version": "2.3.3", "bundled": true, "requires": { - "jsonify": "0.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true + "minizlib": { + "version": "1.1.0", + "bundled": true, + "requires": { + "minipass": "2.3.3" + } }, - "jsprim": { - "version": "1.4.1", + "mkdirp": { + "version": "0.5.1", "bundled": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "minimist": "0.0.8" }, "dependencies": { - "assert-plus": { - "version": "1.0.0", + "minimist": { + "version": "0.0.8", "bundled": true } } }, - "mime-db": { - "version": "1.30.0", + "ms": { + "version": "2.0.0", "bundled": true }, - "mime-types": { - "version": "2.1.17", + "needle": { + "version": "2.2.1", "bundled": true, "requires": { - "mime-db": "1.30.0" + "debug": "2.6.9", + "iconv-lite": "0.4.23", + "sax": "1.2.4" } }, - "minimatch": { - "version": "3.0.4", + "node-pre-gyp": { + "version": "0.10.0", "bundled": true, "requires": { - "brace-expansion": "1.1.8" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.1", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.3" } }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "mkdirp": { - "version": "0.5.1", + "nopt": { + "version": "4.0.1", "bundled": true, "requires": { - "minimist": "0.0.8" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, - "ms": { - "version": "2.0.0", + "npm-bundled": { + "version": "1.0.3", "bundled": true }, - "node-pre-gyp": { - "version": "0.6.39", + "npm-packlist": { + "version": "1.1.10", "bundled": true, "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.2", - "rc": "1.2.2", - "request": "2.81.0", - "rimraf": "2.6.2", - "semver": "5.4.1", - "tar": "2.2.1", - "tar-pack": "3.4.1" - }, - "dependencies": { - "nopt": { - "version": "4.0.1", - "bundled": true, - "requires": { - "abbrev": "1.0.9", - "osenv": "0.1.4" - } - } + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -6112,10 +6874,6 @@ "version": "1.0.1", "bundled": true }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true - }, "object-assign": { "version": "4.1.1", "bundled": true @@ -6136,7 +6894,7 @@ "bundled": true }, "osenv": { - "version": "0.1.4", + "version": "0.1.5", "bundled": true, "requires": { "os-homedir": "1.0.2", @@ -6147,103 +6905,65 @@ "version": "1.0.1", "bundled": true }, - "performance-now": { - "version": "0.2.0", - "bundled": true - }, "process-nextick-args": { - "version": "1.0.7", + "version": "2.0.0", "bundled": true }, "protobufjs": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.2.tgz", - "integrity": "sha1-WXSNfc8D0tsiwT2p/rAk4Wq4DJE=", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", + "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { "ascli": "1.0.1", "bytebuffer": "5.0.1", - "glob": "7.1.1", + "glob": "7.1.2", "yargs": "3.32.0" } }, - "punycode": { - "version": "1.4.1", - "bundled": true - }, - "qs": { - "version": "6.4.0", - "bundled": true - }, "rc": { - "version": "1.2.2", + "version": "1.2.7", "bundled": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", + "deep-extend": "0.5.1", + "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true - } } }, "readable-stream": { - "version": "2.3.3", + "version": "2.3.6", "bundled": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" } }, - "request": { - "version": "2.81.0", - "bundled": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "7.1.1" + "glob": "7.1.2" } }, "safe-buffer": { - "version": "5.1.1", + "version": "5.1.2", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true + }, + "sax": { + "version": "1.2.4", "bundled": true }, "semver": { - "version": "5.4.1", + "version": "5.5.0", "bundled": true }, "set-blocking": { @@ -6254,33 +6974,6 @@ "version": "3.0.2", "bundled": true }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.1", - "bundled": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true - } - } - }, "string-width": { "version": "1.0.2", "bundled": true, @@ -6291,16 +6984,12 @@ } }, "string_decoder": { - "version": "1.0.3", + "version": "1.1.1", "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, - "stringstream": { - "version": "0.0.5", - "bundled": true - }, "strip-ansi": { "version": "3.0.1", "bundled": true, @@ -6313,74 +7002,22 @@ "bundled": true }, "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.1", + "version": "4.4.3", "bundled": true, "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.3.3", - "rimraf": "2.6.2", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.3", - "bundled": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "requires": { - "safe-buffer": "5.1.1" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true - }, "util-deprecate": { "version": "1.0.2", "bundled": true }, - "uuid": { - "version": "3.1.0", - "bundled": true - }, - "verror": { - "version": "1.10.0", - "bundled": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true - } - } - }, "wide-align": { "version": "1.1.2", "bundled": true, @@ -6391,18 +7028,23 @@ "wrappy": { "version": "1.0.2", "bundled": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true } } }, "gtoken": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-1.2.3.tgz", - "integrity": "sha512-wQAJflfoqSgMWrSBk9Fg86q+sd6s7y6uJhIvvIPz++RElGlMtEqsdAR2oWwZ/WTEtp7P9xFbJRrT976oRgzJ/w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", + "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "google-p12-pem": "0.1.2", - "jws": "3.1.4", - "mime": "1.6.0", - "request": "2.83.0" + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" } }, "handlebars": { @@ -6422,6 +7064,15 @@ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } } } }, @@ -6798,6 +7449,14 @@ "har-schema": "2.0.0" } }, + "has": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.2.tgz", + "integrity": "sha512-D5/WxwX+SrGfs/fiQn34RAoIZkCLJBDEfBWS1kmTI6G/1mtjhxTBiIiJi8EsKhwaQqKqj7lpKOi3i69tg3P+OQ==", + "requires": { + "function-bind": "1.1.1" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -6811,17 +7470,59 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "1.4.2" + } + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, "hash-stream-validation": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz", @@ -6841,14 +7542,15 @@ } }, "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "he": { @@ -6862,9 +7564,10 @@ "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true }, "home-or-tmp": { "version": "2.0.0", @@ -6877,11 +7580,19 @@ } }, "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "requires": { + "whatwg-encoding": "1.0.4" + } + }, "html-tags": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", @@ -6896,7 +7607,7 @@ "he": "1.1.1", "htmlparser2": "3.9.2", "optimist": "0.6.1", - "underscore": "1.8.3", + "underscore": "1.9.1", "underscore.string": "3.3.4" }, "dependencies": { @@ -6919,7 +7630,7 @@ "domutils": "1.7.0", "entities": "1.1.1", "inherits": "2.0.3", - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } } } @@ -6973,19 +7684,24 @@ } } }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, "http-errors": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", "requires": { "inherits": "2.0.3", - "statuses": "1.3.1" + "statuses": "1.5.0" } }, "http-parser-js": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.11.tgz", - "integrity": "sha512-QCR5O2AjjMW8Mo4HyI1ctFcv+O99j/0g367V3YoVnrNw5hkDvAWZD0lWGcc+F4yN3V55USPCVix4efb75HxFfA==", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", "dev": true }, "http-proxy-agent": { @@ -6998,15 +7714,6 @@ "debug": "3.1.0" }, "dependencies": { - "agent-base": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", - "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", - "dev": true, - "requires": { - "es6-promisify": "5.0.0" - } - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -7025,23 +7732,56 @@ "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", - "sshpk": "1.13.1" + "sshpk": "1.14.1" } }, "https-proxy-agent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", - "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "dev": true, "requires": { - "agent-base": "2.1.1", - "debug": "2.6.9", - "extend": "3.0.1" + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "husky": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-0.14.3.tgz", + "integrity": "sha512-e21wivqHpstpoiWA/Yi8eFti8E+sQDSS53cpJsPptPs295QTOQR0ZwnHo2TXy1XOpZFD9rPOd3NpmqTK6uMLJA==", + "dev": true, + "requires": { + "is-ci": "1.2.0", + "normalize-path": "1.0.0", + "strip-indent": "2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + } } }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": "2.1.2" + } }, "ieee754": { "version": "1.1.8", @@ -7049,9 +7789,9 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "ignore": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==" + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", + "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==" }, "image-size": { "version": "0.6.2", @@ -7095,19 +7835,22 @@ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" }, + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", + "dev": true + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true }, "indexes-of": { "version": "1.0.1", @@ -7135,9 +7878,9 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "inherits-ex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/inherits-ex/-/inherits-ex-1.2.0.tgz", - "integrity": "sha1-MVlON25zgZjvdUD9V1lBCl1CQDg=", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/inherits-ex/-/inherits-ex-1.2.3.tgz", + "integrity": "sha512-DCZqD7BpjXqaha8IKcoAE3ZZr6Hi12ropV1h+3pBnirE14mNRwLuYySvYxUSBemTQ40SjAxPL8BTk2Xw/3IF9w==", "requires": { "xtend": "4.0.1" } @@ -7153,13 +7896,13 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.1", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", "cli-cursor": "2.1.0", "cli-width": "2.2.0", - "external-editor": "2.1.0", + "external-editor": "2.2.0", "figures": "2.0.0", - "lodash": "4.17.5", + "lodash": "4.17.10", "mute-stream": "0.0.7", "run-async": "2.3.0", "rx-lite": "4.0.8", @@ -7176,23 +7919,23 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "figures": { @@ -7236,9 +7979,9 @@ } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -7246,10 +7989,19 @@ } } }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "2.3.0", + "p-is-promise": "1.1.0" + } + }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { "loose-envify": "1.3.1" @@ -7265,23 +8017,41 @@ "resolved": "https://registry.npmjs.org/ip-range-check/-/ip-range-check-0.0.2.tgz", "integrity": "sha1-YFyFloeqTxhGORjUYZDYs2maKTw=", "requires": { - "ipaddr.js": "1.6.0" + "ipaddr.js": "1.7.0" } }, "ipaddr.js": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", - "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.7.0.tgz", + "integrity": "sha1-IgbtM0r8MuAf7T7oOLayUhBoudI=" }, "is": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=" }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, "is-alphabetical": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz", - "integrity": "sha1-x3B5zJHU76x3W+EDS/LSQ/lebwg=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz", + "integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==", "dev": true }, "is-alphanumeric": { @@ -7291,13 +8061,13 @@ "dev": true }, "is-alphanumerical": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz", - "integrity": "sha1-37SqTRCF4zvbYcLe6cgOnGwZ9Ts=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz", + "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==", "dev": true, "requires": { - "is-alphabetical": "1.0.1", - "is-decimal": "1.0.1" + "is-alphabetical": "1.0.2", + "is-decimal": "1.0.2" } }, "is-arrayish": { @@ -7317,8 +8087,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", @@ -7329,12 +8098,66 @@ "builtin-modules": "1.1.1" } }, - "is-decimal": { + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" + }, + "is-ci": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.0.tgz", + "integrity": "sha512-plgvKjQtalH2P3Gytb7L61Lmz95g2DlpzFiQyRSFew8WoJKxtKRzrZMeyRN2supblm3Psc8OQGy7Xjb6XG11jw==", + "dev": true, + "requires": { + "ci-info": "1.3.1" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-date-object": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz", - "integrity": "sha1-9ftqlJlq2ejjdh+/vQkfH8qMToI=", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-decimal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz", + "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==", "dev": true }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, "is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", @@ -7359,14 +8182,12 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-finite": { "version": "1.0.2", @@ -7392,44 +8213,35 @@ "dev": true }, "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "2.1.1" } }, "is-hexadecimal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz", - "integrity": "sha1-bghLvJIGH7sJcexYts5tQE4k2mk=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz", + "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==", "dev": true }, - "is-my-ip-valid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", - "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==" - }, - "is-my-json-valid": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", - "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", - "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "is-my-ip-valid": "1.0.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" - } - }, "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } } }, "is-obj": { @@ -7440,8 +8252,22 @@ "is-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + } + } }, "is-path-cwd": { "version": "1.0.0", @@ -7450,9 +8276,9 @@ "dev": true }, "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { "is-path-inside": "1.0.1" @@ -7470,8 +8296,15 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "3.0.1" + } }, "is-posix-bracket": { "version": "0.1.1", @@ -7491,10 +8324,13 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "1.0.2" + } }, "is-regexp": { "version": "1.0.0", @@ -7508,16 +8344,20 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-stream-ended": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.3.tgz", - "integrity": "sha1-oEc7Jnx1ZjVIa+7cfjNE5UnRUqw=" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" }, "is-subset": { "version": "0.1.1", @@ -7526,11 +8366,16 @@ "dev": true }, "is-supported-regexp-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz", - "integrity": "sha1-i1IMhfrnolM4LUsCZS4EVXbhO7g=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz", + "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==", "dev": true }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" + }, "is-text-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", @@ -7552,15 +8397,20 @@ "dev": true }, "is-whitespace-character": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz", - "integrity": "sha1-muAXbzKCtlRXoZks2whPil+DPjs=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz", + "integrity": "sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==", "dev": true }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, "is-word-character": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz", - "integrity": "sha1-WgP6HqkazopusMfNdw64bWXIvvs=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz", + "integrity": "sha512-T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA==", "dev": true }, "isarray": { @@ -7575,19 +8425,24 @@ "dev": true }, "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, "jasmine": { "version": "2.99.0", "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.99.0.tgz", @@ -7616,9 +8471,9 @@ "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" }, "js-base64": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", - "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==" + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz", + "integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ==" }, "js-tokens": { "version": "3.0.2", @@ -7627,12 +8482,12 @@ "dev": true }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.9", + "argparse": "1.0.10", "esprima": "4.0.0" } }, @@ -7647,16 +8502,74 @@ "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.6.0.tgz", "integrity": "sha512-xYuhvQ7I9PDJIGBWev9xm0+SMSed3ZDBAmvVjbFR1ZRLAF+vlXcQu6cRI9uAlj81rzikElRVteehwV7DuX2ZmQ==" }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "requires": { + "abab": "2.0.0", + "acorn": "5.7.2", + "acorn-globals": "4.1.0", + "array-equal": "1.0.0", + "cssom": "0.3.4", + "cssstyle": "1.1.1", + "data-urls": "1.0.1", + "domexception": "1.0.1", + "escodegen": "1.11.0", + "html-encoding-sniffer": "1.0.2", + "left-pad": "1.3.0", + "nwsapi": "2.0.8", + "parse5": "4.0.0", + "pn": "1.1.0", + "request": "2.87.0", + "request-promise-native": "1.0.5", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.4", + "w3c-hr-time": "1.0.1", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.4", + "whatwg-mimetype": "2.1.0", + "whatwg-url": "6.5.0", + "ws": "5.2.2", + "xml-name-validator": "3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", + "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "requires": { + "async-limiter": "1.0.0" + } + } + } + }, "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, "json-parse-better-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz", - "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema": { @@ -7716,10 +8629,29 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" + "jsonwebtoken": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.2.2.tgz", + "integrity": "sha512-rFFq7ow/JpPzwgaz4IyRL9cp7f4ptjW92eZgsQyqkysLBmDjSSBhnKfQESoq0GU+qJXK/CQ0o4shgwbUPiFCdw==", + "requires": { + "jws": "3.1.5", + "lodash.includes": "4.3.0", + "lodash.isboolean": "3.0.3", + "lodash.isinteger": "4.0.4", + "lodash.isnumber": "3.0.3", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.once": "4.1.1", + "ms": "2.1.1", + "xtend": "4.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } }, "jsprim": { "version": "1.4.1", @@ -7733,24 +8665,22 @@ } }, "jwa": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz", - "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz", + "integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==", "requires": { - "base64url": "2.0.0", "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.9", - "safe-buffer": "5.1.1" + "ecdsa-sig-formatter": "1.0.10", + "safe-buffer": "5.1.2" } }, "jws": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz", - "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", + "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "base64url": "2.0.0", - "jwa": "1.1.5", - "safe-buffer": "5.1.1" + "jwa": "1.1.6", + "safe-buffer": "5.1.2" } }, "kew": { @@ -7759,15 +8689,19 @@ "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", "dev": true }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", "requires": { - "is-buffer": "1.1.6" + "json-buffer": "3.0.0" } }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, "klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", @@ -7778,9 +8712,9 @@ } }, "known-css-properties": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.5.0.tgz", - "integrity": "sha512-LOS0CoS8zcZnB1EjLw4LLqDXw8nvt3AGH5dXLQP3D9O1nLLA+9GC5GnPl5mmF+JiQAtSX4VyZC7KvEtcA4kUtA==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.6.1.tgz", + "integrity": "sha512-nQRpMcHm1cQ6gmztdvLcIvxocznSMqH/y6XtERrWrHaymOYdDGroRqetJvJycxGEr1aakXiigDgn7JnzuXlk6A==", "dev": true }, "lazy-cache": { @@ -7794,9 +8728,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, "requires": { - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } }, "lcid": { @@ -7832,25 +8765,30 @@ "backoff": "2.5.0", "bunyan": "1.8.12", "dashdash": "1.14.1", - "dtrace-provider": "0.8.6", + "dtrace-provider": "0.8.7", "ldap-filter": "0.2.2", "once": "1.4.0", "vasync": "1.6.4", "verror": "1.10.0" } }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + }, "less": { "version": "https://github.com/meteor/less.js/tarball/8130849eb3d7f0ecf0ca8d0af7c4207b0442e3f6", - "integrity": "sha1-dD95WEi4QkZPVjcydtAMY6WS/qM=", - "requires": { - "errno": "0.1.6", - "graceful-fs": "3.0.11", - "image-size": "0.3.5", - "mime": "1.6.0", - "mkdirp": "0.5.1", - "promise": "6.1.0", - "request": "2.83.0", - "source-map": "0.4.4" + "integrity": "sha512-514pMpzrABW11ploVaRcbHLf3MhollYYCJj9SyJmNT1O8ZeLCiIeqZ2SjZUM1uudohPlHgTRwmCZouzIJFJ7Jw==", + "requires": { + "errno": "^0.1.1", + "graceful-fs": "^3.0.5", + "image-size": "~0.3.5", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", + "promise": "^6.0.1", + "request": "^2.51.0", + "source-map": "^0.4.2" }, "dependencies": { "asap": { @@ -7865,7 +8803,7 @@ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "optional": true, "requires": { - "natives": "1.1.1" + "natives": "^1.1.0" } }, "image-size": { @@ -7874,13 +8812,28 @@ "integrity": "sha1-gyQOqy+1sAsEqrjHSwRx6cunrYw=", "optional": true }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "optional": true + }, "promise": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", "integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=", "optional": true, "requires": { - "asap": "1.0.0" + "asap": "~1.0.0" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "optional": true, + "requires": { + "amdefine": ">=0.0.4" } } } @@ -7900,7 +8853,7 @@ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000808", + "caniuse-db": "1.0.30000847", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -7913,7 +8866,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, "requires": { "prelude-ls": "1.1.2", "type-check": "0.3.2" @@ -7963,30 +8915,21 @@ } }, "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "localforage": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.5.6.tgz", - "integrity": "sha1-0DTRXlNy7pfGQXPpqa65aBX13QY=", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.1.tgz", + "integrity": "sha1-5JJ+BCMCuGTbMPMhHxO1xvDell0=", "requires": { "lie": "3.1.1" } @@ -8010,9 +8953,9 @@ } }, "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, "lodash._reinterpolate": { "version": "3.0.0", @@ -8020,6 +8963,41 @@ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", "dev": true }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", @@ -8030,6 +9008,16 @@ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, "lodash.template": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", @@ -8050,9 +9038,9 @@ } }, "log-driver": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", - "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==" }, "log-symbols": { "version": "2.2.0", @@ -8060,27 +9048,27 @@ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "2.3.1" + "chalk": "2.4.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -8090,9 +9078,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -8101,20 +9089,19 @@ } }, "loglevel": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.4.1.tgz", - "integrity": "sha1-lbOD+Ro8J1b9SrCTZn5DCRYfK80=", - "dev": true + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=" }, "lokijs": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/lokijs/-/lokijs-1.5.3.tgz", - "integrity": "sha1-aVJyL/owSaVaXhwQ7koJR6Pl4Zs=" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/lokijs/-/lokijs-1.5.5.tgz", + "integrity": "sha1-HCH4KvdXkDf63nueSBNIXCNwi7Y=" }, "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "longest": { "version": "1.0.1", @@ -8153,10 +9140,19 @@ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", "dev": true }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } }, "mailparser": { "version": "2.2.0", @@ -8171,6 +9167,13 @@ "linkify-it": "2.0.3", "mailsplit": "4.1.2", "tlds": "1.199.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + } } }, "mailsplit": { @@ -8191,40 +9194,59 @@ } }, "make-dir": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", - "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { "pify": "3.0.0" } }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", "dev": true }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "1.0.1" + } + }, "markdown-escapes": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz", - "integrity": "sha1-GZTfLTr0gR3lmmcUk0wrIpJzRRg=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz", + "integrity": "sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==", "dev": true }, "markdown-table": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.1.tgz", - "integrity": "sha1-Sz3ToTPRUYuO8NvHCb8qG0gkvIw=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.2.tgz", + "integrity": "sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw==", "dev": true }, "marked": { - "version": "0.3.16", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.16.tgz", - "integrity": "sha512-diLiAxHidES67uJ1P5unXBUB4CyOFwodKrctuK0U4Ogw865N9Aw4dLmY0BK0tGKOy3xvkdMGgUXPD6W9z1Ne0Q==" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", + "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==" + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true }, "mathml-tag-names": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.0.1.tgz", - "integrity": "sha1-jUEmgWi/htEQK5gQnijlMeejRXg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.0.tgz", + "integrity": "sha512-3Zs9P/0zzwTob2pdgT0CHZuMbnSUSp8MB1bddfm+HDmnFWHGT4jvEZRf+2RuPoa+cjdn/z25SEt5gFTqdhvJAg==", "dev": true }, "mdast-util-compact": { @@ -8233,8 +9255,8 @@ "integrity": "sha1-zbX4TitqLTEU3zO9BdnLMuPECDo=", "dev": true, "requires": { - "unist-util-modify-children": "1.1.1", - "unist-util-visit": "1.3.0" + "unist-util-modify-children": "1.1.2", + "unist-util-visit": "1.3.1" } }, "media-typer": { @@ -8243,21 +9265,20 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", + "camelcase-keys": "4.2.0", + "decamelize-keys": "1.1.0", "loud-rejection": "1.6.0", - "map-obj": "1.0.1", "minimist": "1.2.0", + "minimist-options": "3.0.2", "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "read-pkg-up": "3.0.0", + "redent": "2.0.0", + "trim-newlines": "2.0.0" }, "dependencies": { "minimist": { @@ -8265,15 +9286,46 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "3.0.0" + } } } }, + "merge": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", + "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=" + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge2": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", + "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" + }, "meteor-promise": { "version": "0.8.6", "resolved": "https://registry.npmjs.org/meteor-promise/-/meteor-promise-0.8.6.tgz", @@ -8309,35 +9361,34 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" }, "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz", + "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o=" }, "mime-type": { "version": "3.0.5", @@ -8351,17 +9402,17 @@ } }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.30.0" + "mime-db": "1.33.0" }, "dependencies": { "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" } } }, @@ -8400,10 +9451,11 @@ } }, "minipass": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz", - "integrity": "sha512-u1aUllxPJUI07cOqzR7reGmQxmCqlH88uIIsf6XZFEWgw7gXKpJdR+5R9Y3KEDmWYkdIz9wXZs3C0jOPxejk/Q==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz", + "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", "requires": { + "safe-buffer": "5.1.2", "yallist": "3.0.2" }, "dependencies": { @@ -8419,7 +9471,26 @@ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "requires": { - "minipass": "2.2.1" + "minipass": "2.3.3" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "2.0.4" + } + } } }, "mkdirp": { @@ -8431,27 +9502,28 @@ } }, "mocha": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.1.tgz", - "integrity": "sha512-SpwyojlnE/WRBNGtvJSNfllfm5PqEDFxcWluSIgLeSBJtXG4DmoX2NNAeEA7rP5kK+79VgtVq8nG6HskaL1ykg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", "dev": true, "requires": { - "browser-stdout": "1.3.0", - "commander": "2.11.0", + "browser-stdout": "1.3.1", + "commander": "2.15.1", "debug": "3.1.0", - "diff": "3.3.1", + "diff": "3.5.0", "escape-string-regexp": "1.0.5", "glob": "7.1.2", - "growl": "1.10.3", + "growl": "1.10.5", "he": "1.1.1", + "minimatch": "3.0.4", "mkdirp": "0.5.1", - "supports-color": "4.4.0" + "supports-color": "5.4.0" }, "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, "debug": { @@ -8463,30 +9535,43 @@ "ms": "2.0.0" } }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } }, "mock-require": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-3.0.1.tgz", - "integrity": "sha1-1e/YNMDaDOxzx7Z3Y9gWfTLYUd4=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-3.0.2.tgz", + "integrity": "sha512-aD/Y1ZFHqw5pHg3HVQ50dLbfaAAcytS6sqLuhP51Dk3TSPdFb2VkSAa3mjrHifLIlGAtwQHJHINafAyqAne7vA==", "dev": true, "requires": { - "get-caller-file": "1.0.2" + "get-caller-file": "1.0.2", + "normalize-path": "2.1.1" } }, "modelo": { @@ -8495,9 +9580,9 @@ "integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA==" }, "modify-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz", - "integrity": "sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, "module-not-found-error": { @@ -8507,16 +9592,16 @@ "dev": true }, "moment": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", - "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==" + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" }, "moment-timezone": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.14.tgz", - "integrity": "sha1-TrOP+VOLgBCLpGekWPPtQmjM/LE=", + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.17.tgz", + "integrity": "sha512-Y/JpVEWIOA9Gho4vO15MTnW1FCmHi3ypprrkUaxsZ1TKg3uqC8q/qMBjTddkHoiwwZN3qvZSr4zJP7x9V3LpXA==", "requires": { - "moment": "2.20.1" + "moment": "2.22.2" } }, "morgan": { @@ -8598,41 +9683,36 @@ "mkdirp": "0.5.1", "ncp": "2.0.0", "rimraf": "2.4.5" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "optional": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "rimraf": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", - "optional": true, - "requires": { - "glob": "6.0.4" - } - } } }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=" + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" + }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } }, "natives": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz", - "integrity": "sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.4.tgz", + "integrity": "sha512-Q29yeg9aFKwhLVdkTAejM/HvYG0Y1Am1+HUkFQGn5k2j8GS+v60TVmZh6nujpEAj/qql+wGUrlryO8bF+b1jEg==" }, "natural-compare": { "version": "1.4.0", @@ -8651,6 +9731,12 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz", "integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g=" }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, "nice-try": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", @@ -8666,6 +9752,14 @@ "lower-case": "1.1.4" } }, + "node-abi": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.1.tgz", + "integrity": "sha512-pUlswqpHQ7zGPI9lGjZ4XDNIEUDbHxsltfIRb7dTnYdhgHWHOcB0MLZKLoCz6UMcGzSPG5wGl1HODZVQAUsH6w==", + "requires": { + "semver": "5.5.0" + } + }, "node-dogstatsd": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/node-dogstatsd/-/node-dogstatsd-0.0.7.tgz", @@ -8683,39 +9777,14 @@ "integrity": "sha1-Mcur63GmeufdWn3AQuUcPHWGhQE=" }, "node-forge": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz", - "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA=" - }, - "node-pre-gyp": { - "version": "0.6.36", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz", - "integrity": "sha1-22BBEst04NR3VU6bUFsXq936t4Y=", - "requires": { - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.2", - "rc": "1.2.5", - "request": "2.83.0", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "2.2.1", - "tar-pack": "3.4.1" - } - }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==" }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.4" - } + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" }, "normalize-package-data": { "version": "2.4.0", @@ -8723,17 +9792,16 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", + "hosted-git-info": "2.6.0", "is-builtin-module": "1.0.0", "semver": "5.5.0", - "validate-npm-package-license": "3.0.1" + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, "requires": { "remove-trailing-separator": "1.1.0" } @@ -8749,6 +9817,16 @@ "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", "dev": true }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" + } + }, "npm-install-package": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", @@ -8760,7 +9838,7 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { - "are-we-there-yet": "1.1.4", + "are-we-there-yet": "1.1.5", "console-control-strings": "1.1.0", "gauge": "2.7.4", "set-blocking": "2.0.0" @@ -8784,6 +9862,11 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, + "nwsapi": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.8.tgz", + "integrity": "sha512-7RZ+qbFGiVc6v14Y8DSZjPN1wZPOaMbiiP4tzf5eNuyOITAeOIA3cMhjuKUypVIqBgCSg1KaSyAv8Ocq/0ZJ1A==" + }, "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", @@ -8794,6 +9877,34 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", @@ -8804,6 +9915,14 @@ "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "3.0.1" + } + }, "object.assign": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", @@ -8816,6 +9935,26 @@ "object-keys": "1.0.11" } }, + "object.entries": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz", + "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has": "1.0.2" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.12.0" + } + }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -8826,6 +9965,25 @@ "is-extendable": "0.1.1" } }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "3.0.1" + } + }, + "object.values": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz", + "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has": "1.0.2" + } + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -8869,7 +10027,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, "requires": { "deep-is": "0.1.3", "fast-levenshtein": "2.0.6", @@ -8882,16 +10039,10 @@ "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" } } }, - "options": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" - }, "optjs": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", @@ -8913,16 +10064,28 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, - "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" }, "p-limit": { "version": "1.2.0", @@ -8948,6 +10111,27 @@ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true }, + "p-queue": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-2.4.2.tgz", + "integrity": "sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng==" + }, + "p-retry": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-1.0.0.tgz", + "integrity": "sha1-OSczKkt9cCabU1UVEX/FR9oaaWg=", + "requires": { + "retry": "0.10.1" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "1.0.0" + } + }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -8955,17 +10139,17 @@ "dev": true }, "parse-entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz", - "integrity": "sha1-gRLYhHExnyerrk1klksSL+ThuJA=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.2.tgz", + "integrity": "sha512-5N9lmQ7tmxfXf+hO3X6KRG6w7uYO/HL9fHalSySTdyn63C3WNvTM/1R8tn1u1larNcEbo3Slcy2bsVDQqvEpUg==", "dev": true, "requires": { - "character-entities": "1.2.1", - "character-entities-legacy": "1.1.1", - "character-reference-invalid": "1.1.1", - "is-alphanumerical": "1.0.1", - "is-decimal": "1.0.1", - "is-hexadecimal": "1.0.1" + "character-entities": "1.2.2", + "character-entities-legacy": "1.1.2", + "character-reference-invalid": "1.1.2", + "is-alphanumerical": "1.0.2", + "is-decimal": "1.0.2", + "is-hexadecimal": "1.0.2" } }, "parse-github-repo-url": { @@ -8984,22 +10168,55 @@ "is-dotfile": "1.0.3", "is-extglob": "1.0.0", "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } } }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.2" } }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" + }, "parseurl": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, "path-exists": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", @@ -9043,7 +10260,7 @@ "integrity": "sha1-fRNrYH3hm/2YugaIdJJih+ZTSTk=", "requires": { "escape-string-regexp": "1.0.5", - "inherits-ex": "1.2.0", + "inherits-ex": "1.2.3", "util-ex": "0.3.15" } }, @@ -9076,7 +10293,7 @@ "dev": true, "requires": { "es6-promise": "4.0.5", - "extract-zip": "1.6.6", + "extract-zip": "1.6.7", "fs-extra": "1.0.0", "hasha": "2.2.0", "kew": "0.7.0", @@ -9108,23 +10325,11 @@ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } + "es6-promise": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", + "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=", + "dev": true }, "form-data": { "version": "2.1.4", @@ -9134,7 +10339,7 @@ "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.17" + "mime-types": "2.1.18" } }, "har-schema": { @@ -9153,24 +10358,6 @@ "har-schema": "1.0.5" } }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, "http-signature": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", @@ -9179,7 +10366,7 @@ "requires": { "assert-plus": "0.2.0", "jsprim": "1.4.1", - "sshpk": "1.13.1" + "sshpk": "1.14.1" } }, "performance-now": { @@ -9207,7 +10394,7 @@ "dev": true, "requires": { "aws-sign2": "0.6.0", - "aws4": "1.6.0", + "aws4": "1.7.0", "caseless": "0.12.0", "combined-stream": "1.0.6", "extend": "3.0.1", @@ -9219,25 +10406,16 @@ "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", + "mime-types": "2.1.18", "oauth-sign": "0.8.2", "performance-now": "0.2.0", "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "safe-buffer": "5.1.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", "uuid": "3.2.1" } - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } } } }, @@ -9254,12 +10432,14 @@ "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, "requires": { "pinkie": "2.0.4" } @@ -9270,6 +10450,16 @@ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "pop-iterate": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz", + "integrity": "sha1-zqz9q0q/NT16DyqqLB/Hs/lBO6M=" + }, "poplib": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/poplib/-/poplib-0.1.7.tgz", @@ -9278,52 +10468,50 @@ "optimist": "0.6.1" } }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { "chalk": "1.1.3", - "js-base64": "2.4.3", + "js-base64": "2.4.5", "source-map": "0.5.7", "supports-color": "3.2.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } } }, "postcss-custom-properties": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-6.2.0.tgz", - "integrity": "sha512-eNR2h9T9ciKMoQEORrPjH33XeN/nuvVuxArOKmHtsFbGbNss631tgTrKou3/pmjAZbA4QQkhLIkPQkIk3WW+8w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-7.0.0.tgz", + "integrity": "sha512-dl/CNaM6z2RBa0vZZqsV6Hunj4HD6Spu7FcAkiVp5B2tgm6xReKKYzI7x7QNx3wTMBNj5v+ylfVcQGMW4xdkHw==", "dev": true, "requires": { "balanced-match": "1.0.0", - "postcss": "6.0.17" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9333,14 +10521,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9350,9 +10538,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9361,14 +10549,12 @@ } }, "postcss-html": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.12.0.tgz", - "integrity": "sha512-KxKUpj7AY7nlCbLcTOYxdfJnGE7QFAfU2n95ADj1Q90RM/pOLdz8k3n4avOyRFs7MDQHcRzJQWM1dehCwJxisQ==", + "version": "0.23.7", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.23.7.tgz", + "integrity": "sha1-RxRsFeIbnAB0bEARXc/4JwxDnzI=", "dev": true, "requires": { - "htmlparser2": "3.9.2", - "remark": "8.0.0", - "unist-util-find-all-after": "1.0.1" + "htmlparser2": "3.9.2" }, "dependencies": { "domutils": { @@ -9392,7 +10578,7 @@ "domutils": "1.7.0", "entities": "1.1.1", "inherits": "2.0.3", - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } } } @@ -9403,30 +10589,30 @@ "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==", "dev": true, "requires": { - "postcss": "6.0.17", + "postcss": "6.0.22", "postcss-value-parser": "3.3.0", "read-cache": "1.0.0", - "resolve": "1.5.0" + "resolve": "1.7.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9436,14 +10622,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9453,9 +10639,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9464,41 +10650,51 @@ } }, "postcss-less": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.3.tgz", - "integrity": "sha512-WS0wsQxRm+kmN8wEYAGZ3t4lnoNfoyx9EJZrhiPR1K0lMHR0UNWnz52Ya5QRXChHtY75Ef+kDc05FpnBujebgw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.5.tgz", + "integrity": "sha512-QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==", "dev": true, "requires": { "postcss": "5.2.18" } }, + "postcss-markdown": { + "version": "0.23.7", + "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.23.7.tgz", + "integrity": "sha1-fjo5h5QpXEJeUeTwq97m0TrT0TQ=", + "dev": true, + "requires": { + "remark": "9.0.0", + "unist-util-find-all-after": "1.0.2" + } + }, "postcss-media-minmax": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz", "integrity": "sha1-Z1JWA3pD70C8Twdgv9BtTcadSNI=", "dev": true, "requires": { - "postcss": "6.0.17" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9508,14 +10704,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9525,9 +10721,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9547,28 +10743,28 @@ "integrity": "sha512-1xxmLHSfubuUi6xZZ0zLsNoiKfk3BWQj6fkNMaBJC529wKKLcdeCxXt6KJmDLva+trNyQNwEaE/ZWMA7cve1fA==", "dev": true, "requires": { - "postcss": "6.0.17", + "postcss": "6.0.22", "postcss-selector-parser": "3.1.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9578,14 +10774,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9595,9 +10791,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9611,30 +10807,30 @@ "integrity": "sha512-rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==", "dev": true, "requires": { - "chalk": "2.3.1", - "lodash": "4.17.5", + "chalk": "2.4.1", + "lodash": "4.17.10", "log-symbols": "2.2.0", - "postcss": "6.0.17" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9644,14 +10840,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9661,9 +10857,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9683,27 +10879,27 @@ "integrity": "sha1-t1Pv9sfArqXoN1++TN6L+QY/8UI=", "dev": true, "requires": { - "postcss": "6.0.17" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9713,14 +10909,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9730,9 +10926,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9741,33 +10937,33 @@ } }, "postcss-sass": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.2.0.tgz", - "integrity": "sha512-cUmYzkP747fPCQE6d+CH2l1L4VSyIlAzZsok3HPjb5Gzsq3jE+VjpAdGlPsnQ310WKWI42sw+ar0UNN59/f3hg==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.2.tgz", + "integrity": "sha512-0HgxikiZ07VKYr98KT+k7/rAzyMgZlP+3+R8vUti56T2dPdhW0OhPGDQzddxY/N2iDtBVZQqCHRDA09j5I6EWg==", "dev": true, "requires": { "gonzales-pe": "4.2.3", - "postcss": "6.0.17" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9777,14 +10973,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9794,9 +10990,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9805,32 +11001,32 @@ } }, "postcss-scss": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-1.0.3.tgz", - "integrity": "sha512-N2ZPDOV5PGEGVwdiB7b1QppxKkmkHodNWkemja7PV+/mHqbUlA6ZcYRreden5Ag5nwBBX8/aRE7lfg1xjdszyg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-1.0.5.tgz", + "integrity": "sha512-gJB1tKYMkBy0MU+COt6WXA4ZiRctAKoWLa6qD7a6bbEbBMqrpa/BhfQdN80eYMV+JkKddZVEpZlOggnGShpvyg==", "dev": true, "requires": { - "postcss": "6.0.17" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9840,14 +11036,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9857,9 +11053,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9874,13 +11070,13 @@ "dev": true, "requires": { "balanced-match": "0.4.2", - "postcss": "6.0.17" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" @@ -9893,14 +11089,14 @@ "dev": true }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9910,14 +11106,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -9927,9 +11123,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -9954,28 +11150,28 @@ "integrity": "sha512-YCPTcJwGIInF1LpMD1lIYvMHTGUL4s97o/OraA6eKvoauhhk6vjwOWDDjm6uRKqug/kyDPMKEzmYZ6FtW6RDgw==", "dev": true, "requires": { - "lodash": "4.17.5", - "postcss": "6.0.17" + "lodash": "4.17.10", + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -9985,14 +11181,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -10002,9 +11198,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -10012,15 +11208,21 @@ } } }, + "postcss-syntax": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.9.1.tgz", + "integrity": "sha512-oC78MbSKmT/kPgqRl9sQrBIsbfr4TN+vH0STuUa7gnewVg9cs+wjJ00Lclu1GbKy38vJE7tBrhvjlEWvyxiZcg==", + "dev": true + }, "postcss-value-parser": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" }, "power-assert": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.4.4.tgz", - "integrity": "sha1-kpXqdDcZb1pgH95CDwQmMRhtdRc=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.5.0.tgz", + "integrity": "sha512-WaWSw+Ts283o6dzxW1BxIxoaHok7aSSGx4SaR6dW62Pk31ynv9DERDieuZpPYv5XaJ+H+zdcOaJQ+PvlasAOVw==", "requires": { "define-properties": "1.1.2", "empower": "1.2.3", @@ -10034,7 +11236,7 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz", "integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "power-assert-context-traversal": "1.1.1" } }, @@ -10045,8 +11247,8 @@ "requires": { "acorn": "4.0.13", "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.3", - "espurify": "1.7.0", + "core-js": "2.5.7", + "espurify": "1.8.0", "estraverse": "4.2.0" } }, @@ -10055,7 +11257,7 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz", "integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "estraverse": "4.2.0" } }, @@ -10064,7 +11266,7 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "power-assert-context-formatter": "1.1.1", "power-assert-context-reducer-ast": "1.1.2", "power-assert-renderer-assertion": "1.1.1", @@ -10092,8 +11294,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.1.1.tgz", "integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=", "requires": { - "core-js": "2.5.3", - "diff-match-patch": "1.0.0", + "core-js": "2.5.7", + "diff-match-patch": "1.0.1", "power-assert-renderer-base": "1.1.1", "stringifier": "1.3.0", "type-name": "2.0.2" @@ -10104,7 +11306,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.2.tgz", "integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "power-assert-renderer-base": "1.1.1", "power-assert-util-string-width": "1.1.1", "stringifier": "1.3.0" @@ -10126,6 +11328,35 @@ "eastasianwidth": "0.1.1" } }, + "prebuild-install": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-4.0.0.tgz", + "integrity": "sha512-7tayxeYboJX0RbVzdnKyGl2vhQRWr6qfClEXDhOkXjuaOKCw2q8aiuFhONRYVsG/czia7KhpykIlI2S2VaPunA==", + "requires": { + "detect-libc": "1.0.3", + "expand-template": "1.1.1", + "github-from-package": "0.0.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "node-abi": "2.4.1", + "noop-logger": "0.1.1", + "npmlog": "4.1.2", + "os-homedir": "1.0.2", + "pump": "2.0.1", + "rc": "1.2.8", + "simple-get": "2.8.1", + "tar-fs": "1.16.2", + "tunnel-agent": "0.6.0", + "which-pm-runs": "1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, "precond": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", @@ -10134,8 +11365,12 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "preserve": { "version": "0.2.0", @@ -10143,11 +11378,6 @@ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, - "prettier": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.10.2.tgz", - "integrity": "sha512-TcdNoQIWFoHblurqqU6d1ysopjq7UX0oRcT/hJ8qvBAELiYWn+Ugf0AXdnzISEJ7vuhNnQ98N8jR8Sh53x4IZg==" - }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -10166,9 +11396,9 @@ "dev": true }, "prom-client": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-10.2.2.tgz", - "integrity": "sha512-d3qCBK41qZx00/WVzWOX4tau9FinCztqaECZiGuMI5vGYD//5VSdKMOZPRQKjVh5RkI4Ex98DI0YPsoFnEo1QQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.0.0.tgz", + "integrity": "sha512-UM4uYDwmA7x9yTq+AZcL4lU/XF11RkbQWbIouFaVMLxdV4qBB5CEmEosQlR1lGvduBuS1IWonHFh1WBtFSoZ3A==", "requires": { "tdigest": "0.1.1" } @@ -10182,9 +11412,9 @@ } }, "protobufjs": { - "version": "6.8.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.4.tgz", - "integrity": "sha512-d+WZqUDXKM+oZhr8yprAtQW07q08p9/V35AJ2J1fds+r903S/aH9P8uO1gmTwozOKugt2XCjdrre3OxuPRGkGg==", + "version": "6.8.6", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", + "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { "@protobufjs/aspromise": "1.1.2", "@protobufjs/base64": "1.1.2", @@ -10197,26 +11427,29 @@ "@protobufjs/pool": "1.1.0", "@protobufjs/utf8": "1.1.0", "@types/long": "3.0.32", - "@types/node": "8.9.4", - "long": "3.2.0" + "@types/node": "8.10.18", + "long": "4.0.0" } }, "proxyquire": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", - "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.0.1.tgz", + "integrity": "sha512-fQr3VQrbdzHrdaDn3XuisVoJlJNDJizHAvUXw9IuXRR8BpV2x0N7LsCxrpJkeKfPbNjiNU/V5vc008cI0TmzzQ==", "dev": true, "requires": { "fill-keys": "1.0.2", "module-not-found-error": "1.0.1", - "resolve": "1.1.7" + "resolve": "1.5.0" }, "dependencies": { "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } } } }, @@ -10225,6 +11458,11 @@ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, "pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", @@ -10235,11 +11473,11 @@ } }, "pumpify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", - "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "requires": { - "duplexify": "3.5.3", + "duplexify": "3.6.0", "inherits": "2.0.3", "pump": "2.0.1" } @@ -10250,21 +11488,48 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/q/-/q-2.0.3.tgz", + "integrity": "sha1-dbjbAlWhpa+C9Yw/Oqoe/sfQ0TQ=", + "requires": { + "asap": "2.0.6", + "pop-iterate": "1.0.1", + "weak-map": "1.0.5" + } }, "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=" + }, + "queue-fifo": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/queue-fifo/-/queue-fifo-0.2.5.tgz", + "integrity": "sha512-GrHy3RDy0BOEVjelr+htts/QJyZAJr+7m4TisCA+RlUSsegQT6EGOf+NyxLDhSRflFI5vq3aADFOR/tNZCasxg==", + "requires": { + "dbly-linked-list": "0.2.0" + } + }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -10277,43 +11542,21 @@ "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true } } }, @@ -10345,11 +11588,11 @@ } }, "rc": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", - "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "requires": { - "deep-extend": "0.4.2", + "deep-extend": "0.6.0", "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" @@ -10390,6 +11633,28 @@ "path-type": "1.1.0" }, "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", @@ -10406,6 +11671,15 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } } } }, @@ -10417,19 +11691,40 @@ "requires": { "find-up": "1.1.2", "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } } }, "readable-stream": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", - "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" } }, @@ -10441,18 +11736,18 @@ "requires": { "graceful-fs": "4.1.11", "minimatch": "3.0.4", - "readable-stream": "2.3.4", + "readable-stream": "2.3.6", "set-immediate-shim": "1.0.1" } }, "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "3.2.0", + "strip-indent": "2.0.0" } }, "redis": { @@ -10461,14 +11756,14 @@ "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==", "requires": { "double-ended-queue": "2.1.0-0", - "redis-commands": "1.3.1", + "redis-commands": "1.3.5", "redis-parser": "2.6.0" } }, "redis-commands": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz", - "integrity": "sha1-gdgm9F+pyLIBH0zXoP5ZfSQdRCs=" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.5.tgz", + "integrity": "sha512-foGF8u6MXGFF++1TZVC6icGXuMYPftKXt1FBT2vrfU9ZATNtZJ8duRC5d1lEfE8hyVe3jhelHGB91oB7I6qLsA==" }, "redis-parser": { "version": "2.6.0", @@ -10476,9 +11771,9 @@ "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=" }, "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, "regenerator-runtime": { @@ -10506,13 +11801,28 @@ "is-equal-shallow": "0.1.3" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, "regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.3.3", + "regenerate": "1.4.0", "regjsgen": "0.2.0", "regjsparser": "0.1.5" } @@ -10541,78 +11851,75 @@ } }, "remark": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/remark/-/remark-8.0.0.tgz", - "integrity": "sha512-K0PTsaZvJlXTl9DN6qYlvjTkqSZBFELhROZMrblm2rB+085flN84nz4g/BscKRMqDvhzlK1oQ/xnWQumdeNZYw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz", + "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==", "dev": true, "requires": { - "remark-parse": "4.0.0", - "remark-stringify": "4.0.0", - "unified": "6.1.6" + "remark-parse": "5.0.0", + "remark-stringify": "5.0.0", + "unified": "6.2.0" } }, "remark-parse": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-4.0.0.tgz", - "integrity": "sha512-XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz", + "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==", "dev": true, "requires": { - "collapse-white-space": "1.0.3", - "is-alphabetical": "1.0.1", - "is-decimal": "1.0.1", - "is-whitespace-character": "1.0.1", - "is-word-character": "1.0.1", - "markdown-escapes": "1.0.1", - "parse-entities": "1.1.1", + "collapse-white-space": "1.0.4", + "is-alphabetical": "1.0.2", + "is-decimal": "1.0.2", + "is-whitespace-character": "1.0.2", + "is-word-character": "1.0.2", + "markdown-escapes": "1.0.2", + "parse-entities": "1.1.2", "repeat-string": "1.6.1", - "state-toggle": "1.0.0", + "state-toggle": "1.0.1", "trim": "0.0.1", - "trim-trailing-lines": "1.1.0", - "unherit": "1.1.0", - "unist-util-remove-position": "1.1.1", - "vfile-location": "2.0.2", + "trim-trailing-lines": "1.1.1", + "unherit": "1.1.1", + "unist-util-remove-position": "1.1.2", + "vfile-location": "2.0.3", "xtend": "4.0.1" } }, "remark-stringify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-4.0.0.tgz", - "integrity": "sha512-xLuyKTnuQer3ke9hkU38SUYLiTmS078QOnoFavztmbt/pAJtNSkNtFgR0U//uCcmG0qnyxao+PDuatQav46F1w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz", + "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==", "dev": true, "requires": { - "ccount": "1.0.2", + "ccount": "1.0.3", "is-alphanumeric": "1.0.0", - "is-decimal": "1.0.1", - "is-whitespace-character": "1.0.1", + "is-decimal": "1.0.2", + "is-whitespace-character": "1.0.2", "longest-streak": "2.0.2", - "markdown-escapes": "1.0.1", - "markdown-table": "1.1.1", + "markdown-escapes": "1.0.2", + "markdown-table": "1.1.2", "mdast-util-compact": "1.0.1", - "parse-entities": "1.1.1", + "parse-entities": "1.1.2", "repeat-string": "1.6.1", - "state-toggle": "1.0.0", - "stringify-entities": "1.3.1", - "unherit": "1.1.0", + "state-toggle": "1.0.1", + "stringify-entities": "1.3.2", + "unherit": "1.1.1", "xtend": "4.0.1" } }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "repeating": { "version": "2.0.1", @@ -10630,30 +11937,28 @@ "dev": true }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { "aws-sign2": "0.7.0", - "aws4": "1.6.0", + "aws4": "1.7.0", "caseless": "0.12.0", "combined-stream": "1.0.6", "extend": "3.0.1", "forever-agent": "0.6.1", "form-data": "2.3.2", "har-validator": "5.0.3", - "hawk": "6.0.2", "http-signature": "1.2.0", "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", + "mime-types": "2.1.18", "oauth-sign": "0.8.2", "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", "uuid": "3.2.1" } @@ -10667,6 +11972,24 @@ "throttleit": "1.0.0" } }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "requires": { + "lodash": "4.17.10" + } + }, + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "1.1.1", + "tough-cookie": "2.3.4" + } + }, "requestretry": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.5.0.tgz", @@ -10674,15 +11997,9 @@ "dev": true, "requires": { "fg-lodash": "0.0.2", - "request": "2.83.0" + "request": "2.87.0" } }, - "require-from-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.1.tgz", - "integrity": "sha1-xUUjPp19pmFunVmt+zn8n1iGdv8=", - "dev": true - }, "require-uncached": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", @@ -10693,10 +12010,15 @@ "resolve-from": "1.0.1" } }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { "path-parse": "1.0.5" @@ -10711,8 +12033,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "response-time": { "version": "2.3.2", @@ -10730,6 +12051,14 @@ } } }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "1.0.1" + } + }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -10740,24 +12069,34 @@ "signal-exit": "3.0.2" } }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, "retry": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.8.0.tgz", - "integrity": "sha1-I2dijcDtskex6rZJ3FOshiisLV8=" + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" + }, + "retry-axios": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", + "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" }, "retry-request": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.1.tgz", "integrity": "sha512-PjAmtWIxjNj4Co/6FRtBl8afRP3CxrrIAnUzb1dzydfROd+6xt7xAebFeskgQgkfFf8NmzrXIoaB3HxmswXyxw==", "requires": { - "request": "2.83.0", + "request": "2.87.0", "through2": "2.0.3" } }, "rgb2hex": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz", - "integrity": "sha1-zNVfhgrgxcTqN1BLlY5ELY0SMls=", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.1.tgz", + "integrity": "sha512-icFtYF9bLbxRZ6zYlp28622lBM7Ae0ylPT+ob0SBZdd2p1FN5MoOClpwPcjT9TgXDLS8jyXlw3yVtHQZU3/vvg==", "dev": true }, "right-align": { @@ -10771,11 +12110,25 @@ } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", "requires": { - "glob": "7.1.2" + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } } }, "rndm": { @@ -10783,6 +12136,11 @@ "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" }, + "rootpath": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/rootpath/-/rootpath-0.1.2.tgz", + "integrity": "sha1-Wzeah9ypBum5HWkKWZQ5vvJn6ms=" + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -10808,23 +12166,36 @@ } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-json-stringify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz", - "integrity": "sha1-gaCY9Efku8P/MxKiQ1IbwGDvWRE=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", "optional": true }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "0.1.15" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "saucelabs": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.4.0.tgz", - "integrity": "sha1-uTSpr52ih0s/QKrh/N5QpEZvXzg=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", "dev": true, "requires": { - "https-proxy-agent": "1.0.0" + "https-proxy-agent": "2.2.1" } }, "sax": { @@ -10843,134 +12214,42 @@ "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" }, "selenium-standalone": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/selenium-standalone/-/selenium-standalone-6.13.0.tgz", - "integrity": "sha512-JV1+AySJ9RccsAIZlnDb8QUx/SDeVGK8j/zCJcNlbz/LCRiketU3Su0YE5Uc1raaBGpT/venof0+9Ry0oGuvYw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/selenium-standalone/-/selenium-standalone-6.15.0.tgz", + "integrity": "sha512-SUEbbxo/IK2RsuPQ1QFgdyKXvxDYJUen6nR40zWL9P0FrqeuAXHNCWdtqnwbgGeoCxCVbPVzUsXfSKtjp2+j0g==", "dev": true, "requires": { - "async": "2.6.0", - "commander": "2.14.1", - "cross-spawn": "6.0.5", - "debug": "3.1.0", - "lodash": "4.17.5", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "progress": "2.0.0", - "request": "2.79.0", - "tar-stream": "1.5.2", - "urijs": "1.19.1", - "which": "1.2.14", - "yauzl": "2.9.1" - }, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.2.14" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.17" - } - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "commander": "2.14.1", - "is-my-json-valid": "2.17.2", - "pinkie-promise": "2.0.1" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "async": "2.6.1", + "commander": "2.15.1", + "cross-spawn": "6.0.5", + "debug": "3.1.0", + "lodash": "4.17.10", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "progress": "2.0.0", + "request": "2.87.0", + "tar-stream": "1.6.1", + "urijs": "1.19.1", + "which": "1.2.14", + "yauzl": "2.9.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "ms": "2.0.0" } }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "pend": "1.2.0" } }, "minimist": { @@ -10979,81 +12258,14 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true - }, - "qs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", - "dev": true - }, - "request": { - "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.11.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.4.3", - "uuid": "3.2.1" - } - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "tar-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz", - "integrity": "sha1-+8bG6DwaGdTLSMfZYXH8JI7/x78=", - "dev": true, - "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.1", - "readable-stream": "2.3.4", - "xtend": "4.0.1" - } - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true - }, "yauzl": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", - "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha1-T7G8euH8L1cDe1SvasyP4QMcW3c=", "dev": true, "requires": { "buffer-crc32": "0.2.13", - "fd-slicer": "1.0.1" + "fd-slicer": "1.1.0" } } } @@ -11140,7 +12352,7 @@ "debug": "2.2.0", "escape-html": "1.0.3", "http-errors": "1.3.1", - "mime-types": "2.1.17", + "mime-types": "2.1.18", "parseurl": "1.3.2" }, "dependencies": { @@ -11180,40 +12392,44 @@ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", "dev": true }, - "sharp": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.19.0.tgz", - "integrity": "sha1-YXKekPKR5iVAEiqAZcpfxwwaix8=", + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "color": "2.0.1", - "detect-libc": "1.0.3", - "nan": "2.8.0", - "semver": "5.5.0", - "simple-get": "2.7.0", - "tar": "4.3.3", - "tunnel-agent": "0.6.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { - "tar": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.3.3.tgz", - "integrity": "sha512-v9wjbOXloOIeXifMQGkKhPH3H7tjd+8BubFKOTU+64JpFZ3q2zBfsGlnc7KmyRgl8UxVa1SCRiF3F9tqSOgcaQ==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.1", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "yallist": "3.0.2" + "is-extendable": "0.1.1" } - }, - "yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } }, + "sharp": { + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.20.3.tgz", + "integrity": "sha512-9P6WclSW4GZg3I2ej3p/Xphsa2kl4b5pZaKMZXaFA5CRN91zzeJoZxLmXFUsjOY7ppIaMLXDOMs0zR2LYzjE/w==", + "requires": { + "color": "3.0.0", + "detect-libc": "1.0.3", + "fs-copy-file-sync": "1.1.1", + "nan": "2.10.0", + "npmlog": "4.1.2", + "prebuild-install": "4.0.0", + "semver": "5.5.0", + "simple-get": "2.8.1", + "tar": "4.4.4", + "tunnel-agent": "0.6.0" + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -11240,9 +12456,9 @@ "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" }, "simple-get": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.7.0.tgz", - "integrity": "sha512-RkE9rGPHcxYZ/baYmgJtOSM63vH0Vyq+ma5TijBcLla41SWlh8t6XYIGMR/oeZcmr+/G8k+zrClkkVrtnQ0esg==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", "requires": { "decompress-response": "3.3.0", "once": "1.4.0", @@ -11250,9 +12466,9 @@ } }, "simple-git": { - "version": "1.91.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.91.0.tgz", - "integrity": "sha1-hC22wroIMo6TwXORqJW4UFGM0To=", + "version": "1.95.1", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.95.1.tgz", + "integrity": "sha512-ctUTw0xwFh8VpUkubCwK0+yNZZPq4OTnBFYicuYUrA05dExPXGS4nW3mri1jK3VmtWO85g6D1nRm5o187Xen9Q==", "dev": true, "requires": { "debug": "3.1.0" @@ -11277,35 +12493,6 @@ "is-arrayish": "0.3.1" } }, - "slack-client": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/slack-client/-/slack-client-2.0.6.tgz", - "integrity": "sha1-eOuJ9/UnYg4UXM17HY0WvWcLs4M=", - "requires": { - "async": "1.5.2", - "eventemitter3": "1.2.0", - "https-proxy-agent": "1.0.0", - "inherits": "2.0.3", - "lodash": "3.10.1", - "request": "2.83.0", - "retry": "0.8.0", - "url-join": "0.0.1", - "winston": "2.4.0", - "ws": "1.1.5" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - } - } - }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -11333,31 +12520,134 @@ "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=" }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "2.16.3" } }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "requires": { - "amdefine": "1.0.1" + "is-plain-obj": "1.1.0" } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, "source-map-resolve": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz", - "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=", - "dev": true, + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "1.1.3", + "atob": "2.1.1", + "decode-uri-component": "0.2.0", "resolve-url": "0.2.1", - "source-map-url": "0.3.0", + "source-map-url": "0.4.0", "urix": "0.1.0" } }, @@ -11368,41 +12658,43 @@ "dev": true, "requires": { "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } } }, "source-map-url": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", - "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=", - "dev": true + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "speakeasy": { @@ -11433,8 +12725,16 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "requires": { - "async": "2.6.0", - "is-stream-ended": "0.1.3" + "async": "2.6.1", + "is-stream-ended": "0.1.4" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "3.0.2" } }, "split2": { @@ -11452,9 +12752,9 @@ "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=" }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "requires": { "asn1": "0.2.3", "assert-plus": "1.0.0", @@ -11530,15 +12830,39 @@ } }, "state-toggle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz", - "integrity": "sha1-0g+aYWu08MO5i5GSLSW2QKorxCU=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz", + "integrity": "sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==", "dev": true }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" }, "stream-counter": { "version": "0.2.0", @@ -11572,9 +12896,9 @@ } }, "stream-events": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.2.tgz", - "integrity": "sha1-q/OfZsCJCk63lbyNXoWbJhW1kLI=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", + "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { "stubs": "3.0.0" } @@ -11589,6 +12913,11 @@ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -11604,17 +12933,12 @@ "strip-ansi": "3.0.1" } }, - "string.prototype.startswith": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/string.prototype.startswith/-/string.prototype.startswith-0.2.0.tgz", - "integrity": "sha1-2miYLjU6TprEpDtFCiBF0cRFrns=" - }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "stringifier": { @@ -11622,27 +12946,28 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "traverse": "0.6.6", "type-name": "2.0.2" } }, "stringify-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.1.tgz", - "integrity": "sha1-sVDsLXKsTBtfMktR+2soyc3/BYw=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", + "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", "dev": true, "requires": { - "character-entities-html4": "1.1.1", - "character-entities-legacy": "1.1.1", - "is-alphanumerical": "1.0.1", - "is-hexadecimal": "1.0.1" + "character-entities-html4": "1.1.2", + "character-entities-legacy": "1.1.2", + "is-alphanumerical": "1.0.2", + "is-hexadecimal": "1.0.2" } }, "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true }, "strip-ansi": { "version": "3.0.1", @@ -11653,22 +12978,16 @@ } }, "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "4.0.1" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true }, "strip-json-comments": { "version": "2.0.1", @@ -11687,44 +13006,48 @@ "dev": true }, "stylelint": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-8.4.0.tgz", - "integrity": "sha512-56hPH5mTFnk8LzlEuTWq0epa34fHuS54UFYQidBOFt563RJBNi1nz1F2HK2MoT1X1waq47milvRsRahFCCJs/Q==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.2.1.tgz", + "integrity": "sha512-zR0rSMITL8VjTVoIEGsUh5m0lMluHaIbDLAJTrFYVLElYhP6d5HcJc5/cexA1mrKzQkKu7gvmbDclNLgAeiabw==", "dev": true, "requires": { - "autoprefixer": "7.2.6", + "autoprefixer": "8.6.0", "balanced-match": "1.0.0", - "chalk": "2.3.1", - "cosmiconfig": "3.1.0", + "chalk": "2.4.1", + "cosmiconfig": "5.0.5", "debug": "3.1.0", "execall": "1.0.0", "file-entry-cache": "2.0.0", - "get-stdin": "5.0.1", - "globby": "7.1.1", + "get-stdin": "6.0.0", + "globby": "8.0.1", "globjoin": "0.1.4", "html-tags": "2.0.0", - "ignore": "3.3.7", + "ignore": "3.3.8", + "import-lazy": "3.1.0", "imurmurhash": "0.1.4", - "known-css-properties": "0.5.0", - "lodash": "4.17.5", + "known-css-properties": "0.6.1", + "lodash": "4.17.10", "log-symbols": "2.2.0", - "mathml-tag-names": "2.0.1", - "meow": "4.0.0", + "mathml-tag-names": "2.1.0", + "meow": "5.0.0", "micromatch": "2.3.11", "normalize-selector": "0.2.0", "pify": "3.0.0", - "postcss": "6.0.17", - "postcss-html": "0.12.0", - "postcss-less": "1.1.3", + "postcss": "6.0.22", + "postcss-html": "0.23.7", + "postcss-less": "1.1.5", + "postcss-markdown": "0.23.7", "postcss-media-query-parser": "0.2.3", "postcss-reporter": "5.0.0", "postcss-resolve-nested-selector": "0.1.1", "postcss-safe-parser": "3.0.1", - "postcss-sass": "0.2.0", - "postcss-scss": "1.0.3", + "postcss-sass": "0.3.2", + "postcss-scss": "1.0.5", "postcss-selector-parser": "3.1.1", + "postcss-syntax": "0.9.1", "postcss-value-parser": "3.3.0", "resolve-from": "4.0.0", + "signal-exit": "3.0.2", "specificity": "0.3.2", "string-width": "2.1.1", "style-search": "0.1.0", @@ -11740,64 +13063,49 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, - "autoprefixer": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", - "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", - "dev": true, - "requires": { - "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000808", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.17", - "postcss-value-parser": "3.3.0" - } - }, - "browserslist": { - "version": "2.11.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", - "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "caniuse-lite": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "arr-flatten": "1.1.0" } }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "camelcase": "4.1.0", - "map-obj": "2.0.0", - "quick-lru": "1.1.0" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "debug": { @@ -11809,19 +13117,28 @@ "ms": "2.0.0" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "locate-path": "2.0.0" + "is-extglob": "1.0.0" } }, "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true }, "has-flag": { @@ -11830,10 +13147,10 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-fullwidth-code-point": { @@ -11842,66 +13159,71 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "is-extglob": "1.0.0" } }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } }, "meow": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.0.tgz", - "integrity": "sha512-Me/kel335m6vMKmEmA6c87Z6DUFW3JqkINRnxkbC+A/PUm0D5Fl2dEBQrPKnqCL9Te/CIa1MUt/0InMJhuC/sw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", "dev": true, "requires": { "camelcase-keys": "4.2.0", "decamelize-keys": "1.1.0", "loud-rejection": "1.6.0", - "minimist": "1.2.0", "minimist-options": "3.0.2", "normalize-package-data": "2.4.0", "read-pkg-up": "3.0.0", "redent": "2.0.0", - "trim-newlines": "2.0.0" + "trim-newlines": "2.0.0", + "yargs-parser": "10.0.0" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.1" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "read-pkg": { @@ -11925,16 +13247,6 @@ "read-pkg": "3.0.0" } }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "requires": { - "indent-string": "3.2.0", - "strip-indent": "2.0.0" - } - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -11966,32 +13278,14 @@ "ansi-regex": "3.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" } - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true } } }, @@ -12001,29 +13295,29 @@ "integrity": "sha512-8mp1P2wnI9XShYXVXDsxVigE2eXnc0C2O4ktbwUvTBwjCP4xZskIbUVxp1evSG3OK4R7hXVNl/2BnJCZkrcc/w==", "dev": true, "requires": { - "lodash": "4.17.5", - "postcss": "6.0.19", + "lodash": "4.17.10", + "postcss": "6.0.22", "postcss-sorting": "3.1.0" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -12033,14 +13327,14 @@ "dev": true }, "postcss": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", - "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -12050,9 +13344,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -12066,27 +13360,27 @@ "integrity": "sha512-3qgLZytikQQEVn1/FrhY7B68gPUUGY3R1Q1vTiD5xT+Ti1DP/8iZuwFet9ONs5+bmL8pZoDQ6JrQHVgrNlK6mA==", "dev": true, "requires": { - "postcss": "6.0.17" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -12096,14 +13390,14 @@ "dev": true }, "postcss": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", - "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "source-map": { @@ -12113,9 +13407,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -12130,15 +13424,15 @@ "dev": true, "requires": { "component-emitter": "1.2.1", - "cookiejar": "2.1.1", + "cookiejar": "2.1.2", "debug": "3.1.0", "extend": "3.0.1", "form-data": "2.3.2", - "formidable": "1.1.1", + "formidable": "1.2.1", "methods": "1.1.2", "mime": "1.6.0", - "qs": "6.5.1", - "readable-stream": "2.3.4" + "qs": "6.5.2", + "readable-stream": "2.3.6" }, "dependencies": { "debug": { @@ -12149,13 +13443,19 @@ "requires": { "ms": "2.0.0" } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true } } }, "supertest": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-3.0.0.tgz", - "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-3.1.0.tgz", + "integrity": "sha512-O44AMnmJqx294uJQjfUmEyYOg7d9mylNFsMw/Wkz4evKd1njyPrtCN+U6ZIC7sKtfEVQhfTqFFijlXx8KP/Czw==", "dev": true, "requires": { "methods": "1.1.2", @@ -12176,6 +13476,11 @@ "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", "dev": true }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=" + }, "table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", @@ -12184,8 +13489,8 @@ "requires": { "ajv": "5.5.2", "ajv-keywords": "2.1.1", - "chalk": "2.3.1", - "lodash": "4.17.5", + "chalk": "2.4.1", + "lodash": "4.17.10", "slice-ansi": "1.0.0", "string-width": "2.1.1" }, @@ -12197,23 +13502,23 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.4.0" } }, "has-flag": { @@ -12248,9 +13553,9 @@ } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -12259,38 +13564,59 @@ } }, "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.4.tgz", + "integrity": "sha512-mq9ixIYfNF9SK0IS/h2HKMu8Q2iaCuhDDsZhdEag/FHv8fOaYld4vN7ouMgcSSt5WKZzPs8atclTcJm36OTh4w==", + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" + } } }, - "tar-pack": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz", - "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==", + "tar-fs": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.2.tgz", + "integrity": "sha512-LdknWjPEiZC1nOBwhv0JBzfJBGPJar08dZg2rwZe0ZTLQoRGEzgrl7vF3qUEkCHpI/wN9e7RyCuDhMsJUCLPPQ==", "requires": { - "debug": "2.6.9", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.3.4", - "rimraf": "2.6.2", - "tar": "2.2.1", - "uid-number": "0.0.6" + "chownr": "1.0.1", + "mkdirp": "0.5.1", + "pump": "1.0.3", + "tar-stream": "1.6.1" + }, + "dependencies": { + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + } } }, "tar-stream": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", - "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", + "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", "requires": { - "bl": "1.2.1", + "bl": "1.2.2", + "buffer-alloc": "1.2.0", "end-of-stream": "1.4.1", - "readable-stream": "2.3.4", + "fs-constants": "1.0.0", + "readable-stream": "2.3.6", + "to-buffer": "1.1.1", "xtend": "4.0.1" } }, @@ -12349,10 +13675,15 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.4", + "readable-stream": "2.3.6", "xtend": "4.0.1" } }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, "tiny-emitter": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", @@ -12372,12 +13703,55 @@ "os-tmpdir": "1.0.2" } }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + } + }, "toastr": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", @@ -12387,13 +13761,28 @@ } }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { "punycode": "1.4.1" } }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, "traverse": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", @@ -12406,9 +13795,9 @@ "dev": true }, "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", "dev": true }, "trim-off-newlines": { @@ -12424,246 +13813,93 @@ "dev": true }, "trim-trailing-lines": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz", - "integrity": "sha1-eu+7eAjfnWafbaLkOMrIxGradoQ=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz", + "integrity": "sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==", "dev": true }, "trough": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz", - "integrity": "sha1-qf2LA5Swro//guBjOgo2zK1bX4Y=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.2.tgz", + "integrity": "sha512-FHkoUZvG6Egrv9XZAyYGKEyb1JMsFphgPjoczkZC2y6W93U1jswcVURB8MUvtsahEPEVACyxD47JAL63vF4JsQ==", "dev": true }, "tsscmp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", - "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "twilio": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/twilio/-/twilio-2.11.1.tgz", - "integrity": "sha1-RRCZRnMTxWs3Z5lN8tGQYvEO+MQ=", - "requires": { - "deprecate": "0.1.0", - "jsonwebtoken": "5.4.1", - "q": "0.9.7", - "request": "2.74.0", - "scmp": "0.0.3", - "string.prototype.startswith": "0.2.0", - "underscore": "1.8.3" - }, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" - }, - "bl": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", - "requires": { - "readable-stream": "2.0.6" - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "requires": { - "hoek": "2.16.3" - } - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "requires": { - "boom": "2.10.1" - } - }, - "deprecate": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-0.1.0.tgz", - "integrity": "sha1-xJBYYS3GyOUUXq/kg5uMLH0EHBQ=" - }, - "form-data": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", - "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=", - "requires": { - "async": "2.6.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.17" - } - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "requires": { - "chalk": "1.1.3", - "commander": "2.14.1", - "is-my-json-valid": "2.17.2", - "pinkie-promise": "2.0.1" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "jsonwebtoken": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-5.4.1.tgz", - "integrity": "sha1-IFXGORlf/lYxT6alHfAkaBhqlpU=", - "requires": { - "jws": "3.1.4", - "ms": "0.7.3" - } - }, - "ms": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz", - "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "q": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", - "integrity": "sha1-TeLmyzspCIyeTLwDv51C+5bOL3U=" - }, - "qs": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", - "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=" - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.74.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz", - "integrity": "sha1-dpPKdou7DqXIzgjAhKRe+gW4kqs=", - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "bl": "1.1.2", - "caseless": "0.11.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "1.0.1", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "node-uuid": "1.4.8", - "oauth-sign": "0.8.2", - "qs": "6.2.3", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.4.3" - } - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "requires": { - "hoek": "2.16.3" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "turndown": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-5.0.1.tgz", + "integrity": "sha512-OuNongGmx5vo1TWuSFmVa4Rkm/HxFNPU3dyP9OpOMF2RFTtl0RU+QLIIROcDvXWauFJaLpZaZeVMAsL8vrt3Tw==", + "requires": { + "jsdom": "11.12.0" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "twilio": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/twilio/-/twilio-3.17.1.tgz", + "integrity": "sha512-mhnZ8hfRsQokw7gzcUMkjmuwLbZ2ilWIJaF+HK82DNFgyCryAhb9DHozuQD8Utmd/QMqKKUGI0W5DFsBjzI0Sg==", + "requires": { + "deprecate": "1.0.0", + "jsonwebtoken": "8.2.2", + "lodash": "4.17.10", + "moment": "2.19.3", + "q": "2.0.3", + "request": "2.87.0", + "rootpath": "0.1.2", + "scmp": "0.0.3", + "xmlbuilder": "9.0.1" + }, + "dependencies": { + "moment": { + "version": "2.19.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.3.tgz", + "integrity": "sha1-vbmdJw1tf9p4zA+6zoVeJ/59pp8=" }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" + "xmlbuilder": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.1.tgz", + "integrity": "sha1-kc1wiXdVNj66V8Et3uq0o0GmH2U=" } } }, "twit": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/twit/-/twit-2.2.9.tgz", - "integrity": "sha1-ZxBXT4FkHaoDeWobS457eNPXVnY=", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/twit/-/twit-2.2.10.tgz", + "integrity": "sha512-0jpnxvi4ul05AJ8DfoZ9dDnexXjT3ho3AWkFGoJ3V7mcgNXcUiPiTf828qZY6S6a/5C+Dr082MvHQHZTnybpkg==", "requires": { "bluebird": "3.5.1", "mime": "1.6.0", - "request": "2.83.0" + "request": "2.87.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + } } }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, "requires": { "prelude-ls": "1.1.2" } @@ -12675,12 +13911,12 @@ "dev": true }, "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "2.1.18" } }, "type-name": { @@ -12693,10 +13929,15 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" + }, "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + "version": "0.7.18", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", + "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" }, "uc.micro": { "version": "1.0.5", @@ -12734,13 +13975,6 @@ "wordwrap": "0.0.2" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "optional": true - }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", @@ -12777,11 +14011,6 @@ "dev": true, "optional": true }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=" - }, "uid-safe": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", @@ -12790,15 +14019,10 @@ "random-bytes": "1.0.0" } }, - "ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" - }, "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, "underscore.string": { "version": "3.3.4", @@ -12810,9 +14034,9 @@ } }, "unherit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz", - "integrity": "sha1-a5qu379z3xdWrZ4xbdmBiFhAzX0=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz", + "integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==", "dev": true, "requires": { "inherits": "2.0.3", @@ -12820,20 +14044,51 @@ } }, "unified": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz", - "integrity": "sha512-pW2f82bCIo2ifuIGYcV12fL96kMMYgw7JKVEgh7ODlrM9rj6vXSY3BV+H6lCcv1ksxynFf582hwWLnA1qRFy4w==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", + "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", "dev": true, "requires": { - "bail": "1.0.2", + "bail": "1.0.3", "extend": "3.0.1", "is-plain-obj": "1.1.0", - "trough": "1.0.1", + "trough": "1.0.2", "vfile": "2.3.0", - "x-is-function": "1.0.4", "x-is-string": "0.1.0" } }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", @@ -12849,51 +14104,51 @@ } }, "unist-util-find-all-after": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.1.tgz", - "integrity": "sha1-TlUSq/734GFnga7Pex7XUcAK+Qg=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz", + "integrity": "sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w==", "dev": true, "requires": { - "unist-util-is": "2.1.1" + "unist-util-is": "2.1.2" } }, "unist-util-is": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz", - "integrity": "sha1-DDEmKeP5YMZukx6BLT2A53AQlHs=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz", + "integrity": "sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==", "dev": true }, "unist-util-modify-children": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz", - "integrity": "sha1-ZtfmpEnm9nIguXarPLi166w55R0=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.2.tgz", + "integrity": "sha512-GRi04yhng1WqBf5RBzPkOtWAadcZS2gvuOgNn/cyJBYNxtTuyYqTKN0eg4rC1YJwGnzrqfRB3dSKm8cNCjNirg==", "dev": true, "requires": { - "array-iterate": "1.1.1" + "array-iterate": "1.1.2" } }, "unist-util-remove-position": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz", - "integrity": "sha1-WoXBVV/BugwQG4ZwfRXlD6TIcbs=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz", + "integrity": "sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==", "dev": true, "requires": { - "unist-util-visit": "1.3.0" + "unist-util-visit": "1.3.1" } }, "unist-util-stringify-position": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz", - "integrity": "sha1-PMvcU2ee7W7PN3fdf14yKcG2qjw=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", + "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==", "dev": true }, "unist-util-visit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz", - "integrity": "sha512-9ntYcxPFtl44gnwXrQKZ5bMqXMY0ZHzUpqMFiU4zcc8mmf/jzYm8GhYgezuUlX4cJIM1zIDYaO6fG/fI+L6iiQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.1.tgz", + "integrity": "sha512-0fdB9EQJU0tho5tK0VzOJzAQpPv2LyLZ030b10GxuzAWEfvd54mpY7BMjQ1L69k2YNvL+SvxRzH0yUIehOO8aA==", "dev": true, "requires": { - "unist-util-is": "2.1.1" + "unist-util-is": "2.1.2" } }, "universal-deep-strict-equal": { @@ -12911,6 +14166,42 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -12926,8 +14217,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url": { "version": "0.10.3", @@ -12946,9 +14236,26 @@ } }, "url-join": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz", - "integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=" + }, + "url-parse": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", + "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", + "requires": { + "querystringify": "1.0.0", + "requires-port": "1.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "2.0.0" + } }, "url-template": { "version": "2.0.8", @@ -12956,6 +14263,19 @@ "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=", "dev": true }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "requires": { + "kind-of": "6.0.2" + } + }, "utf7": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/utf7/-/utf7-1.0.2.tgz", @@ -12981,23 +14301,28 @@ "resolved": "https://registry.npmjs.org/util-ex/-/util-ex-0.3.15.tgz", "integrity": "sha1-+SYc2hPEMn0HQMvme+Eife2LAFg=", "requires": { - "inherits-ex": "1.2.0", + "inherits-ex": "1.2.3", "xtend": "4.0.1" } }, + "utils-merge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" + }, "uuid": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "vary": { @@ -13046,23 +14371,23 @@ "requires": { "is-buffer": "1.1.6", "replace-ext": "1.0.0", - "unist-util-stringify-position": "1.1.1", - "vfile-message": "1.0.0" + "unist-util-stringify-position": "1.1.2", + "vfile-message": "1.0.1" } }, "vfile-location": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz", - "integrity": "sha1-02dcWch3SY5JK0dW/2Xkrxp1IlU=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.3.tgz", + "integrity": "sha512-zM5/l4lfw1CBoPx3Jimxoc5RNDAHHpk6AM6LM0pTIkm5SUSsx8ZekZ0PVdf0WEZ7kjlhSt7ZlqbRL6Cd6dBs6A==", "dev": true }, "vfile-message": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz", - "integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.1.tgz", + "integrity": "sha512-vSGCkhNvJzO6VcWC6AlJW4NtYOVtS+RgCaqFIYUjoGIlHnFL+i0LbtYvonDWOMcB97uTPT4PRsyYY7REWC9vug==", "dev": true, "requires": { - "unist-util-stringify-position": "1.1.1" + "unist-util-stringify-position": "1.1.2" } }, "vhost": { @@ -13070,6 +14395,14 @@ "resolved": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz", "integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU=" }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "requires": { + "browser-process-hrtime": "0.1.2" + } + }, "wdio-dot-reporter": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz", @@ -13093,7 +14426,7 @@ "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", "dev": true, "requires": { - "core-js": "2.5.3", + "core-js": "2.5.7", "regenerator-runtime": "0.10.5" } }, @@ -13105,6 +14438,30 @@ } } }, + "weak-map": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz", + "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" + }, + "webdav": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/webdav/-/webdav-1.5.2.tgz", + "integrity": "sha512-x81G3ahrTwM8FIkMkT93YbEQM6/BoN7O7z6WkHHVX1ZkN0OA/wzSrUtpB2LMVk77hsuw1u1hRqkKee/rG2hErQ==", + "requires": { + "merge": "1.2.0", + "node-fetch": "2.0.0", + "url-join": "4.0.0", + "url-parse": "1.2.0", + "xml2js": "0.4.19" + }, + "dependencies": { + "node-fetch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.0.0.tgz", + "integrity": "sha1-mCu6Q+zU8pIqKcwYamu7C7c/y6Y=" + } + } + }, "webdriverio": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.12.0.tgz", @@ -13116,8 +14473,8 @@ "css-parse": "2.0.0", "css-value": "0.0.1", "deepmerge": "2.0.1", - "ejs": "2.5.8", - "gaze": "1.1.2", + "ejs": "2.5.9", + "gaze": "1.1.3", "glob": "7.1.2", "inquirer": "3.3.0", "json-stringify-safe": "5.0.1", @@ -13126,26 +14483,118 @@ "optimist": "0.6.1", "q": "1.5.1", "request": "2.83.0", - "rgb2hex": "0.1.0", - "safe-buffer": "5.1.1", + "rgb2hex": "0.1.1", + "safe-buffer": "5.1.2", "supports-color": "5.0.1", "url": "0.11.0", "wdio-dot-reporter": "0.0.9", "wgxpath": "1.0.0" }, "dependencies": { + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", + "dev": true + }, "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, "supports-color": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", @@ -13167,13 +14616,18 @@ } } }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, "websocket-driver": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.11", + "http-parser-js": "0.4.13", "websocket-extensions": "0.1.3" } }, @@ -13189,6 +14643,29 @@ "integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA=", "dev": true }, + "whatwg-encoding": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.4.tgz", + "integrity": "sha512-vM9KWN6MP2mIHZ86ytcyIv7e8Cj3KTfO2nd2c8PFDqcI4bxFmQp83ibq4wadq7rL9l9sZV6o9B0LTt8ygGAAXg==", + "requires": { + "iconv-lite": "0.4.23" + } + }, + "whatwg-mimetype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz", + "integrity": "sha512-FKxhYLytBQiUKjkYteN71fAUA3g6KpNXoho1isLiLSB3N1G4F35Q5vUxWfKFhBwi5IWF27VE6WxhrnnC+m0Mew==" + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "requires": { + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" + } + }, "which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", @@ -13198,10 +14675,15 @@ "isexe": "2.0.0" } }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" + }, "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { "string-width": "1.0.2" } @@ -13211,26 +14693,6 @@ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" }, - "winston": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.0.tgz", - "integrity": "sha1-gIBQuT1SZh7Z+2wms/DIJnCLCu4=", - "requires": { - "async": "1.0.0", - "colors": "1.0.3", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "stack-trace": "0.0.10" - }, - "dependencies": { - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" - } - } - }, "wolfy87-eventemitter": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.4.tgz", @@ -13275,20 +14737,14 @@ } }, "ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", "requires": { - "options": "0.0.6", - "ultron": "1.0.2" + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2" } }, - "x-is-function": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz", - "integrity": "sha1-XSlNw9Joy90GJYDgxd93o5HR+h4=", - "dev": true - }, "x-is-string": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", @@ -13316,6 +14772,11 @@ } } }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", @@ -13333,19 +14794,9 @@ } }, "xmlbuilder": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.5.tgz", - "integrity": "sha1-b/etYPty0idk8AehZLd/K/FABSY=", - "requires": { - "lodash": "3.10.1" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - } - } + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.0.0.tgz", + "integrity": "sha512-7RWHlmF1yU/E++BZkRQTEv8ZFAhZ+YHINUAxiZ5LQTKRQq//igpiY8rh7dJqPzgb/IzeC5jH9P7OaCERfM9DwA==" }, "xmldom": { "version": "0.1.27", @@ -13404,15 +14855,6 @@ "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", "dev": true }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, "caseless": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz", @@ -13428,15 +14870,6 @@ "delayed-stream": "0.0.5" } }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, "delayed-stream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", @@ -13472,12 +14905,6 @@ "sntp": "1.0.9" } }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, "http-signature": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", @@ -13510,6 +14937,12 @@ "mime-db": "1.12.0" } }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true + }, "oauth-sign": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz", @@ -13554,20 +14987,11 @@ "node-uuid": "1.4.8", "oauth-sign": "0.6.0", "qs": "2.3.3", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", "tunnel-agent": "0.4.3" } }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -13589,7 +15013,7 @@ "dev": true, "requires": { "fibers": "1.0.15", - "underscore": "1.8.3" + "underscore": "1.9.1" } }, "xolvio-jasmine-expect": { @@ -13609,7 +15033,7 @@ "requires": { "fibers": "1.0.15", "meteor-promise": "0.8.6", - "underscore": "1.8.3", + "underscore": "1.9.1", "wdio-sync": "0.6.14", "webdriverio": "4.12.0", "xolvio-fiber-utils": "2.0.3" @@ -13630,6 +15054,11 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, "yaqrcode": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/yaqrcode/-/yaqrcode-0.2.1.tgz", @@ -13649,6 +15078,23 @@ "y18n": "3.2.1" } }, + "yargs-parser": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.0.0.tgz", + "integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + }, "yauzl": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", @@ -13662,12 +15108,11 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "dev": true, "requires": { "archiver-utils": "1.3.0", "compress-commons": "1.2.2", - "lodash": "4.17.5", - "readable-stream": "2.3.4" + "lodash": "4.17.10", + "readable-stream": "2.3.6" } } } diff --git a/package.json b/package.json index e88d1abbd7ef..f30d1e56f461 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "0.64.0-develop", + "version": "0.70.0-develop", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" @@ -61,8 +61,9 @@ ], "scripts": { "start": "meteor npm i && meteor", + "debug": "meteor run --inspect", + "debug-brk": "meteor run --inspect-brk", "lint": "eslint .", - "lint-fix": "eslint . --fix", "stylelint": "stylelint packages/**/*.css", "test": "node .scripts/start.js", "deploy": "npm run build && pm2 startOrRestart pm2.json", @@ -74,7 +75,8 @@ "testunit": "mocha --opts ./mocha.opts \"`node -e \"console.log(require('./package.json').mocha.tests.join(' '))\"`\"", "version": "node .scripts/version.js", "set-version": "node .scripts/set-version.js", - "release": "npm run set-version --silent" + "release": "npm run set-version --silent", + "prepush": "npm run lint && npm run testunit" }, "license": "MIT", "repository": { @@ -86,56 +88,62 @@ "email": "support@rocket.chat" }, "devDependencies": { - "@octokit/rest": "^15.2.6", - "autoprefixer": "^8.0.0", + "@octokit/rest": "^15.8.1", + "autoprefixer": "^8.6.0", "babel-mocha-es6-compiler": "^0.1.0", "babel-plugin-array-includes": "^2.0.3", "chimp": "^0.51.1", - "conventional-changelog-cli": "^1.3.14", - "eslint": "^4.18.1", - "mocha": "^5.0.1", - "mock-require": "^3.0.1", - "postcss-custom-properties": "^6.2.0", + "conventional-changelog-cli": "^2.0.0", + "eslint": "^4.19.1", + "husky": "^0.14.3", + "mocha": "^5.2.0", + "mock-require": "^3.0.2", + "postcss-custom-properties": "^7.0.0", "postcss-import": "^11.1.0", "postcss-media-minmax": "^3.0.0", "postcss-nested": "^3.0.0", "postcss-selector-not": "^3.0.1", "progress": "^2.0.0", - "proxyquire": "^1.8.0", - "simple-git": "^1.91.0", - "stylelint": "^8.4.0", + "proxyquire": "^2.0.1", + "simple-git": "^1.95.1", + "stylelint": "^9.2.1", "stylelint-order": "^0.8.1", - "supertest": "^3.0.0" + "supertest": "^3.1.0" }, "dependencies": { - "@babel/runtime": "^7.0.0-beta.44", - "@google-cloud/language": "^1.1.0", - "@google-cloud/storage": "^1.6.0", - "@google-cloud/vision": "^0.15.2", - "adm-zip": "^0.4.7", + "@babel/runtime": "^7.0.0-beta.49", + "@google-cloud/language": "^1.2.0", + "@google-cloud/storage": "^1.7.0", + "@google-cloud/vision": "^0.19.0", + "@rocket.chat/apps-engine": "^1.0.0", + "@slack/client": "^4.2.2", + "adm-zip": "^0.4.11", + "archiver": "^2.1.1", + "arraybuffer-to-string": "^1.0.2", "atlassian-crowd": "^0.5.0", "autolinker": "^1.6.2", - "aws-sdk": "^2.199.0", + "aws-sdk": "^2.250.1", "bad-words": "^1.6.1", - "bcrypt": "^1.0.3", - "bson": "^1.0.4", - "bugsnag": "^2.1.3", + "bcrypt": "^2.0.1", + "bson": "^2.0.7", + "bugsnag": "^2.4.0", "bunyan": "^1.8.12", "busboy": "^0.2.14", "cas": "https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62", - "clipboard": "^1.7.1", - "codemirror": "^5.35.0", + "clipboard": "^2.0.1", + "codemirror": "^5.38.0", "coffeescript": "^1.12.7", "connect": "^2.7.10", - "core-js": "^2.5.3", - "csv-parse": "^1.3.3", + "core-js": "^2.5.7", + "csv-parse": "^2.4.0", "emailreplyparser": "^0.0.5", - "file-type": "^7.6.0", - "filesize": "^3.6.0", + "file-type": "^8.0.0", + "filesize": "^3.6.1", + "grapheme-splitter": "^1.0.2", "gridfs-stream": "^1.1.1", "he": "^1.1.1", "highlight.js": "^9.12.0", - "iconv-lite": "^0.4.19", + "iconv-lite": "^0.4.23", "image-size": "^0.6.2", "imap": "^0.8.19", "ip-range-check": "^0.0.2", @@ -144,38 +152,39 @@ "ldapjs": "^1.0.2", "less": "https://github.com/meteor/less.js/tarball/8130849eb3d7f0ecf0ca8d0af7c4207b0442e3f6", "less-plugin-autoprefix": "^1.5.1", - "localforage": "^1.5.6", - "lokijs": "^1.5.3", - "lru-cache": "^2.6.5", + "localforage": "^1.7.1", + "lokijs": "^1.5.5", + "lru-cache": "^4.1.3", "mailparser": "^2.2.0", - "marked": "^0.3.16", - "mime-db": "^1.33.0", + "marked": "^0.4.0", + "mime-db": "^1.34.0", "mime-type": "^3.0.5", "mkdirp": "^0.5.1", - "moment": "^2.20.1", - "moment-timezone": "^0.5.14", + "moment": "^2.22.2", + "moment-timezone": "^0.5.17", "node-dogstatsd": "^0.0.7", "object-path": "^0.11.4", "photoswipe": "^4.1.2", "poplib": "^0.1.7", - "prom-client": "^10.2.2", + "prom-client": "^11.0.0", "querystring": "^0.2.0", + "queue-fifo": "^0.2.4", "redis": "^2.8.0", "semver": "^5.5.0", - "sharp": "^0.19.0", - "slack-client": "^2.0.6", + "sharp": "^0.20.3", "speakeasy": "^2.0.0", - "tar-stream": "^1.5.5", + "tar-stream": "^1.6.1", "toastr": "^2.1.4", - "twilio": "^2.9.1", - "twit": "^2.2.9", - "ua-parser-js": "^0.7.17", - "underscore": "^1.8.3", + "turndown": "^5.0.1", + "twilio": "^3.17.1", + "twit": "^2.2.10", + "ua-parser-js": "^0.7.18", + "underscore": "^1.9.1", "underscore.string": "^3.3.4", + "webdav": "^1.5.2", "wolfy87-eventemitter": "^5.2.4", "xml-crypto": "^0.10.1", - "xml2js": "^0.4.19", - "xmlbuilder": "^2.6.4", + "xmlbuilder": "^10.0.0", "xmldom": "^0.1.27", "yaqrcode": "^0.2.1" } diff --git a/packages/chatpal-search/client/route.js b/packages/chatpal-search/client/route.js new file mode 100644 index 000000000000..bea46e84d930 --- /dev/null +++ b/packages/chatpal-search/client/route.js @@ -0,0 +1,9 @@ +FlowRouter.route('/admin/chatpal', { + name: 'chatpal-admin', + action() { + return BlazeLayout.render('main', { + center: 'ChatpalAdmin', + pageTitle: t('Chatpal_AdminPage'), + }); + }, +}); diff --git a/packages/chatpal-search/client/style.css b/packages/chatpal-search/client/style.css new file mode 100644 index 000000000000..6678d30934e1 --- /dev/null +++ b/packages/chatpal-search/client/style.css @@ -0,0 +1,310 @@ +.chatpal-admin-link { + color:red !important; + text-decoration: underline !important; +} + +.chatpalProvider .search-form { + padding: 0 24px; +} + +.chatpal_search-loader { + position: relative; + margin-top: 50px; +} + +.chatpal-search-container { + display: flex; + flex-direction: column; + flex: 1; +} + +.chatpal-search-result { + position: relative; + overflow: auto; + overflow-x: hidden; + padding: 0 24px 24px; + background-color: #f1f1f1; + flex: 1; +} + +.chatpal-search-typefilter { + display: flex; +} + +.chatpal-search-typefilter li { + cursor: pointer; + display: flex; + flex: 0 0 50%; + border-bottom: 4px solid white; + height: 35px; + justify-content: center; + padding-top: 10px; +} + +.chatpal-search-typefilter li.selected { + border-bottom: 4px solid #125074; +} + +.chatpal-admin-header { + font-size: 18px; + margin-bottom: 20px; +} + +.chatpal-search-result-header { + margin: 20px 0; + font-weight: bold; +} + +.chatpal-search-result-single { + background-color: white; + padding: 10px; + border: 1px solid #e6e6e6; + margin-bottom: 10px; + min-height: 92px; + position: relative; +} + + +.chatpal-search-result-user { + background-color: white; + padding: 10px; + border: 1px solid #e6e6e6; + margin-bottom: 10px; + min-height: 40px; + position: relative; +} + +.chatpal-search-result-user .chatpal-avatar { + width: 36px; + height: 36px; + position: absolute; +} + +.chatpal-search-result-user .chatpal-avatar .chatpal-avatar-image { + background-repeat: no-repeat; + background-size: contain; + width: 100%; + height: 100%; +} + +.chatpal-search-result-user h2 { + padding-left: 45px; + margin-bottom: 5px; +} + +.chatpal-search-result-user .direct-message { + padding-left: 45px; + font-size: 14px; + font-weight: bold; +} + +.chatpal-channel { + flex: 1 1 auto; +} + +.chatpal-search-result-user .chatpal-channel { + font-weight: bold; +} + +.chatpal-show-more-messages { + font-size: 14px; + font-weight: bold; + color: #125074; + text-align: center; + cursor: pointer; + margin-bottom: 20px; +} + +.chatpal-show-more-messages:hover { + text-decoration: underline; +} + +.chatpal-search-result-user .direct-message a { + color: #125074; +} + +.chatpal-search-result-user .direct-message a:hover { + text-decoration: underline; +} + +.chatpal-search-result-single h2 { + margin-bottom: 20px; + display: flex; + align-items: center; +} + +.chatpal-search-result-single .chatpal-avatar { + width: 36px; + height: 36px; + position: absolute; +} + +.chatpal-search-result-single .chatpal-avatar .chatpal-avatar-image { + background-repeat: no-repeat; + background-size: contain; + width: 100%; + height: 100%; +} + +.chatpal-search-result-single .chatpal-name { + padding: 0 0 0 46px; + font-size: 14px; + color: #444; + font-weight: bold; +} + +.chatpal-search-result-single .chatpal-date { + font-size: 12px; + color: #a0a0a0; + font-weight: normal; +} + +.chatpal-search-result-single .chatpal-time { + font-size: 12px; + color: #a0a0a0; + margin-left: 3px; +} + +.chatpal-search-result-single .chatpal-message { + padding: 0 0 0 46px; + line-height: 20px; + margin-top: 5px; + overflow-x: hidden; +} + +.chatpal-search-result-single .chatpal-message em { + font-style: normal; + background-color: #FAF9C8; +} + +.chatpal-search-result-single .chatpal-link { + display: none; + flex: 20; + color: #125074; +} + +.chatpal-search-result-single .chatpal-link:hover { + text-decoration: underline; +} + +.chatpal-search-result-single:hover .chatpal-link { + display: inline-block; +} + +.chatpal-paging { + text-align: center; + margin: 30px 0 50px 0; +} + +.chatpal-paging-text { + display: inline-block; + position: relative; + top: -2px; +} + +.chatpal-paging .chatpal-paging-button { + color: #125074; + cursor: pointer; + font-size: 20px; + display: inline-block; +} + +.chatpal-paging .chatpal-paging-prev { + padding-right: 10px; +} + +.chatpal-paging .chatpal-paging-next { + padding-left: 10px; +} + +.chatpal-search-info { + margin-top: 40px; + padding: 10px; +} + +.chatpal-search-welcome { + text-align: center; + padding-top: 40px; +} + +.chatpal-search-result-room h2 { + padding-left: 0 !important; +} + +.chatpal-search-result-list em { + font-style: normal; + background-color: #FAF9C8; +} + +.chatpal-search-result-room .chatpal-link { + display: none; + margin-left: 3px; + color: #125074; +} + +.chatpal-search-result-room:hover .chatpal-link { + display: inline-block; +} + +.chatpal-search-result-room .chatpal-link:hover{ + text-decoration: underline; +} + +.chatpal-search-pills div { + background-color: #f1f1f1; + padding: 2px 5px; + display: inline-block; + margin-right: 5px; + border-radius: 3px; + margin-top: 5px; +} + +.apikey h2 { + margin-top: 20px; +} + +.apikey .key { + background-color: #f1f1f1; + position: relative; + margin: 20px 0; + font-size: 20px; + text-align: center; + padding: 10px; +} + +.apikey a { + text-decoration: underline; +} + +.chatpal-suggestion { + padding: 10px; + display: flex; + justify-items: center; +} + +.chatpal-suggestion-text { + flex: 1 1 auto; +} + +.chatpal-suggestion-hint { + display: none; +} + +.rocket-search-suggestion-item.active .chatpal-suggestion-hint { + display: block; +} + +.chatpalProvider .rc-input__icon { + width: 26px; + left: 10px; + top: 3px; +} + +.chatpalProvider .rc-input__icon-svg { + font-size: 26px !important; +} + +.chatpalProvider .rocket-search-suggestion-item.active, .chatpalProvider .rocket-search-suggestion-item:hover { + background-color: #125074; + color: white; +} diff --git a/packages/chatpal-search/client/template/admin.html b/packages/chatpal-search/client/template/admin.html new file mode 100644 index 000000000000..d59a982a6b23 --- /dev/null +++ b/packages/chatpal-search/client/template/admin.html @@ -0,0 +1,56 @@ + diff --git a/packages/chatpal-search/client/template/admin.js b/packages/chatpal-search/client/template/admin.js new file mode 100644 index 000000000000..9c2a6d81c6e9 --- /dev/null +++ b/packages/chatpal-search/client/template/admin.js @@ -0,0 +1,61 @@ +import toastr from 'toastr'; + +Template.ChatpalAdmin.onCreated(function() { + + const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + + this.validateEmail = (email) => re.test(email.toLowerCase()); + + this.apiKey = new ReactiveVar(); + + const lang = RocketChat.settings.get('Language'); + + this.lang = (lang === 'de' || lang === 'en') ? lang : 'en'; + + this.tac = new ReactiveVar(); + + Meteor.call('chatpalUtilsGetTaC', this.lang, (err, data) => { + this.tac.set(data); + }); +}); + +Template.ChatpalAdmin.events({ + 'submit form'(e, t) { + e.preventDefault(); + + const email = e.target.email.value; + const tac = e.target.readtac.checked; + + if (!tac) { return toastr.error(TAPi18n.__('Chatpal_ERROR_TAC_must_be_checked')); } + if (!email || email === '') { return toastr.error(TAPi18n.__('Chatpal_ERROR_Email_must_be_set')); } + if (!t.validateEmail(email)) { return toastr.error(TAPi18n.__('Chatpal_ERROR_Email_must_be_valid')); } + + // TODO register + try { + Meteor.call('chatpalUtilsCreateKey', email, (err, key) => { + if (!key) { return toastr.error(TAPi18n.__('Chatpal_ERROR_username_already_exists')); } + + toastr.info(TAPi18n.__('Chatpal_created_key_successfully')); + + t.apiKey.set(key); + }); + + } catch (e) { + console.log(e); + toastr.error(TAPi18n.__('Chatpal_ERROR_username_already_exists'));// TODO error messages + } + }, +}); + +// template +Template.ChatpalAdmin.helpers({ + apiKey() { + return Template.instance().apiKey.get(); + }, + isAdmin() { + return RocketChat.authz.hasRole(Meteor.userId(), 'admin'); + }, + tac() { + return Template.instance().tac.get(); + }, +}); diff --git a/packages/chatpal-search/client/template/result.html b/packages/chatpal-search/client/template/result.html new file mode 100644 index 000000000000..3246eb6148e8 --- /dev/null +++ b/packages/chatpal-search/client/template/result.html @@ -0,0 +1,153 @@ + + + + + + + diff --git a/packages/chatpal-search/client/template/result.js b/packages/chatpal-search/client/template/result.js new file mode 100644 index 000000000000..5446b9688f87 --- /dev/null +++ b/packages/chatpal-search/client/template/result.js @@ -0,0 +1,128 @@ +import moment from 'moment'; + +Template.ChatpalSearchResultTemplate.onCreated(function() { + this.badRequest = new ReactiveVar(false); + this.resultType = new ReactiveVar(this.data.settings.DefaultResultType); + this.data.parentPayload.resultType = this.resultType.get(); +}); + +Template.ChatpalSearchResultTemplate.events = { + 'click .chatpal-search-typefilter li'(evt, t) { + t.data.parentPayload.resultType = evt.currentTarget.getAttribute('value'); + t.data.payload.start = 0; + t.resultType.set(t.data.parentPayload.resultType); + t.data.search(); + }, + 'click .chatpal-paging-prev'(env, t) { + t.data.payload.start -= t.data.settings.PageSize; + t.data.search(); + }, + 'click .chatpal-paging-next'(env, t) { + t.data.payload.start = (t.data.payload.start || 0) + t.data.settings.PageSize; + t.data.search(); + }, + 'click .chatpal-show-more-messages'(evt, t) { + t.data.parentPayload.resultType = 'Messages'; + t.data.payload.start = 0; + t.data.payload.rows = t.data.settings.PageSize; + t.resultType.set(t.data.parentPayload.resultType); + t.data.search(); + }, +}; + +Template.ChatpalSearchResultTemplate.helpers({ + result() { + return Template.instance().data.result.get(); + }, + searching() { + return Template.instance().data.searching.get(); + }, + resultType() { + return Template.instance().resultType.get(); + }, + navSelected(type) { + return Template.instance().resultType.get() === type ? 'selected' : ''; + }, + resultsFoundForAllSearch() { + const result = Template.instance().data.result.get(); + + if (!result) { return true; } + + return result.message.numFound > 0 || result.user.numFound > 0 || result.room.numFound > 0; + }, + moreMessagesThanDisplayed() { + const result = Template.instance().data.result.get(); + + return result.message.docs.length < result.message.numFound; + }, + resultNumFound() { + const result = Template.instance().data.result.get(); + if (result) { + switch (result.message.numFound) { + case 0: + return TAPi18n.__('Chatpal_no_search_results'); + case 1: + return TAPi18n.__('Chatpal_one_search_result'); + default: + return TAPi18n.__('Chatpal_search_results', result.message.numFound); + } + } + }, + resultPaging() { + const result = Template.instance().data.result.get(); + const pageSize = Template.instance().data.settings.PageSize; + if (result) { + return { + currentPage: 1 + result.message.start / pageSize, + numOfPages: Math.ceil(result.message.numFound / pageSize), + }; + } + }, +}); + +Template.ChatpalSearchSingleMessage.helpers({ + roomIcon() { + const room = Session.get(`roomData${ this.rid }`); + if (room && room.t === 'd') { + return 'at'; + } + return RocketChat.roomTypes.getIcon(room && room.t); + }, + + roomLink() { + const subscription = RocketChat.models.Subscriptions.findOne({ rid: this.rid }); + return RocketChat.roomTypes.getRouteLink(subscription.t, subscription); + }, + + roomName() { + const room = Session.get(`roomData${ this.rid }`); + return RocketChat.roomTypes.getRoomName(room.t, room); + }, + + time() { + return moment(this.created).format(RocketChat.settings.get('Message_TimeFormat')); + }, + date() { + return moment(this.created).format(RocketChat.settings.get('Message_DateFormat')); + }, +}); + +Template.ChatpalSearchSingleRoom.helpers({ + roomIcon() { + const room = Session.get(`roomData${ this._id }`); + if (room && room.t === 'd') { + return 'at'; + } + return RocketChat.roomTypes.getIcon(room && room.t); + }, + roomLink() { + const subscription = RocketChat.models.Subscriptions.findOne({ rid: this._id }); + return RocketChat.roomTypes.getRouteLink(subscription.t, subscription); + }, +}); + +Template.ChatpalSearchSingleUser.helpers({ + cleanUsername() { + return this.user_username.replace(/<\/?em>/ig, ''); + }, +}); diff --git a/packages/chatpal-search/client/template/suggestion.html b/packages/chatpal-search/client/template/suggestion.html new file mode 100644 index 000000000000..b003193c8af3 --- /dev/null +++ b/packages/chatpal-search/client/template/suggestion.html @@ -0,0 +1,9 @@ + diff --git a/packages/chatpal-search/client/template/suggestion.js b/packages/chatpal-search/client/template/suggestion.js new file mode 100644 index 000000000000..85f07f26c18c --- /dev/null +++ b/packages/chatpal-search/client/template/suggestion.js @@ -0,0 +1,7 @@ +Template.ChatpalSuggestionItemTemplate.onCreated(function() { + if (this.data.type === 'link') { + this.data.action = () => { + console.log('an example for an external link'); + }; + } +}); diff --git a/packages/chatpal-search/package.js b/packages/chatpal-search/package.js new file mode 100644 index 000000000000..b1191333b539 --- /dev/null +++ b/packages/chatpal-search/package.js @@ -0,0 +1,40 @@ +Package.describe({ + name: 'chatpal:search', + version: '0.0.1', + summary: 'Chatpal Search Provider', + git: '', +}); + +Package.onUse(function(api) { + api.use([ + 'ecmascript', + 'templating', + 'rocketchat:lib', + 'rocketchat:logger', + 'rocketchat:search', + 'kadira:flow-router', + 'meteorhacks:inject-initial', + ]); + + api.addFiles('server/asset/chatpal-enter.svg', 'server', { isAsset:true }); + api.addFiles('server/asset/chatpal-logo-icon-darkblue.svg', 'server', { isAsset:true }); + + api.addFiles([ + 'server/provider/provider.js', + 'server/provider/index.js', + 'server/utils/logger.js', + 'server/utils/utils.js', + 'server/asset/config.js', + ], 'server'); + + api.addFiles([ + 'client/template/suggestion.html', + 'client/template/suggestion.js', + 'client/template/result.html', + 'client/template/result.js', + 'client/template/admin.html', + 'client/template/admin.js', + 'client/style.css', + 'client/route.js', + ], 'client'); +}); diff --git a/packages/chatpal-search/server/asset/chatpal-enter.svg b/packages/chatpal-search/server/asset/chatpal-enter.svg new file mode 100644 index 000000000000..fe2bad32e76f --- /dev/null +++ b/packages/chatpal-search/server/asset/chatpal-enter.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/chatpal-search/server/asset/chatpal-logo-icon-darkblue.svg b/packages/chatpal-search/server/asset/chatpal-logo-icon-darkblue.svg new file mode 100644 index 000000000000..6d30666f538b --- /dev/null +++ b/packages/chatpal-search/server/asset/chatpal-logo-icon-darkblue.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/packages/chatpal-search/server/asset/config.js b/packages/chatpal-search/server/asset/config.js new file mode 100644 index 000000000000..add37dbca271 --- /dev/null +++ b/packages/chatpal-search/server/asset/config.js @@ -0,0 +1,4 @@ +/* globals Inject */ + +Inject.rawBody('chatpal-enter', Assets.getText('server/asset/chatpal-enter.svg')); +Inject.rawBody('chatpal-logo-icon-darkblue', Assets.getText('server/asset/chatpal-logo-icon-darkblue.svg')); diff --git a/packages/chatpal-search/server/provider/index.js b/packages/chatpal-search/server/provider/index.js new file mode 100644 index 000000000000..e1a794176eb8 --- /dev/null +++ b/packages/chatpal-search/server/provider/index.js @@ -0,0 +1,449 @@ +import ChatpalLogger from '../utils/logger'; +import { Random } from 'meteor/random'; + +/** + * Enables HTTP functions on Chatpal Backend + */ +class Backend { + + constructor(options) { + this._options = options; + } + + /** + * index a set of Sorl documents + * @param docs + * @returns {boolean} + */ + index(docs) { + const options = { + data:docs, + params:{ language:this._options.language }, + ...this._options.httpOptions, + }; + + try { + + const response = HTTP.call('POST', `${ this._options.baseurl }${ this._options.updatepath }`, options); + + if (response.statusCode >= 200 && response.statusCode < 300) { + ChatpalLogger.debug(`indexed ${ docs.length } documents`, JSON.stringify(response.data, null, 2)); + } else { + throw new Error(response); + } + + } catch (e) { + // TODO how to deal with this + ChatpalLogger.error('indexing failed', JSON.stringify(e, null, 2)); + return false; + } + + } + + /** + * remove an entry by type and id + * @param type + * @param id + * @returns {boolean} + */ + remove(type, id) { + ChatpalLogger.debug(`Remove ${ type }(${ id }) from Index`); + + const options = { + data:{ + delete: { + query: `id:${ id } AND type:${ type }`, + }, + commit:{}, + }, + ...this._options.httpOptions, + }; + + try { + const response = HTTP.call('POST', this._options.baseurl + this._options.clearpath, options); + + return response.statusCode >= 200 && response.statusCode < 300; + } catch (e) { + return false; + } + } + + count(type) { + return this.query({ type, rows:0, text:'*' })[type].numFound; + } + + /** + * query with params + * @param params + * @param callback + */ + query(params, callback) { + + const options = { + params, + ...this._options.httpOptions, + }; + + ChatpalLogger.debug('query: ', JSON.stringify(options, null, 2)); + + try { + if (callback) { + HTTP.call('POST', this._options.baseurl + this._options.searchpath, options, (err, result) => { + if (err) { return callback(err); } + + callback(undefined, result.data); + }); + } else { + + const response = HTTP.call('POST', this._options.baseurl + this._options.searchpath, options); + + if (response.statusCode >= 200 && response.statusCode < 300) { + return response.data; + } else { + throw new Error(response); + } + } + } catch (e) { + ChatpalLogger.error('query failed', JSON.stringify(e, null, 2)); + throw e; + } + } + + suggest(params, callback) { + + const options = { + params, + ...this._options.httpOptions, + }; + + HTTP.call('POST', this._options.baseurl + this._options.suggestionpath, options, (err, result) => { + if (err) { return callback(err); } + + try { + callback(undefined, result.data.suggestion); + } catch (e) { + callback(e); + } + }); + } + + clear() { + ChatpalLogger.debug('Clear Index'); + + const options = { + data:{ + delete: { + query: '*:*', + }, + commit:{}, + }, ...this._options.httpOptions, + }; + + try { + const response = HTTP.call('POST', this._options.baseurl + this._options.clearpath, options); + + return response.statusCode >= 200 && response.statusCode < 300; + } catch (e) { + return false; + } + } + + /** + * statically ping with configuration + * @param options + * @returns {boolean} + */ + static ping(config) { + + const options = { + params: { + stats:true, + }, + ...config.httpOptions, + }; + + try { + const response = HTTP.call('GET', config.baseurl + config.pingpath, options); + + if (response.statusCode >= 200 && response.statusCode < 300) { + return response.data.stats; + } else { + return false; + } + } catch (e) { + return false; + } + } + +} + +/** + * Enabled batch indexing + */ +class BatchIndexer { + + constructor(size, func, ...rest) { + this._size = size; + this._func = func; + this._rest = rest; + this._values = []; + } + + add(value) { + this._values.push(value); + if (this._values.length === this._size) { + this.flush(); + } + } + + flush() { + this._func(this._values, this._rest);// TODO if flush does not work + this._values = []; + } +} + +/** + * Provides index functions to chatpal provider + */ +export default class Index { + + /** + * Creates Index Stub + * @param options + * @param clear if a complete reindex should be done + */ + constructor(options, clear, date) { + + this._id = Random.id(); + + this._backend = new Backend(options); + + this._options = options; + + this._batchIndexer = new BatchIndexer(this._options.batchSize || 100, (values) => this._backend.index(values)); + + this._bootstrap(clear, date); + } + + /** + * prepare solr documents + * @param type + * @param doc + * @returns {*} + * @private + */ + _getIndexDocument(type, doc) { + switch (type) { + case 'message': + return { + id: doc._id, + rid: doc.rid, + user: doc.u._id, + created: doc.ts, + updated: doc._updatedAt, + text: doc.msg, + type, + }; + case 'room': + return { + id: doc._id, + rid: doc._id, + created: doc.createdAt, + updated: doc.lm ? doc.lm : doc._updatedAt, + type, + room_name: doc.name, + room_announcement: doc.announcement, + room_description: doc.description, + room_topic: doc.topic, + }; + case 'user': + return { + id: doc._id, + created: doc.createdAt, + updated: doc._updatedAt, + type, + user_username: doc.username, + user_name: doc.name, + user_email: doc.emails && doc.emails.map((e) => e.address), + }; + default: throw new Error(`Cannot index type '${ type }'`); + } + } + + /** + * return true if there are messages in the databases which has been created before *date* + * @param date + * @returns {boolean} + * @private + */ + _existsDataOlderThan(date) { + return RocketChat.models.Messages.model.find({ ts:{ $lt: new Date(date) }, t:{ $exists:false } }, { limit:1 }).fetch().length > 0; + } + + _doesRoomCountDiffer() { + return RocketChat.models.Rooms.find({ t:{ $ne:'d' } }).count() !== this._backend.count('room'); + } + + _doesUserCountDiffer() { + return Meteor.users.find({ active:true }).count() !== this._backend.count('user'); + } + + /** + * Index users by using a database cursor + */ + _indexUsers() { + const cursor = Meteor.users.find({ active:true }); + + ChatpalLogger.debug(`Start indexing ${ cursor.count() } users`); + + cursor.forEach((user) => { + this.indexDoc('user', user, false); + }); + + ChatpalLogger.info(`Users indexed successfully (index-id: ${ this._id })`); + } + + /** + * Index rooms by database cursor + * @private + */ + _indexRooms() { + const cursor = RocketChat.models.Rooms.find({ t:{ $ne:'d' } }); + + ChatpalLogger.debug(`Start indexing ${ cursor.count() } rooms`); + + cursor.forEach((room) => { + this.indexDoc('room', room, false); + }); + + ChatpalLogger.info(`Rooms indexed successfully (index-id: ${ this._id })`); + } + + _indexMessages(date, gap) { + + const start = new Date(date - gap); + const end = new Date(date); + + const cursor = RocketChat.models.Messages.model.find({ ts:{ $gt: start, $lt: end }, t:{ $exists:false } }); + + ChatpalLogger.debug(`Start indexing ${ cursor.count() } messages between ${ start.toString() } and ${ end.toString() }`); + + cursor.forEach((message) => { + this.indexDoc('message', message, false); + }); + + ChatpalLogger.info(`Messages between ${ start.toString() } and ${ end.toString() } indexed successfully (index-id: ${ this._id })`); + + return start.getTime(); + } + + _run(date, resolve, reject) { + + this._running = true; + + if (this._existsDataOlderThan(date) && !this._break) { + + Meteor.setTimeout(() => { + date = this._indexMessages(date, (this._options.windowSize || 24) * 3600000); + + this._run(date, resolve, reject); + + }, this._options.timeout || 1000); + } else if (this._break) { + ChatpalLogger.info(`stopped bootstrap (index-id: ${ this._id })`); + + this._batchIndexer.flush(); + + this._running = false; + + resolve(); + } else { + + ChatpalLogger.info(`No messages older than already indexed date ${ new Date(date).toString() }`); + + if (this._doesUserCountDiffer() && !this._break) { + this._indexUsers(); + } else { + ChatpalLogger.info('Users already indexed'); + } + + if (this._doesRoomCountDiffer() && !this._break) { + this._indexRooms(); + } else { + ChatpalLogger.info('Rooms already indexed'); + } + + this._batchIndexer.flush(); + + ChatpalLogger.info(`finished bootstrap (index-id: ${ this._id })`); + + this._running = false; + + resolve(); + } + } + + _bootstrap(clear, date) { + + ChatpalLogger.info('Start bootstrapping'); + + return new Promise((resolve, reject) => { + + if (clear) { + this._backend.clear(); + date = new Date().getTime(); + } + + this._run(date, resolve, reject); + + }); + } + + static ping(options) { + return Backend.ping(options); + } + + stop() { + this._break = true; + } + + reindex() { + if (!this._running) { + this._bootstrap(true); + } + } + + indexDoc(type, doc, flush = true) { + this._batchIndexer.add(this._getIndexDocument(type, doc)); + + if (flush) { this._batchIndexer.flush(); } + + return true; + } + + removeDoc(type, id) { + return this._backend.remove(type, id); + } + + query(text, language, acl, type, start, rows, callback, params = {}) { + this._backend.query({ + text, + language, + acl, + type, + start, + rows, + ...params, + }, callback); + } + + suggest(text, language, acl, type, callback) { + this._backend.suggest({ + text, + language, + acl, + type, + }, callback); + } + +} diff --git a/packages/chatpal-search/server/provider/provider.js b/packages/chatpal-search/server/provider/provider.js new file mode 100644 index 000000000000..efe4adf21751 --- /dev/null +++ b/packages/chatpal-search/server/provider/provider.js @@ -0,0 +1,346 @@ +import { searchProviderService, SearchProvider } from 'meteor/rocketchat:search'; +import Index from './index'; +import ChatpalLogger from '../utils/logger'; + +/** + * The chatpal search provider enables chatpal search. An appropriate backedn has to be specified by settings. + */ +class ChatpalProvider extends SearchProvider { + + /** + * Create chatpal provider with some settings for backend and ui + */ + constructor() { + super('chatpalProvider'); + + this.chatpalBaseUrl = 'https://beta.chatpal.io/v1'; + + this._settings.add('Backend', 'select', 'cloud', { + values:[ + { key: 'cloud', i18nLabel: 'Cloud Service' }, + { key: 'onsite', i18nLabel: 'On-Site' }, + ], + i18nLabel: 'Chatpal_Backend', + i18nDescription: 'Chatpal_Backend_Description', + }); + this._settings.add('API_Key', 'string', '', { + enableQuery:[{ + _id: 'Search.chatpalProvider.Backend', + value: 'cloud', + }], + i18nLabel: 'Chatpal_API_Key', + i18nDescription: 'Chatpal_API_Key_Description', + }); + this._settings.add('Base_URL', 'string', '', { + enableQuery:[{ + _id: 'Search.chatpalProvider.Backend', + value: 'onsite', + }], + i18nLabel: 'Chatpal_Base_URL', + i18nDescription: 'Chatpal_Base_URL_Description', + }); + this._settings.add('HTTP_Headers', 'string', '', { + enableQuery:[{ + _id: 'Search.chatpalProvider.Backend', + value: 'onsite', + }], + multiline: true, + i18nLabel: 'Chatpal_HTTP_Headers', + i18nDescription: 'Chatpal_HTTP_Headers_Description', + }); + this._settings.add('Main_Language', 'select', 'en', { + values: [ + { key: 'en', i18nLabel: 'English' }, + { key: 'none', i18nLabel: 'Language_Not_set' }, + { key: 'cs', i18nLabel: 'Czech' }, + { key: 'de', i18nLabel: 'Deutsch' }, + { key: 'el', i18nLabel: 'Greek' }, + { key: 'es', i18nLabel: 'Spanish' }, + { key: 'fi', i18nLabel: 'Finish' }, + { key: 'fr', i18nLabel: 'French' }, + { key: 'hu', i18nLabel: 'Hungarian' }, + { key: 'it', i18nLabel: 'Italian' }, + { key: 'nl', i18nLabel: 'Dutsch' }, + { key: 'pl', i18nLabel: 'Polish' }, + { key: 'pt', i18nLabel: 'Portuguese' }, + { key: 'pt_BR', i18nLabel: 'Brasilian' }, + { key: 'ro', i18nLabel: 'Romanian' }, + { key: 'ru', i18nLabel: 'Russian' }, + { key: 'sv', i18nLabel: 'Swedisch' }, + { key: 'tr', i18nLabel: 'Turkish' }, + { key: 'uk', i18nLabel: 'Ukrainian' }, + ], + i18nLabel: 'Chatpal_Main_Language', + i18nDescription: 'Chatpal_Main_Language_Description', + }); + this._settings.add('DefaultResultType', 'select', 'All', { + values: [ + { key: 'All', i18nLabel: 'All' }, + { key: 'Messages', i18nLabel: 'Messages' }, + ], + i18nLabel: 'Chatpal_Default_Result_Type', + i18nDescription: 'Chatpal_Default_Result_Type_Description', + }); + this._settings.add('PageSize', 'int', 15, { + i18nLabel: 'Search_Page_Size', + }); + this._settings.add('SuggestionEnabled', 'boolean', true, { + i18nLabel: 'Chatpal_Suggestion_Enabled', + alert: 'This feature is currently in beta and will be extended in the future', + }); + this._settings.add('BatchSize', 'int', 100, { + i18nLabel: 'Chatpal_Batch_Size', + i18nDescription: 'Chatpal_Batch_Size_Description', + }); + this._settings.add('TimeoutSize', 'int', 5000, { + i18nLabel: 'Chatpal_Timeout_Size', + i18nDescription: 'Chatpal_Timeout_Size_Description', + }); + this._settings.add('WindowSize', 'int', 48, { + i18nLabel: 'Chatpal_Window_Size', + i18nDescription: 'Chatpal_Window_Size_Description', + }); + } + + get i18nLabel() { + return 'Chatpal Provider'; + } + + get iconName() { + return 'chatpal-logo-icon-darkblue'; + } + + get resultTemplate() { + return 'ChatpalSearchResultTemplate'; + } + + get suggestionItemTemplate() { + return 'ChatpalSuggestionItemTemplate'; + } + + get supportsSuggestions() { + return this._settings.get('SuggestionEnabled'); + } + + /** + * indexing for messages, rooms and users + * @inheritDoc + */ + on(name, value, payload) { + + if (!this.index) { + this.indexFail = true; + return false; + } + + switch (name) { + case 'message.save': return this.index.indexDoc('message', payload); + case 'user.save': return this.index.indexDoc('user', payload); + case 'room.save': return this.index.indexDoc('room', payload); + case 'message.delete': return this.index.removeDoc('message', value); + case 'user.delete': return this.index.removeDoc('user', value); + case 'room.delete': return this.index.removeDoc('room', value); + } + + return true; + } + + /** + * Check if the index has to be deleted and completely new reindexed + * @param reason the reason for the provider start + * @returns {boolean} + * @private + */ + _checkForClear(reason) { + + if (reason === 'startup') { return false; } + + if (reason === 'switch') { return true; } + + return this._indexConfig.backendtype !== this._settings.get('Backend') || + (this._indexConfig.backendtype === 'onsite' && this._indexConfig.baseurl !== (this._settings.get('Base_URL').endsWith('/') ? this._settings.get('Base_URL').slice(0, -1) : this._settings.get('Base_URL'))) || + (this._indexConfig.backendtype === 'cloud' && this._indexConfig.httpOptions.headers['X-Api-Key'] !== this._settings.get('API_Key')) || + this._indexConfig.language !== this._settings.get('Main_Language'); + } + + /** + * parse string to object that can be used as header for HTTP calls + * @returns {{}} + * @private + */ + _parseHeaders() { + const headers = {}; + const sh = this._settings.get('HTTP_Headers').split('\n'); + sh.forEach(function(d) { + const ds = d.split(':'); + if (ds.length === 2 && ds[0].trim() !== '') { + headers[ds[0]] = ds[1]; + } + }); + return headers; + } + + /** + * ping if configuration has been set correctly + * @param config + * @param resolve if ping was successfull + * @param reject if some error occurs + * @param timeout until ping is repeated + * @private + */ + _ping(config, resolve, reject, timeout = 5000) { + + const maxTimeout = 200000; + + const stats = Index.ping(config); + + if (stats) { + ChatpalLogger.debug('ping was successfull'); + resolve({ config, stats }); + } else { + + ChatpalLogger.warn(`ping failed, retry in ${ timeout } ms`); + + this._pingTimeout = Meteor.setTimeout(() => { + this._ping(config, resolve, reject, Math.min(maxTimeout, 2 * timeout)); + }, timeout); + } + + } + + /** + * Get index config based on settings + * @param callback + * @private + */ + _getIndexConfig() { + + return new Promise((resolve, reject) => { + const config = { + backendtype: this._settings.get('Backend'), + }; + + if (this._settings.get('Backend') === 'cloud') { + config.baseurl = this.chatpalBaseUrl; + config.language = this._settings.get('Main_Language'); + config.searchpath = '/search/search'; + config.updatepath = '/search/update'; + config.pingpath = '/search/ping'; + config.clearpath = '/search/clear'; + config.suggestionpath = '/search/suggest'; + config.httpOptions = { + headers: { + 'X-Api-Key': this._settings.get('API_Key'), + }, + }; + } else { + config.baseurl = this._settings.get('Base_URL').endsWith('/') ? this._settings.get('Base_URL').slice(0, -1) : this._settings.get('Base_URL'); + config.language = this._settings.get('Main_Language'); + config.searchpath = '/chatpal/search'; + config.updatepath = '/chatpal/update'; + config.pingpath = '/chatpal/ping'; + config.clearpath = '/chatpal/clear'; + config.suggestionpath = '/chatpal/suggest'; + config.httpOptions = { + headers: this._parseHeaders(), + }; + } + + config.batchSize = this._settings.get('BatchSize'); + config.timeout = this._settings.get('TimeoutSize'); + config.windowSize = this._settings.get('WindowSize'); + + this._ping(config, resolve, reject); + }); + + } + + /** + * @inheritDoc + * @param callback + */ + stop(resolve) { + ChatpalLogger.info('Provider stopped'); + Meteor.clearTimeout(this._pingTimeout); + this.indexFail = false; + this.index && this.index.stop(); + resolve(); + } + + /** + * @inheritDoc + * @param reason + * @param resolve + * @param reject + */ + start(reason, resolve, reject) { + + const clear = this._checkForClear(reason); + + ChatpalLogger.debug(`clear = ${ clear } with reason '${ reason }'`); + + this._getIndexConfig().then((server) => { + this._indexConfig = server.config; + + this._stats = server.stats; + + ChatpalLogger.debug('config:', JSON.stringify(this._indexConfig, null, 2)); + ChatpalLogger.debug('stats:', JSON.stringify(this._stats, null, 2)); + + this.index = new Index(this._indexConfig, this.indexFail || clear, this._stats.message.oldest || new Date().valueOf()); + + resolve(); + }, reject); + } + + /** + * returns a list of rooms that are allowed to see by current user + * @param context + * @private + */ + _getAcl(context) { + return RocketChat.models.Subscriptions.find({ 'u._id': context.uid }).fetch().map((room) => room.rid); + } + + /** + * @inheritDoc + * @returns {*} + */ + search(text, context, payload, callback) { + + if (!this.index) { return callback({ msg:'Chatpal_currently_not_active' }); } + + const type = payload.resultType === 'All' ? ['message', 'user', 'room'] : ['message']; + + this.index.query( + text, + this._settings.get('Main_Language'), + this._getAcl(context), + type, + payload.start || 0, + payload.rows || this._settings.get('PageSize'), + callback + ); + + } + + /** + * @inheritDoc + */ + suggest(text, context, payload, callback) { + + if (!this.index) { return callback({ msg:'Chatpal_currently_not_active' }); } + + const type = payload.resultType === 'All' ? ['message', 'user', 'room'] : ['message']; + + this.index.suggest( + text, + this._settings.get('Main_Language'), + this._getAcl(context), + type, + callback + ); + } +} + +searchProviderService.register(new ChatpalProvider()); diff --git a/packages/chatpal-search/server/utils/logger.js b/packages/chatpal-search/server/utils/logger.js new file mode 100644 index 000000000000..2e5278a11924 --- /dev/null +++ b/packages/chatpal-search/server/utils/logger.js @@ -0,0 +1,2 @@ +const ChatpalLogger = new Logger('Chatpal Logger', {}); +export default ChatpalLogger; diff --git a/packages/chatpal-search/server/utils/utils.js b/packages/chatpal-search/server/utils/utils.js new file mode 100644 index 000000000000..596b440fe0bf --- /dev/null +++ b/packages/chatpal-search/server/utils/utils.js @@ -0,0 +1,26 @@ +Meteor.methods({ + 'chatpalUtilsCreateKey'(email) { + try { + const response = HTTP.call('POST', 'https://beta.chatpal.io/v1/account', { data: { email, tier: 'free' } }); + if (response.statusCode === 201) { + return response.data.key; + } else { + return false; + } + } catch (e) { + return false; + } + }, + 'chatpalUtilsGetTaC'(lang) { + try { + const response = HTTP.call('GET', `https://beta.chatpal.io/v1/terms/${ lang }.html`); + if (response.statusCode === 200) { + return response.content; + } else { + return undefined; + } + } catch (e) { + return false; + } + }, +}); diff --git a/packages/meteor-accounts-saml/README.md b/packages/meteor-accounts-saml/README.md index cfdac5662b31..abd441d966cb 100644 --- a/packages/meteor-accounts-saml/README.md +++ b/packages/meteor-accounts-saml/README.md @@ -29,28 +29,33 @@ settings = {"saml":[{ "cert":"MIICizCCAfQCCQCY8tKaMc0 LOTS OF FUNNY CHARS ==", "idpSLORedirectURL": "http://openam.idp.io/openam/IDPSloRedirect/metaAlias/zimt/idp", "privateKeyFile": "certs/mykey.pem", // path is relative to $METEOR-PROJECT/private - "publicCertFile": "certs/mycert.pem" // eg $METEOR-PROJECT/private/certs/mycert.pem + "publicCertFile": "certs/mycert.pem", // eg $METEOR-PROJECT/private/certs/mycert.pem + "dynamicProfile": true // set to true if we want to create a user in Meteor.users dynamically if SAML assertion is valid + "identifierFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", // Defaults to urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + "localProfileMatchAttribute": "telephoneNumber" // CAUTION: this will be mapped to profile. attribute in Mongo if identifierFormat (see above) differs from urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress, + "attributesSAML": [telephoneNumber, sn, givenName, mail], // attrs from SAML attr statement, which will be used for local Meteor profile creation. Currently no real attribute mapping. If required use mapping on IdP side. + }]} - + Meteor.settings = settings; ``` in some template ``` -OpenAM +OpenAM ``` in helper function ``` -'click .saml-login': function(event, template){ + 'click .saml-login' (event) { event.preventDefault(); - var provider = $(event.target).data('provider'); + var provider = event.target.getAttribute('data-provider'); Meteor.loginWithSaml({ - provider:provider - }, function(error, result){ - //handle errors and result + provider + }, function(error, result) { + //handle errors and result }); } ``` @@ -73,7 +78,7 @@ and if SingleLogout is needed 1. Create a Meteor project by `meteor create sp` and cd into it. 2. Add `steffo:meteor-accounts-saml` -3. Create `server/lib/settings.js` as described above. Since Meteor loads things in `server/lib` first, this ensures that your settings are respected even on Galaxy where you cannot use `meteor --settings`. +3. Create `server/lib/settings.js` as described above. Since Meteor loads things in `server/lib` first, this ensures that your settings are respected even on Galaxy where you cannot use `meteor --settings`. 4. Put your private key and your cert (not the IDP's one) into the "private" directory. Eg if your meteor project is at `/Users/steffo/sp` then place them in `/Users/steffo/sp/private` 5. Check if you can receive SP metadata eg via `curl http://localhost:3000/_saml/metadata/openam`. Output should look like: @@ -103,7 +108,7 @@ and if SingleLogout is needed 1. I prefer using OpenAM realms. Set up a realm using a name that matches the one in the entry point URL of the `settings.json` file: `https://openam.idp.io/openam/SSORedirect/metaAlias//idp`; we used `zimt` above. 2. Save the SP metadata (obtained in Step 5 above) in a file `sp-metadata.xml`. 3. Logon OpenSSO console as `amadmin` and select _Common Tasks > Register Remote Service Provider_ -4. Select the corresponding real and upload the metadata (alternatively, point OpenAM to the SP's metadata URL eg `http://sp.meteor.com/_saml/metadata/openam`). If all goes well the new SP shows up under _Federation > Entity Providers_ +4. Select the corresponding real and upload the metadata (alternatively, point OpenAM to the SP's metadata URL eg `http://sp.meteor.com/_saml/metadata/openam`). If all goes well the new SP shows up under _Federation > Entity Providers_ @@ -120,4 +125,3 @@ and if SingleLogout is needed ## Credits Based Nat Strauser's Meteor/SAML package _natestrauser:meteor-accounts-saml_ which is heavily derived from https://github.com/bergie/passport-saml. - diff --git a/packages/meteor-accounts-saml/package.js b/packages/meteor-accounts-saml/package.js index 9e8eb97d9944..919afa37eb62 100644 --- a/packages/meteor-accounts-saml/package.js +++ b/packages/meteor-accounts-saml/package.js @@ -1,8 +1,8 @@ Package.describe({ - 'name': 'steffo:meteor-accounts-saml', - 'summary': 'SAML Login (SP) for Meteor. Works with OpenAM, OpenIDP and provides Single Logout.', - 'version': '0.0.1', - 'git': 'https://github.com/steffow/meteor-accounts-saml.git' + name: 'steffo:meteor-accounts-saml', + summary: 'SAML Login (SP) for Meteor. Works with OpenAM, OpenIDP and provides Single Logout.', + version: '0.0.1', + git: 'https://github.com/steffow/meteor-accounts-saml.git', }); Package.on_use(function(api) { diff --git a/packages/meteor-accounts-saml/saml_client.js b/packages/meteor-accounts-saml/saml_client.js index 5a6432e207a5..6a85fbdbbf6b 100644 --- a/packages/meteor-accounts-saml/saml_client.js +++ b/packages/meteor-accounts-saml/saml_client.js @@ -17,10 +17,10 @@ if (!Accounts.saml) { const MeteorLogout = Meteor.logout; const logoutBehaviour = { TERMINATE_SAML: 'SAML', - ONLY_RC: 'Local' + ONLY_RC: 'Local', }; -Meteor.logout = function() { +Meteor.logout = function(...args) { const samlService = ServiceConfiguration.configurations.findOne({ service: 'saml' }); if (samlService) { const provider = samlService.clientConfig && samlService.clientConfig.provider; @@ -37,7 +37,7 @@ Meteor.logout = function() { } } } - return MeteorLogout.apply(Meteor, arguments); + return MeteorLogout.apply(Meteor, args); }; const openCenteredPopup = function(url, width, height) { @@ -49,7 +49,7 @@ const openCenteredPopup = function(url, width, height) { const intervalId = setInterval(function() { newwindow.executeScript({ - 'code': 'document.getElementsByTagName("script")[0].textContent' + code: 'document.getElementsByTagName("script")[0].textContent', }, function(data) { if (data && data.length > 0 && data[0] === 'window.close()') { newwindow.close(); @@ -116,26 +116,26 @@ Meteor.loginWithSaml = function(options, callback) { const credentialToken = `id-${ Random.id() }`; options.credentialToken = credentialToken; - Accounts.saml.initiateLogin(options, function(/*error, result*/) { + Accounts.saml.initiateLogin(options, function(/* error, result*/) { Accounts.callLoginMethod({ methodArguments: [{ saml: true, - credentialToken + credentialToken, }], - userCallback: callback + userCallback: callback, }); }); }; -Meteor.logoutWithSaml = function(options/*, callback*/) { - //Accounts.saml.idpInitiatedSLO(options, callback); +Meteor.logoutWithSaml = function(options/* , callback*/) { + // Accounts.saml.idpInitiatedSLO(options, callback); Meteor.call('samlLogout', options.provider, function(err, result) { if (err || !result) { MeteorLogout.apply(Meteor); return; } // A nasty bounce: 'result' has the SAML LogoutRequest but we need a proper 302 to redirected from the server. - //window.location.replace(Meteor.absoluteUrl('_saml/sloRedirect/' + options.provider + '/?redirect='+result)); + // window.location.replace(Meteor.absoluteUrl('_saml/sloRedirect/' + options.provider + '/?redirect='+result)); window.location.replace(Meteor.absoluteUrl(`_saml/sloRedirect/${ options.provider }/?redirect=${ encodeURIComponent(result) }`)); }); }; diff --git a/packages/meteor-accounts-saml/saml_rocketchat.js b/packages/meteor-accounts-saml/saml_rocketchat.js index 3425ca7173bf..20fc9ad8adb1 100644 --- a/packages/meteor-accounts-saml/saml_rocketchat.js +++ b/packages/meteor-accounts-saml/saml_rocketchat.js @@ -1,9 +1,9 @@ const logger = new Logger('steffo:meteor-accounts-saml', { methods: { updated: { - type: 'info' - } - } + type: 'info', + }, + }, }); RocketChat.settings.addGroup('SAML'); @@ -14,88 +14,94 @@ Meteor.methods({ type: 'boolean', group: 'SAML', section: name, - i18nLabel: 'Accounts_OAuth_Custom_Enable' + i18nLabel: 'Accounts_OAuth_Custom_Enable', }); RocketChat.settings.add(`SAML_Custom_${ name }_provider`, 'provider-name', { type: 'string', group: 'SAML', section: name, - i18nLabel: 'SAML_Custom_Provider' + i18nLabel: 'SAML_Custom_Provider', }); RocketChat.settings.add(`SAML_Custom_${ name }_entry_point`, 'https://example.com/simplesaml/saml2/idp/SSOService.php', { type: 'string', group: 'SAML', section: name, - i18nLabel: 'SAML_Custom_Entry_point' + i18nLabel: 'SAML_Custom_Entry_point', }); RocketChat.settings.add(`SAML_Custom_${ name }_idp_slo_redirect_url`, 'https://example.com/simplesaml/saml2/idp/SingleLogoutService.php', { type: 'string', group: 'SAML', section: name, - i18nLabel: 'SAML_Custom_IDP_SLO_Redirect_URL' + i18nLabel: 'SAML_Custom_IDP_SLO_Redirect_URL', }); RocketChat.settings.add(`SAML_Custom_${ name }_issuer`, 'https://your-rocket-chat/_saml/metadata/provider-name', { type: 'string', group: 'SAML', section: name, - i18nLabel: 'SAML_Custom_Issuer' + i18nLabel: 'SAML_Custom_Issuer', }); RocketChat.settings.add(`SAML_Custom_${ name }_cert`, '', { type: 'string', group: 'SAML', section: name, i18nLabel: 'SAML_Custom_Cert', - multiline: true + multiline: true, }); RocketChat.settings.add(`SAML_Custom_${ name }_public_cert`, '', { type: 'string', group: 'SAML', section: name, multiline: true, - i18nLabel: 'SAML_Custom_Public_Cert' + i18nLabel: 'SAML_Custom_Public_Cert', }); RocketChat.settings.add(`SAML_Custom_${ name }_private_key`, '', { type: 'string', group: 'SAML', section: name, multiline: true, - i18nLabel: 'SAML_Custom_Private_Key' + i18nLabel: 'SAML_Custom_Private_Key', }); RocketChat.settings.add(`SAML_Custom_${ name }_button_label_text`, '', { type: 'string', group: 'SAML', section: name, - i18nLabel: 'Accounts_OAuth_Custom_Button_Label_Text' + i18nLabel: 'Accounts_OAuth_Custom_Button_Label_Text', }); RocketChat.settings.add(`SAML_Custom_${ name }_button_label_color`, '#FFFFFF', { type: 'string', group: 'SAML', section: name, - i18nLabel: 'Accounts_OAuth_Custom_Button_Label_Color' + i18nLabel: 'Accounts_OAuth_Custom_Button_Label_Color', }); RocketChat.settings.add(`SAML_Custom_${ name }_button_color`, '#13679A', { type: 'string', group: 'SAML', section: name, - i18nLabel: 'Accounts_OAuth_Custom_Button_Color' + i18nLabel: 'Accounts_OAuth_Custom_Button_Color', }); RocketChat.settings.add(`SAML_Custom_${ name }_generate_username`, false, { type: 'boolean', group: 'SAML', section: name, - i18nLabel: 'SAML_Custom_Generate_Username' + i18nLabel: 'SAML_Custom_Generate_Username', + }); + RocketChat.settings.add(`SAML_Custom_${ name }_debug`, false, { + type: 'boolean', + group: 'SAML', + section: name, + i18nLabel: 'SAML_Custom_Debug', }); RocketChat.settings.add(`SAML_Custom_${ name }_logout_behaviour`, 'SAML', { type: 'select', values: [ - {key: 'SAML', i18nLabel: 'SAML_Custom_Logout_Behaviour_Terminate_SAML_Session'}, - {key: 'Local', i18nLabel: 'SAML_Custom_Logout_Behaviour_End_Only_RocketChat'} + { key: 'SAML', i18nLabel: 'SAML_Custom_Logout_Behaviour_Terminate_SAML_Session' }, + { key: 'Local', i18nLabel: 'SAML_Custom_Logout_Behaviour_End_Only_RocketChat' }, ], group: 'SAML', section: name, - i18nLabel: 'SAML_Custom_Logout_Behaviour' + i18nLabel: 'SAML_Custom_Logout_Behaviour', }); - } + }, }); const getSamlConfigs = function(service) { @@ -104,18 +110,19 @@ const getSamlConfigs = function(service) { buttonLabelColor: RocketChat.settings.get(`${ service.key }_button_label_color`), buttonColor: RocketChat.settings.get(`${ service.key }_button_color`), clientConfig: { - provider: RocketChat.settings.get(`${ service.key }_provider`) + provider: RocketChat.settings.get(`${ service.key }_provider`), }, entryPoint: RocketChat.settings.get(`${ service.key }_entry_point`), idpSLORedirectURL: RocketChat.settings.get(`${ service.key }_idp_slo_redirect_url`), generateUsername: RocketChat.settings.get(`${ service.key }_generate_username`), + debug: RocketChat.settings.get(`${ service.key }_debug`), issuer: RocketChat.settings.get(`${ service.key }_issuer`), logoutBehaviour: RocketChat.settings.get(`${ service.key }_logout_behaviour`), secret: { privateKey: RocketChat.settings.get(`${ service.key }_private_key`), publicCert: RocketChat.settings.get(`${ service.key }_public_cert`), - cert: RocketChat.settings.get(`${ service.key }_cert`) - } + cert: RocketChat.settings.get(`${ service.key }_cert`), + }, }; }; @@ -141,6 +148,8 @@ const configureSamlService = function(samlConfigs) { } // TODO: the function configureSamlService is called many times and Accounts.saml.settings.generateUsername keeps just the last value Accounts.saml.settings.generateUsername = samlConfigs.generateUsername; + Accounts.saml.settings.debug = samlConfigs.debug; + return { provider: samlConfigs.clientConfig.provider, entryPoint: samlConfigs.entryPoint, @@ -148,7 +157,7 @@ const configureSamlService = function(samlConfigs) { issuer: samlConfigs.issuer, cert: samlConfigs.secret.cert, privateCert, - privateKey + privateKey, }; }; @@ -159,30 +168,27 @@ const updateServices = debounce(() => { const samlConfigs = getSamlConfigs(service); logger.updated(service.key); ServiceConfiguration.configurations.upsert({ - service: serviceName.toLowerCase() + service: serviceName.toLowerCase(), }, { - $set: samlConfigs + $set: samlConfigs, }); return configureSamlService(samlConfigs); - } else { - ServiceConfiguration.configurations.remove({ - service: serviceName.toLowerCase() - }); } - }).filter(e => e); + return ServiceConfiguration.configurations.remove({ + service: serviceName.toLowerCase(), + }); + }).filter((e) => e); }, 2000); RocketChat.settings.get(/^SAML_.+/, updateServices); -Meteor.startup(() => { - return Meteor.call('addSamlService', 'Default'); -}); +Meteor.startup(() => Meteor.call('addSamlService', 'Default')); export { updateServices, configureSamlService, getSamlConfigs, debounce, - logger + logger, }; diff --git a/packages/meteor-accounts-saml/saml_server.js b/packages/meteor-accounts-saml/saml_server.js index 067bbb765a7f..56370dfe5204 100644 --- a/packages/meteor-accounts-saml/saml_server.js +++ b/packages/meteor-accounts-saml/saml_server.js @@ -5,10 +5,10 @@ import _ from 'underscore'; if (!Accounts.saml) { Accounts.saml = { settings: { - debug: true, + debug: false, generateUsername: false, - providers: [] - } + providers: [], + }, }; } @@ -45,11 +45,11 @@ Meteor.methods({ // This query should respect upcoming array of SAML logins const user = Meteor.users.findOne({ _id: Meteor.userId(), - 'services.saml.provider': provider + 'services.saml.provider': provider, }, { - 'services.saml': 1 + 'services.saml': 1, }); - let nameID = user.services.saml.nameID; + let { nameID } = user.services.saml; const sessionIndex = user.services.saml.idpSession; nameID = sessionIndex; if (Accounts.saml.settings.debug) { @@ -60,18 +60,18 @@ Meteor.methods({ const request = _saml.generateLogoutRequest({ nameID, - sessionIndex + sessionIndex, }); // request.request: actual XML SAML Request // request.id: comminucation id which will be mentioned in the ResponseTo field of SAMLResponse Meteor.users.update({ - _id: Meteor.userId() + _id: Meteor.userId(), }, { $set: { - 'services.saml.inResponseTo': request.id - } + 'services.saml.inResponseTo': request.id, + }, }); const _syncRequestToUrl = Meteor.wrapAsync(_saml.requestToUrl, _saml); @@ -82,7 +82,7 @@ Meteor.methods({ return result; - } + }, }); Accounts.registerLoginHandler(function(loginRequest) { @@ -98,15 +98,15 @@ Accounts.registerLoginHandler(function(loginRequest) { if (loginResult === undefined) { return { type: 'saml', - error: new Meteor.Error(Accounts.LoginCancelledError.numericError, 'No matching login attempt found') + error: new Meteor.Error(Accounts.LoginCancelledError.numericError, 'No matching login attempt found'), }; } if (loginResult && loginResult.profile && loginResult.profile.email) { - const email = RegExp.escape(loginResult.profile.email); - const emailRegex = new RegExp(`^${ email }$`, 'i'); + const emailList = Array.isArray(loginResult.profile.email) ? loginResult.profile.email : [loginResult.profile.email]; + const emailRegex = new RegExp(emailList.map((email) => `^${ RegExp.escape(email) }$`).join('|'), 'i'); let user = Meteor.users.findOne({ - 'emails.address': emailRegex + 'emails.address': emailRegex, }); if (!user) { @@ -114,10 +114,10 @@ Accounts.registerLoginHandler(function(loginRequest) { name: loginResult.profile.cn || loginResult.profile.username, active: true, globalRoles: ['user'], - emails: [{ - address: loginResult.profile.email, - verified: true - }] + emails: emailList.map((email) => ({ + address: email, + verified: true, + })), }; if (Accounts.saml.settings.generateUsername === true) { @@ -133,34 +133,34 @@ Accounts.registerLoginHandler(function(loginRequest) { user = Meteor.users.findOne(userId); } - //creating the token and adding to the user + // creating the token and adding to the user const stampedToken = Accounts._generateStampedLoginToken(); Meteor.users.update(user, { $push: { - 'services.resume.loginTokens': stampedToken - } + 'services.resume.loginTokens': stampedToken, + }, }); const samlLogin = { provider: Accounts.saml.RelayState, idp: loginResult.profile.issuer, idpSession: loginResult.profile.sessionIndex, - nameID: loginResult.profile.nameID + nameID: loginResult.profile.nameID, }; Meteor.users.update({ - _id: user._id + _id: user._id, }, { $set: { // TBD this should be pushed, otherwise we're only able to SSO into a single IDP at a time - 'services.saml': samlLogin - } + 'services.saml': samlLogin, + }, }); - //sending token along with the userId + // sending token along with the userId const result = { userId: user._id, - token: stampedToken.token + token: stampedToken.token, }; return result; @@ -170,22 +170,25 @@ Accounts.registerLoginHandler(function(loginRequest) { } }); -Accounts.saml._loginResultForCredentialToken = {}; - Accounts.saml.hasCredential = function(credentialToken) { - return _.has(Accounts.saml._loginResultForCredentialToken, credentialToken); + return RocketChat.models.CredentialTokens.findOneById(credentialToken) != null; }; Accounts.saml.retrieveCredential = function(credentialToken) { // The credentialToken in all these functions corresponds to SAMLs inResponseTo field and is mandatory to check. - const result = Accounts.saml._loginResultForCredentialToken[credentialToken]; - delete Accounts.saml._loginResultForCredentialToken[credentialToken]; - return result; + const data = RocketChat.models.CredentialTokens.findOneById(credentialToken); + if (data) { + return data.userInfo; + } +}; + +Accounts.saml.storeCredential = function(credentialToken, loginResult) { + RocketChat.models.CredentialTokens.create(credentialToken, loginResult); }; const closePopup = function(res, err) { res.writeHead(200, { - 'Content-Type': 'text/html' + 'Content-Type': 'text/html', }); let content = '

Verified

'; if (err) { @@ -212,7 +215,7 @@ const samlUrlToObject = function(url) { const result = { actionName: splitPath[2], serviceName: splitPath[3], - credentialToken: splitPath[4] + credentialToken: splitPath[4], }; if (Accounts.saml.settings.debug) { console.log(result); @@ -234,8 +237,10 @@ const middleware = function(req, res, next) { throw new Error('Missing SAML action'); } - console.log(Accounts.saml.settings.providers); - console.log(samlObject.serviceName); + if (Accounts.saml.settings.debug) { + console.log(Accounts.saml.settings.providers); + console.log(samlObject.serviceName); + } const service = _.find(Accounts.saml.settings.providers, function(samlSetting) { return samlSetting.provider === samlObject.serviceName; }); @@ -252,7 +257,7 @@ const middleware = function(req, res, next) { res.writeHead(200); res.write(_saml.generateServiceProviderMetadata(service.callbackUrl)); res.end(); - //closePopup(res); + // closePopup(res); break; case 'logout': // This is where we receive SAML LogoutResponse @@ -264,25 +269,25 @@ const middleware = function(req, res, next) { console.log(`Logging Out user via inResponseTo ${ inResponseTo }`); } const loggedOutUser = Meteor.users.find({ - 'services.saml.inResponseTo': inResponseTo + 'services.saml.inResponseTo': inResponseTo, }).fetch(); if (loggedOutUser.length === 1) { if (Accounts.saml.settings.debug) { console.log(`Found user ${ loggedOutUser[0]._id }`); } Meteor.users.update({ - _id: loggedOutUser[0]._id + _id: loggedOutUser[0]._id, }, { $set: { - 'services.resume.loginTokens': [] - } + 'services.resume.loginTokens': [], + }, }); Meteor.users.update({ - _id: loggedOutUser[0]._id + _id: loggedOutUser[0]._id, }, { $unset: { - 'services.saml': '' - } + 'services.saml': '', + }, }); } else { throw new Meteor.Error('Found multiple users matching SAML inResponseTo fields'); @@ -295,7 +300,7 @@ const middleware = function(req, res, next) { res.writeHead(302, { - 'Location': req.query.RelayState + Location: req.query.RelayState, }); res.end(); } @@ -307,7 +312,7 @@ const middleware = function(req, res, next) { case 'sloRedirect': res.writeHead(302, { // credentialToken here is the SAML LogOut Request that we'll send back to IDP - 'Location': req.query.redirect + Location: req.query.redirect, }); res.end(); break; @@ -320,7 +325,7 @@ const middleware = function(req, res, next) { throw new Error('Unable to generate authorize url'); } res.writeHead(302, { - 'Location': url + Location: url, }); res.end(); }); @@ -328,27 +333,27 @@ const middleware = function(req, res, next) { case 'validate': _saml = new SAML(service); Accounts.saml.RelayState = req.body.RelayState; - _saml.validateResponse(req.body.SAMLResponse, req.body.RelayState, function(err, profile/*, loggedOut*/) { + _saml.validateResponse(req.body.SAMLResponse, req.body.RelayState, function(err, profile/* , loggedOut*/) { if (err) { throw new Error(`Unable to validate response url: ${ err }`); } const credentialToken = (profile.inResponseToId && profile.inResponseToId.value) || profile.inResponseToId || profile.InResponseTo || samlObject.credentialToken; + const loginResult = { + profile, + }; if (!credentialToken) { // No credentialToken in IdP-initiated SSO const saml_idp_credentialToken = Random.id(); - Accounts.saml._loginResultForCredentialToken[saml_idp_credentialToken] = { - profile - }; + Accounts.saml.storeCredential(saml_idp_credentialToken, loginResult); + const url = `${ Meteor.absoluteUrl('home') }?saml_idp_credentialToken=${ saml_idp_credentialToken }`; res.writeHead(302, { - 'Location': url + Location: url, }); res.end(); } else { - Accounts.saml._loginResultForCredentialToken[credentialToken] = { - profile - }; + Accounts.saml.storeCredential(credentialToken, loginResult); closePopup(res); } }); diff --git a/packages/meteor-accounts-saml/saml_utils.js b/packages/meteor-accounts-saml/saml_utils.js index 30eec18b57ba..3fb1776a7a1c 100644 --- a/packages/meteor-accounts-saml/saml_utils.js +++ b/packages/meteor-accounts-saml/saml_utils.js @@ -1,12 +1,12 @@ /* globals SAML:true */ import zlib from 'zlib'; -import xml2js from 'xml2js'; import xmlCrypto from 'xml-crypto'; import crypto from 'crypto'; import xmldom from 'xmldom'; import querystring from 'querystring'; import xmlbuilder from 'xmlbuilder'; +import array2string from 'arraybuffer-to-string'; // var prefixMatch = new RegExp(/(?!xmlns)^.*:/); @@ -15,6 +15,12 @@ SAML = function(options) { this.options = this.initialize(options); }; +function debugLog(...args) { + if (Meteor.settings.debug) { + console.log.apply(this, args); + } +} + // var stripPrefix = function(str) { // return str.replace(prefixMatch, ''); // }; @@ -83,14 +89,12 @@ SAML.prototype.generateAuthorizeRequest = function(req) { } let request = - `` + `${ this.options.issuer }\n`; if (this.options.identifierFormat) { - request += `\n`; + request += `\n`; } request += @@ -111,8 +115,7 @@ SAML.prototype.generateLogoutRequest = function(options) { const instant = this.generateInstant(); let request = `${ '` + + 'xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="' }${ id }" Version="2.0" IssueInstant="${ instant }" Destination="${ this.options.idpSLORedirectURL }">` + `${ this.options.issuer }` + `${ options.nameID }` + ''; @@ -131,13 +134,13 @@ SAML.prototype.generateLogoutRequest = function(options) { options.nameID }` + `${ options.sessionIndex }` + ''; - if (Meteor.settings.debug) { - console.log('------- SAML Logout request -----------'); - console.log(request); - } + + debugLog('------- SAML Logout request -----------'); + debugLog(request); + return { request, - id + id, }; }; @@ -174,7 +177,7 @@ SAML.prototype.requestToUrl = function(request, operation, callback) { const samlRequest = { SAMLRequest: base64, - RelayState: relayState + RelayState: relayState, }; if (self.options.privateCert) { @@ -184,9 +187,8 @@ SAML.prototype.requestToUrl = function(request, operation, callback) { target += querystring.stringify(samlRequest); - if (Meteor.settings.debug) { - console.log(`requestToUrl: ${ target }`); - } + debugLog(`requestToUrl: ${ target }`); + if (operation === 'logout') { // in case of logout we want to be redirected back to the Meteor app. return callback(null, target); @@ -227,6 +229,34 @@ SAML.prototype.certToPEM = function(cert) { // return res; // } +SAML.prototype.validateStatus = function(doc) { + let successStatus = false; + let status = ''; + let messageText = ''; + const statusNodes = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'StatusCode'); + + if (statusNodes.length) { + + const statusNode = statusNodes[0]; + const statusMessage = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'StatusMessage')[0]; + + if (statusMessage) { + messageText = statusMessage.firstChild.textContent; + } + + status = statusNode.getAttribute('Value'); + + if (status === 'urn:oasis:names:tc:SAML:2.0:status:Success') { + successStatus = true; + } + } + return { + success: successStatus, + message: messageText, + statusCode: status, + }; +}; + SAML.prototype.validateSignature = function(xml, cert) { const self = this; @@ -236,12 +266,12 @@ SAML.prototype.validateSignature = function(xml, cert) { const sig = new xmlCrypto.SignedXml(); sig.keyInfoProvider = { - getKeyInfo(/*key*/) { + getKeyInfo(/* key*/) { return ''; }, - getKey(/*keyInfo*/) { + getKey(/* keyInfo*/) { return self.certToPEM(cert); - } + }, }; sig.loadSignature(signature); @@ -249,189 +279,198 @@ SAML.prototype.validateSignature = function(xml, cert) { return sig.checkSignature(xml); }; -SAML.prototype.getElement = function(parentElement, elementName) { - if (parentElement[`saml:${ elementName }`]) { - return parentElement[`saml:${ elementName }`]; - } else if (parentElement[`samlp:${ elementName }`]) { - return parentElement[`samlp:${ elementName }`]; - } else if (parentElement[`saml2p:${ elementName }`]) { - return parentElement[`saml2p:${ elementName }`]; - } else if (parentElement[`saml2:${ elementName }`]) { - return parentElement[`saml2:${ elementName }`]; - } else if (parentElement[`ns0:${ elementName }`]) { - return parentElement[`ns0:${ elementName }`]; - } else if (parentElement[`ns1:${ elementName }`]) { - return parentElement[`ns1:${ elementName }`]; - } - return parentElement[elementName]; -}; - SAML.prototype.validateLogoutResponse = function(samlResponse, callback) { const self = this; - const compressedSAMLResponse = new Buffer(samlResponse, 'base64'); zlib.inflateRaw(compressedSAMLResponse, function(err, decoded) { - if (err) { - if (Meteor.settings.debug) { - console.log(err); - } + debugLog(`Error while inflating. ${ err }`); } else { - const parser = new xml2js.Parser({ - explicitRoot: true - }); - parser.parseString(decoded, function(err, doc) { - const response = self.getElement(doc, 'LogoutResponse'); - + debugLog(`constructing new DOM parser: ${ Object.prototype.toString.call(decoded) }`); + debugLog(`>>>> ${ decoded }`); + const doc = new xmldom.DOMParser().parseFromString(array2string(decoded), 'text/xml'); + if (doc) { + const response = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'LogoutResponse')[0]; if (response) { + // TBD. Check if this msg corresponds to one we sent - const inResponseTo = response.$.InResponseTo; - if (Meteor.settings.debug) { - console.log(`In Response to: ${ inResponseTo }`); - } - const status = self.getElement(response, 'Status'); - const statusCode = self.getElement(status[0], 'StatusCode')[0].$.Value; - if (Meteor.settings.debug) { - console.log(`StatusCode: ${ JSON.stringify(statusCode) }`); + let inResponseTo; + try { + inResponseTo = response.getAttribute('InResponseTo'); + debugLog(`In Response to: ${ inResponseTo }`); + } catch (e) { + if (Meteor.settings.debug) { + debugLog(`Caught error: ${ e }`); + const msg = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'StatusMessage'); + debugLog(`Unexpected msg from IDP. Does your session still exist at IDP? Idp returned: \n ${ msg }`); + } } - if (statusCode === 'urn:oasis:names:tc:SAML:2.0:status:Success') { - // In case of a successful logout at IDP we return inResponseTo value. - // This is the only way how we can identify the Meteor user (as we don't use Session Cookies) + + const statusValidateObj = self.validateStatus(doc); + + if (statusValidateObj.success) { callback(null, inResponseTo); } else { callback('Error. Logout not confirmed by IDP', null); + } } else { callback('No Response Found', null); } - }); + } } }); }; +SAML.prototype.mapAttributes = function(attributeStatement, profile) { + debugLog(`Attribute Statement found in SAML response: ${ attributeStatement }`); + const attributes = attributeStatement.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'Attribute'); + debugLog(`Attributes will be processed: ${ attributes.length }`); + + if (attributes) { + for (let i = 0; i < attributes.length; i++) { + const values = attributes[i].getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'AttributeValue'); + let value; + if (values.length === 1) { + value = values[0].textContent; + } else { + value = []; + for (let j = 0;j < values.length;j++) { + value.push(values[j].textContent); + } + } + + const key = attributes[i].getAttribute('Name'); + + debugLog(`Name: ${ attributes[i] }`); + debugLog(`Adding attribute from SAML response to profile: ${ key } = ${ value }`); + profile[key] = value; + } + } else { + debugLog('No Attributes found in SAML attribute statement.'); + } + + if (!profile.mail && profile['urn:oid:0.9.2342.19200300.100.1.3']) { + // See http://www.incommonfederation.org/attributesummary.html for definition of attribute OIDs + profile.mail = profile['urn:oid:0.9.2342.19200300.100.1.3']; + } + + if (!profile.email && profile['urn:oid:1.2.840.113549.1.9.1']) { + profile.email = profile['urn:oid:1.2.840.113549.1.9.1']; + } + + if (!profile.email && profile.mail) { + profile.email = profile.mail; + } +}; + SAML.prototype.validateResponse = function(samlResponse, relayState, callback) { const self = this; const xml = new Buffer(samlResponse, 'base64').toString('utf8'); // We currently use RelayState to save SAML provider - if (Meteor.settings.debug) { - console.log(`Validating response with relay state: ${ xml }`); - } - const parser = new xml2js.Parser({ - explicitRoot: true, - xmlns:true - }); + debugLog(`Validating response with relay state: ${ xml }`); - parser.parseString(xml, function(err, doc) { - // Verify signature - if (Meteor.settings.debug) { - console.log('Verify signature'); - } - if (self.options.cert && !self.validateSignature(xml, self.options.cert)) { - if (Meteor.settings.debug) { - console.log('Signature WRONG'); - } - return callback(new Error('Invalid signature'), null, false); - } - if (Meteor.settings.debug) { - console.log('Signature OK'); - } - const response = self.getElement(doc, 'Response'); - if (Meteor.settings.debug) { - console.log('Got response'); - } - if (response) { - const assertion = self.getElement(response, 'Assertion'); - if (!assertion) { - return callback(new Error('Missing SAML assertion'), null, false); - } + const doc = new xmldom.DOMParser().parseFromString(xml, 'text/xml'); - const profile = {}; + if (doc) { + debugLog('Verify status'); + const statusValidateObj = self.validateStatus(doc); - if (response.$ && response.$.InResponseTo) { - profile.inResponseToId = response.$.InResponseTo; - } + if (statusValidateObj.success) { + debugLog('Status ok'); - const issuer = self.getElement(assertion[0], 'Issuer'); - if (issuer) { - profile.issuer = issuer[0]._; + // Verify signature + debugLog('Verify signature'); + if (self.options.cert && !self.validateSignature(xml, self.options.cert)) { + debugLog('Signature WRONG'); + return callback(new Error('Invalid signature'), null, false); } + debugLog('Signature OK'); - const subject = self.getElement(assertion[0], 'Subject'); + const response = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'Response')[0]; + if (response) { + debugLog('Got response'); - if (subject) { - const nameID = self.getElement(subject[0], 'NameID'); - if (nameID) { - profile.nameID = nameID[0]._; + const assertion = response.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'Assertion')[0]; + if (!assertion) { + return callback(new Error('Missing SAML assertion'), null, false); + } - if (nameID[0].$.Format) { - profile.nameIDFormat = nameID[0].$.Format; - } + const profile = {}; + + if (response.hasAttribute('InResponseTo')) { + profile.inResponseToId = response.getAttribute('InResponseTo'); + } + + const issuer = assertion.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'Issuer')[0]; + if (issuer) { + profile.issuer = issuer.textContent; } - } - const authnStatement = self.getElement(assertion[0], 'AuthnStatement'); + const subject = assertion.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'Subject')[0]; - if (authnStatement) { - if (authnStatement[0].$.SessionIndex) { + if (subject) { + const nameID = subject.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'NameID')[0]; + if (nameID) { + profile.nameID = nameID.textContent; - profile.sessionIndex = authnStatement[0].$.SessionIndex; - if (Meteor.settings.debug) { - console.log(`Session Index: ${ profile.sessionIndex }`); + if (nameID.hasAttribute('Format')) { + profile.nameIDFormat = nameID.getAttribute('Format'); + } } - } else if (Meteor.settings.debug) { - console.log('No Session Index Found'); } + const authnStatement = assertion.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'AuthnStatement')[0]; - } else if (Meteor.settings.debug) { - console.log('No AuthN Statement found'); - } + if (authnStatement) { + if (authnStatement.hasAttribute('SessionIndex')) { - const attributeStatement = self.getElement(assertion[0], 'AttributeStatement'); - if (attributeStatement) { - const attributes = self.getElement(attributeStatement[0], 'Attribute'); - - if (attributes) { - attributes.forEach(function(attribute) { - const value = self.getElement(attribute, 'AttributeValue'); - if (typeof value[0] === 'string') { - profile[attribute.$.Name] = value[0]; - } else { - profile[attribute.$.Name] = value[0]._; - } - }); + profile.sessionIndex = authnStatement.getAttribute('SessionIndex'); + debugLog(`Session Index: ${ profile.sessionIndex }`); + } else { + debugLog('No Session Index Found'); + } + } else { + debugLog('No AuthN Statement found'); } - if (!profile.mail && profile['urn:oid:0.9.2342.19200300.100.1.3']) { - // See http://www.incommonfederation.org/attributesummary.html for definition of attribute OIDs - profile.mail = profile['urn:oid:0.9.2342.19200300.100.1.3']; + const attributeStatement = assertion.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:assertion', 'AttributeStatement')[0]; + if (attributeStatement) { + this.mapAttributes(attributeStatement, profile); + } else { + debugLog('No Attribute Statement found in SAML response.'); } - if (!profile.email && profile.mail) { - profile.email = profile.mail; + if (!profile.email && profile.nameID && profile.nameIDFormat && profile.nameIDFormat.indexOf('emailAddress') >= 0) { + profile.email = profile.nameID; } - } - if (!profile.email && profile.nameID && (profile.nameIDFormat && profile.nameIDFormat.value != null ? profile.nameIDFormat.value : profile.nameIDFormat).indexOf('emailAddress') >= 0) { - profile.email = profile.nameID; - } - if (Meteor.settings.debug) { - console.log(`NameID: ${ JSON.stringify(profile) }`); - } + const profileKeys = Object.keys(profile); + for (let i = 0; i < profileKeys.length; i++) { + const key = profileKeys[i]; - callback(null, profile, false); - } else { - const logoutResponse = self.getElement(doc, 'LogoutResponse'); + if (key.match(/\./)) { + profile[key.replace(/\./g, '-')] = profile[key]; + delete profile[key]; + } + } - if (logoutResponse) { - callback(null, null, true); + debugLog(`NameID: ${ JSON.stringify(profile) }`); + callback(null, profile, false); } else { - return callback(new Error('Unknown SAML response message'), null, false); - } + const logoutResponse = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'LogoutResponse'); + if (logoutResponse) { + callback(null, null, true); + } else { + return callback(new Error('Unknown SAML response message'), null, false); + } + } + } else { + return callback(new Error(`Status is: ${ statusValidateObj.statusCode }`), null, false); } - }); + } }; let decryptionCert; @@ -447,26 +486,26 @@ SAML.prototype.generateServiceProviderMetadata = function(callbackUrl) { } const metadata = { - 'EntityDescriptor': { + EntityDescriptor: { '@xmlns': 'urn:oasis:names:tc:SAML:2.0:metadata', '@xmlns:ds': 'http://www.w3.org/2000/09/xmldsig#', '@entityID': this.options.issuer, - 'SPSSODescriptor': { + SPSSODescriptor: { '@protocolSupportEnumeration': 'urn:oasis:names:tc:SAML:2.0:protocol', - 'SingleLogoutService': { + SingleLogoutService: { '@Binding': 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect', '@Location': `${ Meteor.absoluteUrl() }_saml/logout/${ this.options.provider }/`, - '@ResponseLocation': `${ Meteor.absoluteUrl() }_saml/logout/${ this.options.provider }/` + '@ResponseLocation': `${ Meteor.absoluteUrl() }_saml/logout/${ this.options.provider }/`, }, - 'NameIDFormat': this.options.identifierFormat, - 'AssertionConsumerService': { + NameIDFormat: this.options.identifierFormat, + AssertionConsumerService: { '@index': '1', '@isDefault': 'true', '@Binding': 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST', - '@Location': callbackUrl - } - } - } + '@Location': callbackUrl, + }, + }, + }, }; if (this.options.privateKey) { @@ -479,38 +518,32 @@ SAML.prototype.generateServiceProviderMetadata = function(callbackUrl) { decryptionCert = decryptionCert.replace(/-+END CERTIFICATE-+\r?\n?/, ''); decryptionCert = decryptionCert.replace(/\r\n/g, '\n'); - metadata['EntityDescriptor']['SPSSODescriptor']['KeyDescriptor'] = { + metadata.EntityDescriptor.SPSSODescriptor.KeyDescriptor = { 'ds:KeyInfo': { 'ds:X509Data': { 'ds:X509Certificate': { - '#text': decryptionCert - } - } + '#text': decryptionCert, + }, + }, }, - '#list': [ + EncryptionMethod: [ // this should be the set that the xmlenc library supports { - 'EncryptionMethod': { - '@Algorithm': 'http://www.w3.org/2001/04/xmlenc#aes256-cbc' - } + '@Algorithm': 'http://www.w3.org/2001/04/xmlenc#aes256-cbc', }, { - 'EncryptionMethod': { - '@Algorithm': 'http://www.w3.org/2001/04/xmlenc#aes128-cbc' - } + '@Algorithm': 'http://www.w3.org/2001/04/xmlenc#aes128-cbc', }, { - 'EncryptionMethod': { - '@Algorithm': 'http://www.w3.org/2001/04/xmlenc#tripledes-cbc' - } - } - ] + '@Algorithm': 'http://www.w3.org/2001/04/xmlenc#tripledes-cbc', + }, + ], }; } return xmlbuilder.create(metadata).end({ pretty: true, indent: ' ', - newline: '\n' + newline: '\n', }); }; diff --git a/packages/meteor-autocomplete/client/autocomplete-client.js b/packages/meteor-autocomplete/client/autocomplete-client.js index e600f7c44e87..4ff45746cab0 100644 --- a/packages/meteor-autocomplete/client/autocomplete-client.js +++ b/packages/meteor-autocomplete/client/autocomplete-client.js @@ -37,7 +37,7 @@ const getFindParams = function(rule, filter, limit) { // We need to extend so that we don't copy over rule.filter const selector = _.extend({}, rule.filter || {}); const options = { - limit + limit, }; if (!filter) { // Match anything, no sort, limit X @@ -56,7 +56,7 @@ const getFindParams = function(rule, filter, limit) { selector[rule.field] = { $regex: rule.matchAll ? filter : `^${ filter }`, // default is case insensitive search - empty string is not the same as undefined! - $options: typeof rule.options === 'undefined' ? 'i' : rule.options + $options: typeof rule.options === 'undefined' ? 'i' : rule.options, }; } return [selector, options]; @@ -64,7 +64,7 @@ const getFindParams = function(rule, filter, limit) { const getField = function(obj, str) { const string = str.split('.'); - string.forEach(key => { + string.forEach((key) => { obj = obj[key]; }); return obj; @@ -79,21 +79,19 @@ this.AutoComplete = class { this.selector = { constainer: '.-autocomplete-container', item: '.-autocomplete-item', - ...settings.selector + ...settings.selector, }; - const rules = this.rules; + const { rules } = this; - Object.keys(rules).forEach(key => { + Object.keys(rules).forEach((key) => { const rule = rules[key]; validateRule(rule); }); - this.expressions = (() => { - return Object.keys(rules).map(key => { - const rule = rules[key]; - return getRegExp(rule); - }); - })(); + this.expressions = (() => Object.keys(rules).map((key) => { + const rule = rules[key]; + return getRegExp(rule); + }))(); this.matched = -1; this.loaded = true; @@ -172,7 +170,7 @@ this.AutoComplete = class { setLoaded(val) { if (val === this.loaded) { - return; //Don't cause redraws unnecessarily + return; // Don't cause redraws unnecessarily } this.loaded = val; this.loadingDep.changed(); @@ -180,7 +178,7 @@ this.AutoComplete = class { onKeyUp() { if (!this.$element) { - return; //Don't try to do this while loading + return; // Don't try to do this while loading } const startpos = this.element.selectionStart; const val = this.getText().substring(0, startpos); @@ -224,23 +222,23 @@ this.AutoComplete = class { return; } switch (e.keyCode) { - case 9: //TAB - case 13: //ENTER - if (this.select()) { //Don't jump fields or submit if select successful + case 9: // TAB + case 13: // ENTER + if (this.select()) { // Don't jump fields or submit if select successful e.preventDefault(); e.stopPropagation(); } break; // preventDefault needed below to avoid moving cursor when selecting - case 40: //DOWN + case 40: // DOWN e.preventDefault(); this.next(); break; - case 38: //UP + case 38: // UP e.preventDefault(); this.prev(); break; - case 27: //ESCAPE + case 27: // ESCAPE this.$element.blur(); this.hideList(); } @@ -271,7 +269,7 @@ this.AutoComplete = class { filteredList() { // @ruleDep.depend() # optional as long as we use depend on filter, because list will always get re-rendered - const filter = this.getFilter(); //Reactively depend on the filter + const filter = this.getFilter(); // Reactively depend on the filter if (this.matched === -1) { return null; } @@ -318,7 +316,7 @@ this.AutoComplete = class { } const doc = Blaze.getData(node); if (!doc) { - return false; //Don't select if nothing matched + return false; // Don't select if nothing matched } this.processSelection(doc, this.rules[this.matched]); @@ -393,10 +391,10 @@ this.AutoComplete = class { if (rule && isWholeField(rule)) { pos.left = position.left; if (rule.doNotChangeWidth !== false) { - pos.width = this.$element.outerWidth(); //position.offsetWidth + pos.width = this.$element.outerWidth(); // position.offsetWidth } - } else { //Normal positioning, at token word + } else { // Normal positioning, at token word pos = { left: position.left + offset.left }; } @@ -428,22 +426,22 @@ this.AutoComplete = class { const next = currentItem.next(); if (next.length) { next.addClass('selected'); - } else { //End of list or lost selection; Go back to first item + } else { // End of list or lost selection; Go back to first item this.tmplInst.$(`${ this.selector.item }:first-child`).addClass('selected'); } } - //Select previous item in list + // Select previous item in list prev() { const currentItem = this.tmplInst.$(`${ this.selector.item }.selected`); if (!currentItem.length) { - return; //Don't try to iterate an empty list + return; // Don't try to iterate an empty list } currentItem.removeClass('selected'); const prev = currentItem.prev(); if (prev.length) { prev.addClass('selected'); - } else { //Beginning of list or lost selection; Go to end of list + } else { // Beginning of list or lost selection; Go to end of list this.tmplInst.$(`${ this.selector.item }:last-child`).addClass('selected'); } } diff --git a/packages/meteor-autocomplete/client/templates.js b/packages/meteor-autocomplete/client/templates.js index 0785af8f2c89..4649319c8581 100644 --- a/packages/meteor-autocomplete/client/templates.js +++ b/packages/meteor-autocomplete/client/templates.js @@ -15,7 +15,7 @@ const acEvents = { }, 'blur'(e, t) { t.ac.onBlur(e); - } + }, }; Template.inputAutocomplete.events(acEvents); @@ -23,7 +23,7 @@ Template.inputAutocomplete.events(acEvents); Template.textareaAutocomplete.events(acEvents); const attributes = function() { - return _.omit(this, 'settings'); //Render all but the settings parameter + return _.omit(this, 'settings'); // Render all but the settings parameter }; @@ -42,7 +42,7 @@ const autocompleteHelpers = { return Blaze.With(ac, function() { //eslint-disable-line return Template._autocompleteContainer; }); - }) + }), }; Template.inputAutocomplete.helpers(autocompleteHelpers); @@ -70,7 +70,7 @@ Template._autocompleteContainer.events({ }, 'mouseenter .-autocomplete-item'(e, t) { t.data.onItemHover(this, e); - } + }, }); Template._autocompleteContainer.helpers({ @@ -79,6 +79,6 @@ Template._autocompleteContainer.helpers({ }, noMatchTemplate() { return this.matchedRule().noMatchTemplate || Template._noMatch; - } + }, }); export { acEvents, attributes, autocompleteHelpers }; diff --git a/packages/meteor-autocomplete/package.js b/packages/meteor-autocomplete/package.js index 8cd2a55cd5a5..25a26143b2ba 100644 --- a/packages/meteor-autocomplete/package.js +++ b/packages/meteor-autocomplete/package.js @@ -3,7 +3,7 @@ Package.describe({ name: 'mizzao:autocomplete', summary: 'Client/server autocompletion designed for Meteor\'s collections and reactivity', version: '0.5.1', - git: 'https://github.com/mizzao/meteor-autocomplete.git' + git: 'https://github.com/mizzao/meteor-autocomplete.git', }); Package.onUse(function(api) { @@ -18,11 +18,11 @@ Package.onUse(function(api) { 'client/autocomplete.css', 'client/inputs.html', 'client/autocomplete-client.js', - 'client/templates.js' + 'client/templates.js', ], 'client'); api.addFiles([ - 'server/autocomplete-server.js' + 'server/autocomplete-server.js', ], 'server'); api.export('Autocomplete', 'server'); diff --git a/packages/rocketchat-2fa/client/TOTPPassword.js b/packages/rocketchat-2fa/client/TOTPPassword.js index aacc881d5be9..d8bf6b114bb7 100644 --- a/packages/rocketchat-2fa/client/TOTPPassword.js +++ b/packages/rocketchat-2fa/client/TOTPPassword.js @@ -11,9 +11,9 @@ function reportError(error, callback) { Meteor.loginWithPasswordAndTOTP = function(selector, password, code, callback) { if (typeof selector === 'string') { if (selector.indexOf('@') === -1) { - selector = {username: selector}; + selector = { username: selector }; } else { - selector = {email: selector}; + selector = { email: selector }; } } @@ -22,10 +22,10 @@ Meteor.loginWithPasswordAndTOTP = function(selector, password, code, callback) { totp: { login: { user: selector, - password: Accounts._hashPassword(password) + password: Accounts._hashPassword(password), }, - code - } + code, + }, }], userCallback(error) { if (error) { @@ -33,11 +33,11 @@ Meteor.loginWithPasswordAndTOTP = function(selector, password, code, callback) { } else { callback && callback(); } - } + }, }); }; -const loginWithPassword = Meteor.loginWithPassword; +const { loginWithPassword } = Meteor; Meteor.loginWithPassword = function(email, password, cb) { loginWithPassword(email, password, (error) => { @@ -53,7 +53,7 @@ Meteor.loginWithPassword = function(email, password, cb) { showCancelButton: true, closeOnConfirm: true, confirmButtonText: t('Verify'), - cancelButtonText: t('Cancel') + cancelButtonText: t('Cancel'), }, (code) => { if (code === false) { return cb(); diff --git a/packages/rocketchat-2fa/client/accountSecurity.html b/packages/rocketchat-2fa/client/accountSecurity.html index 6e4e02e589e3..935a10b007c6 100644 --- a/packages/rocketchat-2fa/client/accountSecurity.html +++ b/packages/rocketchat-2fa/client/accountSecurity.html @@ -1,35 +1,31 @@