Releases: gecko0307/dlib
Releases · gecko0307/dlib
dlib 0.15.0
Changes since 0.15.0 beta1:
- dlib.container
opSlice
and$
fordlib.container.array.DynamicArray
.
dlib 0.15.0 beta1
- dlib.core
- Breaking change: temporarily removed
dlib.core.fiber
due to lacking Windows support. It is now in fiber branch until finished.
- Breaking change: temporarily removed
- dlib.text
- New module
dlib.text.unmanagedstring
that providesString
, a GC-free UTF8 string type based onDynamicArray
. UTF16Decoder
indlib.text.utf16
,UTF8Encoder
indlib.text.utf8
.dlib.text.encodings
- a one-stop solution for handling text encodings in generic way. Decoder is any range that outputsdchar
, encoder is any object that definessize_t encode(dchar, ubyte[])
.dlib.text.common
that definesDECODE_END
andDECODE_ERROR
for decoders to use.
- New module
- dlib.container
reserve
andresize
fordlib.container.array.DynamicArray
(#151).- Breaking change: deprecated
dlib.container.aarray
module has been removed. Usedlib.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.
- Fixed unintentional fallthrough in
- dlib.math
- Breaking change: deprecated
dlib.math.affine
module has been removed. Usedlib.math.transformation
instead. dlib.math.fixed
has been deprecated.
- Breaking change: 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 now can be built with recent GNU D Compiler (GDC). Note:
dlib 0.14.0 beta1
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 returnsuint
instead ofPixelFormat
. This allows extending dlib with custom pixel formats while maintaining compatibility withPixelFormat
. 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 toPixelFormat
may be required in some cases. Comparisons such asimg.pixelFormat == PixelFormat.RGB8
will work fine. PixelFormat.RGBA_FLOAT
is now deprecated, useFloatPixelFormat.RGBAF32
fromdlib.image.hdri
instead.- Saving to HDR is now supported (
saveHDR
functions indlib.image.io.hdr
). - New filters:
dlib.image.filters.histogram
(generates an image histogram) anddlib.image.filters.binarization
(image thresholding using Otsu's method). - ACES tonemapper (
hdrTonemapACES
) and average luminance function (averageLuminance
) indlib.image.hdri
. - Improved
dlib.image.canvas
. Path rasterizer now natively does anti-aliasing. Fixed bug with rendering on non-square images.
- Breaking change:
- 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 toSound
objects, two functions are available:fillSynth
andmixSynth
.
- Synthesizer framework (
- dlib.math
- New module
dlib.math.smoothstep
with sigmoid-like functions:hermiteSmoothstep
,rationalSmoothstep
.
- New module
- dlib.core
- DMD 2.081.0 compatibility fix in
dlib.core.stream
.
- DMD 2.081.0 compatibility fix in
- 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
No changes since beta.
dlib 0.13.0 beta1
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 providesCanvas
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-providedSuperImage
. - Improved HDR file decoder. Now it supports HDR files with magic string
#?RGBE
. - Reinhard and Hable tonemappers in
dlib.image.hdri
:hdrTonemapReinhard
andhdrTonemapHable
. - New filters in
dlib.image.filters.edgedetect
:edgeDetectLaplace
andedgeDetectSobel
. - New methods for
Color4f
:toLinear
andtoGamma
. - Fixed bugs in
dlib.image.arithmetics
module.
- New module
- dlib.math
- New functions in
dlib.math.vector
:reflect
,refract
,faceforward
. - New functions in
dlib.math.utils
:min2
andmax2
.
- New functions in
- dlib.geometry
- New functions in
dlib.geometry.bezier
:bezierTangentVector2
andbezierTangentVector3
.
- New functions in
- 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
No changes since beta.
dlib 0.12.2
- Enum constants of type
Vector
now can be assigned to variables. - Naming of functions in
dlib.geometry.bezier
is changed.bezier
function is nowbezierCubic
,bezierCurveFunc2D
isbezierVector2
,bezierCurveFunc3D
isbezierVector3
. There are aliases with old names for backward compatibility.
dlib 0.12.1
- Fixed loading 16-bit PNG images
- Corrected Bézier function.
dlib 0.12.0 beta1
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).
- New module
- 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
andremoveKey
).~=
operator support forLinkedList
.- Full unittest coverage of
dlib.container.array
. - More unittests for
dlib.container.dict
.
- dlib.image
- New class
UnmanagedAnimatedImage
- GC-free counterpart ofAnimatedImage
. - Breaking change:
dlib.image.tone.contrast
is nowdlib.image.filters.contrast
. dlib.image.fthread
is now based ondlib.core.thread
.
- New class
- dlib.filesystem
- File access rights in
FileStat
. - Nanosecond modification time precision support in
stat
under Posix.
- File access rights in
- dlib.math
- New direct solver (
solve
) indlib.math.linsolve
based on LUP decomposition.
- New direct solver (
- dlib.geometry
- Frustum-sphere intersection test (
intersectsSphere
) fordlib.geometry.frustum
.
- Frustum-sphere intersection test (
- dlib.coding
- Breaking change:
dlib.coding.huffman
is merged withdlib.image.io.jpeg
.
- Breaking change:
- 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
No changes since beta.