Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-langsmith for
openSUSE:Factory checked in at 2026-09-18 22:05:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-langsmith (Old)
and /work/SRC/openSUSE:Factory/.python-langsmith.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-langsmith"
Fri Sep 18 22:05:13 2026 rev:27 rq:1378668 version:0.12.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-langsmith/python-langsmith.changes
2026-09-17 15:18:29.919645001 +0200
+++
/work/SRC/openSUSE:Factory/.python-langsmith.new.383539/python-langsmith.changes
2026-09-18 22:05:47.466713969 +0200
@@ -1,0 +2,7 @@
+Thu Sep 17 16:27:52 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.12.6:
+ * LiveKit traces keep system instructions alongside history -
+ gen_ai.input.messages was shadowing the merged prompt at ingest
+
+-------------------------------------------------------------------
Old:
----
langsmith-0.12.5.tar.gz
New:
----
langsmith-0.12.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-langsmith.spec ++++++
--- /var/tmp/diff_new_pack.xn2y0k/_old 2026-09-18 22:05:48.690765268 +0200
+++ /var/tmp/diff_new_pack.xn2y0k/_new 2026-09-18 22:05:48.691765310 +0200
@@ -17,7 +17,7 @@
Name: python-langsmith
-Version: 0.12.5
+Version: 0.12.6
Release: 0
Summary: Client library for the LangSmith LLM tracing and evaluation
platform
License: MIT
++++++ langsmith-0.12.5.tar.gz -> langsmith-0.12.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langsmith-0.12.5/.bumpversion.cfg
new/langsmith-0.12.6/.bumpversion.cfg
--- old/langsmith-0.12.5/.bumpversion.cfg 2020-02-02 01:00:00.000000000
+0100
+++ new/langsmith-0.12.6/.bumpversion.cfg 2020-02-02 01:00:00.000000000
+0100
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 0.12.5
+current_version = 0.12.6
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
serialize = {major}.{minor}.{patch}
search = {current_version}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langsmith-0.12.5/PKG-INFO
new/langsmith-0.12.6/PKG-INFO
--- old/langsmith-0.12.5/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/langsmith-0.12.6/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.5
Name: langsmith
-Version: 0.12.5
+Version: 0.12.6
Summary: Client library to connect to the LangSmith Observability and
Evaluation Platform.
Project-URL: Homepage, https://smith.langchain.com/
Project-URL: Documentation, https://docs.smith.langchain.com/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langsmith-0.12.5/langsmith/__init__.py
new/langsmith-0.12.6/langsmith/__init__.py
--- old/langsmith-0.12.5/langsmith/__init__.py 2020-02-02 01:00:00.000000000
+0100
+++ new/langsmith-0.12.6/langsmith/__init__.py 2020-02-02 01:00:00.000000000
+0100
@@ -50,7 +50,7 @@
# Avoid calling into importlib on every call to __version__
-__version__ = "0.12.5"
+__version__ = "0.12.6"
version = __version__ # for backwards compatibility
# Metadata key to hide a traced run from LangSmith's Messages View.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langsmith-0.12.5/langsmith/integrations/livekit/processor.py
new/langsmith-0.12.6/langsmith/integrations/livekit/processor.py
--- old/langsmith-0.12.5/langsmith/integrations/livekit/processor.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langsmith-0.12.6/langsmith/integrations/livekit/processor.py
2020-02-02 01:00:00.000000000 +0100
@@ -586,8 +586,8 @@
def _handle_llm_request(self, tspan: TranslatedSpan) -> None:
"""Read GenAI message attributes (1.8+) or legacy message events.
- The translated events are then stripped so the ingester doesn't render
- them twice.
+ The translated attributes and events are then stripped so the ingester
+ doesn't prefer the source representation or render messages twice.
"""
tspan.set_kind("llm")
@@ -615,6 +615,12 @@
if completion is None:
completion = legacy_completion or None
tspan.set_messages(prompt=prompt, completion=completion)
+ for attribute in (
+ "gen_ai.input.messages",
+ "gen_ai.output.messages",
+ "gen_ai.system_instructions",
+ ):
+ tspan.attributes.pop(attribute, None)
provider = extract_provider_from_lk_metrics(
tspan.attributes.get("lk.llm_metrics")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langsmith-0.12.5/tests/unit_tests/wrappers/test_livekit.py
new/langsmith-0.12.6/tests/unit_tests/wrappers/test_livekit.py
--- old/langsmith-0.12.5/tests/unit_tests/wrappers/test_livekit.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langsmith-0.12.6/tests/unit_tests/wrappers/test_livekit.py
2020-02-02 01:00:00.000000000 +0100
@@ -1794,6 +1794,12 @@
"output_tokens": 5,
"total_tokens": 25,
}
+ assert not {
+ "gen_ai.input.messages",
+ "gen_ai.output.messages",
+ "gen_ai.system_instructions",
+ }.intersection(span._attributes)
+ # Translating the exported copy must not mutate the source span
attributes.
assert attrs["gen_ai.input.messages"] == json.dumps(inputs)
@pytest.mark.parametrize(
@@ -1859,6 +1865,8 @@
json.loads(span._attributes["gen_ai.completion"])["messages"][0]["content"]
== "New answer"
)
+ assert "gen_ai.input.messages" not in span._attributes
+ assert "gen_ai.output.messages" not in span._attributes
def
test_new_fields_prevent_duplicates_and_empty_arrays_are_authoritative(self):
diagnostic = self._event("diagnostic", detail="kept")
@@ -1881,6 +1889,11 @@
{"role": "system", "content": "New instructions"}
]
assert json.loads(span._attributes["gen_ai.completion"])["messages"]
== []
+ assert not {
+ "gen_ai.input.messages",
+ "gen_ai.output.messages",
+ "gen_ai.system_instructions",
+ }.intersection(span._attributes)
assert list(span.events) == [diagnostic]
def test_instructions_only_and_legacy_output(self):