Skip to main content

Python Agent Release Notes

2026-10-19

v2.2.2

LLM Observability

Fixed Fixed the native agent starting more than once in LLM mode.

  • The duplicate startup fixed in v2.2.1 still occurred in LLM mode.

2026-09-29

v2.2.1

LLM Observability

New Added support for AWS Bedrock Runtime instrumentation

  • Collects the Converse, ConverseStream, InvokeModel, and InvokeModelWithResponseStream calls of bedrock-runtime as LLM API steps

New Added the ability to stop an active trajectory

  • You can stop a running trajectory on the Active LLM screen
    • The in-flight LLM call is cut off and the transaction ends. LLM calls raised afterward in the same trajectory are blocked as well
  • The stop point is recorded in the transaction profile as a WhaTap: LLM trajectory stopped by control message step, so you can tell it apart from an application error

New Added the llm_blocked_users String option

  • Default: ""
  • Blocks LLM calls from the given user IDs. Separate them with commas; case is ignored
    • Example: llm_blocked_users=u-1024,abuse@example.com
  • A blocked call returns as a connection error of the SDK, such as APIConnectionError, and a WhaTap: LLM call blocked for user … message step is recorded in the transaction profile

New Added the llm_httpc_step_enabled Boolean option

  • Default: true
  • Collects HTTP calls made inside an LLM workflow, such as MCP and REST tool calls, together with the LLM steps
  • Set it to false to collect only LLM API calls

New Added a metric for newly started trajectories

  • The active trajectory metric now includes the number of trajectories started during the last five seconds (new_count)

Fixed Fixed LLM API steps and API status code statistics not being collected on openai 3.x and anthropic 1.x

Fixed Fixed LLM transactions being lost in short-lived processes

  • Transaction end information and LLM logs were not sent from processes that run once and exit, such as CLI runs and child processes
Common

New Added instrumentation for the httpx2 library

Changed Streaming HTTP responses now measure elapsed time up to the point the response ends

  • For streaming responses such as SSE, the step elapsed time runs until the response completes instead of stopping when the headers arrive

Fixed Fixed the native agent starting once per worker on Linux when whatap_code_start was set to true in a multi-worker environment such as uvicorn --workers.

2026-09-01

v2.2.0

AI Agent Observability

New Added LLM workflow transaction instrumentation.

  • Collects the LLM execution span inside an application transaction as its own transaction.

New Added collection of conversation coordinates (User / Session / Turn).

  • Collects the user ID and session ID automatically from HTTP headers or LLM SDK call arguments.
  • The turn ID is assigned automatically when a transaction starts.

New Added an option to configure the model that performs evaluation.

New Added the llm_prompt_default_version option.

  • Type: String, default: v1

New Added active trajectory tracking.

New Added active LLM API tracking.

New Added automatic instrumentation for the anthropic SDK.

New Added automatic instrumentation for langgraph.

New Added automatic instrumentation for the hermes-agent gateway.

Changed Evaluation span selection now works independently of the global setting and sampling.

Fixed Fixed the elapsed time of LLM API steps being collected shorter than the actual value.

Fixed Fixed the active gauge being counted lower than the actual value on concurrent LLM calls.

Fixed Fixed LLM call counts being lost.

Common

New Added the llm_apm_txn_enabled option.

  • Type: Boolean, default: false
  • Enable it to look up LLM transactions from an APM project as well.

New Added trace propagation across process boundaries (exec / spawn).

  • Passes transaction link information to child processes so call relationships are connected in multi-process structures.

New Added trace context propagation to worker threads (ThreadPoolExecutor).

  • Tasks run through ThreadPoolExecutor.submit are linked to their parent transaction.

Fixed Fixed the APM UDP socket being created even when apm_enabled was false.

Fixed Fixed instrumentation being lost when a module name set in a pattern option such as hook_method_patterns overlapped an automatic instrumentation target.

Fixed Fixed application calls potentially failing when env was passed as a positional argument to subprocess.Popen.

