4.1.0:
- Drop support for Python 2.6 and 3.2.
- Add support for Python 3.5 and 3.6.
- Fix the ``domain`` of MessageID fields to be a native string.
Previously on Python 3 they were bytes, which meant that they
couldn't be used to find translation utilities registered by
zope.i18n.
4.1.0:
- Drop support for Python 2.6 and 3.2.
- Add support for Python 3.5 and 3.6.
- Fix the C extension not being used in Python 3.
- Make the Python implementation of Message accept any object for the
``default`` argument, just as the C extension does. This should be a
unicode or byte string.
4.5.0:
- Drop support for Python 2.6, 3.2, and 3.3.
- Add support for Python 3.5 and 3.6.
- Drop support for 'setup.py test'. Use zope.testrunner instead.
4.4.3:
- Avoid exceptions when the ``__annotations__`` attribute is added to
interface definitions with Python 3.x type hints.
- Fix the possibility of a rare crash in the C extension when
deallocating items.
Pytest 3.2.3
Bug Fixes
* Fix crash in tab completion when no prefix is given.
* The equality checking function (__eq__) of MarkDecorator returns False if one object is not an instance of MarkDecorator.
* When running pytest --fixtures-per-test: don’t crash if an item has no _fixtureinfo attribute (e.g. doctests)
Improved Documentation
* In help text of -k option, add example of using not to not select certain tests whose names match the provided expression.
* Add note in parametrize.rst about calling metafunc.parametrize multiple times.
Trivial/Internal Changes
* Set xfail_strict=True in pytest’s own test suite to catch expected failures as soon as they start to pass.
* Fix typo in example of passing a callable to markers (in example/markers.rst)
This release fixes some formatting and small typos/grammar issues in the documentation, specifically the page docs/settings.rst, and the inline docs for the various settings.
Version 1.6:
* Fixed 11: inode should be unsigned
* Fixed unicode handling on PyPy due to Py_FileSystemDefaultEncoding always being NULL there
* Improve tests on PyPy and Windows
* Add Travis and Appveyor CI testing
While scons itself works fine with python-3.x, packages using it provide
SConstruct files, many of which only work with python-2.x since scons
for a long time did that too.
0.27.1:
Features added
* The Jupyter magic has a new debug option --verbose that shows details about the distutils invocation.
Bugs fixed
* Py3 list comprehensions in class bodies resulted in invalid C code.
* Modules built for later CPython 3.5.x versions failed to import in 3.5.0/3.5.1.
* Deallocating fused types functions and methods kept their GC tracking enabled, which could potentially lead to recursive deallocation attempts.
* Crash when compiling in C++ mode with old setuptools versions.
* C++ object arguments for the constructor of Cython implemented C++ are now passed by reference and not by value to allow for non-copyable arguments, such as unique_ptr.
* API-exported C++ classes with Python object members failed to compile.
* Some issues with the new relaxed exception value handling were resolved.
* Python classes as annotation types could prevent compilation.
* Cython annotation types in Python files could lead to import failures with a "cython undefined" error. Recognised types are now turned into strings.
* Coverage analysis could fail to report on extension modules on some platforms.
* Annotations could be parsed (and rejected) as types even with annotation_typing=False.
Other changes
* PEP 489 support has been disabled by default to counter incompatibilities with import setups that try to reload or reinitialise modules.
RELEASE 3.0.0 - Mon, 18 Sep 2017 08:32:04 -0700
NOTE: This is a major release. You should expect that some targets
may rebuild when upgrading. Significant changes in some python
action signatures. Also switching between PY 2.7 and PY 3.5, 3.6
will cause rebuilds.
From William Blevins:
- Updated D language scanner support to latest: 2.071.1. (PR #1924)
https://dlang.org/spec/module.html accessed 11 August 2016
- Enhancements:
- Added support for selective imports: "import A : B, C;" -> A
- Added support for renamed imports. "import B = A;" -> A
- Supports valid combinations: "import A, B, CCC = C, DDD = D : EEE = FFF;" -> A, B, C, D
- Notes:
- May find new (previously missed) Dlang dependencies.
- May cause rebuild after upgrade due to dependency changes.
- Updated Fortran-related tests to pass under GCC 5/6.
- Fixed SCons.Tool.Packaging.rpm.package source nondeterminism across builds.
From William Deegan:
- Removed deprecated tools CVS, Perforce, BitKeeper, RCS, SCCS, Subversion.
- Removed deprecated module SCons.Sig
- Added prioritized list of xsltproc tools to docbook. The order will now be as
follows: xsltproc, saxon, saxon-xslt, xalan (with first being highest priority, first
tool found is used)
- Fixed MSVSProject example code (http://scons.tigris.org/issues/show_bug.cgi?id=2979)
- Defined MS SDK 10.0 and Changed VS 2015 to use SDK 10.0
- Changes to Action Function and Action Class signiture creation. NOTE: This will cause rebuilds
for many builds when upgrading to SCons 3.0
- Fixed Bug #3027 - "Cross Compiling issue: cannot override ranlib"
- Fixed Bug #3020 - "Download link in user guide wrong. python setup.py install --version-lib broken"
- Fixed Bug #2486 - Added SetOption('silent',True) - Previously this value was not allowed to be set.
- Fixed Bug #3040 - Non-unicode character in CHANGES.txt
- Fixed Bug #2622 - AlwaysBuild + MSVC regression.
- Fixed Bug #3025 - (Credit to Florian : User flow86 on tigris) - Fix typo JAVACLASSSUFIX should have been
JAVACLASSSUFFIX
From Ibrahim Esmat:
- Added the capability to build Windows Store Compatible libraries that can be used
with Universal Windows Platform (UWP) Apps and published to the store
From Daniel Holth:
- Add basic support for PyPy (by deleting __slots__ from Node with a
metaclass on PyPy); wrap most-used open() calls in 'with' statements to
avoid too many open files.
- Add __main__.py for `python -m SCons` in case it is on PYTHONPATH.
- Always use highest available pickle protocol for efficiency.
- Remove unused command line fallback for the zip tool.
From Gaurav Juvekar:
- Fix issue #2832: Expand construction variables in 'chdir' argument of builders. (PR #463)
- Fix issue #2910: Make --tree=all handle Unicode. (PR #427)
- Fix issue #2788: Fix typo in documentation example for sconf. (PR #388)
From Alexey Klimkin:
- Use memoization to optimize PATH evaluation across all dependencies per
node. (PR #345)
- Use set() where it is applicable (PR #344)
From M. Limber:
- Fixed msvs.py for Visual Studio Express editions that would report
"Error : ValueError: invalid literal for float(): 10.0Exp".
From Rick Lupton:
- Update LaTeX scanner to understand \import and related commands
From Steve Robinson:
- Add support for Visual Studio 2017. This support requires vswhere.exe a helper
tool installed with newer installs of 2017. SCons expects it to be located at
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
It can be downloaded separately at
https://github.com/Microsoft/vswhere
From Tom Tanner:
- Allow nested $( ... $) sections
From Paweł Tomulik:
- Fixed the issue with LDMODULEVERSIONFLAGS reported by Tim Jenness
(https://pairlist4.pair.net/pipermail/scons-users/2016-May/004893.html).
An error was causing "-Wl,Bsymbolic" being added to linker's command-line
even when there was no specified value in LDMODULEVERSION and thus no
need for the flags to be specified.
- Added LoadableModule to the list of global functions (DefaultEnvironment
builders).
From Manish Vachharajani:
- Update debian rules, compat, and control to not use features
deprecated or obsolete in later versions of debhelpers
- Update python version to 2.7 in debian/control
From Richard Viney:
- Fixed PCHPDBFLAGS causing a deprecation warning on MSVC v8 and later when
using PCHs and PDBs together.
From Richard West:
- Added nested / namespace tool support
- Added a small fix to the python3 tool loader when loading a tool as a package
- Added additional documentation to the user manual on using toolpaths with the environment
This includes the use of sys.path to search for tools installed via pip or package managers
- Added support for a PyPackageDir function for use with the toolpath
From Russel Winder:
- Reordered the default D tools from "dmd, gdc, ldc" to "dmd, ldc, gdc".
- Add a ProgramAllAtOnce builder to the dmd, ldc, and gdc tools. (PR #448)
- Remove a file name exception for very old Fedora LDC installation.
- gdc can now handle building shared objects (tested for version 6.3.0).
- Remove establishing the SharedLibrary builder in the dmd, ldc, and gdc
tools, must now include the ar tool to get this builder as is required for
other compiler tools.
- Add clang and clang++ tools based on Paweł Tomulik's work.
bcolz provides columnar and compressed data containers. Column storage
allows for efficiently querying tables with a large number of
columns. It also allows for cheap addition and removal of column. In
addition, bcolz objects are compressed by default for reducing
memory/disk I/O needs. The compression process is carried out
internally by Blosc, a high-performance compressor that is optimized
for binary data.
Packaged by Kamel Derouiche and updated by me.
skalibs is a package centralizing the free software / open source C
development files used for building all software at skarnet.org: it contains
essentially general-purpose libraries. You will need to install skalibs if
you plan to build skarnet.org software. The point is that you won't have to
download and compile big libraries, and care about portability issues,
everytime you need to build a package: do it only once.
skalibs can also be used as a sound basic start for C development. There are
a lot of general-purpose libraries out there; but if your main goal is to
produce small and secure C code with a focus on system programming, skalibs
might be for you.
Overview of changes between 1.40.11 and 1.40.12
===============================================
- Fix pango_default_break for sentence start/end (#785978)
- Fix multilib issue in pango-enum-types.h (#786887)
Overview of changes between 1.40.10 and 1.40.11
===============================================
- Fix backspacing for more Emoji sequences
- Make tests run faster
Overview of changes between 1.40.9 and 1.40.10
==============================================
- Update Emoji data to version 5
- Apply gravity across spans in markup (#784243)
- Support variation selectors for shaping
- CoreText: Rely on CGFont for scaling (#782393)
- Fix grapheme breaks and backspacing for Emoji
Overview of changes between 1.40.8 and 1.40.9
=============================================
- Build and dist fixes
- Fix build on Windows with MSVC (#783274)
pkgsrc changes:
* Delete several Solaris backend patches, 1.0.21 contains all of them
(patch-libusb_os_sunos__usb.c is still needed though)
Changes:
2016-10-01: v1.0.21:
* Core: Refactor code related to transfer flags and timeout handling
* Darwin: Ignore root hub simulation devices
* Darwin: Improved support for OS X El Capitan
* Darwin: Work around devices with buggy endpoint descriptors
* Darwin: Do not use objc_registerThreadWithCollector after its deprecation
* Darwin: Use C11 atomics on 10.12+ as the OS atomics are now deprecated
* Linux: Support preallocating kernel memory for zerocopy USB
* Linux: Deal with receiving POLLERR before all transfers have completed
* Solaris: Add solaris backend
* Windows: Add Visual Studio 2015 support
* Windows: Add usbdk backend
* Prevent attempts to recursively handle events
* Fix race condition in handle_timeout()
* Allow transferred argument to be optional in bulk APIs
* Various other bug fixes and improvements
0.18.4:
BUG FIXES
* Make default User-Agent start with "git/" because GitHub won't response to
HTTP smart server requests otherwise (and reply with a 404).
Mercurial 4.3.3 (2017-10-01)
Prevent crashes when clearing progress bar. (issue5684)
rebase: move bookmarks with --keep (issue5682)
Mercurial 4.3.2 (2017-09-18)
restore compatibility with older versions of Python 2.7 by not using a bytearray with struct.unpack_from()
restore mingw compatibility for setup.py
hgwebdir: read 'web.template' untrusted (plugs potential security issue)
repair: preserve phase when not using generaldelta (issue5678)
ssh: fix flakey ssh errors on BSD systems
restore error handling behavior around certain I/O errors; the
regressed behavior could result in transactions not being
properly rolled back if stdio handles encountered errors
(issue5658)
templatekw: choose {latesttag} by len(changes), not date (issue5659)
record: fix revert -i for lines without newline (issue5651)
mq: create non-lossy patches, also with custom global diff configuration
The BuildBot is a system to automate the compile/test cycle required by
most software projects to validate code changes. By automatically
rebuilding and testing the tree each time something has changed, build
problems are pinpointed quickly, before other developers are
inconvenienced by the failure. The guilty developer can be identified
and harassed without human intervention. By running the builds on a
variety of platforms, developers who do not have the facilities to test
their changes everywhere before checkin will at least know shortly
afterwards whether they have broken the build or not. Warning counts,
lint checks, image size, compile time, and other build parameters can
be tracked over time, are more visible, and are therefore easier to
improve.
This package contains the web frontend component.
The BuildBot is a system to automate the compile/test cycle required by
most software projects to validate code changes. By automatically
rebuilding and testing the tree each time something has changed, build
problems are pinpointed quickly, before other developers are
inconvenienced by the failure. The guilty developer can be identified
and harassed without human intervention. By running the builds on a
variety of platforms, developers who do not have the facilities to test
their changes everywhere before checkin will at least know shortly
afterwards whether they have broken the build or not. Warning counts,
lint checks, image size, compile time, and other build parameters can
be tracked over time, are more visible, and are therefore easier to
improve.
This package contains the Waterfall View Plugin.
The BuildBot is a system to automate the compile/test cycle required by
most software projects to validate code changes. By automatically
rebuilding and testing the tree each time something has changed, build
problems are pinpointed quickly, before other developers are
inconvenienced by the failure. The guilty developer can be identified
and harassed without human intervention. By running the builds on a
variety of platforms, developers who do not have the facilities to test
their changes everywhere before checkin will at least know shortly
afterwards whether they have broken the build or not. Warning counts,
lint checks, image size, compile time, and other build parameters can
be tracked over time, are more visible, and are therefore easier to
improve.
This package contains the Grid View Plugin.
The BuildBot is a system to automate the compile/test cycle required by
most software projects to validate code changes. By automatically
rebuilding and testing the tree each time something has changed, build
problems are pinpointed quickly, before other developers are
inconvenienced by the failure. The guilty developer can be identified
and harassed without human intervention. By running the builds on a
variety of platforms, developers who do not have the facilities to test
their changes everywhere before checkin will at least know shortly
afterwards whether they have broken the build or not. Warning counts,
lint checks, image size, compile time, and other build parameters can
be tracked over time, are more visible, and are therefore easier to
improve.
This package contains the Console View Plugin.
The BuildBot is a system to automate the compile/test cycle required by
most software projects to validate code changes. By automatically
rebuilding and testing the tree each time something has changed, build
problems are pinpointed quickly, before other developers are
inconvenienced by the failure. The guilty developer can be identified
and harassed without human intervention. By running the builds on a
variety of platforms, developers who do not have the facilities to test
their changes everywhere before checkin will at least know shortly
afterwards whether they have broken the build or not. Warning counts,
lint checks, image size, compile time, and other build parameters can
be tracked over time, are more visible, and are therefore easier to
improve.
This package contains the BuildBot packaging tools.
1.321 2017-10-01 BOOK
- Various small improvements to the Tutorial (with help from Ron Savage)
- Minor code changes (with help from E. Choroba)
- Minor fix to eg/build-git
1.3.1:
Validate for Python 3.6
1.3.0:
Drop some non-ASCII characters from HISTORY.rst
Added official support for Python 3.5
Removed confusingly placed lock from example
Corrected invalidation cache documentation
Updated to latest Travis-CI environment
3.31.1:
This release improves the handling of deadlines so that they act better with the shrinking process. This fixes :issue:`892`.
This involves two changes:
1. The deadline is raised during the initial generation and shrinking, and then lowered to the set value for final replay. This restricts our attention to examples which exceed the deadline by a more significant margin, which increases their reliability.
2. When despite the above a test still becomes flaky because it is significantly faster on rerun than it was on its first run, the error message is now more explicit about the nature of this problem, and includes both the initial test run time and the new test run time.
In addition, this release also clarifies the documentation of the deadline setting slightly to be more explicit about where it applies.
v1.11
Support the modern standard types char16_t and char32_t. These work like wchar_t: they represent one unicode character, or when used as charN_t * or charN_t[] they represent a unicode string. The difference with wchar_t is that they have a known, fixed size. They should work at all places that used to work with wchar_t (please report an issue if I missed something). Note that with set_source(), you need to make sure that these types are actually defined by the C source you provide (if used in cdef()).
Support the C99 types float _Complex and double _Complex. Note that libffi doesn’t support them, which means that in the ABI mode you still cannot call C functions that take complex numbers directly as arguments or return type.
Fixed a rare race condition when creating multiple FFI instances from multiple threads. (Note that you aren’t meant to create many FFI instances: in inline mode, you should write ffi = cffi.FFI() at module level just after import cffi; and in out-of-line mode you don’t instantiate FFI explicitly at all.)
Windows: using callbacks can be messy because the CFFI internal error messages show up to stderr—but stderr goes nowhere in many applications. This makes it particularly hard to get started with the embedding mode. (Once you get started, you can at least use @ffi.def_extern(onerror=...) and send the error logs where it makes sense for your application, or record them in log files, and so on.) So what is new in CFFI is that now, on Windows CFFI will try to open a non-modal MessageBox (in addition to sending raw messages to stderr). The MessageBox is only visible if the process stays alive: typically, console applications that crash close immediately, but that is also the situation where stderr should be visible anyway.
Progress on support for callbacks in NetBSD.
Functions returning booleans would in some case still return 0 or 1 instead of False or True. Fixed.
ffi.gc() now takes an optional third parameter, which gives an estimate of the size (in bytes) of the object. So far, this is only used by PyPy, to make the next GC occur more quickly (issue 320). In the future, this might have an effect on CPython too (provided the CPython issue 31105 is addressed).
Add a note to the documentation: the ABI mode gives function objects that are slower to call than the API mode does. For some reason it is often thought to be faster. It is not!
0.27:
Features added
* Extension module initialisation follows
`PEP 489 <https://www.python.org/dev/peps/pep-0489/>`_ in CPython 3.5+, which
resolves several differences with regard to normal Python modules. This makes
the global names ``__file__`` and ``__path__`` correctly available to module
level code and improves the support for module-level relative imports.
* Asynchronous generators (`PEP 525 <https://www.python.org/dev/peps/pep-0525/>`_)
and asynchronous comprehensions (`PEP 530 <https://www.python.org/dev/peps/pep-0530/>`_)
have been implemented. Note that async generators require finalisation support
in order to allow for asynchronous operations during cleanup, which is only
available in CPython 3.6+. All other functionality has been backported as usual.
* Variable annotations are now parsed according to
`PEP 526 <https://www.python.org/dev/peps/pep-0526/>`_. Cython types (e.g.
``cython.int``) are evaluated as C type declarations and everything else as Python
types. This can be disabled with the directive ``annotation_typing=False``.
Note that most complex PEP-484 style annotations are currently ignored. This will
change in future releases.
* Extension types (also in pure Python mode) can implement the normal special methods
``__eq__``, ``__lt__`` etc. for comparisons instead of the low-level ``__richcmp__``
method.
* New decorator ``@cython.exceptval(x=None, check=False)`` that makes the signature
declarations ``except x``, ``except? x`` and ``except *`` available to pure Python
code. Original patch by Antonio Cuni.
* Signature annotations are now included in the signature docstring generated by
the ``embedsignature`` directive.
* The gdb support for Python code (``libpython.py``) was updated to the latest
version in CPython 3.7 (git rev 5fe59f8).
* The compiler tries to find a usable exception return value for cdef functions
with ``except *`` if the returned type allows it. Note that this feature is subject
to safety limitations, so it is still better to provide an explicit declaration.
* C functions can be assigned to function pointers with a compatible exception
declaration, not only with exact matches. A side-effect is that certain compatible
signature overrides are now allowed and some more mismatches of exception signatures
are now detected and rejected as errors that were not detected before.
* The IPython/Jupyter magic integration has a new option ``%%cython --pgo`` for profile
guided optimisation. It compiles the cell with PGO settings for the C compiler,
executes it to generate a runtime profile, and then compiles it again using that
profile for C compiler optimisation. Currently only tested with gcc.
* ``len(memoryview)`` can be used in nogil sections to get the size of the
first dimension of a memory view (``shape[0]``).
* C++ classes can now contain (properly refcounted) Python objects.
* NumPy dtype subarrays are now accessible through the C-API.
* Resolves several issues with PyPy and uses faster async slots in PyPy3.
Bugs fixed
* Extension types that were cimported from other Cython modules could disagree
about the order of fused cdef methods in their call table. This could lead
to wrong methods being called and potentially also crashes. The fix required
changes to the ordering of fused methods in the call table, which may break
existing compiled modules that call fused cdef methods across module boundaries,
if these methods were implemented in a different order than they were declared
in the corresponding .pxd file.
* The exception state handling in generators and coroutines could lead to
exceptions in the caller being lost if an exception was raised and handled
inside of the coroutine when yielding.
* Loops over ``range(enum)`` were not converted into C for-loops. Note that it
is still recommended to use an explicit cast to a C integer type in this case.
* Error positions of names (e.g. variables) were incorrectly reported after the
name and not at the beginning of the name.
* Compile time ``DEF`` assignments were evaluated even when they occur inside of
falsy ``IF`` blocks.
* Disabling the line tracing from a trace function could fail.
* Several issues with the Pythran integration were resolved.
* abs(signed int) now returns a signed rather than unsigned int.
* Reading ``frame.f_locals`` of a Cython function (e.g. from a debugger or profiler
could modify the module globals.
* Buffer type mismatches in the NumPy buffer support could leak a reference to the
buffer owner.
* Using the "is_f_contig" and "is_c_contig" memoryview methods together could leave
one of them undeclared.
* Compilation failed if the for-in-range loop target was not a variable but a more
complex expression, e.g. an item assignment.
* Compile time evaluations of (partially) constant f-strings could show incorrect
results.
* Escape sequences in raw f-strings (``fr'...'``) were resolved instead of passing
them through as expected.
* Some ref-counting issues in buffer error handling have been resolved.
Other changes
* Type declarations in signature annotations are now parsed according to
`PEP 484 <https://www.python.org/dev/peps/pep-0484/>`_
typing. Only Cython types (e.g. ``cython.int``) and Python builtin types are
currently considered as type declarations. Everything else is ignored, but this
will change in a future Cython release.
* The directive ``annotation_typing`` is now ``True`` by default, which enables
parsing type declarations from annotations.
* This release no longer supports Python 3.2.
- support for web hooks for Bitbucket, GitLab and Gitorious
- various improvements to the VCS sources
- support for plugins
- massive rework of frontend application
- better support for latent workers
- many bug fixes
The BuildBot is a system to automate the compile/test cycle required by
most software projects to validate code changes. By automatically
rebuilding and testing the tree each time something has changed, build
problems are pinpointed quickly, before other developers are
inconvenienced by the failure. The guilty developer can be identified
and harassed without human intervention. By running the builds on a
variety of platforms, developers who do not have the facilities to test
their changes everywhere before checkin will at least know shortly
afterwards whether they have broken the build or not. Warning counts,
lint checks, image size, compile time, and other build parameters can
be tracked over time, are more visible, and are therefore easier to
improve.
This package contains the worker component, the former buildbot-slave.
This modules provides an idiomatic testing library for python with
powerful and flexible assertions. Sure is heavily inspired in RSpec
Expectations and should.js.
This is a python module for monitoring memory consumption of a process.
It can do time-based and line-by-line analysis of the memory consumption
for python programs.
This module is really simple, it gives you colored strings for terminal
usage. Included colors are red, green, yellow, blue, black, magenta,
magenta, cyan, white, clean, and disable.
treq is an HTTP library inspired by requests but written on top of
Twisted’s Agents.
It provides a simple, higher level API for making HTTP requests when
using Twisted.
pytest-localserver is a plugin for the pytest testing framework which
enables you to test server connections locally.
Sometimes monkeypatching urllib2.urlopen() just does not cut it, for
instance if you work with urllib2.Request, define your own
openers/handlers or work with httplib. In these cases it may come in
handy to have an HTTP server running locally which behaves just like the
real thing.
gdb6 has been eliminated from pkgsrc and moved to pkgsrc-wip/gdb6 for those
who still may care about it. pkgsrc developers no longer intend to maintain
this version in the main repository.
gdb5 has been eliminated from pkgsrc and moved to pkgsrc-wip/gdb5 for those
who still may care about it. pkgsrc developers no longer intend to maintain
this version in the main repository.
This module provides tools for building external (non-CPAN)
dependencies for CPAN. It is mainly designed to be used at install
time of a CPAN client, and work closely with Alien::Base which is
used at runtime.
This module provides an interface for specifying shell configurations
for different shell environments without having to worry about the
arcane differences between shells such as csh, sh, cmd.exe and
command.com.