diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for trexio-hs
 
+## 0.2.0 -- 2025-08-04
+
+* Conditionally add new error codes for TREXIO-2.6.0, while keeping 2.5.0 compatibility
+
 ## 0.1.1 -- 2025-07-10
 
 * Adapt test suite for more restrictive checks for various fields such as determinant_list
diff --git a/src-int/TREXIO/Internal/Base.hsc b/src-int/TREXIO/Internal/Base.hsc
--- a/src-int/TREXIO/Internal/Base.hsc
+++ b/src-int/TREXIO/Internal/Base.hsc
@@ -54,6 +54,8 @@
   | InvalidState
   | VersionParsingIssue
   | PhaseChange
+  #if TREXIO_VERSION_MAJOR >= 2
+  #if TREXIO_VERSION_MINOR >= 6
   | InvalidMoIndex
   | InvalidArg9
   | InvalidArg10
@@ -62,6 +64,8 @@
   | InvalidArg13
   | InvalidArg14
   | CorruptionAttempt
+  #endif
+  #endif
   deriving (Show, Eq, Ord, Generic)
 
 instance Enum ExitCode where
@@ -104,6 +108,8 @@
   fromEnum InvalidState = #const TREXIO_INVALID_STATE
   fromEnum VersionParsingIssue = #const TREXIO_VERSION_PARSING_ISSUE
   fromEnum PhaseChange = #const TREXIO_PHASE_CHANGE
+  #if TREXIO_VERSION_MAJOR >= 2
+  #if TREXIO_VERSION_MINOR >= 6
   fromEnum InvalidMoIndex = #const TREXIO_INVALID_MO_INDEX
   fromEnum InvalidArg9 = #const TREXIO_INVALID_ARG_9
   fromEnum InvalidArg10 = #const TREXIO_INVALID_ARG_10
@@ -112,7 +118,8 @@
   fromEnum InvalidArg13 = #const TREXIO_INVALID_ARG_13
   fromEnum InvalidArg14 = #const TREXIO_INVALID_ARG_14
   fromEnum CorruptionAttempt = #const TREXIO_CORRUPTION_ATTEMPT
-
+  #endif
+  #endif
   toEnum (#const TREXIO_FAILURE) = Failure
   toEnum (#const TREXIO_SUCCESS) = Success
   toEnum (#const TREXIO_INVALID_ARG_1) = InvalidArg1
@@ -152,6 +159,8 @@
   toEnum (#const TREXIO_INVALID_STATE) = InvalidState
   toEnum (#const TREXIO_VERSION_PARSING_ISSUE) = VersionParsingIssue
   toEnum (#const TREXIO_PHASE_CHANGE) = PhaseChange
+  #if TREXIO_VERSION_MAJOR >= 2
+  #if TREXIO_VERSION_MINOR >= 6
   toEnum (#const TREXIO_INVALID_MO_INDEX) = InvalidMoIndex
   toEnum (#const TREXIO_INVALID_ARG_9) = InvalidArg9
   toEnum (#const TREXIO_INVALID_ARG_10) = InvalidArg10
@@ -160,7 +169,10 @@
   toEnum (#const TREXIO_INVALID_ARG_13) = InvalidArg13
   toEnum (#const TREXIO_INVALID_ARG_14) = InvalidArg14
   toEnum (#const TREXIO_CORRUPTION_ATTEMPT) = CorruptionAttempt
+  #endif
+  #endif
   toEnum _ = error "toEnum(ExitCode): invalid argument"
+  
 
 instance Exception ExitCode where
   displayException = stringOfError 
diff --git a/trexio-hs.cabal b/trexio-hs.cabal
--- a/trexio-hs.cabal
+++ b/trexio-hs.cabal
@@ -7,7 +7,7 @@
 -- PVP summary:     +-+------- breaking API changes
 --                  | | +----- non-breaking API additions
 --                  | | | +--- code changes with no API change
-version:            0.1.1
+version:            0.2.0
 synopsis: Bindings to the TREXIO library for wave function data
 homepage:           https://github.com/TREX-CoE/trexio-hs
 license:            BSD-3-Clause
@@ -19,6 +19,11 @@
 tested-with:        GHC == {9.6, 9.8, 9.10, 9.12}
 description:
     This package provides low- and high-level Haskell bindings for [TREXIO, a portable file format for storing wave function data](https://trex-coe.github.io/trexio/).
+    Tested with TREXIO versions:
+
+      * 2.5.0
+      * 2.6.0
+
     The vast majority of the bindings in this package is generated via TemplateHaskell from the TREXIO JSON specification, that then defines the C-API.
     For more details see the [TREXIO documentation](https://trex-coe.github.io/trexio/lib.html).
     Consequently, this package is able to adapt to changes in the TREXIO specification, but the Hackage version reflects the canonical upstream TREXIO specification.
@@ -65,6 +70,10 @@
             print rdm2e
     @
 
+source-repository head
+    type: git
+    location: https://github.com/TREX-CoE/trexio-hs.git
+
 common warnings
     ghc-options: -Wall
 
@@ -148,4 +157,3 @@
         tasty-hunit >= 0.10 && < 0.11,
         tasty-hedgehog >= 1.4 && < 1.5,
         hedgehog >= 1.4 && < 1.6
-
