Releases: alibaba/PhotonLibOS
Releases · alibaba/PhotonLibOS
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
v0.8.0
What's Changed
- GDB pretty printer for ARM by @louiswilliams in #262
- Fix the va_args order of http header by @beef9999 in #286
- Interface design of simple unified access to json, xml, yaml, ini, etc. by @lihuiba in #259
- New epoll event engine implemention that may be more effecient by @Coldwings in #295
- Fix some compiler warning by @faker2048 in #321
- ObjectCache with intrusive_list specialization by @Coldwings in #319
PooledStackAllocatorhelps improve performance of thread creating by @Coldwings in #324- Merge release/0.7 to master by @beef9999 in #335
- Add extra options in
photon::initby @Coldwings in #326 - use Timeout by @lihuiba in #332
- more Timeout usage by @lihuiba in #339
- fix compile error for gcc11.4 by @liulanzheng in #344
- socket api do not distinguish IPv4 or IPv6 by @lihuiba in #343
- fix gtest return code by @beef9999 in #349
- Improve heave load performance in
RingChannelby @Coldwings in #347 - Add io perf benchmark by @beef9999 in #357
- CI add gcc11 on Ubuntu 22 by @beef9999 in #355
- The instantiation of sockaddr will lose information by @beef9999 in #361
- map_string_kv (no test yet) by @lihuiba in #362
- alog refactory by @lihuiba in #378
- Semaphore now able to be interrupted by @Coldwings in #380
- Update ci.linux.x86.yml by @beef9999 in #383
- map_string_kv ready for httpfs_v2 by @lihuiba in #386
- fix gcc6 compile failure by @beef9999 in #408
- multi-conn-perf by @beef9999 in #407
- Cherry-pic a7597a9 from 0.7 by @beef9999 in #413
- make epoll oneshot working for cascading engine by @lihuiba in #418
- test code show warning by @beef9999 in #428
- a simple promise/future for coordination with background worker thread(s) by @lihuiba in #427
- integration for photon and cpp_redis by @lihuiba in #425
- adaptor for ISocketStream to std::iostream by @lihuiba in #424
- retval to return a value and an error number at the same time by @lihuiba in #439
- Remove some outdated libcurl option usage in curl wrapper header by @Coldwings in #440
- Fix ISocketServer bind port by @beef9999 in #441
- do not output error string repeatedly by @lihuiba in #442
- SimpleDOM support for XML (with RapidXml) and JSON (with rapidjson) by @lihuiba in #445
- Add RapidYAML as ecosystem libs by @Coldwings in #449
- What Photon Vision by @lihuiba in #453
- priority throttle by @beef9999 in #450
- std_compat promise/future by @lihuiba in #448
- simple dom support for yaml by @lihuiba in #454
- throttle: fix wrong starving percent by @beef9999 in #455
- Compatible to cmake 3.14 by @Coldwings in #458
- fix warnings in CI, as well as bugs by @lihuiba in #460
- Add mprotect for the top-end of photon stack by @Coldwings in #464
- Merge remote-tracking branch 'origin/release/0.7' by @beef9999 in #477
- http client destroy_operation by @beef9999 in #478
- http client user-agent to main by @lihuiba in #482
- add fini_hook for photon and for http client by @liulanzheng in #484
- add more options for executor by @liulanzheng in #487
- add option for ecosystem in cmake by @liulanzheng in #488
- fix suspend timeout for Awaiter by @liulanzheng in #490
- Merge remote-tracking branch 'origin/release/0.7' by @beef9999 in #492
- fix dns resolver discard_cache by @liulanzheng in #497
- avoid duplicate construction for http dialer by @liulanzheng in #496
- Interruptible throttle; DNS Resolver support filter by @beef9999 in #495
- new CI workflow for linux.x86 by @lihuiba in #494
- restore errno when release success in pooled socket by @liulanzheng in #499
- FIX: epoll-ng wait for fd with event 0 by @Coldwings in #502
- fix dead lock in ExportPerformer by @HanLee13 in #503
- FIX 0.7 CI Test by @Coldwings in #505
- PHOTON_ENABLE_ECOSYSTEM defaults to off by @beef9999 in #507
- fix dead lock in ExportPerformer by @HanLee13 in #510
- fix batch mpmc queue by @Coldwings in #515
- CI with fully parallel jobs by @Coldwings in #516
- update CI badge by @beef9999 in #517
- Remove stream-messenger/messenger.h from include by @beef9999 in #519
- Fix on stack allocator by @Coldwings in #518
- using io_uring_free_probe() by @lihuiba in #524
- alog tail append after formated, so add a newline is neccessary by @Coldwings in #528
- RCUPtr for photon thread environment by @Coldwings in #529
- objcachev2 by @Coldwings in #522
- Add mfence for ringchannel send by @Coldwings in #530
- Make PooledStackAllocator implemention more clear, and fix by @Coldwings in #527
- openssl not use locking after 1.1.0 by @beef9999 in #434
- Fix clang compile in curl.cpp by @beef9999 in #532
- Some modify and fix in ObjectCacheV2 by @Coldwings in #531
- Fix on epoll-ng when testing in RpcTest shutdown by @Coldwings in #535
- link perf_workpool to example by @beef9999 in #534
- Fix alog DEC(0) shows -0 by @Coldwings in #538
- ObjCache V2 remove reflock by @Coldwings in #536
- makes mprotect page and thread struct in the stack. by @Coldwings in #537
- fix extra null byte in http response header by @liulanzheng in #539
Full Changelog: v0.7.10...v0.8.0