Skip to content

Releases: retrieva/pficommon

pficommon 4.0.0 Release Notes

27 Nov 06:15
0162aa8
Compare
Choose a tag to compare

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 with std::unique_ptr
  • #211 Deleted dependency to std::tr1::unordered_map and std::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 with std::reference_wrapper, deleted pfi::lang::get_pointer(const pfi::lang::reference_wrapper<T>) and clarfied pfi::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 and pfi::lang::disable_if has changed from class to bool
  • #221 Replaced implementation of pfi::lang::algorithm::copy_if with std::algorithm::copy_if and clarified pfi::lang::algorithm::copy_if is deprecated.

Documentation

  • #215 Updated supported gcc version in README.md, and clarified pfi::data::unordered_map and pfi::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

  • #204 Added patches/fcgi.patch to make CI pass
  • #205 Enabled c++11 mode in CI
  • #207 Made CI run with gcc5, 6, 7, 8 and 9
  • #208 Made CI run with gcc4.9
  • #210 Made CI run on CentOS7 and CentOS8
  • #214 Added a Dockerfile to build and serve documents

pficommon 3.0.1 Release Notes

14 Jun 05:53
2497da2
Compare
Choose a tag to compare

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

13 Jun 05:59
152fd99
Compare
Choose a tag to compare

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
    • #182 pfi::text::json module supports json surrogate
    • #195 pfi::text::json module supports operator==/!= to check the equility
    • #198 pfi::network::rpc::rpc_server supports feature to get the port number
  • Fixes
    • #179 pficommon can create static library now
    • #185 The convenience libraries libpficommon_database_*.so and libpficommon_network_*.so are no longer installed
    • #190 pficommon is buildable now in python 3 enviroments

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 equility
    • pfi::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 use pfi::network::mprpc
  • #179 pficommon can create static library now
    • Please execute ./waf configure --static if you would like to create static library.
  • #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 and libpficommon_network_*.so are no longer installed
    • libpficommon_database.so and libpficommon_network.so are installed.
    • libpficommon_database_postgresql.so and libpficommon_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

05 Feb 06:18
Compare
Choose a tag to compare

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: