diff --git a/README.txt b/README.txt
index 10d54fb..a2f3a56 100644
--- a/README.txt
+++ b/README.txt
@@ -57,16 +57,6 @@
    
 
 
-  What's with the Maven poms?
-  ---------------------------
-  
-  They're there so the Butterfly engine can be published in
-  Maven Central.  They're not useful for you unless you're
-  involved in the Maven deployment process and have no bearing
-  on the build process.  You can safely ignore them.
-   
-
-
   Licensing and legal issues
   --------------------------
 
diff --git a/build.xml b/build.xml
deleted file mode 100644
index 28c2571..0000000
--- a/build.xml
+++ /dev/null
@@ -1,303 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--+
-    |
-    |  Butterfly Build File    
-    |                
-    +-->
-    
-<project name="butterfly" default="build" basedir=".">
-
-    <property environment="env"/>
-
-    <condition property="version" value="trunk">
-        <not><isset property="version"/></not>
-    </condition>
-
-    <condition property="revision" value="rXXXX">
-        <not><isset property="revision"/></not>
-    </condition>
-
-    <condition property="build.dir" value="build">
-        <not><isset property="build.dir"/></not>
-    </condition>
-
-    <condition property="dist.dir" value="dist">
-        <not><isset property="dist.dir"/></not>
-    </condition>
-
-    <condition property="appengine.app_id" value="simile-butterfly">
-        <not><isset property="appengine.app_id"/></not>
-    </condition>
-
-    <condition property="appengine.version" value="1">
-        <not><isset property="appengine.version"/></not>
-    </condition>
-
-    <condition property="appengine.sdk.dir" value="/opt/appengine">
-        <not><isset property="appengine.sdk.dir"/></not>
-    </condition>
-
-    <property name="fullname" value="butterfly-${version}-${revision}" />
-    
-    <property name="main.dir" value="${basedir}/main" />
-
-    <property name="webapp.dir" value="${main.dir}/webapp" />
-    <property name="webapp.src.dir" value="${main.dir}/src" />
-    <property name="webapp.lib.dir" value="${webapp.dir}/WEB-INF/lib" />
-    <property name="webapp.classes.dir" value="${webapp.dir}/WEB-INF/classes" />
-
-    <property name="appengine.dir" value="${main.dir}/appengine" />
-
-    <property name="server.dir" value="${basedir}/server" />
-    <property name="server.src.dir" value="${server.dir}/src" />
-    <property name="server.lib.dir" value="${server.dir}/lib" />
-    <property name="server.classes.dir" value="${server.dir}/classes" />
-
-    <property name="modules.dir" value="${basedir}/modules" />
-
-    <property name="tests.dir" value="${main.dir}/tests" />
-    <property name="tests.lib.dir" value="${tests.dir}/lib" />
-    <property name="tests.src.dir" value="${tests.dir}/src" />
-    <property name="tests.classes.dir" value="${tests.dir}/classes" />
-
-    <property name="graphics.dir" value="${basedir}/graphics" />
-    <property name="conf.dir" value="${basedir}/conf" />
-    <property name="tools.dir" value="${basedir}/tools" />
-    
-    <property name="reports.dir" value="${build.dir}/reports" />
-
-    <property name="built.webapp.name" value="webapp" />
-    <property name="built.webapp.dir" value="${build.dir}/${built.webapp.name}" />
-    <property name="built.appengine.webapp.dir" value="${build.dir}/appengine" />
-    
-    <path id="server.class.path">
-        <fileset dir="${server.lib.dir}">
-            <include name="**/*.jar" />
-        </fileset>
-        <pathelement path="${server.classes.dir}"/>
-    </path>
-
-    <path id="webapp.class.path">
-        <fileset dir="${server.lib.dir}">
-            <include name="**/servlet-api*.jar" />
-        </fileset>
-        <fileset dir="${webapp.lib.dir}">
-            <include name="**/*.jar" />
-        </fileset>
-        <pathelement path="${webapp.classes.dir}"/>
-    </path>
-
-    <path id="appengine.class.path">
-        <path refid="webapp.class.path"/>
-        <fileset dir="${appengine.sdk.dir}/lib">
-            <include name="shared/**/*.jar" />
-        </fileset>
-    </path>
-
-    <path id="tests.class.path">
-        <path refid="webapp.class.path"/>
-        <fileset dir="${tests.lib.dir}">
-            <include name="**/*.jar" />
-        </fileset>
-    </path>
-
-    <!-- ================================================================== -->
-
-    <target name="build_server">
-        <mkdir dir="${server.classes.dir}" />
-        <javac srcdir="${server.src.dir}" destdir="${server.classes.dir}" debug="true" includeAntRuntime="no">
-            <classpath refid="server.class.path" />
-        </javac>
-        <copy file="${server.src.dir}/log4j.properties" tofile="${server.classes.dir}/log4j.properties"/>
-    </target>
-            
-    <target name="build_webapp">
-        <mkdir dir="${webapp.classes.dir}" />
-        <javac destdir="${webapp.classes.dir}" debug="true" includeAntRuntime="no">
-            <src path="${webapp.src.dir}"/>
-            <classpath refid="webapp.class.path" />
-        </javac>
-        <copy todir="${webapp.classes.dir}">
-            <fileset dir="${webapp.src.dir}">
-                <include name="**/*.js"/>
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="build_modules" depends="build_webapp, build_server">
-        <mkdir dir="${modules.dir}/samples/extended-examples/MOD-INF/classes" />
-        <javac srcdir="${modules.dir}/samples/extended-examples/MOD-INF/src" destdir="${modules.dir}/samples/extended-examples/MOD-INF/classes" debug="true" includeAntRuntime="no">
-            <classpath refid="webapp.class.path" />
-        </javac>
-    </target>
-
-    <target name="build_tests" depends="build_webapp, build_server">
-        <mkdir dir="${tests.classes.dir}" />
-        <javac srcdir="${tests.src.dir}" destdir="${tests.classes.dir}" debug="true" includeAntRuntime="no">
-            <classpath refid="tests.class.path" />
-        </javac>
-        <copy file="${tests.src.dir}/tests.log4j.properties" tofile="${tests.classes.dir}/tests.log4j.properties"/>
-        <copy todir="${tests.classes.dir}">
-            <fileset dir="${tests.src.dir}">
-                <include name="**/*.js"/>
-                <include name="**/*.html"/>
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="build" depends="build_server, build_webapp, build_modules"/>
-
-    <target name="jar_server" depends="build_server">
-        <jar destfile="${build.dir}/${fullname}-server.jar" basedir="${server.classes.dir}"/>
-    </target>
-    
-    <target name="jar_webapp" depends="build_webapp">
-        <jar destfile="${build.dir}/${fullname}.jar" basedir="${webapp.classes.dir}"/>
-        <jar destfile="${build.dir}/${fullname}-sources.jar" basedir="${webapp.src.dir}"/>
-    </target>
-
-    <target name="jar" depends="build, jar_server, jar_webapp"/>
-
-    <!-- ================================================================== -->
-
-    <target name="prepare_webapp_appengine" depends="jar_webapp, build_modules">
-        <mkdir dir="${built.appengine.webapp.dir}" />
-        
-        <copy todir="${built.appengine.webapp.dir}">
-            <fileset dir="${webapp.dir}">
-                <include name="**/*"/>
-                <exclude name="WEB-INF/lib/*log4j*"/>
-                <exclude name="WEB-INF/lib-src/**"/>
-            </fileset>
-        </copy>
-        
-        <copy file="${build.dir}/${fullname}.jar" tofile="${built.appengine.webapp.dir}/WEB-INF/lib/${fullname}.jar"/>
-        
-        <copy todir="${built.appengine.webapp.dir}/WEB-INF/lib" flatten="true">
-            <fileset dir="${appengine.sdk.dir}/lib/user">
-                <include name="**/*.jar" />
-            </fileset>
-        </copy>
-
-        <copy file="modules.properties" tofile="${built.appengine.webapp.dir}/WEB-INF/modules.properties"/>
-        
-        <copy todir="${built.appengine.webapp.dir}/modules">
-            <fileset dir="${modules.dir}">
-                <include name="**/*"/>
-                <exclude name="MOD-INF/src/**"/>
-                <exclude name="MOD-INF/classes/**"/>
-                <exclude name="MOD-INF/lib-src/**"/>
-                <exclude name="**/.*"/>
-                <exclude name="**/.*/**"/>
-            </fileset>
-        </copy>        
-
-        <copy todir="${built.appengine.webapp.dir}">
-            <fileset dir="${appengine.dir}">
-                <include name="**/*"/>
-            </fileset>
-        </copy>
-        
-        <replace file="${built.appengine.webapp.dir}/WEB-INF/appengine-web.xml">
-            <replacefilter token="$APPID" value="${appengine.app_id}"/>
-            <replacefilter token="$VERSION" value="${appengine.version}"/>
-        </replace>
-                
-    </target>
-
-    <!-- ================================================================== -->
-    
-    <target name="prepare_reports">
-        <mkdir dir="${reports.dir}" />
-    </target>
-
-    <target name="findbugs" depends="build,prepare_reports">
-        <taskdef 
-            name="findbugs" 
-            classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
-            classpath="${findbugs.dir}/lib/findbugs-ant.jar" 
-        />
-        <findbugs jvmargs="-Xmx1024m" home="${findbugs.dir}" output="html" outputFile="${reports.dir}/findbugs.html" >
-          <auxClasspath refid="webapp.class.path" />
-          <sourcePath path="${tests.src.dir}" />
-          <class location="${webapp.classes.dir}" />
-        </findbugs>        
-    </target>
-    
-    <target name="pmd" depends="prepare_reports">
-        <path id="pmd.path">
-            <fileset dir="${pmd.dir}/lib" includes="*.jar"/>
-        </path>    
-        <taskdef 
-            name="pmd" 
-            classname="net.sourceforge.pmd.ant.PMDTask"
-            classpathref="pmd.path" 
-        />
-        <pmd rulesetfiles="${conf.dir}/pmd.rules.xml" targetjdk="1.6" encoding="UTF-8">
-            <formatter type="html" toFile="${reports.dir}/pmd.html" toConsole="true"/>
-            <fileset dir="${server.src.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-            <fileset dir="${webapp.src.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-            <fileset dir="${tests.src.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-        </pmd>
-    </target>    
-
-    <target name="cpd" depends="prepare_reports">
-        <path id="pmd.path">
-            <fileset dir="${pmd.dir}/lib" includes="*.jar"/>
-        </path>    
-        <taskdef 
-            name="cpd" 
-            classname="net.sourceforge.pmd.cpd.CPDTask"
-            classpathref="pmd.path" 
-        />
-        <cpd minimumTokenCount="100" outputFile="${reports.dir}/cpd.txt" encoding="UTF-8">
-            <fileset dir="${server.src.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-            <fileset dir="${webapp.src.dir}">
-                <include name="**/*.java"/>
-            </fileset>
-        </cpd>
-    </target>    
-
-    <target name="jslint" depends="prepare_reports">
-        <path id="jslint.path">
-            <fileset dir="${jslint.dir}" includes="*.jar"/>
-        </path>    
-        <taskdef 
-            name="jslint"
-            classname="com.googlecode.jslint4java.ant.JSLintTask"
-            classpathref="jslint.path" 
-        />
-        <jslint>
-            <formatter type="plain" destfile="${reports.dir}/jslint.txt" />
-            <fileset dir="${webapp.src.dir}">
-              <include name="**/*.js" />
-            </fileset>
-        </jslint>        
-    </target>    
-
-    <!-- ================================================================== -->
-
-    <target name="clean">
-        <delete file="${build.dir}/${fullname}.jar" />
-        <delete file="${build.dir}/${fullname}-server.jar" />
-        <delete dir="${server.classes.dir}" />
-        <delete dir="${webapp.classes.dir}" />
-        <delete dir="${tests.classes.dir}" />
-    </target>
-
-    <target name="distclean" depends="clean">
-        <delete dir="${build.dir}" />
-        <delete dir="${dist.dir}" />
-        <delete dir="${tools.dir}" />
-    </target>
-
-</project>
diff --git a/debian/changelog b/debian/changelog
index 4c7969f..f519a9b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+openrefine-butterfly (1.2.3+git20220314.1.89b9944-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Sat, 19 Mar 2022 21:08:55 -0000
+
 openrefine-butterfly (1.2.3-1) unstable; urgency=medium
 
   * New upstream version 1.2.3.
diff --git a/debian/patches/getAllowRendering.patch b/debian/patches/getAllowRendering.patch
index 0285f9d..ef55912 100644
--- a/debian/patches/getAllowRendering.patch
+++ b/debian/patches/getAllowRendering.patch
@@ -9,10 +9,10 @@ This method is gone. Needs to be fixed upstream.
  main/src/edu/mit/simile/butterfly/velocity/Super.java | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/main/src/edu/mit/simile/butterfly/velocity/Super.java b/main/src/edu/mit/simile/butterfly/velocity/Super.java
-index 3c1d6f6..823b688 100644
---- a/main/src/edu/mit/simile/butterfly/velocity/Super.java
-+++ b/main/src/edu/mit/simile/butterfly/velocity/Super.java
+Index: openrefine-butterfly/main/src/edu/mit/simile/butterfly/velocity/Super.java
+===================================================================
+--- openrefine-butterfly.orig/main/src/edu/mit/simile/butterfly/velocity/Super.java
++++ openrefine-butterfly/main/src/edu/mit/simile/butterfly/velocity/Super.java
 @@ -39,9 +39,9 @@ public class Super extends InputBase {
      throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException {
          
diff --git a/main/pom.xml b/main/pom.xml
index c0bd4e7..1731747 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.openrefine.dependencies</groupId>
     <artifactId>butterfly-container</artifactId>
-    <version>1.2.3</version>
+    <version>1.2.4-SNAPSHOT</version>
   </parent>
   
   <groupId>org.openrefine.dependencies</groupId>
   <artifactId>butterfly</artifactId>
-  <version>1.2.3</version>
+  <version>1.2.4-SNAPSHOT</version>
 
   <name>SIMILE Butterfly Engine</name>
   <url>https://github.com/OpenRefine/simile-butterfly/</url>
@@ -85,7 +85,7 @@
     <dependency>
       <groupId>org.mozilla</groupId>
       <artifactId>rhino</artifactId>
-      <version>1.7.14-RC1</version>
+      <version>1.7.14</version>
     </dependency>
     <dependency>
       <groupId>javax.servlet</groupId>
@@ -100,7 +100,7 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
-      <version>1.7.32</version>
+      <version>1.7.36</version>
     </dependency>
     <dependency>
       <groupId>org.apache.logging.log4j</groupId>
@@ -111,13 +111,13 @@
     <dependency>
       <groupId>org.testng</groupId>
       <artifactId>testng</artifactId>
-      <version>7.4.0</version>
+      <version>7.5</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
-      <version>4.2.0</version>
+      <version>4.4.0</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/main/src/edu/mit/simile/butterfly/ButterflyModuleImpl.java b/main/src/edu/mit/simile/butterfly/ButterflyModuleImpl.java
index 774d523..ed8e8f6 100644
--- a/main/src/edu/mit/simile/butterfly/ButterflyModuleImpl.java
+++ b/main/src/edu/mit/simile/butterfly/ButterflyModuleImpl.java
@@ -342,7 +342,7 @@ public class ButterflyModuleImpl implements ButterflyModule {
     
     // ------------------------------------------------------------------------------------------------
     
-    protected Pattern images_pattern = Pattern.compile("^/?.*\\.(jpg|gif|png)$");
+    protected Pattern images_pattern = Pattern.compile("^/?.*\\.(jpg|gif|png|svg)$");
     protected Pattern mod_inf_pattern = Pattern.compile("^.*/MOD-INF/.*$");
 
     protected String encoding = "UTF-8";
diff --git a/pom.xml b/pom.xml
index 251cd56..95082a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
 
   <groupId>org.openrefine.dependencies</groupId>
   <artifactId>butterfly-container</artifactId>
-  <version>1.2.3</version>
+  <version>1.2.4-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>SIMILE Butterfly</name>
@@ -59,7 +59,7 @@
   </modules>
 
   <properties>
-    <log4j.version>2.17.0</log4j.version>
+    <log4j.version>2.17.2</log4j.version>
   </properties>
 
   <scm>
@@ -78,7 +78,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.8.1</version>
+        <version>3.10.1</version>
         <configuration>
           <source>1.8</source>
           <target>1.8</target>
@@ -109,7 +109,7 @@
      <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-javadoc-plugin</artifactId>
-      <version>3.3.1</version>
+      <version>3.3.2</version>
       <configuration>
         <javadocExecutable>/usr/bin/javadoc</javadocExecutable>
         <source>8</source>
@@ -146,7 +146,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
-        <version>3.3.1</version>
+        <version>3.3.2</version>
         <configuration>
           <aggregate>true</aggregate>
           <source>1.8</source>
@@ -178,7 +178,7 @@
     <dependency>
       <groupId>org.testng</groupId>
       <artifactId>testng</artifactId>
-      <version>7.4.0</version>
+      <version>7.5</version>
       <scope>test</scope>
     </dependency>
   </dependencies>