Jump to the main content

2019

v2.8.5.0

  • 2019/12/26
    • Natasha enhances anti-solving classes.

    • The engine increases the API to receive the syntax tree.

    • Start the project [动态插件编译] supports the ability to change some plug-ins at runtime and recompile the plug-ins.


v2.8.0.0

  • 2019/12/25
    • Natasha log operation class changed its name to NError s> NErrorLog / NSucceed s> NSucceedLog / NWarning s> NWarningLog.

    • Opening up the DomainManagement.Clear method makes it easy to manually clear uninstalled domains (default automatic management).

    • Enhance and fix the replacement rules for CS0234, identifying the parent namespace and removing the parent-child namespace.

    • Minor optimizations are made within the engine syntax tree option.


v2.7.6.0

  • 2019/12/17
    • The Natasha method operation class adds override and NewHidden methods.

    • NAssembly adds three ways to create domains.

    • Remove the proxy action class to the NCaller project.


v2.7.3.0

  • 2019/12/17
    • Natasha non-system domain-generated operations are cached for reference removal/domain offloading and other operations.

    • Type / Delegate / Assembly can use the RemoveReferences / DisposeDomain method for reference removal or uninstall domain operations.


v2.7.0.1

  • 2019/12/16
    • The Natasha.Core project is responsible for the original compiled APIs and domain operations.

    • The Natasha.Reverser project is responsible for runtime information inversion operations.

    • The Natasha project references Natasha.Core and Natasha.Reverser and creates a template/Builder/Operator dynamic build three-piece set to facilitate API for external use.


v2.6.1.0

  • 2019/12/07
    • Remove NFunc / RFunc / NAction / RAction / NDelegateOperator / RDelegateOperator / String Extension Method / Delegate Extension Method.

    • Change the Delete uninstall method to DisposeDomain and AddInCache to the internal method is not open to the public.

    • The three static methods for creating instances (Create(string)/Create/Random()) add a second parameter that specifies whether to compile as a file, with false by default.

    • Add the subclass of NDomain / OopBuilder / subclass of OnceMethodBuilder, and add static properties as instances of the system domain, the Create() method.


v2.5.4.0

  • 2019/12/07
    • Add CS0234 and CS0246 error auto-fix mechanisms to automatically cull and recompile namespaces when they are invalid.

    • Add the replacement logic for CS0104 and use the forward namespace by default when ambiguity is not resolved manually.

    • The stand-alone/random domain type/structure/enumeration/interface created by NDomain will support recycling.


v2.5.0.0

  • 2019/12/06
    • Operator removes the New /RandomDomian/MainDomain static property.

    • Operator and the N-Series API add static creation methods, including create(string)/Create/Random() three creation instances that specify the domain to which they belong at the same time.

    • Increases namespace overlay of the portal assembly.


v2.4.0.0

  • 2019/12/05
    • Remove concurresion counts, increase delegate operation extensions, and now the delegates generated by Fake/FastMethodOperator.Random and RAction/RFunc are cached, and these delegates can call Delete directly for unloading.

    • By default, all Using overrides compile code, CS0104Helper is used to handle ambiguity issues when ambiguous references occur, and templates add the UseCustomerUsing method to prevent Using override at the expense of bringing the necessary Using references precisely into the build.

    • The compilation engine retrys the policy 1 time when an ambiguous reference occurs.


v2.2.0.0

  • 2019/11/28
    • Add a four-level operation API that can be done using the DomainOperator operation class
    • Change the MethodBody and OopBody to append modes in the template
    • Templates support randomly named functions

v2.1.2.0

  • 2019/11/27
    • OOP templates are built to add property templates
    • NAssembly gets Fake/FastMethodOperator will belong to the same domain
    • Add the NDomain operation class to chain call the Create method to create a domain and continue to create methods such as Func<> / AsyncFun<> / UnsafeFunc / AsyncUnsafeFunc / Action<> / Asyncion<> / UnsafeAction<> / AsyncUnsafeAction<>

v2.1.1.0

  • 2019/11/26
    • Change Operator.New to Operator.MainDomain
    • Distinguish NAction/NFunc/NDelegateOperator as the default domain and RAction/RFunc/RDelegateOperator as random domain API
    • Increase the random domain latency recycling mechanism and use DomainManagment.ConcurrentCount to count random domains.
    • OopBuider adds the UseRandomDomain function to support random domains.

v2.0.5.0

  • 2019/10/20
    • Enhances the pass-through type of encapsulated classes such as NAction/NFunc/DelegateOperator, supporting
    • Enhance Natasha's Using method resolution

v2.0.4.0

  • 2019/10/15
    • Enhance the build information operation class

v2.0.2.1

  • 2019/10/11
    • The repair plug-in relies on loading

