# PyGMT v0.9.0 released **Announcing PyGMT v0.9.0, including integration with contextily to plot nice XYZ tilemap backgrounds!** The PyGMT team is super excited to bring you version [v0.9.0](https://www.pygmt.org/v0.9.0)! Here are the highlights :tada: * Add [`Figure.tilemap`](https://www.pygmt.org/v0.9.0/api/generated/pygmt.Figure.tilemap.html) to plot XYZ tile maps ([#2394](https://github.com/GenericMappingTools/pygmt/pull/2394)) * Add [`pygmt.datasets.load_tile_map`](https://www.pygmt.org/v0.9.0/api/generated/pygmt.datasets.load_tile_map.html) to load raster tile maps using contextily ([#2125](https://github.com/GenericMappingTools/pygmt/pull/2125)) * Eleven new/updated gallery and inline examples Read through the [changelog](https://www.pygmt.org/v0.9.0/changes.html) for the full list of changes. Installation/upgrade :arrow_up: instructions are at https://www.pygmt.org/v0.9.0/install.html! Note that this version is still cross-compatible with GMT 6.3 and 6.4. Go try it online at [try-gmt](https://github.com/GenericMappingTools/try-gmt) :rocket:. Shout out to our new contributor Jing-Hui Tong :clap:! Also thanks to the entire [PyGMT Team](https://www.pygmt.org/v0.9.0/team.html) for making this release possible :tada: . New features: * [`pygmt.datasets.load_earth_mask`](https://www.pygmt.org/v0.9.0/api/generated/pygmt.datasets.load_earth_mask.html): Load the GSHHG Global Earth Mask in various resolutions :world_map: * [`pygmt.Figure.timestamp`](https://www.pygmt.org/v0.9.0/api/generated/pygmt.Figure.tilemap.html): Plot the GMT timestamp logo :clock2: New aliases: * [`pygmt.surface`](https://www.pygmt.org/v0.9.0/api/generated/pygmt.surface.html): `convergence` (`C`), `lower` (`Ll`), `upper` (`Lu`), `maxradius` (`M`), `tension` (`T`) * [`pygmt.Figure.meca`](https://www.pygmt.org/v0.9.0/api/generated/pygmt.Figure.meca.html): `cmap` (`C`), `extensionfill` (`E`), `compressionfill` (`G`), `pen` (`W`) * [`pygmt.Figure.colorbar`](https://www.pygmt.org/v0.9.0/api/generated/pygmt.Figure.colorbar.html): `equalsize` (`L`), `zfile` (`Z`) Feel free to report bugs :beetle: using our [refreshed bug template on GitHub](https://github.com/GenericMappingTools/pygmt/issues/new?assignees=&labels=bug&template=bug_report.yaml), your feedback is what helps us to improve! ### :bulb: New gallery examples - [Calculating grid gradient with custom azimuth and normalize parameters](https://www.pygmt.org/v0.9.0/gallery/images/grdgradient_shading.html) by @JingHuiTong - Using [Bit and Hachure Patterns](https://www.pygmt.org/v0.9.0/gallery/symbols/patterns.html) as fill by @yvonnefroehlich - Creating a [Scatter plot with histograms](https://www.pygmt.org/v0.9.0/gallery/histograms/scatter_and_histograms.html) by @mgrund - Adding a [Timestamp](https://www.pygmt.org/v0.9.0/gallery/embellishments/timestamp.html) to a figure by @mgrund - Extend of the gallery examples [Colorbar](https://www.pygmt.org/v0.9.0/gallery/embellishments/colorbar.htm) and [Focal mechanisms](https://www.pygmt.org/v0.9.0/gallery/seismology/meca.htm) by @yvonnefroehlich - Addition of inline examples for [colorbar](https://www.pygmt.org/v0.9.0/api/generated/pygmt.Figure.colorbar.html), [grdview](https://www.pygmt.org/v0.9.0/api/generated/pygmt.Figure.grdview.html), [load_earth_mask](https://www.pygmt.org/v0.9.0/api/generated/pygmt.datasets.load_earth_mask.html), [load_earth_vertical_gravity_gradient](https://www.pygmt.org/v0.9.0/api/generated/pygmt.datasets.load_earth_vertical_gravity_gradient.html), and [set_display](https://www.pygmt.org/v0.9.0/api/generated/pygmt.set_display.html) by @willschlitzer and @seisman | Calculating grid gradient with custom azimuth and normalize parameters | Bit and Hachure Patterns | Scatter plot with histograms | |--|--|--| | [![Calculating grid gradient with custom azimuth and normalize parameters](https://www.pygmt.org/v0.9.0/_images/sphx_glr_grdgradient_shading_001.png)](https://www.pygmt.org/v0.9.0/gallery/images/grdgradient_shading.html)| [![Bit and Hachure Patterns](https://www.pygmt.org/v0.9.0/_images/sphx_glr_patterns_001.png)](https://www.pygmt.org/v0.9.0/gallery/symbols/patterns.html) | [![Scatter plot with histograms](https://www.pygmt.org/v0.9.0/_images/sphx_glr_scatter_and_histograms_001.png)](https://www.pygmt.org/v0.9.0/gallery/histograms/scatter_and_histograms.html) | Timestamp | Colorbar | Focal mechanisms | |--|--|--| | [![Timestamp](https://www.pygmt.org/v0.9.0/_images/sphx_glr_timestamp_002.png)](https://www.pygmt.org/v0.9.0/gallery/embellishments/timestamp.html) | [![Colorbar](https://www.pygmt.org/v0.9.0/_images/sphx_glr_colorbar_001.png)](https://www.pygmt.org/v0.9.0/gallery/embellishments/colorbar.html) | [![Focal mechanisms](https://www.pygmt.org/v0.9.0/_images/sphx_glr_meca_001.png)](https://www.pygmt.org/v0.9.0/gallery/seismology/meca.html) | ### :railway_track: Roadmap to [v0.10.0](https://github.com/GenericMappingTools/pygmt/milestone/12) What's next? Here are a few in the pipeline, but also check out the [GitHub issues board](https://github.com/GenericMappingTools/pygmt/issues) for more! Use the [good first issue label](https://github.com/GenericMappingTools/pygmt/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) to filter easy ones you can help out with! - Features/enhancements :sparkles: - Wrap [fitcircle](https://github.com/GenericMappingTools/pygmt/pull/1550), [clip](https://github.com/GenericMappingTools/pygmt/pull/1779), [earthtide](https://github.com/GenericMappingTools/pygmt/pull/1824), [movie](https://github.com/GenericMappingTools/pygmt/issues/1347), [polar](https://github.com/GenericMappingTools/pygmt/issues/2358), [sac](https://github.com/GenericMappingTools/pygmt/issues/2358), and [coupe](https://github.com/GenericMappingTools/pygmt/issues/2019) - Add `pygmt.Figure.hlines` ([#923](https://github.com/GenericMappingTools/pygmt/pull/923)) and `pygmt.Figure.vlines` for plotting horizontal and vertical lines ([#670](https://github.com/GenericMappingTools/pygmt/issues/670)) - Documentation improvements :book: - Add a beginner :beginner: friendly PyGMT tutorial that is a good roadmap for new GMT/PyGMT users ([#770](https://github.com/GenericMappingTools/pygmt/issues/770)) - Add a tutorial explaining the generally accepted input types ([#1268](https://github.com/GenericMappingTools/pygmt/issues/1268)) - Add gallery examples for plotting geopandas.GeoDataFrame objects ([#1374](https://github.com/GenericMappingTools/pygmt/issues/1374)) We invite you to get involved in these efforts by [reaching out on GitHub](https://github.com/GenericMappingTools/pygmt) :rocket:! ### :warning: Upcoming deprecations - **v0.10.0** (Jul 2023) - `Figure.text`: Remove parameter `incols`, use `use_word` instead (FutureWarning raised since PyGMT v0.8.0) - [NEP29](https://numpy.org/neps/nep-0029-deprecation_policy.html): Drop support for Python 3.8 so that Python 3.9 or above is required ([#2300](https://github.com/GenericMappingTools/pygmt/issues/2300)) - **v0.12.0** - All plotting methods: Remove aliases `xshift` (`X`) and `yshift` (`Y`) (FutureWarning raised since PyGMT v0.8.0) - `pygmt.Figure.plot`, `pygmt.Figure.plot3d`, `pygmt.Figure.rose`, `pygmt.Figure.velo`: Remove parameter `color`, use `fill` instead (FutureWarning raised since PyGMT v0.8.0) - `pygmt.Figure.wiggle`: Remove parameter `color`, use `fillnegative` or `fillpositive` instead (FutureWarning raised since PyGMT v0.8.0) - **v1.0.0** - Short form aliases (e.g. `R`) will not work if long form aliases (e.g. `region`) are available (SyntaxWarning raised since PyGMT v0.4.0, see [#1316](https://github.com/GenericMappingTools/pygmt/pull/1316)) The compatibility matrix is listed at https://www.pygmt.org/v0.9.0/#compatibility-with-gmt-python-numpy-versions, so make sure you keep things up to date! ### :world_map: Conference presentations/workshops/sprints The only planned engagement so far for 2023 is the addition of a PyGMT section to the annual [GMT for Geodesy Short Course](https://github.com/GenericMappingTools/gmt-for-geodesy), but if anyone is keen to host something for the next [AGU Fall Meeting](https://www.agu.org/fall-meeting) or some other regional conferences, do let us know on the forum and we can add it to the list! Onwards :rocket: **P.S.** Share the word on Twitter [@gmt_dev](https://twitter.com/gmt_dev) :bird: and Instagram [@genericmappingtools](https://www.instagram.com/genericmappingtools/) :camera_with_flash: