V0.16.1
---------
* Consider a toolbar stylable if it contains a tabbar that isn't inside the
same window.
* Be more explicit about the color group when getting colors from the standard
palette.
Version 3.5
* add support for Python 3.8
* drop support for Python 2
* create NLTK's own Tokenizer class distinct from the Treebank reference tokeniser
* update Vader sentiment analyser
* fix JSON serialization of some PoS taggers
* minor improvements in grammar.CFG, Vader, pl196x corpus reader, StringTokenizer
* change implementation <= and >= for FreqDist so they are partial orders
* make FreqDist iterable
* correctly handle Penn Treebank trees with a unlabeled branching top node.
Release 0.16.0
--------------
- Fix a problem in the constructors of of Parallel backends classes that
inherit from the `AutoBatchingMixin` that prevented the dask backend to
properly batch short tasks.
- Fix a problem in the way the joblib dask backend batches calls that would
badly interact with the dask callable pickling cache and lead to wrong
results or errors.
- Prevent a dask.distributed bug from surfacing in joblib's dask backend
during nested Parallel calls (due to joblib's auto-scattering feature)
- Workaround for a race condition after Parallel calls with the dask backend
that would cause low level warnings from asyncio coroutines:
Jesse Smith <jessefrgsmith@yahoo.ca> -> 5.6
- When Bftpd is run with the -n flag (no configuration file)
default ratio settings prevented files from downloading.
Samuel Hsu has patched Bftpd to assume no ratio ("") is
treated the same as "none" or no restrictions.
- Fixed potential overflow in buffer for directory listing.
- Used calloc() and single strlen() call to avoid having
a string without a NULL terminator mystring library.
changes from 1.13 to 1.14
-------------------------
* Add modules for the following number formats:
- УНП, UNP (Учетный номер плательщика, the Belarus VAT number)
- AIC (Italian code for identification of drugs) (thanks Fabrizio Montanari)
- Company Number (מספר חברה, or short ח.פ. Israeli company number)
(thanks Leandro Regueiro)
- NIT (Número de Identificación Tributaria, El Salvador tax number)
(thanks Leandro Regueiro)
- USCC (Unified Social Credit Code, 统一社会信用代码, China tax number)
(thanks Leandro Regueiro)
- UEN (Singapore's Unique Entity Number) (thanks Leandro Regueiro)
- BRN (사업자 등록 번호, South Korea Business Registration Number)
(thanks Leandro Regueiro)
- MST (Mã số thuế, Vietnam tax number) (thanks Leandro Regueiro)
- NPWP (Nomor Pokok Wajib Pajak, Indonesian VAT Number)
(thanks Leandro Regueiro)
- UBN (Unified Business Number, 統一編號, Taiwanese tax number)
(thanks Leandro Regueiro)
- UTR (United Kingdom Unique Taxpayer Reference) (thanks Mohammed Salman)
- ONRC (Ordine din Registrul Comerţului, Romanian Trade Register identifier)
(thanks dotbit1)
- GS1-128 (Standard to encode product information in Code 128 barcodes)
(thanks Sergi Almacellas Abellana)
- VATIN (International value added tax identification number)
(thanks Leandro Regueiro)
* Fix missing Dominican Republic NCF document types (thanks Gustavo Valverde)
* Fix issue with extra plus or minus in Swedish Personnummer
(thanks balderman)
* Update Dominican Republic DGII endpoint (thanks Gustavo Valverde)
* Support validating temporary Finnish personal identity codes
(thanks Aleksi Hoffman)
* Fix misleading docstring in se.personnummer.get_birth_date()
(thanks Leon Sandøy)
* Improve birth date validation in Danish CPR (thanks Leon Sandøy)
* Add birth date validating in Norwegian Fødselsnummer (thanks Leon Sandøy)
* Add missing vat aliases for a number of countries (thanks Leandro Regueiro)
* Use HTTPS instead of HTTP fox VIES lookups (thanks grzekru)
* Switch to HTTPS URLs where possible
* Support 6 as third digit in Ecuadorian CI (thanks Christopher Ormaza)
* Add an online check for South Korean BRN
* Fix unescaping in Dominican Republic RNC online check (thanks evaldez89)
* Support foreign residents for Romanian CNP (thanks dotbit1)
2.8:
- new feature: SafeSync strategy (SAFE_SYNC) for using a synchronous Connection object in a multi-threading program
- new feature: LDIF_LINE_LENGTH for specifying line length wrapping in ldif-content output (default to 78 as per RFC 2849)
- fixed requirements for pyasn1
- fixed regression for ldapi connections
- fixed issue with lazy connection requesting server info on every operation
- fixed searching by objectGUID in hex format (thanks Matt)
- added iso_format parameter to utils.format_json to return dates in ISO format (thanks Hugh)
- fixed issue with Referral attributes not returned by the referral server (thanks Nazarii)
- fixed lost error message in auto_bind (thanks cfelder)
- fixed delete_old_dn in mock connections (thanks kpinc)
- fixed a ResourceWarning with lazy connections
- fixed entry_to_json() that in python2 modified the original entry value (thanks Dirk-Jan)
- tests desnt' raise Exception if real server is not present
asyncpg v0.21.0
Improvements
Add support for password functions (useful for RDS IAM auth)
Add support for connection termination listeners
Update CI matrix, aarch64 builds
Fixes
Fix possible uninitalized pointer access on unexpected array
message data (CVE-2020-17446)
Fix Connection class _copy_in private method
Bump pgproto to fix compilation issues
Improve pool documentation examples
Update usage.rst
Fix links in connection documentation
Fix usage documentation for hstore
Fix compiler warnings
Changelog extracted from the unspecific changelog.md on the 1.2.6 tag.
Unable to get a Changelog diff for 1.2.4 and 1.2.6.
# v1.4.0 - yyyy-mm-dd
## Standard library additions and changes
For `net` and `nativesockets`, an `inheritable` flag has been added to all
`proc`s that create sockets, allowing the user to control whether the
resulting socket is inheritable. This flag is provided to ease the writing of
multi-process servers, where sockets inheritance is desired.
For a transistion period, define `nimInheritHandles` to enable file handle
inheritance by default. This flag does **not** affect the `selectors` module
due to the differing semantics between operating systems.
`system.setInheritable` and `nativesockets.setInheritable` is also introduced
for setting file handle or socket inheritance. Not all platform have these
`proc`s defined.
- The file descriptors created for internal bookkeeping by `ioselector_kqueue`
and `ioselector_epoll` will no longer be leaked to child processes.
- `strutils.formatFloat` with `precision = 0` has been restored to the version
1 behaviour that produces a trailing dot, e.g. `formatFloat(3.14159, precision = 0)`
is now `3.`, not `3`.
- `critbits` adds `commonPrefixLen`.
- `relativePath(rel, abs)` and `relativePath(abs, rel)` used to silently give wrong results
(see #13222); instead they now use `getCurrentDir` to resolve those cases,
and this can now throw in edge cases where `getCurrentDir` throws.
`relativePath` also now works for js with `-d:nodejs`.
- JavaScript and NimScript standard library changes: `streams.StringStream` is
now supported in JavaScript, with the limitation that any buffer `pointer`s
used must be castable to `ptr string`, any incompatible pointer type will not
work. The `lexbase` and `streams` modules used to fail to compile on
NimScript due to a bug, but this has been fixed.
The following modules now compile on both JS and NimScript: `parsecsv`,
`parsecfg`, `parsesql`, `xmlparser`, `htmlparser` and `ropes`. Additionally
supported for JS is `cstrutils.startsWith` and `cstrutils.endsWith`, for
NimScript: `json`, `parsejson`, `strtabs` and `unidecode`.
- Added `streams.readStr` and `streams.peekStr` overloads to
accept an existing string to modify, which avoids memory
allocations, similar to `streams.readLine` (#13857).
- Added high-level `asyncnet.sendTo` and `asyncnet.recvFrom`. UDP functionality.
- `paramCount` & `paramStr` are now defined in os.nim instead of nimscript.nim for nimscript/nimble.
- `dollars.$` now works for unsigned ints with `nim js`
- Improvements to the `bitops` module, including bitslices, non-mutating versions
of the original masking functions, `mask`/`masked`, and varargs support for
`bitand`, `bitor`, and `bitxor`.
- `sugar.=>` and `sugar.->` changes: Previously `(x, y: int)` was transformed
into `(x: auto, y: int)`, it now becomes `(x: int, y: int)` in consistency
with regular proc definitions (although you cannot use semicolons).
Pragmas and using a name are now allowed on the lefthand side of `=>`. Here
is an aggregate example of these changes:
```nim
import sugar
foo(x, y: int) {.noSideEffect.} => x + y
# is transformed into
proc foo(x: int, y: int): auto {.noSideEffect.} = x + y
```
- The fields of `times.DateTime` are now private, and are accessed with getters and deprecated setters.
- The `times` module now handles the default value for `DateTime` more consistently. Most procs raise an assertion error when given
an uninitialized `DateTime`, the exceptions are `==` and `$` (which returns `"Uninitialized DateTime"`). The proc `times.isInitialized`
has been added which can be used to check if a `DateTime` has been initialized.
- Fix a bug where calling `close` on io streams in osproc.startProcess was a noop and led to
hangs if a process had both reads from stdin and writes (eg to stdout).
- The callback that is passed to `system.onThreadDestruction` must now be `.raises: []`.
- The callback that is assigned to `system.onUnhandledException` must now be `.gcsafe`.
- `osproc.execCmdEx` now takes an optional `input` for stdin, `workingDir` and `env`
parameters.
- Added a `ssl_config` module containing lists of secure ciphers as recommended by
[Mozilla OpSec](https://wiki.mozilla.org/Security/Server_Side_TLS)
- `net.newContext` now defaults to the list of ciphers targeting
["Intermediate compatibility"](https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29)
per Mozilla's recommendation instead of `ALL`. This change should protect
users from the use of weak and insecure ciphers while still provides
adequate compatibility with the majority of the Internet.
- A new module `std/jsonutils` with hookable `jsonTo,toJson,fromJson` operations for json
serialization/deserialization of custom types was added.
- A new proc `heapqueue.find[T](heap: HeapQueue[T], x: T): int` to get index of element ``x``
was added.
- Added `rstgen.rstToLatex` convenience proc for `renderRstToOut` and `initRstGenerator`
with `outLatex` output.
- Added `os.normalizeExe`, e.g.: `koch` => `./koch`.
- `macros.newLit` now preserves named vs unnamed tuples; use `-d:nimHasWorkaround14720`
to keep old behavior.
- Added `random.gauss`, that uses the ratio of uniforms method of sampling from a Gaussian distribution.
- Added `typetraits.elementType` to get element type of an iterable.
- `typetraits.$` changes: `$(int,)` is now `"(int,)"` instead of `"(int)"`;
`$tuple[]` is now `"tuple[]"` instead of `"tuple"`;
`$((int, float), int)` is now `"((int, float), int)"` instead of `"(tuple of (int, float), int)"`
- Added `macros.extractDocCommentsAndRunnables` helper
- `strformat.fmt` and `strformat.&` support `= specifier`. `fmt"{expr=}"` now
expands to `fmt"expr={expr}"`.
- deprecations: `os.existsDir` => `dirExists`, `os.existsFile` => `fileExists`
- Added `jsre` module, [Regular Expressions for the JavaScript target.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)
- Made `maxLines` argument `Positive` in `logging.newRollingFileLogger`,
because negative values will result in a new file being created for each logged
line which doesn't make sense.
- Changed `log` in `logging` to use proper log level on JavaScript target,
e.g. `debug` uses `console.debug`, `info` uses `console.info`, `warn` uses `console.warn`, etc.
- Tables, HashSets, SharedTables and deques don't require anymore that the passed
initial size must be a power of two - this is done internally.
Proc `rightSize` for Tables and HashSets is deprecated, as it is not needed anymore.
`CountTable.inc` takes `val: int` again not `val: Positive`; I.e. it can "count down" again.
- Removed deprecated symbols from `macros` module, deprecated as far back as `0.15`.
## Language changes
- In newruntime it is now allowed to assign discriminator field without restrictions as long as case object doesn't have custom destructor. Discriminator value doesn't have to be a constant either. If you have custom destructor for case object and you do want to freely assign discriminator fields, it is recommended to refactor object into 2 objects like this:
```nim
type
MyObj = object
case kind: bool
of true: y: ptr UncheckedArray[float]
of false: z: seq[int]
proc `=destroy`(x: MyObj) =
if x.kind and x.y != nil:
deallocShared(x.y)
x.y = nil
```
Refactor into:
```nim
type
MySubObj = object
val: ptr UncheckedArray[float]
MyObj = object
case kind: bool
of true: y: MySubObj
of false: z: seq[int]
proc `=destroy`(x: MySubObj) =
if x.val != nil:
deallocShared(x.val)
x.val = nil
```
Luakit is a highly configurable browser framework based on the WebKit web
content engine and the GTK+ toolkit. It is very fast, extensible with Lua,
and licensed under the GNU GPLv3 license. It is primarily targeted at
power users, developers and anyone who wants to have fine-grained control
over their web browser's behaviour and interface.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not normally
be defined in the Makefile for an R package.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not normally
be defined in the Makefile for an R package.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not normally
be defined in the Makefile for an R package.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not normally
be defined in the Makefile for an R package.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not normally
be defined in the Makefile for an R package.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not normally
be defined in the Makefile for an R package.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not normally
be defined in the Makefile for an R package.
At some point CRAN added the https protocol to its repositories, but
this was never reflected in MASTER_SITE_R_CRAN. Add analogues for
all the http sites with responsive https servers.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not be
defined in a Makefile for an R package.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not be
define in a Makefile for an R package.
MASTER_SITES is defined in math/R/Makefile.extension, which should be
included by all R packages. Therefore, MASTER_SITES should not normally
be defined in the Makefile for an R package.
BSD make does not know the $< variable in explicit rules, it only knows
it for inference rules like ".c.o". This resulted in $< expanding to an
empty string, which in turn got the build stuck because it tried to read
from stdin. But not in parallel mode, where stdin was redirected to an
empty file, resulting in an empty PostScript file being installed.
Fixes PR pkg/55539.
FastFlow: high-performance parallel patterns and building blocks in C++
FastFlow is a programming library implemented in modern C++ and
targeting multi/many-cores (there exists an experimental version based
on ZeroMQ targeting distributed systems). It offers both a set of
high-level ready-to-use parallel patterns and a set of mechanisms and
composable components (called building blocks) to support low-latency
and high-throughput data-flow streaming networks.
FastFlow simplifies the development of parallel applications modelled
as a structured directed graph of processing nodes. The graph of
concurrent nodes is constructed by the assembly of sequential and
parallel building blocks as well as higher-level easy-to-use
components (i.e. parallel patterns) modelling typical schemas of
parallel computations (e.g., pipeline, task-farm, parallel-for,
etc.). FastFlow efficiency stems from the optimized implementation of
the base communication and synchronization mechanisms and from its
layered software design.