Repository navigation
v0.2.0
prism-ai-core 0.2.0
No breaking changes.
- Guarded media fetch: Media.fetch_public() fetches a URL you do not
trust, after checking the scheme, the literal address and EVERY DNS
answer, and re-checking each redirect hop before requesting it. It
refuses private, loopback, link-local, CGNAT (including Alibaba
Cloud's metadata endpoint 100.100.100.200), documentation,
benchmarking, multicast and reserved ranges, and judges NAT64
(64:ff9b::/96) and 6to4 (2002::/16) addresses by the IPv4 address
they embed, so 64:ff9b::a9fe:a9fe is refused as 169.254.169.254 (G-89).
DNS answers are not pinned to the connection, so DNS rebinding remains
possible; the response body is not size-capped yet (G-90). - Structured output on OpenAI: gpt-6.x (gpt-6-sol, gpt-6-luna,
gpt-6-astra, gpt-6.1-sol) and the o-series (o1, o1-pro, o3, o3-pro,
o4-mini) now get a strict json_schema under the default auto mode.
They previously fell back to json_object, where the schema is not
enforced. Names outside OpenAI's model families keep JSON mode
(Particle-Academy/prism#83).