Changelog¶
All notable changes to snowloader are documented here. This project follows Semantic Versioning.
v0.2.0 (2026-04-28)¶
Async API:
AsyncSnowConnectionbuilt onaiohttpwith concurrent paginated fetchesAsyncBaseSnowLoaderplus async variants for every existing loaderaget_records,aget_record,aget_count,aget_attachmenton the async connectionNew
[async]install extra:pip install snowloader[async]
Attachments:
AttachmentLoaderfor thesys_attachmenttable with optional eager downloads, size cap, and selective fetchAsyncAttachmentLoaderfor the same flow over the async connectionSnowConnection.get_attachmentandAsyncSnowConnection.aget_attachmentfor direct binary fetches
Adapters:
ServiceNowAttachmentLoader(LangChain) andServiceNowAttachmentReader(LlamaIndex)Async variants of every adapter:
AsyncServiceNow*LoaderandAsyncServiceNow*Reader
Utilities:
parse_labelled_intpublic helper for ServiceNow labelled integer fields like priority, urgency, and impact
Tests:
188 unit tests, up from 124
v0.1.0 (2026-03-25)¶
Initial release.
Loaders:
IncidentLoader- IT incidents with structured text and journal supportKnowledgeBaseLoader- KB articles with built-in HTML cleaningCMDBLoader- Configuration Items with concurrent relationship traversalChangeLoader- Change requests with implementation window detailsProblemLoader- Problems with root cause and known error handlingCatalogLoader- Service catalog items
Framework Adapters:
LangChain adapter (6 classes implementing
BaseLoader)LlamaIndex adapter (6 classes implementing
BaseReader)
Connection:
4 authentication modes: Basic, OAuth Password Grant, OAuth Client Credentials, Bearer Token
Automatic pagination with stable ordering
Retry logic with exponential backoff for 429/502/503/504
Rate limiting (configurable
request_delay)Thread-safe HTTP via request lock
Proxy and custom CA certificate support
Context manager for session lifecycle
Configurable timeout, page size, display value mode
Core Features:
Delta sync via
load_since(datetime)Memory-efficient streaming via generator-based
lazy_load()Built-in HTML cleaner (zero external dependencies)
Journal entry support (work notes and comments)
SnowDocumentas framework-agnostic intermediate formatPEP 561
py.typedmarker for type checker support
Testing:
124 unit tests with mocked HTTP
33 live integration tests against a real ServiceNow instance
Full quality gate: ruff, mypy –strict, pytest