Non-intercepted methods on a class proxy with target are now forwarded to the target (@stakx, #571)
Significant performance improvements with proxy type generation for interface proxies without target. Up until now, DynamicProxy generated a separate IInvocation implementation type for every single proxied method – it is now able to reuse a single predefined type in many cases, thereby reducing the total amount of dynamic type generation. (@stakx, #573)
Bugfixes
Generic method with differently named generic arguments to parent throws KeyNotFoundException (@stakx, #106)
Proxying certain [Serializable] classes produces proxy types that fail PEVerify test (@stakx, #367)
DynamicProxy generates two modules when proceeding from a class proxy's protected method to the target, causing an InvalidOperationException when saving the generated assembly to disk (@stakx, #569)
Removed support for Code Access Security (CAS). (@stakx, #502)
Removed support for Remoting. This library no longer defines any types deriving from MarshalByRefObject, and ProxyUtil.IsProxy (which used to recognize remoting/"transparent" proxies) now tests only for DynamicProxy proxies. (@stakx, #507)
The following public members have been removed:
Castle.Core.Internal.CollectionExtensions (class)
Castle.Core.Internal.Lock (class) along with all related types and methods
Castle.Core.Pair<,> (type). Use System.ValueTuple<,> or System.Tuple<,> instead.
all type members in Castle.DynamicProxy.ModuleScope that gave direct access to DynamicProxy's type cache and ModuleBuilders. Only SaveAssembly, LoadAssemblyIntoCache, and members supporting these two facilities are left public.
almost all types and type members in the Castle.DynamicProxy.* sub-namespaces, as most of them are intended for internal use only.
DynamicProxy's custom exception types have been replaced by standard BCL exceptions (where appropriate), and by a single DynamicProxyException type for internal DynamicProxy errors.
5.0.0-beta001
Full release notes will be available in the future.
Non-intercepted methods on a class proxy with target are now forwarded to the target (@stakx, #571)
Significant performance improvements with proxy type generation for interface proxies without target. Up until now, DynamicProxy generated a separate IInvocation implementation type for every single proxied method – it is now able to reuse a single predefined type in many cases, thereby reducing the total amount of dynamic type generation. (@stakx, #573)
Bugfixes:
Generic method with differently named generic arguments to parent throws KeyNotFoundException (@stakx, #106)
Proxying certain [Serializable] classes produces proxy types that fail PEVerify test (@stakx, #367)
DynamicProxy generates two modules when proceeding from a class proxy's protected method to the target, causing an InvalidOperationException when saving the generated assembly to disk (@stakx, #569)
Removed support for Code Access Security (CAS). (@stakx, #502)
Removed support for Remoting. This library no longer defines any types deriving from MarshalByRefObject, and ProxyUtil.IsProxy (which used to recognize remoting/"transparent" proxies) now tests only for DynamicProxy proxies. (@stakx, #507)
The following public members have been removed:
Castle.Core.Internal.CollectionExtensions (class)
Castle.Core.Internal.Lock (class) along with all related types and methods
Castle.Core.Pair<,> (type). Use System.ValueTuple<,> or System.Tuple<,> instead.
all type members in Castle.DynamicProxy.ModuleScope that gave direct access to DynamicProxy's type cache and ModuleBuilders. Only SaveAssembly, LoadAssemblyIntoCache, and members supporting these two facilities are left public.
almost all types and type members in the Castle.DynamicProxy.* sub-namespaces, as most of them are intended for internal use only.
DynamicProxy's custom exception types have been replaced by standard BCL exceptions (where appropriate), and by a single DynamicProxyException type for internal DynamicProxy errors.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps Castle.Core from 4.4.1 to 5.0.0.
Release notes
Sourced from Castle.Core's releases.
Changelog
Sourced from Castle.Core's changelog.
Commits
652a250
Update changelog773ed6b
Update changelog for 5.0.0 releasef49b72a
Readme: Update conditional compilation symbols51f4f92
Merge pull request #616 from Jevonius/add-net6-targets0076083
Switch to preprocessor directives to avoid need for System.Runtime.InteropSer...9da21a7
Switch SYSLIB0003 suppression to pragma rather than project-level2de4707
Update CHANGELOG and README to reflectnet6.0
change3e6e22d
Remove references of DOTNET462 as no longer used8641c5f
Update missed copyright header year for changed test file14264bc
UpdatePublicApiTestCase
platform filtering to use NUnit attributeDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)