Recent Releases of Biowatch
Biowatch - 1.9.5
What's New
See the CHANGELOG for the full list of changes.
Highlights
- AMMonitor Camera Traps is now importable from the LILA dropdown (~1.86M images, 76 non-blank categories), with common-name → scientific-name mapping so most species resolve to clean binomials.
- Activity charts normalize per species so you can compare activity shapes — each selected species scales to its own peak instead of being flattened by more abundant ones. Line charts also gained 10% Y-axis headroom so peaks aren't clipped.
- "unlabeled" now sorts to the bottom of the species lists (Overview, Explore, Media).
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 2 months ago
Biowatch - 1.9.4
What's New
See the full changelog: CHANGELOG.md
Highlights
- Revamped Media tab - Sortable, virtualized Table view (the new default) alongside the Grid, with a Type column, per-species counts, and Title Case common names; lightbox next/prev follows the table sort
- In-flow filter pane - Species and Deployment distributions, a media-type (images/videos) filter, collapsible search, and a count ↔ A–Z sort; quick views moved into a toolbar dropdown (Detections by default); filters persist across tab navigation, with deep links from Deployments and Sources
- Rich hover cards - Filter pills and deployment rows show a location map (other-survey markers, drag-to-pan, scroll-zoom), a survey-wide activity heatmap, and an images/videos breakdown; Explore species cards add activity charts beside the photo
- Species photo fallback - Tooltips now fall back to a real study photo when there's no bbox-scored best image (e.g. CamTrap DP / GBIF imports), with a polished "No photo available" empty state
- Consistent "Blank" - Defined at the whole-sequence level across the Media table, deployment composition, badges, and filters
- Performance - Deployment composition moved off the UI thread, faster low-res Table thumbnails, and a partial index that turns the multi-second "usable bbox" probe into an instant lookup on large no-bbox studies
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 3 months ago
Biowatch - 1.9.3
What's New
See the full changelog: CHANGELOG.md
Highlights
- Merge a Study as a Source - New Add Source wizard merges one study into another: pick a folder or existing study, review a pre-flight summary (counts, contributors, descriptions), then merge. Runs in a worker thread, reports progress, and is cancellable mid-run (transaction rolls back).
- Explore Tab - The Activity tab is reborn as Explore, combining the species-distribution map and media gallery into one view with a Map / Gallery / Both toggle, a collapsible species rail with chips and hover cards, and animated transitions.
- Map Encoding Modes - The species-distribution map now offers markers, density heatmap, and hex-grid encodings, with your choice persisted across reloads.
- Daytime & Area Filters - Filter activity widgets by time of day (polar ring or line-mode track) and by map area (drag a box). The area filter also scopes the media gallery.
- Threatened-Species Navigation - Clicking a threatened species in the Overview jumps straight to Explore, focused on that species.
- Worker-Threaded Imports - CamtrapDP / GBIF imports run in a worker thread with real-time, per-batch progress instead of bursty updates.
- Fixes & Performance - Accurate deployment counts on the Overview map and Sources tab, ellipsis truncation for long species names, and out-of-memory fixes for merging and sequence aggregation on multi-million-row studies.
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 3 months ago
Biowatch - 1.9.2
What's New
See the full changelog: CHANGELOG.md
Highlights
- MegaDetector v6 - New detection-only model choice with LitServe HTTP server, main-process launcher, bbox routing through a new
detectModelTypebranch, dedicated card UI hiding the species panel, andpersonlabels mapped to theHomo sapiensbinomial - Rich-Card Model Picker - New
ModelSelectdropdown used across the Import and Add-source flows, replacing the standalone "Install AI Models" CTA; install-status helper (unit-tested), highlight-on-mount for a target model from route state, synchronous Radix hover - Starting Import Modal - New-study flow keeps the modal open with a transitional view until the first job lands, showing a live progress bar with counts and ETA and a 3 s minimum display before auto-close
- Import Status Header - Study bar redesigned with behavior tooltips; stale Speed / Finishes hidden while paused
- SpeciesNet 4.0.2a - Geofence rules and taxonomy refreshed upstream (same classifier weights as 4.0.1a); existing 4.0.1a predictions remain tagged historically and continue to display correctly
- UI Polish - Delete-study modal copy clarified (original media files on disk are not deleted), daily-activity radar clipped inside the visible clock ring, timeline x-axis ticks scale with chart width, "Get in touch" moved to the top-right of the custom model card
- ML Robustness - Corrupt-image partial-failure predictions handled gracefully; ML server rejects corrupt video metadata so false-positive
animaltags don't slip through; MegaDetector pseudo-species map to the correct Camtrap DPobservationTypeon export
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.9.1
What's New
See the full changelog: CHANGELOG.md
Highlights
- Deployments CSV Import/Export - New always-visible Export / Import strip on the Deployments tab, visible even when a study has no timestamps (LILA, COCO — the studies that most need it). Export opens a preview modal (read-only table + editable-column hints) then writes a CSV. Import opens a drag-and-drop picker → virtualised diff-preview modal (
old → newcells, row-level highlighting, cell tooltips, clickable summary tiles that filter rows) → single-transaction apply. Editslatitude,longitude, andlocationName;locationNamepropagates acrosslocationID. - Row-Level Import Blocking - CSV import gating switched from cell-level skipping to row-level blocking: any row with a warning is excluded from apply. Preview counts, row highlighting, legend, and the
Apply (N)button all reflect the row-level model. - Layout Polish - Tighter study-page tabs with map-only top padding on Deployments; CSV strip aligned to the timeline header's right edge;
gap-4study layout regression restored.
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.9.0
What's New
See the full changelog: CHANGELOG.md
Highlights
- Sources tab - Files tab rebuilt around a per-source view with image/video/observation/deployment counts, last model used, in-flight progress bars, deployment sub-rows, and a host-server line for remote sources; tab is always visible
- Add Images Directory - New modal with model/country/folder picker, enabled for all study types (CamTrap-DP, LILA, GBIF, demo); locked-model warnings and an empty-state CTA when no models are installed
- Dark Theme - New Appearance settings tab (System / Light / Dark) with matching leaflet tiles and toast theming; sub-second startup via preload class injection,
matchMediafallback for Linux - Day-Period Presets - Dawn / Day / Dusk / Night chips on Media and Activity, backed by a multi-range
timeRangefilter; contiguous arcs merge correctly and rich tooltips describe each window - DailyActivityLine - X-y twin of the polar clock chart, switchable via a segmented
ChartShapeToggle; drag-to-select custom hour ranges, pan-the-band that wraps midnight, draggable start/end edges - Timeline Brush + Zoom - Scroll-wheel zoom on the Deployments timeline with live pan, line+dot handles, a filter pill summarising the date range, and per-study persistence
- Media → Deployment Links - Best-captures modal redesigned with species overlay and a
DeploymentLinkPillthat also lives in the media modal; deployment-settings popover shows per-deployment media + observation counts - Study Cache Controls - New Cache section in study settings showing on-disk usage with a Clear-cache action
- Resilient Imports - Demo and GBIF imports extract into the persistent study directory (no more
/tmpafter restart); CamTrap-DP import more tolerant of spec deviations; LILA studies with nofileMediatypenow classify videos correctly
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.8.7
What's New
See the full changelog: CHANGELOG.md
Highlights
- AI Models Tab Redesign - Split / always-stacked view in Settings with a new
ModelCard(all download states), aMapPanethat surfaces each model's geographic scope via region overlays + a "Worldwide" chip, aSpeciesPanelwith grouped variants, and aCustomModelCardslot for user models; intro copy explains how to pick a model - Region Overlays - Hand-traced Europe MultiPolygon (mainland + Scandinavia + British Isles, including Finland, Corsica, and Sardinia) and a broadened Himalayas (Tien Shan, Pamir, Hindu Kush, Karakoram, Kashmir, Ladakh); broadened Manas region; auto-fit on region selection and full-width zoom on world view
- Species Search Across Models - SpeciesNet species list populated with 2,493 entries; per-model species data files for
speciesnet,deepfaune, andmanas; species hovercards on the species panel - Undo / Redo for Annotation Edits -
Cmd/Ctrl+ZandCmd/Ctrl+Shift+Zcover all four observation mutations (create, delete, classification, bbox) with bounded per-study stacks, a bbox-pulse animation on undo/redo, and a sonner toast when an operation fails - Restore-by-ID - New
observations:restoreIPC andrestoreObservationquery backing the undo path;createObservationaccepts optionalobservationIDandeventIDfor restore-with-same-id behavior;getMediaBboxesnow returnsmediaID/deploymentID/eventID/eventStart - Faster Annotation Workflow - Browse-mode
SpeciesPickeropens its dropdown on bbox-label click;BehaviorSelectormirrors external value changes when closed;EditableBboxkeeps its local override until the bbox prop catches up (no flicker)
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.8.6
What's New
See the full changelog: CHANGELOG.md
Highlights
- Deployments Tab List Revamp - Compact 40px rows (lat/lon dropped), location-based grouping with always-expanded
SectionHeader(click flies the map to group bounds), interleaved alphabetical sort, and a per-deploymentSparkline(bars / line / heatmap) toggled viaSparklineTogglewith localStorage persistence - Inline Lat/Lon Editing - New
LocationPopoveron the Deployments detail pane with a coordinate paste parser and a top-right "Place on map" affordance - Deployments Timeline Hover Crosshair - Crosshair shows the date range under the cursor; floating observation-count pill anchors to the cursor for the selected row
- Common Names on Activity Map - Activity tab now renders common names alongside scientific names with a React hovercard
- Vehicle Pseudo-Species -
Vehicleentry surfaces in the Library and Deployments species filters alongsideBlank; newVEHICLE_SENTINELconstant +isVehiclehelper,getVehicleMediaCountquery/IPC, andBlank/Vehiclelabels for empty-species observations across the gallery and annotation rail - Scientific Name Normalization - Scientific-name display normalized to ICZN binomial form across the UI
- Sequence Ordering & Dedup Fixes - Deterministic dedup with
EXISTSprobe for blank/vehicle classification; tiebreak byfileNameinstead offilePathfor stable ordering - Performance - New
observationTypeindex + covering blank-media query;getBlankMediaCountruns in the sequences worker - Overview Polish - All sections fit at default viewport with small-screen tightening; vertically centered carousel chevrons
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.8.5
What's New
See the full changelog: CHANGELOG.md
Highlights
- Deployments Tab Inline Media Workspace - Selecting a deployment opens an inline
Gallerypane below the list/map, with?deploymentIDURL state,Escto close, and click-selected-row to toggle off; sequences pagination accepts an optionaldeploymentIDfilter - Species Filter on Deployment Detail - Popover scoped to species present at the deployment, showing common name + scientific + count with hover cards on filter rows
- Inline-Edit Deployment Name - Edit deployment names directly from the detail pane header
- IUCN Red List CTA - Threatened-species hover surfaces an IUCN rationale with a dedicated accent-border palette; bundled IUCN link IDs for 2k+ species via a new builder script
- Study List Hover Cards - Sidebar study rows show stats, description, and contributors on hover
- Overview Tab Revamp Continues - KPI tiles (Deployments, Observations, Media) navigate to their tabs and use compact formatting (e.g. 1.1k camera-days); description column fills the panel with a "Show more" inline-edit modal; vertical resize handle; max width capped at 1950px on wide screens; mouse-wheel scrolls best captures and featured species carousels
- Import Description Sanitization - Wildlife Insights and Camtrap DP imports now strip DocBook tags via a new
sanitizeDescriptionhelper - Media Modal Polish - Zoom control moved into the top toolbar; "No detections" badge dropped;
ImageModalraised above Leaflet map controls - Deployments Map & Layout Polish - List moved left of the map; subtle fade+slide animation on detail-pane open/close; thin resize handles; map matches Overview's
rounded-xl+shadow-mdand is capped at 500px tall
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.8.4
What's New
See the full changelog: CHANGELOG.md
Highlights
- Media Modal Revamp - Persistent right-side
ObservationRailreplaces the bbox popover, with collapsed/expandedObservationRowinline editor,AddObservationMenu(Draw / Whole-image), andBboxLabelMinimalspecies-only label; black image-viewer background and aligned detection chrome across modal and gallery thumbnails - Reusable Monochrome UI Components -
SpeciesPicker,BehaviorSelector,LifeStageSelector, andSexSelectorextracted from the editor for reuse across the app - Keyboard Shortcuts -
?toggles the shortcuts panel,Ctrl+arrownavigates sequences,Tab/Shift+Tabcycle observations even when the species picker is focused; panel pinned in the rail with portable text-word arrow labels - Best-Captures Modal - Aligned with the media-modal chrome for a consistent viewing experience
- Media Grid Cell Redesign - Timestamp overlay and slim footer for
ThumbnailCardandSequenceCard, with newformatGridTimestampandgetSpeciesCountsFromSequencehelpers (×N counts) - Accurate Sequence Counts - Per-species sequence counts now use max-per-frame instead of summing across frames, so bursts no longer inflate counts
- UX Polish - Files truncates long import paths from the start, Study bar hides tab labels below
lg(compact while importing), and the Deployments timeline adapts to screen width
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.8.3
What's New
See the full changelog: CHANGELOG.md
Highlights
- Settings → Info Redesign — single-column layout with about blurb, last 3 release notes parsed from
CHANGELOG.md(now bundled offline), disk-usage breakdown (AI Models, Studies, Logs) with reveal-in-folder, support/links section, and a license summary with bundled-text modal - Lighter Create-Study Page — restructured into tiered sources: slim recommended hero, primary slim rows, an "Online datasets" section, and a collapsed "More import formats" disclosure for less common sources
- UI Polish — AI Models table width capped on wide screens; long dataset names truncate correctly in import slim row selects
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.8.2
What's New
See the full changelog: CHANGELOG.md
Highlights
- Resizable Deployments Layout - Drag the divider between the map and the deployments list to set the split you want; the layout is persisted across sessions
- Study Settings Redesign - Minimalistic rule-divided layout on the study settings page; sequence-grouping slider description dropped for a cleaner look
- Species List Hover - Edge-to-edge light blue hover style on species rows for clearer row feedback
- Deployment Row Polish - Deployment rows cap their height and truncate long names so the table stays tidy with verbose location names
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.8.1
What's New
See the full changelog: CHANGELOG.md
Highlights
- Species Tooltip - Hover a species row to see a Wikipedia blurb, IUCN Red List badge, fallback image, and link to the article; "Show more" toggle expands past the 5-line clamp
- Species-Info Module - New build pipeline with GBIF and Wikipedia response parsers, species-candidate pre-filter, pure synchronous resolver, and build script CLI; ships initial
data.jsoncovering 2054 species - IUCN Badge in Species List - Inline IUCN Red List badge in species rows (right of name, left of count); hidden on media/activity sidebars to keep them uncluttered
- HoverCard UX - Species hover migrated from Tooltip to Radix HoverCard; closes on scroll instead of riding with the row; Wikipedia fallback images letterboxed on black to avoid awkward crops
- Build Hardening - Atomic
data.jsonwrites (temp + rename) and periodic flushes (every 25 entries, on SIGTERM) so crashes can't corrupt or lose progress; verbose IUCN strings mapped to codes; rate-limit handling hardened; Wikipedia thumbnail cache shared app-wide instead of per-study
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 4 months ago
Biowatch - 1.8.0
What's New
See the full changelog: CHANGELOG.md
Highlights
- Common Names Everywhere - Dictionary built from SpeciesNet/DeepFaune/Manas snapshots with GBIF English-detection scorer; common names shown across Overview, Species Distribution, and Media tabs
- Fuzzy Species Picker - Fuse.js-backed search with arrow-key navigation, common-name-first rows, in-study dot badge, and custom-species chip in the observation editor
- Per-Frame Video Bboxes - Overlay rendering on videos in the media modal with new
getVideoFrameDetectionsIPC and bbox toggle - Map Clustering - Deployment markers cluster on the Overview map for clearer visualization of large studies
- Performance - Cold-start dropped from ~40s to ~2s on Overview; SQL fast-paths for sequence-aware aggregations and heatmap; worker-thread offload for sequence pagination, best-media, and deployments activity; indefinite caching with proper invalidation
- GBIF Import Progress - Pre-counted CSV rows so progress reflects real current/total; improved dataset titles, unavailable datasets hidden
- Demo Dataset - Kruger rewritten with real scientific names and
commonNamecolumn
Biosphere - Terrestrial Wildlife
- JavaScript
Published by github-actions[bot] 4 months ago
Biowatch - 1.7.2
What's New
See the full changelog: CHANGELOG.md
Highlights
- Video Timestamps - Layered fallback chain for video timestamp extraction (FFmpeg metadata, filename parsing, mtime)
- Persistent Job Queue - SQLite-backed async job queue for ML inference with queue consumer, server manager, and inference consumer
- Performance - Sequence computations moved to worker threads, FFmpeg binary path caching, read only container headers for faster timestamp extraction
- Documentation Website - New MkDocs Material site with CI build checks
- Bug Fixes - Static FFmpeg import, UTC timestamp parsing, queue scheduler stability fixes, import status speed/ETA restoration
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 5 months ago
Biowatch - 1.7.1
What's New
See the full changelog: CHANGELOG.md
Highlights
- Performance - Stream-and-insert with raw prepared statements for CamTrap DP import, aggressive SQLite PRAGMAs, fix OOM crash on large GBIF imports
- Import Cancellation - Cancel GBIF and LILA imports mid-flight
- UI Polish - Skeleton loading for studies sidebar, fix scrollbar and empty state issues, awaitable navigation after import
- Media Caching - Cache failed image loads to avoid repeated 404 fetches
- Python Updates - Bump torch 2.7.0, speciesnet 5.0.3, extract shared detection utils
- Bug Fixes - Unpack ffmpeg-static correctly, skip duplicate media on re-import, handle corrupt images and macOS resource fork files gracefully
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 5 months ago
Biowatch - 1.7.0
What's New
See the full changelog: CHANGELOG.md
Highlights
- Annotation UIs - Annotate behavior, lifestage, and sex directly on bounding boxes
- Sequence-Aware Counting - Species distribution now accounts for sequence grouping
- Zoom & Pan - Zoom into images in the media modal with keyboard shortcuts
- CamtrapDP Improvements - Progress modal for imports, controlled vocabularies for observations
- Diagnostics Export - Hidden Advanced tab to export app diagnostics
- Performance - Sequence processing moved to main process, O(n²) export freeze fixed
- Deployment Renaming - Rename deployment locations from the UI
- Startup Migrations - Drizzle migrations run automatically for all study databases
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 7 months ago
Biowatch - 1.6.1
What's New
See the full changelog: CHANGELOG.md
Highlights
- Species Tooltips - Hover on species in Activity and Media tabs to see best capture image
- Redesigned Import Screen - Card-based layout with improved UX
- New UI Components - Reusable Button, Card, Input, and Select components
- TypeScript Support - Added TypeScript configuration for gradual adoption
- Improved Copy - Better documentation on the import page
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 8 months ago
Biowatch - 1.6.0
What's New
See the full changelog: CHANGELOG.md
Highlights
- LILA Datasets Import - Import remote datasets with batch processing and progress tracking
- E2E Testing - Playwright tests for Windows, macOS, and Linux
- Major Upgrades - Electron 39, React 19, Vite 7
- Smart ML Servers - Intelligent restart and error handling
- UI Improvements - Media navigation, species tooltips, blank previews
- Windows Fixes - Database path and study deletion fixes
- Code Reorganization - 3-layer architecture for better maintainability
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 8 months ago
Biowatch - 1.5.0
What's New
See the full changelog: CHANGELOG.md
Highlights
- Video Support - Full video handling with transcoder, hover-to-play, and predictions
- Favorites - Mark favorite media
- Manas Model - New ML model integration
- CamtrapDP Export - Export with spec validation and configurable options
- Satellite Maps - Satellite views for all maps
- Bounding Box Editing - Create, edit, and delete bboxes in media tab
- Performance - SQLite indices, React Query, Drizzle ORM, media caching
- Documentation - Comprehensive docs for architecture, IPC, database, and more
Biosphere - Terrestrial Wildlife
- JavaScript
Published by ioRekz 9 months ago