2026-08-18

v2.1.4

Fixed Fixed an agent error that occurred when the entry module was an instrumentation target.

2026-08-05

v2.1.3

New Added hook_service_patterns option.

  • Wraps the specified method as a transaction entry point.
  • For class-level method tracing
    hook_service_patterns="package:Class.method" # e.g. myPackage:MyClass.__init__
  • For function-level tracing
    hook_service_patterns="package:function" # e.g. myPackage:my_function

New Expanded Odoo framework support.

  • v16, v17 → v14–v19

2026-07-22

v2.1.2

Fixed Fixed an issue where active stacks were not collected in agent versions after 2.0.0.

2026-06-22

v2.1.1

LLM Observability

Fixed LiteLLM(in-process) 사용 시 LLM 호출이 실패하던 문제 수정

Fixed 스트리밍 tool_calls / reasoning 응답에서 TTFT·TPOT가 기록되지 않던 문제 수정

2026-06-10

v2.1.0

LLM Observability

New Added LLM automatic evaluation (Evaluation) and operation type (Operation Type) instrumentation features.

Changed Improved LLM metric structure.

  • Separated metric categories
  • Added finish_reason metric
  • Flattened list-type metric tags into parallel array fields
  • Consolidated token/call statistics
Common

New Added option to selectively disable automatic instrumentation for specific libraries.

  • ignore_instrumentation_set String: Libraries registered with this option will not have their instrumentation logic activated. Separate multiple targets with ,.
  • No default value; requires application restart.
  • Example: redis,openai

New Added simultaneous distribution of wheel(bdist_wheel) package.

Fixed Fixed an issue where accessing accesskey caused an AttributeError when the license was not configured.

Fixed Fixed an issue where using profile_http_parameter_enabled could cause abnormal termination due to argument access in some HTTP client calls.

2026-04-28

v2.0.2

LLM Observability

Changed Changed LLM log sink UDP transmission from single-send to 48KB cumulative buffering.

Common

New Added support for running the agent in Windows Service (NSSM) Session 0.

New Added BaseHTTPMiddleware tracing support for the FastAPI framework.

Changed Improved FastAPI tracing logic stability.

Changed Added environment variable fallback for unset values in whatap.conf.

Fixed Fixed an issue where unnecessary information was recorded in agent logs.

2026-04-08

v2.0.1

LLM Observability

New Added openai library tracing support.

New Added LLM-specific Metric and Log support.

New LLM cost (Pricing) calculation — supports per-model input/output token unit price calculation via genai-prices integration (with built-in fallback on failure).

New vLLM compatibility — supports Chat Completions / Completions API hooking and delta.text fallback for openai SDK-compatible vLLM servers.

New Added whatap-llm-setting-config command to automatically create/update LLM mode configuration files.

New Added LLM tracing options.

  • llm_api_hosts String


    Hosts registered with this option are recognized as LLM API paths. Separate multiple hosts with ,.

    • Default: none
    • Example: localhost:8000,api.openai.com:443
  • llm_model_pricing String


    Manually set the price per 1M tokens for LLM models. Prices registered with this option take first priority when calculating and storing data.

    • Format: [model name]|[input token]|[output token]|[cache token]
    • Example: gpt-4o|2.50|10.00|1.25,gpt-4o-mini|0.15|0.60|0.075,my-custom-model|1.00|5.00
Common

New Added FastAPI SSE response streaming tracing support.

New LLM & APM dual agent mode developed.

  • apm_enabled Boolean
    • Starts the agent in APM mode
    • license, whatap.server.host
    Caution

    The license and server address must be entered using the APM project key.

  • llm_enabled Boolean
    • Starts the agent in LLM mode
    • llm_license, llm.whatap.server.host
    Caution

    The license and server address must be entered using the LLM project key.

2026-03-24

v1.9.2

