Skip to main content
Code written for 1.x keeps working. This page lists the changes in behaviour and dependencies that can still affect an upgrade.

From 1.1.x

Dependencies (1.2.0)

  • fastapi and uvicorn are no longer installed by default. If your code imports them through iso8583sim’s dependencies, install the web extra: pip install iso8583sim[web].
  • The anthropic extra requires anthropic>=1.0.0.
  • The google extra installs google-genai instead of the deprecated google-generativeai. If you imported google.generativeai yourself, install it separately.

LLM defaults (1.2.0)

Default models changed to current ones: Anthropic claude-opus-5, OpenAI gpt-6-astra, Google gemini-3.8-flash (Ollama is unchanged). The new defaults cost more per token than the old ones. To keep costs down, pass a model explicitly:
or --model on the CLI. Default output limits rose from 4096 to 16000 tokens so reasoning models aren’t cut off. Refusals now raise LLMError instead of returning an empty string. If you relied on an empty result, catch LLMError.

Behaviour fixes you might notice

From 1.4.x to 1.5

Network validation changed. Check VISA and Mastercard test data against the new rules:
  • Stricter: field 22 must use a known PAN entry mode (first two digits) and PIN entry capability (third digit). Mastercard rejects the Visa-only mode 95. Mastercard field 48 must be a transaction category code followed by well-formed subelements, so values such as MC123 are now rejected. See Field 22.
  • Looser: VISA field 44 no longer has to be hexadecimal, and Mastercard field 48 no longer has to start with MC. Both rules were wrong.

New in 1.4

Additive only. See the changelog for details.
  • Wire formats: encode and decode bytes with binary bitmaps, BCD and EBCDIC (build_bytes, parse_bytes).
  • Networking: TCP client, mock issuer host, and the serve, send and load commands.
  • MCP send_to_host tool, limited to allowed hosts.