Skip to content

Releases: cwt/ananta

v1.3.9

10 Dec 16:14
@cwt cwt

Choose a tag to compare

Fix many DeprecationWarnings with pytest on Python 3.14.

v1.3.8

03 Sep 07:38
@cwt cwt

Choose a tag to compare

Fix connection closing logic in ssh.py (thanks @IceCodeNew), update pytest and tools, update test cases.

v1.3.7

21 Aug 18:09
@cwt cwt

Choose a tag to compare

Release v1.3.7

This is a minor change to fix an important bug on the process termination.
(It should fix #8.)

V1.3.6

09 Aug 11:40
@cwt cwt

Choose a tag to compare

Release v1.3.6

This release focuses on improving the user experience, fixing minor bugs, and enhancing code stability.

Key Changes:

  • Enhanced Mouse Scrolling: Improved mouse scroll wheel support in the Text User Interface (TUI) for a smoother experience.
  • ANSI Stripping Fix: Resolved a bug in the ANSI stripping function that could cause issues with output containing carriage returns.
  • Dependency Updates: Updated the winloop dependency to improve compatibility and performance on Windows.
  • Internal Improvements: Addressed mypy typing errors and increased test coverage for better code quality and reliability.

v1.3.4

08 Aug 08:33
@cwt cwt

Choose a tag to compare

Release v1.3.4

This release focuses on improving the stability and user experience of the Text User Interface (TUI).

Bug Fixes

  • Resolved a TUI crash that occurred during screen redraws and flushes, ensuring a smoother and more reliable operation.
  • Fixed an issue that could cause BlockingIOError by preventing automatic screen redraws when the application is idle.
  • Addressed a bug where input text could become invisible until the next screen update by forcing a redraw whenever the input changes.
  • Corrected several issues related to window focusing and scrolling, making navigation within the TUI more intuitive.

Enhancements

  • The scrolling experience has been significantly improved with the addition of a visual scrollbar to the output window, providing better feedback on content length and position.

v1.3.2

07 Aug 10:27
@cwt cwt

Choose a tag to compare

Minor fix for malformed truecolor sequence bug.

v1.3.1

06 Jun 09:39
@cwt cwt
fdb41ed

Choose a tag to compare

Introducing TUI Mode for Enhanced Usability

New Features & Improvements

  • TUI Mode: Ananta now supports Text User Interface (TUI) mode, transforming the application into a full-screen, text-based interface for streamlined command execution.
  • Persistent Connections: Commands sent in TUI mode benefit from reduced latency, as connections remain active between executions.
  • Enhanced Output Handling: TUI mode offers separate output capabilities similar to non-TUI mode. However, it requires significant resources—avoid processing large datasets in this mode for optimal performance.

Performance Enhancements

  • Improved command execution efficiency in TUI mode.
  • Reduced latency in subsequent commands by maintaining connections.

Known Issues & Recommendations

  • The separate output mode in TUI can be resource-intensive. Large data sets may lead to high memory usage—users should process data accordingly.

Upgrade to the latest version and experience the new, powerful TUI mode for a more interactive and efficient workflow!

Tests

============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.4.0, pluggy-1.6.0
rootdir: /home/cwt/Projects/ananta
configfile: pyproject.toml
plugins: asyncio-0.26.0, cov-6.1.1
asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=function, asyncio_default_test_loop_scope=function
collected 107 items                                                            

tests/test_ananta.py ........                                            [  7%]
tests/test_ananta_async.py ....                                          [ 11%]
tests/test_config.py .....................                               [ 30%]
tests/test_output.py .....................                               [ 50%]
tests/test_ssh_helpers.py .                                              [ 51%]
tests/test_ssh_helpers_async.py ..........                               [ 60%]
tests/test_tui.py ................                                       [ 75%]
tests/test_tui_ansi.py ....................                              [ 94%]
tests/test_tui_extra.py ......                                           [100%]

================================ tests coverage ================================
_______________ coverage: platform linux, python 3.12.8-final-0 ________________

Name                     Stmts   Miss  Cover   Missing
------------------------------------------------------
ananta/__init__.py          10      0   100%
ananta/ananta.py            79     14    82%   224-247, 253-255, 282
ananta/config.py           113     20    82%   10-13, 56-64, 77-81, 128-129, 196-200, 215, 222-226
ananta/output.py            54      0   100%
ananta/ssh.py               83     42    49%   97-103, 113-131, 142-165, 183-208
ananta/tui/__init__.py     300     49    84%   222, 224, 250-252, 259, 270-272, 283, 320-334, 343, 370-373, 383-384, 394,
                                               411-413, 452, 457, 461, 467-468, 527-530, 559-560, 564-565, 572, 582, 598-602
ananta/tui/ansi.py         158     18    89%   66, 104-105, 120, 134, 145-147, 158-160, 239-240, 276-283
------------------------------------------------------
TOTAL                      797    143    82%
============================= 107 passed in 1.21s ==============================

v1.3.0

06 Jun 09:12
@cwt cwt
40ecc4b

Choose a tag to compare

Introducing TUI Mode for Enhanced Usability

New Features & Improvements

  • TUI Mode: Ananta now supports Text User Interface (TUI) mode, transforming the application into a full-screen, text-based interface for streamlined command execution.
  • Persistent Connections: Commands sent in TUI mode benefit from reduced latency, as connections remain active between executions.
  • Enhanced Output Handling: TUI mode offers separate output capabilities similar to non-TUI mode. However, it requires significant resources—avoid processing large datasets in this mode for optimal performance.

Performance Enhancements

  • Improved command execution efficiency in TUI mode.
  • Reduced latency in subsequent commands by maintaining connections.

Known Issues & Recommendations

  • The separate output mode in TUI can be resource-intensive. Large data sets may lead to high memory usage—users should process data accordingly.

Upgrade to the latest version and experience the new, powerful TUI mode for a more interactive and efficient workflow!

Tests

============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.4.0, pluggy-1.6.0
rootdir: /home/cwt/Projects/ananta
configfile: pyproject.toml
plugins: asyncio-0.26.0, cov-6.1.1
asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=function, asyncio_default_test_loop_scope=function
collected 107 items                                                            

tests/test_ananta.py ........                                            [  7%]
tests/test_ananta_async.py ....                                          [ 11%]
tests/test_config.py .....................                               [ 30%]
tests/test_output.py .....................                               [ 50%]
tests/test_ssh_helpers.py .                                              [ 51%]
tests/test_ssh_helpers_async.py ..........                               [ 60%]
tests/test_tui.py ................                                       [ 75%]
tests/test_tui_ansi.py ....................                              [ 94%]
tests/test_tui_extra.py ......                                           [100%]

================================ tests coverage ================================
_______________ coverage: platform linux, python 3.12.8-final-0 ________________

Name                     Stmts   Miss  Cover   Missing
------------------------------------------------------
ananta/__init__.py          10      0   100%
ananta/ananta.py            79     14    82%   224-247, 253-255, 282
ananta/config.py           113     20    82%   10-13, 56-64, 77-81, 128-129, 196-200, 215, 222-226
ananta/output.py            54      0   100%
ananta/ssh.py               83     42    49%   97-103, 113-131, 142-165, 183-208
ananta/tui/__init__.py     300     49    84%   222, 224, 250-252, 259, 270-272, 283, 320-334, 343, 370-373, 383-384, 394,
                                               411-413, 452, 457, 461, 467-468, 527-530, 559-560, 564-565, 572, 582, 598-602
ananta/tui/ansi.py         158     18    89%   66, 104-105, 120, 134, 145-147, 158-160, 239-240, 276-283
------------------------------------------------------
TOTAL                      797    143    82%
============================= 107 passed in 1.21s ==============================

v1.2.2

23 May 15:50
@cwt cwt

Choose a tag to compare

Migrated Main Repository to GitHub!

We've officially moved the main repository to GitHub! This shift resolves issues with merge conflicts and weird interactions between Git and Mercurial when handling pull requests. Centralizing here streamlines collaboration and sets us up for smoother development moving forward.

Changes

  • Expanded Unit Tests: Added a comprehensive set of unit tests to improve code reliability and catch issues early.
  • Test Script with Coverage: Introduced a new test script that generates code coverage reports for better insight into test effectiveness.

Tests

$ ./runtest.sh 
============================= test session starts ==============================
platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.6.0
rootdir: /home/cwt/Projects/ananta
configfile: pyproject.toml
plugins: asyncio-0.26.0, cov-6.1.1
asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=function, asyncio_default_test_loop_scope=function
collected 65 items                                                             

tests/test_ananta.py ........                                            [ 12%]
tests/test_ananta_async.py ....                                          [ 18%]
tests/test_config.py .....................                               [ 50%]
tests/test_output.py .....................                               [ 83%]
tests/test_ssh_helpers.py .                                              [ 84%]
tests/test_ssh_helpers_async.py ..........                               [100%]

================================ tests coverage ================================
_______________ coverage: platform linux, python 3.13.3-final-0 ________________

Name                 Stmts   Miss  Cover   Missing
--------------------------------------------------
ananta/__init__.py      10      0   100%
ananta/ananta.py        58      1    98%   210
ananta/config.py       113     20    82%   10-13, 56-64, 77-81, 128-129, 196-200, 215, 222-226
ananta/output.py        54      0   100%
ananta/ssh.py           83     42    49%   97-103, 113-131, 142-165, 183-208
--------------------------------------------------
TOTAL                  318     63    80%
============================== 65 passed in 0.67s ==============================

v1.2.1

23 May 15:37
@cwt cwt

Choose a tag to compare

Migrated Main Repository to GitHub!

We've officially moved the main repository to GitHub! This shift resolves issues with merge conflicts and weird interactions between Git and Mercurial when handling pull requests. Centralizing here streamlines collaboration and sets us up for smoother development moving forward.

Changes

  • Expanded Unit Tests: Added a comprehensive set of unit tests to improve code reliability and catch issues early.
  • Test Script with Coverage: Introduced a new test script that generates code coverage reports for better insight into test effectiveness.