New Added option to force UDP port assignment

  • Added the force_net_udp_port option, which allows users to manually specify the UDP port used for communication with the Go module
  • Caution

    If multiple Python agent processes are running, there is a risk of port conflicts. Use this option only when a fixed UDP port is required in specific environments. (Default: disabled)

Feature Added httpx asynchronous tracing support

  • Added instrumentation for httpx.AsyncClient, an asynchronous HTTP client

Changed Removed the mandatory setuptools module dependency from the agent

Changed Added support for PEP 517-based build systems

Fixed Fixed missing collection when reusing DB connections

  • Fixed an issue where connection information was not collected properly in Steps when database connections were reused or declared as singletons

2026-01-26

v1.9.1

Fixed Updated the logging and loguru tracing modules

  • Updated to prevent hooking when the option value is set to False

Fixed Fixed the logic of the trace_user_enabled option

  • Resolved an issue where a ValueError occurred

Fixed Updated the tracing logic in greenlet environments

  • Resolved an issue where exception objects could not be captured because the current frame could not be found when an error occurred in this environment

2025-12-23

v1.9.0

New Windows OS support

  • Windows Server 2008 R2, Windows 7 or higher

Fixed ACTIVE_STATUS monitoring bug fix

  • Fixed an issue where data was not properly cleaned up when multi-transaction events occurred

Fixed HTTPC tracing bug fix

  • Fixed an issue where the return value of the original function was not passed correctly

Fixed Fixed an issue where Container IDs were collected incorrectly in Kubernetes container environments

2025-11-11

v1.8.14

Fixed psycopg_pool module fix

  • Fixed an issue where connections were not returned to the pool when calling pool_connection manually.

Fixed psycopg module fix

  • Fixed a conflict issue that occurred with certain logic when used with psycopg2.

Fixed ACTIVE_STATUS monitoring function fix

  • Fixed an issue where ACTIVE_STATUS data was being sent unnecessarily.

2025-10-01

v1.8.13

Fixed Updated the fastapi module

  • Fixed an issue where certain functions executed more than once

Fixed Updated the httpx module

  • Fixed a tracing error that occurred when invoked in streaming mode

Fixed Updated the psycopg module

  • Fixed an error when accessing the rowcount attribute

  • Improved stability of the logic for extracting connection information

Fixed Fixed an issue where Container ID was not mapped in Kubernetes container environments

    Caution

    Supported from Kubernetes agent v1.8.8 or higher

2025-09-12

v1.8.12

New Added @step_id field for LLM log monitoring

New Added LLM metrics collection feature

  • llm_stat_enabled Boolean

    • false: default
    • true: metrics collection is enabled only when this option, trace_llm_log_enabled, and counter_thread_enabled are all set to true

  • llm_stat_interval Number

    • Option to set the LLM metrics collection interval in seconds
    • 5: default

Feature Added counter_thread_enabled option Boolean

  • false: default

  • true: activates the thread (counter_thread) that collects llm_stat and app_filedescriptor metrics

Changed Improved stability of the psycopg_pool tracing module

Changed Improved asynchronous tracing stability for both psycopg and psycopg_pool modules

Changed The open_file_descriptor_enabled option no longer affects whether counter_thread is enabled

2025-09-01

v1.8.11

New Added tracing support for psycopg_pool module

Fixed Updated sqlAlchemy module

  • Fixed an issue where query parameters of the asyncmy driver were not being substituted

2025-08-22

v1.8.10

New psycopg module tracing feature added

New You can now specify the path to the whatap_python executable using the WHATAP_PYTHON_AGENT_PATH environment variable

  • If this environment variable is not set, it defaults to WHATAP_HOME

Fixed neo4j module modification

  • Fixed an issue where the DB connection timing was not being collected correctly

2025-08-12

v1.8.9

New Added sqlite3 module tracing feature

Fixed Fixed issue where DB Connection was displayed redundantly

  • Fixed an issue where the DB Connection Step was displayed in Step view even when only a DB query was executed

2025-08-04

v1.8.8

New Added tracing support for the httpx module

