Releases: Helioviewer-Project/api
4.4.3
Summary
This is a small bug fix patch. 3 issues have been fixed:
- Fixed an intermittent error with creating screenshots and movies. This would appear as an error saying the screenshot/movie cannot be created.
- Fixed an error that prevented downloading/playing large movies
- Fixed an issue where attempting to share the viewport fails intermittently when using the "base difference" option
One minor update has been made to the popup which shows the FITS Metadata:
- The sort button previously said "Abc", now says "Sort Labels" to be more clear.
Upgrade Guide
Only composer install
is needed after updating to this version.
What's Changed
- Fix unit tests by @dgarciabriseno in #415
- Fix out of memory error for download movies by @mudhoney in #414
- Add playwright tests to CI by @dgarciabriseno in #417
- Update helioviewer event interface by @dgarciabriseno in #416
Full Changelog: 4.4.2...4.4.3
4.4.2
Summary
This patch is mostly bug fixes with the notable exception of enabling support for Sentry, a tool for application error monitoring.
Overview of changes:
- updates some schema rules that block certain save state requests.
- Report application errors to sentry
Upgrade from 4.4.1
2 upgrade steps are needed.
- Before getting 4.4.2, update your Config.ini with these lines:
[application]
app_env = production
[sentry]
sentry_dsn = http://sentry-dsn
sentry_enabled = false
sentry_sample_rate = 0.1
- After getting 4.4.2, run
composer install
- Restart the resque based movie workers with your preferred method. I do
pkill -f resque
and then re-runmovie_queues.tcsh
What's Changed
- Downloader patches by @dgarciabriseno in #402
- Update schema rules by @dgarciabriseno in #403
- Move transcode into jp2.py + add test by @dgarciabriseno in #404
- Fix dowload ssw data with sunpy AND fix eclipse image generation by @mudhoney in #406
- Fix problem with checkYoutubeAuth by @dgarciabriseno in #407
- Allow + in FRM names by @dgarciabriseno in #408
- Sentry integration by @mudhoney in #411
Full Changelog: 4.4.1...4.4.2
4.4.1
Version 4.4.1 resolves some bugs identified in the base 4.4.0 release.
- Fixes an issue where downloading a screenshot from the screenshot preview results in an illegible file name.
- Fixes issue where attempting to share the viewport after selecting an image layer preset fails
- Fixes an issue where attempting to share the viewport fails with difference images
- Fixes slow loading for getObservationDate videos (resolves loading problems with embedded version of Helioviewer)
- Times out CCMC Event Loading at 10 seconds. Events that were received within the 10 second limit are cached and displayed.
What's Changed
- allow empty labels for imageLayers , also template, also add test case by @mudhoney in #397
- Fix get observation date videos by @dgarciabriseno in #398
- Update composer dependencies by @dgarciabriseno in #399
- Require ISO baseDiffTime format by @dgarciabriseno in #400
Full Changelog: 4.4.0...4.4.1
4.4.0
Highlights
It's been a while since I tagged the release, here's a list of the most important changes to note:
- Added support for NSO GONG H-alpha
- Added support for RHESSI reconstructions
- Added the RHESSI Flare List as a new Features & Event source. RHESSI operated between February 2002 to August 2018.
- Improved mouse/cursor coordinate support
- Added
getEclipseImage
endpoint for https://eclipse.helioviewer.org - Enabled exporting Helioviewer.org videos to JHelioviewer
- Enabled continuous zoom for desktop devices with option to revert to step zoom in user settings.
Upgrade Guide
If you're running a Helioviewer instance, perform the following steps to upgrade from 4.3.0 to 4.4.0.
Pre-Requisites:
- Install Docker or Podman to run a supporting container
- Update Configuration files
- Update source code to 4.4.0
- run
composer install
to update dependencies - Apply database updates
- Run coordinator container as a background process
Configuration Files
Add this line to Config.ini
coordinator_url = 'http://localhost:9000'
Database Updates
SQL File | Description | Notes |
---|---|---|
install/database/2024_05_31_add_events_state_to_both_screenshots_and_movies_tables.sql |
Enables storing event states for use with screenshots, movies, and sharing | Required to work with 4.4.0 |
install/database/2024_05_16_create_client_states_table.sql |
Enables storing client state in db | Required to work with 4.4.0 |
install/database/2023_06_23_gong_halpha.sql |
Enable's GONG H-alpha data source | Only needed if you plan to host GONG H-alpha data |
install/database/2024_04_03_rhessi.sql |
Enable's RHESSI data source | Only needed if you plan to host RHESSI data |
Process Updates (Coordinator)
- Enable the Python-based Coordinate Transformer. This is a python-based http server which responds to requests to transform earth-based coordinates to coordinates as seen from Helioviewer's viewpoint (Always 1 AU), which improves event pin accuracy.
- Use docker to run the process
docker run -d -p 9000:80 -t dgarciabriseno/hv-coordinator:0.1.0
- Make sure your
Config.ini
containscoordinator_url = 'http://localhost:9000'
- If your server is configured to send requests through a proxy, make sure your requests to
localhost
don't go through that proxy.
What's Changed
- Update ROB source links on status page by @dgarciabriseno in #317
- Improve XRT query speed. Update imgIndex to force index on XRT queries by @dgarciabriseno in #318
- Enable continuous integration testing with github actions by @dgarciabriseno in #319
- Enable one of the legacy unit tests by @dgarciabriseno in #320
- Run python tests in CI by @dgarciabriseno in #321
- Bump tornado from 6.2 to 6.3.2 in /scripts/hv_stats by @dependabot in #314
- Bump requests from 2.27.1 to 2.31.0 in /scripts/availability_feed by @dependabot in #313
- Bump requests from 2.27.1 to 2.31.0 in /docs/src by @dependabot in #312
- Add refill.py for redownloading images over specific ranges by @dgarciabriseno in #322
- Add support for GONG H-alpha by @dgarciabriseno in #323
- Update API to enable mouse coordinates by @dgarciabriseno in #333
- When movie making fails, mark both formats as failed by @dgarciabriseno in #334
- Include client device stats on statistics page. by @dgarciabriseno in #335
- Fix date checks in getUsageStatistics by @dgarciabriseno in #336
- Bump urllib3 from 1.26.9 to 1.26.17 in /scripts/availability_feed by @dependabot in #337
- Bump certifi from 2022.12.7 to 2023.7.22 in /scripts/availability_feed by @dependabot in #328
- Bump tornado from 6.3.2 to 6.3.3 in /scripts/hv_stats by @dependabot in #331
- Bump urllib3 from 1.26.9 to 2.0.6 in /docs/src by @dependabot in #338
- Bump certifi from 2022.12.7 to 2023.7.22 in /docs/src by @dependabot in #329
- Bump pygments from 2.11.2 to 2.16.1 in /docs/src by @dependabot in #327
- Enable helioviewer to run in docker compose environment by @dgarciabriseno in #344
- Fix gh actions integration testing by @dgarciabriseno in #348
- Update SUVI locations by @dgarciabriseno in #351
- Add
getEclipseImage
API endpoint by @dgarciabriseno in #354 - Bump urllib3 from 1.26.17 to 1.26.18 in /scripts/availability_feed by @dependabot in #342
- Bump urllib3 from 2.0.6 to 2.0.7 in /docs/src by @dependabot in #341
- Bump jinja2 from 3.1.2 to 3.1.3 in /scripts/hv_stats by @dependabot in #360
- Bump jinja2 from 3.1.1 to 3.1.3 in /docs/src by @dependabot in #358
- Bump aiohttp from 3.9.1 to 3.9.2 in /install by @dependabot in #355
- Add cache control to getTile and downloadImage by @dgarciabriseno in #362
- Bump idna from 3.6 to 3.7 in /install by @dependabot in #369
- Bump idna from 3.3 to 3.7 in /docs/src by @dependabot in #368
- Bump idna from 3.3 to 3.7 in /scripts/availability_feed by @dependabot in #367
- Bump pillow from 10.1.0 to 10.3.0 in /install by @dependabot in #365
- Bump fonttools from 4.38.0 to 4.43.0 in /scripts/hv_stats by @dependabot in #356
- client_state database table and endpoints to create and read them by @mudhoney in #377
- Better event interface by @dgarciabriseno in #379
- Handle JSON post and get requests by @mudhoney in #382
- Bump tornado from 6.3.3 to 6.4.1 in /scripts/hv_stats by @dependabot in #383
- Bump requests from 2.31.0 to 2.32.2 in /docs/src by @dependabot in #381
- Bump jinja2 from 3.1.3 to 3.1.4 in /scripts/hv_stats by @dependabot in #376
- Bump jinja2 from 3.1.3 to 3.1.4 in /docs/src by @dependabot in #375
- Bump tqdm from 4.66.1 to 4.66.3 in /install by @dependabot in #374
- Bump aiohttp from 3.9.2 to 3.9.4 in /install by @dependabot in #372
- Enable RHESSI images by @dgarciabriseno in #370
- Bump helioviewer event interface version by @dgarciabriseno in #386
- Add RHESSI to api status page by @dgarciabriseno in #387
- Implement 3rd layer single event screenshot and movie making and fetching prev/next image per source id by @mudhoney in #385
- Add validation for saveWebClientState, postMovie, and postScreenshot by @dgarciabriseno in #390
- Update client_states_table.sql for mysql syntax by @dgarciabriseno in #388
- Bump urllib3 from 2.0.7 to 2.2.2 in /docs/src by @dependabot in #389
- Bump pillow from 9.4.0 to 10.3.0 in /scripts/hv_stats by @dependabot in #366
- Bump urllib3 from 1.26.18 to 1.26.19 in /scripts/availability_feed by @dependabot in #391
- Update youtube upload to use composer by @dgarciabriseno in #392
- add 0-9 to event-types as well ,for screenshot post validation by @mudhoney in #393
- Accept "boolish" types on event_layer.open by @dgarciabriseno in #396
New Contributors
Full Changelog: 4.3.0...4.4.0
4.3.0
Big Changes
- Includes IRIS Data.
- Special Note: Downloading IRIS from LMSAL requires a whitelisted IP. Use the hv_iris data server to download IRIS data from Helioviever.
- Integrates the Helioviewer Event Interface for getting CCMC data
What's Changed
- Remove ASSA flare predictions since their coordinates are incorrect.
- Implement external Event interface for getting events
- Fix issue where screenshots with event pins are missing a pin.
- SUVI now appears on the API Status page.
- Link Shortener now uses an internal implementation
New Contributors
- @prabhjotsingh18 made their first contribution in #309
Maintainer Notes:
- The
import_predictions.py
table is no longer used. Nor is the flare table. - Execute
2023_05_11_update_suvi_instrument.sql
to update SUVI in the database so it appears on the API Status Page - Execute
2023_05_16_iris_source.sql
to add IRIS to the database - This project now uses composer to manage dependencies. Download and run
composer install
. This is required for Helioviewer to continue operating. - Use
-d iris
or-d hv_iris
withdownloader.py
to get iris images
Full Changelog: 4.2.0...4.3.0
4.2.0
Improves storage of flare predictions based on 4.1.0 feedback.
The flare database introduced here is incompatible with 4.1.0 and updating drops the 4.1.0 flare table.
Release Notes:
- Fixes the typo showing "Solar Flare Predictionss"
- Removes a patch meant to try to "fix" ASSA latitude/longitude positions
- Showing flare prediction source data now includes all data provided by the CCMC API
Maintainer Upgrade Guide:
- After updating the API and App to 4.2.0, you must create the flare prediction database table by executing the SQL in
/install/database/2023_04_11_update_flare_table.sql
.- You do not need to run the 4.1.0 update first
- If the 4.1.0 table exists, all data will be erased and will need to be re-imported.
- Use
/management/events/ccmc/import_predictions.py
to retrieve flare predictions for your server. Use -h to see the script's usage information - Ideally you will run import_predictions.py on a schedule to keep flare predictions up-to-date
- The GSFC servers run the following scheduled command
import_predictions.py "$(date --date '3 hours ago' -u '+%FT%T')" "$(date --date '+48 hours' -u '+%FT%T')"
4.1.0
Helioviewer 4.1.0 adds feature support for the CCMC Flare Scoreboard.
The flare scoreboard is a database of predictions made by humans and algorithms for prediction when and where a solar flare may occur.
These predictions are now pinned on Helioviewer the same way that actual flares and other solar events are displayed.
Release Notes:
- Stability improvements for creating movies and screenshots
- Patches to data coverage statistics to fix overcounting files
- Update to api status page to show full time range of available data with links to upstream data sources and internal coverage tables.
- Several changes to remove usage of deprecated PHP features.
- Support for CCMC Flare Scoreboard
Maintainer Upgrade Guide:
- After updating the API and App to 4.1.0, you must create the flare prediction database table by executing the SQL in
/install/database/2023_03_27_add_flare_table.sql
- Use
/management/events/ccmc/import_predictions.py
to retrieve flare predictions for your server. Use-h
to see the script's usage information - Ideally you will run
import_predictions.py
on a schedule to keep flare predictions up-to-date - The GSFC servers run the following scheduled command
import_predictions.py "$(date --date '3 hours ago' -u '+%FT%T')" "$(date --date '+48 hours' -u '+%FT%T')"
4.0.0
We welcome 2023 with the official 4.0 release of Helioviewer which includes mobile support to the site.
- commands to import events and update data coverage graphs have now have php scripts that can be run outside of the (undocmented) API requests that perform the same tasks
- Fixed some typos in Documentation
- Movies can no longer be reQueued with reQueueMovie while they're being processed.
- Added downloadImage API which allows downloading full sun images as regular jpg images (not jpg2000). For Helios support
- Fixed issues with some images not loading at zoomed out scales.
- Fixed issues with the getTile API around invalid baseDiffTime and difference parameters
- Fixed issues generating jpx files which caused failures to load data in JHelioviewer
- Fixed getMovieStatus from returning null progress just before movies are completed.
- Updated a SQL query for XRT to increase load speed for any/any filter wheel combination.
3.4.0
Changes:
- Adds Solar Orbiter's EUI images.
- Patched downloader to quit on certain download errors to prevent unintentionally adding nonexistent images to the database.
- Updates how downloader.py scans for dates in filenames to support EUI
- Creates the Helioviewer Availability Service feed. Leverages RSS to report when data acquisition falls behind schedule. see here
- Fixes problem with generating movies over long time spans
3.3.5
Changes:
- Update API Docs to use Read The Docs Theme and migrate from XML to reStructuredText
- Update data download scripts to work with sunpy version 3
- Add Helioviewer Availability Service for an RSS Feed on uptime status
- Fixed issue with sharing private youtube videos
- Minor backend patches (to fix PHP errors and warnings)