Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changelog entry for v0.13.0 #3425

Merged
merged 18 commits into from
Sep 5, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ authors:
family-names: Wessel
affiliation: University of Hawaiʻi at Mānoa, USA
orcid: https://orcid.org/0000-0001-5708-7336
Comment on lines 76 to 78
Copy link
Member

Choose a reason for hiding this comment

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

Didn't want to bring this up so soon, but since Paul passed away, I'm wondering what the convention was in keeping his name on the citation list? Do we remove his name now, keep his name on for a couple more releases, or remove it after his funding/grants run out? See e.g. https://academia.stackexchange.com/questions/116845/dead-author-ethical-guidelines

Copy link
Member Author

@seisman seisman Sep 5, 2024

Choose a reason for hiding this comment

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

Personally, I prefer to keep Paul's name at least in the period of the funding.

The link you provided only discussed the topic for journal articles, but here it's software and may be slightly different.

Anyway, we should keep this in mind and may need to revisit it later.

Edit: Probably should ask for comments from the GMT steering community. Will do it later.

date-released: 2024-05-01
doi: 10.5281/zenodo.11062720
date-released: 2024-09-05
doi: 10.5281/zenodo.13679420
license: BSD-3-Clause
repository-code: https://github.com/GenericMappingTools/pygmt
type: software
version: 0.12.0
version: 0.13.0
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ research using the following BibTeX:

```
@software{
pygmt_2024_11062720,
pygmt_2024_13679420,
author = {Tian, Dongdong and
Uieda, Leonardo and
Leong, Wei Ji and
Expand All @@ -152,12 +152,12 @@ research using the following BibTeX:
Quinn, Jamie and
Wessel, Paul},
title = {{PyGMT: A Python interface for the Generic Mapping Tools}},
month = may,
month = sep,
year = 2024,
publisher = {Zenodo},
version = {0.12.0},
doi = {10.5281/zenodo.11062720},
url = {https://doi.org/10.5281/zenodo.11062720}
version = {0.13.0},
doi = {10.5281/zenodo.13679420},
url = {https://doi.org/10.5281/zenodo.13679420}
}
```

