Upstream changes:
3.002 2016-08-10T09:30:21Z
* Bump to stable versions
3.001_01 2016-08-06T08:14:59Z
* Remove xisbn stuff璽��it's due to be turned off.
* Bump the major version for the API change
2.011_01 2016-07-29T20:50:01Z
* Remove the URI prereq
A composable cycle class used for constructing style-cycles.
Feature release for cycler. This release includes a number of new
features:
Cycler objecst learned to generate an itertools.cycle by calling them,
a-la a generator.
Cycler objects learned to change the name of a key via the new
.change_key(old_key, new_key) method.
Cycler objects learned how to compare each other and determine if they
are equal or not (==).
Cycler objects learned how to join another Cycler to be concatenated
into a single longer Cycler via concat method of function. A.concat(B)
or concat(A, B).
The cycler factory function learned to construct a complex Cycler from
iterables provided as keyword arguments.
Cycler objects learn do show their insides with the by_key method which
returns a dictionary of lists (instead of an iterable of dictionaries).
# `pydot` changelog
## 1.2.0 (2016-07-01)
- Python 3 compatibility
- bumped dependency to `pyparsing >= 2.1.4`
- tests running on Travis CI
- tests require `chardet`
- detect character encoding for most test files
using the package `chardet`
API:
- on all operating systems, search GraphViz
executables in environment `$PATH`,
using `subprocess.Popen`.
No paths hard-coded due to security and privacy issues.
- add option to pass GraphViz executable name
or absolute path as `prog` to `pydot.Dot.write_*` methods.
This provides an alternative to
adding GraphViz to the `$PATH`.
- the functions:
- `pydot.graph_from_dot_data`
- `pydot.graph_from_dot_file`
- `dot_parser.parse_dot_data`
changed to always return a `list` of graphs,
instead of behaving differently for singletons.
- require that the user explicitly give an encoding to
the function `pydot.graph_from_dot_file`,
with default encoding same as `io.open`.
- decode to unicode at program boundaries, and
treat binary images as bytes,
for more compatibility with python 3.
Use `io.open`, instead of the built-in `open`.
- rm function `pydot.set_graphviz_executables`
- rm attribute `pydot.Dot.progs`
## 1.1.0 (2016-05-23)
- compatibility with `pyparsing >= 1.5.7`
API:
- `pydot.Graph.to_string`: hide `subgraph` keyword only if so requested
- produce `warnings.warn` if `pydot.dot_parser` fails to import,
instead of `print`
## 1.0.29 (2016-05-16)
- Maintenance release that keeps the same API
- pin `pyparsing == 1.5.7`
- update version number in source code
- update `setup.py`
==========
Change Log
==========
Version 2.1.8 -
------------------------------
- Fixed issue in the optimization to _trim_arity, when the full
stacktrace is retrieved to determine if a TypeError is raised in
pyparsing or in the caller's parse action. Code was traversing
the full stacktrace, and potentially encountering UnicodeDecodeError.
- Fixed bug in ParserElement.inlineLiteralsUsing, causing infinite
loop with Suppress.
- Fixed bug in Each, when merging named results from multiple
expressions in a ZeroOrMore or OneOrMore. Also fixed bug when
ZeroOrMore expressions were erroneously treated as required
expressions in an Each expression.
- Added a few more inline doc examples.
- Improved use of runTests in several example scripts.
Version 2.1.7 -
------------------------------
- Fixed regression reported by Andrea Censi (surfaced in PyContracts
tests) when using ParseSyntaxExceptions (raised when using operator '-')
with packrat parsing.
- Minor fix to oneOf, to accept all iterables, not just space-delimited
strings and lists. (If you have a list or set of strings, it is
not necessary to concat them using ' '.join to pass them to oneOf,
oneOf will accept the list or set or generator directly.)
Version 2.1.6 -
------------------------------
- *Major packrat upgrade*, inspired by patch provided by Tal Einat -
many, many, thanks to Tal for working on this! Tal's tests show
faster parsing performance (2X in some tests), *and* memory reduction
from 3GB down to ~100MB! Requires no changes to existing code using
packratting. (Uses OrderedDict, available in Python 2.7 and later.
For Python 2.6 users, will attempt to import from ordereddict
backport. If not present, will implement pure-Python Fifo dict.)
- Minor API change - to better distinguish between the flexible
numeric types defined in pyparsing_common, I've changed "numeric"
(which parsed numbers of different types and returned int for ints,
float for floats, etc.) and "number" (which parsed numbers of int
or float type, and returned all floats) to "number" and "fnumber"
respectively. I hope the "f" prefix of "fnumber" will be a better
indicator of its internal conversion of parsed values to floats,
while the generic "number" is similar to the flexible number syntax
in other languages. Also fixed a bug in pyparsing_common.numeric
(now renamed to pyparsing_common.number), integers were parsed and
returned as floats instead of being retained as ints.
- Fixed bug in upcaseTokens and downcaseTokens introduced in 2.1.5,
when the parse action was used in conjunction with results names.
Reported by Steven Arcangeli from the dql project, thanks for your
patience, Steven!
- Major change to docs! After seeing some comments on reddit about
general issue with docs of Python modules, and thinking that I'm a
little overdue in doing some doc tuneup on pyparsing, I decided to
following the suggestions of the redditor and add more inline examples
to the pyparsing reference documentation. I hope this addition
will clarify some of the more common questions people have, especially
when first starting with pyparsing/Python.
- Deprecated ParseResults.asXML. I've never been too happy with this
method, and it usually forces some unnatural code in the parsers in
order to get decent tag names. The amount of guesswork that asXML
has to do to try to match names with values should have been a red
flag from day one. If you are using asXML, you will need to implement
your own ParseResults->XML serialization. Or consider migrating to
a more current format such as JSON (which is very easy to do:
results_as_json = json.dumps(parse_result.asDict()) Hopefully, when
I remove this code in a future version, I'll also be able to simplify
some of the craziness in ParseResults, which IIRC was only there to try
to make asXML work.
- Updated traceParseAction parse action decorator to show the repr
of the input and output tokens, instead of the str format, since
str has been simplified to just show the token list content.
(The change to ParseResults.__str__ occurred in pyparsing 2.0.4, but
it seems that didn't make it into the release notes - sorry! Too
many users, especially beginners, were confused by the
"([token_list], {names_dict})" str format for ParseResults, thinking
they were getting a tuple containing a list and a dict. The full form
can be seen if using repr().)
For tracing tokens in and out of parse actions, the more complete
repr form provides important information when debugging parse actions.
Verison 2.1.5 - June, 2016
------------------------------
- Added ParserElement.split() generator method, similar to re.split().
Includes optional arguments maxsplit (to limit the number of splits),
and includeSeparators (to include the separating matched text in the
returned output, default=False).
- Added a new parse action construction helper tokenMap, which will
apply a function and optional arguments to each element in a
ParseResults. So this parse action:
def lowercase_all(tokens):
return [str(t).lower() for t in tokens]
OneOrMore(Word(alphas)).setParseAction(lowercase_all)
can now be written:
OneOrMore(Word(alphas)).setParseAction(tokenMap(str.lower))
Also simplifies writing conversion parse actions like:
integer = Word(nums).setParseAction(lambda t: int(t[0]))
to just:
integer = Word(nums).setParseAction(tokenMap(int))
If additional arguments are necessary, they can be included in the
call to tokenMap, as in:
hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))
- Added more expressions to pyparsing_common:
. IPv4 and IPv6 addresses (including long, short, and mixed forms
of IPv6)
. MAC address
. ISO8601 date and date time strings (with named fields for year, month, etc.)
. UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
. hex integer (returned as int)
. fraction (integer '/' integer, returned as float)
. mixed integer (integer '-' fraction, or just fraction, returned as float)
. stripHTMLTags (parse action to remove tags from HTML source)
. parse action helpers convertToDate and convertToDatetime to do custom parse
time conversions of parsed ISO8601 strings
- runTests now returns a two-tuple: success if all tests succeed,
and an output list of each test and its output lines.
- Added failureTests argument (default=False) to runTests, so that
tests can be run that are expected failures, and runTests' success
value will return True only if all tests *fail* as expected. Also,
parseAll now defaults to True.
- New example numerics.py, shows samples of parsing integer and real
numbers using locale-dependent formats:
4.294.967.295,000
4 294 967 295,000
4,294,967,295.000
Version 2.1.4 - May, 2016
------------------------------
- Split out the '==' behavior in ParserElement, now implemented
as the ParserElement.matches() method. Using '==' for string test
purposes will be removed in a future release.
- Expanded capabilities of runTests(). Will now accept embedded
comments (default is Python style, leading '#' character, but
customizable). Comments will be emitted along with the tests and
test output. Useful during test development, to create a test string
consisting only of test case description comments separated by
blank lines, and then fill in the test cases. Will also highlight
ParseFatalExceptions with "(FATAL)".
- Added a 'pyparsing_common' class containing common/helpful little
expressions such as integer, float, identifier, etc. I used this
class as a sort of embedded namespace, to contain these helpers
without further adding to pyparsing's namespace bloat.
- Minor enhancement to traceParseAction decorator, to retain the
parse action's name for the trace output.
- Added optional 'fatal' keyword arg to addCondition, to indicate that
a condition failure should halt parsing immediately.
Version 2.1.3 - May, 2016
------------------------------
- _trim_arity fix in 2.1.2 was very version-dependent on Py 3.5.0.
Now works for Python 2.x, 3.3, 3.4, 3.5.0, and 3.5.1 (and hopefully
beyond).
Version 2.1.2 - May, 2016
------------------------------
- Fixed bug in _trim_arity when pyparsing code is included in a
PyInstaller, reported by maluwa.
- Fixed catastrophic regex backtracking in implementation of the
quoted string expressions (dblQuotedString, sglQuotedString, and
quotedString). Reported on the pyparsing wiki by webpentest,
good catch! (Also tuned up some other expressions susceptible to the
same backtracking problem, such as cStyleComment, cppStyleComment,
etc.)
Version 2.1.1 - March, 2016
---------------------------
- Added support for assigning to ParseResults using slices.
- Fixed bug in ParseResults.toDict(), in which dict values were always
converted to dicts, even if they were just unkeyed lists of tokens.
Reported on SO by Gerald Thibault, thanks Gerald!
- Fixed bug in SkipTo when using failOn, reported by robyschek, thanks!
- Fixed bug in Each introduced in 2.1.0, reported by AND patch and
unit test submitted by robyschek, well done!
- Removed use of functools.partial in replaceWith, as this creates
an ambiguous signature for the generated parse action, which fails in
PyPy. Reported by Evan Hubinger, thanks Evan!
- Added default behavior to QuotedString to convert embedded '\t', '\n',
etc. characters to their whitespace counterparts. Found during Q&A
exchange on SO with Maxim.
Upstream changes:
0.064 2016-08-16 21:37:51-04:00 America/New_York
- No changes from 0.063-TRIAL
0.063 2016-08-08 12:18:03-04:00 America/New_York (TRIAL RELEASE)
[FIXED]
- Fixed chunked transfer encoding, which previously omitted a trailing
CRLF.
0.061 2016-08-05 12:10:19-04:00 America/New_York (TRIAL RELEASE)
[FIXED]
- Avoid overwriting 'If-Modified-Since' header in mirror() if
the header already exists in something other than lower-case.
[TESTS]
- Normalize CRLF when reading test data files in t\150-post_form.t
on Win32
0.059 2016-07-29 16:10:32-04:00 America/New_York (TRIAL RELEASE)
[FIXED]
- Timeout can now be set as a constructor argument again.
- CVE-2016-1238: avoid loading optional modules from
@INC path with `.` at the end.
[TESTS]
- Updated tests for a future perl which may omit `.` from
the list of directories in @INC by default.
Changelog:
2015-09-27 - v2.5
* fixed P2P validation of SSID element length before copying it
[http://w1.fi/security/2015-1/] (CVE-2015-1863)
* fixed WPS UPnP vulnerability with HTTP chunked transfer encoding
[http://w1.fi/security/2015-2/] (CVE-2015-4141)
* fixed WMM Action frame parser (AP mode)
[http://w1.fi/security/2015-3/] (CVE-2015-4142)
* fixed EAP-pwd peer missing payload length validation
[http://w1.fi/security/2015-4/]
(CVE-2015-4143, CVE-2015-4144, CVE-2015-4145, CVE-2015-4146)
* fixed validation of WPS and P2P NFC NDEF record payload length
[http://w1.fi/security/2015-5/]
* nl80211:
- added VHT configuration for IBSS
- fixed vendor command handling to check OUI properly
- allow driver-based roaming to change ESS
* added AVG_BEACON_RSSI to SIGNAL_POLL output
* wpa_cli: added tab completion for number of commands
* removed unmaintained and not yet completed SChannel/CryptoAPI support
* modified Extended Capabilities element use in Probe Request frames to
include all cases if any of the values are non-zero
* added support for dynamically creating/removing a virtual interface
with interface_add/interface_remove
* added support for hashed password (NtHash) in EAP-pwd peer
* added support for memory-only PSK/passphrase (mem_only_psk=1 and
CTRL-REQ/RSP-PSK_PASSPHRASE)
* P2P
- optimize scan frequencies list when re-joining a persistent group
- fixed number of sequences with nl80211 P2P Device interface
- added operating class 125 for P2P use cases (this allows 5 GHz
channels 161 and 169 to be used if they are enabled in the current
regulatory domain)
- number of fixes to P2PS functionality
- do not allow 40 MHz co-ex PRI/SEC switch to force MCC
- extended support for preferred channel listing
* D-Bus:
- fixed WPS property of fi.w1.wpa_supplicant1.BSS interface
- fixed PresenceRequest to use group interface
- added new signals: FindStopped, WPS pbc-overlap,
GroupFormationFailure, WPS timeout, InvitationReceived
- added new methods: WPS Cancel, P2P Cancel, Reconnect, RemoveClient
- added manufacturer info
* added EAP-EKE peer support for deriving Session-Id
* added wps_priority configuration parameter to set the default priority
for all network profiles added by WPS
* added support to request a scan with specific SSIDs with the SCAN
command (optional "ssid <hexdump>" arguments)
* removed support for WEP40/WEP104 as a group cipher with WPA/WPA2
* fixed SAE group selection in an error case
* modified SAE routines to be more robust and PWE generation to be
stronger against timing attacks
* added support for Brainpool Elliptic Curves with SAE
* added support for CCMP-256 and GCMP-256 as group ciphers with FT
* fixed BSS selection based on estimated throughput
* added option to disable TLSv1.0 with OpenSSL
(phase1="tls_disable_tlsv1_0=1")
* added Fast Session Transfer (FST) module
* fixed OpenSSL PKCS#12 extra certificate handling
* fixed key derivation for Suite B 192-bit AKM (this breaks
compatibility with the earlier version)
* added RSN IE to Mesh Peering Open/Confirm frames
* number of small fixes
2015-03-15 - v2.4
* allow OpenSSL cipher configuration to be set for internal EAP server
(openssl_ciphers parameter)
* fixed number of small issues based on hwsim test case failures and
static analyzer reports
* P2P:
- add new=<0/1> flag to P2P-DEVICE-FOUND events
- add passive channels in invitation response from P2P Client
- enable nl80211 P2P_DEVICE support by default
- fix regresssion in disallow_freq preventing search on social
channels
- fix regressions in P2P SD query processing
- try to re-invite with social operating channel if no common channels
in invitation
- allow cross connection on parent interface (this fixes number of
use cases with nl80211)
- add support for P2P services (P2PS)
- add p2p_go_ctwindow configuration parameter to allow GO CTWindow to
be configured
* increase postponing of EAPOL-Start by one second with AP/GO that
supports WPS 2.0 (this makes it less likely to trigger extra roundtrip
of identity frames)
* add support for PMKSA caching with SAE
* add support for control mesh BSS (IEEE 802.11s) operations
* fixed number of issues with D-Bus P2P commands
* fixed regression in ap_scan=2 special case for WPS
* fixed macsec_validate configuration
* add a workaround for incorrectly behaving APs that try to use
EAPOL-Key descriptor version 3 when the station supports PMF even if
PMF is not enabled on the AP
* allow TLS v1.1 and v1.2 to be negotiated by default; previous behavior
of disabling these can be configured to work around issues with broken
servers with phase1="tls_disable_tlsv1_1=1 tls_disable_tlsv1_2=1"
* add support for Suite B (128-bit and 192-bit level) key management and
cipher suites
* add WMM-AC support (WMM_AC_ADDTS/WMM_AC_DELTS)
* improved BSS Transition Management processing
* add support for neighbor report
* add support for link measurement
* fixed expiration of BSS entry with all-zeros BSSID
* add optional LAST_ID=x argument to LIST_NETWORK to allow all
configured networks to be listed even with huge number of network
profiles
* add support for EAP Re-Authentication Protocol (ERP)
* fixed EAP-IKEv2 fragmentation reassembly
* improved PKCS#11 configuration for OpenSSL
* set stdout to be line-buffered
* add TDLS channel switch configuration
* add support for MAC address randomization in scans with nl80211
* enable HT for IBSS if supported by the driver
* add BSSID black and white lists (bssid_blacklist, bssid_whitelist)
* add support for domain_suffix_match with GnuTLS
* add OCSP stapling client support with GnuTLS
* include peer certificate in EAP events even without a separate probe
operation; old behavior can be restored with cert_in_cb=0
* add peer ceritficate alt subject name to EAP events
(CTRL-EVENT-EAP-PEER-ALT)
* add domain_match network profile parameter (similar to
domain_suffix_match, but full match is required)
* enable AP/GO mode HT Tx STBC automatically based on driver support
* add ANQP-QUERY-DONE event to provide information on ANQP parsing
status
* allow passive scanning to be forced with passive_scan=1
* add a workaround for Linux packet socket behavior when interface is in
bridge
* increase 5 GHz band preference in BSS selection (estimate SNR, if info
not available from driver; estimate maximum throughput based on common
HT/VHT/specific TX rate support)
* add INTERWORKING_ADD_NETWORK ctrl_iface command; this can be used to
implement Interworking network selection behavior in upper layers
software components
* add optional reassoc_same_bss_optim=1 (disabled by default)
optimization to avoid unnecessary Authentication frame exchange
* extend TDLS frame padding workaround to cover all packets
* allow wpa_supplicant to recover nl80211 functionality if the cfg80211
module gets removed and reloaded without restarting wpa_supplicant
* allow hostapd DFS implementation to be used in wpa_supplicant AP mode
2014-10-09 - v2.3
* fixed number of minor issues identified in static analyzer warnings
* fixed wfd_dev_info to be more careful and not read beyond the buffer
when parsing invalid information for P2P-DEVICE-FOUND
* extended P2P and GAS query operations to support drivers that have
maximum remain-on-channel time below 1000 ms (500 ms is the current
minimum supported value)
* added p2p_search_delay parameter to make the default p2p_find delay
configurable
* improved P2P operating channel selection for various multi-channel
concurrency cases
* fixed some TDLS failure cases to clean up driver state
* fixed dynamic interface addition cases with nl80211 to avoid adding
ifindex values to incorrect interface to skip foreign interface events
properly
* added TDLS workaround for some APs that may add extra data to the
end of a short frame
* fixed EAP-AKA' message parser with multiple AT_KDF attributes
* added configuration option (p2p_passphrase_len) to allow longer
passphrases to be generated for P2P groups
* fixed IBSS channel configuration in some corner cases
* improved HT/VHT/QoS parameter setup for TDLS
* modified D-Bus interface for P2P peers/groups
* started to use constant time comparison for various password and hash
values to reduce possibility of any externally measurable timing
differences
* extended explicit clearing of freed memory and expired keys to avoid
keeping private data in memory longer than necessary
* added optional scan_id parameter to the SCAN command to allow manual
scan requests for active scans for specific configured SSIDs
* fixed CTRL-EVENT-REGDOM-CHANGE event init parameter value
* added option to set Hotspot 2.0 Rel 2 update_identifier in network
configuration to support external configuration
* modified Android PNO functionality to send Probe Request frames only
for hidden SSIDs (based on scan_ssid=1)
* added generic mechanism for adding vendor elements into frames at
runtime (VENDOR_ELEM_ADD, VENDOR_ELEM_GET, VENDOR_ELEM_REMOVE)
* added fields to show unrecognized vendor elements in P2P_PEER
* removed EAP-TTLS/MSCHAPv2 interoperability workaround so that
MS-CHAP2-Success is required to be present regardless of
eap_workaround configuration
* modified EAP fast session resumption to allow results to be used only
with the same network block that generated them
* extended freq_list configuration to apply for sched_scan as well as
normal scan
* modified WPS to merge mixed-WPA/WPA2 credentials from a single session
* fixed nl80211/RTM_DELLINK processing when a P2P GO interface is
removed from a bridge
* fixed number of small P2P issues to make negotiations more robust in
corner cases
* added experimental support for using temporary, random local MAC
address (mac_addr and preassoc_mac_addr parameters); this is disabled
by default (i.e., previous behavior of using permanent address is
maintained if configuration is not changed)
* added D-Bus interface for setting/clearing WFD IEs
* fixed TDLS AID configuration for VHT
* modified -m<conf> configuration file to be used only for the P2P
non-netdev management device and do not load this for the default
station interface or load the station interface configuration for
the P2P management interface
* fixed external MAC address changes while wpa_supplicant is running
* started to enable HT (if supported by the driver) for IBSS
* fixed wpa_cli action script execution to use more robust mechanism
(CVE-2014-3686)
2014-06-04 - v2.2
* added DFS indicator to get_capability freq
* added/fixed nl80211 functionality
- BSSID/frequency hint for driver-based BSS selection
- fix tearing down WDS STA interfaces
- support vendor specific driver command
(VENDOR <vendor id> <sub command id> [<hex formatted data>])
- GO interface teardown optimization
- allow beacon interval to be configured for IBSS
- add SHA256-based AKM suites to CONNECT/ASSOCIATE commands
* removed unused NFC_RX_HANDOVER_REQ and NFC_RX_HANDOVER_SEL control
interface commands (the more generic NFC_REPORT_HANDOVER is now used)
* fixed MSCHAP UTF-8 to UCS-2 conversion for three-byte encoding;
this fixes password with include UTF-8 characters that use
three-byte encoding EAP methods that use NtPasswordHash
* fixed couple of sequencies where radio work items could get stuck,
e.g., when rfkill blocking happens during scanning or when
scan-for-auth workaround is used
* P2P enhancements/fixes
- enable enable U-APSD on GO automatically if the driver indicates
support for this
- fixed some service discovery cases with broadcast queries not being
sent to all stations
- fixed Probe Request frame triggering invitation to trigger only a
single invitation instance even if multiple Probe Request frames are
received
- fixed a potential NULL pointer dereference crash when processing an
invalid Invitation Request frame
- add optional configuration file for the P2P_DEVICE parameters
- optimize scan for GO during persistent group invocation
- fix possible segmentation fault when PBC overlap is detected while
using a separate P2P group interface
- improve GO Negotiation robustness by allowing GO Negotiation
Confirmation to be retransmitted
- do use freed memory on device found event when P2P NFC
* added phase1 network parameter options for disabling TLS v1.1 and v1.2
to allow workarounds with misbehaving AAA servers
(tls_disable_tlsv1_1=1 and tls_disable_tlsv1_2=1)
* added support for OCSP stapling to validate AAA server certificate
during TLS exchange
* Interworking/Hotspot 2.0 enhancements
- prefer the last added network in Interworking connection to make the
behavior more consistent with likely user expectation
- roaming partner configuration (roaming_partner within a cred block)
- support Hotspot 2.0 Release 2
* "hs20_anqp_get <BSSID> 8" to request OSU Providers list
* "hs20_icon_request <BSSID> <icon filename>" to request icon files
* "fetch_osu" and "cancel_osu_fetch" to start/stop full OSU provider
search (all suitable APs in scan results)
* OSEN network for online signup connection
* min_{dl,ul}_bandwidth_{home,roaming} cred parameters
* max_bss_load cred parameter
* req_conn_capab cred parameter
* sp_priority cred parameter
* ocsp cred parameter
* slow down automatic connection attempts on EAP failure to meet
required behavior (no more than 10 retries within a 10-minute
interval)
* sample implementation of online signup client (both SPP and
OMA-DM protocols) (hs20/client/*)
- fixed GAS indication for additional comeback delay with status
code 95
- extend ANQP_GET to accept Hotspot 2.0 subtypes
ANQP_GET <addr> <info id>[,<info id>]...
[,hs20:<subtype>][...,hs20:<subtype>]
- add control interface events CRED-ADDED <id>,
CRED-MODIFIED <id> <field>, CRED-REMOVED <id>
- add "GET_CRED <id> <field>" command
- enable FT for the connection automatically if the AP advertises
support for this
- fix a case where auto_interworking=1 could end up stopping scanning
* fixed TDLS interoperability issues with supported operating class in
some deployed stations
* internal TLS implementation enhancements/fixes
- add SHA256-based cipher suites
- add DHE-RSA cipher suites
- fix X.509 validation of PKCS#1 signature to check for extra data
* fixed PTK derivation for CCMP-256 and GCMP-256
* added "reattach" command for fast reassociate-back-to-same-BSS
* allow PMF to be enabled for AP mode operation with the ieee80211w
parameter
* added "get_capability tdls" command
* added option to set config blobs through control interface with
"SET blob <name> <hexdump>"
* D-Bus interface extensions/fixes
- make p2p_no_group_iface configurable
- declare ServiceDiscoveryRequest method properly
- export peer's device address as a property
- make reassociate command behave like the control interface one,
i.e., to allow connection from disconnected state
* added optional "freq=<channel ranges>" parameter to SET pno
* added optional "freq=<channel ranges>" parameter to SELECT_NETWORK
* fixed OBSS scan result processing for 20/40 MHz co-ex report
* remove WPS 1.0 only support, i.e., WSC 2.0 support is now enabled
whenever CONFIG_WPS=y is set
* fixed regression in parsing of WNM Sleep Mode exit key data
* fixed potential segmentation fault and memory leaks in WNM neighbor
report processing
* EAP-pwd fixes
- fragmentation of PWD-Confirm-Resp
- fix memory leak when fragmentation is used
- fix possible segmentation fault on EAP method deinit if an invalid
group is negotiated
* added MACsec/IEEE Std 802.1X-2010 PAE implementation (currently
available only with the macsec_qca driver wrapper)
* fixed EAP-SIM counter-too-small message
* added 'dup_network <id_s> <id_d> <name>' command; this can be used to
clone the psk field without having toextract it from wpa_supplicant
* fixed GSM authentication on USIM
* added support for usin epoll in eloop (CONFIG_ELOOP_EPOLL=y)
* fixed some concurrent virtual interface cases with dedicated P2P
management interface to not catch events from removed interface (this
could result in the management interface getting disabled)
* fixed a memory leak in SAE random number generation
* fixed off-by-one bounds checking in printf_encode()
- this could result in some control interface ATTACH command cases
terminating wpa_supplicant
* fixed EAPOL-Key exchange when GCMP is used with SHA256-based AKM
* various bug fixes
2014-02-04 - v2.1
* added support for simultaneous authentication of equals (SAE) for
stronger password-based authentication with WPA2-Personal
* improved P2P negotiation and group formation robustness
- avoid unnecessary Dialog Token value changes during retries
- avoid more concurrent scanning cases during full group formation
sequence
- do not use potentially obsolete scan result data from driver
cache for peer discovery/updates
- avoid undesired re-starting of GO negotiation based on Probe
Request frames
- increase GO Negotiation and Invitation timeouts to address busy
environments and peers that take long time to react to messages,
e.g., due to power saving
- P2P Device interface type
* improved P2P channel selection (use more peer information and allow
more local options)
* added support for optional per-device PSK assignment by P2P GO
(wpa_cli p2p_set per_sta_psk <0/1>)
* added P2P_REMOVE_CLIENT for removing a client from P2P groups
(including persistent groups); this can be used to securely remove
a client from a group if per-device PSKs are used
* added more configuration flexibility for allowed P2P GO/client
channels (p2p_no_go_freq list and p2p_add_cli_chan=0/1)
* added nl80211 functionality
- VHT configuration for nl80211
- MFP (IEEE 802.11w) information for nl80211 command API
- support split wiphy dump
- FT (IEEE 802.11r) with driver-based SME
- use advertised number of supported concurrent channels
- QoS Mapping configuration
* improved TDLS negotiation robustness
* added more TDLS peer parameters to be configured to the driver
* optimized connection time by allowing recently received scan results
to be used instead of having to run through a new scan
* fixed ctrl_iface BSS command iteration with RANGE argument and no
exact matches; also fixed argument parsing for some cases with
multiple arguments
* added 'SCAN TYPE=ONLY' ctrl_iface command to request manual scan
without executing roaming/network re-selection on scan results
* added Session-Id derivation for EAP peer methods
* added fully automated regression testing with mac80211_hwsim
* changed configuration parser to reject invalid integer values
* allow AP/Enrollee to be specified with BSSID instead of UUID for
WPS ER operations
* disable network block temporarily on repeated connection failures
* changed the default driver interface from wext to nl80211 if both are
included in the build
* remove duplicate networks if WPS provisioning is run multiple times
* remove duplicate networks when Interworking network selection uses the
same network
* added global freq_list configuration to allow scan frequencies to be
limited for all cases instead of just for a specific network block
* added support for BSS Transition Management
* added option to use "IFNAME=<ifname> " prefix to use the global
control interface connection to perform per-interface commands;
similarly, allow global control interface to be used as a monitor
interface to receive events from all interfaces
* fixed OKC-based PMKSA cache entry clearing
* fixed TKIP group key configuration with FT
* added support for using OCSP stapling to validate server certificate
(ocsp=1 as optional and ocsp=2 as mandatory)
* added EAP-EKE peer
* added peer restart detection for IBSS RSN
* added domain_suffix_match (and domain_suffix_match2 for Phase 2
EAP-TLS) to specify additional constraint for the server certificate
domain name
* added support for external SIM/USIM processing in EAP-SIM, EAP-AKA,
and EAP-AKA' (CTRL-REQ-SIM and CTRL-RSP-SIM commands over control
interface)
* added global bgscan configuration option as a default for all network
blocks that do not specify their own bgscan parameters
* added D-Bus methods for TDLS
* added more control to scan requests
- "SCAN freq=<freq list>" can be used to specify which channels are
scanned (comma-separated frequency ranges in MHz)
- "SCAN passive=1" can be used to request a passive scan (no Probe
Request frames are sent)
- "SCAN use_id" can be used to request a scan id to be returned and
included in event messages related to this specific scan operation
- "SCAN only_new=1" can be used to request the driver/cfg80211 to
report only BSS entries that have been updated during this scan
round
- these optional arguments to the SCAN command can be combined with
each other
* modified behavior on externally triggered scans
- avoid concurrent operations requiring full control of the radio when
an externally triggered scan is detected
- do not use results for internal roaming decision
* added a new cred block parameter 'temporary' to allow credential
blocks to be stored separately even if wpa_supplicant configuration
file is used to maintain other network information
* added "radio work" framework to schedule exclusive radio operations
for off-channel functionality
- reduce issues with concurrent operations that try to control which
channel is used
- allow external programs to request exclusive radio control in a way
that avoids conflicts with wpa_supplicant
* added support for using Protected Dual of Public Action frames for
GAS/ANQP exchanges when associated with PMF
* added support for WPS+NFC updates and P2P+NFC
- improved protocol for WPS
- P2P group formation/join based on NFC connection handover
- new IPv4 address assignment for P2P groups (ip_addr_* configuration
parameters on the GO) to replace DHCP
- option to fetch and report alternative carrier records for external
NFC operations
* various bug fixes
Feedgen is a Python module that can be used to generate web feeds in
both ATOM and RSS format. It has support for extensions. Included is
for example an extension to produce Podcasts.
Changelog:
2016-07-20 v1.6.0 "Khaki Campbell Duck"
This release improves upon the VP9 encoder and speeds up the encoding and
decoding processes.
- Upgrading:
This release is ABI incompatible with 1.5.0 due to a new 'color_range' enum
in vpx_image and some minor changes to the VP8_COMP structure.
The default key frame interval for VP9 has changed from 128 to 9999.
- Enhancement:
A core focus has been performance for low end Intel processors. SSSE3
instructions such as 'pshufb' have been avoided and instructions have been
reordered to better accommodate the more constrained pipelines.
As a result, devices based on Celeron processors have seen substantial
decoding improvements. From Indian Runner Duck to Javan Whistling Duck,
decoding speed improved between 10 and 30%. Between Javan Whistling Duck
and Khaki Campbell Duck, it improved another 10 to 15%.
While Celeron benefited most, Core-i5 also improved 5% and 10% between the
respective releases.
Realtime performance for WebRTC for both speed and quality has received a
lot of attention.
- Bug Fixes:
A number of fuzzing issues, found variously by Mozilla, Chromium and others,
have been fixed and we strongly recommend updating.
v1.8.2-stable
=============
Bug #3044 - Unable to drag-select in MS Office
Bug #4768 - Copy paste causes 'server is dead' error on switching
Bug #4792 - Server logging crashes when switching with clipboard data
Bug #2975 - Middle click does not close Chrome tab on Mac client
Bug #5087 - Linux client fails to start due to invalid cursor size
Bug #5471 - Serial key textbox on activation screen overflows on Mac
Bug #4836 - Stop button resets to Start when settings dialog canceled
Enhancement #5277 - Auto restart service when synwinhk.dll fails on Windows
Enhancement #4913 - Future-proof GUI login by using newer auth URL
Enhancement #4922 - Add --enable-crypto argument to help text
Enhancement #5299 - High resolution App icon on Mac
Enhancement #4894 - Improve grammar in connection notification dialog
v1.8.0-beta
=============
Enhancement #4696 - Include 'ns' plugin in installers (instead of wizard download)
Enhancement #4715 - Activation dialog which also accepts a serial key
Enhancement #5020 - Recommend using serial key when online activation fails
Enhancement #4893 - Show detailed version info on GUI about screen
Enhancement #4327 - GUI setting to disable drag and drop feature
Enhancement #4793 - Additional logging to output OpenSSL version
Enhancement #4932 - Notify activation system when wizard finishes
Enhancement #4716 - Allow software to be time limited with serial key
* Workaround a 14 year old BSD issue where initial address lifetimes
are transfered to the prefix route and are not updated again,
causing the kernel to remove the route.
The fix is to initially add the address with infinite lifetimes
and then change the lifetimes to the correct ones.
* IPv6 RA routes are now expired by dhcpcd.
* Fix gateway interface assignment on BSD.
* Only mask off signals we do something with
(allows coredumps on some platforms)
* Fix a memory issue where an old lease could be read and discarded
but the buffer length not reset.
* Bind DHCPv6 to the link-local address when not running in master
mode so that many dhcpcd instances can run per interface.
--------------------------
Explicit ChangeLog is not known, but diff shows following lines
+ // Padding size chosen fairly arbitrarily.
+ // Without this padding some systems (e.g. Raspberry Pi 3
+ // wireless interface) failed. dmesg said:
+ // arping: packet size is too short (42 <= 50)
+ const char padding[16] = {0};
-------------------------
adns (1.5.1) UPSTREAM; urgency=medium
* Portability fix for systems where socklen_t is bigger than int.
* Fix for malicious optimisation of memcpy in test suite, which
causes failure with gcc-4.1.9 -O3. See Debian bug #772718.
* Fix TCP async connect handling. The bug is hidden on Linux and on most
systems where the nameserver is on localhost. If it is not hidden,
adns's TCP support is broken unless adns_if_noautosys is used.
* Fix addr queries (including subqueries, ie including deferencing MX
lookups etc.) not to crash when one of the address queries returns
tempfail. Also, do not return a spurious pointer to the application
when one of the address queries returns a permanent error (although,
the application almost certainly won't use this pointer because the
associated count is zero).
* adnsresfilter: Fix addrtextbuf buffer size. This is not actually a
problem in real compiled code but should be corrected.
* Properly include harness.h in adnstest.c in regress/. Suppresses
a couple of compiler warnings (implicit declaration of Texit, etc.)
-- Ian Jackson <ijackson@chiark.greenend.org.uk> Fri, 12 Aug 2016 22:53:59 +0100
-----------------------------------
1.09 Tue Dec 9 11:22:56 EST 2014
-Converted to use Module::Build
1.08 Mon Dec 8 10:38:42 EST 2014
-First Git version
-Apply segfault patches for OpenBSD from Mikolaj Kucharski.
1.07 Sun Jun 8 21:29:58 EDT 2014
-Apply patch from Miolaj Kucharski to fix segfault on OpenBSD.
--------------------------
3.10 2016-08-01
- Remove . from @INC when loading optional modules. [Tony Cook, Perl
RT#127834, CVE-2016-1238]
- Removed the default Net::Cmd::timeout() since it inadvertently overrode
the timeout() method in whatever IO::Socket::INET-like class sub-classes
of Net::Cmd also derive from (at least in cases where Net::Cmd takes
precedence in the method resolution, which it should do so that
Net::Cmd::getline() overrides IO::Handle::getline()).
This does cause problems for any Net::Cmd sub-classes that don't provide
(by whatever means) the necessary parts of the interface of
IO::Socket::INET, but since they mostly seem to anyway (apart from the one
that led to the CPAN RT#110978 report!) this is now simply a documented
requirement.
[CPAN RT#116345]
-------------------------------------
1.151940 2015-07-13
- Cache limit increased to 5000 entries
- Instead of a full cache clear, only 1 item is pushed off the end of
the cache when full
- Updated database: Mon Jul 13 06:40:01 2015 UTC.
Update syncthing to v0.14.4
This is a minor release recommended for all users. Several bugs have been fixed and enhancements added.
Enhancements:
Timestamps are now compared with up to nanosecond precision and synced with up to microsecond precision, depending on the filesystem in use.
Restart no longer needed to remove devices, unshare or reconfigure folders.
Resolved issues since v0.14.3:
#1300: In sync percentage is weighted to folder size, not just average of folder completion.
#3012: Files with invalid file names for Windows now show up in the list of failed items.
#3297: Accessibility in the GUI is improved.
#3305: High precision time stamps.
#3457: Ignores and invalid file names are now handled correctly when delta indexes are being used.
#3458: Files inside directories with names ending in space are now correctly handled on Windows.
#3466: Connection switching (relay->direct) no longer causes a crash.
#3468: Old index databases (v0.11-v0.12 and v0.13) are now properly cleaned away from disk.
#3470: Syncthing no longer claims a connection was from an ignored device when the device is just unknown.
2.12.1 (2016-05-01)
add lua plugin
change desktop file to open urls in existing instance on Unix
misc chanopt fixes
misc identd fixes
misc challengeauth fixes
re-add support for old versions of libnotify
update network list
2.12.0 (2016-03-12)
add support for IRCv3.2
add support for twitch.tv/membership cap
add support for SNI (Server Name Indication)
add ability to do DnD reordering in some settings dialogs
add option to disable middle-click closing tabs
rewrite sysinfo plugin
rewrite identd plugin
rewrite update plugin
rewrite checksum plugin
remove DH-{AES,BLOWFISH} mechanisms (insecure)
remove IRC encoding, replaced with UTF-8
remove System Default encoding, replaced with UTF-8
remove configure option to disable ipv6
remove msproxy and socks5 library support (unused)
change tab-complete to favor other user nicks over own
change url detection to support unicode
change decoding to not attempt ISO-8859-1 fixing corruption
change pluginpref to escape values
minor changes to icons
fix numerous crashes (but not #600)
fix poor performance with nick indent enabled
fix UTF-8 text in winamp plugin
fix fishlim plugin handling networks with server-time
fix logging hostname of users in new queries
fix Key Press event sending non-UTF-8 text to plugins
fix get_info( win_ptr ) from python
fix running portable-mode from another directory
fix duplicate timestamps on selection
fix cfgdir argument
fix mode-button text being cut off
fix scrollback timestamps with server-time
fix url handler accepting quoted paths with spaces
fix using correct encoding when jumping networks
improve DCC handling large files
improve python detection in configure
improve scrollback file handling (corruption, line endings)
improve building in cygwin
improve build options on unix to be more secure
update translations
update network list
2.10.2 (2014-11-25)
verify hostnames of certificates
use more secure openssl options (No SSLv2/3)
detect utf8 urls in chat
fix using multiple client certs at the same time
fix checking for Perl on some distros
fix friends list not properly updating
fix building with format-security
fix opening utf8 urls on Windows and OSX
update deps on Windows
update translations
Release Notes for 1.0
Major changes
As a 1.0 release, there are some major changes, many of which are breaking. See also the "backwards compatibility breaks and deprecations" section below.
mpmath is now a hard external dependency for SymPy. sympy.mpmath will no longer work (use import mpmath). See http://docs.sympy.org/latest/install.html#mpmath for more information on how to install mpmath.
The galgebra Geometric Algebra module has been removed. The module is now maintained separately at https://github.com/brombo/galgebra.
The new solveset function is a planned replacement for solve. solve is not yet deprecated, since solveset hasn't yet fully replicated all the functionality of solve. solveset offers an improved interface to solve. See http://docs.sympy.org/latest/modules/solvers/solveset.html for more information on solveset vs. solve.
This will be the last version of SymPy to support Python 2.6 and 3.2. Both of these Python versions have reached end-of-life. Support for other Python versions will continue at least until they have reached end-of-life.
Backwards compatibility breaks and deprecations
In sympy.geometry, Line.equal() has been deprecated in favor of Line.equals().
The dup_inner_subresultants and dmp_inner_subresultants now only return 2 arguments instead of 3. Only those building their own routines from these very low-level functions need to be aware of this.
This release doesn't include copy of the mpmath library, see PR #2192. Please see new installation instructions for SymPy.
The release no longer includes the galgebra subumodule. This module is now maintained separately at https://github.com/brombo/galgebra. See PR #10046.
ClassRegistry is deprecated. It's unlikely that anybody ever used it; it is scheduled for removal for the next version of SymPy after 1.0.
sympy.C is deprecated and scheduled for removal after 1.0, too. For those users who followed some erroneous SymPy documentation and used C as in C.log, just import sympy and use sympy.log instead: this is compatible with SymPy before and after we remove C.
Q.bounded has been deprecated. Use Q.finite instead.
Q.infinity has been deprecated. Use Q.infinite instead.
Q.infinitesimal has been deprecated. Use Q.zero instead.
ask(Q.nonzero(non-real)) now returns False. Note that Q.nonzero is equivalent to ~Q.zero & Q.real. If you intend to find whether x is a non-zero number irrespective of the fact that x is real or not, you should use ask(~Q.zero(x)).
x.is_nonzero now returns True iff x is real and has a non-zero value. If you intend to find whether x is a non-zero number irrespective of the fact that x is real or not, you should use fuzzy_not(x.is_zero).
isprime(Float) now returns False.
ask(Q.integer(Float)) now returns False.
ask(Q.prime(Float)) now returns False.
ask(Q.composite(Float)) now returns False.
ask(Q.even(Float)) now returns False.
ask(Q.odd(Float)) now returns False.
New features
The module sympy.series.ring_series has been updated. New methods for series inversion, expansion of hyperbolic and inverse functions, etc have been added. PR #9262
New module sympy.series.sequences for generating finite/infinite lazily evaluated lists. [PR #9435]
The string representation function srepr() now displays the assumptions used to create a Symbol. For example, srepr(Symbol('x', real=True)) now returns the string "Symbol('x', real=True)" instead of merely "Symbol('x')".
not_empty_in function added to util.py in calculus module which finds the domain for which the FiniteSet is not-empty for a given Union of Sets. [PR #9779]
A new and fast method rs_series has been added for calculating series expansions. It can handle multivariate Puiseux series with symbolic coefficients. It is especially optimized for large series, with speedup over the older series method being in the range 20-1000 times. PR #9775
In [37]: %timeit rs_series(cos(a+b*a**QQ(3,2)), a, 10)
100 loops, best of 3: 5.59 ms per loop
In [38]: %timeit cos(a+b*a**QQ(3,2)).series(a, 0, 10)
1 loops, best of 3: 997 ms per loop
Complex Sets has been added here: sympy.sets.fancysets, use S.Complexes for singleton ComplexRegion class. PR #9463
GeometryEntity now subclasses from sets.Set, so sets.Intersection and sets.Union can be used with GeometryEntitys. For example Intersection(Line((-1,-1),(1,1)), Line((-1,1), (1,-1))) == FiniteSet(Point2D(0,0)).
New module sympy.series.fourier for computing fourier sine/cosine series. [PR #9523]
Linsolve: General Linear System Solver in sympy.solvers.solveset, use linsolve() for solving all types of linear systems. PR #9438
New assumption system is now able to read the assumptions set over Symbol object. For e.g.:
In [7]: x = Symbol('x', positive=True)
In [8]: ask(Q.positive(x))
Out[8]: True
A new handler system has been added as sympy.assumptions.satask which uses satisfiable to answer queries related to assumptions. In case the legacy ask doesn't know the answer, it falls back on satask.
For e.g.
Earlier
>>> ask(Q.zero(x) | Q.zero(y), Q.zero(x*y))
>>> ask(Implies(Q.zero(x), Q.zero(x*y)))
>>> ask(Q.zero(x) | Q.zero(y), Q.nonzero(x*y))
Now
>>> ask(Q.zero(x) | Q.zero(y), Q.zero(x*y))
True
>>> ask(Implies(Q.zero(x), Q.zero(x*y)))
True
>>> ask(Q.zero(x) | Q.zero(y), Q.nonzero(x*y))
False
New module sympy.series.formal for computing formal power series. [PR #9639]
New set class ConditionSet was implemented. [PR #9696]
Differential calculus Methods, like is_increasing, is_monotonic, etc were implemented in sympy.calculus.singularities in [PR #9820]
New module sympy.series.limitseq for finding limits of terms containing sequences. [PR #9836]
New module sympy/polys/subresultants_qq_zz.py :: contains various functions for computing Euclidean, Sturmian and (modified) subresultant polynomial remainder sequences in Q[x] or Z[x]. All methods are based on the recently discovered theorem by Pell and Gordon of 1917 and an extension/generalization of it of 2015. [PR #10374]
Minor changes
limit(sin(x), x, oo) now returns AccumulationBound object instead of un-evaluated sin(oo). Implemented in [PR #10051].
Point is now an n-dimensional point and subclassed to Point2D and Poin3D where appropriate. Point is also now enumerable and can be indexed (e.g., x=Point(1,2,3); x[0])
roots_cubic will no longer raise an error when the sign of certain expressions is unknown. It will return a generally valid solution instead.
Relational.canonical will put a Relational into canonical form which is useful for testing whether two Relationals are trivially the same.
Relational.reversed gives the Relational with lhs and rhs reversed and the symbol updated accordingly (e.g. (x < 1).reversed -> 1 > x
Simplification of Relationals will, if the threshold for simplification is met, also return the Relational in canonical form. One of the criteria of being in canonical form is that the Number will be on the rhs. This makes writing tests a little easier so S(1) > x can be entered as 1 > x or x < 1 (the former being turned into the latter by Python).
boolalg functions And, Or, Implies, Xor, Equivalent are aware of Relational complements and trivial equalities, so, for example, And(x=1) will reduce to False while And(S(1)>x,x<1) reduces to x < 1. This leads to some simplifications in statistical expressions.
Polynomials created using ring now accept negative and fractional exponents. For e.g,
In [1]: R, x, y = ring('x, y', QQ)
In [2]: x**(-2) + y**Rational(2,3)
Out[2]: y**(2/3) + x**(-2)
The function used to test connectivity in Min and Max has been altered to use the weaker form of a relationship since this applies to arguments like floor(x) and x: though, in generally, we cannot say that floor(x) < x, if x is real we do know that floor(x) <= x. This allows Min(x, floor(x)) -> floor(x) without loss of generality when x is real.
Float has changed its default behaviour on string/int/long to use at least 15 digits of precision and to increase the precision automatically. This enables sympify('1.23456789012345678901234567890') to return a high-precision Float. It also means N('1.23456789012345678901234567890', 20) does the right thing (where it previously lost precision because an intermediate calculation had only precision 15). See Issue #8821
The unicode pretty printer now uses a compact single-character square root symbol for simple expressions like sqrt(x) and sqrt(17). You can disable this new behaviour with pprint(sqrt(2), use_unicode_sqrt_char=False).
ask(Q.finite(x), Q.infinite(x)) now returns False.
You can now read the definition of assumption predicates in the docs.
ask(Q.composite(1)) now returns False.
exp(expr) won't simplify automatically based on assumptions on expr. Autosimplification works for numbers and Symbol, though. You'll have to call refine on exp for simplification.
Idx objects can now be summation variables of Sum and Product.
The keyword argument of GramSchmidt was renamed from "orthog" to "orthonormal". This is because GramSchmidt always returns an orthogonal set of vectors but only if that argument is True does it return an orthonormal set of vectors.
RootOf now has a new subclass ComplexRootOf (abbreviated CRootOf). All currently defined functionality is in the subclass. There is a new function rootof with the same call interface as that of RootOf. It will create objects of CRootOf. New code should use rootof instead of RootOf which is planned to become an abstract class.
The vector module has a new function orthogonalize which applies the Gram Schmidt orthogonalization on a sequence of linearly independent vectors and returns a sequence of orthogonal (or orthonormal) vectors. The projection method has been added to compute the vector (or scalar) projection of one vector on another vector. (See https://github.com/sympy/sympy/pull/10474#)
Update by K.I.A.Derouiche in PR pkg/51270
Highlights in changelog:
v0.18.1:
.groupby(...) has been enhanced to provide convenient syntax when working with .rolling(..), .expanding(..) and .resample(..) per group, see here
pd.to_datetime() has gained the ability to assemble dates from a DataFrame, see here
Method chaining improvements, see here.
Custom business hour offset, see here.
Many bug fixes in the handling of sparse, see here
Expanded the Tutorials section with a feature on modern pandas, courtesy of @TomAugsburger. (GH13045).
v0.18.0:
Moving and expanding window functions are now methods on Series and DataFrame, similar to .groupby, see here.
Adding support for a RangeIndex as a specialized form of the Int64Index for memory savings, see here.
API breaking change to the .resample method to make it more .groupby like, see here.
Removal of support for positional indexing with floats, which was deprecated since 0.14.0. This will now raise a TypeError, see here.
The .to_xarray() function has been added for compatibility with the xarray package, see here.
The read_sas function has been enhanced to read sas7bdat files, see here.
Addition of the .str.extractall() method, and API changes to the .str.extract() method and .str.cat() method.
pd.test() top-level nose test runner is available (GH4327).
Update by K.I.A.Derouiche in PR pkg/51272
Slightly modified.
Changes from 3.2.2 to 3.2.3
Improvements
It is now possible to use HDF5 with the new shared library naming scheme (>= 1.8.10, hdf5.dll instead of hdf5dll.dll) on Windows (gh-540). Thanks to Tadeu Manoel.
Now :program: ptdump sorts output by node name and does not print a backtrace if file cannot be opened. Thanks to Zbigniew Jędrzejewski-Szmek.
Bugs fixed
Only run tables.tests.test_basics.UnicodeFilename if the filesystem encoding is utf-8. Closes gh-485.
Add lib64 to posix search path. (closes gh-507) Thanks to Mehdi Sadeghi.
Ensure cache entries are removed if fewer than 10 (closes gh-529). Thanks to Graham Jones.
Fix segmentation fault in a number of test cases that use index.Index (closes gh-532 and gh-533). Thanks to Diane Trout.
Fixed the evaluation of transcendental functions when numexpr is compiled with VML support (closes gh-534, PR #536). Thanks to Tom Kooij.
Make sure that index classes use buffersizes that are a multiple of chunkshape[0] (closes gh-538, PR #538). Thanks to Tom Kooij.
Ensure benchmark paths exist before benchmarks are executed (PR #544). Thanks to rohitjamuar.
Other changes
Minimum Cython version is now v0.21
Changes from 3.2.1.1 to 3.2.2
Bug fixed
Fix AssertionError in Row.__init_loop. See gh-477.
Fix issues with Cython 0.23. See gh-481.
Only run tables.tests.test_basics.UnicodeFilename if the filesystem encoding is utf-8. Closes gh-485.
Fix missing missing PyErr_Clear. See gh-#486.
Fix the C type of some numpy attributes. See gh-494.
Cast selection indices to integer. See gh-496.
Fix indexesextension._keysort_string. Closes gh-497 and gh-498.
Changes from 3.2.1 to 3.2.1.1
Fix permission on distributed source distribution
Other changes
Minimum Cython version is now v0.21
Changes from 3.2.0 to 3.2.1
Bug fixed
Fix indexesextension._keysort. Fixes gh-455. Thanks to Andrew Lin.
Changes from 3.1.1 to 3.2.0
Improvements
The nrowsinbuf is better computed now for EArray/CArray having a small chunkshape in the main dimension. Fixes#285.
PyTables should be installable very friendly via pip, including NumPy being installed automatically in the unlikely case it is not yet installed in the system. Thanks to Andrea Bedini.
setup.py has been largely simplified and now it requires setuptools. Although we think this is a good step, please keep us informed this is breaking some installation in a very bad manner.
setup.py now is able to used pkg-config, if available, to locate required libraries (hdf5, bzip2, etc.). The use of pkg-config can be controlled via setup.py command line flags or via environment variables. Please refer to the installation guide (in the User Manual) for details. Closes gh-442.
It is now possible to create a new node whose parent is a softlink to another group (see gh-422). Thanks to Alistair Muldal.
link.SoftLink objects no longer need to be explicitly dereferenced. Methods and attributes of the linked object are now automatically accessed when the user acts on a soft-link (see gh-399). Thanks to Alistair Muldal.
Now ptrepack recognizes hardlinks and replicates them in the output (repacked) file. This saves disk space and makes repacked files more conformal to the original one. Closes gh-380.
New pttree script for printing HDF5 file contents as a pretty ASCII tree (closes gh-400). Thanks to Alistair Muldal.
The internal Blosc library has been downgraded to version 1.4.4. This is in order to still allow using multiple threads inside Blosc, even on multithreaded applications (see gh-411, gh-412, gh-437 and gh-448).
The print_versions() function now also reports the version of compression libraries used by Blosc.
Now the setup.py tries to use the ‘-march=native’ C flag by default. In falls back on ‘-msse2’ if ‘-march=native’ is not supported by the compiler. Closes gh-379.
Fixed a spurious unicode comparison warning (closes gh-372 and gh-373).
Improved handling of empty string attributes. In previous versions of PyTables empty string were stored as scalar HDF5 attributes having size 1 and value ‘0’ (an empty null terminated string). Now empty string are stored as HDF5 attributes having zero size
Added a new cookbook recipe and a couple of examples for simple threading with PyTables.
The redundant utilsextension.get_indices() function has been eliminated (replaced by slice.indices()). Closes gh-195.
Allow negative indices in point selection (closes gh-360)
Index wasn’t being used if it claimed there were no results. Closes gh-351 (see also gh-353)
Atoms and Col types are no longer generated dynamically so now it is easier for IDEs and static analysis tool to handle them (closes gh-345)
The keysort functions in idx-opt.c have been cythonised using fused types. The perfomance is mostly unchanged, but the code is much more simpler now. Thanks to Andrea Bedini.
Small unit tests re-factoring:
print_versions() and tests.common.print_heavy() functions
moved to the tests.common module
always use print_versions() when test modules are called as scripts
use the unittest2 package in Python 2.6.x
removed internal machinery used to replicate unittest2 features
always use tests.common.PyTablesTestCase as base class for all test cases
code of the old tasts.common.cleanup() function has been moved to tests.common.PyTablesTestCase.tearDown() method
new implementation of tests.common.PyTablesTestCase.assertWarns() compatible with the one provided by the standard unittest module in Python >= 3.2
use tests.common.PyTablesTestCase.assertWarns() as context manager when appropriate
use the unittest.skipIf() decorator when appropriate
new :class:tests.comon.TestFileMixin: class
Bugs fixed
Fixed compatibility problems with numpy 1.9 and 1.10-dev (closes gh-362 and gh-366)
Fixed compatibility with Cython >= 0.20 (closes gh-386 and gh-387)
Fixed support for unicode node names in LRU cache (only Python 2 was affected). Closes gh-367 and gh-369.
Fixed support for unicode node titles (only Python 2 was affected). Closes gh-370 and gh-374.
Fixed a bug that caused the silent truncation of unicode attributes containing the ‘0’ character. Closes gh-371.
Fixed descr_from_dtype() to work as expected with complex types. Closes gh-381.
Fixed the tests.test_basics.ThreadingTestCase test case. Closes gh-359.
Fix incomplete results when performing the same query twice and exhausting the second iterator before the first. The first one writes incomplete results to seqcache (gh-353)
Fix false results potentially going to seqcache if tableextension.Row.update() is used during iteration (see gh-353)
Fix Column.create_csindex() when there’s NaNs
Fixed handling of unicode file names on windows (closes gh-389)
No longer not modify sys.argv at import time (closes gh-405)
Fixed a performance issue on NFS (closes gh-402)
Fixed a nasty problem affecting results of indexed queries. Closes gh-319 and probably gh-419 too.
Fixed another problem affecting results of indexed queries too. Closes gh-441.
Replaced “len(xrange(start, stop, step))” -> “len(xrange(0, stop - start, step))” to fix issues with large row counts with Python 2.x. Fixes#447.
Other changes
Cython is not a hard dependency anymore (although developers will need it so as to generated the C extension code).
The number of threads used by default for numexpr and Blosc operation that was set to the number of available cores have been reduced to 2. This is a much more reasonable setting for not creating too much overhead.
Upstream changes:
1.78 2016-08-08 09:18:59-04:00 America/Toronto
========================================
[OTHER CHANGES]
- No changes specific to this version. First non-develepment release in about a year.
1.77 2016-08-05 12:50:12-04:00 America/Toronto (TRIAL RELEASE)
========================================
[TESTS]
- Skip Wikipedia tests if LWP::Protocol::https is not installed.
1.76 2016-07-29 12:17:25-04:00 America/Toronto (TRIAL RELEASE)
========================================
[ENHANCEMENTS]
- Added history() and history_count() methods. (Ricardo Signes)
- click_button() now accepts ids. (Olaf Alders)
- Add a more descriptive error message when ->request is called without a
parameter. (Max Maischein)
[DOCUMENTATION]
- Document that form_id warns in addition to returning undef when a form cannot
be found. (Olaf Alders)
- Document use of a proxy with bin/mech-dump. (Florian Schlichting)
[OTHER CHANGES]
- New releases for this distribution are now generated by Dist::Zilla