Skip to content

Releases: gecko0307/dlib

dlib 0.15.0

09 Nov 20:58
Compare
Choose a tag to compare

Changes since 0.15.0 beta1:

  • dlib.container
    • opSlice and $ for dlib.container.array.DynamicArray.

dlib 0.15.0 beta1

04 Nov 19:04
Compare
Choose a tag to compare
  • dlib.core
    • Breaking change: temporarily removed dlib.core.fiber due to lacking Windows support. It is now in fiber branch until finished.
  • dlib.text
    • New module dlib.text.unmanagedstring that provides String, a GC-free UTF8 string type based on DynamicArray.
    • UTF16Decoder in dlib.text.utf16, UTF8Encoder in dlib.text.utf8.
    • dlib.text.encodings - a one-stop solution for handling text encodings in generic way. Decoder is any range that outputs dchar, encoder is any object that defines size_t encode(dchar, ubyte[]).
    • dlib.text.common that defines DECODE_END and DECODE_ERROR for decoders to use.
  • dlib.container
    • reserve and resize for dlib.container.array.DynamicArray (#151).
    • Breaking change: deprecated dlib.container.aarray module has been removed. Use dlib.container.dict instead.
  • dlib.image
    • Fixed unintentional fallthrough in dlib.image.io.saveImage that caused error on TGA image.
    • More accurate path filling in dlib.image.canvas.
    • dlib.image.parallel has been deprecated.
  • dlib.math
    • Breaking change: deprecated dlib.math.affine module has been removed. Use dlib.math.transformation instead.
    • dlib.math.fixed has been deprecated.
  • dlib.functional
    • dlib.functional.quantifiers has been deprecated.
    • Free functions in dlib.functional.range (map, filter, reduce) have been deprecated. Use corresponding Phobos functions instead.
  • Misc
    • dlib now can be built with recent GNU D Compiler (GDC). Note: dlib.math.sse is not supported with GDC.
    • Added latest DMD (2.083.0, 2.082.1) and LDC (1.12.0) to Travis CI config.
    • Support for harbored-mod documentation generator.

dlib 0.14.0 beta1

07 Jul 21:21
Compare
Choose a tag to compare

This is beta release, please test and report any bugs found.

Important: dlib now officially doesn't support macOS. This is an act of protest against Apple's drop of OpenGL support. While you probably still can use dlib's platform-independent and Posix-based functionality under macOS, there's no guarantee that this will continue, and compatibility issues will not be addressed. Read detailed manifesto here.

  • dlib.image
    • Breaking change: SuperImage.pixelFormat now returns uint instead of PixelFormat. This allows extending dlib with custom pixel formats while maintaining compatibility with PixelFormat. Values from 0 to 255 are reserved for dlib, values 256 and above are application-specific. This change is just a new convention and will not break any existing logics, though explicit cast to PixelFormat may be required in some cases. Comparisons such as img.pixelFormat == PixelFormat.RGB8 will work fine.
    • PixelFormat.RGBA_FLOAT is now deprecated, use FloatPixelFormat.RGBAF32 from dlib.image.hdri instead.
    • Saving to HDR is now supported (saveHDR functions in dlib.image.io.hdr).
    • New filters: dlib.image.filters.histogram (generates an image histogram) and dlib.image.filters.binarization (image thresholding using Otsu's method).
    • ACES tonemapper (hdrTonemapACES) and average luminance function (averageLuminance) in dlib.image.hdri.
    • Improved dlib.image.canvas. Path rasterizer now natively does anti-aliasing. Fixed bug with rendering on non-square images.
  • dlib.audio
    • Synthesizer framework (dlib.audio.synth). It allows to write synthesizers and use them to 'render' sounds, like in DAWs. Three built-in synthesizers are available: SineWaveSynth, SquareWaveSynth, FMSynth. To write actual data to Sound objects, two functions are available: fillSynth and mixSynth.
  • dlib.math
    • New module dlib.math.smoothstep with sigmoid-like functions: hermiteSmoothstep, rationalSmoothstep.
  • dlib.core
    • DMD 2.081.0 compatibility fix in dlib.core.stream.
  • Misc
    • Added latest DMD (2.081.0, 2.080.1) and LDC (1.10.0) to Travis CI config. CI builds for macOS were stopped for reason mentioned above.

dlib 0.14.0

09 Jul 11:09
Compare
Choose a tag to compare

No changes since beta.

dlib 0.13.0 beta1

09 May 08:57
Compare
Choose a tag to compare

This is beta release, please test and report any bugs found.

  • dlib.async has been removed for security reasons. Currently there are no active contributors to maintain the package and fix bugs, so it is considered not safe to use due to potential data corruption or loss. There's async branch for those who still want to use it, but for new projects it is strongly recommended to consider using more actively developed alternatives, such as vibe-core or Tanya.
  • dlib.image
    • New module dlib.image.canvas that provides Canvas class, a vector graphics engine inspired by HTML5 canvas. Currently it supports rasterizing arbitrary polygons and cubic Bezier paths, filled and outlined. It renders to user-provided SuperImage.
    • Improved HDR file decoder. Now it supports HDR files with magic string #?RGBE.
    • Reinhard and Hable tonemappers in dlib.image.hdri: hdrTonemapReinhard and hdrTonemapHable.
    • New filters in dlib.image.filters.edgedetect: edgeDetectLaplace and edgeDetectSobel.
    • New methods for Color4f: toLinear and toGamma.
    • Fixed bugs in dlib.image.arithmetics module.
  • dlib.math
    • New functions in dlib.math.vector: reflect, refract, faceforward.
    • New functions in dlib.math.utils: min2 and max2.
  • dlib.geometry
    • New functions in dlib.geometry.bezier: bezierTangentVector2 and bezierTangentVector3.
  • Misc
    • Added latest DMD (2.080.0, 2.079.1) and LDC (1.9.0, 1.8.0) to Travis CI config.
    • dlib now does CI under Windows using AppVeyor.

dlib 0.13.0

14 May 11:40
Compare
Choose a tag to compare

No changes since beta.

dlib 0.12.2

07 Nov 09:19
Compare
Choose a tag to compare
  • Enum constants of type Vector now can be assigned to variables.
  • Naming of functions in dlib.geometry.bezier is changed. bezier function is now bezierCubic, bezierCurveFunc2D is bezierVector2, bezierCurveFunc3D is bezierVector3. There are aliases with old names for backward compatibility.

dlib 0.12.1

28 Oct 10:18
Compare
Choose a tag to compare
  • Fixed loading 16-bit PNG images
  • Corrected Bézier function.

dlib 0.12.0 beta1

09 Oct 08:53
Compare
Choose a tag to compare

This is beta release, please test and report any bugs found.

  • dlib.core
    • New module dlib.core.ownership - a Delphi-like object ownership system. Objects are registered to parent object, which automatically deletes them when gets deleted itself. In many cases this can be a convenient trade-off between fully automatic and fully manual memory management.
    • New module dlib.core.fiber - initial fibers implementation (Linux-only for now).
  • dlib.container
    • Containers now use Phobos-conforming method names. Old names are still supported via aliases.
    • DynamicArray now supports inserting and removing values by arbitrary indices (insertKey and removeKey).
    • ~= operator support for LinkedList.
    • Full unittest coverage of dlib.container.array.
    • More unittests for dlib.container.dict.
  • dlib.image
    • New class UnmanagedAnimatedImage - GC-free counterpart of AnimatedImage.
    • Breaking change: dlib.image.tone.contrast is now dlib.image.filters.contrast.
    • dlib.image.fthread is now based on dlib.core.thread.
  • dlib.filesystem
    • File access rights in FileStat.
    • Nanosecond modification time precision support in stat under Posix.
  • dlib.math
    • New direct solver (solve) in dlib.math.linsolve based on LUP decomposition.
  • dlib.geometry
    • Frustum-sphere intersection test (intersectsSphere) for dlib.geometry.frustum.
  • dlib.coding
    • Breaking change: dlib.coding.huffman is merged with dlib.image.io.jpeg.
  • Misc
    • Added latest DMD (2.075.1, 2.076.0) and LDC (1.3.0, 1.4.0) to Travis CI config.

dlib 0.12.0

16 Oct 20:14
Compare
Choose a tag to compare

No changes since beta.