tree 902ceaea85c01fdd131e491b4615dafb28601761
parent a6e4fcf8d54824bf59dc1f5acb952ead9ff1228b
author Dan Nechita <dan.nechita@analog.com> 1581673896 +0200
committer Gwendal Grignou <gwendal@chromium.org> 1581717632 -0800

Bump to version v0.19

Changelog:

09bb1ba Bump to version v0.19
497d3da (origin/rgetz-verbose-iiod-errors) network: Fix typo in error message related to iiod client open
abdd072 Increase error reporting on iiod and network backend
ce10854 iio_attr : Add a feature which auto-generates C code
6c40e8c iio_info: warn when iio_channel_get_type = IIO_CHAN_TYPE_UNKNOWN
e8206c9 Create Code of Conduct.md
ec2f079 Create Contributing.md
6360902 iio_info: use malloc rather than stack buffers
d7838e4 Handle channel IDs without index or modifier correctly
f7c5e7f iio_readdev: Fix corrupt data that was being captured on Windows
49f999c Create README_BUILD.md
6a777b7 (origin/rgetz-fix-licenses) Licences: fix #350, and clean up license.
2914675 (origin/fix-iio_buffer_push_partial) local: Fix the checking of the buffer size returned by kernel
7f96e80 (origin/rgetz-add-man-pages) man: add some default man pages
e8c1291 csharp/IOBuffer.cs: Add a read() function to extract data from the IIO buffer.
22486dc csharp/IOBuffer.cs: Change IntPtr cast to long instead of int.
2abe5f7 Global differential attributes code review requests.
17148ef Improved matching on global attributes for differential channels
a9ac553 cmake : on the CI, turn on WITH_DOC, so gh-pages is updated
d0faf30 cmake: Make the WITH_DOC (Doxygen) optional, defaulting off
a225401 iio.h: improve consistancy of doxygen generated content
bffde86 iio.h: Fix whitespace differences/inconsistances
b079f9d (origin/rgetz-update-svg) doc: update code model picture
d94e149 #352 First attempt to match global attributes for differential channels.
55976f3 Improve URI documentation for iio_create_context_from_uri
dcf3582 (origin/rgetz-add-flags-for-bindings) CI: Make the CI systems respect the new binding flags
f1faa28 Bindings : **NB** Add Cmake flags to turn on bindings (Default=off)
cc9b3c7 ./tests/iio_attr : move from allocating space on stack to malloc
645391b Fix #336, make sure libusb can be found on FreeBSD variants
100f910 fix #336, remove warnings on FreeBSD
3ede102 Update .gitignore in the examples dir
846613c fix #59 - add a readme to the examples directory
df51cc1 ci,lib.sh: print Github API rate limits
423d20d (origin/rgetz-fix-325) Fix #325, remove dead code/compiler warning
8b57196 bindings/csharp/CMakeLists.txt: Fix the install step for CSharp bindings.
673f922 Fix #307 by accepting avahi null names, and install avahi service file
e641094 Python3: fixed string type checking in iio.NetworkContext to be compatible with Python 2 and Python 3.
8a82417 Fixed loading of libiio on non-Windows systems where find_library shall find it in the path if the specified name is 'iio'.
5ca77b1 gh-327: Use "include(FindPythinInterp)" when compiling with CMake older than 3.12.
4470593 Making the printfs in dummy-iiostream portable.
dc3684c Fixing dummy-iiostream read method help message.
1036e51 ci,os-x: disable brew's default install cleanup
a3a4c08 ci,lib: fix typo; correct is `brew list --versions`
4540f7e build,ci: os-x: install packages if they don't exist
c9a854f utilities.c: Consider OS X a platform that has locale support
812cfd2 (origin/context_cmd_line_args) Fixed indentation issues.
ef82d7b ad9361-iiostream.c example takes Command line arguments to select local context vs uri context.
4655780 Python: More robust loading of IIO library that works on different platforms.
e31a4e2 Python: More robust loading of IIO library that works on different platforms.
96a9689 CMake python bindings: "use find_package (Python COMPONENTS Interpreter)" instead of deprecated "include(FindPythonInterp)"
c3bed86 CMake: added option OSX_INSTALL_FRAMEWORKSDIR (default /Library/Frameworks) to specify custom install path. rpath of tools is corrected to reference the library relative to the binary's location.
0fbb31f network: only resolve interface name on ipv6 ll
915adbb README.md: fix OS X High Sierra alternative package link
78170b1 README.md: remove OS X El Capitan (10.11) from readme
c4833c5 build,.travis.yml: add support for Xcode 11
b48d91f .travis.yml: remove/retire Trusty builds
48808dd General: Rework the Windows installer and the zip artifact.
76083a7 travis-ci: recent upgrades in the travis-ci infrastructure caused some breakages in deployments
1773c52 Add example for ADRV9009
6abaaec local.c: make sure dst is null-terminated if fread fails
5090603 fix install of binaries with a static only library
b8f3bf9 Update README.md to include the arm packages
bb9831a iiod: usbd: Fix wrong null pointer check

