Skip to content

Comments

Towncrier demo#5953

Merged
Kelvinrr merged 14 commits intoDOI-USGS:devfrom
jrcain-usgs:towncrier-demo
Feb 2, 2026
Merged

Towncrier demo#5953
Kelvinrr merged 14 commits intoDOI-USGS:devfrom
jrcain-usgs:towncrier-demo

Conversation

@jrcain-usgs
Copy link
Contributor

@jrcain-usgs jrcain-usgs commented Feb 1, 2026

Description

This PR introduces Towncrier as a tool to manage the changelog.
New changelog entries shall be recorded in individual, one-line files called fragments (for example, 5953.misc.md). When a release is made, a maintainer or automated CICD will use the towncrier utility to compile any fragments for the release into a new changelog section.

Initially spurred on by a desire to avoid merge conflicts in LTS cherry-picking CICD.

Related Issue

How Has This Been Validated?

Towncrier configuration tested on local machine.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Documentation change (update to the documentation; no code change)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Infrastructure change (changes to things like CI or the build system that do not impact users)

Checklist:

  • I have read and agree to abide by the Code of Conduct
  • I have read the CONTRIBUTING document.
  • My change requires a change to the documentation and I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • I have added myself to the .zenodo.json document.
  • I have added my user impacting change to the CHANGELOG.md document.

Licensing

This project is mostly composed of free and unencumbered software released into the public domain, and we are unlikely to accept contributions that are not also released into the public domain. Somewhere near the top of each file should have these words:

This work is free and unencumbered software released into the public domain. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain.

  • I dedicate any and all copyright interest in this software to the public domain. I make this dedication for the benefit of the public at large and to the detriment of my heirs and successors. I intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

@github-actions
Copy link

github-actions bot commented Feb 1, 2026

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5953".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

@github-actions
Copy link

github-actions bot commented Feb 1, 2026

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5953".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

@github-actions
Copy link

github-actions bot commented Feb 1, 2026

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5953".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5953".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

@jrcain-usgs
Copy link
Contributor Author

I converted the following Unreleased issues to towncrier fragments. It would be good to know which of these are breaking and perhaps recategorize them?


[Unreleased]

Added

  • Added Linux Arm support.
  • Added support for Chandrayaan-2 TMC and OHRC cameras. #5828
  • Added OFFBODY and OFFBODYTRIM parameters to noproj and cam2cam. Added tests and updated documentation. #3602
  • Added use Bullet Anaconda feedstock library, which includes double precision support, and fix ISIS use of general Bullet configurations. #5772
  • Added Mac Arm build support and adjusted the tests appropriately.
  • Added adjusted XYZ point coordinate sigmas to the points.csv jigsaw output file. Modified
    ctest FunctionalTestJigsawApollo to validate this output. #5710
  • Added support for reading, writing, and viewing GeoTIFFs in ISIS. #5618
  • Added GDAL SRS propagation for systems outside of ISIS to display projected GTiffs. #5736
  • Added ale version to history blob. #5207
  • Added CSM State output capability for jigsaw. #5609
  • Added ShowDeprecated option to show or hide warnings in IsisPreferences. #5611
  • Added SpiceQL integration to replace cspice calls. #5545
  • Added initial eisstitch app #5591
  • Added the ability to disable individual options for parameters in ISIS GUIs #5849
  • Added PAD or SHRINK options to crop for crops that extend beyond the source image #5843
  • Added std:: namespace for isinf, fixes build errors for some versions of c++
  • Adds PROJ into ISIS, and exposes the capability with a new class called IProj. #5317
  • Added MATCHBANDBIN option to himos and hicolormos. #5859 and #5860
  • Added serial number translation for ideal camera #5662

Changed

  • Removed Arm dependency on xalan-c, as it does not build for now on conda-forge. This requires turning off doc building on Arm. Also changed some variables to avoid name clashes on Arm with clang 16. #5802
  • Update OSIRIS-REx OCams instrument (Map, Poly, & SamCam) support to current state in UofA code base #5426
  • Enhanced csminit by removing the need to specify model and plugin #5585
  • Changed file format to propagate from the input image format to the output image format #5737
  • Changed StripPolygonSeeder and GridPolygonSeeder to seed individual polygons within each images multipolygon footprint #5193
  • Pinned SpiceQL to 1.2.0 #5852
  • Changed ControlMeasure object comparison to no longer factor in creation date for equality #5862
  • In Application.cpp, converted initialization environmental variable shell commands and file read to c commands. #5906
  • Improved the Conda Bullet CMAKE configuration in FindBulletFloat64.cmake. Adds the Bullet::Bullet_double target to ALLLIBS. #5899
  • Changed 'jigsaw' attribute type to account for Linux compiler changes #5904
  • Updated GDAL to 3.12 and QT to 6.X #5909
  • Updated cmake configs to accommodate new cspice release #5886
  • Changed PVL class to read data from GDAL metadata directly #5824

