# [PyGMT v0.4.0 released](https://forum.generic-mapping-tools.org/t/pygmt-v0-4-0-released) **Announcing [PyGMT v0.4.0](https://github.com/GenericMappingTools/pygmt/releases/tag/v0.4.0), covering 10 new PyGMT functions and methods!** The PyGMT team is pleased to present version [v0.4.0](https://www.pygmt.org/v0.4.0), a release with 6 new gallery examples, 2 new tutorials, an improved contributors guide, numerous bug fixes, and much more! The highlights for this release include: * Added tutorials for plotting datetime data ([#1193](https://github.com/GenericMappingTools/pygmt/pull/1193)) and vectors ([#1070](https://github.com/GenericMappingTools/pygmt/pull/1070)) * Support tab auto-completion in Jupyter ([#1282](https://github.com/GenericMappingTools/pygmt/pull/1282)) * Minimum required GMT version is now 6.2.0 or newer ([#1321](https://github.com/GenericMappingTools/pygmt/pull/1321)) The full list of changes can be found in the [changelog](https://www.pygmt.org/v0.4.0/changes.html#release-v0-4-0-2021-06-20). Installation/Upgrade instructions can be found at https://www.pygmt.org/v0.4.0/install.html, or you can try it online first at [try-gmt](https://github.com/GenericMappingTools/try-gmt)! A big shout out to [@noorbuchi](https://github.com/noorbuchi), [@cklima616](https://github.com/cklima616), [@munzekm](https://github.com/munzekm), and [@Nathandloria](https://github.com/Nathandloria) from Allegheny College for making two cool tutorials for [plotting datetime data](https://www.pygmt.org/v0.4.0/tutorials/date_time_charts.html) and [vectors](https://www.pygmt.org/v0.4.0/tutorials/vectors.html). Cheers to [@eemcmullan](https://github.com/eemcmullan) for adding examples for the three oblique mercator projections ([1](https://www.pygmt.org/v0.4.0/projections/cyl/cyl_oblique_mercator_1.html), [2](https://www.pygmt.org/v0.4.0/projections/cyl/cyl_oblique_mercator_2.html), and [3](https://www.pygmt.org/v0.4.0/projections/cyl/cyl_oblique_mercator_3.html)). Thank you also to [@itsabhianant](https://github.com/itsabhianant), [@MichaeINeumann](https://github.com/MichaeINeumann), [@xdshivani](https://github.com/xdshivani), [@alperen-kilic](https://github.com/alperen-kilic), [@Lawqup](https://github.com/Lawqup), [@mdtanker](https://github.com/mdtanker), [@shahid-0](https://github.com/shahid-0), and [@vitorgt]([https://github.com/aliciaha1997](https://github.com/vitorgt)) for some improvements and quick fixes to our documentation; we appreciate all contributions be it big or small and welcome new contributors to PyGMT :smile:! [![Gallery in PyGMT v0.4.0](https://i.imgur.com/ysZbznJ.png)](https://www.pygmt.org/v0.4.0/gallery/index.html) ### :sparkles: New Features One thing we sneaked in is support for plotting :globe_with_meridians: [geopandas Data Structures](https://geopandas.readthedocs.io/en/latest/docs/user_guide/data_structures.html#data-structures) (e.g. a [geopandas.GeoDataFrame](https://geopandas.readthedocs.io/en/latest/docs/user_guide/data_structures.html#geodataframe)) directly with PyGMT, though this is not well documented yet (but see [#608](https://github.com/GenericMappingTools/pygmt/issues/608)). Other than that, there are plenty of new functions this time around such as: - [blockmean](https://www.pygmt.org/v0.4.0/api/generated/pygmt.blockmean.html) for block averaging data tables by @meghanj - [rose](https://www.pygmt.org/v0.4.0/api/generated/pygmt.Figure.rose.html) for plotting [polar histogram and windrose diagrams](https://www.pygmt.org/dev/gallery/histograms/rose.html#sphx-glr-gallery-histograms-rose-py) by [@michaelgrund](https://github.com/michaelgrund) - [velo](https://www.pygmt.org/v0.4.0/api/generated/pygmt.Figure.velo.html) for plotting [velocity arrows and confidence ellipses](https://www.pygmt.org/v0.4.0/gallery/seismology/velo_arrow_ellipse.html) by [@lhoupert](https://github.com/lhoupert) - [wiggle](https://www.pygmt.org/v0.4.0/api/generated/pygmt.Figure.wiggle.html) for plotting [anomalies along tracks](https://www.pygmt.org/v0.4.0/gallery/lines/wiggle.html) by @core-man - Several grd* functions by @willschlitzer! All of this wouldn't be possible without our great crew of PyGMT developers :man_technologist::woman_technologist: - @seisman, @weiji14, [@michaelgrund](https://github.com/michaelgrund), @meghanj, @willschlitzer, and @core-man. Also a big thank you to @pwessel and the core GMT team for fixing bugs :bug: and pushing out the [GMT 6.2.0 release](https://forum.generic-mapping-tools.org/t/gmt-6-2-0-released/1757)! ### :railway_track: Roadmap to [v0.5.0](https://github.com/GenericMappingTools/pygmt/milestone/8) For the next minor release, here are some things we have planned (many of which we need help with!): - :globe_with_meridians: + :snake: [Design a fresh new PyGMT logo!](https://forum.generic-mapping-tools.org/t/design-for-pygmt-logo/1346) - Integration with ObsPy :snake: to process seismological data ([#967](https://github.com/GenericMappingTools/pygmt/issues/967)) - 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)) - More features/enhancements :sparkles:: - Allow passing in a list/array of angle/font/justify values to text ([#483](https://github.com/GenericMappingTools/pygmt/issues/483)) - Wrap more GMT modules, e.g., xyz2grd ([#636](https://github.com/GenericMappingTools/pygmt/pull/636)) and triangulate ([#731](https://github.com/GenericMappingTools/pygmt/pull/731)) - Add `Figure.hlines()` and `Figure.vlines()` for plotting horizontal and vertical lines ([#670](https://github.com/GenericMappingTools/pygmt/issues/670)) ### :warning: Upcoming deprecations No one likes software that breaks. To ensure a bug-free product and consistency, these are some of the deprecations coming up for future releases of PyGMT: - v0.5.0 - [NEP29](https://numpy.org/neps/nep-0029-deprecation_policy.html#support-table): drop support for NumPy 1.17 so that NumPy 1.18 or above is required - v0.6.0 - Aliases "columns" and "sizes" are replaced by "incols" and "size" respectively (a FutureWarning is raised in PyGMT v0.4.0) - v1.0.0 (?) - Short form aliases (e.g. 'R') will not work if long form aliases (e.g. 'region') are available (a SyntaxWarning is raised in PyGMT v0.4.0, see [#1316](https://github.com/GenericMappingTools/pygmt/pull/1316)) The compatibility matrix will be listed on https://www.pygmt.org/v0.4.0/#compatibility-with-python-and-gmt-versions, so make sure you keep things up to date! ### :world_map: Community events We're doing a few outreach events in the second half of the year, and welcome people to take part! - :snake: [PyGMT Sprint at SciPy 2021](https://www.scipy2021.scipy.org/sprints) (17-18 Jul 2021) - the sprint proposal has been submitted and we welcome people to get involved during the sprint and with creating good issues in the next few weeks - :two_women_holding_hands: [Earth Science Women's Network Developer workshop](https://eswnonline.org/29375-2) (17-19 Aug 2021) - registrations has closed, and further announcements will be made in early July. - :earth_americas: [AGU 2021 sessions](https://forum.generic-mapping-tools.org/t/agu-2021-abstract-s/1803) (13-17 Dec 2021), abstracts due 4 Aug 2021! If you have time, feel free to reach out to the PyGMT team during those events! We have quarterly PyGMT community meetings (see the last one in [mid June 2021](https://forum.generic-mapping-tools.org/t/pygmt-community-zoom-meeting-tuesday-15-june-2021-utc-1700)), and are active on this [forum](https://forum.generic-mapping-tools.org/c/questions/pygmt-q-a) and [GitHub](https://github.com/GenericMappingTools/pygmt) too. That's all for now :smile: Enjoy :partying_face: **P.S.** Feel free to share the word on twitter :bird:, #PyGMT [@gmt_dev](https://twitter.com/gmt_dev)!