=============== Release History =============== v0.0.10 (2023-06-28) ==================== Added ----- - New API: ``config_get``, ``queue_autostart``, ``environment_update``, ``kernel_interrupt``, ``wait_for_condition``, ``wait_for_idle_or_running``. - ``queue_mode_set`` API can now set ``ignore_failures`` mode. v0.0.9 (2022-10-02) =================== Added ----- - New API (HTTP communication): ``login``, ``session_refresh``, ``session_revoke``, ``apikey_new``, ``apikey_info``, ``apikey_delete``, ``whoami``, ``principal_info``, ``api_scopes``, ``logout``. - Added automatic session refresh functionality to ``send_request`` API. - New parameters of constructor of HTTP version of ``REManagerAPI``: ``http_auth_provider`` and ``timeout_login``. - New parameter of ``send_request`` API: ``auto_refresh_session``. The parameter controls whether the function attempts to refresh expired sessions (get new access token based on valid refresh token). By default it is *True*, which works for most cases. In some cases (e.g. in implementation of authentication/authorization API) automatic refresh should be disabled. Changed ------- - Renamed the exception ``RequestError`` to ``HTTPRequestError``. - Renamed the exception ``ClientError`` to ``HTTPClientError``. - The new exception ``HTTPServerError`` is raised if code 500 is returned by the server (instead of ``ClientError``). - Default user group is renamed from 'admin' to 'primary'. Rename the user group in 'user_group_permissions.yaml' if the workflow depends on the default user group name. Removed ------- - Removed the parameter ``api_prefix`` from the constructor of HTTP version of ``REManagerAPI``. The prefix should be added directly to ``http_server_uri``. v0.0.8 (2022-08-11) =================== Added ----- - New API: ``REManagerAPI.wait_for_completed_task()``. Changed ------- - ``REManagerAPI.task_status()`` now accepts any iterable with task UIDs, not only a list. Iterables are converted to lists internally. v0.0.7 (2022-07-30) =================== Added ----- - Support for ``update_lists`` parameter of ``script_upload`` API. - Support for ``lock``, ``lock_info`` and ``unlock`` API of RE Manager. New methods for REManagerAPI: ``lock()``, ``lock_environment()``, ``lock_queue()``, ``lock_all()``, ``lock_info()``, ``unlock()``. Additional methods and properties: ``default_lock_key_path``, ``get_default_lock_key()``, ``set_default_lock_key()``, ``lock_key``, ``enable_locked_api``. v0.0.6 (2022-06-30) =================== Added ----- - Read/write properties ``REManagerAPI.user`` and ``REManagerAPI.user_group`` for access to default user name and user group. - New configuration API: ``REManagerAPI.set_user_name_to_login_name()``. The API sets the default user name to login name of the workstation user. - Implemented support for environment variables for passing parameters to ``REManagerAPI`` constructor. The respective constructor parameters override the values set by environment variables. The following environment variables are supported: - ``QSERVER_ZMQ_CONTROL_ADDRESS`` may be used instead of ``zmq_control_addr`` (0MQ); - ``QSERVER_ZMQ_INFO_ADDRESS`` may be used instead of ``zmq_info_addr`` (0MQ); - ``QSERVER_ZMQ_PUBLIC_KEY`` may be used instead of ``zmq_public_key`` (0MQ); - ``QSERVER_HTTP_SERVER_URI`` may be used instead of ``http_server_uri`` (HTTP). - A parameter ``nlines`` was added to ``REManagerAPI.console_monitor.text()`` API. The parameter specifies the maximum number of lines returned by the function. - New API ``REManagerAPI.set_authorization_key()`` that allows to set authorization keys for REST API (only in HTTP version). Only API keys are currently supported. Tokens and refresh tokens will be supported in the future. - New parameter in the constructor of ``REManagerAPI`` (HTTP version): ``api_prefix``. Changed ------- - The API functions that send user name and user group as part of request to the server are now accepting ``user`` and ``user_group`` parameters that override current default values. The API include ``plans_allowed``, ``devices_allowed``, ``item_add``, ``item_add_batch``, ``item_update``, ``item_execute``, ``function_execute``. HTTP version of the API is not sending user name and user group to the server and values of ``user`` and ``user_group`` parameters are ignored. - Renamed some parameters of ``REManagerAPI`` constructors. The new names will be consistently used in Queue Server and related tools. The renamed parameters include ``zmq_control_addr`` (the address of control socket of RE Manager), ``zmq_info_addr`` (the address of information PUB socket of RE Manager, currently used only for console output), ``zmq_public_key`` (public key for encrypted communication with RE Manager), ``http_server_uri`` - URI of Bluesky HTTP server. - ``REManagerAPI.console_monitor.text_updated`` property was replaced with ``...text_uid`` property as more appropriate for monitoring of the state of the text buffer. v0.0.5 (2022-04-09) =================== Added ----- - Support for text buffer in ``RE.console_monitor``. v0.0.4 (2022-04-05) =================== Added ----- - API for monitoring of console output: ``REManagerAPI.console_monitor`` Changed ------- - Updated API docstrings. v0.0.3 (2022-03-08) =================== Fixed ----- - Proper handling of exceptions by ``wait_..`` API (such as ``wait_for_idle``). All exceptions are handled internally by the functions. If server is not accessible (requests timed out), then the API also times out (``REManagerAPI.WaitTimeoutError`` exception is raised). Changed ------- - Renamed parameters of ``permissions_reload`` API: ``reload_permissions`` is renamed to ``restore_permissions``, ``reload_plans_devices`` is renamed to ``restore_plans_devices``. v0.0.2 (2022-03-03) =================== Added ----- * Implementation of the full set of basic API. v0.0.1 (2022-02-24) =================== Added ----- * Initial release of the API.