Index: doc/Announce2.1.0 =================================================================== diff -u -r388add12b134ee169616fdaa13f004e977c6017a -r2620fbe271f567b2f1f64bb3d0304585d3f0f5ee --- doc/Announce2.1.0 (.../Announce2.1.0) (revision 388add12b134ee169616fdaa13f004e977c6017a) +++ doc/Announce2.1.0 (.../Announce2.1.0) (revision 2620fbe271f567b2f1f64bb3d0304585d3f0f5ee) @@ -11,15 +11,16 @@ (Windows 2012 Server: VS15 & MSVC 19, MinGW). Diff stats since 2.0.0: - 185 files changed, 33023 insertions(+), 17848 deletions(-) + Major changes relative to 2.0.0 are: - Improved debugging/tracing/profiling support (NSF) - Deprecated and debug modes for NSF procs and methods (NSF, NX, XOTcl2) - Script-level access to NSF parameter/argument parser (NSF). - Slot-trace reform (NX, XOTcl2) +- Updated MongoDB interface to the newest C-driver - Improved scripted shells (e.g., nxsh, xotclsh) New Features @@ -41,7 +42,7 @@ A debug-enabled NSF proc or method will be reported on entering and exiting the proc and method (similar to a traced proc/ method incl. a time probe; see above): - + % nsf::proc -debug foo {} {return 123} % foo Debug: call(1) - foo @@ -54,14 +55,14 @@ To actively manage API evolution, NSF procs and methods can be marked "deprecated". Using deprecated procs/ methods will result in a warning: - + % nsf::proc -deprecated foo {} {;} % foo Warning: *** proc foo is deprecated. The warning can be indirected at the script level by (re-)defining a proc "::nsf::deprecated". - + + NSF procs and methods can be profiled (and optionally traced) when profiling support is configured during compilation @@ -71,7 +72,7 @@ nsf::__profile_trace -enable /bool/ ?-verbose /bool/? nsf::__profile_get - nsf::__profile_clear + nsf::__profile_clear When profiling is enabled, the profiling data is kept in memory and can be obtained via "nsf::__profile_get" in form of a list @@ -89,7 +90,7 @@ checkers. See https://next-scripting.org/2.1.0/doc/nx/tutorial/index1#_parameters for the details. - + The command ::nsf::parseargs /paramspec/ /arglist/ @@ -129,7 +130,7 @@ serializer to map the per-object forwarder when different target objects are specified. - + New option for callstack introspection: "nsf::current + + New option for call-stack introspection: "nsf::current level". It returns the stack level of the currently executing NSF method (like "info level"), or an empty string outside of an NSF context. @@ -169,7 +170,7 @@ /obj/ object property|variable ?-trace set|get|default? ... /cls/ property|variable ?-trace set|get|default? ... - + See the Object and Class manpages for details. This supersedes the experimental interface available in XOTcl: "initcmd", "valuecmd" and "valuechangedcmd". @@ -213,12 +214,7 @@ /cls/ instproc -returns /method/ ... /obj/ proc -returns /method/ ... -- Tcl 8.7: - Preliminary support for a future Tcl 8.7 (as of Dec 2, - 2016; commit 71fa1f9c91). NSF compiles under 8.7a0 and its - regression tests execute successfully. - - Shells: * There is now an improved and packaged shell implementation: @@ -236,6 +232,28 @@ * Shell tests were added (shells.test). + +- MongoDB interface upgrade: + + * Upgraded MongoDB and drivers to + mongodb-c-driver 1.5.1, libbson 1.5.1 and MongoDB v3.4.0 + + * The upstream mongodb-c-driver has deprecated the old OP_QUERY syntax + with $-modifiers and old names like $orderby and $query, which will + be removed from the driver. The new interface is more in the mongodb + style, many former parameters (e.g. -limit, -skip, -project, -sort) + went to the new "-opts" argument. + + mongo::collection::query /collection/ /filter/ ?-opts /opts/? + mongo::cursor::find /collection/ /filter/ ?-opts /opts/? + + See the begin of nsf-mongo.test file for examples for queries + with the old and new interface. The high level interface + for nx::Object is unchanged. + + * Support for new binary type "decimal128" + + - Maintenance & bug fixes: * Tcl command resolvers and command literals: @@ -272,6 +290,12 @@ applications (NaviServer). Improvements and fixes relate to "info" methods and forwarders. + * Tcl 8.7: + + Preliminary support for a future Tcl 8.7 (as of Dec 2, 2016; + commit 71fa1f9c91). NSF compiles under 8.7a0 and its regression + tests execute successfully. + * Misc (esp. NSF/C): + Refactoring: There is now a common infrastructure for @@ -294,6 +318,9 @@ enum types are used in generated function signatures and the respective control structures (switch). + * Extended regression test suite: + The test suite contains for Tcl 8.6.6 5847 tests + - Packaging & distribution: * Updated TEA to 3.10