Pywb

Latest version: v2.8.3

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

Scan your dependencies

Page 13 of 16

0.8.0

Not secure
~~~~~~~~~~~~~~~~~~~~~

Improvements to framed replay, memento support, IDN urls, and additional customization support in preparation for further config changes.

* Feature: Full support for 'non-exact' or sticky timestamp browsing in framed and non-framed mode.

- setting ``redir_to_exact: False`` (per collection), no redirects will be issued to the exact timestamp of the capture.
The user-specified timestamp will be preserved and the number of redirects will be reduced.

- if no timestamp is present (latest-replay request), there is a redirect to the current time UTC timestamp,
available via ``pywb.utils.timeutils.timestamp_now()`` function.

- via head-insert, the exact request timestamp is provided as ``wbinfo.request_ts`` and accessible to the banner insert or the top frame when in framed mode.

* Frame Mode Replay Improvements, including:

- wombat: modify ``window.parent`` and ``window.frameElement`` to hide top-level non replay frame.

- memento improvements: add same memento headers to top-level frame to match replay frame to ensure top-level frame
passes memento header validation.

- frame mode uses the request timestamp instead of the capture timestamp to update frame url.
By default, request timestamp == capture timestamp, unless ``redir_to_exact: False`` (see above).

* Client-Side Rewrite Improvements:

- improved ``document.write`` override to also work when in ``<head>`` and append both ``<head>`` and ``<body>``

- detect multiple calls to rewrite attribute to avoid rewrite loops.

* Customization improvements:

- ability to override global UrlRewriter with custom class by setting ``urlrewriter_class`` config setting.

- ability to disable JS url and location rewrite via ``js_rewrite_location: none`` setting.

- ability to set a custom content loader in place of default ARC/WARC loader in ``ReplayView._init_replay_view``

* Improved Memento compatibility, ensuring all responses have a ``rel=memento`` link.

* IDN support: Improved handling of non-ascii domains.

- all urls are internally converted to a Punycode host, percent encoded path using IDNA encoding (http://tools.ietf.org/html/rfc3490.html).
- when rendering, return convert all urls to fully percent-encoded by default (to allow browser to convert to unicode characters).
- ``punycode_links`` rewrite option can be enabled to keep ascii-punycode hostnames instead of percent-encoding.

0.7.8

Not secure
~~~~~~~~~~~~~~~~~~~~~

* live rewrite fix: When forwarding ``X-Forwarded-Proto`` header, set scheme to actual url scheme to avoid possible redirect loops (57)

0.7.7

Not secure
~~~~~~~~~~~~~~~~~~~~~

* client-side rewrite: improved rewriting of all style changes using mutation observers

* rules: fix YT rewrite rule, add rule for wikimedia

* cdx-indexer: minor cleanup, add support for custom writer for batched cdx (write_multi_cdx_index)

0.7.6

Not secure
~~~~~~~~~~~~~~~~~~~~~

* new not found Jinja2 template: Add per-collection-overridable ``not_found.html`` template, specified via ``not_found_html`` option. For missing resources, the ``not_found_html`` template is now used instead of the generic ``error_html``

* client-side rewrite: improved wombat rewrite of postMessage events, unrewrite target on receive, improved Vine replay

* packaging: allow adding multiple packages for Jinja2 template resolving

0.7.5

Not secure
~~~~~~~~~~~~~~~~~~~~~

* Cross platform fixes to support Windows -- all tests pass on Linux, OS X and Windows now. Improved cross-platform support includes:

- read all files as binary to avoid line ending issues
- properly convert between platform dependent file paths and urls
- add .gitattributes to ensure line endings on *.warc*, *.arc*, *.cdx* files are unaltered
- avoid platform dependent apis (eg. %s for strftime)

* Change any unhandled exceptions to result in a 500 error, instead of 400.

* Setup: switch to ``zip_safe=True`` to allow for embedding pywb egg in one-file app with `pyinstaller <https://github.com/pyinstaller/pyinstaller>`_

* More compresensive client side ``src`` attribute rewriting (via wombat.js), additional server-side HTML tag rewriting.

0.7.2

Not secure
~~~~~~~~~~~~~~~~~~~~~

* Experiment with disabling DASH for YT

* New ``req_cookie_rewrite`` rewrite directive to rewrite outgoing ``Cookie`` header, can be used to fix a certain cookie for a url prefix.

A list of regex match/replace rules, applied in succession, can be set for each url prefix. See ``rules.yaml`` for more info.

Page 13 of 16

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.