Skip to content

Releases: microsoft/proxy

2.1.1

16 Jan 14:36
531dfcc
Compare
Choose a tag to compare

What's Changed

  • Fix is_address_deducible for MSVC by @mingxwa in #57
  • Add support for combination of incomplete dispatch by @mingxwa in #58

Full Changelog: 2.1.0...2.1.1

2.1.0

15 Jan 12:21
4d22d2a
Compare
Choose a tag to compare

What's Changed

  • Add macro PRO_DEF_COMBINED_DISPATCH by @mingxwa in #54
  • Simplify the semantics of facade per spec by @mingxwa in #55

Full Changelog: 2.0.0...2.1.0

2.0.0

26 Dec 14:02
555a349
Compare
Choose a tag to compare

Proxy 2.0.0 is Now Available!

After a whole year of evolution, proxy has finally pumping its version to 2.0.0. This is a major update to the proxy library. Thanks to all the valuable feedback from you! A new ISO C++ proposal will soon become available with detailed technical specifications.

Here is a list of major changes comparing to 1.0.0:

  1. Class templates pro::dispatch and pro::facade have been removed. Please use the new macros (starting with PRO_) to define dispatches and facades. See README for more details.
  2. One dispatch now supports multiple overloads. (#43, feature suggested by @suy)
  3. Pointer type requirements has been revised. proxy::invoke() is now const-qualified. (#22, #24, feature suggested by @xiaosa-zhz and @misirlou-tg).
  4. proxy::operator() was added when there is only one dispatch defined in the facade.
  5. struct proxiable_ptr_constraints is added as an abstraction of constraints to pointers, making it easier to learn and use. 3 prototypes are provided, while only 1 was provided in 1.0.0 due to syntax limitation. The requirements of facade are also updated. (feature suggested by @tian-lt)
  6. Added concept basic_facade and facade.

Minor changes including build system improvements are listed below.

Change Details

  • build tests when they are needed. by @tian-lt in #15
  • Add constexpr to pro::dispatch::operator() per spec by @mingxwa in #16
  • Fix requires and noexcept clause for make_proxy by @mingxwa in #17
  • CMake support: Install and export by @tian-lt in #18
  • CI pipeline listens to release branches by @tian-lt in #19
  • Update README wording by @mingxwa in #20
  • Update readme and add demo for cmake & vcpkg by @tian-lt in #21
  • Clang14 by @tian-lt in #31
  • Add const qualifier to proxy::invoke() by @mingxwa in #28
  • add ARCH_INDEPENDENT by @tian-lt in #32
  • Update clang from 14 to 15 by @mingxwa in #38
  • fix unittest in gcc13 by @coyorkdow in #40
  • Feature: Support overloads in dispatch definition by @mingxwa in #45
  • Add macros to simplify syntax of creating dispatches and facades by @mingxwa in #46
  • Revise pointer requirements by @mingxwa in #47
  • Revise the semantics of facade by @mingxwa in #48
  • Bug fix: Function pointer can't be used to create a proxy by @mingxwa in #50
  • Improve naming of proxy_pointer_constraints by @mingxwa in #52

New Contributors

Full Changelog: 1.0.0...2.0.0

Proxy 1.1.1 Release

26 Sep 09:39
Compare
Choose a tag to compare

@tian-lt Improved CMake toolchain configuration.

Proxy 1.1.0 Release

15 Sep 13:52
Compare
Choose a tag to compare

Updated implementation for P0957R9. Changes are:

  • Added constraints of pointer types that are eligible to proxy, requiring dereference from a const lvalue reference.
  • Updated the implementation of concept proxiable.
  • Added const qualifier to proxy::invoke().

Proxy 1.0.1 Release

25 Jun 05:56
Compare
Choose a tag to compare

@tian-lt Updated toolchain support including CMake and GitHub action to facilitate consumption from other projects.

proxy (2018.2.12 - 2022.6.15)

15 Jun 06:15
b0f3e8e
Compare
Choose a tag to compare
Pre-release

This release implements P0958R8 with some known issues mentioned in the spec. @mingxwa authored "proxy.h" and the unit tests. @tian-lt was the reviewer of all the P0957R8 implementation details and made the major contribution in setting up the build system including the pipelines.