Expand Down
1 change: 1 addition & 0 deletions doc/_static/version_switch.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
var all_versions = {
'latest': 'latest',
'dev': 'dev',
'v0.13.0': 'v0.13.0',
'v0.12.0': 'v0.12.0',
'v0.11.0': 'v0.11.0',
'v0.10.0': 'v0.10.0',
Expand Down
93 changes: 93 additions & 0 deletions doc/changes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,98 @@
# Changelog

## Release v0.13.0 (2024/09/05)

[![Digital Object Identifier for PyGMT v0.13.0](https://zenodo.org/badge/DOI/10.5281/zenodo.13679420.svg)](https://doi.org/10.5281/zenodo.13679420)

### Highlights

*
seisman marked this conversation as resolved.
Show resolved Hide resolved

### New Features

* Wrap the GMT API function GMT_Read_Data to read data into GMT data containers ([#3324](https://github.com/GenericMappingTools/pygmt/pull/3324))
* Wrap GMT's standard data type GMT_IMAGE for images ([#3338](https://github.com/GenericMappingTools/pygmt/pull/3338))

### Enhancements

* pygmt.x2sys_cross: Refactor to use virtualfiles for output tables [BREAKING CHANGE: Dummy times in 3rd and 4th columns now have np.timedelta64 type] ([#3182](https://github.com/GenericMappingTools/pygmt/pull/3182))
Copy link
Member Author

Choose a reason for hiding this comment

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

Perhaps we should add a separate category for breaking changes?

Copy link
Member

Choose a reason for hiding this comment

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

Would make those changes more / directly visible to users!

Meaning we have to define a new label "breaking changes" and add it to

categories:
- title: 'New Features'
label: 'feature'
- title: 'Enhancements'
label: 'enhancement'
- title: 'Deprecations'
label: 'deprecation'
- title: 'Bug Fixes'
label: 'bug'
- title: 'Documentation'
label: 'documentation'
- title: 'Maintenance'
label: 'maintenance'

Copy link
Member

@weiji14 weiji14 Sep 4, 2024

Choose a reason for hiding this comment

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

Common changelog uses a prefix like **Breaking** or **<subsystem> (breaking):** for highlighting breaking changes, see https://github.com/vweevers/common-changelog?tab=readme-ov-file#244-prefixes. Maybe we could follow that instead of adding a new label/section?

Copy link
Member Author

Choose a reason for hiding this comment

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

Sounds good. Changes in 7d3ac63.

seisman marked this conversation as resolved.
Show resolved Hide resolved
* pygmt.show_versions: Warn about incompatible ghostscript versions ([#3244](https://github.com/GenericMappingTools/pygmt/pull/3244))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* pygmt.datasets.load_*: Add autocompletion support for the 'resolution' parameter ([#3260](https://github.com/GenericMappingTools/pygmt/pull/3260))
* clib.Session: Refactor the `__getitem__` special method to avoid calling API function GMT_Get_Enum repeatedly ([#3261](https://github.com/GenericMappingTools/pygmt/pull/3261))
* Support non-ASCII characters in ISO-8859-x charsets ([#3310](https://github.com/GenericMappingTools/pygmt/pull/3310))
* Refactor to improve the user experience with non-ASCII characters ([#3206](https://github.com/GenericMappingTools/pygmt/pull/3206))

### Deprecations

* clib: Deprecate API function 'Session.virtualfile_from_data', use 'Session.virtualfile_in' instead (will be removed in v0.15.0) ([#3225](https://github.com/GenericMappingTools/pygmt/pull/3225))
* SPEC 0: Set minimum required version to NumPy 1.24+ ([#3286](https://github.com/GenericMappingTools/pygmt/pull/3286))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* Remove the unused pygmt.print_clib_info function ([#3257](https://github.com/GenericMappingTools/pygmt/pull/3257))
* Figure.timestamp: Remove deprecated parameter 'justification', use justify instead (deprecated since v0.11.0) ([#3222](https://github.com/GenericMappingTools/pygmt/pull/3222))

### Bug Fixes

* pygmt.set_display: Fix the bug that `method=None` doesn't reset to the default display method ([#3396](https://github.com/GenericMappingTools/pygmt/pull/3396))
* load_tile_map: Register the rio accessor by importing rioxarray so the returned raster has CRS ([#3323](https://github.com/GenericMappingTools/pygmt/pull/3323))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* load_tile_map: Fix the raster band indexing, should start from 1 ([#3322](https://github.com/GenericMappingTools/pygmt/pull/3322))
* Replace rio.set_crs with rio.write_crs in load_tile_map function ([#3321](https://github.com/GenericMappingTools/pygmt/pull/3321))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* PYGMT_USE_EXTERNAL_DISPLAY should NOT disable image display in Jupyter notebook environment ([#3418](https://github.com/GenericMappingTools/pygmt/pull/3418))

### Documentation

* Updating External Resources: Add tutorial in Portuguese and using PyGMT in Google Colab ([#3360](https://github.com/GenericMappingTools/pygmt/pull/3360))
* Tutorial: Adding a data set on top of a topographic surface via "drapegrid" of "Figure.grdview" ([#3316](https://github.com/GenericMappingTools/pygmt/pull/3316))
* Remove the non-official GMT wrappers from README ([#3413](https://github.com/GenericMappingTools/pygmt/pull/3413))
* GMT-Ghostscript incompatibility: Give recommendations and extend examples ([#3249](https://github.com/GenericMappingTools/pygmt/pull/3249))
* Document the supported 35 standard Postscript fonts in the Technical Reference section ([#3378](https://github.com/GenericMappingTools/pygmt/pull/3378))
* DOC: Add an offboarding access checklist for maintainers ([#3411](https://github.com/GenericMappingTools/pygmt/pull/3411))
* Convert projection table from reStructuredText to Markdown ([#3363](https://github.com/GenericMappingTools/pygmt/pull/3363))
* Add sphinx extension myst-nb to enable writing executable Markdown notebooks ([#3379](https://github.com/GenericMappingTools/pygmt/pull/3379))
* Add a tutorial for typesetting non-ASCII characters ([#3389](https://github.com/GenericMappingTools/pygmt/pull/3389))

### Maintenance

* pygmt.show_versions: Remove _get_gdal_version and create a dictionary for dependency versions ([#3376](https://github.com/GenericMappingTools/pygmt/pull/3376))
* pygmt.grd2cpt & pygmt.makecpt: Simplify the logic for dealing with CPT output ([#3334](https://github.com/GenericMappingTools/pygmt/pull/3334))
* geopandas: Use io.StringIO to read geojson data and handle compatibility with geopandas v0.x and v1.x ([#3247](https://github.com/GenericMappingTools/pygmt/pull/3247))
* doc: Simplify the "minimum required versions" page using MyST customized URL schemes ([#3383](https://github.com/GenericMappingTools/pygmt/pull/3383))
* build_arg_list: Raise an exception if an invalid output file name is given ([#3336](https://github.com/GenericMappingTools/pygmt/pull/3336))
* Update the onboarding access checklist in Maintainers Guides ([#3404](https://github.com/GenericMappingTools/pygmt/pull/3404))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* Temporarily pin sphinx-gallery<0.17.0 ([#3350](https://github.com/GenericMappingTools/pygmt/pull/3350))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* SPEC 0: Bump minimum supported versions to xarray 2022.09 ([#3372](https://github.com/GenericMappingTools/pygmt/pull/3372))
seisman marked this conversation as resolved.
Show resolved Hide resolved
seisman marked this conversation as resolved.
Show resolved Hide resolved
* Run pytest with `--color=yes` to force GitHub Actions logs to have color ([#3330](https://github.com/GenericMappingTools/pygmt/pull/3330))
* Refactor clib to avoid checking GMT version repeatedly and only check once when loading the GMT library ([#3254](https://github.com/GenericMappingTools/pygmt/pull/3254))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* Patch the callback print function to suppress the UnicodeDecodeError ([#3367](https://github.com/GenericMappingTools/pygmt/pull/3367))
* Move Will from Active Maintainers to Distinguished Contributors ([#3388](https://github.com/GenericMappingTools/pygmt/pull/3388))
* Let pygmt.show_versions show GDAL version ([#3364](https://github.com/GenericMappingTools/pygmt/pull/3364))
* Extral resources: Update thumbnail image for "PyGMT HOWTO" ([#3344](https://github.com/GenericMappingTools/pygmt/pull/3344))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* Enable ruff's unspecified-encoding (PLW1514) rule and fix violations ([#3319](https://github.com/GenericMappingTools/pygmt/pull/3319))
* Enable ruff's literal-membership (PLR6201) rule and fix violations ([#3317](https://github.com/GenericMappingTools/pygmt/pull/3317))
* Determine the minimum required versions of dependencies from package metadata for docs ([#3380](https://github.com/GenericMappingTools/pygmt/pull/3380))
* CI: Use OIDC token for codecov uploading ([#3163](https://github.com/GenericMappingTools/pygmt/pull/3163))
* CI: Test NumPy 2.1 in the GMT Tests workflow ([#3401](https://github.com/GenericMappingTools/pygmt/pull/3401))
* CI: Test NumPy 2.0 in the GMT Tests workflow ([#3292](https://github.com/GenericMappingTools/pygmt/pull/3292))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* CI: Set GMT_ENABLE_OPENMP to TRUE to enable OpenMP support on macOS ([#3266](https://github.com/GenericMappingTools/pygmt/pull/3266))
* CI: Remove pytest-xdist and pytest-rerunfailures options from addopts and only add them in CI jobs ([#3267](https://github.com/GenericMappingTools/pygmt/pull/3267))
* CI: Fix the name of the 'build' package to 'python-build' on conda-forge ([#3408](https://github.com/GenericMappingTools/pygmt/pull/3408))
* CI: Bump to ubuntu-24.04 and mambaforge-23.11 in ReadTheDocs ([#3296](https://github.com/GenericMappingTools/pygmt/pull/3296))
* CI: Build GMT dev source code with OpenMP enabled on Linux and GThreads enabled on Linux/macOS ([#3011](https://github.com/GenericMappingTools/pygmt/pull/3011))
* CI: Add pytest plugins pytest-xdist and pytest-rerunfailures ([#3193](https://github.com/GenericMappingTools/pygmt/pull/3193))
* Add pre-commit.ci configurations to enable auto updates of hooks ([#3414](https://github.com/GenericMappingTools/pygmt/pull/3414))
* Add pre-commit config with pre-commit-hooks ([#3283](https://github.com/GenericMappingTools/pygmt/pull/3283))
seisman marked this conversation as resolved.
Show resolved Hide resolved
* Add a test to make sure PyGMT works with paths that contain non-ASCII characters ([#3280](https://github.com/GenericMappingTools/pygmt/pull/3280))

**Full Changelog**: <https://github.com/GenericMappingTools/pygmt/compare/v0.12.0...v0.13.0>

### Contributors

* [Dongdong Tian](https://github.com/seisman)
* [Yvonne Fröhlich](https://github.com/yvonnefroehlich)
* [Wei Ji Leong](https://github.com/weiji14)
* [Michael Grund](https://github.com/michaelgrund)
* [Andre L. Belem](https://github.com/andrebelem)

---

## Release v0.12.0 (2024/05/01)

[![Digital Object Identifier for PyGMT v0.12.0](https://zenodo.org/badge/DOI/10.5281/zenodo.11062720.svg)](https://doi.org/10.5281/zenodo.11062720)
Expand Down
1 change: 1 addition & 0 deletions doc/minversions.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ after their initial release.
| PyGMT Version | GMT | Python | NumPy | Pandas | Xarray |
|---|---|---|---|---|---|
| [Dev][]* [<doc:dev>] | {{ requires.gmt }} | {{ requires.python }} | {{ requires.numpy }} | {{ requires.pandas }} | {{ requires.xarray }} |
| <tag:v0.13.0> [<doc:v0.13.0>] | >=6.3.0 | >=3.10 | >=1.24 | >=1.5 | >=2022.09 |
| <tag:v0.12.0> [<doc:v0.12.0>] | >=6.3.0 | >=3.10 | >=1.23 | >=1.5 | >=2022.06 |
| <tag:v0.11.0> [<doc:v0.11.0>] | >=6.3.0 | >=3.9 | >=1.23 | | |
| <tag:v0.10.0> [<doc:v0.10.0>] | >=6.3.0 | >=3.9 | >=1.22 | | |
Expand Down