* "LockColorants" command line option for tiffsep and psdcmyk devices. Specifying -dLockColorants will restrict those devices to only the colorants list on the command line (thus: -c "<< /SeparationColorNames [ /Cyan /Magenta /Yellow /Black /Violet /Orange] /SeparationOrder [ /Cyan /Magenta /Yellow /Black /Violet /Orange]>> setpagedevice"), rather than allowing the devices to add new colorants as encountered in the input. This is, obviously, preferable for real printers, where only a certain of inks will be available.
* Improved high level devices handling of Forms. Whilst High level devices (eg pdfwrite) already checked Forms to see if they are duplicates, and if so use the initial definition. However, this does not improve performance, since the Form PaintProc still needs to be executed for each instance of the Form, and the matching algorithm could, in very odd circumstances, be defeated. The new implementation benefits both causes, meaning the second and subsequent invocation of the form need not re-run the PaintProc, and removes the heurisic aspect of the reuse detection.
* New URW+ fonts in which the families NimbusMono, NimbusRoman and NimbusSans have been augmented with production quality Greek and Cyrillic glyphs. These correspond to our substitutes for the PDF base 14 fonts.
* Plus the usual round of bug fixes, compatibility changes, and incremental improvements.
The features for this release include support of CLDR 27 (with a major cleanup of region locales, among many other improvements), formatting for scientific notation ("1.2 × 10³"), an update to Unicode 7.0 data for spoof-checking, narrow AM/PM markers ("7:45p"), and various performance enhancements. For C/C++, there are new methods for flexible dates ("Nov 10", or "Sept 2015"), named capture groups for regular expressions, formatting of compound units ("3.5 meters per second"), new C wrappers, and independent timezone resource loading. ICU4J has been improved and tested for using ICU4C data and for running on Android.
identified by sevan@'s early build report. Update patches. Changes:
02.07.2014
Releasing 0.7.1.1
! Linux compilation issues corrected
28.06.2014
Releasing 0.7.1
+ Windows icons added
+ Warnings added for most common misconfigurations
+ ftppr NLSD command supported
! Ignore NTLM handshake if NTLM is not enabled
! memcpy replaced with memmove for overlapped region
! better EINTR handling on *nix
! FTP proxy debugging output removed, binding for data connection corrected
! memory leak fixed in ldapauth plugin
08.04.2014
Releasing as 0.7
Significant changes since 0.6.1:
!! auth iponly by default
! maxconn is 500 by default
! Improved HTTP/1.1 compatibility
! Functionality bugfixes
+ Few new plugins
11.07.2012
! fixed: counters over 4GB in webadmin
26.06.2012
! OpenSSL thread support functions added to SSL plugin
10.05.2012
! SSL plugin works. Commands to enable/disable SSL spoofing will be added later.
25.04.2012
! pcre_rewrite slash sequence logic corrected
16.04.2012
+ Added: SSLPlugin for SSL decryption with certificates spoofing
12.04.2012
+ Added: new filter callback function type (pre data filter) for things like SSL/TLS, gzip, etc.
WARNING: all plugins with filter functions need to be reviewed for compatibility
06.02.2012
+ Added: transparent redirection plugin for linux. Automatically detects redirection
address if traffic is redirected via iptables
15.08.2011
! Fixed: 100% CPU because of usleep with large value on NetBSD
11.06.2011
+ Support for extusername/extpassword added to smtpp
04.06.2011
! Fixed: web admin access
! Fixed: wrong error code in logfile in some rare cases
! Migrated to VC 9.0 compiler
14.04.2011
! Authentication: do not request username/password in mixed authentication
if all modules deny access.
12.04.2011
! Minor code cleanup
17.12.2010
- Debugging output to stdout removed
09.12.2010
! Code cleanup for sockets mapping and chunked encoding,
! Content-Length up to 4GB
25.11.2010
+ System locale handling added for mixed case username in WindowAuthentication
13.11.2010
+ Plugin utf8tocp1251 added to automatically detect UTF-8 (used by Chrome and
Opera in username/password.
usage
plugin "utf8tocp1251" utf8tocp1251
auth utf8tocp1251 strong
or
auth utf8tocp1251 cache windows
11.11.2010
! encoding paramter added to WWW-Authenticate and Proxy-Authenticate headers in
.3ps files according to
http://tools.ietf.org/id/draft-reschke-basicauth-enc-01.txt
12.08.2010
! Removed getservbyport() from webadmin to avoid potential race condition
09.08.2010
! Default .3ps files corrected
26.06.2010
! Fixed: keep-alive connections detection for HTTP/1.1
10.12.2009
! Fixed: external address may be incorrectly set if few requests are
received in single connection.
02.12.2009
! zero sockaddr before bind for some FreeBSD versions compatibity
26.10.2009
! Some changes for MD4/MD5 libraries 64-bit compatibility
01.10.2009
! Fixed: Content-Length is sent twice to server if there are content-handling
plugins.
17.09.2009
! Makefile.Linux: add3proxyuser.sh moved to INSTALL_CFG_OBJS
(thanks to Martin Wanicki)
+ Functionality added to intercept all socket-related calls for plugins
03.09.2009
! Fixed: client connection was not closed on removed Content-Length (may
cause connection hang for timeout at the end of large file transfer
if filtering plugins are used).
24.08.2009
+ Added transparent redirection to ICQ and MSN proxy
+ Added (untested) Last.fm ripper plugin - initial version, code needs to be
cleaned to work under *nix. Thanks to Denis Stanishevskiy.
14.08.2009
+ WinCE (Windows Mobile) support added
27.07.2009
! Fixed: use authnserver for name match check if configured
22.07.2009
+ authnserver command added (nserver to use only with auth dnsname)
13.07.2009
+ man pages for smtpp and icqpr added
! traffic correction plugin logics fixed
10.07.2009
+ 3proxy configuration parser: support added for empty strings ("").
09.07.2009
+ dnsname authentication added (auth dnsname) - puts validated reverse DNS
record (PTR) instead of username
+ PCREPlugin: Added: \r, \n support from pcre_rewrite rewrite string. Use \0
for empty string
+ PCREPlugin: Added: * may be used instead of regex (no regex is created
and checked in this case)
24.06.2009
! random redirections are really fixed (incomplete fix on 08.04.2009)
! icqpr "Need recync" problem fixed
! disable NTLM by default (because of Windows Vista) until NTLMv2 implemented
! set auth iponly to be default
08.04.2009
! Fixed: distribution between parent proxies was not even because of
non-linear probability
18.03.2009
! Marking as 0.7-devel
06.03.2009
! Fixed: filters were applied in reverse order
25.02.2009
! Fixed: beginning of HTTP data may be not passed to filter
22.02.2009
! handle Content-Length as unsigned long to allow files > 2GB.
10.02.2009
! Ldapauth plugin corrected according to changes on 02.02.2009
02.02.2009
+ countout / nocountout commands added
! Added workaround for Mac OS X / iPhone OS poll() (mis)behaviour.
30.01.2009
! Flush buffer in case of POLLxxx - probably required for Mac OS X / iPhone OS
24.01.2009
! Changed WindowsAuthentication to convert username to lowercase
10.12.2008
! Fixed: login may hang in ftppr in case of large server banner
30.10.2008
! WindowsAuthentication plugin may sometimes fail with 100122 error
on startup because of uninitialized variable.
30.09.2008
! -lXXX moved to $LIBS in Makefiles for linkers compatibility
+ 3proxy for Dummies v.1.2 by Kurmaeff Halit added (in Russian)
26.08.2008
! Fixed: end of chunked-encoded page may be incorrectly detected
24.07.2008
! Fixed: buffering problem on multiple chunks
21.07.2008
! Previous fix was incomplete
13.07.2008
Thanks to Hostile Fork:
! Fixed directory listing building for some rare FTP servers (e.g. HP)
! Fixed (probably) chunked encoding should now work. REQUIRES TESTING.
please report, if you have problems with chunked.
11.05.2008
+ minor plugin interface additions
03.05.2008
+ pcre_options implemented
24.04.2008
! Fixed: bandlimsout may not work if both bandlimsin and bandlimsout
are configured.
01.04.2008
! Fixed: chunked was actually converted to non-chunked
25.03.2008
+ HTTP chunked support (hopefully) added, not tested yet
13.02.2008
! Do not shutdown listening socket
! FTPPR was broken on 10.02 fix
! ':' may be encoded in ftp:// URI's in proxy
non x86, mipsel and armel builds.)
probably could add other *bsd here, but i don't know them well
enough to be sure.
this doesn't change the build anywhere it was working already.
d2to1 (the "d" is for "distutils") allows using distutils2-like setup.cfg files
for a package's metadata with a distribute/setuptools setup.py script. It works
by providing a distutils2-formatted setup.cfg file containing all of a
package's metadata, and a very minimal setup.py which will slurp its arguments
from the setup.cfg.
Changes in 2.2.0 (2014-09-16)
-----------------------------
- Support for Datastore sharing
- `DropboxClient.get_file()`: Add support for `start`, `length` parameters.
- Add support for the /longpoll_delta API
- Add direct support for /chunked_upload and /commit_chunked_upload APIs
- Fix error handling in ChunkedUploader
- Make tests compatible with py.test
- Various docstring updates (including OAuth 1->2 example)
- Fix encoding issues in example/cli_client.py
- Fix unicode handling for URL parameters
Changes in 2.1.0 (2014-06-03)
-----------------------------
- The datastore API now includes size accessors to allow you to check the size of your data and avoid the syncing limits.
- The datastore Date() constructor now truncates timestamps to the supported resolution, i.e. milliseconds.
- The datastore `await*()` calls now use POST instead of GET.
- Datastore IDs, table IDs, record IDs and field names may be 64 characters (increased from 32 characters). Before taking advantage of the new size limits ensure your application is fully upgraded to SDKs with this support.
- Option to `include_media_info` has been added to `DropboxClient.metadata()` and `DropboxClient.delta()`.
Changes in 2.0.0 (2013-12-19)
-----------------------------
- Add the Datastore API.
- Upgrade OAuth 1 tokens with `DropboxClient.create_oauth2_access_token` and `DropboxClient.disable_oauth2_access_token`.
- `DropboxClient.thumbnail()`: Fix `size` identifiers.
- `DropboxClient.delta()`: Add support for `path_prefix` parameter.
- Connection reuse/pooling using urllib3.
- Updated SSL settings.
- Various documentation reformatting.
Changes in 1.6 (2013-07-07)
----------------
- Added OAuth 2 support (use DropboxOAuth2Flow). OAuth 1 still works.
- Added a Flask-based example.
- Fixed many minor bugs.
Changes in 1.5.1 (2012-8-20)
-----------------
- Fixed packaging.
- Got rid of debug prints.
Changes in 1.5 (2012-8-15)
--------------------------
- Support for uploading large files via /chunked_upload
Changes in 1.4.1 (2012-5-16)
----------------------------
- Increase metadata() file list limit to 25,000 (used to be 10,000).
- Removed debug prints from search() call. Oops.
- Cleanup to make more compatible with Python 3.
Changes in 1.4 (2012-3-26)
--------------------------
- Add support for the /delta API.
- Add support for the "copy ref" API.
Changes in 1.3 (2012-1-11)
--------------------------
- Adds a method to the SDK that returns the file metadata when downloading a
file or its thumbnail.
- Validate server's SSL certificate against CAs in included certificate file.
Changes in 1.2 (2011-10-17)
---------------------------
- Fixes for bugs found during beta period
- Improved README to include steps to remove the v0 SDK if upgrading
Changes in 1.1 (2011-8-16)
--------------------------
- Fixed version number
- Updated CHANGELOG to be more detailed
Changes in 1.0 (2011-7-11)
--------------------------
- Backwards compatibility broken
- Completely removed 'callback' and 'status\_in\_response' parameters
- Change 'sandbox' references to 'app\_folder'
- Refactored auth.py and renamed it session.py
- Updated SDK to Dropbox API Version 1, supporting all calls
- Added 'rev' parameter to metadata and get\_file
- Added 'parent\_rev' parameter to put\_file
- Added search, share, media, revisions, and restore
- put\_file uses /files\_put instead of multipart POST and now takes a full path
- Removed methods for calls that were removed from v1 of the REST API
- Removed 'root' input parameter for all calls
- Changed return format for calls
- On error (non-200 response), an exception is raised
- On success, the JSON is parsed and a Python dict or list is returned
- Updated examples
- Renamed 'bin' directory to 'example'
- Heavily tweaked the CLI example
- Added a web app example
- Removed reliance on config files
- Assorted bugfixes and improvements
- Buffers large file uploads better in put\_file
- Improved path normalization
- All calls are now made over SSL
- Fully documented code for Pydoc generation
- Added a CHANGELOG
- Changed the distribution name from 'dropbox-client' to 'dropbox-python-sdk'
Changes from previous(Excerpt from release notes):
boto v2.30.0
============
This release adds new Amazon EC2 instance types, new regions for AWS
CloudTrail and Amazon Kinesis, Amazon S3 presigning using signature
version 4, and several documentation and bugfixes.
boto v2.31.0
============
This release adds support for Amazon CloudWatch Logs.
boto v2.31.1
============
This release fixes an installation bug in the 2.31.0 release.
boto v2.32.0
============
This release includes backward-compatible support for Python 3.3 and
3.4, support for IPv6, Amazon VPC connection peering, Amazon SNS
message attributes, new regions for Amazon Kinesis, and several fixes.
boto v2.32.1
============
This release fixes an incorrect Amazon VPC peering connection call,
and fixes several minor issues related to Python 3 support including a
regression when pickling authentication information.
boto v2.33.0
=============
This release adds support for Amazon Route 53 Domains, Amazon Cognito
Identity, Amazon Cognito Sync, the DynamoDB document model feature,
and fixes several issues.
boto v2.34.0
============
This release adds region support for ``eu-central-1`` , support to
create virtual mfa devices for Identity and Access Management, and
fixes several sigv4 issues.
boto v2.35.0
===========
This release adds support for Amazon EC2 Classic Link which allows
users to link classic instances to Classic Link enabled VPCs, adds
support for Amazon CloudSearch Domain, adds sigv4 support for Elastic
Load Balancing, and fixes several other issues including issues making
anonymous AWS Security Token Service requests.
boto v2.35.1
============
This release fixes a regression which results in an infinite while
loop of requests if you query an empty Amazon DynamoDB table.
boto v2.32.2
============
This release adds ClassicLink support for Auto Scaling and fixes a few
issues.
boto v2.36.0
============
This release adds support for AWS Key Management Service (KMS), AWS
Lambda, AWS CodeDeploy, AWS Config, AWS CloudHSM, Amazon EC2 Container
Service (ECS), Amazon DynamoDB online indexing, and fixes a few
issues.
boto v2.37.0
============
This release updates AWS CloudTrail to the latest API, adds new regional
service endpoints and fixes bugs in several services.
Remove do-install and use post-install for the files not
installed by the install from the package.
Changelog:
Changes in i3 v4.10.1
* i3bar: cut long statuslines from the left
* i3bar: add support for the short_text property
* i3-sensible-terminal: launch i3-nagbar when no terminal is found
* i3-config-wizard: switch modifier on key up/down
* docs/layout-saving: added a troubleshooting section
* docs: degender all the terms
* Revert "Workspace command number selection"
* don't parse blocks as markup by default
* Allow escaping backslashes in commands.
* switch default font from "DejaVu Sans Mono 8" to "monospace 8", which is
typically a synonym, except for users who prefer a different font.
* When renaming a workspace, look for assignments and move the renamed
workspace to the appropriate output.
* i3-save-tree: make --workspace optional by defaulting to the focused
workspace
* Allow nop command without argument
Bugfixes
* i3bar: buffer the statusline to avoid flickering
* i3bar: fix click events for workspace buttons with long statusline
* i3bar: set correct initial position when reconfiguring
* i3bar: reconfigure strut partial on reload
* i3-nagbar: fix sizes/positioning on hi-dpi displays
* i3-config-wizard: fix sizes/positioning on hi-dpi displays
* i3-input: fix sizes/positioning on hi-dpi displays
* Fix scrolling in window decoration with hidden cursor.
* workspace rename focus mismatch
* Don't overwrite border width when already set (placeholders).
* fix a segfault during config file validation
* Restore placeholder windows after restarting.
* Don't focus placeholder windows.
Changes in v4.9.1
Bugfixes
* i3bar: fix incorrect y-offset for text
* fix key bindings on big-endian platforms
* fix key bindings using Mode_switch
* fix keyboard layout change detection
* revert "Handle WM_CHANGE_STATE requests for iconic state" (fixes problems
with application windows disappearing, like SDL-based games when switching
workspaces)
* insert id-based match at HEAD, not TAIL (fixes window swallowing not
working when the criteria match the placeholder window)
* improve error messages on failing commands
* replace ~ in filepath when calling append_layout
* properly error out when the layout file cannot be read
Changes in v4.9
* docs/ipc: use an actual event type
* docs/debugging: use logs.i3wm.org
* docs/testsuite: add hint to use xvfb-run
* testcases: use Xephyr instead of XDummy
* i3-sensible-*: use command -v (built-in) instead of which(1)
* i3.xsession.desktop: set DesktopNames (which gdm uses)
* i3-save-tree: interpret commandline parameters as utf-8
* i3-save-tree: add 'mark' as allowed key to i3-save-tree output
* i3bar-protocol: ensure align = left is the default
* i3bar: implement custom mouse wheel commands
* i3bar: improve error message when a full_text property is missing
* i3bar: respect the urgency flag on status blocks
* i3bar: inset the urgent background of a status block for consistency with
workspace buttons
* i3bar: suspend the child when bars are fully obscured
* i3bar: use Pango markup
* ipc: implement the window::close event
* ipc: implement the window::move event
* ipc: implement the window::floating event
* ipc: implement the window::urgent event
* ipc: set ws reply "num" member to -1 when named
* ipc: add deco_rect property to con in ipc response
* ipc: include workspace con in workspace event
* ewmh: implement property _NET_NUMBER_OF_DESKTOPS
* ewmh: implement property _NET_DESKTOP_VIEWPORT
* ewmh: implement property _NET_DESKTOP_NAMES
* ewmh: handle _NET_CURRENT_DESKTOP requests
* ewmh: handle _NET_CLOSE_WINDOW requests
* ewmh: handle _NET_WM_MOVERESIZE requests
* implement mouse bindings (e.g. bindsym button3 kill)
* add mouse binding --whole-window flag
* add mouse binding --release flag
* switch to xcb-xkb and libxkbcommon, removing our last direct Xlib dep
* make "move [direction]" work with criteria
* make "move <window|container> to <absolute> position" work with criteria
* "workspace <n>" and "move to workspace <n>" now look for a workspace
starting with number <n> (unless there is a workspace exactly matching that
number). I.e., "workspace 4" will go to a workspace called ": www" unless
you have a workspace "4"
* "focus <direction>" now focuses floating containers when there are no
tiling containers on the destination output
* take the motif border into account when calculating floating window
geometry
* revert "Disable pointer warps when focus_follows_mouse is disabled" as it
was unexpected by a number of users. Sorry for the back-and-forth
* handle WM_CLASS changes
* raise floating windows on "focus <direction>"
* align lower line of bar decoration to border width
* parse tray_output as a word, not string
* allow to validate the config file without X
* do not resend focus on click, fixes compatibility problems with some wine
or mono apps (e.g. Office 2010)
* don't draw borders wider than actual width
* prevent workspace change during global fullscreen
* extend the fullscreen command (fullscreen <enable|toggle|disable> [global])
* fix start_application() doc about which shell is used
Bugfixes
* i3-dmenu-desktop: quote path
* i3bar: fix a double free when changing color configuration
* i3bar: render bars after the first chunk of JSON
* i3bar: add a sync call to confirm reparents before exiting (fixes tray
restart issues)
* i3bar: correctly calculate clicks on i3bar status blocks
* i3bar: make click events on status blocks work with 'workspace_buttons no'
* retina support: convert logical to physical pixels for default_border_width
* retina support: treat everything up to 120 dpi as 96 dpi
* don't set input focus if not accepted (fixes problems with xfce4-notifyd)
* don't focus unmapped container on manage
* create the directory for storing the restart state
* avoid changing border width when changing containers from tiling to
floating
* layout saving: properly restore workspace containers
* rerender the decoration when the container requires a pixmap and doesn't
have one
* don't set focus in con_set_layout() on invisible workspaces
* properly handle windows unsetting WM_TRANSIENT_FOR
* use the command parser to properly extract workspace names
* copy binding before run (fixes reloads)
* revert "Bugfix: Set input focus with last timestamp"
* render floating windows during global fullscreen
* actually parse client.placeholder
Set INSTALLATION_PREFIX to allow this to co-exist with graphics/MesaLib.
This package is here to allow x11/modular-xorg-server112 to find
dri drivers, which it should pick up from /usr/pkg/MesaLib7/lib/dri.
Update DEPENDS
Add test target
Upstream changes:
2015-03-14 -- 1.4.3
* Remove three warnings: star-args, abstract-class-little-used,
abstract-class-not-used. These warnings don't add any real value
and they don't imply errors or problems in the code.
* Added a new option for controlling the peephole optimizer in astroid.
The option ``--optimize-ast`` will control the peephole optimizer,
which is used to optimize a couple of AST subtrees. The current problem
solved by the peephole optimizer is when multiple joined strings,
with the addition operator, are encountered. If the numbers of such
strings is high enough, Pylint will then fail with a maximum recursion
depth exceeded error, due to its visitor architecture. The peephole
just transforms such calls, if it can, into the final resulting string
and this exhibit a problem, because the visit_binop method stops being
called (in the optimized AST it will be a Const node).
2015-03-11 -- 1.4.2
* Don't require a docstring for empty modules. Closes issue #261.
* Fix a false positive with `too-few-format-args` string warning,
emitted when the string format contained a normal positional
argument ('{0}'), mixed with a positional argument which did
an attribute access ('{0.__class__}').
Closes issue #463.
* Take in account all the methods from the ancestors
when checking for too-few-public-methods. Closes issue #471.
* Catch enchant errors and emit 'invalid-characters-in-docstring'
when checking for spelling errors. Closes issue #469.
* Use all the inferred statements for the super-init-not-called
check. Closes issue #389.
* Add a new warning, 'unichr-builtin', emitted by the Python 3
porting checker, when the unichr builtin is found. Closes issue #472.
* Add a new warning, 'intern-builtin', emitted by the Python 3
porting checker, when the intern builtin is found. Closes issue #473.
* Add support for editable installations.
* The HTML output accepts the `--msg-template` option. Patch by
Dan Goldsmith.
* Add 'map-builtin-not-iterating' (replacing 'implicit-map-evaluation'),
'zip-builtin-not-iterating', 'range-builtin-not-iterating', and
'filter-builtin-not-iterating' which are emitted by `--py3k` when the
appropriate built-in is not used in an iterating context (semantics
taken from 2to3).
* Add a new warning, 'unidiomatic-typecheck', emitted when an explicit
typecheck uses type() instead of isinstance(). For example,
`type(x) == Y` instead of `isinstance(x, Y)`. Patch by Chris Rebert.
Closes issue #299.
* Add support for combining the Python 3 checker mode with the --jobs
flag (--py3k and --jobs). Closes issue #467.
* Add a new warning for the Python 3 porting checker, 'using-cmp-argument',
emitted when the `cmp` argument for the `list.sort` or `sorted builtin`
is encountered.
* Make the --py3k flag commutative with the -E flag. Also, this patch
fixes the leaks of error messages from the Python 3 checker when
the errors mode was activated. Closes issue #437.
2015-01-16 -- 1.4.1
* Look only in the current function's scope for bad-super-call.
Closes issue #403.
* Check the return of properties when checking for not-callable.
Closes issue #406.
* Warn about using the input() or round() built-ins for Python 3.
Closes issue #411.
* Proper abstract method lookup while checking for
abstract-class-instantiated. Closes issue #401.
* Use a mro traversal for finding abstract methods. Closes issue #415.
* Fix a false positive with catching-non-exception and tuples of
exceptions.
* Fix a false negative with raising-non-exception, when the raise used
an uninferrable exception context.
* Fix a false positive on Python 2 for raising-bad-type, when
raising tuples in the form 'raise (ZeroDivisionError, None)'.
* Fix a false positive with invalid-slots-objects, where the slot entry
was an unicode string on Python 2. Closes issue #421.
* Add a new warning, 'redundant-unittest-assert', emitted when using
unittest's methods assertTrue and assertFalse with constant value
as argument. Patch by Vlad Temian.
* Add a new JSON reporter, usable through -f flag.
* Add the method names for the 'signature-differs' and 'argument-differs'
warnings. Closes issue #433.
* Don't compile test files when installing.
* Fix a crash which occurred when using multiple jobs and the files
given as argument didn't exist at all.
2014-11-23 -- 1.4.0
* Added new options for controlling the loading of C extensions.
By default, only C extensions from the stdlib will be loaded
into the active Python interpreter for inspection, because they
can run arbitrary code on import. The option
`--extension-pkg-whitelist` can be used to specify modules
or packages that are safe to load.
* Change default max-line-length to 100 rather than 80
* Drop BaseRawChecker class which were only there for backward
compat for a while now
* Don't try to analyze string formatting with objects coming from
function arguments. Closes issue #373.
* Port source code to be Python 2/3 compatible. This drops the
need for 2to3, but does drop support for Python 2.5.
* Each message now comes with a confidence level attached, and
can be filtered base on this level. This allows to filter out
all messages that were emitted even though an inference failure
happened during checking.
* Improved presenting unused-import message. Closes issue #293.
* Add new checker for finding spelling errors. New messages:
wrong-spelling-in-comment, wrong-spelling-in-docstring.
New options: spelling-dict, spelling-ignore-words.
* Add new '-j' option for running checks in sub-processes.
* Added new checks for line endings if they are mixed (LF vs CRLF)
or if they are not as expected. New messages: mixed-line-endings,
unexpected-line-ending-format. New option: expected-line-ending-format.
* 'dangerous-default-value' no longer evaluates the value of the arguments,
which could result in long error messages or sensitive data being leaked.
Closes issue #282
* Fix a false positive with string formatting checker, when
encountering a string which uses only position-based arguments.
Closes issue #285.
* Fix a false positive with string formatting checker, when using
keyword argument packing. Closes issue #288.
* Proper handle class level scope for lambdas.
* Handle 'too-few-format-args' or 'too-many-format-args' for format
strings with both named and positional fields. Closes issue #286.
* Analyze only strings by the string format checker. Closes issue #287.
* Properly handle nested format string fields. Closes issue #294.
* Don't emit 'attribute-defined-outside-init' if the attribute
was set by a function call in a defining method. Closes issue #192.
* Properly handle unicode format strings for Python 2.
Closes issue #296.
* Don't emit 'import-error' if an import was protected by a try-except,
which excepted ImportError.
* Fix an 'unused-import' false positive, when the error was emitted
for all the members imported with 'from import' form.
Closes issue #304.
* Don't emit 'invalid-name' when assigning a name in an
ImportError handler. Closes issue #302.
* Don't count branches from nested functions.
* Fix a false positive with 'too-few-format-args', when the format
strings contains duplicate manual position arguments.
Closes issue #310.
* fixme regex handles comments without spaces after the hash.
Closes issue #311.
* Don't emit 'unused-import' when a special object is imported
(__all__, __doc__ etc.). Closes issue #309.
* Look in the metaclass, if defined, for members not found in the current
class. Closes issue #306.
* Don't emit 'protected-access' if the attribute is accessed using
a property defined at the class level.
* Detect calls of the parent's __init__, through a binded super() call.
* Check that a class has an explicitly defined metaclass before
emitting 'old-style-class' for Python 2.
* Emit 'catching-non-exception' for non-class nodes. Closes issue #303.
* Order of reporting is consistent.
* Add a new warning, 'boolean-datetime', emitted when an instance
of 'datetime.time' is used in a boolean context. Closes issue #239.
* Fix a crash which ocurred while checking for 'method-hidden',
when the parent frame was something different than a function.
* Generate html output for missing files. Closes issue #320.
* Fix a false positive with 'too-many-format-args', when the format
string contains mixed attribute access arguments and manual
fields. Closes issue #322.
* Extend the cases where 'undefined-variable' and 'used-before-assignment'
can be detected. Closes issue #291.
* Add support for customising callback identifiers, by adding a new
'--callbacks' command line option. Closes issue #326.
* Add a new warning, 'logging-format-interpolation', emitted when .format()
string interpolation is used within logging function calls.
* Don't emit 'unbalanced-tuple-unpacking' when the rhs of the assignment
is a variable length argument. Closes issue #329.
* Add a new warning, 'inherit-non-class', emitted when a class inherits
from something which is not a class. Closes issue #331.
* Fix another false positives with 'undefined-variable', where the variable
can be found as a class assignment and used in a function annotation.
Closes issue #342.
* Handle assignment of the string format method to a variable.
Closes issue #351.
* Support wheel packaging format for PyPi. Closes issue #334.
* Check that various built-ins that do not exist in Python 3 are not
used: apply, basestring, buffer, cmp, coerce, execfile, file, long
raw_input, reduce, StandardError, unicode, reload and xrange.
* Warn for magic methods which are not used in any way in Python 3:
__coerce__, __delslice__, __getslice__, __setslice__, __cmp__,
__oct__, __nonzero__ and __hex__.
* Don't emit 'assigning-non-slot' when the assignment is for a property.
Closes issue #359.
* Fix for regression: '{path}' was no longer accepted in '--msg-template'.
* Report the percentage of all messages, not just for errors and warnings.
Closes issue #319.
* 'too-many-public-methods' is reported only for methods defined in a class,
not in its ancestors. Closes issue #248.
* 'too-many-lines' disable pragma can be located on any line, not only the
first. Closes issue #321.
* Warn in Python 2 when an import statement is found without a
corresponding `from __future__ import absolute_import`.
* Warn in Python 2 when a non-floor division operation is found without
a corresponding `from __future__ import division`.
* Add a new option, 'exclude-protected', for excluding members
from the protected-access warning. Closes issue #48.
* Warn in Python 2 when using dict.iter*(), dict.view*(); none of these
methods are available in Python 3.
* Warn in Python 2 when calling an object's next() method; Python 3 uses
__next__() instead.
* Warn when assigning to __metaclass__ at a class scope; in Python 3 a
metaclass is specified as an argument to the 'class' statement.
* Warn when performing parameter tuple unpacking; it is not supported in
Python 3.
* 'abstract-class-instantiated' is also emitted for Python 2.
It was previously disabled.
* Add 'long-suffix' error, emitted when encountering the long suffix
on numbers.
* Add support for disabling a checker, by specifying an 'enabled'
attribute on the checker class.
* Add a new CLI option, --py3k, for enabling Python 3 porting mode. This
mode will disable all other checkers and will emit warnings and
errors for constructs which are invalid or removed in Python 3.
* Add 'old-octal-literal' to Python 3 porting checker, emitted when
encountering octals with the old syntax.
* Add 'implicit-map-evaluation' to Python 3 porting checker, emitted
when encountering the use of map builtin, without explicit evaluation.
2014-07-26 -- 1.3.0
* Allow hanging continued indentation for implicitly concatenated
strings. Closes issue #232.
* Pylint works under Python 2.5 again, and its test suite passes.
* Fix some false positives for the cellvar-from-loop warnings.
Closes issue #233.
* Return new astroid class nodes when the inferencer can detect that
that result of a function invocation on a type (like `type` or
`abc.ABCMeta`) is requested. Closes#205.
* Emit 'undefined-variable' for undefined names when using the
Python 3 `metaclass=` argument.
* Checkers respect priority now. Close issue #229.
* Fix a false positive regarding W0511. Closes issue #149.
* Fix unused-import false positive with Python 3 metaclasses (#143).
* Don't warn with 'bad-format-character' when encountering
the 'a' format on Python 3.
* Add multiple checks for PEP 3101 advanced string formatting:
'bad-format-string', 'missing-format-argument-key',
'unused-format-string-argument', 'format-combined-specification',
'missing-format-attribute' and 'invalid-format-index'.
* Issue broad-except and bare-except even if the number
of except handlers is different than 1. Fixes issue #113.
* Issue attribute-defined-outside-init for all cases, not just
for the last assignment. Closes issue #262.
* Emit 'not-callable' when calling properties. Closes issue #268.
* Fix a false positive with unbalanced iterable unpacking,
when encountering starred nodes. Closes issue #273.
* Add new checks, 'invalid-slice-index' and 'invalid-sequence-index'
for invalid sequence and slice indices.
* Add 'assigning-non-slot' warning, which detects assignments to
attributes not defined in slots.
* Don't emit 'no-name-in-module' for ignored modules.
Closes issue #223.
* Fix an 'unused-variable' false positive, where the variable is
assigned through an import. Closes issue #196.
* Definition order is considered for classes, function arguments
and annotations. Closes issue #257.
* Don't emit 'unused-variable' when assigning to a nonlocal.
Closes issue #275.
* Do not let ImportError propagate from the import checker, leading to crash
in some namespace package related cases. Closes issue #203.
* Don't emit 'pointless-string-statement' for attribute docstrings.
Closes issue #193.
* Use the proper mode for pickle when opening and writing the stats file.
Closes issue #148.
* Don't emit hidden-method message when the attribute has been
monkey-patched, you're on your own when you do that.
* Only emit attribute-defined-outside-init for definition within the same
module as the offended class, avoiding to mangle the output in some cases.
* Don't emit 'unnecessary-lambda' if the body of the lambda call contains
call chaining. Closes issue #243.
* Don't emit 'missing-docstring' when the actual docstring uses `.format`.
Closes issue #281.
2014-04-30 -- 1.2.1
* Restore the ability to specify the init-hook option via the
configuration file, which was accidentally broken in 1.2.0.
* Add a new warning [bad-continuation] for badly indentend continued
lines.
* Emit [assignment-from-none] when the function contains bare returns.
Fixes BitBucket issue #191.
* Added a new warning for closing over variables that are
defined in loops. Fixes Bitbucket issue #176.
* Do not warn about \u escapes in string literals when Unicode literals
are used for Python 2.*. Fixes BitBucket issue #151.
* Extend the checking for unbalanced-tuple-unpacking and
unpacking-non-sequence to instance attribute unpacking as well.
* Fix explicit checking of python script (1.2 regression, #219)
* Restore --init-hook, renamed accidentally into --init-hooks in 1.2.0
(#211)
* Add 'indexing-exception' warning, which detects that indexing
an exception occurs in Python 2 (behaviour removed in Python 3).
2014-04-18 -- 1.2.0
* Pass the current python paths to pylint process when invoked via
epylint. Fixes BitBucket issue #133.
* Add -i / --include-ids and -s / --symbols back as completely ignored
options. Fixes BitBucket issue #180.
* Extend the number of cases in which logging calls are detected. Fixes
bitbucket issue #182.
* Improve pragma handling to not detect pylint:* strings in non-comments.
Fixes BitBucket issue #79.
* Do not crash with UnknownMessage if an unknown message ID/name appears
in disable or enable in the configuration. Patch by Cole Robinson.
Fixes bitbucket issue #170.
* Add new warning 'eval-used', checking that the builtin function `eval`
was used.
* Make it possible to show a naming hint for invalid name by setting
include-naming-hint. Also make the naming hints configurable. Fixes
BitBucket issue #138.
* Added support for enforcing multiple, but consistent name styles for
different name types inside a single module; based on a patch written
by morbo@google.com.
* Also warn about empty docstrings on overridden methods; contributed
by sebastianu@google.com.
* Also inspect arguments to constructor calls, and emit relevant
warnings; contributed by sebastianu@google.com.
* Added a new configuration option logging-modules to make the list
of module names that can be checked for 'logging-not-lazy' et. al.
configurable; contributed by morbo@google.com.
* ensure init-hooks is evaluated before other options, notably load-plugins
(#166)
* Python 2.5 support restored: fixed small issues preventing pylint to run
on python 2.5. Bitbucket issues #50 and #62.
* bitbucket #128: pylint doesn't crash when looking
for used-before-assignment in context manager
assignments.
* Add new warning, 'bad-reversed-sequence', for checking that the
reversed() builtin receive a sequence (implements __getitem__ and __len__,
without being a dict or a dict subclass) or an instance which implements
__reversed__.
* Mark `file` as a bad function when using python2 (closes#8).
* Add new warning 'bad-exception-context', checking
that `raise ... from ...` uses a proper exception context
(None or an exception).
* Enhance the check for 'used-before-assignment' to look
for 'nonlocal' uses.
* Emit 'undefined-all-variable' if a package's __all__
variable contains a missing submodule (closes#126).
* Add a new warning 'abstract-class-instantiated' for checking
that abstract classes created with `abc` module and
with abstract methods are instantied.
* Do not warn about 'return-arg-in-generator' in Python 3.3+.
* Do not warn about 'abstract-method' when the abstract method
is implemented through assignment (#155).
* Improve cyclic import detection in the case of packages, patch by Buck
Golemon
* Add new warnings for checking proper class __slots__:
`invalid-slots-object` and `invalid-slots`.
* Search for rc file in `~/.config/pylintrc` if `~/.pylintrc`
doesn't exists (#121)
* Don't register the newstyle checker w/ python >= 3
* Fix unused-import false positive w/ augment assignment (#78)
* Fix access-member-before-definition false negative wrt aug assign (#164)
* Do not attempt to analyze non python file, eg .so file (#122)
Add test target
Upstream changes:
2015-03-14 -- 1.3.6
* Class.slots raises NotImplementedError for old style classes.
Closes issue #67.
* Add a new option to AstroidManager, `optimize_ast`, which
controls if peephole optimizer should be enabled or not.
This prevents a regression, where the visit_binop method
wasn't called anymore with astroid 1.3.5, due to the differences
in the resulting AST. Closes issue #82.
2015-03-11 -- 1.3.5
* Add the ability to optimize small ast subtrees,
with the first use in the optimization of multiple
BinOp nodes. This removes recursivity in the rebuilder
when dealing with a lot of small strings joined by the
addition operator. Closes issue #59.
* Obtain the methods for the nose brain tip through an
unittest.TestCase instance. Closes Pylint issue #457.
* Fix a crash which occurred when a class was the ancestor
of itself. Closes issue #78.
* Improve the scope_lookup method for Classes regarding qualified
objects, with an attribute name exactly as one provided in the
class itself.
For example, a class containing an attribute 'first',
which was also an import and which had, as a base, a qualified name
or a Gettattr node, in the form 'module.first', then Pylint would
have inferred the `first` name as the function from the Class,
not the import. Closes Pylint issue #466.
* Implement the assigned_stmts operation for Starred nodes,
which was omitted when support for Python 3 was added in astroid.
Closes issue #36.
2015-01-17 -- 1.3.4
* Get the first element from the method list when obtaining
the functions from nose.tools.trivial. Closes Pylint issue #448.
2015-01-16 -- 1.3.3
* Restore file_stream to a property, but deprecate it in favour of
the newly added method Module.stream. By using a method instead of a
property, it will be easier to properly close the file right
after it is used, which will ensure that no file descriptors are
leaked. Until now, due to the fact that a module was cached,
it was not possible to close the file_stream anywhere.
file_stream will start emitting PendingDeprecationWarnings in
astroid 1.4, DeprecationWarnings in astroid 1.5 and it will
be finally removed in astroid 1.6.
* Add inference tips for 'tuple', 'list', 'dict' and 'set' builtins.
* Add brain definition for most string and unicode methods
* Changed the API for Class.slots. It returns None when the class
doesn't define any slots. Previously, for both the cases where
the class didn't have slots defined and when it had an empty list
of slots, Class.slots returned an empty list.
* Add a new method to Class nodes, 'mro', for obtaining the
the method resolution order of the class.
* Add brain tips for six.moves. Closes issue #63.
* Improve the detection for functions decorated with decorators
which returns static or class methods.
* .slots() can contain unicode strings on Python 2.
* Add inference tips for nose.tools.
2014-11-22 -- 1.3.2
* Fixed a crash with invalid subscript index.
* Implement proper base class semantics for Python 3, where
every class derives from object.
* Allow more fine-grained control over C extension loading
in the manager.
2014-11-21 -- 1.3.1
* Fixed a crash issue with the pytest brain module.
2014-11-20 -- 1.3.0
* Fix a maximum recursion error occured during the inference,
where statements with the same name weren't filtered properly.
Closes pylint issue #295.
* Check that EmptyNode has an underlying object in
EmptyNode.has_underlying_object.
* Simplify the understanding of enum members.
* Fix an infinite loop with decorator call chain inference,
where the decorator returns itself. Closes issue #50.
* Various speed improvements. Patch by Alex Munroe.
* Add pytest brain plugin. Patch by Robbie Coomber.
* Support for Python versions < 2.7 has been dropped, and the
source has been made compatible with Python 2 and 3. Running
2to3 on installation for Python 3 is not needed anymore.
* astroid now depends on six.
* modutils._module_file opens __init__.py in binary mode.
Closes issues #51 and #13.
* Only C extensions from trusted sources (the standard library)
are loaded into the examining Python process to build an AST
from the live module.
* Path names on case-insensitive filesystems are now properly
handled. This fixes the stdlib detection code on Windows.
* Metaclass-generating functions like six.with_metaclass
are now supported via some explicit detection code.
* astroid.register_module_extender has been added to generalize
the support for module extenders as used by many brain plugins.
* brain plugins can now register hooks to handle failed imports,
as done by the gobject-introspection plugin.
* The modules have been moved to a separate package directory,
`setup.py develop` now works correctly.
2014-08-24 -- 1.2.1
* Fix a crash occurred when inferring decorator call chain.
Closes issue #42.
* Set the parent of vararg and kwarg nodes when inferring them.
Closes issue #43.
* namedtuple inference knows about '_fields' attribute.
* enum members knows about the methods from the enum class.
* Name inference will lookup in the parent function
of the current scope, in case searching in the current scope
fails.
* Inference of the functional form of the enums takes into
consideration the various inputs that enums accepts.
* The inference engine handles binary operations (add, mul etc.)
between instances.
* Fix an infinite loop in the inference, by returning a copy
of instance attributes, when calling 'instance_attr'.
Closes issue #34 (patch by Emile Anclin).
* Don't crash when trying to infer unbound object.__new__ call.
Closes issue #11.
2014-07-25 -- 1.2.0
* Function nodes can detect decorator call chain and see if they are
decorated with builtin descriptors (`classmethod` and `staticmethod`).
* infer_call_result called on a subtype of the builtin type will now
return a new `Class` rather than an `Instance`.
* `Class.metaclass()` now handles module-level __metaclass__ declaration
on python 2, and no longer looks at the __metaclass__ class attribute on
python 3.
* Function nodes can detect if they are decorated with subclasses
of builtin descriptors when determining their type
(`classmethod` and `staticmethod`).
* Add `slots` method to `Class` nodes, for retrieving
the list of valid slots it defines.
* Expose function annotation to astroid: `Arguments` node
exposes 'varargannotation', 'kwargannotation' and 'annotations'
attributes, while `Function` node has the 'returns' attribute.
* Backported most of the logilab.common.modutils module there, as
most things there are for pylint/astroid only and we want to be
able to fix them without requiring a new logilab.common release
* Fix names grabed using wildcard import in "absolute import mode"
(ie with absolute_import activated from the __future__ or with
python 3). Fix pylint issue #58.
* Add support in pylint-brain for understanding enum classes.
2014-04-30 -- 1.1.1
* `Class.metaclass()` looks in ancestors when the current class
does not define explicitly a metaclass.
* Do not cache modules if a module with the same qname is already
known, and only return cached modules if both name and filepath
match. Fixes pylint Bitbucket issue #136.
2014-04-18 -- 1.1.0
* All class nodes are marked as new style classes for Py3k.
* Add a `metaclass` function to `Class` nodes to
retrieve their metaclass.
* Add a new YieldFrom node.
* Add support for inferring arguments to namedtuple invocations.
* Make sure that objects returned for namedtuple
inference have parents.
* Don't crash when inferring nodes from `with` clauses
with multiple context managers. Closes#18.
* Don't crash when a class has some __call__ method that is not
inferable. Closes#17.
* Unwrap instances found in `.ancestors()`, by using their _proxied
class.
TortoiseHg 3.3.3
TortoiseHg 3.3.3 is a regularly scheduled bug-fix release. The
evolve extension was added to the Windows installer packages in
this release.
Bug Fixes
annotate: do not instantiate filectx per line (fixes#4071)
copypatch, export: pass --rev option in compact form (fixes#4081)
doc, version: bump copyright year (fixes#4066)
filectxactions: avoid crash by opening log of new file (fixes#4096)
filedata: calculate status from given base revision if not known
filedata: copy subrepo attributes when switching base revisions (fixes#4102)
guess: sort added/removed files by path for stable result (fixes#4079)
repofilter: always request to unapply revset by clear button (fixes#4073)
repotab: catch Abort on repository lookup as well (fixes#4069)
repowidget: stop the description column from shrinking on restart (refs #3882)
Installer
Evolve extension is now bundled (latest stable tag: 5.1.2)
dulwich bumped to 0.9.9 (0.10.0 is broken on Windows)
hgkeyring bumped to 0.6.7
hgcr-gui (fixes#4065)
0.4.0 -- 2015-04-03
-------------------
For more information about this release, please see `milestone 0.4.0
<https://github.com/sigmavirus24/requests-toolbelt/issues/46>`_ on the
project's page.
New Features
~~~~~~~~~~~~
- A naive implemenation of a thread pool is now included in the toolbelt. See
the docs in ``docs/threading.rst`` or on `Read The Docs
<https://toolbelt.readthedocs.org>`_.
- The ``StreamingIterator`` now accepts files (such as ``sys.stdin``) without
a specific length and will properly stream them.
- The ``MultipartEncoder`` now accepts exactly the same format of fields as
requests' ``files`` parameter does. In other words, you can now also pass in
extra headers to add to a part in the body. You can also now specify a
custom ``Content-Type`` for a part.
- An implementation of HTTP Digest Authentication for Proxies is now included.
- A transport adapter that allows a user to specify a specific Certificate
Fingerprint is now included in the toolbelt.
- A transport adapter that simplifies how users specify socket options is now
included.
- A transport adapter that simplifies how users can specify TCP Keep-Alive
options is now included in the toolbelt.
- Deprecated functions from ``requests.utils`` are now included and
maintained.
- An authentication tool that allows users to specify how to authenticate to
several different domains at once is now included.
- A function to save streamed responses to disk by analyzing the
``Content-Disposition`` header is now included in the toolbelt.
Fixed Bugs
~~~~~~~~~~
- The ``MultipartEncoder`` will now allow users to upload files larger than
4GB on 32-bit systems.
- The ``MultipartEncoder`` will now accept empty unicode strings for form
values.
----
15.0
----
* Pull Request #126: DistributionNotFound message now lists the package or
packages that required it. E.g.::
pkg_resources.DistributionNotFound: The 'colorama>=0.3.1' distribution was not found and is required by smlib.log.
Note that zc.buildout once dependended on the string rendering of this
message to determine the package that was not found. This expectation
has since been changed, but older versions of buildout may experience
problems. See Buildout #242 for details.