New Added tracing support for the openai module

  • trace_llm_log_enabled Boolean

    Default: false


    true: Enables tracing of OpenAI API calls via log monitoring

2025-07-29

v1.8.7

New Added whatap_code_start option Boolean Default: false

  • When set to true, you can run import whatap followed by whatap.agent() in sitecustomize.py, enabling agent startup without the whatap-start-agent command using only the default Python execution.

Fixed Modified open_file_descriptor_enabled option Boolean

  • When set to false, the thread that tracks file descriptors is also disabled.

2025-07-15

v1.8.6

New Added an option to display the original URL in step traces when URL normalization is applied

  • step_origin_url_enabled Boolean

    Default: false

New Added tracing options for standalone Python processes

  • standalone_enabled Boolean

    Default: false

  • standalone_type String


    single-transaction: Default. Monitors as a single transaction


    multiple-transaction: Allows transaction tracing at the module, class, or method level

  • standalone_transaction_patterns String


    No default value


    Format: [MODULE]:[CLASS].[FUNC] or [MODULE]:[FUNC]


    Example: myPackage:MyClass.__init__, myPackage:my_function

New Added tracing support for the Neo4j driver module (v5.0 and above)

Fixed Fixed an issue where the original URL was not displayed in record summaries when URL normalization was applied

2025-06-18

v1.8.5

New Added options related to the app_context_stat matrix category in whatap.conf

  • app_context_enabled Boolean

    Default: false


    Set to true to enable the full app_context_stat collection feature

  • app_context_parser


    default: Default parser (extracts the first path segment)


    prefix: Prefix matching parser (most flexible)


    match: Exact matching parser (matches only completely)

  • app_context_parser_reset Number

    Default: 0


    A counter that forcibly resets the parser’s internal cache and configuration

  • app_context_path_depth Number

    Default: 1


    Specifies the depth of the path segment to extract from the URL (used only with the default parser)

  • app_context_path_set String

    No default value


    Defines a mapping of paths to monitor and their corresponding names (separated by commas ,)


    Example: name1@url1,name2@url2,url3,name4@url4

2025-06-09

v1.8.4

Fixed Fixed an issue where fastAPI was called without StreamingResponse

2025-05-19

v1.8.3

New Added the Odoo framework (v16,v17) tracing feature.

Fixed Fixed the SQLAlchemy related errors.

  • Fixed the issue where query messages are duplicated due to conflicts with the DB driver while being traced.
  • Fixed the issue where parameters are not bound in query statements.
  • Fixed the issue where an error occurs when the user value is not entered when connecting to the DB.

Fixed Fixed the issue where exceptional objects other than Flask are not handled properly.

2025-04-28

v1.8.2

Fixed Fixed the issue where the ignore_whatap_stdout option has not been applied.

2025-04-23

v1.8.1

New Added the WebSocket transmission tracing feature based on starlette.

2025-03-31

v1.7.9

New Added the feature to collect and display normal signals (Status: 2xx, 3xx) for HTTP transactions.

2025-03-24

v1.7.8

New Added the feature to collect and display request methods for HTTP transactions.

New Added the HTTP status collection and display feature when an HTTP transaction error occurs.

2025-03-11

v1.7.7

New Added the option to control whatap module's log output in whatap.conf.

  • ignore_whatap_stdout Boolean

    Default false

    If it is set to true, all standard output logs from the WhaTap Python agent module are disabled.

2025-03-04

v1.7.6

New Added the tracing of mtid values in the logging module (logging, loguru) monitoring.

  • trace_logging_mtid_enabled Boolean

    Default false

    It is enabled if the trace_logging_enabled value is true, while it is output in the log if the mtid value exists.

  • trace_loguru_mtid_enabled Boolean

    Default false

    It is enabled if the trace_loguru_enabled value is true, while it is output in the log if the mtid value exists.

Fixed Fixed the issue where it is not reraised when an exception occurs in Celery Task.

2025-02-17

v1.7.5

