diff --git a/CHANGELOG.md b/CHANGELOG.md
index eb5a9b7..6c8ff4a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # News
 
+## v0.2.5 - 2023-11-28
+
+- Improvements to testing and documentation support.
+
 ## v0.2.4 - 2023-08-10
 
 - Minor internal improvements to doc builder and interactions with QuantumSavory.jl
diff --git a/Project.toml b/Project.toml
index d9e7252..bc197ba 100644
--- a/Project.toml
+++ b/Project.toml
@@ -1,7 +1,7 @@
 name = "QuantumSymbolics"
 uuid = "efa7fd63-0460-4890-beb7-be1bbdfbaeae"
 authors = ["QuantumSymbolics.jl contributors"]
-version = "0.2.4"
+version = "0.2.5"
 
 [deps]
 Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
diff --git a/docs/make.jl b/docs/make.jl
index fec4c00..3afb5da 100644
--- a/docs/make.jl
+++ b/docs/make.jl
@@ -11,16 +11,17 @@ DocMeta.setdocmeta!(QuantumSymbolics, :DocTestSetup, :(using QuantumSymbolics, Q
 
 function main()
     bib = CitationBibliography(joinpath(@__DIR__,"src/references.bib"), style=:authoryear)
+    
     makedocs(
-    bib,
+    plugins=[bib],
     doctest = false,
-    strict = Documenter.except(:missing_docs),
     clean = true,
     sitename = "QuantumSymbolics.jl",
     format = Documenter.HTML(
         assets=["assets/init.js"]
     ),
     modules = [QuantumSymbolics],
+    warnonly = [:missing_docs],
     authors = "Stefan Krastanov",
     pages = [
         "QuantumSymbolics.jl" => "index.md",
diff --git a/src/QSymbolicsBase/QSymbolicsBase.jl b/src/QSymbolicsBase/QSymbolicsBase.jl
index 6771ba9..5100907 100644
--- a/src/QSymbolicsBase/QSymbolicsBase.jl
+++ b/src/QSymbolicsBase/QSymbolicsBase.jl
@@ -90,7 +90,7 @@ function withmetadata(strct) # TODO this should really use MacroTools instead of
         end
     end
     struct_args = strct.args[end].args
-    if all(x->x isa Symbol || x isa LineNumberNode || x.head==:(::), struct_args)
+    if all(x->x isa Symbol || x isa LineNumberNode || x isa String || x.head==:(::), struct_args)
         # add constructor
         args = [x for x in struct_args if x isa Symbol || x isa Expr] # the arguments required for the constructor
         args = [a isa Symbol ? a : (a.head==:(::) ? a.args[1] : a) for a in args] # drop typeasserts