Version 1.21 November 2017
* Maintainer's release : internal matrix/vectors memory management
replaced with a new implementation using C++11 move constructor and
move asignment syntax.
packaging change: Depend on GNU make (not documented upstream).
Upstream changes:
* New test suite for matvec classes and support for valgrind memory
leak tests for tests/matvec and tests/gama-local.
This release is a preperation phase for the next release in which
the base matvec memory handling class (MemRep) will reimplemented
with C++11 move constructor and move assignemnt operator.
Upstream changes:
1.1.0: (doi: 10.5281/zenodo.165135)
- General:
* Read support for Guralp Compressed Format (GCF) waveform data,
obspy.io.gcf (see #1449)
* Read support for Reftek 130 (rt130) waveform data,
obspy.io.reftek (see #1433)
* Add Nordic format (s-file) read/write (see #1517)
* Read and write support for events in the SCARDEC catlogue format
(see #1391).
* Read support for IASPEI ISF ISM 1.0 Bulletin event data,
(see #1946)
* Write support for AH (Ad Hoc version 1) format (see #1754)
* Client to access the Nominal Response Library (NRL) (see #1185).
* `obspy.read_inventory()` can now read dataless SEED and RESP files
(see #1185).
* change version number scheme for scenarios when no official version number
can be determined (see #1889 and #1916)
* Support for the IRIS Federator and EIDAWS FDSNWS web routing services
(see #1779 and #1919).
- obspy.core:
* UTCDateTime is now based on nanoseconds (long) instead of a unix
timestamp in microseconds (float) - resulting in higher precision and
support for years 1-9999 (see #1325)
* Ensure that Trace.data is always C-contiguous in memory (see #1732)
* Event/ResourceIdentifier is now object aware, meaning even if two
objects share a resource_id the distinct objects will be returned with
the get_referred_object method provided both are still in scope. If one
of the objects gets garbage collected, however, a warning will be issued
and the behavior will be the same as before (see #1644).
* Better error message when attempting to write invalid QuakeML resource
ids (see #1699).
* Stream/Trace.write() can now autodetect file format from file extension
(see #1321).
* New convenience property `.matplotlib_date` for `UTCDateTime` objects to
get matplotlib datetime float representation (which can be used in
time-based matplotlib axes, e.g. by Stream.plot(); see #1339).
* Trace.times() has new options `type` and `reftime` to support fetching an
array of sampletimes in various different timing varieties ("relative":
the old default, float relative to trace starttime or `reftime` in
seconds; "utcdatetime": absolute times as UTCDateTime objects;
"timestamp": array of float POSIX timestamps, compare
`UTCDateTime.timestamp`; "matplotlib": array of float matplotlib dates,
useful for plotting on matplotlib time axes; see #1307)
* A trace's stats.network/station/location/channel can now also be set in
one line using a SEED ID string (e.g. `trace.id = "GR.FUR..HHZ"`,
see #1439).
* Instrument correction for response list stages originating from inventory
objects (see #1514).
* `Stream.rotate(...)` can now also be used to rotate unaligned channels to
Z-N-E, given an Inventory (see #1310)
* Non finite floats (NaN, inf, -inf) can now no longer be set for all
event objects (see #1597).
* Instrument responses can now also be calculated for a given list of
frequencies (see #1598).
* Order of extra tags for event type classes serialized to QuakeML can now
be controlled by using an OrderedDict (see #1617)
* Bode plots can now optionally plot the phase in degrees (see #1763).
* `Stream.select()` now also works on the component level if channels only
have one letter (see #1847).
* Now strips all invalid characters from the temporary filenames used for
downloading data using the `read_X()` methods (see #1958).
- obspy.clients.earthworm:
* Much faster trace unpacking (see #1762).
- obspy.clients.fdsn:
* empty SEED codes (e.g. ``network=''``) will now be properly sent to the
server as options and not omitted, which led to wildcard matching (for
details see #1578)
* The mass downloader now has `exclude_networks` and `exclude_stations`
arguments to not download certain pieces of data. (see #1305)
* The mass downloader can now download stations that are part of a given
inventory object.
* The mass downloader now also works with restricted data. (See #1350)
* No data (HTTP 204) responses now raise `FDSNNoDataException` rather than
the more general `FDSNException`.
* Fixing cross implementation of bulk waveform and station requests (see
#1685).
* Adding mappings for the TEXNET (see #1852) and the ICGC (see #1902)
services.
* Support for the non-standard EIDA token authentication (see #1928).
- obspy.imaging:
* The functionality behind the `obspy-scan` command line script has been
refactored into a `Scanner` class so that it can be reused in custom
workflows. (see #1444)
- obspy.imaging.cm:
* new colormap: viridis_white. This is a modification of viridis that
goes to white instead of yellow but remains perceptually uniform. It
is especially useful for printing when an image should merge with the
white background.
- obspy.imaging.waveform:
* Support for filling the wiggles when plotting sections (horizontal and
vertical, see #1445).
- obspy.io.arclink:
* Read support for Arclink Inventory XML (see #1539)
* default for `route` parameter in metadata requests is changed to `False`
(see #1756)
- obspy.io.ascii:
* Custom formatting of sample values when writing SLIST and TSPAIR.
- obspy.io.datamark:
* Renamed without deprectation to obspy.io.win to match its original name.
Datamark is a datalogger, saving the WIN format.
- obspy.io.gse2:
* Read support for GSE2.0 bulletin (see #1528)
- obspy.io.nlloc:
* Also parse author information and COMMENT line (see #1484)
* Fix reading hypocenter files created by NonLinLoc versions of the 6.0.x
beta branch (see #1760 and #1783)
- obspy.io.quakeml:
* Read and write support for nested custom tags (see #1463)
* Fix some minor bugs that could lead to empty stub elements, e.g. like
empty MomentTensor when reading and later writing again a QuakeML file
with a FocalMechanism but no MomentTensor, potentially resulting in
QuakeML files that breach the QuakeML schema (see #1896)
- obspy.io.seiscomp:
* Read and write support for SC3ML event (see #1638 and #1848)
* Fix bug where files with arbitrary publicIDs and files with missing
depth, latitude, longitude, or elevation tags could not be read
(see #1817)
- obspy.io.stationtxt:
* Write support for stationtxt format (see #1466)
- obspy.io.stationxml:
* Read and write support for custom tags (see #1024)
* No longer add the (unused) time zone field to StationXML datetimes to
follow the example of big data centers. (see #1572)
* Level of detail can be specified during inventory write (see #1830)
using the level keyword (one of: network, station, channel, response).
* Skip empty and incomplete channels during reading (see #1839, #1840).
- obspy.io.segy:
* Fixing an issue when comparing two still packed SEG-Y trace headers
(see #1735).
* Iterative reading of large SEG-Y and SU files with
`obspy.io.segy.segy.iread_segy` and `obspy.io.segy.segy.iread_su`.
(see #1400).
* Write correct revision number (see #1737).
* Textual headers will now always contain the file revision number and the
end header mark if nothing else exists at these positions (see #1738).
* The SEG-Y format detection now also checks the format version number
(see #1781).
* Enable reading SEG-Y files that have day of year 0 in trace header
(see #1722).
* Write textual file headers also if given as a text string
(see #1811, #1813).
- obspy.io.css:
* Read support for NNSA KB Core format waveform data. (see #1332)
- obspy.io.mseed:
* New generic get_flags() utility function able to retrieve statistics
about all fixed header flags and the timing quality. This makes the
get_timing_and_data_quality() function obsolete which is thus
deprecated and will be removed with the next release. The get_flags()
function is also much faster. (see #1141)
* Always hook up the libmseed logging to its Python counterpart to avoid
some rare segfaults. (see #1658)
* Update to libmseed v2.19.5 (see #1703, #1780, #1939).
* Correctly read MiniSEED files with a data offset of 48 bytes (see #1540).
* InternalMSEEDReadingError now called InternalMSEEDError and
InternalMSEEDReadingWarning now called InternalMSEEDWarning as both
can now also be raised in non-reading contexts (see #1658).
* Should no-longer segfault with arbitrarily truncated files (see #1728).
* Will now raise an exception when attempting to directly read mini-SEED
files larger than 2048 MiB (#1746).
* `.stats.mseed` attributes are no longer per-file but per-trace where
applicable (see #1782).
* `get_record_information()` - Don't fail if the word order is invalid.
- obspy.io.nlloc:
* Set preferred origin of event (see #1570)
- obspy.io.nordic:
* Add Nordic format (s-file) read/write (see #1517)
- obspy.io.win:
* see obspy.io.datamark.
- obspy.io.xseed:
* Added azimuth and dip to the get_coordinates() function. (see #1315)
* Fixing some issues with the get_resp() output on Python 3 (see #1748).
* Can now also parse RESP files (see #1185).
* Can transform responses in the Parser object to ObsPy Inventory objects
(see #1185).
- obspy.scripts:
* obspy-scan command line script now also plots and prints overlaps
alongside gaps (see #1366)
* obspy-plot now has option to disable min/max plot (see #1583)
- obspy.signal:
* fixed a bug in calibration.rel_calib_stack (resulting amplitude response
had wrong scaling if using non-default "overlap_fraction", see #1821)
* fixed a bug in coincidence_trigger() with event templates. when a template
with mismatching SEED ID was encountered all following (potentially valid)
templates were skipped as well (see #1850)
* New obspy.signal.quality_control module to compute quality metrics from
MiniSEED files. (see #1141)
* New correlate function for calculating the cross-correlation function
(new implementation based on Scipy).
To calculate the shift of the maximum of the cross correlation use
xcorr_max. The old xcorr function is deprecated but currently still
exists (see #1585).
* New obspy.signal.regression module to compute linear regressions, with or
without weights, with or without allowing for an intercept. (see #1716,
#1747)
* add new plotting capabilities to PPSD (temporal variations per frequency
and spectrogram-like plot) and also make underlying processed PSDs
available via `PPSD.psd_values` property (see #1327)
* Fixed bug in `rotate2zne()` for non-orthogonal configurations
(see #1913, #1927).
* Fixed build warnings in evalresp, partially backported from evalresp
4.0.6 (see #1939).
- obspy.taup:
* Add obspy.taup.taup_geo.calc_dist_azi, a function to return the distance,
azimuth and backazimuth for a source - receiver pair. (see #1538)
* Fixing calculations through very small regional models. (see #1761)
* Updated ray path plot method, added travel time plot method, and wrapper
functions for both ray path and travel time plotting. (see #1501, #1877)
Release 0.94.0, a new stable branch
This is the last release which will support old-style
multipolygons.
Upgrading to this version requires a reimport for the slim
table changes.
Major changes since 0.92.0 are
- Coordinates are now stored unprojected in slim tables, and an
osmium dense file array is used for flat nodes. This dense
file array can be read by other libosmium-based programs.
- Libosmium is used for geometry building instead of GEOS
This offers speed increases, improves code, and avoids relying
on a large library for a small portion of its functionality.
Other changes are
- Tile expiry has been rewritten, fixing bugs, including one
that dropped large portions of expiry lists.
- Node tags are no longer stored in slim tables, consistent with
flat-nodes. THis reduces space required for --slim imports
without --flat-nodes.
- A default database name of gis is no longer assumed. An
explicit -d option is recommended if compatibility with 0.92
and earlier.
Version 1.19 June 2017
* fixed a bug introduced in 1.16, reported by Pierre Bosser
<pierre.bosser@ensta-bretagne.fr>. Implicit value of
covariance band in XML adjustment output is -1 (full
bandwidth).
- Added encodeLatLonToSelectedMapcode as a convenience for languages
that use the C library, but have difficulties dealing with
multi-dimensional arrays (like Swift).
Changes in 3.6.2
2017-07-25
- Bug fixes / improvements
- Fix exception in UnaryUnion of collection of touching polygons (#837)
- Allow building against python 3 (#774)
- Fix build with android-ndk and other compilers (#799)
- Allows compiling with -Wpointer-bool-conversion (#638)
- Fix unhandled exception on invalid fp operation (#811)
- Fix overloaded virtual print in DirectedEdge* (#812)
- AppVeyor CI build added (#813)
- Clean up numerous MSVC warnings, notably C4275 and C4589 (#814)
- Bump CMake version to 3.0.0 (#817)
- Fix leaks in WKT parser (#830)
Changes in 3.6.1
2016-12-24
- Bug fixes / improvements
- Fix GEOSSTRtree_nearest_r signature and add implementation (#796)
- Fix --static-clibs and --static-cclibs returns from geos-config
- Fix WKB representation of empty polygon (#680).
- Fix empty GEOSSimplify return on inner ring collapse (#741)
Changes in 3.6.0
2016-10-25
- Important / Breaking Changes:
- The PHP binding moved to its own repository:
http://git.osgeo.org/gogs/geos/php-geos (#765)
- New things:
- CAPI: GEOSGeom_{get,set}UserData (Rashad Kanavath)
- CAPI: GEOSGeom_{set,get}Precision (#713)
- CAPI: GEOSMinimumRotatedRectangle and GEOSMinimumWidth
(#729, Nyall Dawson)
- CAPI: GEOSSTRtree_nearest (#768, Dan Baston)
- CAPI: GEOSMinimumClearance and GEOSMinimumClearanceLine
(#776, Dan Baston)
- C++ API changes:
- Automatic memory management for GeometryFactory objects
gama now requires c++11. It's likely that 1.18 did also, but that
this was less obvious.
Besides items noted in upstream NEWS, two pkgsrc patches were applied
upstream.
Version 1.19 June 2017
* fixed a bug introduced in 1.16, reported by Pierre Bosser
<pierre.bosser@ensta-bretagne.fr>. Implicit value of
covariance band in XML adjustment output is -1 (full
bandwidth).
For some reason ocpnDC::DrawEllipse is miscompiled on NetBSD 8.0_BETA earmv7hf:
for the tail call to dc->DrawEllipse() the compiler emits a bx instruction,
but forgets to load the address of the function in the register.
Add a memory barrier to works around this problem by avoiding the tail-call
optimisation.
Other similar functions in this file are properly compiled ...
Bump PKGREVISION
17.5.14:
Update to iso-codes 3.75, which fixes 13389 again. (bad parent codes for GB).
Switch from building on drone.io (discontinued service) to bitbucket’s Pipelines.
Update pytest dependencies to get rid of API warnings.
17.01.08:
Update to iso-codes 3.73, which fixes 13389 (bad parent codes for CZ).
17.01.02:
Return empty lists from the subdivision database if the country exists but does not have any subdivisions. Fixes 13374.
Some typo fixes. Thanks to @VictorMireyev.
Update to iso-codes-3.72.
The reason is that a plugin may include its private version of some
code that opencpn also has in its source. Without -Bsymbolic the plugin
may use the objects from opencpn instead of its version, and which do
not match the includes it was compiled with, and bad things happens.
bump PKGREVISIONs
As a successor to OpenCPN Version 4.6.1, OpenCPN Version 4.8.0 contains several
incremental corrections and improvements.
Among them are:
- Expanded integrated vector graphics icon set for improved rendering of waypoints and routes.
Upstream changes:
2.64 2017-04-23
- Update some POD
- No functional changes from 2.63_001 dev release
2.63_001 2017-04-17
- Add no_cache option to new method following
discussion at http://www.perlmonks.org/?node_id=1188065
2.62 2017-01-08
- Add rlib to TEST_REQUIRES in Makefile.PL to avoid some
cygwin test failures
Updated print/tex-paralist{,-doc} to 2.7
Updated print/tex-pdfpages{,-doc} to 0.5h
Updated print/tex-plain to 3.141592653.43076
Updated print/tex-platex{,-doc} to 2017
Updated print/tex-polski{,-doc} to 1.3.4
Updated print/tex-preview{,-doc} to 11.90
Updated print/tex-program{,-doc} to 3.3.14
Updated graphics/tex-pst-3dplot{,-doc} to 2.04
Updated graphics/tex-pst-barcode{,-doc} to 0.16a
Updated graphics/tex-pst-circ{,-doc} to 2.14
Updated geography/tex-pst-geo{,-doc} to 2.06
Updated graphics/tex-pst-node{,-doc} to 1.39
Updated graphics/tex-pst-pdf{,-doc} to 1.2c
Updated graphics/tex-pst-plot{,-doc} to 1.79
Updated graphics/tex-pst-tools{,-doc} to 0.06
Updated graphics/tex-pst-tree{,-doc} to 1.13
Updated graphics/tex-pstricks{,-doc} to 2.73a
Updated graphics/tex-pstricks-add{,-doc} to 3.83
Updated print/tex-ptex-base{,-doc} to 2017
Updated fonts/tex-ptex-fonts{,-doc} to 2017
Release 0.92.1
This fixes two important bugs which impacted relations with
excessive members and consuming updates with the multi backend
Release 0.92.0, a new stable branch
Major changes since 0.90.0 are
- PostgreSQL 9.1 + PostGIS 2.0 or later are now required, which has
allowed performance improvements and cleanups
- EPSG 3857 is now default. You can get the old behavior by manually
specifying 900913
- Invlid geometries are re-checked for validity after buffering, instead
of assuming GEOS returns a valid geom
Other changes are
- A new option to change the max bbox size at which polygons will expire
all the tiles in them, not just the boundary
- Behavior fixes for C transforms and tables with no columns
- More numeric datatypes are allowed for table columns in C tagtransforms
- Lua is now required by default
- Code fixes, particularly replacement of C memory management