picongpu
picongpu copied to clipboard
New version of propose_changelog.py
As requested by @psychocoderHPC, here's a quick rewrite of propose_changelog.py. One matter of taste might be that I have chosen to depend on pyyaml for the pretty printing of nested dictionaries. That is technically not necessary but I really don't care for writing all the formatting by hand. This comes with the tiny drawback that all the strings containing # are surrounded by single quotes. Theoretically, the formatting can be adjusted arbitrarily by writing custom dumpers but then again, we would be back at writing custom formatting code.
Output at the time of writing
Output
Bug Fixes:
PIC:
- 'fix Gaussian and Dispersive pulse #4889'
PMacc:
- 'fix `atomicAllInc()` #4825'
- 'avoid using uninitialized `pmacc::memory::Array` #4789'
other:
- 'Correct spack options for boost #4780'
- 'fix potential deadlock #4755'
plugins: []
tools:
- 'fix slow tbg substitution #4905'
- 'fix growth rate and charge conservation test tools #4834'
Documentation:
PIC:
- 'replace cupla fully by alpaka #4838'
PMacc:
- 'replace cupla fully by alpaka #4838'
other:
- 'Correct spack options for boost #4780'
- 'RISC-V support #4712'
plugins:
- 'Add shadowgraphy plugin #4868'
- 'remove deactivation of ISAAC with HIP #4821'
- 'change class and function names in radPlugin to camelCase #4734'
- 'add calorimeter python module #4697'
tools:
- 'Pre-commit #4792'
- 'Remove hemera k80 and k20 partition #4779'
- 'add calorimeter python module #4697'
Features:
PIC:
- 'Add feature `--dump-metadata` #4812'
- 'PIConGPU unit tests #4723'
- 'add CKC Solver #4661'
PMacc:
- 'Add PMacc example - Solving the 2D HeatEquation #4767'
other:
- 'RISC-V support #4712'
- 'Make fieldAbsorberTest a test for the CI #4682'
- 'Add CurrentDeposition test #4557'
plugins:
- 'Add shadowgraphy plugin #4868'
- 'remove deactivation of ISAAC with HIP #4821'
- 'Implement checkpoint and restart capability to the binning plugin #4766'
- 'change class and function names in radPlugin to camelCase #4734'
- 'add calorimeter python module #4697'
- 'change radiation plugin python module to openPMD-api #4680'
tools:
- 'Remove hemera k80 and k20 partition #4779'
- 'add Snakemake workflow example #4774'
- 'add calorimeter python module #4697'
- 'change radiation plugin python module to openPMD-api #4680'
Refactoring:
PIC:
- 'replace cupla fully by alpaka #4838'
- 'optimize collision #4828'
- 'move PMacc and PIConGPU fully to alpaka #4820'
- 'Topic remove preprocessor struct generator #4750'
- 'refactor to make superCellSize and frameSize independant #4685'
- 'refactor particle init kernel #4681'
- 'Add an optional time delay for incident field pulses #4651'
PMacc:
- 'rename `getDataSpace` to `capacityND` #4851'
- 'refactor lockstep programming model #4840'
- 'replace cupla fully by alpaka #4838'
- 'move PMacc and PIConGPU fully to alpaka #4820'
- 'Topic remove preprocessor struct generator #4750'
- 'remove accessor from `math::Vector<>` #4746'
- 'Get supercell index relative to user defined origin #4731'
- 'remove `atomicAddNoRet()` #4722'
- 'refactor DataSpaceOperations #4719'
other:
- 'remove CONST_VECTOR from OnePositionParameter #4875'
plugins:
- 'optimize OpenPMD IO #4882'
- 'openPMD: add parameter `particleIOChunkSize` #4874'
- 'Bump openPMD-api to minimal version 0.15 #4782'
- 'simplify output structure colorimeter plugin #4695'
tools:
- 'Pre-commit #4792'
User Input Changes:
- 'remove CONST_VECTOR from OnePositionParameter #4875'
- 'Topic remove preprocessor struct generator #4750'
- 'change class and function names in radPlugin to camelCase #4734'
- 'refactor to make superCellSize and frameSize independant #4685'
As the CI does something weird currently and @psychocoderHPC will most likely be the main user of this, we'll wait for your approval for this.
@chillenzer Can we automatically run a short regex over the output to remove ' if we have it as last and first letter?
Hi, I've gone the simple route of just removing all quotes. I would argue that the changelog will experience minor human adjustment anyways, so adding a single pair of missing quotes every few releases won't hurt that much.