Xitrum 3.26.1

516 views
Skip to first unread message

Ngoc Dao

unread,
May 30, 2016, 6:06:15 PM5/30/16
to Xitrum web framework
Xitrum 3.26.1 has been released:
https://github.com/xitrum-framework/xitrum/blob/master/CHANGELOG.rst

This release is mainly for updating dependency libraries used in Xitrum.
Notably, Netty has been updated from 4.0 to 4.1.

To update Xitrum in your project from 3.26.0 to 3.26.1,
simply bump up the version.

Example:
https://github.com/xitrum-framework/xitrum-new/commit/3a6581576d30a94afa2ad69b06be83dd9684343b

The focus of the next version is adding plugin architecture so that it's easy to extend Xitrum:
https://github.com/xitrum-framework/xitrum/issues/561

Ngoc Dao

unread,
Jun 20, 2016, 12:30:49 PM6/20/16
to Xitrum web framework
Xitrum 3.26.1 uses Netty 4.1.0.

Netty 4.1.1 has been released:
http://netty.io/news/2016/06/07/4-1-1-Final.html
http://netty.io/news/2016/06/07/4-0-37-Final.html

If you use HTTPS feature in Xitrum 3.26.1 directly
(that is, your web site uses HTTPS, and you don't have a reverse proxy like Nginx or Apache before Xitrum),
you should force your project to use Netty 4.1.1.

In build.sbt of your project:
libraryDependencies += "io.netty" % "netty-all" % "4.1.1.Final"
dependencyOverrides += "io.netty" % "netty-all" % "4.1.1.Final"

If you use HTTPS feature in earlier Xitrum (3.26.0 or older) directly:
libraryDependencies += "io.netty" % "netty-all" % "4.0.37.Final"
dependencyOverrides += "io.netty" % "netty-all" % "4.0.37.Final"

Anton

unread,
Jun 21, 2016, 6:05:48 AM6/21/16
to Xitrum web framework
Tried this, get another exception (after running sbt clean xitrum-package):

Exception in thread "main" java.lang.VerifyError: class io.netty.channel.nio.NioEventLoop overrides final method pendingTasks.()I
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:116)
        at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:34)
        at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:77)
        at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:51)
        at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:85)
        at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:80)
        at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:61)
        at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:49)
        at xitrum.handler.Bootstrap$.newNioBootstrap(Bootstrap.scala:23)
        at xitrum.handler.Bootstrap$.newBootstrap(Bootstrap.scala:17)
        at xitrum.Server$.doStart(Server.scala:84)
        at xitrum.Server$.start(Server.scala:53)
        at xitrum.Server$.start(Server.scala:29)

Ngoc Dao

unread,
Jun 21, 2016, 10:09:01 PM6/21/16
to Xitrum web framework
After running sbt xitrum-package, see the .jar files in target/xitrum/lib directory.
Maybe you have both Netty 4.0.x and 4.1.x in your classpath.
(It's OK to have both Netty 3.x and 4.x, because they use different package names.)

Maybe you are using a library that depends on Netty 4.0.x.
Check if there's a new version of that library that uses Netty 4.1.x instead of Netty 4.0.x.
Use https://github.com/jrudolph/sbt-dependency-graph to get a graph of dependencies in your project.

Xitrum 3.26.2 has just been released, please try:
https://groups.google.com/forum/#!topic/xitrum-framework/9gkfeRELT3E
Reply all
Reply to author
Forward
0 new messages