Adrian Suciu (1):
      local.c: make sure dst is null-terminated if fread fails

Alexandra Trifan (2):
      General: Rework the Windows installer and the zip artifact.
      bindings/csharp/CMakeLists.txt: Fix the install step for CSharp bindings.

Alexandra.Trifan (2):
      csharp/IOBuffer.cs: Change IntPtr cast to long instead of int.
      csharp/IOBuffer.cs: Add a read() function to extract data from the IIO buffer.

Alexandru Ardelean (8):
      .travis.yml: remove/retire Trusty builds
      build,.travis.yml: add support for Xcode 11
      README.md: remove OS X El Capitan (10.11) from readme
      README.md: fix OS X High Sierra alternative package link
      build,ci: os-x: install packages if they don't exist
      ci,lib: fix typo; correct is `brew list --versions`
      ci,os-x: disable brew's default install cleanup
      ci,lib.sh: print Github API rate limits

Dan Nechita (22):
      utilities.c: Consider OS X a platform that has locale support
      Merge pull request #304 from dimasad/master
      Merge pull request #332 from matejk/fix-linux-load-library
      Merge pull request #333 from matejk/fix-python-2-3-string-check
      Merge pull request #341 from analogdevicesinc/build-print-remaining-api-limits
      Merge pull request #348 from analogdevicesinc/rgetz-move-to-malloc
      Merge pull request #347 from analogdevicesinc/rgetz-add-flags-for-bindings
      Merge pull request #356 from analogdevicesinc/rgetz-fix-iio.h
      Merge pull request #353 from analogdevicesinc/rgetz-promote-WITH-DOC
      Merge pull request #354 from fpagliughi/differential-global-attr
      Merge pull request #360 from analogdevicesinc/csharp_fixes
      local: Fix the checking of the buffer size returned by kernel
      Merge pull request #362 from analogdevicesinc/fix-iio_buffer_push_partial
      Merge pull request #361 from analogdevicesinc/rgetz-patch-1
      iio_readdev: Fix corrupt data that was being captured on Windows
      Merge pull request #358 from analogdevicesinc/rgetz-fix-licenses
      Merge pull request #366 from hshmt/type
      Merge pull request #369 from analogdevicesinc/rgetz-malloc-iio-info
      Merge pull request #375 from analogdevicesinc/rgetz-iio_attr-gen-code2
      network: Fix typo in error message related to iiod client open
      Merge pull request #376 from analogdevicesinc/rgetz-verbose-iiod-errors
      Bump to version v0.19

Dimas Abreu Archanjo Dutra (2):
      Fixing dummy-iiostream read method help message.
      Making the printfs in dummy-iiostream portable.

Edward Kigwana (1):
      Improve URI documentation for iio_create_context_from_uri

Jorik Jonker (1):
      network: only resolve interface name on ipv6 ll

Matej Kenda (8):
      CMake: added option OSX_INSTALL_FRAMEWORKSDIR (default /Library/Frameworks) to specify custom install path. rpath of tools is corrected to reference the library relative to the binary's location.
      CMake python bindings: "use find_package (Python COMPONENTS Interpreter)" instead of deprecated "include(FindPythonInterp)"
      Python: More robust loading of IIO library that works on different platforms.
      Python: More robust loading of IIO library that works on different platforms.
      Merge branch 'python-find-library' of github.com:matejk/libiio into python-find-library
      gh-327: Use "include(FindPythinInterp)" when compiling with CMake older than 3.12.
      Fixed loading of libiio on non-Windows systems where find_library shall find it in the path if the specified name is 'iio'.
      Python3: fixed string type checking in iio.NetworkContext to be compatible with Python 2 and Python 3.

Michael Hennerich (7):
      Merge pull request #279 from analogdevicesinc/iiod-nullptr-fix
      Merge pull request #290 from analogdevicesinc/coverity_fix_cid343595
      Merge pull request #297 from jonkerj/fix-network-global-ipv6
      Merge pull request #314 from matejk/python-find-library
      Merge pull request #312 from matejk/osx-install-frameworksdir
      Merge pull request #313 from matejk/cmake-find-python
      Merge pull request #319 from analogdevicesinc/context_cmd_line_args

Paul Cercueil (1):
      iiod: usbd: Fix wrong null pointer check

Pierre-Jean Texier (1):
      fix install of binaries with a static only library

Robin Getz (38):
      Update README.md to include the arm packages
      travis-ci: recent upgrades in the travis-ci infrastructure caused some breakages in deployments
      Merge pull request #283 from texierp/fix/rpath
      Merge pull request #328 from matejk/gh-327-python-not-found
      Fix #307 by accepting avahi null names, and install avahi service file
      Merge pull request #338 from analogdevicesinc/rgetz-avahi-install
      Merge pull request #337 from analogdevicesinc/fix_install_csharp
      Fix #325, remove dead code/compiler warning
      Merge pull request #340 from analogdevicesinc/rgetz-fix-325
      fix #59 - add a readme to the examples directory
      Update .gitignore in the examples dir
      Merge pull request #342 from analogdevicesinc/rgetz-patch-2
      fix #336, remove warnings on FreeBSD
      Merge pull request #339 from analogdevicesinc/rgetz-patch-1
      Fix #336, make sure libusb can be found on FreeBSD variants
      ./tests/iio_attr : move from allocating space on stack to malloc
      Merge pull request #343 from analogdevicesinc/rgetz-patch-2
      Merge pull request #346 from analogdevicesinc/rgetz-fix-freebsd-usb
      Bindings : **NB** Add Cmake flags to turn on bindings (Default=off)
      CI: Make the CI systems respect the new binding flags
      doc: update code model picture
      Merge pull request #351 from ekigwana/master
      iio.h: Fix whitespace differences/inconsistances
      iio.h: improve consistancy of doxygen generated content
      cmake: Make the WITH_DOC (Doxygen) optional, defaulting off
      cmake : on the CI, turn on WITH_DOC, so gh-pages is updated
      man: add some default man pages
      Licences: fix #350, and clean up license.
      Create README_BUILD.md
      iio_info: use malloc rather than stack buffers
      Create Contributing.md
      Create Code of Conduct.md
      iio_info: warn when iio_channel_get_type = IIO_CHAN_TYPE_UNKNOWN
      Merge pull request #374 from analogdevicesinc/rgetz-iio-info-add-warn-on-IIO_CHAN_TYPE_UNKNOWN
      Merge pull request #371 from analogdevicesinc/rgetz-create-contributing.md
      Merge pull request #372 from analogdevicesinc/add-code-of-conduct-1
      iio_attr : Add a feature which auto-generates C code
      Increase error reporting on iiod and network backend

Ryo Hashimoto (1):
      Handle channel IDs without index or modifier correctly

SrikanthPagadarai (2):
      ad9361-iiostream.c example takes Command line arguments to select local context vs uri context.
      Fixed indentation issues.

Travis Collins (2):
      Merge pull request #355 from analogdevicesinc/rgetz-update-svg
      Merge pull request #359 from analogdevicesinc/rgetz-add-man-pages

Travis F. Collins (1):
      Add example for ADRV9009

fpagliughi (3):
      #352 First attempt to match global attributes for differential channels.
      Improved matching on global attributes for differential channels
      Global differential attributes code review requests.

Signed-off-by: Dan Nechita <dan.nechita@analog.com>
