Releases: alibaba/PhotonLibOS
Releases · alibaba/PhotonLibOS
Release list
v0.9.4
What's Changed
- fix(checksum): cleanup EVP_MD_CTX properly to prevent memory leak on OpenSSL < 1.1.0 by @Moonpuck in #1099
- introduce more mini oss sdk changes by @zhenjiaseu in #1102
- [Pick][0.8 to 0.9] | fix a typo error (#1103) by @photonlibos in #1105
- [Pick][0.8 to 0.9] | [Pick][0.6 to 0.7] fix(http): fix chunked transfer encoding (#1115) (#1116) by @photonlibos in #1117
- supoort batch get objects API by @zhenjiaseu in #1112
- Return ETag in PutObject, AppendObject and CompleteMultipart by @Moonpuck in #1123
- fix time related issues on mac by @zhenjiaseu in #1122
- [Pick][0.8 to 0.9] | Fix PROCESS_FIELDS to handle empty arguments (#1128) by @photonlibos in #1129
- [Pick][0.8 to 0.9] | Fix macos CI finding openssl dep (#1134) by @photonlibos in #1135
- Support passing start-after parameter to list_objects by @chenqi97 in #1138
- feat: support cache file manually eviction by filename for full file cache by @xiaoyang-hhh in #1137
- feat: add parameter storeCacheTTLUsecs for cache pool initialization by @xiaoyang-hhh in #1139
- fix(oss): update gmt date correctly in OSS requests by @Moonpuck in #1143
- fix(cache): fix unlock after lock destroyed by @xiaoyang-hhh in #1144
- [Pick][0.8 to 0.9] | FIX on SleepQueue (#1151) (#1153) by @photonlibos in #1155
- Cache arch.pdf by @lihuiba in #1154
- refactor(cache): move rwlock from LruEntry to FileStore, to reduce memory usage by @xiaoyang-hhh in #1149
- oss: set errno to EIO on network failures except ETIMEDOUT by @Moonpuck in #1161
- [Pick][0.8 to 0.9] | Set dtime to 1 when NO_TIMESTAMP to avoid fsck error on zero dtime (#1169) (#1170) by @photonlibos in #1171
- [Pick][0.8 to 0.9] | Fix alog time precision (#1167) by @photonlibos in #1173
- [Pick][0.8 to 0.9] | make alog thread_local (#1175) by @photonlibos in #1176
- feat(cache): add idle LRU for full file cache to reduce memory usage by @xiaoyang-hhh in #1182
- [Pick][0.8 to 0.9] | Support userinfo in URL and proxy authentication (#1183) by @photonlibos in #1188
- [Pick][0.8 to 0.9] | compatible with clang 21 (#1187) by @photonlibos in #1190
- [Pick][0.8 to 0.9] | hide alog's buffer inside log() or lambda L in LOG macro (#1189) by @photonlibos in #1193
- fix(oss): fix memory leak in get_xml_node by @Moonpuck in #1195
- [Pick][0.8 to 0.9] | [feat.] remove O_RDONLY flag in httpfs_v2 (#1199) by @photonlibos in #1200
- [Pick][0.8 to 0.9] | feat(http): support per-operation proxy URL (#1201) by @photonlibos in #1204
- fix(cache): cap actualEvict by totalUsed_ to prevent eviction deadloop by @yuchen0cc in #1211
- [Pick][0.8 to 0.9] | estring: fix heap-buffer-overflow in _split::find_part (#1217) (#1218) by @photonlibos in #1219
New Contributors
Full Changelog: v0.9.3...v0.9.4
v0.9.3
What's Changed
- [Pick][0.8 to 0.9] | fix json/yaml issues with illegal format (#1054) by @photonlibos in #1055
- [Pick][0.8 to 0.9] | Since macos-13 test image are retired, move on to macos-15 by github advise (#1065) by @photonlibos in #1067
- [Pick][0.8 to 0.9] | FIX: estring split in non-consecutive merge mode (#1071) (#1072) by @photonlibos in #1073
- [Pick][0.8 to 0.9] | Fix split iteration meets empty parts (#1078) (#1079) by @photonlibos in #1080
- introduce mini oss sdk by @zhenjiaseu in #1082
- fix basic_map_string_kv's assignment function by @zhenjiaseu in #1084
- [Pick][0.8 to 0.9] | Fix on domain resolver (#1090) by @photonlibos in #1091
Full Changelog: v0.9.2...v0.9.3
v0.9.2
What's Changed
- [Pick][0.8 to 0.9] | Fix AutoPR dealing with PR title/body contain quota like ` ' " (#913) by @photonlibos in #915
- [Pick][0.8 to 0.9] | [fix #909] fix compile error by @photonlibos in #917
- [Pick][0.8 to 0.9] | Fix X86 linux asan start call by @photonlibos in #924
- [Pick][0.8 to 0.9] | Fix autopr (#933) (#934)
Co-authored-by: Coldwings coldwings@me.com by @photonlibos in #935
- [Pick][0.8 to 0.9] | Fix PHOTON_BUILD_WITH_ASAN (#940)
by @photonlibos in #941
- [Pick][0.8 to 0.9] | Fix autopr title (#944) (#946) by @photonlibos in #947
- [Pick][0.8 to 0.9] | Fix ASAN access stack after vstack destructed (#949) by @photonlibos in #952
- [Pick][0.8 to 0.9] | simple_dom: respect the size of text, and make parsers exception-safe. (#951) by @photonlibos in #953
- [Pick][0.8 to 0.9] | FIX: objcachev2 should not use spinlock for create or erase (#955) by @photonlibos in #957
- [Pick][0.8 to 0.9] | fx http sock leaks in some error cases (#956) (#958) by @photonlibos in #960
- [Pick][0.8 to 0.9] | Fix overflow in range lock (#973) by @photonlibos in #974
- [Pick][0.8 to 0.9] | enhance LOG_ERROR_RETURN and LOG_ERRNO_RETURN to optionally enforce setting values to errno (#983) by @photonlibos in #984
- [Pick][0.8 to 0.9] | invoke dtor for arguments passed to thread_create11() (#987) (#988) by @photonlibos in #989
- avoid sleep q starvation by standby q by @lihuiba in #979
- [Pick][0.8 to 0.9] | make thread_yield_to() less prone to starve threads (#982) (#993) by @photonlibos in #996
- fix potential access beyond buffer end in crc32c_hw_tiny() by @lihuiba in #998
- [Pick][0.8 to 0.9] | Fix photon_std::condition_variable not using custom clock for time_point (#1002) (#1004) by @photonlibos in #1005
- fix GCC options by @liulanzheng in #1007
- [Pick][0.8 to 0.9] | fix iovector not checking size before extracting continuous buffer (#1010) (#1011) by @photonlibos in #1013
- [Pick][0.8 to 0.9] | fix deserialize returning invalid message on failure (#1012) (#1015) by @photonlibos in #1016
- [Pick][0.8 to 0.9] | fix invoking appends() in estring to_string(const photon::net::EndPoint& ep) (#1020) by @photonlibos in #1021
- simple_dom: fix trailer for illegal inputs by @lihuiba in #1023
- [Pick][0.8 to 0.9] | Fix double free in socket pool on unexpected photon thread switch (#1029) (#1030) by @photonlibos in #1031
- worker_lock.lock() in WorkPool::~impl() to ensure destruction order by @lihuiba in #1026
- [Pick][0.8 to 0.9] | rapidxml relocation (#1036) by @photonlibos in #1037
- [Pick][0.8 to 0.9] | fix resume_threads() (#1040) by @photonlibos in #1041
- [Pick][0.8 to 0.9] | fix perfermance degradation in photon::thread_create (#1043) (#1046) by @photonlibos in #1047
Full Changelog: v0.9.1...v0.9.2
v0.8.5
What's Changed
- [Pick][0.7 to 0.8] | Fix AutoPR dealing with PR title/body contain quota like ` ' " (#913) by @photonlibos in #914
- Fix X86 linux asan start call by @Coldwings in #922
- [Pick][0.7 to 0.8] | Fix autopr (#933) __AUTOPR_EOF
MESSAGE<<__AUTOPR_EOF
Fix autopr (#933)
by @photonlibos in #934
- Fix PHOTON_BUILD_WITH_ASAN by @Coldwings in #940
- [Pick][0.7 to 0.8] | Fix autopr title (#944) by @photonlibos in #946
- Fix ASAN access stack after vstack destructed by @Coldwings in #949
- simple_dom: respect the size of text; make parsers exception-safe. by @lihuiba in #951
- FIX: objcachev2 should not use spinlock for create or erase by @Coldwings in #955
- [Pick][0.7 to 0.8] | fx http sock leaks in some error cases (#956) by @photonlibos in #958
- Fix overflow in range lock by @EricHuangqx in #973
- enhance LOG_ERROR_RETURN and LOG_ERRNO_RETURN by @lihuiba in #983
- [Pick][0.7 to 0.8] | invoke dtor for arguments passed to thread_create11() (#987) by @photonlibos in #988
- avoid sleep q starvation by standby q by @lihuiba in #978
- [Pick][0.7 to 0.8] | make thread_yield_to() less prone to starve threads (#982) by @photonlibos in #993
- [Pick][0.7 to 0.8] | Fix photon_std::condition_variable not using custom clock for time_point (#1002) by @photonlibos in #1004
- [Pick][0.7 to 0.8] | fix iovector not checking size before extracting continuous buffer (#1010) by @photonlibos in #1011
- [Pick][0.7 to 0.8] | fix deserialize returning invalid message on failure (#1012) by @photonlibos in #1015
- fix invoking appends() in estring to_string(const photon::net::EndPoi… by @lihuiba in #1020
- [Pick][0.7 to 0.8] | Fix double free in socket pool on unexpected photon thread switch (#1029) by @photonlibos in #1030
- rapidxml relocation by @lihuiba in #1036
- fix resume_threads() by @lihuiba in #1040
- fix perfermance degradation in photon::thread_create (#1043) by @ivanallen in #1046
Full Changelog: v0.8.4...v0.8.5
v0.8.4
What's Changed
- [Pick][0.7 to 0.8] | Make autopr cleanup using autopr secret by @photonlibos in #777
- Upgrade c++ version to 17 for macOS CI by @beef9999 in #786
- fix compile 0.8 with clang17 by @lihuiba in #796
- [fix.] segfault when create_extfs() failed. by @WaberZhuang in #807
- make simple_dom preseving the nodes' order of the document by @lihuiba in #811
- [Pick][0.7 to 0.8] | FIX autopr when commit message contains quota ' character (#812) by @photonlibos in #813
- simple_dom supports .ini by @lihuiba in #818
- fix url escape/unescape by @liulanzheng in #829
- fini_hook should clear after executed by @Coldwings in #839
- fix race and leak in DefaultResolver by @lihuiba in #854
- [Pick][0.7 to 0.8] | Fix incorrect char usage in estring trim function by @photonlibos in #864
- no unit test on push, only on pull request by @lihuiba in #869
- [Pick][0.7 to 0.8] | Force libcurl using http/1.1 since photon wrapper does not support using http/2 by @photonlibos in #877
- FIX: lockfree BatchMPMCQueue on aarch64 by @Coldwings in #885
- Fix PooledDailer at_photo_fini by @liulanzheng in #895
- types in simple dom by @lihuiba in #900
- [fix #909] fix compile error by @ivanallen in #912
New Contributors
- @ivanallen made their first contribution in #912
Full Changelog: v0.8.3...v0.8.4
v0.9.1
What's Changed
- fix istarts_with bug in estring_view by @HanLee13 in #773
- fix include in pool_store.h by @liulanzheng in #775
- [Pick][0.8 to 0.9] | Make autopr cleanup using autopr secret by @photonlibos in #778
- cmake: fix curl lib path when building from src by @beef9999 in #781
- cmake: adjust link order for curl and ssl lib by @beef9999 in #785
- [Pick][0.8 to 0.9] | Upgrade c++ version to 17 for macOS CI by @photonlibos in #787
- [Pick][0.8 to 0.9] | fix compile 0.8 with clang17 (#796) by @photonlibos in #798
- update Callback in net/utils.cpp by @beef9999 in #800
- move photon/cache/ to photon/fs/cache/ by @BigVan in #809
- [Pick][0.8 to 0.9] | FIX autopr when commit message contains quota ' character (#812) by @photonlibos in #814
- make simple dom preseving the nodes' order of the document for 0.9 by @lihuiba in #816
- [Pick][0.8 to 0.9] | simple_dom supports .ini by @photonlibos in #819
- CMake: Some gcc does not recognize -faligned-new. It's only for g++ by @beef9999 in #821
- Fix compile cache test with C++17 or above by @Coldwings in #825
- fuse_adaptor: fix memory leaks in fuse_adptor by using IdentityPool by @haolianglh in #827
- fix compile in macos 15.5 by @lihuiba in #830
- [Pick][0.8 to 0.9] | fix url escape/unescape by @photonlibos in #832
- Make rsocket less latency by @Coldwings in #842
- [Pick][0.8 to 0.9] | fini_hook should clear after executed (#839) by @photonlibos in #840
- [Pick][0.8 to 0.9] | fix race and leak in DefaultResolver by @photonlibos in #855
- Add rsocket in net-perf by @beef9999 in #858
- Fix net-perf example if work_pool is nullptr by @beef9999 in #863
- [Pick][0.8 to 0.9] | Fix incorrect char usage in estring trim function by @photonlibos in #868
- [Pick][0.8 to 0.9] | no unit test on push, only on pull request by @photonlibos in #871
- [Pick][0.8 to 0.9] | Force libcurl using http/1.1 since photon wrapper does not support using http/2 by @photonlibos in #878
- fix interrupted wakeup by @lihuiba in #882
- workpool minor refinement by @lihuiba in #884
- [Pick][0.8 to 0.9] | FIX: lockfree BatchMPMCQueue on aarch64 by @photonlibos in #887
- workpool refine: making it completely usable in non-photon env by @lihuiba in #888
- fix ~workerpool by using AutoContext by @lihuiba in #891
- [Pick][0.8 to 0.9] | ensure at_photon_fini executed in PooledDialer when photon init and finish twice by @photonlibos in #896
- [Pick][0.8 to 0.9] | types in simple_dom by @photonlibos in #901
- net-perf server listens to multiple ports; Refine semaphore doc by @beef9999 in #907
Full Changelog: v0.9.0...v0.9.1
v0.9.0
What's Changed
Task scheduling:
- Allow Workpool to be used in non-photon environment; Increase ring size of Workpool by @beef9999 @lihuiba
- semaphore plus by @lihuiba in #667
- make cross-vcpu interrupt latency lower by @lihuiba in #625
- very basic work-stealing by @lihuiba in #629
Event-driven I/O:
- iouring sq poll and io poll by @lihuiba in #683
- kevent retry by @lihuiba in #578
- add libfuse3 support by @HanLee13 in #738
- Add cache module by @BigVan in #760
Networking:
- Able to use RDMACore RSocket in photon by @Coldwings in #633
- TLSContext now able to set X509 cert verify by @Coldwings in #621
- parse_address_list() by @lihuiba in #586
- make libcurl optional in Photon by @liulanzheng in #627
- RPC: Able to change socket type; Improve doc; Example support echo perf test by @beef9999 in #750
- HTTP server supports for vcpu by @liulanzheng in #616
- HTTP client supports sending requests from different IPs by @liulanzheng in #631
- HTTP client can read body with long iovecs by @Coldwings in #702
- HTTP Client better cookie impl by @lihuiba in #743
- Fix curl timeout return code handling @coding-nobody in #729
Miscellaneous:
- a new portable implementation of CRC32C and CRC64-ECMA for x86-64 and AArch64, using SSE/AVX/NEON instructions @lihuiba
- Add moveout feature for ObjectCache by @Coldwings in #630
- Add install option for cmake by @rainhard in #622
- Add build deps in CI baseimg by @Coldwings in #693
- fast case conversion and case-insensitive comparison by @lihuiba @HanLee13
- unordered_inline_set (hash table) by @lihuiba in #546
- log2_truncate(), log2_round(), log2_round_up(), round_up_to_exp2() by @lihuiba in #570
- stackful-coroutine-made-fast.html by @lihuiba in #599
- fix typo in write-first-example by @yanghao in #724
- fix -Wvla-cxx-extension errors by @tzcnt in #749
Ecosystem:
- remake of redis client by @lihuiba in #600
- enhance error handling for redis by @liulanzheng in #699
- add an emulation layer for state threads, passing its UT by @lihuiba in #561
New Contributors
- @rainhard made their first contribution in #622
- @yanghao made their first contribution in #724
- @coding-nobody made their first contribution in #729
- @tzcnt made their first contribution in #749
Full Changelog: v0.8.1...v0.9.0
v0.8.3
What's Changed
- extract_c_str() for estring_view by @lihuiba in #677
- Disable old auto-pr by @beef9999 in #679
- redefine undefined() in EndPoint by @lihuiba in #684
- [Pick][0.7 to 0.8] | Make with one argument able to be call by @photonlibos in #688
- [Pick][0.7 to 0.8] | AutoPR always using cherry-pick but do not resolve conflicts, just keep what it is and make PR, and able to simply edit PR to resolve conflicts manually (#707) by @photonlibos in #708
- fix potential race condition in DefaultResolver when discard_cache() by @lihuiba in #706
- [Pick][0.7 to 0.8] | fix on path Walker (#719) by @photonlibos in #720
- minor update for http url and headers by @liulanzheng in #716
- io-perf example support workpool by @beef9999 in #727
- [Pick][0.7 to 0.8] | make now monotonic by @photonlibos in #740
- Fix a typo in cookie by @lihuiba in #744
- enhance at_photon_fini() in PooledDialer by @liulanzheng in #751
- macOS CI remove cmake dependency by @beef9999 in #754
- Enhance debug tools by @Coldwings in #753
- add PHOTON_DEFAULT_LOG_LEVEL for cmake by @liulanzheng in #758
- Backport coredump fix for test_throttle.cpp from main by @beef9999 in #756
- [Pick][0.7 to 0.8] | Fix on RPC async_serve accessing count after context call (#763) by @photonlibos in #764
- Set TCP_NODELAY by default by @Coldwings in #767
- make it compiles with C++17/20/23 by @lihuiba in #766
Full Changelog: v0.8.2...v0.8.3
v0.8.2
What's Changed
- Add RocksDB build in CI by @beef9999 in #585
- Let CI tests show results on different engines by @beef9999 in #588
- Fix tes-thread CI OOM killed by @beef9999 in #595
- fix recv_at_least() by @lihuiba in #594
- vcpu support http server by @liulanzheng in #616
- make cross-vcpu interrupt latency lower by @lihuiba in #625
- Add moveout feature for ObjectCache by @Coldwings in #630
- make libcurl optional in Photon by @liulanzheng in #627
- support sending requests from different IP for HTTP client by @liulanzheng in #631
- handle incorrect references to curl in test by @liulanzheng in #656
- [Pick][0.7 to 0.8] | Apply suggestions from code review | Apply suggestions from code review | Fix autopr title | AutoPR checkout also use PAT by @Coldwings in #669
- add set body buffer for http client by @liulanzheng in #666
Full Changelog: v0.8.1...v0.8.2
v0.8.1
What's Changed
- Fix pooled stack allocator in-pool size calculation by @Coldwings in #542
- add fstack CI by @beef9999 in #549
- thread_yield() possible to return error_number obtained from thread_i… by @lihuiba in #560
- Fix/sockpool wait_for_fd 0.8 by @Coldwings in #557
- Fix the -Wshadow warning in compile by @beef9999 in #569
- Fix photon_std::thread::id default constructor by @beef9999 in #573
- FIX: stupid typo in kqueue
cancel_waitby @Coldwings in #575 - Fix getpagesize() when first used by @beef9999 in #568
Full Changelog: v0.8.0...v0.8.1