Go 1.13 contains new functions in the errors package for wrapping error
values. This package contains compatibility code to provide equivalent
APIs for older Go versions too.
samurai is a ninja-compatible build tool written in C99 with a focus on
simplicity, speed, and portability.
samurai implements the ninja build language through version 1.9.0 except
for MSVC dependency handling (`deps = msvc`). It uses the same format
for `.ninja_log` and `.ninja_deps` as ninja, currently version 5 and 4
respectively.
It is feature-complete and supports most of the same options as ninja.
samurai requires various POSIX.1-2008 interfaces.
3.16.0:
New Features
============
Languages
---------
* CMake learned to support the Objective C ("OBJC") and Objective
C++ ("OBJCXX") languages. They may be enabled via the "project()"
and "enable_language()" commands. When "OBJC" or "OBJCXX" is
enabled, source files with the ".m" or ".mm", respectively, will be
compiled as Objective C or C++. Otherwise they will be treated as
plain C++ sources as they were before.
Compilers
---------
* The "Clang" compiler is now supported on "Solaris".
Platforms
---------
* On AIX, executables using the "ENABLE_EXPORTS" target property now
produce a linker import file with a ".imp" extension in addition to
the executable file. Plugins (created via "add_library()" with the
"MODULE" option) that use "target_link_libraries()" to link to the
executable for its symbols are now linked using the import file. The
"install(TARGETS)" command now installs the import file as an
"ARCHIVE" artifact.
* On AIX, runtime linking is no longer enabled by default. CMake
provides the linker enough information to resolve all symbols up
front. One may manually enable runtime linking for shared libraries
and/or loadable modules by adding "-Wl,-G" to their link flags (e.g.
in the "CMAKE_SHARED_LINKER_FLAGS" or "CMAKE_MODULE_LINKER_FLAGS"
variable). One may manually enable runtime linking for executables
by adding "-Wl,-brtl" to their link flags (e.g. in the
"CMAKE_EXE_LINKER_FLAGS" variable).
Command-Line
------------
* "cmake(1)" "-E" now supports "true" and "false" commands, which do
nothing while returning exit codes of 0 and 1, respectively.
* "cmake(1)" gained a "--trace-redirect=" command line option
that can be used to redirect "--trace" output to a file instead of
"stderr".
* The "cmake(1)" "--loglevel" command line option has been renamed
to "--log-level" to make it consistent with the naming of other
command line options. The "--loglevel" option is still supported to
preserve backward compatibility.
Commands
--------
* The "add_test()" command learned the option "COMMAND_EXPAND_LISTS"
which causes lists in the "COMMAND" argument to be expanded,
including lists created by generator expressions.
* The "file()" command learned a new sub-command,
"GET_RUNTIME_DEPENDENCIES", which allows you to recursively get the
list of libraries linked by an executable or library. This sub-
command is intended as a replacement for "GetPrerequisites".
* The "find_file()", "find_library()", "find_path()",
"find_package()", and "find_program()" commands have learned to
check the following variables to control searching
* "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH" - Controls the searching
the cmake-specific environment variables.
* "CMAKE_FIND_USE_CMAKE_PATH" - Controls the searching the cmake-
specific cache variables.
* "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH" - Controls the searching
cmake platform specific variables.
* "CMAKE_FIND_USE_PACKAGE_ROOT_PATH" - Controls the searching of
"_ROOT" variables.
* "CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH" - Controls the
searching the standard system environment variables.
* The "find_package()" command has learned to check the following
variables to control searching
* "CMAKE_FIND_USE_PACKAGE_REGISTRY" - Controls the searching the
cmake user registry.
* The "message()" command learned indentation control with the new
"CMAKE_MESSAGE_INDENT" variable.
* The "target_precompile_headers()" command was added to specify a
list of headers to precompile for faster compilation times.
Variables
---------
* The "CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS" variable has been
introduced to optionally initialize the
"CUDA_RESOLVE_DEVICE_SYMBOLS" target property.
* The "CMAKE_ECLIPSE_RESOURCE_ENCODING" variable was added to
specify the resource encoding for the the "Eclipse CDT4" extra
generator.
Properties
----------
* The "BUILD_RPATH" and "INSTALL_RPATH" target properties now
support "generator expressions".
* The "INSTALL_REMOVE_ENVIRONMENT_RPATH" target property was added
to remove compiler-defined "RPATH" entries from a target. This
property is initialized by the
"CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH" variable.
* The "PRECOMPILE_HEADERS" target property was added to specify a
list of headers to precompile for faster compilation times. Set it
using the "target_precompile_headers()" command.
* The "UNITY_BUILD" target property was added to tell generators to
batch include source files for faster compilation times.
* The "VS_CONFIGURATION_TYPE" target property now supports
"generator expressions".
* The "VS_DPI_AWARE" target property was added to tell Visual Studio
Generators to set the "EnableDpiAwareness" property in ".vcxproj"
files.
* The "XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING" target property was
added to tell the "Xcode" generator to set the value of the "Allow
debugging when using document Versions Browser" schema option.
Modules
-------
* The "FindDoxygen" module "doxygen_add_docs()" command gained a new
"USE_STAMP_FILE" option. When this option present, the custom
target created by the command will only re-run Doxygen if any of the
source files have changed since the last successful run.
* The "FindGnuTLS" module now provides an imported target.
* The "FindPackageHandleStandardArgs" module
"find_package_handle_standard_args()" command gained a new
"REASON_FAILURE_MESSAGE" option to specify a message giving the
reason for the failure.
* The "FindPkgConfig" module "pkg_search_module()" macro now defines
a "_MODULE_NAME" result variable containing the first
matching module name.
* The "FindPython3" and "FindPython" modules gained options to
control which "ABIs" will be searched.
* The "FindPython3", "FindPython2", and "FindPython" modules now
support direct specification of artifacts via cache entries.
Autogen
-------
* When using "AUTOMOC", CMake now generates the "-p" path prefix
option for "moc". This ensures that "moc" output files are
identical on different build setups (given, that the headers
compiled by "moc" are in an "include directory"). Also it ensures
that "moc" output files will compile correctly when the source
and/or build directory is a symbolic link.
The "moc" path prefix generation behavior can be configured by
setting the new "CMAKE_AUTOMOC_PATH_PREFIX" variable and/or
"AUTOMOC_PATH_PREFIX" target property.
CTest
-----
* "ctest(1)" now has the ability to serialize tests based on
resource requirements for each test. See Resource Allocation for
details.
* A new test property, "SKIP_REGULAR_EXPRESSION", has been added.
This property is similar to "FAIL_REGULAR_EXPRESSION" and
"PASS_REGULAR_EXPRESSION", but with the same meaning as
"SKIP_RETURN_CODE". This is useful, for example, in cases where the
user has no control over the return code of the test. For example,
in Catch2, the return value is the number of assertion failed,
therefore it is impossible to use it for "SKIP_RETURN_CODE".
CPack
-----
* "cpack(1)" learned support for multiple configurations for "-C"
option.
* The "CPack DEB Generator" is now able to format generic text
(usually used as the description for multiple CPack generators)
according to the Debian Policy Manual. See the
"CPACK_PACKAGE_DESCRIPTION_FILE" and
"CPACK_DEBIAN__DESCRIPTION" variables.
* The "CPack Archive Generator" learned to generate ".tar.zst"
packages with Zstandard compression.
Deprecated and Removed Features
===============================
* An explicit deprecation diagnostic was added for policy "CMP0067"
("CMP0066" and below were already deprecated). The "cmake-
policies(7)" manual explains that the OLD behaviors of all policies
are deprecated and that projects should port to the NEW behaviors.
* The "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" variable has been
deprecated. Use the "CMAKE_FIND_USE_PACKAGE_REGISTRY" variable
instead.
* The "GetPrerequisites" module has been deprecated, as it has been
superceded by "file(GET_RUNTIME_DEPENDENCIES)".
* The "CPACK_INSTALL_SCRIPT" variable has been deprecated in favor
of the new, more accurately named "CPACK_INSTALL_SCRIPTS" variable.
Other Changes
=============
* The "cmake(1)" "-C " option now evaluates the
initial cache script with "CMAKE_SOURCE_DIR" and "CMAKE_BINARY_DIR"
set to the top-level source and build trees.
* The "cmake(1)" "-E remove_directory" command-line tool, when given
the path to a symlink to a directory, now removes just the symlink.
It no longer removes content of the linked directory.
* The "ctest(1)" "--build-makeprogram" command-line option now
specifies the make program used when configuring a project with the
"Ninja" generator or the Makefile Generators.
* The "ExternalProject" module "ExternalProject_Add()" command has
been updated so that "GIT_SUBMODULES """ initializes no submodules.
See policy "CMP0097".
* The "FindGTest" module has been updated to recognize MSVC build
trees generated by GTest 1.8.1.
* The "project()" command no longer strips leading zeros in version
components. See policy "CMP0096".
* The Qt Compressed Help file is now named "CMake.qch", which no
longer contains the release version in the file name. When CMake is
upgraded in-place, the name and location of this file will remain
constant. Tools such as IDEs, help viewers, etc. should now be able
to refer to this file at a fixed location that remains valid across
CMake upgrades.
* "RPATH" entries are properly escaped in the generated CMake
scripts used for installation. See policy "CMP0095".
* When using "CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS" on Windows the auto-
generated exports are now updated only when the object files
providing the symbols are updated.
A Go implementation of JSON Web Tokens.
This library supports the parsing and verification as well as the
generation and signing of JWTs. Current supported signing algorithms
are HMAC SHA, RSA, RSA-PSS, and ECDSA, though hooks are present for
adding your own.
Guile-Gcrypt provides a Guile 2.x interface to a subset of the
GNU Libgcrypt crytographic library, which is itself used by the
GNU Privacy Guard (GPG).
Guile-Gcrypt provides modules for cryptographic hash functions,
message authentication codes (MAC), public-key cryptography, strong
randomness, and more. It is implemented using the foreign function
interface (FFI) of Guile.
guile-bytestructures is a library offering a system imitating the
type system of the C programming language, to be used on bytevectors.
C's type system works on raw memory, and Scheme ones work on
bytevectors which are an abstraction over raw memory in Scheme.
The system elevates types to first-class status.
go-compress is based on an optimized Deflate function,
which is used by gzip/zip/zlib packages.
It offers slightly better compression at lower compression
settings, and up to 3x faster encoding at highest compression level.
go-cpuid provides information about the CPU running
the current program.
CPU features are detected on startup, and kept for
fast access through the life of the application.
Currently x86 / x64 (AMD64) is supported, and no
external C (cgo) code is used, which should make
the library very easy to use.
You can access the CPU information by accessing the
shared CPU variable of the cpuid library.
go-bytebufferpool is an implementation of a pool of byte buffers
with anti-memory-waste protection.
The pool may waste limited amount of memory due to fragmentation.
This amount equals to the maximum total size of the
byte buffers in concurrent use.
pytest 5.2.1:
Bug Fixes
* Fix warnings about deprecated cmp attribute in attrs>=19.2.
pytest 5.2.0:
Deprecations
* Passing arguments to pytest.fixture() as positional arguments is deprecated - pass them as a keyword argument instead.
Features
* The scope parameter of @pytest.fixture can now be a callable that receives the fixture name and the config object as keyword-only parameters. See the docs for more information.
* New behavior of the --pastebin option: failures to connect to the pastebin server are reported, without failing the pytest run
Bug Fixes
* Fix “lexer” being used when uploading to bpaste.net from --pastebin to “text”.
* Fix --setup-only and --setup-show for custom pytest items.
Trivial/Internal Changes
* The HelpFormatter uses py.io.get_terminal_width for better width detection.
pytest 5.1.3:
Bug Fixes
* Fix pypy3.6 (nightly) on windows.
* Handle --fulltrace correctly with pytest.raises.
* Windows: Fix regression with conftest whose qualified name contains uppercase characters.
pytest 5.1.2:
Bug Fixes
* Fixed self reference in function-scoped fixtures defined plugin classes: previously self would be a reference to a test class, not the plugin class.
* Fixed long standing issue where fixture scope was not respected when indirect fixtures were used during parametrization.
* Fix decoding error when printing an error response from --pastebin.
* Chained exceptions in test and collection reports are now correctly serialized, allowing plugins like pytest-xdist to display them properly.
* Windows: Fix error that occurs in certain circumstances when loading conftest.py from a working directory that has casing other than the one stored in the filesystem (e.g., c:\test instead of C:\test).
pytest 5.1.1:
Bug Fixes
* Fixed TypeError when importing pytest on Python 3.5.0 and 3.5.1.
pytest 5.1.0:
Removals
* As per our policy, the following features have been deprecated in the 4.X series and are now removed:
Request.getfuncargvalue: use Request.getfixturevalue instead.
pytest.raises and pytest.warns no longer support strings as the second argument.
message parameter of pytest.raises.
pytest.raises, pytest.warns and ParameterSet.param now use native keyword-only syntax. This might change the exception message from previous versions, but they still raise TypeError on unknown keyword arguments as before.
pytest.config global variable.
tmpdir_factory.ensuretemp method.
pytest_logwarning hook.
RemovedInPytest4Warning warning type.
request is now a reserved name for fixtures.
For more information consult Deprecations and Removals in the docs.
* Removed unused support code for unittest2.
* pytest.fail, pytest.xfail and pytest.skip no longer support bytes for the message argument.
Features
* New Config.invocation_args attribute containing the unchanged arguments passed to pytest.main().
* New NUMBER option for doctests to ignore irrelevant differences in floating-point numbers. Inspired by Sébastien Boisgérault’s numtest extension for doctest.
Improvements
* JUnit XML now includes a timestamp and hostname in the testsuite tag.
* Time taken to run the test suite now includes a human-readable representation when it takes over 60 seconds, for example:
Bug Fixes
* Fix RuntimeError/StopIteration when trying to collect package with “__init__.py” only.
* Warnings issued during pytest_configure are explicitly not treated as errors, even if configured as such, because it otherwise completely breaks pytest.
* The XML file produced by --junitxml now correctly contain a <testsuites> root element.
* Fix issue where tmp_path and tmpdir would not remove directories containing files marked as read-only, which could lead to pytest crashing when executed a second time with the --basetemp option.
* Replace importlib_metadata backport with importlib.metadata from the standard library on Python 3.8+.
* Improve type checking for some exception-raising functions (pytest.xfail, pytest.skip, etc) so they provide better error messages when users meant to use marks (for example @pytest.xfail instead of @pytest.mark.xfail).
* Fixed internal error when test functions were patched with objects that cannot be compared for truth values against others, like numpy arrays.
* pytest.exit is now correctly handled in unittest cases. This makes unittest cases handle quit from pytest’s pdb correctly.
* Improved output when parsing an ini configuration file fails.
* Fix collection of staticmethod objects defined with functools.partial.
* Skip async generator test functions, and update the warning message to refer to async def functions.
Improved Documentation
* Add docstring for Testdir.copy_example.
Trivial/Internal Changes
* XML files of the xunit2 family are now validated against the schema by pytest’s own test suite to avoid future regressions.
* Cache node splitting function which can improve collection performance in very large test suites.
* Simplified internal SafeRepr class and removed some dead code.
* When invoking pytest’s own testsuite with PYTHONDONTWRITEBYTECODE=1, the test_xfail_handling test no longer fails.
* Replace manual handling of OSError.errno in the codebase by new OSError subclasses (PermissionError, FileNotFoundError, etc.).
pytest 5.0.1:
Bug Fixes
* Improve quoting in raises match failure message.
* Fixed using multiple short options together in the command-line (for example -vs) in Python 3.8+.
* --step-wise now handles xfail(strict=True) markers properly.
Improved Documentation
* Improve “Declaring new hooks” section in chapter “Writing Plugins”
pytest 5.0.0:
Important
This release is a Python3.5+ only release.
For more details, see our Python 2.7 and 3.4 support plan.
Removals
* Pytest no longer accepts prefixes of command-line arguments, for example typing pytest --doctest-mod inplace of --doctest-modules. This was previously allowed where the ArgumentParser thought it was unambiguous, but this could be incorrect due to delayed parsing of options for plugins.
* PytestDeprecationWarning are now errors by default.
* ExceptionInfo objects (returned by pytest.raises) now have the same str representation as repr, which avoids some confusion when users use print(e) to inspect the object.
From homepage:
pylint-common
Note: No longer maintained
This was used as part off prospector but has been removed. It is no longer maintained (in this fork at least) as most of the functions are now replaced by pylint builtins or are no longer valid.
Track and report code coverage for your package and (optionally) upload
the results to a coverage service like 'Codecov' <http://codecov.io> or
'Coveralls' <http://coveralls.io>.
Code coverage is a measure of the amount of code being exercised by a set
of tests. It is an indirect measure of test quality and completeness.
This package is compatible with any testing methodology or framework and
tracks coverage of both R code and compiled C/C++/FORTRAN code.
The motivation is to consider meson as an application, so there is only
one copy on the system, and as a python 3 program, it can build python 2
packages.
pytest-watch a zero-config CLI tool that runs pytest, and re-runs it when
a file in your project changes. It beeps on failures and can run arbitrary
commands on each passing and failing test run.
Thrift 0.12.0
New Languages
* Common LISP (cl)
* Swift
* Typescript (nodets)
Deprecated Languages
* Cocoa
Breaking Changes (since 0.11.0)
* Rust enum variants are now camel-cased instead of uppercased to conform to Rust naming conventions
* Support for golang 1.6 and earlier has been dropped.
* PHP now uses the PSR-4 loader by default instead of class maps.
* method signatures changed in the compiler's t_oop_generator.
* The C (GLib) compiler's handling of namespaces has been improved.
Known Issues (Blocker or Critical)
* build: use a single build system for thrift
* build: bootstrap.sh is missing from source tarball
* csharp: socket exhaustion in csharp implementation
* cocoa: Getters for fields defined with uppercase names do not work
* cocoa: Extended services aren't subclasses in generated Cocoa
* cocoa: Thrift de-capitalizes the name of IsSet property in Cocoa
* cpp: the http implementation is not standard; interop with other languages is spotty at best
* cpp: Impossible to build Thrift C++ library for Android (NDK)
* cpp: Using multiple async services simultaneously is not thread-safe
* haskell: Defaulted struct parameters on a service generates invalid Haskell
* nodejs: Exception swallowed by deserialization function
* nodejs: map<i64,value> key treated as hex value in JavaScript
* nodejs: ERROR in ./node_modules/thrift/lib/nodejs/lib/thrift/connection.js Module not found: Error: Can't resolve 'child_process'
* nodejs: Sequence numbering for multiplexed protocol broken
* php: sequence and reconnection management issues
* php: Error during deserialization int64 on 32-bit architecture
* php: thrift type i64 java to php serialize/deserealize not working
* php: PHP gets stuck in infinite loop
* python: sending int or float in a double field breaks the connection
* python: unix sockets can get stuck forever
* python: generated code is out of order and causes load issues
* py3: UnicodeDecideError in Python3
Build Process
* D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang
* Use Ubuntu Bionic (18.04 LTS) for CI builds instead of Artful (17.10)
* Define CI operating system coverage rules for the project and (hopefully) simplify CI a little more
* ubuntu install instructions broken on 16.04
* Appveyor builds are failing due to a haskell / cabal update in chocolatey
* optimize Dockerfile (only onetime apt-get update)
* rm `build/docker/ubuntu-trusty/Dockerfile.orig`
* Ubuntu Artful doesn't appear to be compatible with Thrift and Haxe 3.4.2
* DLang Client Pool Test fails sporadically
* CL tutorial build fails sporadically
* Make haxelib download quiet so it doesn't blow up the build log
* bootstrap.sh fails if automake=1.16.1
c_glib
* The C (GLib) compiler's handling of namespaces has been improved.
* glibC compilation issue
* c glib is unable to handle client close unexpectedly
cl (new language support in 0.12.0)
* Common Lisp support
csharp
* reserved Csharp keywords are not escaped in some cases
* C# async mode generates incorrect code with inherited services
* IAsyncResult style methods not being supported by certain transports leads to issues in mixed ISync/IAsync use cases
* Allow TBufferedTransport to be used as base class
* XML docs; code cleanup (tabs->spaces; String->string)
* protected ExceptionType type member of TApplicationException cannot be accessed
* JSONProtocol Base64 Encoding Trims Padding
* Missing dispose calls in ThreadedServer & ThreadpoolServer
* keep InnerException wherever appropriate
* IAsyncResult not supported by layered transports (buffered/framed)
cpp
* Typecasting problem on list items
* TNonblockingServer throwing THRIFT LOGGER: TConnection::workSocket(): THRIFT_EAGAIN (unavailable resources)
* TBufferTransports.h does not compile under Visual Studio 2017
* TNonblockingServer crash because of limitation of select()
* TZlibTransport.cpp doesn't ensure that there is enough space for the zlib flush marker in the buffer.
* ZeroMQ contrib library needs a refresh
* TSSLServerSocket incorrectly prints errors
* Move `TAsyncProtocolProcessor` into main thrift library
* evhttp_connection_new is deprecated; use evhttp_connection_base_new
compiler
* Compiler cannot be compiled on macOS(maybe also on other platforms with clang)
* Thrift generates wrong Python code for immutable structures with optional members
* thrift generated code is not stable for constants
* Avoid updating Thrift compiler generated code if the output has not changed
* Visual Studio Compiler project should link runtime statically in release builds
* plugin.thrift t_const_value is not used as a union in C++ code -- fix this
* Dealing with language keywords in Thrift (e.g. service method names)
* repeated runs of compiler produce different binary output at plugin interface
dlang
* Thrift will not build with dlang 2.078 or later
* dlang servers logError on normal client disconnection
* D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang
dart
* Effective Dart and Exceptions
* Shouldn't download dart.deb directly.
delphi
* Calling wrong exception CTOR leads to "call failed: unknown result" instead of the real exception being thrown
* uncompileable code with member names that are also types under specific conditions
* Add Async implementation via IFuture
* Possible invalid ptr AV with overlapped read/write on pipes
* Thrift exceptions should derive from TException
* buffered transport broken when trying to re-open a formerly closed transport
* Move Thrift.Console.pas out of the Library
* Allow a default service as fallback for multiplex processors connected by old clients
* Large writes/reads may cause range check errors in debug mode
* Compiler directive should match Delphi XE4
* First line in Console duplicated
* FPU ctrl word settings may cause an unexpected "denormalized" error
erlang
* Erlang records should use map() for map type
* Erlang records should allow 'undefined' for non-required fields
* Fix erlang tutorial unpack on Windows
* Ubuntu Xenial erlang 18.3 "make check" fails
golang
* Support for golang 1.6 and earlier has been dropped.
* Go generator assigns strings to field in const instead of pointers.
* Unions Field Count Does Not Consider Binary
* Golang: Panic on p.c.Call when using deprecated initializers
* Required field incorrectly marked as set when fieldType does not match
* Golang: -remote.go client cleanup
* TSimpleServer can exit Accept loop with lock still acquired
* Add support for go 1.10
* golang tests rely on gomock, which has change behaviour, causing tests to fail
* Communication crash when using binary/compact protocol and zlib transport
* golang race detected when closing listener socket
haskell
* Haskell builds with older cabal cannot reconcile complex version requirements
java
* Thrift does not compile due to Ant Maven task errors
* Compiling Thrift from source: Class org.apache.tools.ant.taskdefs.ConditionTask doesn't support the nested "typefound" element
* proposal: add nullability annotations to generated Java code
* Generate missing @Nullable annotations for Java iterator getters
* Getter of binary field in Java creates unnecessary copy
* libthrift is deployed on central with pom packaging instead of jar
* Java Configure Fails for Ant >= 1.10
* Java libraries missing from package when using cmake
* pom files are not generated or provided in the build
* Maven can't download resource from central when behind a proxy and won't use local repository
* Optional rethrow of unhandled exceptions in java processor
* Able to set keyStore and trustStore as InputStream in the TSSLTransportFactory.TSSLTransportParameters
* Pass message of unhandled exception to optional rethrow.
* Remove assertion in Java SASL code that would be ignored in release builds
* Include popular IDE file templates to gitignore
* Make TThreadPoolServer.executorService_ available in inherited classes and refactor methods to be able customization
* Fix logic of THRIFT-2268
* Increase Java Socket Buffer Size
* Remove Magic Number In TFIleTransport
js
* JavaScript: Use modern Promise implementations
* let / const variable decorators for es6 compiler
* ES6 Classes
* JS: readI32 performance on large arrays is very poor in Chrome
* js and nodejs libraries need to be refreshed with current libraries
* thrift.js: Incorrect usage of 'this' in TWebSocketTransport.__onOpen
* Deserialization of nested list discards content
* JS WebSocket client callbacks invoked twice on parallel requests
* Duplicate declaration of InputBufferUnderrunError in lib/nodejs/lib/thrift/json_protocol.js
* Add prettier for consistent JS code formatting
lua
* lua client uses two write() calls per framed message send
* Can't "make install" Lua Library
netcore
* .NET Core Server doesn't close properly when cancelled
* Update .NET Core components, add tests for .Net Core library and .Net Core compiler, fix bugs and build process
* JSONProtocol Base64 Encoding Trims Padding
node.js
* Error handling malformed arguments leaks memory, corrupts transport buffers causing next RPC to fail
* Memory leak while calling oneway method
* add typescript directory support
* TBufferedTransport can leave corrupt data in the buffer
* Node.js Fileserver webroot path
* Unix domain socket support for NodeJS client
* node.js json_protocol throws error in skip function
* NodeJS: Expose Int64 from browser.js for consumption by browser
* NodeJS warning on binary_protocol writeMessageEnd when seqid = 0
perl
* Replace the use of Perl Indirect Object Syntax calls to new()
* Thrift CPAN release is missing Makefile.PL and the clients are unable to build the module
* Perl CPAN Packaging Improvements
php
* PHP generator use PSR-4 default
* PHP generated code match PSR-2
* Extending Thrift class results in "Attempt serialize from non-Thrift object"
* TSocket block on read
* migrate php library to psr-4
* infinite loop in latest PHP library
* TBufferedTransport must have underlying transport
* lib/php/test should be checked for PSR-2
* add phpcs back
* php library use PSR-2
* TCurlClient doesn't check for HTTP status code
* TCurlClient: show actual error message when throwing TTransportException
* Add stream context support into PHP/THttpClient
* reduce php library directory depth
python
* Twisted, slots, and void method fails with "object has no attribute 'success'"
* Potentially server-crashing typo in Python TNonblockingServer
* Supporting TBinaryProtocolAccelerated protocol when using TMultiplexedProcessor in Python
* Outdated cipher string in python unit test
* python build on Vagrant Windows boxes fails
* THeader for Python
* make socket backlog configurable for python
* Python: cleanup socket timeout settings
ruby
* Thrift RSpec test suite fails with Ruby 2.4.x due to Fixnum deprecation
* Support ruby rspec 3
* Add ssl socket option to ruby cross tests
* Add seek support to TCompactInputProtocol in Rust
* Codegen Creates Invalid Ruby for Recursive Structs
* Fix the genspec for ruby so it does not complain about an invalid license
rust
* Rust const string calls function at compile time
* Rust enum name wrong case in generated structs
* Avoid generating conflicting struct names in Rust code
* Rust generation should include #![allow(non_snake_case)] or force conform to Rust style guidelines
* Rust binary protocol and buffered transport cannot handle writes above 4096 bytes
* Rust framed transport cannot handle writes above 4096 bytes
* Rust's TBinaryInputProtocol fails when strict is false
* Dart -> Rust Framed cross tests fail
* Rust cannot create ReadHalf/WriteHalf to implement custom tranports
swift (new language support in 0.12.0)
* Swift Library
test suite
* Gracefully shutdown cross-test servers to fully test teardown
* Add .NET Core to the make cross standard test suite
* Add unix domain sockets in ruby to cross test - code exists
typescript (new language support in 0.12.0)
* add typescript directory support
Also reorganize several dependencies in Makefile and buildlink3.mk.
See the following post for details:
https://mail-index.netbsd.org/pkgsrc-users/2019/09/07/msg029327.htmlhttps://mail-index.netbsd.org/pkgsrc-users/2019/09/13/msg029356.html
Upstream changes (from NEWS):
== Ruby-GNOME 3.3.8: 2019-09-10
This is a partially GLib 2.62.0 support release.
=== Changes
==== All
* Improvements
* Changed our project name to Ruby-GNOME from Ruby-GNOME2.
[GitHub#1277][Suggested by kojix2]
[GitHub#1291][Patch by kojix2]
* Stopped to release (({.tar.gz})) because they are no longer
used.
==== Ruby/GLib2
* Improvements
* (({GLib.convert})): Changed to set correct encoding.
* (({GLib::FILENAME_ENCODING})): Added.
* Changed to use the same enum object for the same enum value.
* (({GLib::Enum.find})): Added.
* (({GLib::Bytes#initialize})): Changed to reuse (({String})) data
even if the given (({String})) isn't frozen.
* (({GLib::Bytes.try_convert})): Added.
* (({GLib::Enum.try_convert})): Added.
* (({GLib::Flags.try_convert})): Added.
* (({GLib::Type.try_convert})): Added.
* (({GLib::MkEnums.create})): Added support for flags to enum
definition.
[GitHub#1295][Patch by Mamoru TASAKA]
==== Ruby/GIO2
* Fixes
* Renamed to (({Gio::Icon#hash})) from (({Gio::Icon.hash})).
[GitHub#1293][Reported by Erik Czumadewski]
==== Ruby/GObjectIntrospection
* Improvements
* Introduced (({try_convert})) protocol.
==== Ruby/CairoGObject
* Improvements
* (({Cairo::Context.try_convert})): Added.
* (({Cairo::Device.try_convert})): Added.
* (({Cairo::Pattern.try_convert})): Added.
* (({Cairo::Surface.try_convert})): Added.
* (({Cairo::ScaledFont.try_convert})): Added.
* (({Cairo::FontFace.try_convert})): Added.
* (({Cairo::FontOptions.try_convert})): Added.
* (({Cairo::Region.try_convert})): Added.
=== Thanks
* kojix2
* Erik Czumadewski
* Mamoru TASAKA
SOPE is an extensive set of frameworks which form a complete Web application server environment. Besides the Apple WebObjects compatible appserver extended with Zope concepts, it contains a large set of reusable classes: XML processing (SAX, DOM, XML-RPC), MIME/IMAP4 processing, LDAP connectivity, RDBMS connectivity, and iCalendar parsing.
libcbor is a C library for parsing and generating CBOR, the
general-purpose schema-less binary data format.
From cbor.io:
RFC 7049 Concise Binary Object Representation
"The Concise Binary Object Representation (CBOR) is a data format
whose design goals include the possibility of extremely small code
size, fairly small message size, and extensibility without the need
for version negotiation."
wayland-protocols contains Wayland protocols that add functionality not
available in the Wayland core protocol. Such protocols either add
completely new functionality, or extend the functionality of some other
protocol either in Wayland core, or some other protocol in
wayland-protocols.
A protocol in wayland-protocols consists of a directory containing a set
of XML files containing the protocol specification, and a README file
containing detailed state and a list of maintainers.
Wayland is a protocol for a compositor to talk to its clients as
well as a C library implementation of that protocol.
Wayland is intended to be simpler replacement for the X window
system, easier to develop and maintain.
Generate your Rd documentation, 'NAMESPACE' file, and collation field
using specially formatted comments. Writing documentation in-line with
code makes it easier to keep your documentation up-to-date as your
requirements change. 'Roxygen2' is inspired by the 'Doxygen' system
for C++.
Simulates the process of installing a package and then attaching it.
This is a key part of the 'devtools' package as it allows you to
rapidly iterate while developing a package.
Run 'R CMD check' from 'R' and capture the results of the individual
checks. Supports running checks in the background, timeouts, pretty
printing and comparing check results.
Automate package and project setup tasks that are otherwise performed
manually. This includes setting up unit testing, test coverage,
continuous integration, Git, 'GitHub', licenses, 'Rcpp', 'RStudio'
projects, and more.
Provides functions used to build R packages. Locates compilers needed
to build R packages on various platforms and ensures the PATH is
configured appropriately so R can use them.
It is sometimes useful to perform a computation in a separate R
process, without affecting the current R process at all. This packages
does exactly that.
Software testing is important, but, in part because it is frustrating
and boring, many of us avoid it. 'testthat' is a testing framework for
R that is easy to learn and use, and integrates with your existing
'workflow'.
Interface to the 'libgit2' library, which is a pure C implementation
of the 'Git' core methods. Provides access to 'Git' repositories to
extract data and running some basic 'Git' commands.
Robust, reliable and flexible paths to files below a project root. The
'root' of a project is defined as a directory that matches a certain
criterion, e.g., it contains a certain regular file.
Query and print information about the current R session. It is similar
to 'utils::sessionInfo()', but includes more information about
packages, and where they were installed from.
Download and install R packages stored in 'GitHub', 'BitBucket', or
plain 'subversion' or 'git' repositories. This package provides the
'install_*' functions in 'devtools'. Indeed most of the code was
copied over from 'devtools'.
Parse simple '.ini' configuration files to an structured list. Users
can manipulate this resulting list with lapply() functions. This same
structured list can be used to write back to file after modifications.
A backend for the selecting functions of the 'tidyverse'. It makes it
easy to implement select-like functions in your own packages in a way
that is consistent with other 'tidyverse' interfaces for selection.
Flexible Isometric Free Engine (FIFE) is a multi-platform isometric game
engine written in C++. It comes with Python bindings allowing users to create
games using Python as well as C++.
Fifechan is a lightweight cross platform GUI library written in C++ specifically
designed for games. It has a small yet powerful built in set of extendable
GUI Widgets allowing users to create virtually unlimited types of widgets.
A set of functions to run code 'with' safely and temporarily modified
global state. Many of these functions were originally a part of the
'devtools' package, this provides a simple package with limited
dependencies to provide access to these functions.
A series of additional Tcl commands and Tk widgets with style and
various functions (under Windows: DDE exchange, access to the registry
and icon manipulation) to supplement the tcltk package
Streamlined data import and export by making assumptions that the user
is probably willing to make: 'import()' and 'export()' determine the
data structure from the file extension, reasonable defaults are used
for data import and export (e.g., 'stringsAsFactors=FALSE'), web-based
import is natively supported (including from SSL/HTTPS), compressed
files can be read directly without explicit decompression, and fast
import packages are used where appropriate. An additional convenience
function, 'convert()', provides a simple method for converting between
file types.
Tests and assertions to perform frequent argument checks. A
substantial part of the package was written in C to minimize any
worries about execution time overhead.
xulrunner192 was the last remains of Firefox 3.6 in pkgsrc.
The last package depending on xulrunner192 was devel/swt. swt isn't used by
anything in pkgsrc (old versions of eclipse which weren't imported, maybe),
and was originally added by jmcneill, who says it can be removed now.
Gcovr provides a utility for managing the use of the GNU gcov utility
and generating summarized code coverage results. This command is
inspired by the Python coverage.py package, which provides a similar
utility for Python.
This module provides a one-to-one interface with the GitLab API v4. Much
is not documented here as it would just be duplicating GitLab's own API
Documentation.
Note that this distribution also includes the gitlab-api-v4 command-line
interface (CLI).
importlib_metadata is a library which provides an API for accessing an
installed package's metadata, such as its entry points or its top-level name.
This functionality intends to replace most uses of pkg_resources entry point
API and metadata API. Along with importlib.resources in Python 3.7 and newer
(backported as importlib_resources for older versions of Python), this can
eliminate the need to use the older and less efficient pkg_resources package.
importlib_metadata is a backport of Python 3.8's standard library
importlib.metadata module for Python 2.7, and 3.4 through 3.7. Users of Python
3.8 and beyond are encouraged to use the standard library module, and in fact
for these versions, importlib_metadata just shadows that module. Developers
looking for detailed API descriptions should refer to the Python 3.8 standard
library documentation.
Backported, durable, and portable selectors designed to replace the standard
library selectors module.
Features
* Support for all major platforms. (Linux, Mac OS, Windows)
* Support many different selectors
- select.kqueue (BSD, Mac OS)
- select.devpoll (Solaris)
- select.epoll (Linux 2.5.44+)
- select.poll (Linux, Mac OS)
- select.select - (Linux, Mac OS, Windows)
* Support for PEP 475 (Retries system calls on interrupt)
* Support for modules which monkey-patch the standard library after import
(like greenlet, gevent)
* Support for systems which define a selector being available but don't
actually implement it.
Pyrsistent is a number of persistent collections (by some referred to as
functional data structures). Persistent in the sense that they are immutable.
All methods on a data structure that would normally mutate it instead return a
new copy of the structure containing the requested updates. The original
structure is left untouched.
This will simplify the reasoning about what a program does since no hidden side
effects ever can take place to these data structures. You can rest assured that
the object you hold a reference to will remain the same throughout its lifetime
and need not worry that somewhere five stack levels below you in the darkest
corner of your application someone has decided to remove that element that you
expected to be there.
Pyrsistent is influenced by persistent data structures such as those found in
the standard library of Clojure. The data structures are designed to share
common elements through path copying. It aims at taking these concepts and make
them as pythonic as possible so that they can be easily integrated into any
python program without hassle.
Run applications under pseudo-terminal (PTY) sessions and replace
TCL/Expect with a simple tool under your favorite shell (sh, bash,
csh, tcsh, ksh, zsh, etc.).
Packaged by David Weller-Fahy in PR pkg/53955.
The PyObjC project aims to provide a bridge between the Python and Objective-C
programming languages. The bridge is intended to be fully bidirectional,
allowing the Python programmer to take full advantage of the power provided by
various Objective-C based toolkits and the Objective-C programmer transparent
access to Python based functionality.
This package contains wrappers for framework 'CoreSpotlight'.
Tevent is an event system based on the talloc memory management library. It is
the core event system used in Samba.
The low level tevent has support for many event types, including timers,
signals, and the classic file descriptor events.
Tevent also provide helpers to deal with asynchronous code providing the
tevent_req (tevent request) functions.
2.0.7:
Bug fixes:
- Fixed assertion in PromptSession: the style_transformation check was wrong.
- Removed 'default' attribute in PromptSession. Only ask for it in the
prompt() method. This fixes the issue that passing default once, will
store it for all consequent calls in the PromptSession.
- Ensure that __pt_formatted_text__ always returns a FormattedText
instance. This fixes an issue with print_formatted_text.
New features:
- Improved handling of situations where stdin or stdout are not a terminal.
(Print warning instead of failing with an assertion.)
- Added print_container utility.
- Sound bell when attempting to edit read-only buffer.
- Handle page-down and page-up keys in RadioList.
- Accept any collections.abc.Sequence for HSplit/VSplit children (instead of
lists only).
- Improved Vi key bindings: return to navigation mode when Insert is pressed.
2.0.6:
Bug fixes:
- Don't use the predefined ANSI colors for colors that are defined as RGB.
(Terminals can assign different color schemes for ansi colors, and we don't
want use any of those for colors that are defined like #aabbcc for instance.)
- Fix in handling of CPRs when patch_stdout is used.
Backwards incompatible changes:
- Change to the Buffer class. Reset the buffer unless the accept_handler
returns True (which means: "keep_text"). This doesn't affect applications
that use PromptSession.
New features:
- Added AdjustBrightnessStyleTransformation. This is a simple style
transformation that improves the rendering on terminals with light or dark
background.
- Improved performance (string width caching and line height calculation).
- Improved TextArea:
* Exposed focus_on_click.
* Added attributes: auto_suggest, complete_while_typing, history,
get_line_prefix, input_processors.
* Made attributes writable: lexer, completer, complete_while_typing,
accept_handler, read_only, wrap_lines.
2.0.5:
Bug fixes:
- Fix in DynamicContainer. Return correct result for get_children. This
fixes a bug related to focusing.
- Properly compute length of start, end and sym_b characters of
progress bar.
- CPR (cursor position request) fix.
Backwards incompatible changes:
- Stop restoring PromptSession attributes when exiting prompt.
New features:
- Added get_line_prefix attribute to window. This opens many
possibilities:
* Line wrapping (soft and hard) can insert whitespace in front
of the line, or insert some symbols in front. Like the Vim "breakindent"
option.
* Single line prompts also support line continuations now.
* Line continuations can have a variable width.
- For VI mode: implemented temporary normal mode (control-O in insert mode).
- Added style transformations API. Useful for swapping between light and
dark color schemes. Added swap_light_and_dark_colors parameter to
prompt() function.
- Added format() method to ANSI formatted text.
- Set cursor position for Button widgets.
- Added pre_run argument to PromptSession.prompt() method.
2.0.4:
Bug fixes:
- Fix render height for rendering full screen applications in Windows.
- Fix in TextArea. Set accept_handler to None if not given.
- Go to the beginning of the next line when enter is pressed in Vi navigation
mode, and the buffer doesn't have an accept handler.
- Fix the default argument of the prompt function when called multiple
times.
- Display decomposed multiwidth characters correctly.
- Accept history in prompt() function again.
Backwards incompatible changes:
- Renamed PipeInput to PosixPipeInput. Added Win32PipeInput and
create_input_pipe.
- Pass buffer argument to the accept_handler of TextArea.
New features:
- Added accept_default argument to prompt().
- Make it easier to change the body/title of a Frame/Dialog.
- Added DynamicContainer.
- Added merge_completers for merging multiple completers together.
- Add vt100 data to key presses in Windows.
- Handle left/right key bindings in Vi block insert mode.
2.0.3:
Bug fixes:
- Fix in 'x' and 'X' Vi key bindings. Correctly handle line endings and args.
- Fixed off by one error in Vi line selection.
- Fixed bugs in Vi block selection. Correctly handle lines that the selection
doesn't cross.
- Python 2 bugfix. Handle str/unicode correctly.
- Handle option+left/right in iTerm.
2.0.2:
Bug fixes:
- Python 3.7 support: correctly handle StopIteration in asynchronous generator.
- Fixed off-by-one bug in Vi visual block mode.
- Bugfix in TabsProcessor: handle situations when the cursor is at the end of
the line.
This is a collection of normalized lua functions for Lua 5.1
(including LuaJIT), 5.2 and 5.3.
It can inject deterministic versions of core Lua functions that do not
behave identically across all supported Lua implementations into your
module's lexical environment. Each function is as thin and fast a
version as is possible in each Lua implementation, evaluating to the
Lua C implementation with no overhead when semantics allow.
From Edgar Fuß in PR pkg/53600
bit32 is the native Lua 5.2 bit manipulation library, in the version
from Lua 5.3; it is compatible with Lua 5.1, 5.2 and 5.3.
From Edgar Fuß in PR pkg/53600
This package contains exception exceptions and implementations which are so
general purpose that they don't belong in Zope application-specific packages.
stem-1.7.0: Python library for controlling the tor daemon
nyx-2.0.4: curses monitor for the tor daemon
sbws-0.8.0: bandwidth scanner
nyx is a standalone application, so give it a meta-package net/nyx
with no py- prefix.
sbws is a standalone application too but only for designated Tor
plumbers, not for ordinary users, so leave it as py-sbws.
This package contains a single module, which implements a platform independent
file lock in Python, which provides a simple way of inter-process communication.
Pytest plugin to randomly order tests and control random.seed.
* Randomly shuffles the order of test items. This is done first at the level of
modules, then at the level of test classes (if you have them), then at the
order of functions. This also works with things like doctests.
* Resets random.seed() at the start of every test case and test to a fixed
number - this defaults to time.time() from the start of your test run, but
you can pass in --randomly-seed to repeat a randomness-induced failure.
* If factory boy is installed, its random state is reset at the start of every
test. This allows for repeatable use of its random 'fuzzy' features.
* If faker is installed, its random state is reset at the start of every test.
This is also for repeatable fuzzy data in tests - factory boy uses faker for
lots of data.
The Python dis module allows you to disassemble bytecode from the same version
of Python that you are running on. But what about bytecode from different
versions?
That's what this package is for. It can "marshal load" Python bytecodes from
different versions of Python. The command-line routine pydisasm will show
disassembly output using Python 3.6 disassembly conventions.
Also, if you need to modfiy and write bytecode, the routines here can be of
help. There are routines to pack and unpack the read-only tuples in Python's
Code type. For interoperability between Python 2 and 3 we provide our own
versions of the Code type, and we provide routines to reduce the tedium in
writing a bytecode file.
This package also has an extensive knowledge of Python bytecode magic numbers,
including Pypy and others, and how to translate from sys.sys_info major, minor,
and release numbers to the corresponding magic value.
So If you want to write a cross-version assembler, or a bytecode-level
optimizer this package may also be useful. In addition to the kinds of
instruction categorization that dis offers, we have additional categories for
things that would be useful in such a bytecode optimizer.