Scarletio

Latest version: v1.0.84

Safety actively analyzes 702161 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 14

1.0.66

Bug fixes

- Fix some syntax errors failing to render (From 1.0.65).

1.0.65

Improvements

- `WebSocketCommonProtocol` no longer swallows `CancelledError` at a few cases.
- `EditorAdvanced` now repeats write io polling if poll returns prematurely.
- Add new highlight tokens for trace rendering.
- Move `AttributeError` content generation from raise time to render time.
- Highlight `AttributeError` representation in rendering.
- Rich render rich builtin `AttributeError`-s too.

1.0.64

Improvements

- Expressions are now also parsed backwards to better include where the exception occurred.
- If exception occurred in a multi-line expression add `around` word into the location.
- Frame filters now receive `1` parameter the frame or a virtual frame instead of 4 as before. Warning is dropped if
`4` is given.
- Add tests to `utils.trace` and rewrite its internals. Top level imports are still the same, but internal imports
changed. Wanted to also add new features but took too long.
- Yeet `linecache` import, implement smart line and file caching ourself instead.

1.0.63

Improvements

- Improve content disposition header format.

Bug fixes

- `URL` now handles inheritance correctly.
- `asyncio.gather` did not silence all wrapped tasks' exception if multiple exception occurred or is going to occur.
- `EditorAdvanced` did not allow typing `~`. Caused by incorrect handing of the `delete` key which also contained `~`.

1.0.62

Improvements

- `Future.__repr__` now will show a new `cancellation_exception` option field if cancelled with a custom exception.
- Add cli entry point.

Bug fixes

- Interactive console got stuck when `StopIteration` was raised into it.
- `Task.__repr__` showed bare `CancelledError()`.
- In `Future.__repr__` `result~raise` state had priority over `cancelled`.

1.0.61

Improvements

- `Future`-s now can have multiple states.
- Add `Future.silence` to silence cleanup warnings. This replaces the old `.__silence__` method.
- Add `Future.is_silenced`.
- Add `InvalidStateError.__eq__`.
- Add `InvalidStateError.__hash__`.
- Add keyword parameter support to `InvalidStateError.__new__`.
- Add `Future.is_cancelling`.
- Disable `Task.set_exception` and `.set_exception_if_pending`. Add `Future.cancel_with` instead.
- Add `FutureWrapperSync.cancel_with`.
- Add `FutureWrapperSync.is_cancelling`.
- Add `FutureWrapperAsync.cancel_with`.
- Add `FutureWrapperAsync.is_cancelling`.
- Add `FutureWrapperBase`.
- `FutureWrapperAsync.wait` now waits till the future is cancelled when propagating cancellation.
- `FutureWrapperSync.wait` now waits till the future is cancelled when propagating cancellation.
- `FutureWrapperAsync.wait_till_completion` now waits till the future is cancelled when propagating cancellation.
- `FutureWrapperSync.wait_till_completion` now waits till the future is cancelled when propagating cancellation.
- `Future.get_exception` no longer raises `CancelledError`. Instead returns it.
- `TimeoutError` caused by `Task.apply_timeout` now will include the cancellation exception as cause.
- Add `Future.get_cancellation_exception`.
- `FutureWrapperAsync.wait` now includes cancellation exception in the traceback.
- `FutureWrapperSync.wait` now includes cancellation exception in the traceback.
- `FutureWrapperAsync.wait_till_completion` now includes cancellation exception in the traceback.
- `FutureWrapperSync.wait_till_completion` now includes cancellation exception in the traceback.
- Add `AutoCompleter` for interactive console editors to use.
- `EditorAdvanced` supports auto completion.
- Add `FutureBaseWrapper.get_cancellation_exception`.

Bug fixes

- `FutureAsyncWrapper` re-implemented slots, allocating more memory as required (This is actually a python bug).
- Timeout dropped `TimeoutError` into the cancelled task instead of `CancelledError`.

Renames, Deprecation & Removals

- Deprecate `FutureAsyncWrapper.__call__`. It resets the future which should not happen.
- Remove `Gatherer`.
- Remove `ResultGatheringFuture`.
- Remove `WaitContinuously`.
- Remove `WaitTillAll`.
- Remove `WaitTillExc`.
- Remove `WaitTillFirst`.
- Remove `FutureSyncWrapper.__call__`.
- Remove `FutureAsyncWrapper.__call__`.
- Rename `EventThread.call_later` to `.call_after`.
- Rename `EventThread.call_later_weak` to `.call_after_weak`.
- Deprecate `EventThread.call_later`.
- Deprecate `EventThread.call_later_weak`.
- Rename `FutureSyncWrapper` to `FutureWrapperSync`.
- Rename `FutureAsyncWrapper` to `FutureWrapperAsync`.
- Deprecate `FutureSyncWrapper`.
- Deprecate `FutureAsyncWrapper`.

Page 4 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.