Releases: Classiq/classiq-library
Releases · Classiq/classiq-library
Classiq 1.8.0
Released on 2026-03-30.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
samplefunction: Added a new top-levelsamplefunction for executing a quantum program and retrieving results as a DataFrame directly, without managing a job object. Supports single and batch execution — pass a list of parameter dictionaries toparametersto run multiple parameter sets and receive a list of DataFrames. Also supportsrun_via_classiq=Trueto run using Classiq's provider credentials against your allocated budget. See the SDK reference for details.observefunction: Added a new publicobservefunction that computes the expectation value of a Hermitian observable with respect to a quantum program's output state. Supports exact statevector calculation or shot-based estimation, batch execution, andrun_via_classiq. See the SDK reference for details.get_backend_detailsfunction: Added aget_backend_detailsfunction that returns a DataFrame of all supported quantum backends, including provider, backend name, type (hardware or simulator), qubit count, availability, pending jobs, and queue time.calculate_state_vectorfunction: Added a new publiccalculate_state_vectorfunction that returns the full state vector of a quantum program as a DataFrame. Supports batch execution by passing a list of parameter dictionaries. Available on Classiq simulators (e.g.classiq/simulator).- OpenQASM in
sampleandExecutionSession: You can pass OpenQASM 2.0 or 3.0 source as a string tosample()(first argument) or toExecutionSessioninstead of a synthesizedQuantumProgram. Results use the same histogram DataFrame shape (bitstring,counts, etc.). Theparametersargument is not supported for OpenQASM strings (use aQuantumProgramfor Qmodmainparameters, or bind parameters inside the QASM circuit). See the Execution section of the user guide. - Improve error messages related to qfunc arguments.
- Add
emulateonAzureBackendPreferencesto enable IonQ hardware noise simulation on Azure Quantum when using an IonQ QPU target (ionq.qpu.*); ignored for other Azure targets. - Add a QSVM application with a
QSVMclass that providestrain,test, andpredictmethods for easy implementation of Quantum Support Vector Machine training and data classification. The relevant notebooks in the classiq-library will be updated accordingly.
Classiq 1.7.1
Released on 2026-04-06.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Upgrade infrastructure to enable future support in AWS Marketplace.
Classiq 1.7.0
Released on 2026-03-22.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- IBM execution – emulate: Add optional
emulateonIBMBackendPreferencesandIBMConfig. Setemulate=True(defaultFalse) to run on Classiq AerSimulator with an IBM noise model derived from the backend name (e.g.ibm_pittsburgh,ibm_boston). Only valid for real IBM hardware backends (not fake backends); backend name must be inCLASSIQ_NOISE_MODELS. See IBM backends for details. - Add
ExecutionJob.get_submitted_circuits()to return the final quantum circuits submitted to the provider (sample jobs only). The returned circuits reflect the actual QASM after transpilation and parameter assignment. Each circuit can be converted to QASM viato_qasm()or to a QiskitQuantumCircuitviato_qiskit(). - Amplitude threshold for state vector simulation: Added
amplitude_thresholdtoExecutionPreferences. When running state vector simulation, only states with amplitude magnitude strictly greater than the threshold are included in the result. Defaults to0(filters exactly zero-amplitude states, same as before). Setting a higher threshold reduces the size of the result for circuits where most amplitudes are negligibly small.include_zero_amplitude_outputs=Trueoverrides this and includes all states regardless of amplitude. See State Vector Filtering for details. - QP Visualization: Fixed bug in the visualization of split operations
- Add
estimate_sample_costandestimate_sample_batch_costto the Python SDK for user-facing cost estimation before executing quantum programs. These functions return aCostEstimateResultwithcostandcurrencyfields. See SDK execution reference for details.
Bug Fixes
- Fix error messages when calling built-in operations with the wrong number of arguments.
- 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. - Add
estimate_sample_costandestimate_sample_batch_costto the Python SDK for user-facing cost estimation before executing quantum programs. These functions return aCostEstimateResultwithcostandcurrencyfields. See SDK execution reference for details.
Classiq 1.6.0
Released on 2026-03-15.
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.
Classiq 1.5.0
Released on 2026-03-08.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Bug Fixes
- Fix an incorrect compilation when an arithmetic operation appears
inside arepeatstatement and the left-hand side uses the repeat
index as a subscript. - Change default vendor from Azure to Classiq
Enhancements
-
Added
use_double_precisiontoClassiqBackendPreferencesto control numerical precision on Nvidia and Braket Nvidia simulators. Default isFalse(single precision). Setuse_double_precision=Truefor double precision. See Classiq backends for details. -
Removed
max_depthandmax_gate_countfromConstraints. These fields were deprecated since 0.52 and are no longer supported.
Classiq 1.4.1
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Added
use_single_precisiontoClassiqBackendPreferencesto control numerical precision on Nvidia and Braket Nvidia simulators. Default isFalse(double precision). Setuse_single_precision=Trueto use single precision, which can be faster and use less memory. See Classiq backends for details.
Classiq 1.4.0
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Updated the Classiq Platform home page.
Classiq 1.3.0
Released on 2026-02-22.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- The function
poly_inversionnow supportserror_type("relative"default or"uniform") to choose between minimizing relative error
|xp(x)-1| or absolute uniform error |p(x)-1/x| over x in [1/kappa,1].
The sameerror_typeoption is also available inpoly_inversion_degreeandpoly_inversion_error. - Add the foreach
statement to Qmod. Foreach iterates efficiently through the elements of a
classical array. - Support
QBits in addition toQNums inlookup_table.
API Changes
- Renamed
sampletocmain_samplein legacycscope. This does not affect any usage of ExecutionSession.
Classiq 1.2.0
Released on 2026-02-15.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Enhancements
- Introduce CUDA-Q Integration, enabling translation of synthesized Qmod programs into Python CUDA-Q kernels, to leverage CUDA-Q’s high-performance simulation and hybrid quantum–classical workflows.
Bug Fixes
- Fix compilation of symbolic values in concatenations (for example,
[q[i], q[j]]whereiandjare of typeCInt).
API Changes
- Rename parameter
run_through_classiqofBackendPreferencestorun_via_classiq.run_through_classiqis deprecated and will no longer be supported starting on 2026-03-09 at the earliest.
Classiq 1.1.0
Released on 2026-02-08.
Upgrade Instructions
- Python SDK
- The IDE upgrades automatically.
Bug Fixes
- IDE - Phase legend mismatches actual phase
- Fix compilation of the
I(identity) gate. - Fix evaluation of constants in
mainfunction parameter types. - Remove previously deprecated
"count"column from execution result dataframe. Use"counts"column instead.
Enhancements
- IDE - Adjustments to the table shown in "State Vector" jobs
- IDE - Add table in "Measurement Results" jobs
- Noise models are now available for IonQ Simulators.