Recent Releases of Whisp
Whisp - Release v1.4.1
π What's New
This release improves the GeoId Registry experience with collection picker caching, a progress bar for asset registration and retrieval, and various bug fixes.
π§ Issues Resolved in This Release
- [GeoId Registry] Set the external id analysis option when loading the retrieved geojson using the asset registry page (#144)
- [GeoId Registry] Add progress bar indicator for registering/retrieving assets (#142)
- [GeoId Registry] Add caching and reload to CollectionPicker (#141)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] about 2 months ago
Whisp - Release v1.4.0
π What's New
This release introduces the new asset registry page for registered users for generating/retrieving geo IDs from the external asset registry.
π§ Issues Resolved in This Release
- [GeoId Registry] Add write functionality for registered users (#138)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] about 2 months ago
Whisp - Release v1.3.2
π What's New
This release removes the catalog selector from the GeoID submission UI in favor of a configured default, restores the download-csv endpoint for backward compatibility, and adds input validation to reject empty or zero-feature submit requests.
π§ Issues Resolved in This Release
- [Submit Endpoints] Add validation for empty/0 features submit requests (#139)
- [Export] Readd the download-csv endpoint for backward compatibility (#137)
- [Submit GeoId] Disable the catalog dropdown and have it fixed to the default value (#136)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 2 months ago
Whisp - Release v1.3.1
π What's New
This release adds Python startup optimizations with bytecode precompilation and page cache warmup, and fixes geo-ID submission failures on large requests by adding early count validation and concurrency-controlled resolution.
π§ Issues Resolved in This Release
- [Python Analysis] Reduce Python subprocess startup overhead with bytecode precompilation and page cache warmup (#135)
- [SUBMIT GEOID] Fix geo-ids submission failure and CPU spike on large requests (#134)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 2 months ago
Whisp - Release v1.3.0
π What's New
This release upgrades the application stack to current major dependency versions and introduces external asset-registry connectivity with GeoID-backed submission end-to-end. Remaining changes are general defect fixes and hardening across submission parsers, results persistence and UI, operational jobs, documentation, and CI workflows.
π§ Issues Resolved in This Release
- [Submit GeoId] Add validation for invalid geoids and return an error if any (#132)
- [Deploy/Workflows] Update actions to fix Node.js 20 deprecation warnings (#131)
- [SUBMIT WKT] Issue with parsing MultiPolygon Z (#130)
- [Documentation Page] Issue with swagger ui auth (#129)
- [External Integrations] Implement support for external asset registries (GeoID) with read functionality. (#128)
- [Result Fields] Add filter and export functionality for power bi dashboard fields (#127)
- [Backend] Refactor how results are saved in whisp app (#126)
- Investigate the duplication of Geometry column in the results page (#125)
- [Documentation Page] Update documentation (#124)
- Add cron job for releasing analysis stuck in processing mode (#121)
- Upgrade major dependencies (#111)
- The submit geoid tab does not clear the loading state after analysis is completed (#108)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 2 months ago
Whisp - Release v1.2.0
π What's New
This release introduces an admin role system, legal documentation pages (Privacy Policy, Terms of Service, and GEE Data Separation), and a new result fields & commodities management system. It also includes backend infrastructure improvements with a cron jobs framework and PII anonymization, database naming normalization with DAL migration, backward-compatible export routes for lookup results fields used in whisp library, and enhancements to the results page UI.
π§ Issues Resolved in This Release
- Analysis stuck in processing mode when server side validation fails (#122)
- Results Page Download Button UI Changes (#120)
- Results Page Toggle Fields Enhancements (#119)
- Cron Jobs Framework and PII Anonymization (#118)
- Database Naming Normalization and DAL Migration (#117)
- Backward Compatible Export Routes for Result Fields (#116)
- Result Fields and Commodities Management (#115)
- Admin Role System (#114)
- Add legal documentation pages (Privacy Policy, Terms of Service, GEE Data Separation) (#113)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 3 months ago
Whisp - Release v1.1.0
π What's New
This release covers API rate limiting, analysis job history and stats page, performance improvements and general UI enhancements.
π§ Issues Resolved in This Release
- Update python analysis library to v3.0.0a7 (EUFO_2020 V3 dataset) (#106)
- Show detailed error message if the analysis fails (#105)
- Review the temp api key creation functionality and consolidate the implementation if redundant (#104)
- Refactor all endpoints to use the standard hooks (#102)
- Add Analysis Job History Tracking and Statistics Dashboard (#101)
- Replace 2-second status polling with real-time server push or optimized polling strategy (#97)
- Add severity to system codes for better logging structure (#90)
- Archive API keys instead of deleting or overwriting (#82)
- Consolidate Authentication: Remove Redundant API Key Validation (#70)
- Implement API key-based rate limiting for registered and public users (#60)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 5 months ago
Whisp - Release v1.0.4
π What's New
This release covers bug fixes from the latest openforis-whisp library, updates to the results page, and the possibility to subscribe/unsubscribe from email notifications.
π§ Issues Resolved in This Release
- Specifying columns named 'id' as the external_id column choice causes NaN in plotId and centroid columns (#100)
- Add sorting capabilities, default to external id or plot id in the results page (#99)
- Fix formatting of latitude and longitude columns in the results page (#98)
- Allow users to subscribe/unsubscribe to updates (#91)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 6 months ago
Whisp - Release v1.0.3
π What's New
This release covers bug fixes for the API, updates to results page, enhancements for concurrent analysis using the high volume Earth Engine endpoint and improved status reporting.
π§ Issues Resolved in This Release
- Implement client-side validation for max geometry limit (#96)
- Add Cameroon (cm) to country data options in analysis (#95)
- Increase async processing limits to 3000 geometries and 20MB file size (#94)
- Read status file from analysis and show progress & features in UI, enhance status endpoint (#93)
- Implement configurable concurrent analysis threshold (#92)
- API does not return response when x-legacy-format is set to true (#89)
- [Results Page] Show external id column by default if set (#87)
- Update geojson example file (#86)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 6 months ago
Whisp - Release v1.0.2
π What's New
Updated python processing package to the latest version (fix for timestamp properties in geoJSON inputs).
π§ Issues Resolved in This Release
- Display openforis whisp package version information (#85)
- Issue with processing geoJSON files that contain timestamp properties (#84)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 7 months ago
Whisp - Release v1.0.1
π― What's New
- UI: Added input for users to specify External ID column name in AnalysisOptions, with live validation feedback.
- API: Submission now checks for column existence and returns helpful errors if missing.
π§ Issues Resolved in This Release
- Earth Engine API authentication bug in newest version (#83)
- Fix layout inconsistency between submit pages (#81)
- Empty features added to GeoJSON FeatureCollection when geoids not found (#80)
- Add User/API Key Tracking to Application Logs (#79)
- Add external ID column support with UI input and API validation (#78)
- [Dashboard] Prevent creation of new API key on dashboard if one already exists (#72)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 7 months ago
Whisp - Release v1.0.0
π― What's New
Analysis Options Support
All submission endpoints now accept an optional analysisOptions object in the request body, giving you control over how your analysis is performed.
Available Options:
-
async(boolean, default:true) - Processing mode:true: Background processing with status polling (significant higher timeout and geometry limit)false: Immediate response
-
nationalCodes(array) - Include additional country-specific data:"co"- Colombia"ci"- CΓ΄te d'Ivoire"br"- Brazil
-
unitType(string, default:"ha") - Result units:"ha"- Hectares"percent"- Percentage
-
externalIdColumn(string, optional) - Column name for external identifiers in your data
Usage Examples:
GeoJSON Endpoint:
POST /api/submit/geojson
{
"type": "FeatureCollection",
"features": [...],
"analysisOptions": {
"async": true,
"nationalCodes": ["co", "ci", "br"],
"unitType": "ha"
}
}
WKT Endpoint:
POST /api/submit/wkt
{
"wkt": "POLYGON((-4.286 5.545, ...))",
"analysisOptions": {
"async": true,
"nationalCodes": ["co", "ci"],
"unitType": "percent"
}
}
Geo-IDs Endpoint:
POST /api/submit/geo-ids
{
"geoIds": ["geoid1", "geoid2"],
"analysisOptions": {
"async": false,
"nationalCodes": ["br"],
"unitType": "ha"
}
}
Asynchronous Processing
When async: true is set (default), the API immediately returns a tracking token instead of waiting for results:
Initial Response:
{
"code": "analysis_processing",
"message": "Analysis in progress...",
"data": {
"token": "550e8400-e29b-41d4-a716-446655440000",
"statusUrl": "/api/status/550e8400-e29b-41d4-a716-446655440000"
}
}
Checking Status:
GET /api/status/{token}
When Complete:
{
"code": "analysis_completed",
"message": "Analysis completed successfully",
"data": [/* your results */]
}
If Error Occurs:
{
"code": "analysis_error",
"message": "Analysis service encountered an error. Please try again."
}
Standardized Response Codes
All API responses now use a consistent structure with system codes for reliable error handling:
Response Structure:
{
"code": "system_code",
"message": "Human-readable message",
"data": {}
}
Common Response Codes:
Analysis:
analysis_processing- Analysis in progressanalysis_completed- Analysis completeanalysis_error- Analysis failedanalysis_timeout- Processing timeoutanalysis_job_not_found- Token not found
Validation:
validation_invalid_geojson- Invalid GeoJSON formatvalidation_invalid_wkt- Invalid WKT formatvalidation_too_many_geometries- Geometry limit exceededvalidation_coordinates_in_meters- Coordinates must be WGS84
Authentication:
auth_invalid_api_key- Invalid/expired API keyauth_missing_api_key- API key required
General:
system_internal_server_error- Server error
See the Swagger documentation for a complete reference of all system codes.
π§ Issues Resolved in This Release
- Add configurable timeout and geometry limits for synchronous processing (async=false) (#77)
- Implement frontend runtime config context for Google Cloud Run compatibility (#76)
- Add API-side validation for request size (#75)
- Move geometry limit to environment variables (#74)
- Update documentation for async endpoints, deprecate sync submit endpoints, and hide API key in logs (#73)
- Refactor all routes to use centralized system codes and error handling (#69)
- Implement Centralized System Codes and Custom Error Handling Architecture (#68)
- Implement basic validation in API and add error constants (#67)
- Update documentation for new analysis options and async processing with status poll endpoint example (#66)
- [results page] Download dropdown menu appears behind map in results page when map view is enabled (#65)
- Refactor results page (#64)
- Update whisp package to latest version (#63)
- Add MIT license information to repository (#62)
- Remove update notice and link, migrate content to first prerelease release notes (#59)
- Logout should redirect to home page, not login page (#58)
- Add new optional API parameters and update UI (#57)
- Subissue: Mark Sync Geometry Processing for Deprecation (#55)
- Subissue: Update UI for Async Geometry Processing (#54)
- Subissue: Update API Endpoints for Async GeoJSON and GeoIDs (#53)
- Implement Async Geometry Processing (Deprecate Sync) (#52)
- Display Current Version and Release Notes Link in Footer (#51)
- Registration accepts existing emails (#49)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 8 months ago
Whisp - Release v0.1.0
What's Changed
- Update whisp example polys geojson (#50)
- Enable submit geoids endpoint (#48)
- Complete Google Maps integration (#47)
Biosphere - Deforestation and Reforestation
- TypeScript
Published by github-actions[bot] 10 months ago
Whisp - Pre-Trunk Development Backup
Pre-Trunk Development Backup
This release represents a snapshot of the main branch before transitioning to trunk-based development practices.
Purpose
- Backup Point: Safe rollback point before implementing trunk-based workflow
- Development Milestone: Marks the transition from current branching strategy
- Reference Point: Baseline for comparing future trunk-based development changes
What's Included
- Complete codebase state as of main branch
- All current dependencies and configurations
- Existing build and deployment configurations
- Current documentation and project structure
Important Notes
- β οΈ This is not a product release - it's a development workflow milestone
- π This snapshot can be used for rollback if needed during transition
- π All future releases will follow trunk-based development practices
- π·οΈ Tagged as
v0.0.0-pre-trunk-backupfor easy identification
Next Steps
- Transition to trunk-based development workflow
- Implement feature flags for incomplete features
- Update CI/CD pipeline for new branching strategy
- Begin daily integration to main branch
Biosphere - Deforestation and Reforestation
- TypeScript
Published by rurdea 11 months ago