mirror of
https://github.com/wekan/wekan.git
synced 2026-11-06 10:45:03 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e5d260fd2 | ||
|
|
691efb7843 | ||
|
|
67500abcd4 | ||
|
|
092b121c38 | ||
|
|
c27a2b22c6 | ||
|
|
9213451dca | ||
|
|
139a1c0f78 | ||
|
|
41d5ecd605 | ||
|
|
fd9478dc57 | ||
|
|
f1092c6f40 | ||
|
|
51b31df2c8 | ||
|
|
2f46f2a888 | ||
|
|
cae0b29500 |
No files matched your search
@@ -10,6 +10,26 @@ Note:
|
||||
|
||||
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
|
||||
|
||||
# v6.76 2023-02-22 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Updated release scripts](https://github.com/wekan/wekan/commit/cae0b29500ff417598690590f43bc1e1875a4b4e).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Try to fix build errors on some platforms](https://github.com/wekan/wekan/commit/fd9478dc57a81aadb275a205766c44285efb4c61).
|
||||
Thanks to xet7.
|
||||
- Fix at bottom of list Add button to be higher, so that text Add is not over button borders.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/139a1c0f784443103397c9b6c8c17d5432ce9bdd),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/c27a2b22c604377170c34f30e4b5710e18ae47c8).
|
||||
Thanks to WeKan commercial support customer and xet7.
|
||||
- [Removed Mermaid, because newest Mermaid does not work anymore](https://github.com/wekan/wekan/commit/67500abcd4d034ebed2d13f5156123d5f70bd014).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.75 2023-02-21 WeKan ® release
|
||||
|
||||
This release fixes the following CRITICAL SECURITY ISSUES:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v6.75.0"
|
||||
appVersion: "v6.76.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -228,7 +228,9 @@ BlazeComponent.extendComponent({
|
||||
const name = this.$('.js-edit-attachment-name')[0]
|
||||
.value
|
||||
.trim() + this.data().extensionWithDot;
|
||||
Meteor.call('renameAttachment', this.data()._id, name);
|
||||
if (name === DOMPurify.sanitize(name)) {
|
||||
Meteor.call('renameAttachment', this.data()._id, name);
|
||||
}
|
||||
Popup.back(2);
|
||||
},
|
||||
}
|
||||
|
||||
@@ -126,6 +126,9 @@
|
||||
.list-body .minicards form {
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
.list-body .minicards .add-controls button {
|
||||
min-height: 50px;
|
||||
}
|
||||
.list-body .open-minicard-composer {
|
||||
border-radius: 2px;
|
||||
color: #8c8c8c;
|
||||
|
||||
@@ -6,7 +6,6 @@ import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { AttachmentStoreStrategyFilesystem, AttachmentStoreStrategyGridFs, AttachmentStoreStrategyS3 } from '/models/lib/attachmentStoreStrategy';
|
||||
import FileStoreStrategyFactory, {moveToStorage, rename, STORAGE_NAME_FILESYSTEM, STORAGE_NAME_GRIDFS, STORAGE_NAME_S3} from '/models/lib/fileStoreStrategy';
|
||||
import DOMPurify from 'isomorphic-dompurify';
|
||||
|
||||
let attachmentUploadExternalProgram;
|
||||
let attachmentUploadMimeTypes = [];
|
||||
@@ -150,12 +149,9 @@ if (Meteor.isServer) {
|
||||
renameAttachment(fileObjId, newName) {
|
||||
check(fileObjId, String);
|
||||
check(newName, String);
|
||||
// If new name is same as sanitized name, does not have XSS, allow rename file
|
||||
// Using isomorphic-dompurify that is isometric so it works also serverside.
|
||||
if (newName === DOMPurify.sanitize(newName)) {
|
||||
const fileObj = Attachments.findOne({_id: fileObjId});
|
||||
rename(fileObj, newName, fileStoreStrategyFactory);
|
||||
}
|
||||
|
||||
const fileObj = Attachments.findOne({_id: fileObjId});
|
||||
rename(fileObj, newName, fileStoreStrategyFactory);
|
||||
},
|
||||
validateAttachment(fileObjId) {
|
||||
check(fileObjId, String);
|
||||
|
||||
Generated
+106
-987
File diff suppressed because it is too large.
Load diff
+2
-5
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v6.75.0",
|
||||
"version": "v6.76.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"repository": {
|
||||
@@ -24,14 +24,12 @@
|
||||
"@babel/core": "^7.15.5",
|
||||
"@babel/runtime": "^7.15.4",
|
||||
"@mapbox/node-pre-gyp": "^1.0.8",
|
||||
"@wekanteam/markdown-it-mermaid": "^0.6.2",
|
||||
"@wekanteam/minio": "^7.0.34",
|
||||
"ajv": "^6.12.6",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"bson": "^4.5.2",
|
||||
"bunyan": "^1.8.15",
|
||||
"canvas": "^2.11.0",
|
||||
"core-js": "^3.18.2",
|
||||
"dompurify": "^2.4.1",
|
||||
"es6-promise": "^4.2.4",
|
||||
@@ -42,7 +40,6 @@
|
||||
"filesize": "^8.0.7",
|
||||
"i18next": "^21.6.16",
|
||||
"i18next-sprintf-postprocessor": "^0.2.2",
|
||||
"isomorphic-dompurify": "^1.0.0",
|
||||
"jquery": "^2.2.4",
|
||||
"jquery-ui": "^1.13.0",
|
||||
"jquery-ui-touch-punch": "^0.2.3",
|
||||
@@ -52,7 +49,7 @@
|
||||
"markdown-it-emoji": "^2.0.0",
|
||||
"markdown-it-mathjax3": "^4.3.1",
|
||||
"meteor-accounts-t9n": "^2.6.0",
|
||||
"meteor-node-stubs": "^1.2.5",
|
||||
"meteor-node-stubs": "^1.1.0",
|
||||
"moment": "^2.29.4",
|
||||
"nodemailer": "^6.6.3",
|
||||
"os": "^0.1.2",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import DOMPurify from 'isomorphic-dompurify';
|
||||
import DOMPurify from 'dompurify';
|
||||
|
||||
var Markdown = require('markdown-it')({
|
||||
html: true,
|
||||
@@ -7,7 +7,7 @@ var Markdown = require('markdown-it')({
|
||||
breaks: true,
|
||||
});
|
||||
|
||||
import markdownItMermaid from "@wekanteam/markdown-it-mermaid";
|
||||
//import markdownItMermaid from "@wekanteam/markdown-it-mermaid";
|
||||
|
||||
// Static URL Scheme Listing
|
||||
var urlschemes = [
|
||||
@@ -48,9 +48,9 @@ Markdown.use(mathjax);
|
||||
// https://github.com/wekan/cli-table3
|
||||
// https://www.npmjs.com/package/@wekanteam/markdown-it-mermaid
|
||||
// https://github.com/wekan/markdown-it-mermaid
|
||||
Markdown.use(markdownItMermaid,{
|
||||
maxTextSize: 200000,
|
||||
});
|
||||
//Markdown.use(markdownItMermaid,{
|
||||
// maxTextSize: 200000,
|
||||
//});
|
||||
|
||||
if (Package.ui) {
|
||||
const Template = Package.templating.Template;
|
||||
@@ -65,7 +65,6 @@ if (Package.ui) {
|
||||
text = Blaze._toText(self.templateContentBlock, HTML.TEXTMODE.STRING);
|
||||
}
|
||||
|
||||
// Using isomorphic-dompurify that is isometric so it works also serverside
|
||||
return HTML.Raw(DOMPurify.sanitize(Markdown.render(text), {ALLOW_UNKNOWN_PROTOCOLS: true}));
|
||||
}));
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>Wekan REST API v6.75</title>
|
||||
<title>Wekan REST API v6.76</title>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -1558,7 +1558,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<ul class="toc-list-h1">
|
||||
|
||||
<li>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v6.75">Wekan REST API v6.75</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v6.76">Wekan REST API v6.76</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -2161,7 +2161,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<div class="page-wrapper">
|
||||
<div class="dark-box"></div>
|
||||
<div class="content">
|
||||
<h1 id="wekan-rest-api">Wekan REST API v6.75</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v6.76</h1>
|
||||
<blockquote>
|
||||
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
|
||||
</blockquote>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v6.75
|
||||
version: v6.76
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ zip -r wekan-$1.zip bundle
|
||||
scp ~/repos/wekan/releases/build-bundle-s390x.sh s:/home/linux1/
|
||||
#scp ~/repos/wekan/releases/build-bundle-ppc64el.sh o:/home/ubuntu/
|
||||
scp ~/repos/wekan/releases/release-x2.sh x2:/data/websites/
|
||||
scp wekan-$1.zip x2:/data/websites/releases.wekan.team/public/
|
||||
scp wekan-$1.zip x2:/data/websites/releases.wekan.team/
|
||||
scp wekan-$1.zip a:/home/wekan/
|
||||
scp wekan-$1.zip s:/home/linux1/
|
||||
#scp wekan-$1.zip o:/home/ubuntu/
|
||||
@@ -18,4 +18,4 @@ zip -r wekan-$1.zip bundle
|
||||
|
||||
cd ..
|
||||
|
||||
echo "x64 bundle and arm64/s390x/ppc64le build scripts uploaded to x2/a/s."
|
||||
echo "x64 bundle and arm64/s390x build scripts uploaded to x2/a/s."
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 675,
|
||||
appVersion = 676,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "6.75.0~2023-02-21"),
|
||||
appMarketingVersion = (defaultText = "6.76.0~2023-02-22"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
name: wekan
|
||||
version: '6.75'
|
||||
version: '6.76'
|
||||
base: core20
|
||||
summary: Open Source kanban
|
||||
description: |
|
||||
@@ -169,9 +169,9 @@ parts:
|
||||
# Cleanup
|
||||
mkdir .build
|
||||
cd .build
|
||||
wget https://github.com/wekan/wekan/releases/download/v6.75/wekan-6.75-amd64.zip
|
||||
unzip wekan-6.75-amd64.zip
|
||||
rm wekan-6.75-amd64.zip
|
||||
wget https://github.com/wekan/wekan/releases/download/v6.76/wekan-6.76-amd64.zip
|
||||
unzip wekan-6.76-amd64.zip
|
||||
rm wekan-6.76-amd64.zip
|
||||
cd ..
|
||||
##cd .build/bundle
|
||||
##find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
|
||||
Reference in new issue
Block a user