Repository navigation
Releases: gemmadanks/hebog
Releases · gemmadanks/hebog
Release list
v0.24.0
0.24.0 (2026-10-23)
⚠ BREAKING CHANGES
- Custom performance contracts must use schema 3. Replace maximum_ratio with dense_minimum_sources, dense_maximum_ratio and sparse_maximum_ratio.
🚀 Features
⚡ Performance
- hold less memory for the local noise of large images (#193) (4e82ce0)
- keep every Dask worker busy on sectors up to 5,000 pixels (#200) (71f6234)
📚 Documentation
v0.23.0
0.23.0 (2026-10-20)
⚠ BREAKING CHANGES
- RapthorCompatibilityConfig now defaults to profile="continuum" (was "compact"), so find_sector_sources' default products change. Pass profile="compact" for the previous behaviour.
🚀 Features
- accept images up to 22,500 pixels a side (#191) (12bbbfe)
- measure each Hebog profile against known truth in the Rapthor agreement check (#183) (0768b31)
- run the continuum profile for Rapthor by default (#186) (bcd3c85)
🐛 Bug Fixes
- keep bright extended sources in crowded fields' masks (#187) (3a6d130)
- reserve enough memory for finely sampled images (#190) (8a2623c)
- stop continuum losing real sources in crowded deep fields (#185) (bd62bc1)
📚 Documentation
- explain how to withdraw a release and write commits for the changelog (#178) (f1a0978)
- gate Hebog's speed where PyBDSF is slow and plan scaling one sector (#188) (23641c8)
- install Rapthor's Hebog task from Rapthor's repository, not a patch (#182) (0e2783b)
- keep the noise estimate uncorrected for clipping and require no science to degrade (#189) (050dcf9)
- plan a stage profile before scaling one sector across a cluster (#184) (fd66221)
- record the 0.22.0 release and the deep-field speed-up (#177) (50e4599)
- record the 0.23.0 release check (#192) (44cfd58)
- simplify PR template (#179) (032ca90)
🧩 CI
📦 Build
🧪 Tests
v0.22.0
0.22.0 (2026-10-17)
⚠ BREAKING CHANGES
- RapthorCompatibilityConfig now defaults to profile="compact", background="zero" (was continuum/estimated), so find_sector_sources' default products change. Pass profile="continuum", background="estimated" for the previous behaviour.
🚀 Features
- default the prepared Rapthor patch to compact with a zero background (#164) (9a3c3b9)
- estimate an image's source count and size Rapthor's reservation from it (#166) (9ab3d8b)
- gate the source-finding part of Rapthor's step and scope 1.0.0 to its sectors (#175) (5069629)
- measure Rapthor-profile agreement and default the adapter to compact/zero (#163) (e42b772)
- measure Rapthor's filter step against pinned PyBDSF master (#165) (816aa1c)
- prepare native Rapthor source-finding integration (#162) (2bb0dcf)
- profile one sector across thread and Dask worker counts (#167) (ce63331)
- screen the filter step on Dask workers and choose the check's profile (#174) (5069629)
⚡ Performance
- estimate the background pilot's window batches a square at a time (#168) (03a571e)
- read object rounds a core at a time and keep tasks to their labels (699da85)
- reconcile each tile seam once and index features' components (699da85)
🧹 Refactoring
- split the three largest modules along their seams (699da85)
📚 Documentation
- record the scaling decisions of 15 October and close task 74 (699da85)
- record v0.21.0 and ready the plan for task 20 (#159) (ab62da0)
- rewrite the glossary and correct stale integration and schema claims (2bb0dcf)
🧩 CI
🧪 Tests
v0.21.0
0.21.0 (2026-10-12)
⚠ BREAKING CHANGES
- Executor.reduce_batches, its three implementations and hebog.executors.reduce_in_canonical_order are removed; nothing called them, and plan task 74 can bring back a reduction if its profile needs one. map_round requires a requirement. hebog.stages.task_memory is left out of the composition hash, since it decides placement, never a result.
🚀 Features
v0.20.0
0.20.0 (2026-10-11)
⚠ BREAKING CHANGES
- the diagnostics product is schema 13 and gains bright_regions and flat_noise_bright_regions; readers refuse schema 12. The scientific composition is phase-5-evidence-bound-public-catalogue-v23.
- SourceFinderRequest is schema 2 and gains flat_noise_image_path; SourceFinderResult is schema 3 and gains flat_noise_rms; PublicSourceFindingProvenance is schema 4 and gains flat_noise_input_sha256; the diagnostics product is schema 12. Readers refuse the earlier versions.
- hebog.adapters.RapthorCompatibilityConfig no longer has rms_box_pixels, bright_source_rms_box_pixels, adaptive_rms_threshold_sigma, estimate_background, use_spatial_rms, use_adaptive_rms, use_multiscale or multiscale_levels.
- hebog.config.CompactGaussianFitConfig no longer has background_model, maximum_background_offset_sigma, association_aperture_radius_sigma or association_aperture_minimum_fixed_beam_model_fraction. hebog.config.CompactDeblendConfig no longer has target_batch_pixels or maximum_batch_pixels, so its positional constructor takes six arguments. hebog.data_models.fitting.AssociationAperturePhotometry and ValidCompactGaussianFit.association_aperture are removed, and GaussianFitDiagnostics no longer admits centroid-constrained-elliptical. hebog.data_models.astrometry.CelestialCompactGaussianFit.flux is removed. hebog.data_models.CrossScaleAssociation no longer has compact_source_ids or relationship and is schema version 3.
🚀 Features
- offer PyBDSF's zero mean map as a background setting (e77df4b)
- rapthor profile flat noise (#151) (e77df4b)
🐛 Bug Fixes
- estimate chained bright regions in bounded blocks (#155) (e06204a)
- read the reference frequency in PyBDSF's order (a8269b0)
🧹 Refactoring
- move the stage sequence into stages/composition.py (#147) (9c74f15)
- remove the last leftovers of the unused compact lane (#145) (a05f124)
📚 Documentation
- pin Rapthor and LSMTool and refresh the Rapthor contract (a8269b0)
- plan one sector across the cluster with a Dask-native design (a8269b0)
- preserve project history in commit messages (#152) (0ff1fe5)
- put the Rapthor integration ahead of the size ladder in the plan (#138) (a27a167)
- rapthor contract pins (#149) (a8269b0)
- record the zero-mean-map measurement for the Rapthor profile (e77df4b)
- scale Hebog independently of its integrations (ADR-010) (a8269b0)
- update site url (#139) (972940a)
🧩 CI
- group uv Dependabot updates into one pull request (#142) (432a2e1)
- shard portable tests to shorten PR feedback (#150) (4b7ebf7)
- upgrade the pinned uv from 0.9.16 to 0.13.0 (#148) (78ce62c)
📦 Build
v0.19.0
0.19.0 (2026-10-09)
⚠ BREAKING CHANGES
- remove the compact lane find_sources never ran (#106)
🐛 Bug Fixes
- attach a pixel to its owner only through the owner's support (#122) (9bd91a1)
- bind every identity hash to what decides the result (#112) (b788c0e)
- decide every input refusal before the analysis (#103) (97b7f2e)
- give each noise seed an independent realization (#111) (4b44d9e)
- keep a joint fit's well-constrained components when one degenerates (#121) (145f7e5)
- keep Dask profile worker occupancy at or below one (#126) (01d9c45)
- keep the local-noise floor off extended emission (#136) (d8fe206)
- keep the local-noise RMS beside a noise step near the noise there (#128) (0a33be2)
- keep the RMS beside a noise step at the noise there (#120) (9467914)
- keep the RMS map off zero and blank constant-valued regions (#109) (29157d2)
- keep whole-pixel beams exact on every platform (#125) (c2ed1da)
- match catalogues by position first (#113) (e38e89d)
- one gaussian source row (#119) (b4be22b)
- read a header number written with a D exponent (3b52720)
- record Dask profile task times on the driver's clock (#127) (cd7e5f7)
- refuse a header card that is not a number (3b52720)
- refuse a restoring beam wider than 10 pixels (#110) (3af734f)
- refuse malformed header cards (#101) (3b52720)
- restore an owner split by support refinement instead of failing (#108) (2a22089)
- wait for running tasks after a failure and reclaim staging a killed run left (#114) (440d3b5)
- widen the support halo to cover persistence at whole-pixel radii (#124) (3f00991)
🧹 Refactoring
- enforce the layering as one table (#116) (4568fa6)
- remove the compact lane find_sources never ran (#106) (49f82c3)
- remove the support components no round reads (#123) (e0046ea)
📚 Documentation
- add FAQs and update documentation (#129) (4855398)
- condense the developer guide and add a progress page (#118) (d67fdec)
- record decisions on the review tasks (#104) (5a028bf)
- record repair decisions (#117) (d585832)
- record the 0.19.0 release check after task 69 (#137) (2c913ea)
- release 0.19.0 check (#135) (45e14c3)
📦 Build
🧪 Tests
v0.18.0
0.18.0 (2026-10-05)
🚀 Features
- attribute a traced peak to passes, tasks and call sites (020f035)
- dask driver diagnosis (#84) (020f035)
- profile a run's stages under Dask (020f035)
- raise the public envelope to 15,402 pixels (#82) (d282466)
🐛 Bug Fixes
- bound the loop search's memory in large crowded features (#93) (22deb79)
- crowded field adequacy (#90) (0bfd82e)
- fit a crowded field island by island instead of deferring it (#87) (2e2f618)
- give a compact source beside a much brighter one its own component (#92) (b2ccf99)
- identify benchmark runs by the checkout they started from (#85) (a9a4aa4)
- key cached PyBDSF references by the code their worker runs (#88) (9f3633f)
- measure crowded fields instead of refusing them (#86) (4bdd19e)
- publish a fitted source whose aperture sums below zero (#94) (ad81965)
- publish emptied owners (#95) (9edc975)
- stop chance loops and one missed source from merging crowded fields (#91) (56366a3)
⚡ Performance
- bound generation publication's validation reads (020f035)
- stop Dask tasks carrying image-sized manifests (020f035)