- Released neurosift 0.2.16 on PyPI. The local file server started by
neurosift view-nwbno longer exits on a request for a forbidden path or a directory, handles byte ranges correctly (clamped ranges, suffix ranges, 416 for unsatisfiable ones), answers HEAD requests, and listens on localhost only.view-nwbrefuses zarr directories with a clear message and installs the server's npm dependencies only once.
- Show a relative time axis instead of an empty plot when a TimeSeries has a NaN
starting_time - Added CONTRIBUTING.md with issue reporting and development guidelines
- PSTH group legend now labels boolean and bigint group values instead of showing "?"
- Show dataset chunking and compression in HDF5 view
- Add LINDI LocalCache to generated Python scripts
- Update NIfTI warning statement for files larger than 100 MB
- Standardize
NIFTInaming toNIfTI
- Added combined time controller for SpatialSeries view with editable duration/start time fields, zoom/pan buttons, and graphical time bar on a single horizontal line
- Began implementation of /slp route for displaying SLEAP files
- Support Figpack Pose Estimation generation and visualization
- Added clickable links in Figpack job status displays that open runpack-admin pages in new browser tabs
- Implemented VideoViewer component for /video route with DANDI API authentication and S3 signed URL resolution
- Added TimeIntervals support to Timeseries Alignment widget with single bar visualization
- Added NaN-aware time calculations for TimeIntervals (filters invalid values, uses max start time when stop times are NaN)
- Implemented Figpack Raster Plot visualization using Runpack worker API for distributed job processing
- Added useRunpackJob hook for managing Runpack API interactions with job submission, status checking, and result retrieval
- FigpackRasterPlotView now supports generating and displaying figpack raster plots in an iframe with job status tracking
- Added Figpack video preview plugin
- Updated GitHub workflow to deploy to Cloudflare Pages instead of Vercel
- Remove "Notebook" panel in NWB main tab
- Added neurosift-logs Cloudflare Worker for receiving and logging HTTP requests with CORS support
- Added client-side page load logging with rate limiting (logs sent to Cloudflare Worker)
- Migrate to Cloudflare
- Updated DANDI API endpoint from api-staging.dandiarchive.org to api.sandbox.dandiarchive.org
- Support OptogeneticPulsesTable as a TimeIntervals type in addition to TimeIntervals. See #355
- Fixed TimeIntervals visualization to use all distinct labels from the full dataset, ensuring consistent colors and positioning across different time ranges
- Simplified DANDI semantic search implementation to use direct API call instead of job runner
- Fixed semantic search to display user-friendly error messages when API quota limits are exceeded, instead of silently showing empty results
- Added script in index.html to automatically redirect from
/dandiset/to/ember-dandiset/when referrer parameter contains 'ember' and always remove referrer parameter from URL
- implemented neurosift-search service (nextjs)
- Added job cancellation functionality to JobStatusHandler component with red "Cancel Job" button for running jobs
- Added continuous integration workflow to test neurosift Python package installation, NWB file creation with pynwb, and CLI functionality
- Added redirect from /experimental-neurotile to /experimental-neurosift-tiles for URL compatibility
- Modified ExperimentalNeurosiftTilesPage to use zarr_url and path query parameters instead of example parameter, with examples landing page when parameters are not provided
- Modified ExperimentalNeurosiftTilesPage to dynamically fetch examples from neurosift-tiles catalog instead of hard-coding them
- Added channel selection functionality to neurotile visualization with click-to-select interaction
- Implemented semitransparent yellow highlight overlay for selected channels in neurotile view
- Added mouse click handling in TimeScrollView3 to support channel selection based on Y-coordinate
- Enhanced neurotile rendering to display selected channel indicator with both fill and border highlighting