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

Nagios plugins breaking in Freebsd 13.1 Release #128

Open
djadk84 opened this issue Feb 11, 2024 · 1 comment
Open

Nagios plugins breaking in Freebsd 13.1 Release #128

djadk84 opened this issue Feb 11, 2024 · 1 comment

Comments

@djadk84
Copy link

djadk84 commented Feb 11, 2024

I'm building pkgsrc in a FreeBSD server but the Nagios plugins keep failing.

cat ../../CVS/Tag 
Tpkgsrc-2023Q4
net/nagios-plugins
# uname -a
FreeBSD server1 13.2-RELEASE FreeBSD 13.2-RELEASE releng/13.2-n254617-525ecfdad597 GENERIC amd64
# cat /etc/os-release 
NAME=FreeBSD
VERSION="13.2-RELEASE"
VERSION_ID="13.2"
ID=freebsd
ANSI_COLOR="0;31"
PRETTY_NAME="FreeBSD 13.2-RELEASE"
CPE_NAME="cpe:/o:freebsd:freebsd:13.2"
HOME_URL="https://FreeBSD.org/"
BUG_REPORT_URL="https://bugs.FreeBSD.org/"
5 warnings generated.
mv -f .deps/check_http.Tpo .deps/check_http.Po
/bin/sh ../libtool  --tag=CC   --mode=link clang -DNP_VERSION='""' -O2 -I/usr/include -I/usr/pkg/include  -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L. -o check_http check_http.o libnpcommon.a ../lib/libnagiosplug.a ../gl/libgnu.a -lssl -lcrypto libnpcommon.a ../lib/libnagiosplug.a ../gl/libgnu.a -lssl -lcrypto   -L/usr/pkg/lib -lintl -L/usr/pkg/lib -liconv -R/usr/pkg/lib -lpthread -ldl 
libtool: link: clang -DNP_VERSION=\"\" -O2 -I/usr/include -I/usr/pkg/include -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -o check_http check_http.o  -L/usr/lib -L/usr/pkg/lib -L. libnpcommon.a ../lib/libnagiosplug.a ../gl/libgnu.a -lssl -lcrypto /usr/pkg/lib/libintl.so /usr/pkg/lib/libiconv.so -lpthread -ldl -Wl,-rpath -Wl,/usr/pkg/lib -Wl,-rpath -Wl,/usr/pkg/lib
clang -DLOCALEDIR=\"/usr/pkg/share/nagios/locale\" -DHAVE_CONFIG_H -I. -I..  -I.. -I../lib -I../gl -I../intl -I/usr/include -I/usr/include -I/usr/pkg/include -D_THREAD_SAFE -DNP_VERSION='""' -O2 -I/usr/include -I/usr/pkg/include -MT check_load.o -MD -MP -MF .deps/check_load.Tpo -c -o check_load.o check_load.c
In file included from check_load.c:36:
In file included from ./runcmd.h:29:
In file included from ./utils.h:17:
In file included from ../lib/utils_base.h:5:
In file included from ../gl/sha1.h:37:
../gl/gl_openssl.h:79:10: warning: 'SHA1_Init' is deprecated [-Wdeprecated-declarations]
{ (void) OPENSSL_FN (_Init) ((_gl_CTX *) ctx); }
         ^
../gl/gl_openssl.h:74:28: note: expanded from macro 'OPENSSL_FN'
#define OPENSSL_FN(suffix) _GLCRYPTO_CONCAT (_GLCRYPTO_PREFIX, suffix)
                           ^
../gl/gl_openssl.h:34:42: note: expanded from macro '_GLCRYPTO_CONCAT'
#define _GLCRYPTO_CONCAT(prefix, suffix) _GLCRYPTO_CONCAT_ (prefix, suffix)
                                         ^
../gl/gl_openssl.h:33:43: note: expanded from macro '_GLCRYPTO_CONCAT_'
#define _GLCRYPTO_CONCAT_(prefix, suffix) prefix##suffix
                                          ^
<scratch space>:7:1: note: expanded from here
SHA1_Init
^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/sha.h:49:1: note: 'SHA1_Init' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
In file included from check_load.c:36:
In file included from ./runcmd.h:29:
In file included from ./utils.h:17:
In file included from ../lib/utils_base.h:5:
In file included from ../gl/sha1.h:37:
../gl/gl_openssl.h:85:3: warning: 'SHA1_Update' is deprecated [-Wdeprecated-declarations]
{ OPENSSL_FN (_Update) ((_gl_CTX *) ctx, buf, len); }
  ^