Fixed

  • Fixed Chandrayaan-2 TMC2 serial numbers by setting InstrumentId to CH2_TMC_FORE/NADIR/AFT based on the filename sensor #5871
  • Fixed kaguyatc2isis invalid BandBin values #5629
  • Fixed SpiceClient to handle redirect requests.
  • Fixed jigsaw to default OUTADJUSTMENTH5 option to false and allow this feature to run on read-only images #5700
  • Fixed Cube::fromIsd to add "LineScanTimes" table from HRSC isds #5668
  • Fixed segfault in SpiceClient when an authentication error was encountered. #5735
  • Fixed offset and scale not being applied to gdal 32 bit floating point pixels #5753
  • Fixed getLocalNormal not reseting the sample and line #5752
  • Fixed QView bug that would not allow manual editing of min/max values via the text fields and defaulted to the current min/max type dropdown selection #5719
  • Fixed Juno Data Area SPKs causing Spiceinit to fail #5724
  • Fixed embree shapemodel intersection calculation #5592
  • Fixed findFeaturesSegment.py errors from issues #5725 and #5702
  • Fixed jigsaw save/apply bug by adding back missing metadata to Instrument Position/Pointing tables #5701
  • Fixed StripPolygonSeeder and GridPolygonSeeder memory leaks #5193
  • Fixed pointreg helper function to display deffile to application log #5806
  • Fixed ISIS Q Applications crashing when opening more than one cube at once. #5805
  • Fixed csminit docs with more details on the ISD and STATE pameters #5790
  • Fixed SpiceQL 1.2.0 API changes #5846
  • Fixed CSM State String blob not being propagated between input and output cubes #5847
  • Fixed campt reporting when ALLOWERROR is set to true #5845
  • Fixed order of observer and target in spiceql call in ctxcal. #5823
  • Fixed bundle serialization on MacOS for IPCE #5808
  • Fixed noseam to use correct temporary files when running #5878
  • Fixed CubeInfixToPostfix to safely determine if a known symbol is a function symbol #5822
  • Fixed BundleObservationSolveSettings to properly read empty solve setting xmls #5822
  • Fixed footprintinit to find mapping group (no caps). #5920
  • Fixed unnecessary un/distortion checks for pixels near the origin. #5861
  • Fixed the isisStartup scripts for users outside of USGS systems. #5478
  • Fixed all Q apps not consistently prioritized projction over camera in various tools #5896

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5953".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

CHANGELOG.md Outdated
in this format: {ISSUE_NUMBER}.{CHANGE_TYPE}.md (1234.change.md).

If your change fixes two issues, make multiple fragments with the same line of text.
if your change is not related to an issue, begin the filename with a +, and try to make the name unique
Copy link
Collaborator

@Kelvinrr Kelvinrr Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets be more specific, maybe +{alpha}.{change_type}.md so users have a clear name. We basically just keep incrementing a letter until release. +a.fix.md. +b.change.md, etc. if it goes past z then aa, ab, etc. this makes them show up at the in order with an ls and makes it obvious what the next one should be.

Copy link
Collaborator

@Kelvinrr Kelvinrr Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

~ krodriguez$ ls -l /tmp/changes/
total 0
-rw-r--r--@ 1 krodriguez  wheel  0 Feb  2 12:04 +a.change.md
-rw-r--r--@ 1 krodriguez  wheel  0 Feb  2 12:05 +b.change.md
-rw-r--r--@ 1 krodriguez  wheel  0 Feb  2 12:05 1234.change.md
-rw-r--r--@ 1 krodriguez  wheel  0 Feb  2 12:05 5546.change.md

as an example, you can ls so the next is +c.{change_type}.md

Copy link
Contributor Author

@jrcain-usgs jrcain-usgs Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't recommend +a, +b ... +aa, +ab, +ac... alone - a simple ordinal pattern like that could cause merge conflicts.

Earlier I had suggested combining a pattern with your username, that way, there's no conflicts with other people's entries. It would be easy to still accidentally conflict with your own separate PR though.

In this PR, I generated random 6-character hashes for the log entries I converted. That approach prevent conflicts, but doesn't preserve order.

Maybe I should recommend a timestamp? The more precise the timestamp, the less likely the conflict. down to minutes - conflict unlikely, maybe include seconds too just to be safe, like
20260202111504.fix.md

@Kelvinrr
Copy link
Collaborator

Kelvinrr commented Feb 2, 2026

this doesn't need to wait for tests.

@Kelvinrr Kelvinrr merged commit 5e44c2d into DOI-USGS:dev Feb 2, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants