2.0.7:
Moved oauthlib into new organization on GitHub.
Include license file in the generated wheel package.
When deploying a release to PyPI, include the wheel distribution.
Check access token in self.token dict.
Added bottle-oauthlib to docs.
Update repository location in Travis.
Updated docs for organization change.
Replace G+ with Gitter.
Update requirements.
Add shields for Python versions, license and RTD.
Fix ReadTheDocs build
Fixed "make" command to test upstream with local oauthlib.
Replace IRC notification with Gitter Hook.
Added Github Releases deploy provider.
v0.42.3:
Bug fixes:
* Fix floating-point number error to fix floating box layout
* Don't optimize resume_at when splitting lines with trailing spaces
* Fix table layout with no overflow
* Fix inline box breaking function
* Split replaced_min_content_width and replaced_max_content_width
* Respect text direction and don't translate rtl columns twice
* Get only first line's width of inline children to get linebox width
5.1.0:
Close fp before return in ImagingSavePPM
Added documentation for ICNS append_images
Docs: Move intro text below its header
CI: Rename appveyor.yml as .appveyor.yml
Fix TypeError for JPEG2000 parser feed
Certain corrupted jpegs can result in no data read
Add support for BLP file format
Simplify version checks
Fix "invalid escape sequence" warning on Python 3.6+
Allow append_images to set .icns scaled images
Support appending to existing PDFs
Fix and improve efficient saving of ICNS on macOS
Build: Enable pip cache in AppVeyor build
Trim trailing whitespace
Docs: Correct reference to Image.new method
Rearrange ImageFilter classes into alphabetical order
Test: Remove duplicate line
Build: Update AppVeyor PyPy version
Tiff: Open 8 bit Tiffs with 5 or 6 channels, discarding extra channels
Readme: Added Twitter badge
Removed __main__ code from ImageCms
Test: Changed assert statements to unittest calls
Depends: Update libimagequant to 2.11.10, raqm to 0.5.0, freetype to 2.9
Remove _imaging.crc32 in favor of builtin Python crc32 implementation
Move Tk directory to src directory
Enable pip cache in Travis CI
Remove unused and duplicate imports
Docs: Changed documentation references to 2.x to 2.7
Fix memory leak when opening webp files
Setup: Fix "TypeError: 'NoneType' object is not iterable" for PPC and CRUX
Setup: Add libdirs for ppc64le and armv7l
Django 1.11.12:
Bugfixes:
Fixed a regression in Django 1.11.8 where combining two annotated values_list() querysets with union(), difference(), or intersection() crashed due to mismatching columns.
Fixed a regression in Django 1.11 where an empty choice could be initially selected for the SelectMultiple and CheckboxSelectMultiple widgets
Django 2.0.4:
Bugfixes:
Fixed a crash when filtering with an Exists() annotation of a queryset containing a single field.
Fixed admin autocomplete widget’s translations for zh-hans and zh-hant languages.
Corrected admin’s autocomplete widget to add a space after custom classes.
Fixed PasswordResetConfirmView crash when using a user model with a UUIDField primary key and the reset URL contains an encoded primary key value that decodes to an invalid UUID.
Fixed a regression in Django 1.11.8 where combining two annotated values_list() querysets with union(), difference(), or intersection() crashed due to mismatching columns.
Fixed a regression in Django 1.11 where an empty choice could be initially selected for the SelectMultiple and CheckboxSelectMultiple widgets.
Fixed a regression in Django 2.0 where OpenLayersWidget deserialization ignored the widget map’s SRID and assumed 4326
(from: http://www.fresse.org/dateutils/changelog.html)
This is dateutils v0.4.3.
This is a feature release.
Features:
base expansion works for times now
Bugfixes:
durations in months weeks and days are calculated like
durations in months and days, consistency
am and pm indicators in inputs are handled properly
military midnights decay when not printed in full
See info page examples and/or README.
Changelog:
0.18.0:
Changes affecting backwards compatibility
Breaking changes in the standard library
The [] proc for strings now raises an IndexError exception when the specified slice is out of bounds. See issue #6223 for more details. You can use substr(str, start, finish) to get the old behaviour back, see this commit for an example.
strutils.split and strutils.rsplit with an empty string and a separator now returns that empty string. See issue #4377.
Arrays of char cannot be converted to cstring anymore, pointers to arrays of char can! This means $ for arrays can finally exist in system.nim and do the right thing. This means $myArrayOfChar changed its behaviour! Compile with -d:nimNoArrayToString to see where to fix your code.
reExtended is no longer default for the re constructor in the re module.
The behavior of $ has been changed for all standard library collections. The collection-to-string implementations now perform proper quoting and escaping of strings and chars.
newAsyncSocket taking an AsyncFD now runs setBlocking(false) on the fd.
mod and bitwise and do not produce range subtypes anymore. This turned out to be more harmful than helpful and the language is simpler without this special typing rule.
formatFloat/formatBiggestFloat now support formatting floats with zero precision digits. The previous precision = 0 behavior (default formatting) is now available via precision = -1.
Moved from stdlib into Nimble packages:
basic2d deprecated: use glm, arraymancer, neo, or another package instead
basic3d deprecated: use glm, arraymancer, neo, or another package instead
gentabs
libuv
polynumeric
pdcurses
romans
libsvm
joyent_http_parser
Proc toCountTable now produces a CountTable with values correspoding to the number of occurrences of the key in the input. It used to produce a table with all values set to 1.
Counting occurrences in a sequence used to be:
let mySeq = @[1, 2, 1, 3, 1, 4]
var myCounter = initCountTable[int]()
for item in mySeq:
myCounter.inc item
Now, you can simply do:
let
mySeq = @[1, 2, 1, 3, 1, 4]
myCounter = mySeq.toCountTable()
If you use --dynlibOverride:ssl with OpenSSL 1.0.x, you now have to define openssl10 symbol (-d:openssl10). By default OpenSSL 1.1.x is assumed.
newNativeSocket is now named createNativeSocket.
newAsyncNativeSocket is now named createAsyncNativeSocket and it no longer raises an OS error but returns an osInvalidSocket when creation fails.
The securehash module is now deprecated. Instead import std / sha1.
The readPasswordFromStdin proc has been moved from the rdstdin to the terminal module, thus it does not depend on linenoise anymore.
Breaking changes in the compiler
\n is now only the single line feed character like in most other programming languages. The new platform specific newline escape sequence is written as \p. This change only affects the Windows platform.
The overloading rules changed slightly so that constrained generics are preferred over unconstrained generics. (Bug #6526)
We changed how array accesses “from backwards” like a[^1] or a[0..^1] are implemented. These are now implemented purely in system.nim without compiler support. There is a new “heterogenous” slice type system.HSlice that takes 2 generic parameters which can be BackwardsIndex indices. BackwardsIndex is produced by system.^. This means if you overload [] or []= you need to ensure they also work with system.BackwardsIndex (if applicable for the accessors).
The parsing rules of if expressions were changed so that multiple statements are allowed in the branches. We found few code examples that now fail because of this change, but here is one:
t[ti] = if exp_negative: '-' else: '+'; inc(ti)
This now needs to be written as:
t[ti] = (if exp_negative: '-' else: '+'); inc(ti)
The experimental overloading of the dot . operators now take an untyped parameter as the field name, it used to be a static[string]. You can use when defined(nimNewDot) to make your code work with both old and new Nim versions. See special-operators for more information.
yield (or await which is mapped to yield) never worked reliably in an array, seq or object constructor and is now prevented at compile-time.
Library additions
Added sequtils.mapLiterals for easier construction of array and tuple literals.
Added system.runnableExamples to make examples in Nim’s documentation easier to write and test. The examples are tested as the last step of nim doc.
Implemented getIoHandler proc in the asyncdispatch module that allows you to retrieve the underlying IO Completion Port or Selector[AsyncData] object in the specified dispatcher.
For string formatting / interpolation a new module called strformat has been added to the stdlib.
The ReadyKey type in the selectors module now contains an errorCode field to help distinguish between Event.Error events.
Implemented an accept proc that works on a SocketHandle in nativesockets.
Added algorithm.rotateLeft.
Added typetraits.$ as an alias for typetraits.name.
Added system.getStackTraceEntries that allows you to access the stack trace in a structured manner without string parsing.
Added parseutils.parseSaturatedNatural.
Added macros.unpackVarargs.
Added support for asynchronous programming for the JavaScript backend using the asyncjs module.
Added true color support for some terminals. Example:
import colors, terminal
const Nim = "Efficient and expressive programming."
var
fg = colYellow
bg = colBlue
int = 1.0
enableTrueColors()
for i in 1..15:
styledEcho bgColor, bg, fgColor, fg, Nim, resetStyle
int -= 0.01
fg = intensity(fg, int)
setForegroundColor colRed
setBackgroundColor colGreen
styledEcho "Red on Green.", resetStyle
Library changes
echo now works with strings that contain \0 (the binary zero is not shown) and nil strings are equal to empty strings.
JSON: Deprecated getBVal, getFNum, and getNum in favour of getBool, getFloat, getBiggestInt. A new getInt procedure was also added.
rationals.toRational now uses an algorithm based on continued fractions. This means its results are more precise and it can’t run into an infinite loop anymore.
os.getEnv now takes an optional default parameter that tells getEnv what to return if the environment variable does not exist.
The random procs in random.nim have all been deprecated. Instead use the new rand procs. The module now exports the state of the random number generator as type Rand so multiple threads can easily use their own random number generators that do not require locking. For more information about this rename see issue #6934
writeStackTrace is now proclaimed to have no IO effect (even though it does) so that it is more useful for debugging purposes.
db_mysql module: DbConn is now a distinct type that doesn’t expose the details of the underlying PMySQL type.
parseopt2 is now deprecated, use parseopt instead.
Language additions
It is now possible to forward declare object types so that mutually recursive types can be created across module boundaries. See package level objects for more information.
Added support for casting between integers of same bitsize in VM (compile time and nimscript). This allows to, among other things, reinterpret signed integers as unsigned.
Custom pragmas are now supported using pragma pragma, please see language manual for details.
Standard library modules can now also be imported via the std pseudo-directory. This is useful in order to distinguish between standard library and nimble package imports:
import std / [strutils, os, osproc]
import someNimblePackage / [strutils, os]
Language changes
The unary < is now deprecated, for .. < use ..< for other usages use the pred proc.
Bodies of for loops now get their own scope:
# now compiles:
for i in 0..4:
let i = i + 1
echo i
To make Nim even more robust the system iterators .. and countup now only accept a single generic type T. This means the following code doesn’t die with an “out of range” error anymore:
var b = 5.Natural
var a = -5
for i in a..b:
echo i
atomic and generic are no longer keywords in Nim. generic used to be an alias for concept, atomic was not used for anything.
The memory manager now uses a variant of the TLSF algorithm that has much better memory fragmentation behaviour. According to http://www.gii.upv.es/tlsf/ the maximum fragmentation measured is lower than 25%. As a nice bonus alloc and dealloc became O(1) operations.
The compiler is now more consistent in its treatment of ambiguous symbols: Types that shadow procs and vice versa are marked as ambiguous (bug #6693).
codegenDecl pragma now works for the JavaScript backend. It returns an empty string for function return type placeholders.
Extra semantic checks for procs with noreturn pragma: return type is not allowed, statements after call to noreturn procs are no longer allowed.
Noreturn proc calls and raising exceptions branches are now skipped during common type deduction in if and case expressions. The following code snippets now compile:
import strutils
let str = "Y"
let a = case str:
of "Y": true
of "N": false
else: raise newException(ValueError, "Invalid boolean")
let b = case str:
of nil, "": raise newException(ValueError, "Invalid boolean")
elif str.startsWith("Y"): true
elif str.startsWith("N"): false
else: false
let c = if str == "Y": true
elif str == "N": false
else:
echo "invalid bool"
quit("this is the end")
Pragmas now support call syntax, for example: {.exportc"myname".} and {.exportc("myname").}
The deprecated pragma now supports a user-definable warning message for procs.
proc bar {.deprecated: "use foo instead".} =
return
bar()
Tool changes
The nim doc command is now an alias for nim doc2, the second version of the documentation generator. The old version 1 can still be accessed via the new nim doc0 command.
Nim’s rst2html command now supports the testing of code snippets via an RST extension that we called :test:::
.. code-block:: nim
:test:
# shows how the 'if' statement works
if true: echo "yes"
0.17.0:
Changes affecting backwards compatibility
There are now two different HTTP response types, Response and AsyncResponse. AsyncResponse’s body accessor returns a Future[string]!
Due to this change you may need to add another await in your code.
httpclient.request now respects the maxRedirects option. Previously redirects were handled only by get and post procs.
The IO routines now raise EOFError for the “end of file” condition. EOFError is a subtype of IOError and so it’s easier to distinguish between “error during read” and “error due to EOF”.
A hash procedure has been added for cstring type in hashes module. Previously, hash of a cstring would be calculated as a hash of the pointer. Now the hash is calculated from the contents of the string, assuming cstring is a null-terminated string. Equal string and cstring values produce an equal hash value.
Macros accepting varargs arguments will now receive a node having the nkArgList node kind. Previous code expecting the node kind to be nkBracket may have to be updated.
memfiles.open now closes file handles/fds by default. Passing allowRemap=true to memfiles.open recovers the old behavior. The old behavior is only needed to call mapMem on the resulting MemFile.
posix.nim: For better C++ interop the field sa_sigaction*: proc (x: cint, y: var SigInfo, z: pointer) {.noconv.} was changed to sa_sigaction*: proc (x: cint, y: ptr SigInfo, z: pointer) {.noconv.}.
The compiler doesn’t infer effects for .base methods anymore. This means you need to annotate them with .gcsafe or similar to clearly declare upfront every implementation needs to fullfill these contracts.
system.getAst templateCall(x, y) now typechecks the templateCall properly. You need to patch your code accordingly.
macros.getType and macros.getTypeImpl for an enum will now return an AST that is the same as what is used to define an enum. Previously the AST returned had a repeated EnumTy node and was missing the initial pragma node (which is currently empty for an enum).
macros.getTypeImpl now correctly returns the implementation for a symbol of type tyGenericBody.
If the dispatcher parameter’s value used in multi method is nil, a NilError exception is raised. The old behavior was that the method would be a nop then.
posix.nim: the family of ntohs procs now takes unsigned integers instead of signed integers.
In Nim identifiers en-dash (Unicode point U+2013) is not an alias for the underscore anymore. Use underscores instead.
When the requiresInit pragma is applied to a record type, future versions of Nim will also require you to initialize all the fields of the type during object construction. For now, only a warning will be produced.
The Object construction syntax now performs a number of additional safety checks. When fields within case objects are initialiazed, the compiler will now demand that the respective discriminator field has a matching known compile-time value.
On posix, the results of waitForExit, peekExitCode, execCmd will return 128 + signal number if the application terminates via signal.
ospaths.getConfigDir now conforms to the XDG Base Directory specification on non-Windows OSs. It returns the value of the XDG_CONFIG_DIR environment variable if it is set, and returns the default configuration directory, “~/.config/”, otherwise.
Renamed the line info node parameter for newNimNode procedure.
The parsing rules of do changed.
foo bar do:
baz
Used to be parsed as:
foo(bar(do:
baz))
Now it is parsed as:
foo(bar, do:
baz)
Library Additions
Added system.onThreadDestruction.
Added dial procedure to networking modules: net, asyncdispatch, asyncnet. It merges socket creation, address resolution, and connection into single step. When using dial, you don’t have to worry about the IPv4 vs IPv6 problem. httpclient now supports IPv6.
Added to macro which allows JSON to be unmarshalled into a type.
import json
type
Person = object
name: string
age: int
let data = """
{
"name": "Amy",
"age": 4
}
"""
let node = parseJson(data)
let obj = node.to(Person)
echo(obj)
Tool Additions
The finish tool can now download MingW for you should it not find a working MingW installation.
Compiler Additions
The name mangling rules used by the C code generator changed. Most of the time local variables and parameters are not mangled at all anymore. This improves the debugging experience.
The compiler produces explicit name mangling files when --debugger:native is enabled. Debuggers can read these .ndi files in order to improve debugging Nim code.
Language Additions
The try statement’s except branches now support the binding of a caught exception to a variable:
try:
raise newException(Exception, "Hello World")
except Exception as exc:
echo(exc.msg)
This replaces the getCurrentException and getCurrentExceptionMsg() procedures, although these procedures will remain in the stdlib for the foreseeable future. This new language feature is actually implemented using these procedures.
In the near future we will be converting all exception types to refs to remove the need for the newException template.
A new pragma .used can be used for symbols to prevent the “declared but not used” warning. More details can be found here.
The popular “colon block of statements” syntax is now also supported for let and var statements and assignments:
template ve(value, effect): untyped =
effect
value
let x = ve(4):
echo "welcome to Nim!"
This is particularly useful for DSLs that help in tree construction.
Language changes
The .procvar annotation is not required anymore. That doesn’t mean you can pass system.$ to map just yet though.
Changelog:
8.0.2:
Version 8.0.2 contains two small bug fixes: proper handling of pages
with no content, and better handling of files with loops following cross
reference tables.
8.0.1:
This is a very minor update from 8.0.0. It just contains two small
enhancements that missed the train: handle zlib streams with data checksum
errors, and, in the command line tool, allow specification of page numbers
counting from the end in page ranges.
SciPy 1.0.1 is a bug-fix release with no new features compared to 1.0.0.
Probably the most important change is a fix for an incompatibility between
SciPy 1.0.0 and numpy.f2py in the NumPy master branch.
17.1:
Fix utils.canonicalize_version when supplying non PEP 440 versions.
17.0:
Drop support for python 2.6, 3.2, and 3.3.
Define minimal pyparsing version to 2.0.2.
Add epoch, release, pre, dev, and post attributes to Version and LegacyVersion.
Add Version().is_devrelease and LegacyVersion().is_devrelease to make it easy to determine if a release is a development release.
Add utils.canonicalize_version to canonicalize version strings or Version instances
Version 22.0.0 "At The End Of The World"
New features and enhancements
* mkvmerge, MKVToolNix GUI multiplexer: AC-3, DTS, TrueHD: added an option for
removing/minimizing the dialog normalization gain for all supported types of
the mentioned codecs.
* mkvmerge: AV1: added support for reading AV1 video from IVF, WebM and
Matroska files.
* mkvmerge: FLAC: mkvmerge can now ignore ID3 tags in FLAC files which would
otherwise prevent mkvmerge from detecting the file type.
* mkvinfo: the size and positions of frames within "SimpleBlock" and
"BlockGroup" elements are now shown the same way they're shown for other
elements (by adding the `-v -v` and `-z` options).
* MKVToolNix GUI: multiplexer: added options for deriving the track languages
from the file name by searching for ISO 639-1/639-2 language codes or
language names enclosed in non-word, non-space characters (e.g. "…[ger]…"
for German or "…+en+…" for English).
* MKVToolNix GUI: info tool: implemented reading all elements in the file
after the first cluster. Only top-level elements are shown; child elements
are only loaded on demand.
* MKVToolNix GUI: info tool: added a context menu with the option to show a
hex dump of the element with the bytes making up the EBML ID and the size
portion highlighted in different colors. In-depth highlighting is done for
the data in `SimpleBlock` and `Block` elements.
* MKVToolNix GUI: chapter editor: added an option to remove all end timestamps
to the "additional modifications" dialog.
Bug fixes
* mkvmerge: MP4 reader: fixed reading the ESDS audio header atom if it is
located inside a "wave" atom inside the "stsd" atom.
* mkvmerge: MP4 reader: AAC audio tracks signalling eight channels in the
track headers but only seven in the codec-specific configuration will be
treated as having eight channels.
* mkvmerge: MPEG TS reader: fixed wrong handling of the continuity counter for
TS packets that signal that TS payload is present but where the adaptation
field spans the whole TS packet.
* mkvmerge: the 'document type version' and 'document type read version'
header fields are now set depending on which elements are actually written,
not on which features are active (e.g. if a `SimpleBlock` is never written,
then the 'read version' won't be set to 2 anymore).
* mkvmerge: the 'document type version' header field is now set to 4 correctly
if any of the version 4 Matroska elements is written.
* mkvinfo: summary mode: the file positions reported for frames in
`BlockGroup` elements did not take the bytes used for information such as
timestamp, track number flags or lace sizes into account. They were
therefore too low.
* mkvpropedit, MKVToolNix GUI header editor: the 'document type version' and
'document type read version' header fields are now updated if elements
written by the changes require higher version numbers.
* mkvpropedit, MKVToolNix GUI header editor: mandatory elements can now be
deleted if there's a default value for them in the specifications.
* source code: fixed a compilation error on FreeBSD with clang++ 5.0.
Build system changes
* A compilation database (in the form of a file `compile_commands.json`) can
be built automatically if the variable `BUILD_COMPILATION_DATABASE` is set
to `yes` (e.g. as `rake BUILD_COMPILATION_DATABASE=yes`).
The major changes of this version:
* Added support Hierarchical Progressive Surveys [HiPS] (Hello visualization of
multiwavelength universe in the Stellarium)
* Updated and extended AstroCalc tool
* Added support a Hickson Compact Group collection
* Updated code and data
Some of the more significant changes in CMake 3.11 are:
The Makefile Generators and the “Ninja” generator learned to add
compiler launcher tools along with the compiler for the “Fortran”
language (“C”, “CXX”, and “CUDA” were supported previously). See the
“CMAKE_<LANG>_COMPILER_LAUNCHER” variable and
“<LANG>_COMPILER_LAUNCHER” target property for details.
Visual Studio Generators learned to support the “COMPILE_LANGUAGE”
“generator expression” in target-wide “COMPILE_DEFINITIONS”,
“INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See
generator expression documentation for caveats.
The “Xcode” Generator learned to support the “COMPILE_LANGUAGE”
“generator expression” in target-wide “COMPILE_DEFINITIONS” and
“INCLUDE_DIRECTORIES”. It previously supported only
“COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression
documentation for caveats.
“add_library()” and “add_executable()” commands can now be called
without any sources and will not complain as long as sources are
added later via the “target_sources()” command.
The “target_compile_definitions()” command learned to set the
“INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets.
The “target_compile_features()” command learned to set the
“INTERFACE_COMPILE_FEATURES” property on Imported Targets.
The “target_compile_options()” command learned to set the
“INTERFACE_COMPILE_OPTIONS” property on Imported Targets.
The “target_include_directories()” command learned to set the
“INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets.
The “target_sources()” command learned to set the
“INTERFACE_SOURCES” property on Imported Targets.
The “target_link_libraries()” command learned to set the
“INTERFACE_LINK_LIBRARIES” property on Imported Targets.
The “COMPILE_DEFINITIONS” source file property learned to support
“generator expressions”.
A “COMPILE_OPTIONS” source file property was added to manage list
of options to pass to the compiler.
When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple
parallel “moc” or “uic” processes to reduce the build time. A new
“CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target
property may be set to specify the number of parallel “moc” or “uic”
processes to start. The default is derived from the number of CPUs
on the host.
resolves errors on OSX using the build environment:
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
sort: The strings compared were `ZERMELO FR\304NKEL SET THEORY\tQNDT\tJF' and `ZERMELO SET THEORY\tQNMY\tOT'.
when building. Joerg provided pointers on using the build environment.
CVE-2017-16879
summary relnotes:
This release is designed to be source-compatible with ncurses 5.0
through 6.0; providing extensions to the application binary interface (ABI).
Although the source can still be configured to support the ncurses 5 ABI,
the intent of the release is to provide extensions to the ncurses 6 ABI:
improve integration of tput and tset
provide support for extended numeric capabilities.
The lengthy details are at http://invisible-island.net/ncurses/announce.html
This was conditional on NetBSD before 3.0. The corresponding stanza in the
Makefile is long gone, so this is probably an oversight from that time.
Nothing in the build itself pulls in pthread-stublib.
OpenLDAP 2.4.46 Release (2018/03/22)
Fixed libldap connection delete callbacks when TLS fails to start
Fixed libldap to not reuse tls_session if TLS hostname check fails
Fixed libldap cross-compiling with OpenSSL 1.1
Fixed libldap OpenSSL 1.1.1 compatibility with BIO_method
Fixed libldap MozNSS CA certificate hash matching
Fixed libldap MozNSS with PEM certs when also using an NSS cert db
Fixed libldap MozNSS initialization
Fixed libldap GnuTLS with GNUTLS_E_AGAIN
Fixed libldap memory leak with cancel operations
Fixed slapd Eventlog registry key creation on 64-bit Windows
Fixed slapd to maintain SSF across SASL binds
Fixed slapd syncrepl deadlock when updating cookie
Fixed slapd syncrepl callback to always be last in the stack
Fixed slapd telephoneNumberNormalize when the value is spaces and hyphens
Fixed slapd CSN queue processing
Fixed slapd-ldap TLS connection timeout with high latency connections
Fixed slapd-ldap to ignore unknown schema when omit-unknown-schema is set
Fixed slapd-mdb with an optimization for long lived read transactions
Fixed slapd-meta assert when olcDbRewrite is modified
Fixed slapd-sock with LDAP_MOD_INCREMENT operations
Fixed slapo-accesslog cleanup to only occur on failed operations
Fixed slapo-dds entryTTL to actually decrease as per RFC 2589
Fixed slapo-syncprov memory leak with delete operations
Fixed slapo-syncprov to not clear pending operation when checkpointing
Fixed slapo-syncprov to correctly record contextCSN values in the accesslog
Fixed slapo-syncprov not to log checkpoints to accesslog db
Fixed slapo-syncprov to process changes from this SID on REFRESH
Fixed slapo-syncprov session log parsing to not block other operations
Build Environment
Fixed Windows build with newer MINGW version
Fixed compiler warnings and removed unused variables
Contrib
Fixed ldapc++ Control structure
Documentation
Delete stub manpage for back-ldbm
Fixed ldap_bind(3) to mention the LDAP_SASL_SIMPLE mechanism
Fixed ldap.conf(5) to note SASL_MECH/SASL_REALM are no longer user-only
Fixed slapd-config(5) typo for olcTLSCipherSuite
Fixed slapo-syncprov(5) indexing requirements
STABLE Version 2017.3.2:
Delegated processing of special reparse points to external plugins
Allowed kernel cacheing by lowntfs-3g when not using Posix ACLs
Enabled fallback to read-only mount when the volume is hibernated
Made a full check for whether an extended attribute is allowed
Moved secaudit and usermap to ntfsprogs (now ntfssecaudit and ntfsusermap)
Enabled encoding broken UTF-16 into broken UTF-8
Autoconfigured selecting <sys/sysmacros.h> vs <sys/mkdev>
Allowed using the full library API on systems without extended attributes support
Fixed DISABLE_PLUGINS as the condition for not using plugins
Corrected validation of multi sector transfer protected records
Denied creating/removing files from $Extend
Returned the size of locale encoded target as the size of symlinks
Release 1.2.6 includes a variety of fixes including a connection-pool related issue which could cause a connection to be added to the pool without all of the "connect" event handlers being called.
0.11.3
No changes, just reupload of 0.11.2 after fixing automatic release conditions in Travis.
0.11.2
proxy: py3 NameError basestring
0.11.1
Fix HTTP(S)ConnectionWithTimeout AttributeError proxy_info
0.11.0
Add DigiCert Global Root G2 serial 033af1e6a711a9a0bb2864b11d09fae5
python3 proxy support
If no_proxy environment value ends with comma then proxy is not used
fix UnicodeDecodeError using socks5 proxy
Respect NO_PROXY env var in proxy_info_from_url
NO_PROXY=bar was matching foobar (suffix without dot delimiter)
New behavior matches curl/wget:
- no_proxy=foo.bar will only skip proxy for exact hostname match
- no_proxy=.wild.card will skip proxy for any.subdomains.wild.card
Bugfix for Content-Encoding: deflate