../gl/gl_openssl.h:74:28: note: expanded from macro 'OPENSSL_FN'
#define OPENSSL_FN(suffix) _GLCRYPTO_CONCAT (_GLCRYPTO_PREFIX, suffix)
                           ^
../gl/gl_openssl.h:34:42: note: expanded from macro '_GLCRYPTO_CONCAT'
#define _GLCRYPTO_CONCAT(prefix, suffix) _GLCRYPTO_CONCAT_ (prefix, suffix)
                                         ^
../gl/gl_openssl.h:33:43: note: expanded from macro '_GLCRYPTO_CONCAT_'
#define _GLCRYPTO_CONCAT_(prefix, suffix) prefix##suffix
                                          ^
<scratch space>:16:1: note: expanded from here
SHA1_Update
^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/sha.h:50:1: note: 'SHA1_Update' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
In file included from check_load.c:36:
In file included from ./runcmd.h:29:
In file included from ./utils.h:17:
In file included from ../lib/utils_base.h:5:
In file included from ../gl/sha1.h:37:
../gl/gl_openssl.h:94:3: warning: 'SHA1_Final' is deprecated [-Wdeprecated-declarations]
{ OPENSSL_FN (_Final) ((unsigned char *) res, (_gl_CTX *) ctx); return res; }
  ^
../gl/gl_openssl.h:74:28: note: expanded from macro 'OPENSSL_FN'
#define OPENSSL_FN(suffix) _GLCRYPTO_CONCAT (_GLCRYPTO_PREFIX, suffix)
                           ^
../gl/gl_openssl.h:34:42: note: expanded from macro '_GLCRYPTO_CONCAT'
#define _GLCRYPTO_CONCAT(prefix, suffix) _GLCRYPTO_CONCAT_ (prefix, suffix)
                                         ^
../gl/gl_openssl.h:33:43: note: expanded from macro '_GLCRYPTO_CONCAT_'
#define _GLCRYPTO_CONCAT_(prefix, suffix) prefix##suffix
                                          ^
<scratch space>:31:1: note: expanded from here
SHA1_Final
^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/sha.h:51:1: note: 'SHA1_Final' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
In file included from check_load.c:36:
In file included from ./runcmd.h:29:
In file included from ./utils.h:17:
In file included from ../lib/utils_base.h:5:
In file included from ../gl/sha1.h:37:
../gl/gl_openssl.h:105:3: warning: 'SHA1_Final' is deprecated [-Wdeprecated-declarations]
  OPENSSL_FN (_Final) ((unsigned char *) res, &tmp_ctx);
  ^
../gl/gl_openssl.h:74:28: note: expanded from macro 'OPENSSL_FN'
#define OPENSSL_FN(suffix) _GLCRYPTO_CONCAT (_GLCRYPTO_PREFIX, suffix)
                           ^
../gl/gl_openssl.h:34:42: note: expanded from macro '_GLCRYPTO_CONCAT'
#define _GLCRYPTO_CONCAT(prefix, suffix) _GLCRYPTO_CONCAT_ (prefix, suffix)
                                         ^
../gl/gl_openssl.h:33:43: note: expanded from macro '_GLCRYPTO_CONCAT_'
#define _GLCRYPTO_CONCAT_(prefix, suffix) prefix##suffix
                                          ^
