Upgrading dojo in Spring-js from 1.3 to 1.4 - spring

We have a project where we're using Spring-js. With it comes Spring-dojo and the full dojo package. But in the current version of Spring-js (2.0.9), it's using dojo 1.3. Is there a way to upgrade manually to dojo 1.4? Or even a new Spring-js.jar-file that can be donwloaded that uses dojo 1.4?

Yes. If you are using the ResourceServlet, you can simply drop the new version of Dojo in the top-level directory of your WAR structure. The ResourceServlet always looks there before it looks on the classpath, thus resources in top-level of the WAR take precedence. I would suggest using a full uncompressed source distro of Dojo during development, and then doing a custom build that is tailored to your usage patterns for production.
Beware that we've occasionally seen some minor incompatibilities when upgrading Dojo versions, so be on the lookout for that and report any issues in the Web Flow Jira.
I suspect we'll be upgrading to Dojo 1.4 in the official distribution for the upcoming Spring Web Flow 2.1 release.

Btw., spring webflow 2.0.9 uses dojo 1.2.4 not 1.3 as the release notes tell

Related

How to update the quarkus version used

What is the recommended way of upgrading the quarkus version used in an existing application?
I have taken a look at my pom.xml, since the quarkus extensions dont specify the version used, I assume that they will get updated based on the main quarkus version.
The properties which look to be relevant in the update are quarkus-plugin.version, quarkus.platform.group-id and surefire-plugin.version.
How can I decide which ones to change, and is there anything else to be aware of?
There is one important thing to know, we have:
Quarkus Core: this is the main Quarkus artifacts + all the core extensions: the quarkus-bom is the one of Core. The Quarkus Maven plugin is part of it too.
Quarkus Platform: it contains more extensions such as Camel Quarkus: the quarkus-universe-bom is the one from the Platform, it contains the Core + the additional extensions
We usually release Quarkus core then Quarkus Platform with a few days between the two as we often need a release of Camel Quarkus, which is an Apache project and organizes a 72 hours vote for each release.
In a newly created project, you have the following properties:
<quarkus-plugin.version>1.1.1.Final</quarkus-plugin.version>
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.version>1.1.1.Final</quarkus.platform.version>
quarkus-plugin.version is the version of the Quarkus Maven plugin, it should be in line with the version of the core you use
quarkus.platform.artifact-id can right now either be quarkus-universe-bom for the whole Platform or just quarkus-bom for the Core only.
quarkus.platform.version is the version of the BOM.
Usually all these versions should be aligned. But... it could happen that we would need some quick update in the Platform and not of the core and we could then only release a new version of the platform. This hasn't happened yet to be honest.
Let's take an example of what happened today: I released Quarkus Core 1.2.0.Final but we are still waiting for Camel Quarkus to be released to release the Platform.
If you want to update early, you can change the BOM to use the quarkus-bom and update everything to 1.2.0.Final.
Or you can wait for the Platform to be released early next week and stay on the Platform quarkus-universe-bom.
We also only update the website documentation and code.quarkus.io when the full Platform is released.
It used to work to simply issue the command
mvn io.quarkus:quarkus-maven-plugin:1.4.2.Final:create
in the base project directory for it to automatically update the Quarkus versions in the project pom.xml file, but since 1.6.0.Final it errors:
project XXXXX: Unable to generate the project in a directory that already contains a pom.xml -> [Help 1]
I will create an improvement suggestion ticket at Quarkus to restore this functionality, maybe with a dedicated maven goal (like update)

Spring expression 4.0 jars

What are the jar files I need to use spring expression language in my web app?
This web app itself is not based on Spring. I would like to use the 4.0.1 version. Is spring-expression-4.0.1.RELEASE.jar alone enough?
I assume you need the expression and the core jar. Try with expression only and add core if something still is missing.
And you should consider using 4.1 or even 4.2, 4.1 is available and has no higher requirements than 4.0. 4.2 is scheduled to be released in only a few weeks, so you could start with the already available RC2 and go to final very soon.

Spring 4.0.0 backward compatibility

