Skip to content

Releases: figurophobia/gixenpy

Release list

v0.4.0

Choose a tag to compare

@figurophobia figurophobia released this 17 Jul 20:15

[0.4.0] - 2026-07-17

Added

  • Snipe.current_bid: the auction's actual final price for an ended snipe
    (won or lost), e.g. "62.00 USD". Gixen prints "Current bid: ..." right
    next to "Max bid: ..." for every row, active or ended -- for an ended one
    this is the only place left to read what it finally sold for, since eBay
    itself no longer serves that listing once it's out of search results.
    Empty string if Gixen doesn't show it for that row.

[0.3.1] - 2026-07-17

Changed

  • Cold login is now 2 HTTP requests instead of 4 (measured against a real
    account: ~9.3s → ~5.9s). Two round trips were pure waste:
    • login() already fetched the panel HTML to confirm the login worked,
      then threw it away; _authed_home() fetched the exact same URL again
      right after. login() now returns that HTML so _authed_home() reuses
      it instead of re-fetching.
    • The GET to the index page before the login POST (INDEX_URL, now
      removed) turned out to feed nothing into the login request — no CSRF
      or session token was ever scraped from it. Verified live that Gixen
      sets the session cookie straight off the login POST itself with no
      prior GET needed.
  • login()'s return type changed from None to str (the logged-in
    panel's HTML). Nothing in this package's own code relied on it returning
    None; a caller that does client.login() and ignores the return value
    is unaffected.

[0.3.0] - 2026-07-17

Changed

  • Snipe.status now distinguishes won and lost snipes instead of
    collapsing every non-"SCHEDULED" status into a single "ended" bucket.
    Gixen's own "Status (main): ..." text already carries this: a literal
    "WON" maps to "won"; "LOST", "FAILED", "OUTBID" and the
    confirmed-live "BID UNDER ASKING PRICE" all map to "lost" (substring
    match, case-insensitive). Any other non-empty, unrecognized terminal text
    still maps to "ended" rather than being guessed into won/lost.
    This changes the set of values Snipe.status can take — code doing
    status == "ended" to mean "not active anymore" should switch to
    status != "active".
  • purge_completed() now checks status != "active" (not just
    == "ended") when confirming the purge succeeded, so it correctly
    recognizes "won"/"lost" snipes as already-terminal too.
  • CLI list command: splits output into Active / Won / Lost / Ended
    (Ended only shown if non-empty) instead of just Active / Ended.

v0.2.2

Choose a tag to compare

@figurophobia figurophobia released this 14 Jul 00:30

Test release: verifies the automated PyPI publishing pipeline (GitHub Release -> Actions -> Trusted Publishing). No functional changes.