Releases: retrieva/pficommon
Releases · retrieva/pficommon
pficommon 4.0.0 Release Notes
pficommon 4.0.0 Release Notes
Date: 2020/11/27
Download
Download Link: https://github.com/retrieva/pficommon/releases/download/4.0.0/pficommon-4.0.0.tar.bz2
Overview
pficommon 4.0.0:
- supports gcc >= 4.8.5 and discards support of C++03. Programs which depends on pficommon 4.0.0 is no longer able to be compiled with
-std=c++03
option. - makes following functions and classes deprecated, which are introduced in STL after C++11.
pfi::lang::bind
pfi::lang::cref
pfi::lang::function
pfi::lang::mem_fn
pfi::lang::reference_wrapper
pfi::lang::ref
pfi::lang::shared_ptr
pfi::data::unordered_map
pfi::data::unordered_set
- breaks API compatibility with 3.0.1. Please recompile and relink your programs using pficommon when upgrading pficommon to 4.0.0.
Improvements
- #217 Added move constructor and move assignment operator to
pfi::system::mmapper
so that clang++ can compile it - #219 Fixed some compilation errors on clang++
Backward incompatibility
- #206 Replaced
std::auto_ptr
withstd::unique_ptr
- #211 Deleted dependency to
std::tr1::unordered_map
andstd::tr1::unordered_set
- #212 Deleted dependency to
std::tr1::functional
- #213 Deleted dependency to
std::tr1::memory
- #216 Deleted
pfi::visualization
- #218 Replaced implementation of
pfi::lang::reference_wrapper
withstd::reference_wrapper
, deletedpfi::lang::get_pointer(const pfi::lang::reference_wrapper<T>)
and clarfiedpfi::lang::bind
pfi::lang::mem_fn
pfi::lang::reference_wrapper
pfi:lang::ref
pfi::lang::cref
are deprecated - #220 The first template parameter of
pfi::lang::enable_if
andpfi::lang::disable_if
has changed fromclass
tobool
- #221 Replaced implementation of
pfi::lang::algorithm::copy_if
withstd::algorithm::copy_if
and clarifiedpfi::lang::algorithm::copy_if
is deprecated.
Documentation
- #215 Updated supported gcc version in README.md, and clarified
pfi::data::unordered_map
andpfi::data::unordered_set
are deprecated, etc - #222 Fixed a typo and a wrong function name in documents, and clarified that
pfi::lang::function
is deprecated, etc
Development improvements
pficommon 3.0.1 Release Notes
pficommon 3.0.1 Release Notes
Date: 2019/06/14
Download
Download Link: https://github.com/retrieva/pficommon/releases/download/3.0.1/pficommon-3.0.1.tar.bz2
Overview
- #200 Fixed wscript to create versioned libraries
- libpficommon_database.so.3
- libpficommon_database.so.3.0.0
- libpficommon_network.so.3
- libpficommon_network.so.3.0.0
pficommon 3.0.0 Release Notes
pficommon 3.0.0 Release Notes
Date: 2019/06/13
Download
Download Link: https://github.com/retrieva/pficommon/releases/download/3.0.0/pficommon-3.0.0.tar.bz2
Overview
ABI of pficommon 3.0.0 is not compatible with 2.0.0
Please recompile and relinking the programs using pficommon when upgrading pficommon to 3.0.0!
- New Features
- Fixes
Please see below if you are concerned about the detail.
New Features
- #182
pfi::text::json
module supports json surrogate- Please take care of throwing exception if find the invalid surrogate pair
- #195
pfi::text::json
module supports operator==/!= to check the equilitypfi::text::json::equals
function can compare with / without implicit conversion between integer and float
- #198
pfi::network::rpc::rpc_server
supports feature to get the port number- It's nice feature if you bind port number 0 (bind free port number)
Fixes
- #177 Fixed codes to suppress compiler warnings in
pfi::data::ustring
- I'd like to remove compiler warnings from this world...
- #178 Fixed build scripts (wscript) to add the
-lmsgpack
if usepfi::network::mprpc
- #179 pficommon can create static library now
- Please execute
./waf configure --static
if you would like to create static library.
- Please execute
- #181, #183 Fixed codes to be able to build in GCC 6 and C++11 mode.
- Tiny fixes but important fixes.
- #185 The convenience libraries
libpficommon_database_*.so
andlibpficommon_network_*.so
are no longer installedlibpficommon_database.so
andlibpficommon_network.so
are installed.libpficommon_database_postgresql.so
andlibpficommon_network_cgi.so
etc... are NOT installed.
- #190, #193 pficommon is buildable now in python 3 enviroments
- waf is updated from 1.7.8 to 2.0.14 !
- We should move from python 2 to 3 this year!
- #191 All pull requests are now tested with CircleCI in GCC 5 and python 2.7 or 3.4 and C++11 mode or not
- #197 Fixed a test that occasionally fails
Release Notes 2.0.0
pficommon 2.0.0 Release Notes
Date: 2016/03/17
Download
Download Link: https://github.com/pfi/pficommon/releases/download/2.0.0/pficommon-2.0.0.tar.bz2
Overview
ABI of pficommon 2.0.0 is not compatible with 1.3.1
- Modified to be compiled in C++11 mode
Fixes
system module
Class/Function Name | Summary | API/ABI Backward Compatibility | Issue/Pull Request | Related Files |
---|---|---|---|---|
pfi::system::fd_stream | Prohibit implicit conversion from int | API break | #117 | src/system/file.h |
pfi::system::mmapper | Removed copy constructor and support swap | API break | #105 | src/system/mmapper.h |
math module
Class/Function Name | Summary | API/ABI Backward Compatibility | Issue/Pull Request | Related Files |
---|---|---|---|---|
pfi::math::unoptimized | Removed | API break | #114 | src/math/constant.h |
pfi::math::fft2d | Fixed wrong calculation of 2d FFT | Stable | #1 | src/math/fft.h |
pfi::math::ifft2d | Fixed wrong calculation of 2d inverse FFT | Stable | #1 | src/math/fft.h |
concurrent module
Class/Function Name | Summary | API/ABI Backward Compatibility | Issue/Pull Request | Related Files |
---|---|---|---|---|
pfi::concurrent::scoped_lock | Removed copy constructor | API break | #140 | src/concurrent/lock.h |
pfi::concurrent::pcbuf | Fixed the fast timeout bug when using push/pop by multi threads | Stable | #165 | src/concurrent/pcbuf.h |
pfi::concurrent::thread | Prohibit implicit conversion from pfi::lang::function | API break | #141 | src/concurrent/thread.h |
pfi::concurrent::threading_model::multi_thread | Removed members and methods, replaced with empty class declaration. | API break | #78 | src/concurrent/threading_model.h |
visualization module
None
database module
Class/Function Name | Summary | API/ABI Backward Compatibility | Issue/Pull Request | Related Files |
---|---|---|---|---|
Fixed wscript not to build mysql module when mysql-devel package is not installed | Stable | #28 | src/database/wscript | |
Fixed wscript to check postgresql rightly | Stable | #164 | src/database/wscript | |
pfi::database::from_sql | Replaced shared_ptr parameter types with "const shared_ptr&" | API break | #86 | src/database/type.h |
data module
Class/Function Name | Summary | API/ABI Backward Compatibility | Issue/Pull Request | Related Files |
---|---|---|---|---|
pfi::data::config_file | Replaced "const istream&" with istream& | API break | #137 | src/data/config_file.h |
pfi::data::digest::operator<< | Made exception safe. | Stable | #106 | src/data/digest/md5.cpp |
pfi::data::fenwick_tree | Prohibit implicit conversion from int | API break | 30630fc | src/data/fenwick_tree.h |
pfi::data::intern | Use unordered_map and changed template paramters | API break | #45 | src/data/intern.h |
pfi::data::intern | Fixed data::intern::exist_id to return false when negative id was passed | Stable | #69 | src/data/intern.h |
pfi::data::intern | Support swap | Stable | #139 | src/data/intern.h |
pfi::data::intern | Made data::intern::serialize exception safe | Stable | #139 | src/data/intern.h |
pfi::data::sparse_matrix::sparse_matrix | Fixed sparse_matrix_reader::open not to access unallocated memory when reading empty sparse_matrix data files | Stable | #95 | src/data/sparse_matrix/sparse_matrix.h |
pfi::data::string::ustring | Removed never used conversion function | Stable | #20 | src/data/string/ustring.h |
pfi::data::string::ustring | Made uchar uint32_t instead of unsigned int | Stable(API break in some env) | #112 | src/data/string/ustring.h |
pfi::data::string::chars_to_uchar | Added two-argument chars_to_uchar() for safety. | Stable | #113 | src/data/string/ustring.h |
pfi::data::string::chars_to_uchar | Made one-argument chars_to_uchar() deprecated. | Stable | #113 | src/data/string/ustring.h |
pfi::data::string::chars_to_uchar(pfi::data::string::string_to_ustring) | 5-byte or 6-byte byte sequence are treated as invalid UTF-8 | Stable | #113 | src/data/string/ustring.h |
pfi::data::string::chars_to_uchar(pfi::data::string::string_to_ustring) | Some code points(>= U+10FFFF) and surrogates([0xD800, 0xDFFF]) are treated as invalid UTF-8 | Stable | #167 | src/data/string/ustring.h |
pfi::data::string::chars_to_uchar(pfi::data::string::string_to_ustring) | Invalid byte sequence replaced with replacement character(U+FFFD) | Stable | #168 | src/data/string/ustring.h |
pfi::data::string::ustring | Fixed constructor forwarding from ustring to std::basic_string | Stable | #124 | src/data/string/ustring.h |
pfi::data::unordered_map(pfi::data::unordered_set) | Added unorderd_::reserve() for tr1/unordered_ | Stable(API break in some env) | #55 | src/data/unordered_map.h, src/data/unordered_set.h |
pfi::data::unordered_map(pfi::data::unordered_set) | Removed ext/hash code for unordered_map and unordered_set | Stable | 6d0b8a8 | src/data/unordered_map.h, src/data/unordered_set.h |
pfi::data::serialization::serialize | Add serialization of unordered_set | Stable | #57 | src/data/serialization/unordered_set.h, src/data/serialization/tr1_unordered_set.h |
pfi::data::serialization::binary_iarchive | Improved implementation of binary_iarchive::read() | Stable | #109 | src/data/serialization/base.h |
pfi::data::serialization::binary_oarchive | Improved implementation of binary_oarchive::write() | Stable | #109 | src/data/serialization/base.h |
pfi::data::serialization::serialize | Fixed bad serialization of containers with smart pointers in C++03 | Stable | #161 | src/data/serialization/deque.h, src/data/serialization/list.h, src/data/serialization/vector.h |
lang module
network module
text module
New Feature
TODO: