Update dependencies.

Change-Id: I94904259a5d8dd4b8011ae578632fb9cd646c93e
diff --git a/pom.xml b/pom.xml
index b54e55b..cd94789 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
   <modelVersion>4.0.0</modelVersion>
 
@@ -10,8 +12,8 @@
 
   <properties>
     <maven.compiler.parameters>true</maven.compiler.parameters>
-    <maven.compiler.source>11</maven.compiler.source>
-    <maven.compiler.target>11</maven.compiler.target>
+    <maven.compiler.source>17</maven.compiler.source>
+    <maven.compiler.target>17</maven.compiler.target>
 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
@@ -20,28 +22,28 @@
 
     <antrun-plugin.version>3.0.0</antrun-plugin.version>
     <compiler-plugin.version>3.8.1</compiler-plugin.version>
-    <enforcer-plugin.version>3.0.0-M3</enforcer-plugin.version>
+    <enforcer-plugin.version>3.0.0</enforcer-plugin.version>
     <processor-plugin.version>4.2</processor-plugin.version>
-    <quarkus.version>2.0.2.Final</quarkus.version>
+    <quarkus.version>2.7.5.Final</quarkus.version>
     <resources-plugin.version>3.2.0</resources-plugin.version>
-    <spotless-plugin.version>2.11.0</spotless-plugin.version>
+    <spotless-plugin.version>2.19.0</spotless-plugin.version>
 
     <quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
     <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
 
     <basic-annotations.version>0.2.0</basic-annotations.version>
     <findbugs-jsr305.version>3.0.2</findbugs-jsr305.version>
-    <flexmark.version>0.62.2</flexmark.version>
-    <google.java.format.version>1.10.0</google.java.format.version>
-    <hibernate.version>5.4.27.Final</hibernate.version>
-    <hibernate-types.version>2.12.0</hibernate-types.version>
+    <flexmark.version>0.64.0</flexmark.version>
+    <google.java.format.version>1.15.0</google.java.format.version>
+    <hibernate.version>5.6.5.Final</hibernate.version>
+    <hibernate-types.version>2.14.0</hibernate-types.version>
     <jakarta-jacc-api.version>1.6.1</jakarta-jacc-api.version>
-    <jna.version>5.8.0</jna.version>
-    <jsoup.version>1.13.1</jsoup.version>
-    <kotlin-annotations.version>1.5.20</kotlin-annotations.version>
-    <liquibase.version>4.3.5</liquibase.version>
-    <postgresql.version>42.2.22</postgresql.version>
-    <rome.version>1.15.0</rome.version>
+    <jna.version>5.10.0</jna.version>
+    <jsoup.version>1.14.3</jsoup.version>
+    <kotlin-annotations.version>1.6.10</kotlin-annotations.version>
+    <liquibase.version>4.8.0</liquibase.version>
+    <postgresql.version>42.3.3</postgresql.version>
+    <rome.version>1.18.0</rome.version>
   </properties>
 
   <dependencyManagement>
@@ -58,7 +60,7 @@
       <!-- Hibernate PostgreSQL Extra Types -->
       <dependency>
         <groupId>com.vladmihalcea</groupId>
-        <artifactId>hibernate-types-52</artifactId>
+        <artifactId>hibernate-types-55</artifactId>
         <version>${hibernate-types.version}</version>
       </dependency>
 
@@ -214,7 +216,7 @@
     <!-- Hibernate PostgreSQL Extra Types -->
     <dependency>
       <groupId>com.vladmihalcea</groupId>
-      <artifactId>hibernate-types-52</artifactId>
+      <artifactId>hibernate-types-55</artifactId>
     </dependency>
 
     <!-- Annotations -->
@@ -393,7 +395,7 @@
             <phase>generate-resources</phase>
             <configuration>
               <target>
-                <ant target="web.resources" />
+                <ant target="web.resources"/>
               </target>
             </configuration>
             <goals>
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java
index 25955bd..11ac98a 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java
@@ -1,5 +1,6 @@
 package eu.mulk.mulkcms2.benki.posts;
 
+import com.vladmihalcea.hibernate.type.search.PostgreSQLTSVectorType;
 import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
 import javax.annotation.CheckForNull;
 import javax.json.bind.annotation.JsonbTransient;
@@ -15,11 +16,14 @@
 import javax.persistence.Table;
 import org.hibernate.annotations.Generated;
 import org.hibernate.annotations.GenerationTime;
+import org.hibernate.annotations.Type;
+import org.hibernate.annotations.TypeDef;
 
 @Entity
 @Table(name = "post_texts", schema = "benki")
 @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
 @IdClass(PostTextPK.class)
+@TypeDef(name = "tsvector", typeClass = PostgreSQLTSVectorType.class)
 public abstract class PostText<OwningPost extends Post<?>> extends PanacheEntityBase {
 
   private static final int DESCRIPTION_CACHE_VERSION = 1;
@@ -42,6 +46,7 @@
 
   @Column(name = "search_terms")
   @Generated(GenerationTime.ALWAYS)
+  @Type(type = "tsvector")
   public String searchTerms;
 
   @ManyToOne(fetch = FetchType.LAZY, targetEntity = Post.class)
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
index 1622334..edf9c72 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
@@ -32,7 +32,7 @@
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.Response;
 import org.jsoup.Jsoup;
-import org.jsoup.safety.Whitelist;
+import org.jsoup.safety.Safelist;
 
 @Path("/wiki")
 public class WikiResource {
@@ -94,7 +94,7 @@
 
     if (title != null) {
       // Remove markup.  Reject whitespace.
-      title = Jsoup.clean(title, Whitelist.none());
+      title = Jsoup.clean(title, Safelist.none());
       if (!title.matches("\\w+")) {
         throw new BadRequestException("title does not match \"\\w+\"");
       }
diff --git a/src/main/java/eu/mulk/mulkcms2/common/markdown/MarkdownConverter.java b/src/main/java/eu/mulk/mulkcms2/common/markdown/MarkdownConverter.java
index cd75afe..0200514 100644
--- a/src/main/java/eu/mulk/mulkcms2/common/markdown/MarkdownConverter.java
+++ b/src/main/java/eu/mulk/mulkcms2/common/markdown/MarkdownConverter.java
@@ -12,7 +12,7 @@
 import java.util.Arrays;
 import javax.enterprise.context.ApplicationScoped;
 import org.jsoup.Jsoup;
-import org.jsoup.safety.Whitelist;
+import org.jsoup.safety.Safelist;
 
 @ApplicationScoped
 public class MarkdownConverter {
@@ -44,6 +44,6 @@
   public String htmlify(String markdown) {
     var parsedDocument = parser.parse(markdown);
     var unsanitizedHtml = renderer.render(parsedDocument);
-    return Jsoup.clean(unsanitizedHtml, Whitelist.relaxed());
+    return Jsoup.clean(unsanitizedHtml, Safelist.relaxed());
   }
 }