v2.0.2.0

  • 2019/09/29
    • Enhanced error log resolution
    • Enhanced anti-solver functionality to support internal class inversion
  • 2019/09/28
    • Recover the dynamic compilation code to the dll file and carry the pdb file
    • Increase unmanaged dll dependency resolution for the default domain

v2.0.0.2

  • 2019/09/27
    • Fix plug-in dependencies for the default domain
    • Strengthen concurring control within the domain

v2.0.0.0

  • 2019/09/13
    • Enhance type acquisition to simplify script logic
  • 2019/09/07
    • Enhanced namespace operations, Delegate supports a variety of variable parameter types, including Type, String, and Assembly
    • Add some classes to compile UT tests
  • 2019/09/05
    • Add support for the template class properties API, template. Public/PublicMember/Private/PrivateMember et al.
  • 2019/09/02
    • Optimizing plug-ins depends on how they load.
  • 2019/08/30
    • Simplify the syntax tree detection process.
  • 2019/08/24
    • The compilation layer is incorporated into the assembly operations layer.
    • Merge assembly error logs.
  • 2019/08/23
    • Shared/custom domain collaboration is supported.
    • Dynamic type overrides are supported.
    • Program domain lock operations are supported.
  • 2019/08/22
    • Fix the available name deflator.
    • The Exception field that the log is passed to the compiler.
    • Optimize log depth and write rules.
  • 2019/08/21
    • Refactor the engine and incorporate it into the IComplier abstract class.
    • Add NClass/NEnum/NInterface/NStruct operation class.
    • All wrappers use the public access level by default.
    • Add multidimensional array inversion.
    • Add jagged array inversion.
  • 2019/08/20
    • Unified stream load mode.
    • The Dispose method resolves the issue of assembly context unloading.
    • Engine locking mode resolves the problem of concurrent duplicate loading of assemblies.
  • 2019/08/17
    • Core 3.0 version is compatible.
    • Added Core3.0 version of assembly management to support compilation environment isolation.

v1.3.6.0

  • 2019/08/16
    • Add an enumeration build and compilation method.
  • 2019/08/14
    • The log adds a level 1 "time" directory.

v1.3.4.0

  • 2019/08/11
    • Supports NFunc static methods for building dynamic scripts.
    • Supports NAction static methods for building dynamic scripts.

v1.3.2.0

  • 2019/08/09
    • Supports compilation of unsafe methods.
    • The function template adds the Unsafe method.

v1.3.0.0

  • 2019/08/07
    • Sort the namespace.
    • Add NewClass\NewStruct\NewInterface static operation class.
    • Add the NewMethod static operation class.
    • Increase the inheritance implementation of interfaces, abstract classes, virtual methods, and ordinary classes.

v1.2.1.0

  • 2019/08/06
    • Discarding RuntimeComplier instead of OopComplier, which has exception capture capabilities, is recommended.
    • Add the Complier.LoadFile method and add dll before GetClassType/GetStructType.GetInterfaceType, so that the compilation script supports references to the content in dll.

v1.2.0.0

  • 2019/08/05
    • Add string extension method, FastOperator.
    • Modify class operations to Oop operations, such as ClassBuilder -> OopBuilder.
    • Optimize the template structure.
    • Oop templates support classes, structures, and interfaces in a variety of ways.
    • Add a field template.
    • FastMethodOperator's Complie<>method adds smart parameters/return value detection/complements.

v1.1.0.0

  • 2019/08/03
    • Distinguish OS separators
    • Increase exception capture
    • Optimize the engine structure
    • Enhance the implementation of the compiler
    • Change The Solution To Complier

v1.0.4.0

  • 2019/08/02
    • Enhance the initialization template
    • Add an asynchronous approach to building
    • The default language compilation option
  • 2019/08/01
    • Method Asynchronous Restore
    • The specification template namespace
    • Add annotation builds

v0.8.2.0

  • 2019/07/31
    • Enhance the log
    • Add class template recompiling
    • Fix clone extension types

v0.8.0.0

  • 2019/07/28
    • Runtime compilation zone classification and structure

v0.7.9.0

  • 2019/07/27
    • Add script formatting, just like VS formatting
    • Remove concurrent queues in a normal log write manner
  • 2019/07/24
    • Class building allows you to switch to a structure by method
    • The engine supports structure building

v0.7.5.1

  • 2019/07/18
    • Separate dynamic call functionality to the NCaller project

v0.7.5.0

  • 2019/07/17
    • Enhance the class iterator
    • Enhanced deep cloning
  • 2019/07/16
    • Fix dynamic file load BUGs
    • Fixes an array namespace problem with the clone module dictionary
    • Increase log time logging
    • Increase the log initialization directory feature

v0.7.3.2

  • 2019/07/12
    • Remove the auto-formatting feature
  • 2019/07/04
    • Trim the Natasha architecture and build in positive order