diff --git a/AUTHORS b/AUTHORS index 27dbd1a34..28e89ca3e 100644 --- a/AUTHORS +++ b/AUTHORS @@ -46,7 +46,7 @@ Written in 2015 by Sam Hamilton - samhamilton Written in 2015 by Leonardo Carvalho - CarvalhoLeonardo Written in 2015 by Swapnil M Mane - swapnilmmane Written in 2015 by Anton Akhiar - akhiar -Written in 2015-2018 by Jens Hardings - jenshp +Written in 2015-2023 by Jens Hardings - jenshp Written in 2016 by Shifeng Zhang - zhangshifeng Written in 2016 by Scott Gray - lektran Written in 2016 by Mark Haney - mphaney @@ -54,13 +54,14 @@ Written in 2016 by Qiushi Yan - yanqiushi Written in 2017 by Oleg Andrieiev - oandreyev Written in 2018 by Zhang Wei - zhangwei1979 Written in 2018 by Nirendra Singh - nirendra10695 -Written in 2018-2021 by Ayman Abi Abdallah - aabiabdallah +Written in 2018-2023 by Ayman Abi Abdallah - aabiabdallah Written in 2019 by Daniel Taylor - danieltaylor-nz Written in 2020 by Jacob Barnes - Tellan Written in 2020 by Amir Anjomshoaa - amiranjom Written in 2021 by Deepak Dixit - dixitdeepak Written in 2021 by Taher Alkhateeb - pythys Written in 2022 by Zhang Wei - hellozhangwei +Written in 2023 by Rohit Pawar - rohitpawar2811 =========================================================================== @@ -93,7 +94,7 @@ Written in 2015 by Jimmy Shen - shendepu Written in 2015-2016 by Sam Hamilton - samhamilton Written in 2015 by Leonardo Carvalho - CarvalhoLeonardo Written in 2015 by Anton Akhiar - akhiar -Written in 2015-2016 by Jens Hardings - jenshp +Written in 2015-2023 by Jens Hardings - jenshp Written in 2016 by Shifeng Zhang - zhangshifeng Written in 2016 by Scott Gray - lektran Written in 2016 by Mark Haney - mphaney @@ -101,12 +102,13 @@ Written in 2016 by Qiushi Yan - yanqiushi Written in 2017 by Oleg Andrieiev - oandreyev Written in 2018 by Zhang Wei - zhangwei1979 Written in 2018 by Nirendra Singh - nirendra10695 -Written in 2018-2020 by Ayman Abi Abdallah - aabiabdallah +Written in 2018-2023 by Ayman Abi Abdallah - aabiabdallah Written in 2019 by Daniel Taylor - danieltaylor-nz Written in 2020 by Jacob Barnes - Tellan Written in 2020 by Amir Anjomshoaa - amiranjom Written in 2021 by Deepak Dixit - dixitdeepak Written in 2021 by Taher Alkhateeb - pythys Written in 2022 by Zhang Wei - hellozhangwei +Written in 2023 by Rohit Pawar - rohitpawar2811 =========================================================================== diff --git a/addons.xml b/addons.xml index d449211e1..f5d4f2aac 100644 --- a/addons.xml +++ b/addons.xml @@ -52,6 +52,7 @@ + diff --git a/build.gradle b/build.gradle index 3b591d4c6..3fc65c0e6 100644 --- a/build.gradle +++ b/build.gradle @@ -417,13 +417,26 @@ task gitStatusAll { def curGrgit = Grgit.open(dir: gitDir) logger.lifecycle("\nGit status for ${gitDir} (branch:${curGrgit.branch.current()?.name}, tracking:${curGrgit.branch.current()?.trackingBranch?.name})") - if (curGrgit.remote.list().find({ it.name == 'upstream'})) { - def upstreamAhead = curGrgit.log { range curGrgit.resolve.toCommit('refs/remotes/upstream/master'), curGrgit.resolve.toCommit('refs/remotes/origin/master') } - if (upstreamAhead) logger.lifecycle("- origin/master ${upstreamAhead.size()} commits ahead of upstream/master") + try { + if (curGrgit.remote.list().find({ it.name == 'upstream'})) { + def upstreamAhead = curGrgit.log { range curGrgit.resolve.toCommit('refs/remotes/upstream/master'), curGrgit.resolve.toCommit('refs/remotes/origin/master') } + if (upstreamAhead) logger.lifecycle("- origin/master ${upstreamAhead.size()} commits ahead of upstream/master") + } + } catch (Exception e) { + logger.error("Error finding commits ahead of upstream", e) + } + try { + def masterLatest = curGrgit.resolve.toCommit('refs/remotes/origin/master') + if (masterLatest == null) { + logger.error("No origin/master branch exists, can't determine unpushed commits") + } else { + def unpushed = curGrgit.log { range masterLatest, curGrgit.resolve.toCommit('HEAD') } + if (unpushed) logger.lifecycle("--- ${unpushed.size()} commits unpushed (ahead of origin/master)") + for (Commit commit in unpushed) logger.lifecycle(" - ${commit.getAbbreviatedId(8)} - ${commit.shortMessage}") + } + } catch (Exception e) { + logger.error("Error finding unpushed commits", e) } - def unpushed = curGrgit.log { range curGrgit.resolve.toCommit('refs/remotes/origin/master'), curGrgit.resolve.toCommit('HEAD') } - if (unpushed) logger.lifecycle("--- ${unpushed.size()} commits unpushed (ahead of origin/master)") - for (Commit commit in unpushed) logger.lifecycle(" - ${commit.getAbbreviatedId(8)} - ${commit.shortMessage}") def curStatus = curGrgit.status() if (curStatus.isClean()) logger.lifecycle("* nothing to commit, working directory clean") if (curStatus.staged.added || curStatus.staged.modified || curStatus.staged.removed) logger.lifecycle("--- Changes to be committed::") diff --git a/framework/build.gradle b/framework/build.gradle index 8bc029de6..65137c15c 100644 --- a/framework/build.gradle +++ b/framework/build.gradle @@ -12,7 +12,7 @@ * . */ -version = '3.1.0-rc1' +version = '3.1.0-rc2' apply plugin: 'java-library' apply plugin: 'groovy' @@ -27,7 +27,7 @@ buildscript { maven { url "https://plugins.gradle.org/m2/" } } dependencies { - classpath 'com.github.ben-manes:gradle-versions-plugin:0.45.0' + classpath 'com.github.ben-manes:gradle-versions-plugin:0.47.0' // uncomment to add the Error Prone compiler: classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.8' } } @@ -68,17 +68,17 @@ tasks.withType(GroovyCompile) { options.compilerArgs << "-proc:none" } // NOTE: for dependency types and 'api' definition see: https://docs.gradle.org/current/userguide/java_library_plugin.html dependencies { // Groovy - // NOTE: Groovy 3.0.10-3.0.12 has a bug that somehow causes EntityDefinition.isViewEntity (public final boolean) to switch + // NOTE: Groovy 3.0.10-3.0.18 has a bug that somehow causes EntityDefinition.isViewEntity (public final boolean) to switch // from true during constructor to false later on; see EntityFindBuilder.java:112-114 and EntityDefinition.groovy:50-53,94-95; // for now using Boolean instead of boolean to resolve, but staying at 3.0.9 to avoid risk with other code - api 'org.codehaus.groovy:groovy:3.0.9' // Apache 2.0 - api 'org.codehaus.groovy:groovy-dateutil:3.0.9' // Apache 2.0 - api 'org.codehaus.groovy:groovy-groovysh:3.0.9' // Apache 2.0 + api 'org.codehaus.groovy:groovy:3.0.19' // Apache 2.0 + api 'org.codehaus.groovy:groovy-dateutil:3.0.19' // Apache 2.0 + api 'org.codehaus.groovy:groovy-groovysh:3.0.19' // Apache 2.0 // jline, an older version, is required by groovy-groovysh but not in its dependencies implementation 'jline:jline:2.14.6' // BSD - api 'org.codehaus.groovy:groovy-json:3.0.9' // Apache 2.0 - api 'org.codehaus.groovy:groovy-templates:3.0.9' // Apache 2.0 - api 'org.codehaus.groovy:groovy-xml:3.0.9' // Apache 2.0 + api 'org.codehaus.groovy:groovy-json:3.0.19' // Apache 2.0 + api 'org.codehaus.groovy:groovy-templates:3.0.19' // Apache 2.0 + api 'org.codehaus.groovy:groovy-xml:3.0.19' // Apache 2.0 // jansi is needed for groovydoc only, so in compileOnly (not included in war) - don't update to version 2, keep at version 1 for compatibility compileOnly 'org.fusesource.jansi:jansi:1.18' // Findbugs need only during compile (used by freemarker and various moqui classes) @@ -93,33 +93,33 @@ dependencies { // ========== General Libraries from Maven Central ========== // Apache Commons - api 'org.apache.commons:commons-csv:1.9.0' // Apache 2.0 + api 'org.apache.commons:commons-csv:1.10.0' // Apache 2.0 // NOTE: commons-email depends on com.sun.mail:javax.mail, included below, so use module() here to not get dependencies api module('org.apache.commons:commons-email:1.5') // Apache 2.0 - api 'org.apache.commons:commons-lang3:3.12.0' // Apache 2.0; used by cron-utils + api 'org.apache.commons:commons-lang3:3.13.0' // Apache 2.0; used by cron-utils api 'commons-beanutils:commons-beanutils:1.9.4' // Apache 2.0 - api 'commons-codec:commons-codec:1.15' // Apache 2.0 + api 'commons-codec:commons-codec:1.16.0' // Apache 2.0 api 'commons-collections:commons-collections:3.2.2' // Apache 2.0 api 'commons-digester:commons-digester:2.1' // Apache 2.0 - api 'commons-fileupload:commons-fileupload:1.4' // Apache 2.0 - api 'commons-io:commons-io:2.11.0' // Apache 2.0 + api 'commons-fileupload:commons-fileupload:1.5' // Apache 2.0 + api 'commons-io:commons-io:2.13.0' // Apache 2.0 api 'commons-logging:commons-logging:1.2' // Apache 2.0 api 'commons-validator:commons-validator:1.7' // Apache 2.0 // Cron Utils - api 'com.cronutils:cron-utils:9.2.0' // Apache 2.0 + api 'com.cronutils:cron-utils:9.2.1' // Apache 2.0 // Flexmark (markdown) - api 'com.vladsch.flexmark:flexmark:0.64.0' - api 'com.vladsch.flexmark:flexmark-ext-tables:0.64.0' - api 'com.vladsch.flexmark:flexmark-ext-toc:0.64.0' + api 'com.vladsch.flexmark:flexmark:0.64.8' + api 'com.vladsch.flexmark:flexmark-ext-tables:0.64.8' + api 'com.vladsch.flexmark:flexmark-ext-toc:0.64.8' // Freemarker // Remember to change the version number in FtlTemplateRenderer and MNode class when upgrading api 'org.freemarker:freemarker:2.3.32' // Apache 2.0 // H2 Database - api 'com.h2database:h2:2.1.214' // MPL 2.0, EPL 1.0 + api 'com.h2database:h2:2.2.222' // MPL 2.0, EPL 1.0 // Java Specifications api 'javax.transaction:jta:1.1' @@ -144,38 +144,38 @@ dependencies { api 'com.beust:jcommander:1.82' // Jackson Databind (JSON, etc) - api 'com.fasterxml.jackson.core:jackson-databind:2.14.2' + api 'com.fasterxml.jackson.core:jackson-databind:2.15.2' // Jetty HTTP Client and Proxy Servlet - api 'org.eclipse.jetty:jetty-client:10.0.13' // Apache 2.0 - api 'org.eclipse.jetty:jetty-proxy:10.0.13' // Apache 2.0 + api 'org.eclipse.jetty:jetty-client:10.0.16' // Apache 2.0 + api 'org.eclipse.jetty:jetty-proxy:10.0.16' // Apache 2.0 // javax.mail // NOTE: javax.mail depends on 'javax.activation:activation' which is the old package for 'javax.activation:javax.activation-api' used by jaxb-api api module('com.sun.mail:javax.mail:1.6.2') // CDDL // Joda Time (used by elasticsearch, aws) - api 'joda-time:joda-time:2.12.2' // Apache 2.0 + api 'joda-time:joda-time:2.12.5' // Apache 2.0 // JSoup (HTML parser, cleaner) - api 'org.jsoup:jsoup:1.15.3' // MIT + api 'org.jsoup:jsoup:1.16.1' // MIT // Apache Shiro - api module('org.apache.shiro:shiro-core:1.11.0') // Apache 2.0 - api module('org.apache.shiro:shiro-web:1.11.0') // Apache 2.0 + api module('org.apache.shiro:shiro-core:1.12.0') // Apache 2.0 + api module('org.apache.shiro:shiro-web:1.12.0') // Apache 2.0 // SLF4J, Log4j 2 (note Log4j 2 is used by various libraries, best not to replace it even if mostly possible with SLF4J) - api 'org.slf4j:slf4j-api:2.0.6' - implementation 'org.apache.logging.log4j:log4j-core:2.19.0' - implementation 'org.apache.logging.log4j:log4j-api:2.19.0' - runtimeOnly 'org.apache.logging.log4j:log4j-jcl:2.19.0' - runtimeOnly 'org.apache.logging.log4j:log4j-slf4j2-impl:2.19.0' + api 'org.slf4j:slf4j-api:2.0.9' + implementation 'org.apache.logging.log4j:log4j-core:2.20.0' + implementation 'org.apache.logging.log4j:log4j-api:2.20.0' + runtimeOnly 'org.apache.logging.log4j:log4j-jcl:2.20.0' + runtimeOnly 'org.apache.logging.log4j:log4j-slf4j2-impl:2.20.0' // SubEtha SMTP (module as depends on old javax.mail location; also uses SLF4J, activation included elsewhere) api module('org.subethamail:subethasmtp:3.1.7') // Snake YAML - api 'org.yaml:snakeyaml:1.33' // Apache 2.0 + api 'org.yaml:snakeyaml:2.2' // Apache 2.0 // Apache Jackrabbit - uncomment here or include elsewhere when Jackrabbit repository configurations are used // api 'org.apache.jackrabbit:jackrabbit-jcr-rmi:2.12.1' // Apache 2.0 @@ -190,11 +190,11 @@ dependencies { // ========== test dependencies ========== // junit-platform-launcher is a dependency from spock-core, included explicitly to get more recent version as needed - testImplementation 'org.junit.platform:junit-platform-launcher:1.9.2' + testImplementation 'org.junit.platform:junit-platform-launcher:1.10.0' // junit-platform-suite required for test suites to specify test class order, etc - testImplementation 'org.junit.platform:junit-platform-suite:1.9.2' + testImplementation 'org.junit.platform:junit-platform-suite:1.10.0' // junit-jupiter-api for using JUnit directly, not generally needed for Spock based tests - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2' + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0' // Spock Framework testImplementation platform("org.spockframework:spock-bom:2.1-groovy-3.0") // Apache 2.0 testImplementation 'org.spockframework:spock-core:2.1-groovy-3.0' // Apache 2.0 @@ -203,16 +203,16 @@ dependencies { // ========== executable war dependencies ========== // Jetty - execWarRuntimeOnly 'org.eclipse.jetty:jetty-server:10.0.13' // Apache 2.0 - execWarRuntimeOnly 'org.eclipse.jetty:jetty-webapp:10.0.13' // Apache 2.0 - execWarRuntimeOnly 'org.eclipse.jetty:jetty-jndi:10.0.13' // Apache 2.0 - execWarRuntimeOnly 'org.eclipse.jetty.websocket:websocket-javax-server:10.0.13' // Apache 2.0 - execWarRuntimeOnly ('org.eclipse.jetty.websocket:websocket-javax-client:10.0.13') { // Apache 2.0 + execWarRuntimeOnly 'org.eclipse.jetty:jetty-server:10.0.16' // Apache 2.0 + execWarRuntimeOnly 'org.eclipse.jetty:jetty-webapp:10.0.16' // Apache 2.0 + execWarRuntimeOnly 'org.eclipse.jetty:jetty-jndi:10.0.16' // Apache 2.0 + execWarRuntimeOnly 'org.eclipse.jetty.websocket:websocket-javax-server:10.0.16' // Apache 2.0 + execWarRuntimeOnly ('org.eclipse.jetty.websocket:websocket-javax-client:10.0.16') { // Apache 2.0 exclude group: 'javax.websocket' } // we have the full websocket API, including the client one causes problems execWarRuntimeOnly 'javax.websocket:javax.websocket-api:1.1' - execWarRuntimeOnly ('org.eclipse.jetty.websocket:websocket-jetty-server:10.0.13') // Apache 2.0 + execWarRuntimeOnly ('org.eclipse.jetty.websocket:websocket-jetty-server:10.0.16') // Apache 2.0 // only include this if using Endpoint and MessageHandler annotations: - // execWarRuntime ('org.eclipse.jetty:jetty-annotations:10.0.13') // Apache 2.0 + // execWarRuntime ('org.eclipse.jetty:jetty-annotations:10.0.16') // Apache 2.0 execWarRuntimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:2.18.0' } diff --git a/framework/entity/BasicEntities.xml b/framework/entity/BasicEntities.xml index 3ca7a10e4..d71b77fc5 100644 --- a/framework/entity/BasicEntities.xml +++ b/framework/entity/BasicEntities.xml @@ -389,7 +389,9 @@ along with this software (see the LICENSE.md file). If not, see - + + + diff --git a/framework/entity/ServerEntities.xml b/framework/entity/ServerEntities.xml index 17ec6556d..e9b63af25 100644 --- a/framework/entity/ServerEntities.xml +++ b/framework/entity/ServerEntities.xml @@ -196,6 +196,9 @@ along with this software (see the LICENSE.md file). If not, see + + + diff --git a/framework/entity/ServiceEntities.xml b/framework/entity/ServiceEntities.xml index 81696e90f..7b51a3ab3 100644 --- a/framework/entity/ServiceEntities.xml +++ b/framework/entity/ServiceEntities.xml @@ -383,6 +383,7 @@ along with this software (see the LICENSE.md file). If not, see + diff --git a/framework/service/org/moqui/impl/InstanceServices.xml b/framework/service/org/moqui/impl/InstanceServices.xml index 7071d77fa..dacbd18ca 100644 --- a/framework/service/org/moqui/impl/InstanceServices.xml +++ b/framework/service/org/moqui/impl/InstanceServices.xml @@ -214,8 +214,13 @@ along with this software (see the LICENSE.md file). If not, see - - + + + @@ -281,8 +286,9 @@ along with this software (see the LICENSE.md file). If not, see - https://docs.docker.com/engine/security/https/ --> - + +