Changelog ========= v0.2.0 (unreleased) -------------------- Major refactoring release. **New features:** - ``TipTop`` class (renamed from ``TipTopConnection``) with tuple indexing: ``tt["atmosphere", "Seeing"] = 0.6`` - ``TipTopResult`` class wrapping FITS results with ``.psf``, ``.x``, ``.y`` properties, ``.plot()``, ``.nearest_psf()``, and Jupyter display - ``diff()`` — see what changed from the template - ``reset()`` — restore original template values - ``save()`` / ``load()`` — save and load ``.ini`` files - ``validate()`` — check config for errors before sending to server - ``ping()`` — check if the TIPTOP server is reachable - Case-insensitive instrument template lookup - Rich Jupyter display (``_repr_html_``) for both ``TipTop`` and ``TipTopResult`` - New instrument templates: HARMONI_SCAO, HarmoniLTAO_2/3, METIS, MUSE_LTAO, SOUL - ``check_ini_updates.py`` utility for syncing templates with upstream **Bug fixes:** - Fixed leading space in TIPTOP server URL - Fixed INI parser handling of ``=`` in values, ``#`` comments, ``None`` replacement - Fixed ``list_instruments()`` to return sorted names without ``.ini`` extension **Breaking changes:** - ``TipTopConnection`` still works as an alias but ``TipTop`` is the new name - ``query_server()`` renamed to ``generate_psf()`` (returns ``TipTopResult`` instead of storing on instance) - ``make_yaml_from_ini()`` / ``make_ini_from_yaml()`` removed from ``utils`` (replaced by ``ini_parser.parse_ini()`` / ``ini_parser.write_ini()``) v0.1.0 ------ Initial release.