diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 89310b447..1f96abb57 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -10,7 +10,7 @@ ENV DEBIAN_FRONTEND=noninteractive ENV \ DEBUG=false \ - NODE_VERSION=v12.20.0 \ + NODE_VERSION=v12.20.1 \ METEOR_RELEASE=1.10.2 \ USE_EDGE=false \ METEOR_EDGE=1.5-beta.17 \ diff --git a/.future-snap/broken-snapcraft.yaml b/.future-snap/broken-snapcraft.yaml index a43d78550..34bbdcab8 100644 --- a/.future-snap/broken-snapcraft.yaml +++ b/.future-snap/broken-snapcraft.yaml @@ -81,7 +81,7 @@ parts: wekan: source: . plugin: nodejs - node-engine: 12.20.0 + node-engine: 12.20.1 node-packages: - node-gyp - node-pre-gyp diff --git a/.future-snap/snapcraft.yaml b/.future-snap/snapcraft.yaml index b1cb1c933..b6ccdd682 100644 --- a/.future-snap/snapcraft.yaml +++ b/.future-snap/snapcraft.yaml @@ -83,7 +83,7 @@ parts: wekan: source: . plugin: nodejs - node-engine: 12.20.0 + node-engine: 12.20.1 node-packages: - node-gyp - node-pre-gyp diff --git a/.travis.yml b/.travis.yml index f3752edb2..0384c48f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ sudo: required env: TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0 - TRAVIS_NODE_VERSION: 12.20.0 + TRAVIS_NODE_VERSION: 12.20.1 TRAVIS_NPM_VERSION: latest before_install: diff --git a/CHANGELOG.md b/CHANGELOG.md index 712a9ed35..254212f0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,19 @@ -# Upcoming Wekan release +# v4.70 2021-01-04 Wekan release -This release adds the following new features: +This release adds the following CRITICAL SECURITY FIXES: + +- [Upgrade to Node.js 12.20.1](https://github.com/wekan/wekan/commit/4bfe017b08f573991fd1f9229ae53573798f475e). + Thanks to Node developers. + +and adds the following new features: - [Added many new translations to Wekan, now there is total 60 translations in Wekan. Updated translations. Organized pull-translations.sh alphabetically by language name](https://github.com/wekan/wekan/commit/d171f4088f40512d321969df3f0c280a620c0c5f). Thanks to translators and xet7. +- [Added markdown and emoji to My Cards board, swimlane and list names](https://github.com/wekan/wekan/commit/763dc9c8e0122990c5f496392f2cce980c535dce). + Thanks to xet7. +- [Show Admin Panel / People and Version also on mobile MiniScreen](https://github.com/wekan/wekan/commit/754a91dbdc3d7111c367cb5dd0a02250a837e42a). + Thanks to xet7. Thanks to above GitHub users for their contributions and translators for their translations. diff --git a/Dockerfile b/Dockerfile index 44786093d..eb978f49e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ ARG DEBIAN_FRONTEND=noninteractive ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \ DEBUG=false \ - NODE_VERSION=v12.20.0 \ + NODE_VERSION=v12.20.1 \ METEOR_RELEASE=1.10.2 \ USE_EDGE=false \ METEOR_EDGE=1.5-beta.17 \ diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8 index 634b8961e..80cdc642c 100644 --- a/Dockerfile.arm64v8 +++ b/Dockerfile.arm64v8 @@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder ENV QEMU_VERSION=v4.2.0-6 \ QEMU_ARCHITECTURE=aarch64 \ NODE_ARCHITECTURE=linux-arm64 \ - NODE_VERSION=v12.20.0 \ + NODE_VERSION=v12.20.1 \ WEKAN_VERSION=3.96 \ WEKAN_ARCHITECTURE=arm64 @@ -40,7 +40,7 @@ LABEL maintainer="wekan" # Set the environment variables (defaults where required) ENV QEMU_ARCHITECTURE=aarch64 \ NODE_ARCHITECTURE=linux-arm64 \ - NODE_VERSION=v12.20.0 \ + NODE_VERSION=v12.20.1 \ NODE_ENV=production \ NPM_VERSION=latest \ WITH_API=true \ diff --git a/Stackerfile.yml b/Stackerfile.yml index 5840c47d7..52acce00e 100644 --- a/Stackerfile.yml +++ b/Stackerfile.yml @@ -1,5 +1,5 @@ appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928 -appVersion: "v4.69.0" +appVersion: "v4.70.0" files: userUploads: - README.md diff --git a/client/components/settings/peopleBody.jade b/client/components/settings/peopleBody.jade index bc88e3dc0..3330b343c 100644 --- a/client/components/settings/peopleBody.jade +++ b/client/components/settings/peopleBody.jade @@ -10,33 +10,36 @@ template(name="people") else if orgSetting.get span i.fa.fa-sitemap - | {{_ 'organizations'}} + unless isMiniScreen + | {{_ 'organizations'}} input#searchOrgInput(placeholder="{{_ 'search'}}") button#searchOrgButton i.fa.fa-search | {{_ 'search'}} .ext-box-right - span {{_ 'org-number'}} #{orgNumber} + span {{#unless isMiniScreen}}{{_ 'org-number'}}{{/unless}} #{orgNumber} else if teamSetting.get span i.fa.fa-users - | {{_ 'teams'}} + unless isMiniScreen + | {{_ 'teams'}} input#searchTeamInput(placeholder="{{_ 'search'}}") button#searchTeamButton i.fa.fa-search | {{_ 'search'}} .ext-box-right - span {{_ 'team-number'}} #{teamNumber} + span {{#unless isMiniScreen}}{{_ 'team-number'}}{{/unless}} #{teamNumber} else if peopleSetting.get span i.fa.fa-user - | {{_ 'people'}} + unless isMiniScreen + | {{_ 'people'}} input#searchInput(placeholder="{{_ 'search'}}") button#searchButton i.fa.fa-search | {{_ 'search'}} .ext-box-right - span {{_ 'people-number'}} #{peopleNumber} + span {{#unless isMiniScreen}}{{_ 'people-number'}}{{/unless}} #{peopleNumber} .content-body .side-menu ul diff --git a/client/components/settings/settingHeader.jade b/client/components/settings/settingHeader.jade index 221c1b793..d7ab8ca23 100644 --- a/client/components/settings/settingHeader.jade +++ b/client/components/settings/settingHeader.jade @@ -3,22 +3,21 @@ template(name="settingHeaderBar") span {{_ 'admin-panel'}} .setting-header-btns.left - unless isMiniScreen - if currentUser - a.setting-header-btn.settings(href="{{pathFor 'setting'}}") - i.fa(class="fa-cog") - span {{_ 'settings'}} + if currentUser + a.setting-header-btn.settings(href="{{pathFor 'setting'}}") + i.fa(class="fa-cog") + span {{_ 'settings'}} - a.setting-header-btn.people(href="{{pathFor 'people'}}") - i.fa(class="fa-users") - span {{_ 'people'}} + a.setting-header-btn.people(href="{{pathFor 'people'}}") + i.fa(class="fa-users") + span {{_ 'people'}} - a.setting-header-btn.informations(href="{{pathFor 'information'}}") - i.fa(class="fa-info-circle") - span {{_ 'info'}} + a.setting-header-btn.informations(href="{{pathFor 'information'}}") + i.fa(class="fa-info-circle") + span {{_ 'info'}} - else - a.setting-header-btn.js-log-in( - title="{{_ 'log-in'}}") - i.fa.fa-sign-in - span {{_ 'log-in'}} + else + a.setting-header-btn.js-log-in( + title="{{_ 'log-in'}}") + i.fa.fa-sign-in + span {{_ 'log-in'}} diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json index 973f16876..93c285221 100644 --- a/i18n/hi.i18n.json +++ b/i18n/hi.i18n.json @@ -43,7 +43,7 @@ "act-withBoardTitle": "__board__", "act-withCardTitle": "[__board__] __card__", "actions": "कार्रवाई", - "activities": "गतिविधि", + "activities": "गतिविधियां", "activity": "क्रियाएँ", "activity-added": "जोड़ा गया %s से %s", "activity-archived": "%sसंग्रह में ले जाया गया", @@ -124,7 +124,7 @@ "attachmentDeletePopup-title": "मिटाएँ संलग्नक?", "attachments": "संलग्नक", "auto-watch": "स्वचालित रूप से देखो बोर्डों जब वे बनाए जाते हैं", - "avatar-too-big": "The avatar is too large (520KB max)", + "avatar-too-big": "अवतार बहुत बड़ा है (अधिकतम 520KB)", "back": "वापस", "board-change-color": "रंग बदलना", "board-nb-stars": "%s पसंद होना", @@ -342,11 +342,11 @@ "filter-cards": "निस्पंदन पत्ते या सूची", "list-filter-label": "शीर्षक द्वारा निस्पंदन सूची", "filter-clear": "Clear filter", - "filter-labels-label": "Filter by label", + "filter-labels-label": "लेबल द्वारा फ़िल्टर करें", "filter-no-label": "No label", - "filter-member-label": "Filter by member", + "filter-member-label": "सदस्य द्वारा फ़िल्टर करें", "filter-no-member": "No सदस्य", - "filter-assignee-label": "Filter by assignee", + "filter-assignee-label": "संपत्ति-भागी द्वारा फ़िल्टर करें", "filter-no-assignee": "कोई अभिहस्तांकिती नहीं", "filter-custom-fields-label": "Filter by Custom Fields", "filter-no-custom-fields": "No प्रचलन क्षेत्र", @@ -355,7 +355,7 @@ "filter-on": "Filter is on", "filter-on-desc": "You are filtering कार्ड इस पर बोर्ड. Click here तक संपादित करें filter.", "filter-to-selection": "Filter तक selection", - "other-filters-label": "Other Filters", + "other-filters-label": "अन्य फिल्टर", "advanced-filter-label": "Advanced Filter", "advanced-filter-description": "Advanced Filter allows तक write एक string containing following operators: == != <= >= && || ( ) एक space is used as एक separator between the Operators. You can filter for संपूर्ण प्रचलन क्षेत्र by typing their names और values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need तक encapsulate them के अंदर single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) तक be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally संपूर्ण operators are interpreted से left तक right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i", "fullname": "Full Name", @@ -409,7 +409,7 @@ "list-select-cards": "Select संपूर्ण कार्ड अंदर में यह list", "set-color-list": "Set Color", "listActionPopup-title": "सूची Actions", - "settingsUserPopup-title": "User Settings", + "settingsUserPopup-title": "उपयोगकर्ता सेटिंग", "swimlaneActionPopup-title": "तैरन Actions", "swimlaneAddPopup-title": "Add a Swimlane below", "listImportCardPopup-title": "Import एक Trello कार्ड", diff --git a/package-lock.json b/package-lock.json index c30da2cf2..8f9472294 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v4.69.0", + "version": "v4.70.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 655b3a9c1..e13cd8b48 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v4.69.0", + "version": "v4.70.0", "description": "Open-Source kanban", "private": true, "scripts": { diff --git a/public/api/wekan.html b/public/api/wekan.html index 0cbf8192c..da7930707 100644 --- a/public/api/wekan.html +++ b/public/api/wekan.html @@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc