Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
cf1def2
Recognize Caterva2 dataset URLs in the public opener
FrancescAlted Oct 3, 2026
8b562de
Discover Caterva2 mounted hierarchies lazily
FrancescAlted Oct 3, 2026
c2111dc
Discover Caterva2 services and browse independent repository roots
FrancescAlted Oct 3, 2026
1708856
Browse Caterva2 repositories and mounted sources in b2view
FrancescAlted Oct 3, 2026
31eda45
Validate shared cat2lite access and document repository browsing
FrancescAlted Oct 3, 2026
6051acb
Harden Caterva2 discovery and remote viewer lifecycle after review
FrancescAlted Oct 3, 2026
028821c
Display full Caterva2 paths using root naming conventions in b2view
FrancescAlted Oct 3, 2026
8d6ceb3
Add lazy Caterva2 file byte streams and atomic original-file downloads
FrancescAlted Oct 3, 2026
c739e38
Preview Caterva2 text and images and offer document download and opening
FrancescAlted Oct 3, 2026
d0ab203
Harden ordinary-file transfers and validate and document file browsing
FrancescAlted Oct 3, 2026
1a480f5
Fix terminal image layout and simplify external opening
FrancescAlted Oct 3, 2026
9f0760a
Fix Caterva2 structured and subarray dtypes and audit demo datasets
FrancescAlted Oct 3, 2026
d7c8a1d
Exit b2view gracefully when its initial source cannot open
FrancescAlted Oct 5, 2026
afc0de3
Unify b2view preview fallbacks and file action hints
FrancescAlted Oct 5, 2026
a3ea665
Browse local and fsspec files and directories in b2view
FrancescAlted Oct 5, 2026
56cd77f
Add bounded tree search and preserve navigation focus in b2view
FrancescAlted Oct 5, 2026
ae39688
Preview compressed local documents with bounded chunk decoding
FrancescAlted Oct 5, 2026
e33e70b
Add passive Jupyter notebook previews to b2view
FrancescAlted Oct 5, 2026
62b9b37
Keep Parquet slices lazy and restore non-finite schema metadata
FrancescAlted Oct 5, 2026
a3b3db4
Reduce b2view startup and remote page flicker
FrancescAlted Oct 5, 2026
1533218
Display saved notebook plots with bounded passive image previews
FrancescAlted Oct 5, 2026
59a2525
Raise document chunk limits to 32 MiB compressed and 256 MiB decoded
FrancescAlted Oct 5, 2026
d0865d8
Browse remote compressed documents with bounded fsspec range reads
FrancescAlted Oct 5, 2026
e521760
Show subtle loading activity in the b2view data border
FrancescAlted Oct 5, 2026
69c9f0d
Fix Windows viewer file URLs and skip WASM HTTP server fixtures
FrancescAlted Oct 5, 2026
e4f0ac7
Publish viewer downloads on WASM without hard links
FrancescAlted Oct 5, 2026
0b95bff
Reject directory joins outside the selected root
FrancescAlted Oct 6, 2026
d59b1b0
Scope automatic Caterva2 credentials to the configured origin
FrancescAlted Oct 6, 2026
1d55d3a
Recognize compressed documents inside chained fsspec URLs
FrancescAlted Oct 6, 2026
06ad39c
Count each streamed remote file response as one request
FrancescAlted Oct 6, 2026
ee06b2f
Publish RemoteFile downloads without hard links on WASM
FrancescAlted Oct 6, 2026
8713a79
Bound gateway startup and drain both process output streams
FrancescAlted Oct 6, 2026
04a69b2
Apply formatter to review fixes
FrancescAlted Oct 6, 2026
cffeca1
Keep bare HTTP origins on the service discovery path
FrancescAlted Oct 6, 2026
8e6557b
Reject encoded discovery responses and bound payload copies
FrancescAlted Oct 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,87 @@ XXX version-specific blurb XXX
requirements, environment precedence, caching, and diagnostics. Corrected the
generated allocation declaration that caused an Apple Clang warning.

### Caterva2 repository access

- Show unobtrusive animated loading dots in b2view's data-pane border while
background metadata/previews/pages are pending, without hiding current data.

- Browse fsspec `.b2` document carriers with bounded range-based metadata and
chunk reads, original-name previews and streamed decoded copies. HTTP requires
validated byte-range responses; native dataset behavior remains unchanged.

- Raise document chunk limits to 32 MiB compressed / 256 MiB decoded for
Caterva2 files and local `.b2` carriers. Preview and per-read limits remain
unchanged; even a small preview may decode a complete 256 MiB chunk.

- Display saved PNG/JPEG notebook outputs beneath their cells in b2view, using
passive terminal-image rendering with shared image-count/byte/pixel limits.
Invalid images retain readable cells; HTML, SVG, scripts and widgets stay disabled.

- Reduce b2view startup and remote-page flicker by sizing requests after layout,
retaining visible metadata/data during reloads, and reusing buffered rows for
height-only resizes instead of fetching them again.

- Restore tagged non-finite floating-point schema values from strict-JSON
Caterva2 metadata, preserving NaN/infinity null sentinels and defaults.

- Empty lazy Parquet table slices no longer read row data or scan dictionaries,
fixing slow Caterva2 schema fetches. Small slices/takes build dictionaries from
selected rows instead of scanning every row group; native table dictionaries
retain their existing copy behavior.

- b2view now exits cleanly with a clear diagnostic and nonzero status when
its initial source cannot be opened, rather than leaving an unusable TUI.

- b2view file fallback panels distinguish unavailable previews, missing optional
dependencies and read/display failures, with consistent capability-aware
action hints. Preview errors retain file metadata and redact transport URLs.

- Open local and direct-fsspec ordinary files in b2view with the same bounded
text/image previews, PDF fallbacks and explicit copy/external-open actions.
Transfers are streamed, cancellable and atomic, with no overwrite by default;
existing container/dataset opening remains unchanged.

- Open ordinary local/fsspec directories as lazy b2view tree roots. Preview
files and expand dataset containers in place; local symlinks are not followed.

- Use Ctrl+F to filter discovered tree paths without network access, or explicitly
search local/Caterva2/fsspec hierarchies recursively with progress, cancellation
and discovery limits. Selecting a result reveals it in the existing tree.

- Preview local compressed documents such as `README.md.b2` and `photo.png.b2`
using bounded, lazy SChunk decoding. Copies stream original bytes under the
original filename; oversized chunks and non-document container types are refused.

- Preview nbformat-4 Jupyter notebooks passively in b2view: Markdown, highlighted
code and bounded saved plain-text outputs, with a raw-JSON toggle. No kernels
or active HTML/media rendering; supported across existing file backends.

- Fix structured and subarray dtype decoding in `C2Array` and synthesized
RemoteStore chunks, including compound/subarray HDF5 leaves.

- Ordinary Caterva2 files now open lazily as `RemoteFile`: bounded original-byte
reads, shared compressed-chunk caching, and atomic streaming downloads.
- b2view previews text/Markdown and optional JPEG/PNG images (`blosc2[images]`).
PDF and other unrenderable content remain downloadable; supported documents
can open externally through the explicit `O` action and destination dialog. No PDF dependency is
required. `D` downloads, `O` opens externally, and `T` toggles raw Markdown.

- `blosc2.open()` recognizes HTTP(S) dataset URLs such as
`http://localhost:8000/@public/group`, including deployment prefixes and IPv6.
String service URLs default to lazy access; explicit `URLPath` behavior is unchanged.
- Bare server/base URLs discover `api/roots`. One root opens directly; empty or
multiple-root services return a lazy `RemoteRepository` browsing facade.
- `remote_service="auto" | "caterva2" | "fsspec"` controls service recognition
independently of source format. The fsspec override preserves ordinary URLs
with literal `@` path components and disables service probes.
- Caterva2 `RemoteStore` groups expand lazily, including catalog mount boundaries;
catalog annotations are separate from source attributes.
- `b2view` browses these server/root URLs with the existing interface, including
bounded array/table previews. Remote table-wide transforms are disabled;
plotting requires an explicit bounded row window. Client caches are separate
from a shared cat2lite server cache; repository allowances are per root.

## Changes from 4.14.0 to 4.14.1

Python-Blosc2 4.14.1 is a security and feature release introducing safe
Expand Down
8 changes: 6 additions & 2 deletions doc/getting_started/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,13 @@ grouped into *extras* that you opt into with the ``blosc2[extra]`` syntax:
- The :doc:`b2view <../guides/b2view>` terminal browser (``textual``,
``textual-plotext``), including its in-terminal braille plot (the
``p`` key). Required by the ``b2view`` command.
* - ``hires``
* - ``hires``
- The high-resolution image view in b2view (the ``h`` key), which
renders a real ``matplotlib`` image in the terminal
(``textual-image``, ``matplotlib``). Includes ``tui``.
(``textual-image``, ``matplotlib``). Includes ``tui``.
* - ``images``
- JPEG/PNG ordinary-file previews in b2view (``Pillow``, ``textual-image``).
Includes ``tui`` without requiring matplotlib. ``hires`` includes this extra.
* - ``parquet``
- The ``parquet-to-blosc2`` converter (``pyarrow``); see
:doc:`../guides/parquet_to_blosc2`.
Expand All @@ -59,6 +62,7 @@ argument in shells like ``zsh`` that treat brackets specially):
.. code-block:: console

pip install "blosc2[tui]" # the b2view terminal browser
pip install "blosc2[images]" # b2view + JPEG/PNG file previews
pip install "blosc2[hires]" # b2view + its high-res view (h key)
pip install "blosc2[parquet]" # the Parquet converter
pip install "blosc2[fsspec]" # fsspec URLs, including HTTP(S)
Expand Down
Loading
Loading