<scratch space>:48:1: note: expanded from here
SHA1_Final
^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/sha.h:51:1: note: 'SHA1_Final' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/usr/pkgsrc/net/nagios-plugins/work/.buildlink/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
check_load.c:145:23: warning: relational comparison result unused [-Wunused-comparison]
        for (i = 0, j = 0; i < len, j < len; i++, j++) {
                           ~~^~~~~
check_load.c:362:44: error: use of undeclared identifier 'procjid'
        sscanf (* (char * const *) p1, PS_FORMAT, PS_VARLIST);
                                                  ^
../config.h:1999:58: note: expanded from macro 'PS_VARLIST'
#define PS_VARLIST procstat,&procuid,&procpid,&procppid,&procjid,&procvsz,&procrss,&procpcpu,procprog,&pos
                                                         ^
check_load.c:364:44: error: use of undeclared identifier 'procjid'
        sscanf (* (char * const *) p2, PS_FORMAT, PS_VARLIST);
                                                  ^
../config.h:1999:58: note: expanded from macro 'PS_VARLIST'
#define PS_VARLIST procstat,&procuid,&procpid,&procppid,&procjid,&procvsz,&procrss,&procpcpu,procprog,&pos
                                                  ^
5 warnings and 2 errors generated.
gmake[2]: *** [Makefile:2274: check_load.o] Error 1
gmake[2]: Leaving directory '/usr/pkgsrc/net/nagios-plugins/work/nagios-plugins-2.4.3/plugins'
gmake[1]: *** [Makefile:1587: all-recursive] Error 1
gmake[1]: Leaving directory '/usr/pkgsrc/net/nagios-plugins/work/nagios-plugins-2.4.3'
gmake: *** [Makefile:1511: all] Error 2
*** Error code 2
Stop.
bmake[1]: stopped in /usr/pkgsrc/net/nagios-plugins
*** Error code 1
Stop.
bmake: stopped in /usr/pkgsrc/net/nagios-plugins
@bsiegert
Copy link
Contributor

This sounds like an OpenSSL incompatibility. Is this using builtin OpenSSL or from pkgsrc?

If this is using builtin, try setting

PREFER_PKGSRC=openssl

in your mk.conf.

netbsd-srcmastr pushed a commit that referenced this issue Jun 28, 2024
Changelog:
### GMime 3.2.15

* Fixed the g_mime_object_get_header API definition to note that it can return null
* Fixed a memory leak in address_parse() (issue #159)
* Added custom header folding logic for the Newsgroups: header (issue #162)
* Fixed a configure issue regarding ac_cv_sys_file_offset_bits (issue #158)
* Fixed an infinite loop in the Content-Type and Content-Disposition parameter
  serialization logic (issue #165)

### GMime 3.2.14

* Avoid clearing the header list of a GMimeMessage when adding addresses to an address header. (issue #129)
* Added the internet_address_list_append_parse() prototype definition to internet-address.h. (issue #128)
* Use gtk-doc ulink syntax in doc comments instead of `<a href=...>`. (issue #131)
* Fixed rfc2047 token decoding logic for base64 encodings. (issue #133)
* Properly handle GDateTime UTC offsets with non-zero seconds. (issue #134)
* Improved introspection data for bindings such as Vala.
* Improved address name quoting.
* Added a GNotifyDestroy to the GMimeParserOptions callback.
* Fixed the URL linkifier logic to properly handle links without a '/' before the query string.
* Fixed the URL linkifier logic to handle domains that start with numbers. (issue #152)
* Reverted base64 decoder optimizations from 3.2.10 and 3.2.11 to support chunked base64. (issue #150)

### GMime 3.2.13

* Optimized parsing of messages with lots of address headers. (issue #126)

### GMime 3.2.12

* Fixed a memory leak in g_mime_gpgme_get_decrypt_result().

* Updated vapigen.m4, introspection.m4, and gpgme.m4 to improve cross-platform builds.

* Add and use ax_lib_socket_nsl.m4 so that systems that do not require linkage with libnsl
  are not forced to link with it unnecessesarily.

* Changed the build system to no longer use dolt (which is obsolete).

### GMime 3.2.11

* Fixed a bug in the base64 decoder. D'oh!

### GMime 3.2.10

* Improved performance of base64 encoder by ~5%.

* Improved performance of base64 decoder by ~25%.

* Unref the autocrypt header after adding it to the list. (issue #118)

* Work around a bug in g_time_zone_new_offset() by using identifiers instead. (issue #120)

### GMime 3.2.9

* g_mime_multipart_signed_verify() now allows type/subtype and type/x-subtype signature parts. (issue #115)

* Fixed header folding logic to avoid folding the first line of a header value. (issue #112 and issue #113)

* Fixed bugs discovered by static analysis. (issue #110)

* Fixed GMimeStreamPipe to set errno to ESPIPE for seek/tell/length methods.

* Fixed GMimeCertificates to prefer gpgme_user_id_t's address field over the email field. (issue #102)

### GMime 3.2.8

* Various fixes to Vala (and other?) language bindings. (issue #96 and issue #101)

* Enabled build for PPC64LE architecture (issue #100)

* Added g_mime_object_write_content_to_stream() (issue #97)

* Fixed parameter list parsing logic to not report a warning when everything is valid.

* Fixed the parser to handle MIME parts without headers -or- content of any kind.
netbsd-srcmastr pushed a commit that referenced this issue Aug 12, 2024
1.65 -- 2024-08-06
	[BUGFIXES]
	 * Update exotic names test to avoid single quote package separator
	   (GH #128)
	 * Don't loop forever in uniqnum.t (GH #130)
netbsd-srcmastr pushed a commit that referenced this issue Oct 13, 2024
Changelog:
da30b211 Version 2.9.31
2e01fce4 Bugfix: #128 - Crash when replacing a MapCenter with another map
81974822 Version 2.9.30
d5f7fc05 Bugfix: #126 Save user flags in XML export
a4347c29 Add io.github.insilmaril.vym.appdata.xml (#123)
b6182c6c Added Evgeniy Nochevnov for Russian translations
e01bff3f Update vym.ru.ts (#115)
8f4e86ca Version 2.9.28
netbsd-srcmastr pushed a commit that referenced this issue Oct 21, 2024
1.8.2 (2024-09-24)

What's Changed

* Drop commented-out line by @olleolleolle in #108
* Add Ruby 3.1 & 3.2 to CI matrix by @tricknotes in #109
* Fix/redos by @ooooooo-q in #114
* Raise HTTPStatus::BadRequest for requests with invalid/duplicate
  content-length headers by @jeremyevans in #120
* Bump actions/checkout from 3 to 4 by @dependabot in #121
* Improve CI by @hsbt in #123
* Fix WEBrick::TestFileHandler#test_short_filename test not working on mswin
  by @KJTsanaktsidis in #128
* Fix bug chunk extension detection by @jeremyevans in #125
* Fix CI. by @ioquatix in #131
* Merge multiple cookie headers, preserving semantic correctness. by
  @ioquatix in #130
* Test on macos-latest by @byroot in #132
* Require CRLF line endings in request line and headers by @jeremyevans in
  #138
* Prefer squigly heredocs. by @ioquatix in #143
* Only strip space and horizontal tab in headers by @jeremyevans in #141
* Treat missing CRLF separator after headers as an EOFError by @jeremyevans
  in #142
* Return 400 response for chunked requests with unexpected data after chunk
  by @jeremyevans in #136
* Fix reference to URI::REGEXP::PATTERN::HOST by @casperisfine in #144
* Prevent request smuggling by @jeremyevans in #146

New Contributors

* @tricknotes made their first contribution in #109
* @ooooooo-q made their first contribution in #114
* @KJTsanaktsidis made their first contribution in #128
* @byroot made their first contribution in #132
* @casperisfine made their first contribution in #144
netbsd-srcmastr pushed a commit that referenced this issue Dec 2, 2024
# wk 0.9.4

- Ensure package tests pass against sf 1.0-18 (#224, #225).

# wk 0.9.3

- Ensure package compiles with `STRICT_R_HEADERS=1` (#222).

# wk 0.9.2

- Add `wk_crs()` and `wk_set_crs()` methods for `bbox` (#213)
- Fix wk_trans inconsistent meta flags handling (#217)
- Ensure package builds on arm64 for Windows (#220)

# wk 0.9.1

- Fix format strings/arguments for R-devel (#209).

# wk 0.9.0

## Breaking changes

- The common well-known binary representation of POINT EMPTY (i.e.,
  POINT (nan nan)) is now handled as POINT EMPTY allowing empty points
  to roundtrip through `wkb()` vectors (#196, #204).
- `xy(NA, NA)` is now read as a null feature instead of POINT EMPTY. This
  preserves the invariant that null features can also be identified using
  `is.na()` (#205).
- `xy(NaN, NaN)` is now read as POINT EMPTY and `is.na(xy(NaN, NaN))`
  now returns `FALSE`. This means that both EMPTY and null points can roundtrip
  through `xy()` (#205).

## Bugfixes and improvements

- `wk_meta()` now contains a new column `is_empty`, which is `TRUE`
  for any feature that contains at least one non-empty coordinate. This allows
  more efficient detection of features with zero coordinates (#197, #199).
- Updated PROJ data to use the latest pull of the database packaged with
  PROJ 9.3.0 (#201).
- The wk package now compiles once again on gcc 4.8 (#203, #206).
- Fixed `sfc_writer()` to correctly attach the `classes` attribute to
  sfc output with mixed geometry types (#195).
- Function `sfc_writer()` now has an argument `promote_multi` to write any
  input as the MULTI variant. This makes it more likely that an input vector
  will be read as a single geometry type (#198).
- The `wk_collection_filter()` now correctly increments the `part_id` when
  calling the child handler (@brownag, #194).

# wk 0.8.0

* Added `wkb_to_hex()` (@anthonynorth, #183).
* Implemented `vctrs::vec_proxy_equal()` for `wkb()` vctrs
  (@anthonynorth, #183).
* Fixed `sfc_writer()`, which had returned NULL for some inputs
  (e.g., via `wk_collection()`) (@anthonynorth, #182, #186).
* Added `wk_clockwise()` and `wk_counterclockwise()` to re-wind polygon rings
  (@anthonynorth, #188).
* New replacement-function mode for `wk_coords<-()` for in-place modification
  of coordinates (@mdsumner, #187).
* New function `wk_trans_explicit()` migrated from crs2crs (@mdsumner, #187).

# wk 0.7.3

* Fix tests for updated waldo package (#178).

# wk 0.7.2

* Fix use-after-free warnings.

# wk 0.7.1

* Fix implicit reliance on error `as.data.frame.default()`,
  which no longer occurs in r-devel (#166).

# wk 0.7.0

* Remove legacy headers that are no longer used by any downstream package
  (#146).
* `validate_wk_wkt()` now errors for an object that does not inherit from
  'wk_wkt' (#123, #146).
* Added `wk_crs_projjson()` to get a JSON representation of a CRS object.
  To make lookup possible based on shortcut-style CRS objects (e.g.,
  `"EPSG:4326"` or `4326`), added data objects `wk_proj_crs_view` and
  `wk_proj_crs_json` that contain cached versions of rendered PROJJSON
  based on the latest PROJ version (#147).
* Added a `wk_crs_proj_definition()` method for `wk_crs_inherit()` (#136,
  #147).
* Conversion to sf now uses the `sfc_writer()` for all wk classes, making
  conversions faster and fixing at least one issue with conversion of NA
  geometries to sf (#135).
* `wk_plot()` now plots `NULL`/`NA` geometries and mixed geometry types
  more reliably (#142, #143, #149).
* Exported EMPTY geometries to well-known text now include dimension
  (e.g., `POINT Z EMPTY`) (#141, #150).
* Fixed bug where `wk_polygon()` doubled some points when the input contained
  closed rings (#134, #151).
* Fixed bug where `wk_count()` exposed uninitialized values for empty input
  (#139, #153).
* The `xy_writer()` now opportunistically avoids allocating vectors for Z
  or M values unless they are actually needed (#131, #154).
* Added example WKT for all geometry types and dimensions plus helper
  `wk_example()` to access them and set various properties (#155).
* Fixes warnings when compiling with `-Wstrict-prototypes` (#157, #158).
* Removed `wk_chunk_map_feature()` in favour of using chunking strategies
  directly (#132, #159).
* Optimized `wk_coords()` for `xy()` objects (#138, #160).
* Added accessor methods for record-style vectors: `rct_xmin()`, `rct_xmax()`,
  `rct_ymin()`, `rct_ymax()`, `rct_width()`, `rct_height()`, `crc_center()`,
  `crc_x()`, `crc_y()`, `crc_r()`, `xy_x()`, `xy_y()`, `xy_z()`, and `xy_m()`
  (#144, #161).
* Added rectangle operators `rct_intersects()`, `rct_contains()`,
  and `rct_intersection()` (#161).

# wk 0.6.0

* Fixed `wk_affine_rescale()` to apply the translate and scale
  operations in the correct order (#94).
* Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support
  a chunk + apply workflow when working with large vectors (#101, #107).
* C and R code was rewritten to avoid materializing ALTREP vectors
  (#103, #109).
* Added a `wk_crs_proj_definition()` generic for foreign CRS objects
  (#110, #112).
* Added `wk_crs_longlat()` helper to help promote authority-compliant
  CRS choices (#112).
* Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic`
  in `wkt()` and `wkb()` as a flag for objects whose edges must
  be interpolated along a spherical/ellipsoidal trajectory (#112).
* Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry
  vectors for better integration with sf (#113, #114).
* Refactored well-known text parser to be more reusable and faster
  (#115, #104).
* Minor performance enhancement for `is.na()` and `validate_wk_wkb()`
  when called on a very long `wkb()` vector (#117).
* Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed
  for most valid objects (#119).
* Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise
  bounding boxes (#120, #122).
* Fixed headers and tests to pass on big endian systems (#105, #122).
* Incorporated the geodesic attribute into vctrs methods, data frame
  columns, and bbox/envelope calculation (#124, #125).
* Fix `as_xy()` for nested data frames and geodesic objects (#126, #128).
* Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`,
  and `wkt_format()` (#129).
* `wk_plot()` is now an S3 generic (#130).

# wk 0.5.0

* Fixed bugs relating to the behaviour of wk classes as
  vectors (#64, #65, #67, #70).
* `crc()` objects are now correctly exported as polygons
  with a closed loop (#66, #70).
* Added `wk_vertices()` and `wk_coords()` to extract individual
  coordinate values from geometries with optional identifying
  information. For advanced users, the `wk_vertex_filter()`
  can be used as part of a pipeline to export coordinates
  as point geometries to another handler (#69, #71).
* Added `wk_flatten()` to extract geometries from collections.
  For advanced users, the `wk_flatten_filter()` can be used as
  part of a pipeline (#75, #78).
* `options("max.print")` is now respected by all vector classes
  (#72, #74).
* Moved implementation of plot methods from wkutils to wk to
  simplify the dependency structure of both packages (#80, #76).
* Added `wk_polygon()`, `wk_linestring()`, and `wk_collection()`
  to construct polygons, lines, and collections. For advanced
  users, `wk_polygon_filter()`, `wk_linestring_filter()`, and
  `wk_collection_filter()` can be used as part of a pipeline
  (#77, #84).
* Added a C-level transform struct that can be used to simplify
  the the common pattern of transforming coordinates. These
  structs can be created by other packages; however, the
  `wk_trans_affine()` and `wk_trans_set()` transforms are
  also built using this feature. These are run using the
  new `wk_transform()` function and power the new
  `wk_set_z()`, `wk_set_m()`, `wk_drop_z()`, `wk_drop_m()`,
  functions (#87, #88, #89).

# wk 0.4.1

* Fix LTO and MacOS 3.6.2 check errors (#61).

# wk 0.4.0

* Removed `wksxp()` in favour of improved `sf::st_sfc()` support
  (#21).
* Rewrite existing readers, writers, and handlers, using
  a new C API (#13).
* Use new C API in favour of header-only approach for all
  wk functions (#19, #22).
* Use cpp11 to manage safe use of callables that may longjmp
  from C++.
* Vector classes now propagate `attr(, "crs")`, and check
  that operations that involve more than one vector have
  compatable CRS objects as determined by `wk_crs_equal()`.
* Added an R-level framework for other packages to implement
  wk readers and handlers: `wk_handle()`, `wk_translate()`,
  and `wk_writer()` (#37).
* Added a native reader and writer for `sf::st_sfc()` objects
  and implemented R-level generics for sfc, sfg, sf, and bbox
  objects (#28, #29, #38, #45).
* Implement `crc()` vector class to represent circles (#40).
* Added a 2D cartesian bounding box handler (`wk_bbox()`) (#42).
* Refactored unit tests reflecting use of the new API and
  for improved test coverage (#44, #45, #46).
* Added `wk_meta()`, `wk_vector_meta()`, and `wk_count()` to
  inspect properties of vectors (#53).
* Modified all internal handlers such that they work with vectors
  of unknown length (#54).

# wk 0.3.4

* Fixed reference to `wkutils::plot.wk_wksxp()`, which
  no longer exists.

# wk 0.3.3

* Fixed WKB import of ZM geometries that do not use EWKB.
* Added `xy()`, `xyz()`, `xym()` and `xyzm()` classes
  to efficiently store point geometries.
* Added the `rct()` vector class to efficiently store
  two-dimensional rectangles.
* Fixed the CRAN check  failure caused by a circular
  dependency with  the wkutils package.
* Added S3 methods to coerce sf objects to and from
  `wkt()`, `wkb()` and `wksxp()`.

# wk 0.3.2

* Fixed EWKB output for collections and multi-geometries
  that included SRID (#3).
* Fixed CRAN check errors related to exception handling on
  MacOS/R 3.6.2.

# wk 0.3.1

* Added a `NEWS.md` file to track changes to the package.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants