Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ChangeLog

    r1530ac3 rcd2ddc0  
     12018-12-19 Paul Brossier <piem@aubio.org>
     2
     3        [ Overview ]
     4
     5        * VERSION: bump to 0.4.9
     6        * library: improve stability, fixing potential crashes and memory leaks on
     7        invalid arguments; improve library messages and reporting of system errors
     8        * tests/: major clean-up, check return codes, increase code coverage
     9        * python/tests/: switch to pytest (closes gh-163), check emitted warnings
     10        * python/: add pages to manual with brief descriptions of classes
     11
     12        [ Fixes ]
     13
     14        * security: improve arguments validation in new_aubio_filterbank (prevent
     15        possible null-pointer dereference on invalid n_filters, CVE-2018-19801),
     16        new_aubio-tempo (prevent possible buffer overflow, CVE-2018-19800), and
     17        new_aubio_onset (prevent null-pointer dereference, CVE-2018-19802). Thanks
     18        to Guoxiang Niu (@niugx), from the EaglEye Team for reporting these issues.
     19        * tempo: fix delay_ms methods
     20        * filterbank: fix aubio_filterbank_get_power (thanks to @romanbsd who
     21        also noticed this issue)
     22        * dct: creation fail on negative sizes or invalid accelerate radix,
     23        fix typo in error and warning messages, prevent possible memory leak
     24        * pitch: prevent null pointer dereference in yinfast, comment out unused
     25        functions in mcomb and yin, prevent possible leak in specacf
     26        * mfcc: always use dct module, strengthen input validation, change
     27        get_{scale,power} to return smpl_t
     28        * specdesc: improve error message
     29        * notes: prevent null pointer dereference
     30        * hist: add validation for size argument, prevent possible leak
     31        * awhitening: use shortest length available (closes gh-216)
     32        * io: add macros to display system errors, add helpers to validate input
     33        arguments of source and sink methods, always clean-up after failure
     34        * source: validate input sizes to prevent invalid reads
     35        * apple_audio: use native format conversions in source and sink, prevent
     36        possible apple_audio crash on empty string, get_duration returns 0 on failure
     37        * ffmpeg/avcodec: prevent deprecation warnings, read after close, and skipped
     38        samples warnings, improve warning messages, only show a warning when
     39        swr_convert failed, prevent possible memory leak when closing swr context
     40        * wavwrite: copy to all channels if needed, check fseek and fwrite return
     41        values, call fflush in open to return failure on full disk-system
     42        * source_sndfile: fix reading sizes when resampling, set error message when
     43        reading after close
     44        * aubio_priv.h: include blas first (see gh-225), add STRERROR macros
     45
     46        [ Python ]
     47
     48        * documentation: add pages to manual, add minimal docstrings for fft,
     49        digital_filter, and generated objects, improve specdesc documentation
     50        * filterbank: add get_norm/power documentation
     51        * source: take a copy of the last frame before resizing it, raise an
     52        exception when read failed, fix compilation warning
     53        * fixes: remove unneeded check convert with PyFloat_FromDouble or
     54        PyFloat_FromDouble, check if sink, digital_filter, were created before
     55        deleting
     56
     57        [ Tests ]
     58
     59        * python/tests/: switch to pytest (slightly slower than nose2 but better at
     60        capturing warnings and parametrization), improve coding style and coverage.
     61        Tests should now be run with `pytest`.
     62        * tests/: Each test program in C must now return 0, otherwise the test will
     63        fail. Examples have been modified to run themselves on a test audio file,
     64        but can still be run with arguments. Tests for `source` and `sink` have been
     65        factorised, and some code cleaning. A python script is used to create a
     66        test sound file. Tested on linux, macos, and windows, improvements to
     67        test-mfcc (closes gh-219).
     68
     69        [ Build system ]
     70
     71        * waf: upgrade to 2.0.14, check the return code of each test program,
     72        update rules to build manual and api documentation into build/, check
     73        for errno.h
     74        * osx: use -Os in scripts/build_apple_frameworks
     75        * Makefile: improve coverage reports
     76        * appveyor, travis, circleci: switch to pytest, set one travis config to use
     77        sndfile only
     78        * travis: add py3.6, drop py3.4, use py3.5 to test debug mode
     79        * azure: add basic configuration
     80
     812018-11-21 Paul Brossier <piem@aubio.org>
     82
     83        [ Overview ]
     84
     85        * VERSION: bump to 0.4.8
     86        * notes: new option release_drop (gh-203)
     87        * spectral: new parameters added to filterbank and mfcc (gh-206)
     88        * python: start documenting module (gh-73, debian #480018), improve build for
     89        win-amd64 (gh-154, gh-199, gh-208)
     90        * fixes: prevent crash when using fft sizes unsupported by vDSP (gh-207),
     91        prevent saturation when down-mixing a multi-channel source (avcodec/ffmpeg)
     92
     93        [ Fixes ]
     94
     95        * avcodec: prevent saturation when down-mixing a multi-channel source, emit
     96        a warning if compiling against avutil < 53 (gh-137), wrap long lines
     97        * examples/: avoid hiding global and unreachable code
     98        * fft: limit to r*2*n sizes, with r in [1, 3, 5, 15] (vDSP only) (gh-207)
     99        * fft: fix reconstruction for odd sizes (fftw only)
     100        * pvoc: add missing implementations for aubio_pvoc_get_hop/win
     101        * mathutils: increase ln(2) precision of in freqtomidi/miditofreq
     102        * wavetable: stop sets playing to 0, add dummy implementation for _load
     103
     104        [ New features ]
     105
     106        * src/musicutils.h: new aubio_meltohz, aubio_hztomel, with _htk versions
     107        * src/spectral/filterbank.h: new set_mel_coeffs, set_mel_coeffs_htk,
     108        set_power, and set_norm methods, improved set_triangle_bands
     109        * src/spectral/mfcc.h: new set_scale, set_power, set_norm, set_mel_coeffs,
     110        set_mel_coeffs_htk, set_mel_coeffs_slaney
     111        * src/mathutils.h: new fvec_mul
     112        * src/notes: new option release_drop to prevent missing note-offs (gh-203)
     113
     114        [ Python module ]
     115
     116        * fix: rounding to nearest integer in midi2note and freq2note
     117        * general: supports code generation of setters with none or multiple
     118        parameters
     119        * documentation: add docstrings do fvec, cvec, source, sink, pvoc, frequency
     120        conversion and level detection routines (gh-73, debian #480018)
     121        * slicing: improve and document slice_source_at_stamps
     122        * module: new note2freq function, recover error log when raising exceptions
     123        on failed set_ methods, prevent cyclic import, coding style improvements
     124        * demos: improve coding style, fix bpm_extract arguments
     125        * MANIFEST.in: exclude *.pyc, improve patterns
     126
     127        [ Documentation ]
     128
     129        * doc/: use sphinx autodoc to load docstrings from aubio module, reorganize
     130        python module documentation, add a note about double precision, use https
     131        when possible
     132        * src/spectral/: update Auditory Toolbox url, update copyright year
     133
     134        [ Tools ]
     135
     136        * aubionotes: add --release-drop option
     137        * aubio: add --release-drop and --silence options to `aubio notes`,
     138        workaround for -V to really show version (py2)
     139        * aubiocut: add option --create-first to always create first slice
     140
     141        [ Tests ]
     142
     143        * tests/, python/tests: add tests for new methods, check source channel
     144        down-mix, improve coverage
     145
     146        [ Build system ]
     147
     148        * Makefile: disable docs when measuring coverage, add branch coverage
     149        option, add coverage_zero_counters target, improve html report
     150        * waf: update to 2.0.12, improve wscript style, prevent shipping some
     151        generated files
     152        * python: always show compiler warnings when pre-processing headers,
     153        workaround to fix code generation for win-amd64 (gh-154, gh-199, gh-208).
     154        * continuous integration: add azure pipelines, update and improve
     155        configurations for appveyor, circleci, and travis.
     156
     1572018-09-22 Paul Brossier <piem@aubio.org>
     158
     159        [ Overview ]
     160
     161        * VERSION: bump to 0.4.7
     162        * src/spectral/dct.h: add dct type II object with optimised versions
     163        * src/io/, src/notes/, src/pitch: prevent crashes on corrupted files
     164        * examples/: fix jack midi output, improve messages when jack disabled
     165        * python/: add dct support, minor bug fixes tests and demos
     166        * wscript: improve support for BLAS/ATLAS
     167
     168        [ Library fixes ]
     169
     170        * src/pitch/pitchyinfft.c: fix out of bound read when samplerate > 50kHz
     171        thanks to @fCorleone (closes #189, CVE-2018-14523, debian #904906)
     172        * src/notes/notes.c: bail out if pitch creation failed (see #188)
     173        * src/io/source_wavread.c:
     174         - also exit if samplerate is negative (closes #188, CVE-2018-14522,
     175         debian #904907)
     176         - add some input validation (closes #148 and #158, CVE-2017-17054,
     177         debian #883355)
     178        * src/io/source_avcodec.c:
     179         - give up if resampling context failed opening (see #137, closes #187,
     180         CVE-2018-14521, debian #904908)
     181         - give up reading file if number of channel changes during stream (closes
     182         #137, CVE-2017-17554, debian #884237)
     183         - make sure libavutil > 52 before checking avFrame->channels (see #137)
     184         - fix build with ffmpeg 4.0, thanks to @jcowgill (closes #168, #173)
     185         - avoid deprecated call for ffmpeg >= 4.0
     186        * src/onset/onset.c: add dummy default parameters for wphase (closes #150)
     187
     188        [ Tools ]
     189
     190        * examples/parse_args.h: hide jack options if not available, improve error
     191        message (closes #182)
     192        * examples/utils.h: process_block returns void
     193        * examples/utils.c: fix examples failing to send more than one JACK midi
     194        event per frame, thanks to @cyclopsian (closes #201)
     195
     196        [ New features ]
     197
     198        * src/spectral/dct.h: add dct type II object with implementation factory
     199        * src/spectral/dct_plain.c: add plain dct implementation
     200        * src/spectral/dct_ooura.c: add ooura implementation
     201        * src/spectral/dct_fftw.c: add fftw implementation
     202        * src/spectral/dct_ipp.c: add ipp version
     203        * src/spectral/dct_accelerate.c: add vdsp/accelerate dct
     204        * tests/src/spectral/test-dct.c: check reconstruction works
     205        * src/spectral/mfcc.c: use new dct to compute mfcc
     206
     207        [ Library internals ]
     208
     209        * src/aubio_priv.h: avoid hard-coded undefs, split BLAS and ATLAS support,
     210        add vdsp scalar add and multiply
     211
     212        [ Build system ]
     213
     214        * wscript:
     215         - add options to disable examples and tests
     216         - detect includes for openblas/libblas/atlas
     217        * scripts/get_waf.sh: bump to 2.0.11, verify signature if gpg available
     218        * python/lib/gen_external.py: pass '-x c' to emcc only
     219
     220        [ Python ]
     221
     222        * python/lib/gen_code.py: add support for rdo methods
     223        * python/tests/test_dct.py: add tests for new dct
     224        * python/demos/demo_pitch_sinusoid.py: use // to yield an integer, fixing
     225        demo on py3, thanks to @ancorcruz (closes #176)
     226        * python/ext/py-musicutils.*: add shift(fvec) and ishift(fvec)
     227        * python/tests/test_fvec_shift.py: add tests for shift() and ishift()
     228        * python/lib/aubio/cmd.py: fix typo in comment
     229
     230        [ Documentation ]
     231
     232        * README.md, doc/statuslinks.rst: use latest for commits-since
     233        * examples/parse_args.h: add yinfast to pitch algorithms
     234        * doc/requirements.rst: add some blas documentation
     235        * doc/requirements.rst: split media/optimisation libraries
     236        * doc/develop.rst: fixed spelling error, thanks to Jon Williams (closes #161)
     237        * doc/aubio{pitch,notes}.txt: add yinfast to list of pitch methods
     238
     239        [ Continuous integration ]
     240
     241        * .travis.yml: remove xcode8.2 builds, group osx, add alias pip=pip2
     242        * .appveyor.yml: upgrade pip first, always use python -m pip
     243
    12442017-10-02 Paul Brossier <piem@aubio.org>
    2245
Note: See TracChangeset for help on using the changeset viewer.