All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added a new CreatePyModule() Excel function to create modules from text.
- Fixed a missing acquisition of the GIL while analyzing modules (part of the function registration process).
- Include the function name in the object cache keys generated by RTD functions.
- Added support for remote module imports
- Added support for VBA event handling, Application.OnTime and Application.OnKey methods.
- Added a new function ClearCacheItem() to remove an item from the object cache.
- Added support for Python 3.11
- Updated Python.Net to 3.0.1
- Updated LicenseSpring SDK to 7.10
- Updated NLog to 5.0.5
- Fixed a problem initialising Python 3.7, this was a result of the platform module patch added in 2.0.4.
- pandas timestamps and numpy datetime64 types are now treated as dates when returned from functions.
- Null values are filtered out of ranges of cached objects.
- The CreateRange() utility function now works with 2d ranges. The results can be passed as dictionary inputs.
- Added support for Python dictionaries. Dictionaries can be passed as function arguments and returned as function results. Dictionaries can be created from two columns in Excel.
- Python classes are now registered as Excel functions. Objects can be created directly within Excel.
- Python data classes are also supported and can be created directly within Excel.
- Python enums have limited support, enums defined within registered modules are recognised and the enum text can be passed to functions that expect enums.
- Added new utility functions: GetAttr and GetItem
- Fixed a reference counting bug when passing lists of cached objects
- The utility function ViewPyObject() supports more data types including datetimes and lists.
- Fixed a bug introduced in 2.0.1 where boolean results were returned as doubles.
- Patched the Python platform module's use of cmd as this is seen as an exploit by some antivirus vendors.
- Lists of datetimes can now be passed from Excel, they are correctly parsed.
- Fixed a bug so the Excel COM object functionality is only imported when used. This was causing the bundled Python to fail as it does not contain pythoncom.
- Enable access to the Excel COM object via the new XLSLIM_COMAPPFUNC global. Any functions accessing the global are registered as macro functions.
- New utility function XlSlimVersion() to return the xlSlim version to Excel
- Fixed a bug with type hinted functions returning lists with numpy floats.
- Fixed the setting of sys.prefix and sys.exec_prefix so the site module is correctly processed.
- Support for numpy floats (np.float16, np.float32, np.float64). These can now be returned from Python functions and used in type hints.
- Load user modules from file rather than text, this enables debugging.
- Python iterator classes and generator functions (async and regular) can be registered and then stream data to Excel via the RTD(..) internals
- Refactored the Python object cacheing
- Updated MessagePack to 2.4.35
- Updated LicenseSpring SDK to 7.8
- Updated Python.Net to 3.0.0rc4
- Python functions that return None are handled better, an empty string is sent to Excel
- Add the current Python module location to the sys.path
- Python logs use the correct module name
- Fixed the log sizing
- Reverted removal of binding redirects in the app.config files from v.1.0.2
- Can specify additional Python module search paths when registering modules
- Can specify additional Windows DLL search paths when registering modules
- Can control which functions are imported from a module and have a different function name in Excel
- Can add PrefixBuiltInFunctions to the appSettings in xlSlim64.xll.config file to prefix builtin function names
- Cleaned up the app.config files
- Removed unnecessary XML and config files from installation
[1.0.1] - 2022-06-23
- Added 3rd party software licenses file.
- Added this change log
- Lowered the default logging levels to be INFO, was DEBUG
- Configured all logs to be rolling logs
- Renamed the background process log from addinlog.txt to xlslim-subproc.log
- Renamed the Excel add-in log from addinlog.txt to xlslim-addin.log
[1.0.0] - 2022-06-16
- Initial public release made available at https://www.xlslim.com