Skip to content

Releases: 3ls-it/openai-assistant

openai-assistant v3.0.5

02 Feb 03:41

Choose a tag to compare

v3.0.5 changes (internal/refactor)

- Serialize API requests with per-instance `_inflight_lock` to prevent self-inflicted concurrent `responses.create()` calls and reduce/avoid `conversation_locked` errors.
- Rework locking strategy: `_conversation_lock` is now held only for short critical sections (ensure/snapshot/update conversation state), not across network I/O.
- Keep explicit Conversations model for reliable multi-turn context; enforce `store=True` on `responses.create()` to ensure server maintains per-conversation state.
- Add/standardize explicit conversation lifecycle methods:
  - `end_conversation()` clears `conversation_id` cleanly (no dangling state)
  - `new_conversation()` retained as an alias for readability/backwards local API compatibility.
- Harden `_ensure_conversation()`:
  - made thread-safe (lock-protected)
  - added invariant enforcement (fail fast if `conversations.create()` returns no id).
- Improve robustness/observability in `send_query()`:
  - initialize `resp=None` and guard after retry loop
  - add sanity debug logging (`resp.store`, `resp.id`, etc.).
- Remove unused `get_conversation_id()` helper (was never referenced).
- Fixed bug in ChatBrowser when selecting chat folder in file tree.

openai-assistant v3.0.4

25 Dec 19:32

Choose a tag to compare

v3.0.4 fixes

Cleaned up chat continuation dialogue for consistant look-and-feel.
Larger input box, horizontal buttons.

openai-assistant

19 Dec 00:22

Choose a tag to compare

Chat continuation "Further instructions" now written to chat log after time
stamp.

Opening banner now has full list of key-commands.

Added "New Conversation" feature, which creates a new Conversations object and
a new chat log file. New conversation timestamps are displayed int the status
widget.

Added more debug messages for the api log when --debug-api is used.

Removed all pass statements in try\except block and now writes error/debug
messages to the api log in addition to the already-returned error messages that are
written to the main display and/or opened in a pop-up toast.

openai-assistant v3.0.2

14 Dec 21:30

Choose a tag to compare

LaTeX math expressions (block and inline) are now "pretty printed" using pylatexenc. Many small improvements/polish throughout codebase.

openai-assistant v3.0.1

03 Dec 04:00

Choose a tag to compare

v3.0.1 fixes/complets first-run configuration

Also now a robust prompting for missing configuration lines on each
startup.

openai-assistant v3.0.0

30 Nov 01:43

Choose a tag to compare

openai-assistant v2.2.1

29 Sep 22:01

Choose a tag to compare

Optional "clean-up" scripts provided: delete all uploaded files; delete all Vector Stores. DirectoryTree now refreshes on toggle; new files did not show up if added during a session.

OpenAI Assistant v2.2.0

05 Sep 22:52
c56a849

Choose a tag to compare

*Added file upload capabilities with file browser.

*Added pop-up dialogue boxes for file uploading, quit, and "About".

openai-assistant v2.1.1

10 Aug 17:01

Choose a tag to compare

v2.1.1 minor update

v2.1.0 changes:

New CLI flags
        * --no-upload: Skip uploading ~/.openai/chat_log.txt on startup.
        * --reset-assistant: Clear ASSISTANT_ID in settings before startup (forces new assistant creation).
        * --reset-store: Clear VECTOR_STORE_ID in settings before startup (forces new vector store).

Code changes
                * Added argparse and flag parsing in the __main__ path.
        * Extended Openai_API.setup(upload_log: bool = True) so upload can be skipped.
        * Kept existing behavior intact when flags are not used.
        * Updated startup console message when upload is skipped.

A separate, human-readable API log:
        * File: ~/.openai/api.log
        * Rotation: daily at midnight, keeping 7 days (TimedRotatingFileHandler)
        * Levels: INFO by default; DEBUG with --debug-api

New CLI flag
        * --debug-api: enable DEBUG-level logging for more verbose diagnostics

Instrumentation points (what gets logged)
        * Startup summary (model, temp, whether ASSISTANT_ID/VECTOR_STORE_ID are present)
        * Assistant lifecycle:
            - Retrieved/created assistant ID
            - Instructions synced (when settings changed)
        * Vector store lifecycle:
            - Retrieved/created vector store ID
        * File upload:
            - Skip reason (empty/missing chat_log.txt)
            - Upload start (DEBUG, vector store ID)
            - Upload result status and file_counts (INFO)
            - Errors (APIConnectionError, RateLimitError, APIStatusError, Unexpected)
        * Conversation run lifecycle:
            - Run started (INFO)
            - Run completed with elapsed time and response length (INFO)
            - Errors (APIConnectionError, RateLimitError, APIStatusError, Unexpected)

Keep chat log clean
        * All API/system events now go to api.log.
        * ~/.openai/chat_log.txt continues to capture only dialogue (user and assistant messages), as before.

How to use
    * Normal run (INFO logs):
        - ./openai-assistant
    * Verbose API debug logging:
        - ./openai-assistant --debug-api
    * Tail logs while troubleshooting:
        - tail -f ~/.openai/api.log

v2.1.1 additions:
    * Small refactoring tweaks
    * Comment updates/clean-up
    * Updated `requirements.txt`
    * Updated `README.md`

openai-assistant v2.1.0

09 Aug 22:20

Choose a tag to compare

v2.1.0 changes:

New CLI flags
        * --no-upload: Skip uploading ~/.openai/chat_log.txt on startup.
        * --reset-assistant: Clear ASSISTANT_ID in settings before startup (forces new assistant creation).
        * --reset-store: Clear VECTOR_STORE_ID in settings before startup (forces new vector store).

Code changes
        * Added argparse and flag parsing in the __main__ path.
        * Extended Openai_API.setup(upload_log: bool = True) so upload can be skipped.
        * Kept existing behavior intact when flags are not used.
        * Updated startup console message when upload is skipped.

A separate, human-readable API log:
        * File: ~/.openai/api.log
        * Rotation: daily at midnight, keeping 7 days (TimedRotatingFileHandler)
        * Levels: INFO by default; DEBUG with --debug-api

New CLI flag
        * --debug-api: enable DEBUG-level logging for more verbose diagnostics

Instrumentation points (what gets logged)
        * Startup summary (model, temp, whether ASSISTANT_ID/VECTOR_STORE_ID are present)
        * Assistant lifecycle:
            - Retrieved/created assistant ID
            - Instructions synced (when settings changed)
        * Vector store lifecycle:
            - Retrieved/created vector store ID
        * File upload:
            - Skip reason (empty/missing chat_log.txt)
            - Upload start (DEBUG, vector store ID)
            - Upload result status and file_counts (INFO)
            - Errors (APIConnectionError, RateLimitError, APIStatusError, Unexpected)
        * Conversation run lifecycle:
            - Run started (INFO)
            - Run completed with elapsed time and response length (INFO)
            - Errors (APIConnectionError, RateLimitError, APIStatusError, Unexpected)

Keep chat log clean
        * All API/system events now go to api.log.
        * ~/.openai/chat_log.txt continues to capture only dialogue (user and assistant messages), as before.

How to use
        * Normal run (INFO logs):
            - ./openai-assistant
        * Verbose API debug logging:
            - ./openai-assistant --debug-api
        * Tail logs while troubleshooting:
            - tail -f ~/.openai/api.log