Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Bug Fixes
- Execution –
transpilation_level = None: When execution is run with no transpilation, the circuit is now submitted to the provider without any backend transpilation when it already uses only the provider’s basis gates. If the circuit contains gates not supported by the provider, an error is raised that lists the provider’s supported gates, the invalid gates in the program, and suggests usingtranspilation_level = "decompose"(ortranspile_to_hardware = "decompose"in ExecutionPreferences). - Re-enable negative indices for classical arrays.
- Fix user not getting redirected to login page when they try to synthesize but are logged out
- IDE - result page - change exported csv to be identical to shown tables
- QLayer: Fix saving models that contain a
QLayerwhenpost_processor the execution path use local functions or lambdas (e.g.torch.save(model, path)or saving an epoch state dict). Such callables are now omitted from the pickled state and re-created or restored after load so that save/load no longer raises “Can’t pickle local object”. - Add indicative error message when calling a classical function with quantum arguments in an arithmetic expression.
Enhancements
- Predefined noise models for Classiq simulators: Add optional
noise_modelonClassiqBackendPreferencesto run Classiq Aer, Nvidia, and Braket Nvidia simulators with a device-style noise model. The value is a predefined name in the form<provider>_<target>(e.g.ibm_pittsburgh,ibm_boston). Supported names are listed inCLASSIQ_NOISE_MODELS; initially IBM backend names are supported. The noise model is built from the provider (e.g. via IBM Runtime) and passed to the underlying AerSimulator. - IonQ execution: Replaced explicit
noise_modelwith anemulateflag onIonqBackendPreferencesandIonQConfig. Setemulate=True(defaultFalse) to run on the IonQ simulator with a noise model derived from the backend name (e.g.qpu.aria-1→aria-1). Only valid when the backend is a QPU. See IonQ backends for details. - QLayer check-pointing: Prefer saving only weights with
torch.save(model.state_dict(), path)andmodel.load_state_dict(torch.load(path)). For whole-model save/load, ifpost_processis not picklable it is omitted and a warning is logged; after load calllayer.register_post_process(your_post_process)before using the model. New constructor optionserializable_post_process=Falseskips picklingpost_processand suppresses the warning when you know it is not serializable.