diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,8 @@
+## 1.25.13 (2023-07-13)
+- correct zero time duration P0S to PT0S (@dten, #16)
+- allow ghc-9.6 base (@andreasabel, #15)
+- allow bytestring-0.12 (@andreasabel, #18)
+
 ## 1.25.12 (2022-10-18)
 - Allow parsing empty strings, avoiding space leak #13 (Teo Camarasu)
 
diff --git a/HaXml.cabal b/HaXml.cabal
--- a/HaXml.cabal
+++ b/HaXml.cabal
@@ -1,6 +1,7 @@
 cabal-version:  1.18
 name:           HaXml
-version:        1.25.12
+version:        1.25.13
+x-revison:      1
 
 license:        LGPL-2.1
 license-files:  COPYRIGHT, LICENCE-GPL, LICENCE-LGPL
@@ -17,8 +18,9 @@
 extra-doc-files: Changelog.md README
 
 tested-with:
-  GHC ==9.4.1
-   || ==9.2.4
+  GHC ==9.6.2
+   || ==9.4.5
+   || ==9.2.8
    || ==9.0.2
    || ==8.10.7
    || ==8.8.4
@@ -27,16 +29,10 @@
    || ==8.2.2
    || ==8.0.2
    || ==7.10.3
-   || ==7.8.4
-   || ==7.6.3
-   || ==7.4.2
-   || ==7.2.2
-   || ==7.0.4
 
-source-repository this
+source-repository head
   type:      git
   location:  https://github.com/HaXml/HaXml.git
-  tag:       v1.25.6
 
 library
   exposed-modules:
@@ -87,8 +83,8 @@
         Text.XML.HaXml.Schema.Schema
   hs-source-dirs: src
   build-depends:
-    base       >= 4.3.1.0  && < 4.18,
-    bytestring >= 0.9.1.10 && < 0.12,
+    base       >= 4.3.1.0  && < 4.19,
+    bytestring >= 0.9.1.10 && < 0.13,
     containers >= 0.4.0.0  && <0.7,
     filepath   >= 1.2.0.0  && <1.5,
     pretty     >= 1.0.1.2  && <1.2,
diff --git a/src/Text/XML/HaXml/Schema/PrimitiveTypes.hs b/src/Text/XML/HaXml/Schema/PrimitiveTypes.hs
--- a/src/Text/XML/HaXml/Schema/PrimitiveTypes.hs
+++ b/src/Text/XML/HaXml/Schema/PrimitiveTypes.hs
@@ -155,7 +155,7 @@
                                                `onFail` return 0)
                                       `apply` ((parseFloat `discard` isNext 'S')
                                                `onFail` return 0)
-    simpleTypeText (Duration pos 0 0 0 0 0 0) = (if pos then "" else "-")++"P0S"
+    simpleTypeText (Duration pos 0 0 0 0 0 0) = (if pos then "" else "-")++"PT0S"
     simpleTypeText (Duration pos y m d h n s) =
         (if pos then "" else "-")++"P"++showUnit y 'Y'++showUnit m 'M'++showUnit d 'D'++showTime
       where
