Release information
In this guide we will cover the key information about the different releases.
v0.9
In this release we made the StorageProvider more flexible and especially the paths.
What's Changed
- The
StorageProvidernow has aget_attribute_pathandget_attribute_id. - This should massively simplify path directions and make the specific paths fairly obsolete in the future.
- We also updated the migration to get rid of old depreceated code.
Migration Guide
For the StorageProviderthe different paths like pks_path are not call explicitly anymore but only through the get_attribute_path. For future versions it is possible that we remove them completely and we advise you to migrate towards the get_attribute_path.
v0.8
In this release we focused on a substantially more flexible StorageProvider and added the new StorageCore.
What's Changed
- We introduced the
StorageCorethat only contains the essential file manipulations. - Simpler testing as
get_dummy configis now part of theutilsmodule. - Made the function in the
StorageCoreandStorageProvidermore consistent. - Verify that the display name in the uploaded config dict is the same as the argument that was used
- Made the path used in the
MongodbProvidermore transparent. - Add some documentation on the
StorageProvider.
Migration Guide
We have simplified the naming of a number of functions and depreceated them:
update_fileis nowupdateget_file_contentis nowgetupload_fileis nowuploaddelete_fileis nowdeletemove_fileis nowmoveget_job_contentis nowget_job
This also likely the last release which allows the operational attribute in the BackendConfigSchemaIn.
v0.7
We focused on a simpler usage of the sqooler in this release and the stabilization of the code.
What's Changed
- Make the operational status depend on last checked
- Fix the default if the
private_jwkis missing - Make the delay between runs in the main loop adjustable
- Remove the operational status from the backend config. Now calculated directly from the last time the queued was checked
- Sign also upload status
- Identify the kid with the display name of the spooler
- Add a simple option to verify results
- Have a command line option to create the private jwk string
- Fail get next safely if no config is presen
- Cleaner tests for improved coverage and more precise testing
- Migration fixes for upgrades from v0.6
Migration Guide
- The operational status is now dependent on the last checked in time. This means that the operational status is now only
Trueif the last checked in time is less than theT_TIMEOUT. It can be set as a config variable. T_WAIT_MAINset the relay between loops in themainfunction. It can be set as a config variable.
v0.6
In this release, we continued the work on clean typing and we introduced first concepts for better security and logging, so extending the list of features.
What's Changed
- Improved documentation
- Fix the cold atom type by
- Clean distinction between backend name and display name
- timestamp the loops of the queue
- Much cleaner add job
- Cleaner tests
- Make it possible to sign the results for the backend supplier
- Delete file should fail if file does not exist
- Do not allow to add a config with a name that already exists
- Make it possible to log basic activities
Migration Guide
- We have changed the syntax for the
gen_circuitfunction to make it simpler to understand the code. It now takes theexp_nameas the first argument and theexp_dictof the new typeExperimentalInputDictas the second argument. - We are now distinguishing pretty strictly between the
backend_nameand thedisplay_name. Thedisplay_nameis the short alphanumeric string that acts as identifier. Thebackend_namealso contains the name of theStorageProviderand if the system is a simulator or not. - To sign the results and the config you need to store a private
jwkas described in the documentation for security. - The
add_jobfunction now takes thejob_idas the second parameter instead of the theStatusMsgDict. This removed some error sources.
v0.5
This release further increased the typing and testing of the package. It also fixed some long standing usability bugs for the user.
What's Changed
- Cleaner error handling of missing status
- Unify the error handling for the
get_file_contentfunction amongstStorageProviders. - Put the different
StorageProviders into thestorage_providermodule to make it easier to add new ones. - Type and verify the status string to be "INITIALIZING", "QUEUED", "DONE", "ERROR" and introduce the functions
get_init_statusas well asget_init_resultsthat help with the initialization. - Clean out the names given to the backends and storage providers such that they conform with the intended logic of being alphanumeric names only.
- Enforce the coupling map of the
GateInstruction. - Give back the measured wires and the instructions for each experiment to make it easier to reconstruct.
- Introduced the new
DataDictfor better typing for the results.
v0.4
This release focused on better typing with pydantic and a simpler deployment on the back-end side.
What's Changed
- Introduce the
StatusMsgDictfor proper typing of status messages - Enforce cleaner typing of
ExperimentDict - Improved testing of the
Spooler - Introduce the
GateDictto properly type thegate_list_from_dict - Improved testing, typing and error handling of the
gen_circuit - Added
LabscriptSpoolerclass - Add the
gen_scriptfrom the labscriptspooler nd created thespoolersmodule