diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,19 @@
 
 ## [Unreleased]
 
+## [1.0.0.3] - 2026-06-01
+
+### Changed
+
+- Simplified the Cabal package synopsis for cleaner Hackage metadata.
+- Added `tested-with` metadata for supported GHC versions and tightened
+  package bounds to the validated dependency range.
+
+### Fixed
+
+- Preserved source-span annotations on binder names so downstream consumers can
+  locate binders parsed from declarations such as foreign imports.
+
 ## [1.0.0.2] - 2026-05-28
 
 ### Fixed
diff --git a/aihc-parser.cabal b/aihc-parser.cabal
--- a/aihc-parser.cabal
+++ b/aihc-parser.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.8
 name: aihc-parser
-version: 1.0.0.2
+version: 1.0.0.3
 build-type: Simple
 license: Unlicense
 license-file: LICENSE
@@ -9,6 +9,12 @@
   test/Test/Fixtures/**/*.hs
   test/Test/Fixtures/**/*.yaml
 
+tested-with:
+  ghc ==9.8.4
+  ghc ==9.10.3
+  ghc ==9.12.4
+  ghc ==9.14.1
+
 author: David Himmelstrup
 maintainer: lemmih@gmail.com
 category: Development
@@ -59,13 +65,13 @@
 
   hs-source-dirs: src
   build-depends:
-    base >=4.16 && <5,
+    base >=4.19 && <5,
     bytestring >=0.10.8 && <0.13,
-    containers >=0.5 && <0.8,
+    containers >=0.5 && <0.9,
     deepseq >=1.4 && <1.6,
     megaparsec >=9.0 && <10,
     prettyprinter >=1.7 && <1.8,
-    text >=1.2 && <2.2,
+    text >=2.1.2 && <2.2,
 
   ghc-options: -Wall
   default-language: GHC2021
@@ -152,9 +158,9 @@
     aeson >=2.0 && <2.3,
     aihc-cpp >=1.0 && <1.1,
     aihc-hackage >=0.1 && <0.2,
-    base >=4.16 && <5,
+    base >=4.19 && <5,
     bytestring >=0.10.8 && <0.13,
-    containers >=0.5 && <0.8,
+    containers >=0.5 && <0.9,
     deepseq >=1.4 && <1.6,
     directory >=1.2.3 && <1.5,
     filepath >=1.3.0.1 && <1.6,
@@ -168,7 +174,7 @@
     tasty-hunit >=0.10 && <0.11,
     tasty-quickcheck >=0.11.1 && <0.12,
     template-haskell >=2.18 && <2.24,
-    text >=1.2 && <2.2,
+    text >=2.1.2 && <2.2,
     yaml >=0.11 && <0.12,
 
   ghc-options:
diff --git a/src/Aihc/Parser/Internal/Common.hs b/src/Aihc/Parser/Internal/Common.hs
--- a/src/Aihc/Parser/Internal/Common.hs
+++ b/src/Aihc/Parser/Internal/Common.hs
@@ -333,8 +333,12 @@
 
 binderNameParser :: TokParser UnqualifiedName
 binderNameParser =
-  identifierUnqualifiedNameParser
-    <|> parens operatorUnqualifiedNameParser
+  spanned identifierUnqualifiedNameParser
+    <|> parens (spanned operatorUnqualifiedNameParser)
+  where
+    spanned =
+      withSpanAnn $ \sp name ->
+        name {unqualifiedNameAnns = mkAnnotation sp : unqualifiedNameAnns name}
 
 recordFieldNameParser :: TokParser Name
 recordFieldNameParser =