I've searched and couldn't find anything to suggest that Spring 4.0.0 is not fully backward compatible with Spring 3.x.
Is that indeed the case?
You should be safe if you have updated your third-party dependencies and updated any Spring deprecations in your project. Spring Framework project lead Juergen Hoeller writes in the blog Migrating from Spring Framework 3.2 to 4.0.1:
To a large degree, an upgrade from Spring Framework 3.2 (or earlier) to 4.0.1 should be as straightforward as a change of version numbers in your Maven POMs. Note that you may have to upgrade specific third-party dependencies to a recent enough version (e.g. Hibernate 3.6+, Quartz 1.8+, Jackson 1.8+, Tiles 2.2+)
Read the migration guide on GitHub for details.
I've prepared report on API changes for the Spring releases here: http://abi-laboratory.pro/java/tracker/timeline/spring-framework/
The report includes backward binary- (BC) and source-compatibility (SC) analysis results. The BC between 3.2.16 and 4.0.0 is estimated at 90.08% and SC is estimated at 88.70%.
The report is generated by the japi-compliance-checker tool.
...
There are few API they have removed in the new version. You would not have any surprise changes with the new version, there could be slight changes in the API. But, you have to watch the deprecated APIs which will be the candidate for removal in the forthcoming versions.
Look at this document , they have included few backward compatibility changes and removal of the APIs.
The backward compatibility for object-mapper option of the and components has beed removed.
But there is not much changes mentioned in the document.
It should be backward compatible. I recently watched http://oredev.org/2013/wed-fri-conference/spring-4-on-java-8 and recall Juergen Hoeller saying that they designed Spring 4.0 to be easy to upgrade to from 3.2 its around the 47 minute mark in the video.
I take that to mean that there should be no compatibility issues.
Typically any breaking changes or incompatibility would be noted in the documentation. As you can see there is some deprecated code but it looks to be backwards compatible.

How to download all jars for an old Spring version (3.0.7)

I am performing a server upgrade for some pretty old portlets developed with Spring. Developers no longer in the team used Spring version 3.0RC1 and I want to upgrade those Spring framework jars to last 3.0 version (I believe it is 3.0.7) but I cannot find any "previous versions" repository anywhere.
In Spring official site the oldest available is 3.1.4 but as quite a lot of code is developed for 3.0RC1 I don't find a good idea to do a major/minor version change.
Are older jars available anywhere? I've dedicated some time googling and can't find them anywhere.
http://grepcode.com has some of the files but not all. Files in the project are:
org.springframework.asm-3.0.0.RC1.jar
org.springframework.beans-3.0.0.RC1.jar
org.springframework.context-3.0.0.RC1.jar
org.springframework.context.support-3.0.0.RC1.jar
org.springframework.core-3.0.0.RC1.jar
org.springframework.expression-3.0.0.RC1.jar
org.springframework.web-3.0.0.RC1.jar
org.springframework.web.portlet-3.0.0.RC1.jar
org.springframework.web.servlet-3.0.0.RC1.jar
spring-aop-1.2.6.jar
spring-jdbc-2.5.4.jar
spring-tx-2.5.4.jar
Thanks
Spring makes its releases available in Maven central: http://search.maven.org/#browse|528292745

Downloading Spring Framework release 3.2

Currently, I'm looking at the springsource community download site.
It shows that 3.2.4 is the latest general release. Its zip file has dist suffix and the content is different than the latest in 3.1 branch 3.1.4 (which does not have dist ending).
3.1.4 has the following directories:
dist
projects
src
dist folder contains org.springframework...* jars.
3.2.4 has the following directories:
docs
libs
schema
lib folder contains spring-... jars
Was there a major change between 3.1 and 3.2 releases?
According to this accepted answer there was but I was not able to find anything about it.
Does anybody have any particulars?
Should I get 3.1.4 for now?
It was a spring source decision to change it. (I think there was an blog article somewhere, but I can`t found it)
The distribution archive for release 3.2 RC1 is called spring-3.2.0.RC1-dist.zip; whereas, all releases prior to 3.2 generated distribution archives called spring-framework-*-dist.zip.
It is not a bug, it is not a major change in the code, and I highly doubt that they will switch back to the old layout (so there is no reason to stay with 3.1.4).
For the changes: have a look at the feature list and change log:
http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/new-in-3.2.html
http://static.springsource.org/spring/docs/3.2.2.RELEASE/changelog.txt

Resources