Page MenuHomePhorge

No OneTemporary

Size
12 KB
Referenced Files
None
Subscribers
None
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 34fd5eb..53cabdf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,131 +1,158 @@
# Change log
+## 0.7.0
+
+### Security
+- Leave the lower 8 bytes as 0 in iv of AES256CTRDesc::fromRandom(). https://iron.lily-is.land/D153 by tusooa
+
+### Added
+- Add hard logout. https://lily-is.land/kazv/libkazv/-/merge_requests/78 by April Simone
+- Implement calculating local notifications. https://iron.lily-is.land/D106 by tusooa
+- Update local notifications when syncing. https://iron.lily-is.land/D107 by tusooa
+- Add Room::pinEvents() and Room::unpinEvents(). https://iron.lily-is.land/D130 by tusooa
+- Add initialState to Client::createRoom(). https://iron.lily-is.land/D138 by tusooa
+
+### Fixed
+- Fix kazvtestfixtures withEventSenderId(). https://iron.lily-is.land/D105 by tusooa
+- Update tutorial 0 to reflect thread-safety problems. https://iron.lily-is.land/D115 by tusooa
+
+### Removed
+- Remove ci builds for ubuntu 20.04. https://iron.lily-is.land/D95 by tusooa
+
+### Internal changes
+- Add -fexceptions to kazvbase compile options. https://iron.lily-is.land/D101 by tusooa
+- Set cmake indent to 2 in .editorconfig. https://iron.lily-is.land/D102 by tusooa
+- Add docs for action-mock-utils.hpp. https://iron.lily-is.land/D113 by tusooa
+- Delete TWIM entries. https://iron.lily-is.land/D128 by tusooa
+- Update and reformat docs. https://iron.lily-is.land/D134 by tusooa
+- Rewrite architecture documentation. https://iron.lily-is.land/D135 by tusooa
+
## 0.6.0
### Added
- Build on ubuntu 22.04 in CI. https://iron.lily-is.land/D75
- Calculate a map from session id to undecrypted event ids in Room. https://iron.lily-is.land/D67
- Create function Crypto::hasInboundGroupSession(). https://iron.lily-is.land/D68
### Fixed
- Fix possibly dangling reference to a temporary. https://iron.lily-is.land/D61
- Remove sender key from KeyOfGroupSession. https://iron.lily-is.land/D69
- Do not verify sender key and sender device id for megolm events. https://iron.lily-is.land/D70
- Make tryDecryptEvents() use and update Room::undecryptedEvents. https://iron.lily-is.land/D71
- Do not reveal session key when encrypting an event. https://iron.lily-is.land/D74
- Amend room state when paginating back. https://iron.lily-is.land/D85
### Removed
- Remove AppendTimelineAction and PrependTimelineAction. https://iron.lily-is.land/D62
- Remove EncryptOlmEventAction and ClientModel::olmEncrypt(). https://iron.lily-is.land/D63
### Internal changes
- Create a mock helper for contexts. https://iron.lily-is.land/D64
- Visualize coverage report in pipeline. https://iron.lily-is.land/D73
## 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 7541fff..ad10088 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 6)
+set(libkazv_VERSION_MINOR 7)
set(libkazv_VERSION_PATCH 0)
set(libkazv_VERSION_STRING ${libkazv_VERSION_MAJOR}.${libkazv_VERSION_MINOR}.${libkazv_VERSION_PATCH})
-set(libkazv_SOVERSION 5)
+set(libkazv_SOVERSION 6)
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

Mime Type
text/x-diff
Expires
Sun, Jan 19, 6:23 PM (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
55372
Default Alt Text
(12 KB)

Event Timeline