Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F85630983
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
10 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2c42732..264edf0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,96 +1,108 @@
# Change log
+## 0.5.0
+
+### Added
+- Add action to send different to-device messages to multiple devices. https://iron.lily-is.land/D25
+- Support encrypting olm separately for each device. https://iron.lily-is.land/D26
+- Send only relevant ciphertext to each device when sharing room keys. https://iron.lily-is.land/D27
+
+### Internal changes
+- Fix not pushing code for branch commits. https://iron.lily-is.land/D30
+- Exclude tests, testfixtures and examples from coverage report. https://iron.lily-is.land/D31
+- Split each test into its own executable. https://iron.lily-is.land/D35
+
## 0.4.0
### Security
- Do not calculate transaction id from event content. https://iron.lily-is.land/D28
### Added
- Implement removing local echo. https://lily-is.land/kazv/libkazv/-/merge_requests/70
- Add constant-time cursors for room timeline. https://lily-is.land/kazv/libkazv/-/merge_requests/72
- Support getting read receipts. https://lily-is.land/kazv/libkazv/-/merge_requests/73
- Add reader for related events in Room. https://lily-is.land/kazv/libkazv/-/merge_requests/74
- Add heroMemberEvents function to RoomModel. https://iron.lily-is.land/D9
- Support posting read receipts. https://iron.lily-is.land/D15
### Fixed
- Fix an event event shown not decrypted when it is being sent. https://lily-is.land/kazv/libkazv/-/merge_requests/71
- Fix PostReceiptAction sending out a null json body. https://iron.lily-is.land/D16
### Removed
- Remove unused util.hpp. https://iron.lily-is.land/D8
### Internal changes
- Rework on code review process. https://lily-is.land/kazv/libkazv/-/merge_requests/75
## 0.3.1
### Fixed
- Make it build under windows. https://lily-is.land/kazv/libkazv/-/merge_requests/68g
## 0.3.0
### Added
- Error handling for async functions. https://lily-is.land/kazv/libkazv/-/merge_requests/21
- Add device management functions to Client. https://lily-is.land/kazv/libkazv/-/merge_requests/29
- Allow Sdk::createSecondaryRoot() to have its initial value. https://lily-is.land/kazv/libkazv/-/merge_requests/31
- Add local echo support. https://lily-is.land/kazv/libkazv/-/merge_requests/33
- Recalculate which megolm sessions need to be rotated after changing trust level settings. https://lily-is.land/kazv/libkazv/-/merge_requests/34
- Implement redactions. https://lily-is.land/kazv/libkazv/-/merge_requests/36
- Update to csapi v1.3. https://lily-is.land/kazv/libkazv/-/merge_requests/40
- Add room tagging functionality. https://lily-is.land/kazv/libkazv/-/merge_requests/41
- Implement getting member events of typing users in a room. https://lily-is.land/kazv/libkazv/-/merge_requests/42
- Implement getting and setting account data. https://lily-is.land/kazv/libkazv/-/merge_requests/44
- Handle invite state. https://lily-is.land/kazv/libkazv/-/merge_requests/46
- Add getter for individual room message. https://lily-is.land/kazv/libkazv/-/merge_requests/47
- Add libkazvtestfixtures library. https://lily-is.land/kazv/libkazv/-/merge_requests/51
- Add cursor for joined member events. https://lily-is.land/kazv/libkazv/-/merge_requests/54
- Track event relationships. https://lily-is.land/kazv/libkazv/-/merge_requests/55
- Implement a minimum set of push rules. https://lily-is.land/kazv/libkazv/-/merge_requests/58
- Implement power levels handling. https://lily-is.land/kazv/libkazv/-/merge_requests/59
- Add functions about get member ids and events by membership. https://lily-is.land/kazv/libkazv/-/merge_requests/62
- Make Client::stopSyncing() return a Promise. https://lily-is.land/kazv/libkazv/-/merge_requests/64
- Add preset param to Client::createRoom(). https://lily-is.land/kazv/libkazv/-/merge_requests/66
### Fixed
- Make compile under gcc12. https://lily-is.land/kazv/libkazv/-/merge_requests/23
- Will now compile with Catch2-3. https://lily-is.land/kazv/libkazv/-/merge_requests/24
- Fix Room::encrypted not implemented. https://lily-is.land/kazv/libkazv/-/merge_requests/25
- Fix joining room with room alias. https://lily-is.land/kazv/libkazv/-/merge_requests/28
- Do not run tests that require Internet in pipeline. https://lily-is.land/kazv/libkazv/-/merge_requests/35
- Get the correct room avatar when set. https://lily-is.land/kazv/libkazv/-/merge_requests/43
- Fix pagination. https://lily-is.land/kazv/libkazv/-/merge_requests/45
- Make work with cpr-1.10. https://lily-is.land/kazv/libkazv/-/merge_requests/48
- Fix log spamming and session key revealing. https://lily-is.land/kazv/libkazv/-/merge_requests/50
- Fix store test with ASAN. https://lily-is.land/kazv/libkazv/-/merge_requests/52
- Fix AES256CTRDesc use-after-free error. https://lily-is.land/kazv/libkazv/-/merge_requests/53
- Avoid creation of multiple room cursors. https://lily-is.land/kazv/libkazv/-/merge_requests/57
- Minimize the copying of Crypto to improve performance. https://lily-is.land/kazv/libkazv/-/merge_requests/61
- Include `<random>` properly in random-generator.hpp. https://lily-is.land/kazv/libkazv/-/merge_requests/63
- Improve reducer performance by using immer::diff to compare device lists. https://lily-is.land/kazv/libkazv/-/merge_requests/65
## 0.2.1
- Fix crash when receiving a redacted encrypted event. https://lily-is.land/kazv/libkazv/-/commit/98870fa04fa78361f5092cd77f88895e4a228d34
## 0.2.0
- Support streaming uploads. https://gitlab.com/kazv/libkazv/-/merge_requests/1
- Fix ctx.dispatch() returning promises resolving to empty EffectStatus. https://gitlab.com/kazv/libkazv/-/commit/c7796a6ab8325773bf47fe83254a377204d6abcf
- Prevent leaking full file path when uploading to matrix server by using only basename for the request.
- Deal with timeline gaps properly. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/1
- Record state events in timeline. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/2
- Add support for streaming download. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/3
- Add support for Boost.Serialization. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/4
- Support encrypted attachments. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/5
- Allow custom random generator with crypto. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/6
- Support auto-discovery. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/12
- Support profile API. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/13
- Support kick/ban API. https://lily-is.land/kazv/libkazv/-/merge_requests/15
- Support room heroes. https://lily-is.land/kazv/libkazv/-/merge_requests/16
- Add coverage report. https://lily-is.land/kazv/libkazv/-/merge_requests/17
### Deprecated
- `makeDefaultEncryptedSdk()` is now deprecated. Use `makeDefaultSdkWithCryptoRandom()` instead.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8b41bd4..0bad52b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,131 +1,131 @@
# Do not let the option()s override variables here
cmake_minimum_required(VERSION 3.13)
if(NOT DEFINED PROJECT_NAME)
if(NOT DEFINED libkazv_INSTALL_HEADERS)
set(libkazv_INSTALL_HEADERS ON)
endif()
endif()
project(libkazv)
set(libkazvSourceRoot ${CMAKE_CURRENT_SOURCE_DIR})
set(libkazv_VERSION_MAJOR 0)
-set(libkazv_VERSION_MINOR 4)
+set(libkazv_VERSION_MINOR 5)
set(libkazv_VERSION_PATCH 0)
set(libkazv_VERSION_STRING ${libkazv_VERSION_MAJOR}.${libkazv_VERSION_MINOR}.${libkazv_VERSION_PATCH})
set(libkazv_SOVERSION 4)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
option(libkazv_BUILD_TESTS "Build tests" ON)
option(libkazv_BUILD_EXAMPLES "Build examples" ON)
option(libkazv_BUILD_KAZVJOB "Build libkazvjob the async and networking library" ON)
option(libkazv_OUTPUT_LEVEL "Output level: Debug>=90, Info>=70, Quiet>=20, no output=1" 0)
option(libkazv_ENABLE_COVERAGE "Enable code coverage information" OFF)
if(libkazv_ENABLE_COVERAGE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage -fPIC -O0")
endif()
if((libkazv_BUILD_TESTS OR libkazv_BUILD_EXAMPLES) AND NOT libkazv_BUILD_KAZVJOB)
message(FATAL_ERROR
"You asked kazvjob not to be built, but asked to build tests or examples. Tests and examples both depend on kazvjob. This is not possible.")
endif()
if(libkazv_BUILD_TESTS)
set(BUILD_TESTING ON)
include(CTest)
set(CMAKE_CTEST_ARGUMENTS --output-on-failure)
endif()
# Build shared libraries by default
if(NOT DEFINED BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS ON)
endif()
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
set(LIBKAZV_BUILT_WITH_DEBUG 1)
else()
set(LIBKAZV_BUILT_WITH_DEBUG 0)
endif()
find_package(Boost REQUIRED COMPONENTS serialization regex)
if(libkazv_BUILD_KAZVJOB)
find_package(cpr REQUIRED)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
endif()
if(libkazv_BUILD_TESTS)
find_package(Catch2 REQUIRED)
endif()
find_package(nlohmann_json REQUIRED)
find_package(Immer REQUIRED)
find_package(Zug REQUIRED)
find_package(Lager REQUIRED)
if(MINGW)
# On MinGW, disregard the Findcryptopp.cmake
find_package(cryptopp REQUIRED CONFIG)
else()
find_package(cryptopp REQUIRED)
endif()
# On MinGW we use the CMake build, and the target name is different
# for the shared and the static libraries.
if(MINGW)
set(CRYPTOPP_TARGET_NAME cryptopp-shared)
else()
set(CRYPTOPP_TARGET_NAME cryptopp)
endif()
find_package(Olm REQUIRED)
if(libkazv_BUILD_EXAMPLES)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBHTTPSERVER REQUIRED libhttpserver)
endif()
if(libkazv_OUTPUT_LEVEL)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLIBKAZV_OUTPUT_LEVEL=${libkazv_OUTPUT_LEVEL}")
endif()
include(GNUInstallDirs)
set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/libkazv)
add_subdirectory(src)
install(EXPORT libkazvTargets
NAMESPACE
libkazv::
DESTINATION
${ConfigPackageLocation}
)
install(
FILES cmake/libkazvConfig.cmake
DESTINATION ${ConfigPackageLocation})
# cpr does not install a good config file.
# We use the find module instead.
install(
FILES cmake/Findcpr.cmake
DESTINATION ${ConfigPackageLocation})
if(NOT MINGW)
install(
FILES cmake/Findcryptopp.cmake
DESTINATION ${ConfigPackageLocation})
endif()
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Mon, Aug 10, 4:38 AM (1 d, 18 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1724878
Default Alt Text
(10 KB)
Attached To
Mode
rL libkazv
Attached
Detach File
Event Timeline
Log In to Comment