Whats New ========== This page keeps a detailed human friendly rendering of what's new and changed in specific versions. v1.1.0 ------ New Features ~~~~~~~~~~~~~ - Add :func:`flogin.caching.cached_callable` - Add :attr:`flogin.plugin.Plugin.flow_version` - Add :attr:`flogin.plugin.Plugin.flow_program_dir` - Add :attr:`flogin.plugin.Plugin.flow_application_dir` - Add the ``flow_version``, ``flow_program_dir``, and ``flow_application_dir`` keyword arguments to :class:`flogin.testing.plugin_tester.PluginTester` - Add :class:`flogin.errors.EnvNotSet` - Add :func:`flogin.utils.print` - Add the ability to use :meth:`flogin.plugin.Plugin.event` as a classmethod Bug Fixes ~~~~~~~~~ - Fix bug where ``auto_complete_text``, ``preview``, and ``progress_bar`` aren't present in ``ResultConstructorArgs`` - Fix typo in the logs where ``result`` is spelled as ``reuslt`` in the default :func:`flogin.jsonrpc.results.Result.on_error` implementation - Fix mistake where the logs generated by the default implementation of :func:`flogin.search_handler.SearchHandler.on_error` say the error comes from a ``reuslt callback``, and ot a ``search handler callback``. v1.0.0 ------ Breaking Changes ~~~~~~~~~~~~~~~~ - Move :class:`flogin.jsonrpc.results.Glyph` support from :attr:`flogin.jsonrpc.results.Result.icon` to :attr:`flogin.jsonrpc.results.Result.glyph` - Return ``None`` if a setting is not found in :class:`flogin.settings.Setting` - Remove ``flogin.errors.SettingNotFound`` - Rewrite the CLI commands - Remove ``flogin.conditions.MultiCondition`` in favor of :class:`flogin.conditions.AnyCondition` and :class:`flogin.conditions.AllCondition` - Remove ``Query.from_json`` - For :func:`flogin.testing.plugin_tester.PluginTester.test_query`, switch from receiving a query object to taking kwargs that will be used to make a query object - Rename the ``flogin.flow_api`` directory to ``flogin.flow`` - Rename ``flogin.flow_api.client.py`` to ``flogin.flow.api.py`` - Undocument ``flogin.utils.cached_property`` - Remove ``flogin.utils.cached_coro`` - Remove ``flogin.utils.cached_gen`` New Features ~~~~~~~~~~~~ - Add ``Query.__repr__`` - Let :func:`flogin.search_handler.SearchHandler.callback` and :func:`flogin.jsonrpc.results.Result.context_menu` return ``None`` - Add :class:`~typing.Generic` to :class:`flogin.search_handler.SearchHandler` for :attr:`flogin.search_handler.SearchHandler.plugin` - Add :class:`~typing.Generic` to :class:`flogin.jsonrpc.results.Result` for :attr:`flogin.jsonrpc.results.Result.plugin` - Update ``Query.__init__`` to allow for an easier time manually creating query objects. - Add the ability to supply a default into ``flogin.settings.Settings.__getitem__`` - Add a generic to :class:`flogin.plugin.Plugin` for a custom :class:`flogin.settings.Settings` class. - Document the generic in :class:`flogin.jsonrpc.results.Result` for a custom plugin class. - Document the generic in :class:`flogin.search_handler.SearchHandler.plugin` for a custom plugin class. - Document the generic in :class:`flogin.query.Query` for :attr:`flogin.query.Query.condition_data` - Make :attr:`flogin.jsonrpc.results.Result.title` optional - Add :class:`flogin.conditions.AnyCondition` - Add :class:`flogin.conditions.AllCondition` - Add :func:`flogin.query.Query.update_results` - Add :func:`flogin.query.Query.update` - Add ``flogin.flow.settings.py`` - Add :class:`flogin.flow.settings.CustomFileManager` - Add :class:`flogin.flow.settings.CustomBrowser` - Add :class:`flogin.flow.settings.CustomPluginHotkey` - Add :class:`flogin.flow.settings.CustomQueryShortcut` - Add :class:`flogin.flow.settings.HttpProxy` - Add :class:`flogin.flow.settings.PartialPlugin` - Add :class:`flogin.flow.settings.PluginsSettings` - Add :class:`flogin.flow.settings.FlowSettings` - Add ``flogin.flow.enums.py`` - Add :class:`flogin.flow.enums.LastQueryMode` - Add :class:`flogin.flow.enums.SearchWindowScreens` - Add :class:`flogin.flow.enums.SearchWindowAligns` - Add :class:`flogin.flow.enums.AnimationSpeeds` - Add :class:`flogin.flow.enums.SearchPrecisionScore` - Add :func:`flogin.plugin.Plugin.fetch_flow_settings` - Add :attr:`flogin.plugin.Plugin.last_query` - Add :func:`flogin.caching.cached_property` - Add :func:`flogin.caching.cached_coro` - Add :func:`flogin.caching.cached_gen` - Add :func:`flogin.caching.clear_cache` - Support python ``3.13`` - Add the ``ignore_cancellation_requests`` and ``settings_no_update`` parameters to the :class:`flogin.plugin.Plugin` constructor - Add ``SearchHandler.__init_subclassed__`` with the same kwargs as :func:`flogin.search_handler.SearchHandler` and :func:`flogin.plugin.Plugin.search` - Add ``keyword``, ``allowed_keywords``, ``text``, ``patterns``, and ``disallowed_keywords`` kwargs to :class:`flogin.search_handler.SearchHandler` - Add ``keyword``, ``allowed_keywords``, and ``disallowed_keywords`` kwargs to :func:`flogin.plugin.Plugin.search` - Document the :ref:`on_close event ` Bug Fixes ~~~~~~~~~ - Fix bug where :func:`flogin.flow.api.FlowLauncherAPI.update_results` does not register the results, so callbacks do not get triggered. - Fix typing bug with :func:`flogin.plugin.Plugin.register_search_handlers` and :func:`flogin.plugin.Plugin.register_search_handler` due to :class:`flogin.search_handler.SearchHandler` being a generic. - Fix bug where ``Glyph`` was not included in ``ResultConstructorArgs`` - Fix bug with the ``PluginT`` TypeVar not being marked as covariant - Fix bug with the default settings reader looking for the wrong path. - Fix some typos in the docs - Fix deadlock on shutdown due to flogin not sending a response Removals ~~~~~~~~~ - Remove the ``CLI`` docs section - Remove `click `__ as a dependency. v0.0.5 ------- New Features ~~~~~~~~~~~~~ - Add :func:`flogin.plugin.Plugin.register_search_handlers` - Add the :doc:`whats_new` section in the docs - Add :func:`flogin.plugin.Plugin.register_event` - Add ``flogin gh gitignore`` CLI command - Add :class:`flogin.jsonrpc.results.ResultPreview` - Add :attr:`~flogin.jsonrpc.results.Result.preview` - Add :class:`flogin.jsonrpc.results.ProgressBar` - Add :attr:`flogin.jsonrpc.results.Result.progress_bar` - Add :attr:`flogin.jsonrpc.results.Result.auto_complete_text` - Add :class:`flogin.jsonrpc.results.Glyph` - Allow :class:`~flogin.jsonrpc.results.Glyph` objects in :attr:`flogin.jsonrpc.results.Result.icon` - Add :attr:`flogin.jsonrpc.results.Result.rounded_icon` - Add ``flogin create settings`` CLI command - Add :func:`flogin.utils.cached_gen` Bug Fixes ~~~~~~~~~ - Fixed bug with the `create plugin.json `_ CLI command dumping the wrong data. - Add the missing dependency `click `__ - Fix bug where :attr:`flogin.search_handler.SearchHandler.plugin` is ``None`` when :obj:`flogin.search_handler.SearchHandler.condition` is ran. - Fix an ``AttributeError`` that gets raised in a couple of :class:`~flogin.flow.api.FlowLauncherAPI` methods - Log fatal errors that cause startup crashes to prevent them from being hidden. - Fix bug where ``rounded_icon`` was not present in ``ResultConstructorArgs`` - Fix a ``NameError`` that gets raised in the default :func:`flogin.jsonrpc.results.Result.callback` - Fix bug where :attr:`flogin.plugin.Plugin.settings` will be replaced with a new :class:`~flogin.settings.Settings` instance every time a new query request is received, preventing making setting changes.