New Added the automatic search and configuration of the whatap.conf file when the WHATAP_HOME environment variables are not set.

Fixed Fixed the issue where MySQL and PostgreSQL database error messages are displayed incorrectly.

Fixed Fixed the issue where no response is received when retrieving data after connection in Redis single mode.

2025-01-20

v1.7.4

Fixed Changed Redis to monitor only specific functions: GET, SET, DEL, HSET, HGET.

Fixed Fixed the SQL profile transmission error.

Fixed Fixed the error in the RabbitMQ monitoring module (pika).

The pika original function execution error was fixed.

2024-12-19

v1.7.3

New Added the feature to collect SQL patch counts.

Fixed Fixed the issue where multi-transactions are not collected when using the FastAPI.

2024-11-12

v1.7.2

New Added the feature to collect the open file descriptor usage based on the PID per process.

2024-10-10

v1.7.1

Fixed Fixed the issue where the profile collection stops when an error occurred in database connection close.

2024-09-24

v1.7.0

Fixed Fixed the transaction collection error for fastapi 0.115.0.

2024-09-05

v1.6.10

New Added the feature to support ASGI in the Django framework.

  • Added the support logic for using Uvicorn in Django.

  • Added logic to maintain context to address potential data corruption issues when using local threads in asynchronous operations.

2024-09-03

v1.6.9

New Added the tracing feature for the oracle-client module.

Added the feature to trace database connection and termination times by using the connect and Connection.close methods in the Oracle client (oracle-client).

2024-08-27

v1.6.8

New Added the module tracing feature to support various versions of graphql-core.

In graphql-core 3.x+ versions, instrumentation has been added to the graphql.execution.execute module, while in graphql-core 2.x versions, the graphql.execution.executor module has been supported.

Changed Modified the trace_module_definition.py file to properly instrument modules based on the graphql-core version (supporting both the latest and older versions).

2024-08-21

v1.6.7

Fixed Prevented data from being overwritten by deep copying the TraceContext before putting it in the queue.

2024-06-07

v1.6.6

Fixed FastAPI - Fixed the bug that occurs when collecting the remoteIP.

2024-05-31

v1.6.5

Fixed Fixed the missing transaction termination issue when using Python 3.6 gevent.

2024-05-14

v1.6.4

Fixed Modified the parsing logic that searches for the containerID in the Kubernetes environment.

2024-04-17

v1.6.3

Fixed Modified the parsing logic that searches for the containerID in the Kubernetes environment.

2024-03-29

v1.6.2

Feature Added the exit_with_parent_process_enabled option.

  • exit_with_parent_process_enabled bool

    Default false

    Set the value of the option through the whatap.conf file in the Python agent's WHATAP_HOME path. You can set whether or not to end the whatap_python process when the monitored Python process is terminated. If the option value is set to true, the whatap_python process ends together when the monitored application is terminated. It may take up to 1 minute.

2024-03-20

v1.6.1

Fixed Fixed the repetitive log call issue in whatap-hook.log.

2024-03-13

v1.6.0

Fixed Fixed the issue where the agent does not operate if it does not find data about the remote host in FastAPI.

2024-03-11

v1.5.9

Fixed Fixed the issue where input is made without line breaks when setting agent options.

2024-02-18

v1.5.8

Fixed Fixed the double counting error for users (related to the number of users) in Frappe Application.

2024-02-02

v1.5.6

Changed Supported the superset.

2024-02-01

v1.5.5

Fixed Improved the issue where the performance collection error occurs when there is no instance (DB) in the database connection information in applications developed using the Frappe framework.

2024-01-09

v1.5.4

Fixed Fixed the module dependency collection error for some Python versions in Python agent 1.4.9 or later.

  • Python 3.6
  • Python 3.7

2024-01-05

v1.5.3

Fixed Fixed the gunicorn transaction collection error in Python agent v1.4.9 or later.

2024-01-03

v1.5.2

Fixed Fixed the INJECTION type log collection code error.