Hot Door CORE License Agreement - Version 1.0 - January 27th, 2014
Hot Door CORE is Copyright 2012-2024 by Hot Door, Inc.
Hot Door CORE is written by Garrett Walbridge and Brendon Cheves.
The Adobe® Illustrator® SDK was used in the creation of Hot Door CORE.
Open SSL™ was used in the creation of Hot Door CORE
- This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/).
- This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).
- This product includes software written by Tim Hudson (tjh@cryptsoft.com).
Boost C++ libraries were used in the creation of Hot Door CORE.
Portions of the Hot Door libraries that CORE is based on were written by Leif Lundberg.
Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to build plug-ins using the Software subject to the following:
The plug-in about box, documentation, or license agreement must include the following acknowledgment: "This product was built using Hot Door CORE (http://hotdoorcore.com/)."
Plug-ins built using the Software may not be called "CORE" nor may "CORE" appear in their names without prior written permission.
The Software may not be redistributed in any form without prior written permission. Rather, the latest version should always be downloaded from http://hotdoorcore.com/.
THE SOFTWARE IS PROVIDED BY HOT DOOR, INC. "AS IS", WITHOUT WARRANTY OF ANY KIND. IN NO EVENT SHALL HOT DOOR, INC. OR ANY OF ITS EMPLOYEES OR SUBCONTRACTORS BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING IN ANY WAY FROM THE USE OF THE SOFTWARE.
0.8.2 release changelog:
- Compatibility with Illustrator 2024 (28)
- Dropped support for Illustrator CC 2019 and 2020 (23 and 24)
- Now compiled and linked against Boost 1.79.0
- Now compiled and linked against OpenSSL 1.1.1w
- All widgets feature improved focus/blur support
- All list-based widgets now support drag-and-drop reordering
- Various improvements to ComboBox widget
- Various minor improvements to PopupMenu and Flyout widgets
- Added centroid() method to PathArt class
- Improvements to annotated text, particularly with rotation
- Improvements to key down and key up handler performance
- Minor improvements to Illustrator native Preferences class
- Illustrator native undo/redo menu items can now be named
- Minor fixes for acquiring selected index of list-based widgets on Mac
- Minor improvements and fixes for current document artAtPoint() method
- Minor fixes for checkbox and radio button drawing
- Various minor light/dark mode fixes for widgets
- Various minor UI scaling fixes on Windows
Download Hot Door CORE 0.8.2 for macOS and Windows
0.8.1 release changelog:
- Compatibility with Illustrator 2023 (27)
- Minor optimization on Macs to use OS 10.15 for x86 and 11.0 for ARM in Illustrator 25.3, 26, and 27
- Now compiled and linked against OpenSSL 1.1.1s
- ArtColor class improvements
- ListView, ColumnView, HierarchicalView, and HierColumnView classes now support inline editing of values
- Fix for flyouts not updating properly when some entries are added or removed
- Key up monitoring (rather than just key down) now supported
- Minor fix on Mac for calling [NSApplication isActive] from a background thread
- Minor fix for ArtboardPoint rotation
- Added raw data accessor method to all hdi::core::Message subclasses
Download Hot Door CORE 0.8.1 for macOS and Windows
0.8.0 release changelog:
- Illustrator 25.3 and 26.0 compatibility, including Apple Silicon support on Macs
0.8.0 release notes:
Support for Illustrator 16 through 22 has been dropped - the difficulty in maintaining this many older versions was simply too high relative to the number of users on such versions, in combination with features in the later versions we were missing out on due to such prolonged backward compatibility.
All usage of the C++ std::auto_ptr class has been removed; std::unique_ptr is now used where appropriate and the vast majority of usages of raw pointers within e.g. std::vector containers has moved to std::shared_ptr. The end result here is much cleaner, more reliable, and more convenient memory management.
It is worth noting that on Mac we now have two options for creating plugins for Illustrator 25, based on changes Adobe made mid-stream in 25.3. If you link against the hdi_core static binary for 25.0, then your plugin will be compatible with all versions of Illustrator 25 on Mac but will be Intel only (i.e. it will only run on Apple Silicon Macs with Illustrator 25.3 under Rosetta 2 compatibility mode).
You can additionally/optionally link against the hdi_core static binary for 25.3, and your plugin will only be compatible with Illustrator 25.3 on Mac but will run natively on either Intel or Apple Silicon. It is not recommended to try running such a plugin binary in Illustrator 25.0-25.2 on an Intel Mac.
Download Hot Door CORE 0.8.0 for macOS and Windows
0.7.8 release changelog:
- Illustrator 25.2 compatibility
- Fix for some SDK UI-related calls crashing in AI24
- Minor fixes for column and hierarchical-column views on both platforms
Download Hot Door CORE 0.7.8 for macOS and Windows
0.7.7 release changelog:
- Full Illustrator 25.1 compatibility
- Tools to handle resource changes in Illustrator 25.1
- There are some changes to Illustrator as of 25.1 which require modifications to the build process for handling Adobe's PiPL resource on Mac. Namely, the PiPL resource is no longer read from the *.rsrc file that is compiled into your bundle; instead, it must be read from its own standalone binary file inside the bundle.
0.7.7 release notes:
We are now publicly releasing our own internal tool for simpler resource management on both Mac and Windows, named hdi_rezzer, which handles this situation more gracefully. It is included with hdi_core as of version 0.7.7, and you can find examples of its use in the sample projects that also come with hdi_core.
At a high level, hdi_rezzer allows you to describe your PiPL, PNG, and SVG resources with JSON files. It will take a JSON file as input, and will generate Mac *.r, Windows *.rc, C/C++ *.h, Adobe IDToFile.txt, and plugin.pipl files as output. The Mac *.r and Windows *.rc files are of course for resource compilation, the C/C++ *.h file is to define all the names and ID numbers of your resources for use in your C/C++ source code, and the Adobe IDToFile.txt and plugin.pipl files are of course for compatibility with Illustrator.
Download Hot Door CORE 0.7.7 for macOS and Windows
0.7.6 release changelog:
- This update just brings support for Illustrator 25
Download Hot Door CORE 0.7.6 for macOS and Windows
0.7.5 release changelog:
- Full Illustrator 24.2 and 24.3 compatibility
- Large canvas mode support
- Label rollover image fixes
- Linked panel show/dismiss fixes
- List-based widgets now support HiDPI images
Download Hot Door CORE 0.7.5 for macOS and Windows
0.7.4 release changelog:
- Illustrator 2020 (24.0) compatibility
- SVG image support in widgets
- Web views now support JavaScript execution
- Some widgets now support drag and drop
- Custom widgets now support text drawing
- Minor fixes for double-clicking some UI widgets
- Color picker bug fixes on Windows
- Web view fixes on Windows
- Fixes for nested Illustrator notifiers causing a crash
0.7.4 release notes:
There are a variety of internal changes to CORE with this release, which require some minor project changes for all consumers of our library:
• On all platforms, ensure the compiler #defines HDI_CORE_AIP_MODE
• On all platforms, ensure the function void hdi::core::pluginLoaded() is defined. This is called when Illustrator first loads the plugin into memory - you do not have to do anything in this function, but your project will not link without it.
• On all platforms, replace any references to hdicorePiPL.r with hdicoreaipPiPL.r
• On Mac, ensure the Xcode project setting "Strip Style" is set to "Non-Global Symbols"
• For macOS Catalina (10.15) compatibility, you will need to notarize your plugin file. Please refer to Apple's documentation on how to do this.
Download Hot Door CORE 0.7.4 for macOS and Windows
0.7.3 release changelog:
- Major fixes for running multiple hdi_core-based plugins at the same time (in the same Illustrator instance) on macOS 10.14 Mojave
- Minor performance improvements to internally reference counted classes
- Minor ListView fixes on Mac
0.7.3 release notes:
Due the fixes for macOS 10.14 in this release, we strongly recommended all consumers of the hdi_core library update to 0.7.3 as soon as possible. On Mac we also strongly recommend that all projects have the setting GCC_SYMBOLS_PRIVATE_EXTERN set to "Yes".
Download Hot Door CORE 0.7.3 for macOS and Windows
0.7.2 release changelog:
- Illustrator 23 (CC 2019) support
- Full support for scalable UI in Illustrator 23
- Iteration support in Preferences class
- Improvements to PopupMenu entries on Windows
- New DocumentView visibleBounds() method
- Various minor fixes for linked panels (i.e. sub-panels)
Download Hot Door CORE 0.7.2 for macOS and Windows
0.7.1 release changelog:
- Illustrator 22 (CC 2018) support
- Many improvements for HiDPI (i.e. "retina") displays on both platforms (this has caused a small number of function signature changes, mainly revolving around image-based widgets)
- New InternetPing class
- Improved error condition information for InternetGET and InternetPOST classes
- Improved methods and class for handling custom art (i.e. "plugin art")
- Improved slider appearance
- Added additional accessors to WidgetGroup class
- Added new cryptographic hash functions
- Added method to Art class to transform strokes
- Added flag accessor to ArtColor class
- Fixes for creating new documents in Illustrator 21
- Fixes for text fields in panels
- Fixes for combo boxes in linked panels
- Fixes for linked panels showing on wrong display on Mac
- Fixes for stepper callbacks on Mac
- Fixes for spacebar interacting with checkboxes and popup menus on Mac
- Fixes for image widgets not redrawing on Mac (when changing resource IDs)
- Fixes for text fields in modal dialogs on Windows
- Fixes for enter/escape key use in modal dialogs on Windows
- Fixes for widget tooltips on Windows
- Fixes for radio button images on Windows
- Fixes for list-based widgets on Windows not respecting threading limitations
- Visual Studio 2015 is now required on Windows (see additional notes below)
0.7.1 release notes:
Projects on Windows should require only very minor changes to work with the new VS 2015 requirements.
However, the following must be added to your Windows project configs:
• The toolset must be "Visual Studio 2015 - Windows XP" (v140_xp)
• The target platform version must be 8.1
• The following Windows libs must be linked against: uafxcw.lib, comctl32.lib, Comdlg32.lib, Winspool.lib, windowscodecs.lib, Gdiplus.lib, Wbemuuid.lib, Iphlpapi.lib, msimg32.lib, Wininet.lib, UxTheme.lib, Crypt32.lib
You can see examples of these configurations in any of the sample projects provided with hdi_core.
Download Hot Door CORE 0.7.1 for macOS and Windows
0.7.0 release changelog:
- The Windows UI now utilizes MFC, rather than win32, under the hood. This has greatly improved the performance, look, and feel of plugins on Windows. Some function signatures have changed due to this improvement, so watch for build errors/warnings in your projects.
- Support for Illustrator CS3, CS4, and CS5 has officially been dropped. These were deprecated almost 18 months ago (see the release notes for version 0.6.0 for more details). As far as I know, only the hdi::core:Tongueanel and hdi::core::Tool classes constructor signatures changed due to this.
- Introduced hdi::core::Widget::isCoreWidget() function, to aid in identifying our own widgets from platform widget pointers.
- Improved look and feel of UI in Illustrator CC 2017, as Adobe changed many small interface details in version 21.
- New Stepper class to support stepper (i.e. up-down) widgets in Illustrator.
- Support for value-changing event in ComboBox widgets.
- Support for acquiring platform drawing context in CustomWidget class.
- Support for ellipse drawing in CustomWidget class.
- Support for dashed lines in annotations.
- Fixes for double-click events on Checkbox and RadioButton widgets.
- Fixes for spot colors being applied to art sometimes causing a crash.
0.7.0 release notes:
Projects on Windows should require only very minor changes to work with the new MFC-based UI. Depending on your use cases, it is possible that none of the function signature changes will affect your code.
However, the following must be added to your Windows project configs:
• 32-bit Windows targets: A forced reference to only _PluginMain was required before, now an additional reference to _DllMain@12 is required too.
• 64-bit Windows targets: A forced reference to only PluginMain was required before, now an additional reference to DllMain is required too.
You can see examples of those symbol reference configurations in any of the sample projects provided with hdi_core.
Download Hot Door CORE 0.7.0 for macOS and Windows
0.6.3 release changelog:
- Support for Illustrator 21 (CC 2017)
- Support for custom user data in Registration class
- Fix for Windows dialogs sometimes causing bell to play upon tabbing
0.6.3 release notes:
Important note regarding ADM support:
We have officially deprecated support for Illustrator CS3, CS4, and CS5 (13, 14, and 15). Please see the release notes for CORE 0.6.0 for details.
Download Hot Door CORE 0.6.3 for macOS and Windows
0.6.2 release changelog:
- Support for Illustrator 20 (CC 2015.3)
- Radio button drawing improvements
- Art transformation improvements
- Font improvements
- Registration improvements
- ControlBar improvements when docked
- Hierarchical widget callback fixes
- Linked panel geometry fixes
0.6.2 release notes:
Important note regarding ADM support:
We have officially deprecated support for Illustrator CS3, CS4, and CS5 (13, 14, and 15). Please see the release notes for CORE 0.6.0 for details.
Download Hot Door CORE 0.6.2 for macOS and Windows
0.6.1 release changelog:
- New PathStylePref, StrokeStylePref, DashStylePref, and FillStylePref classes
- New DraggableDivider class
- Label class can now "link" to a given panel, like Illustrator does in many of its control bars
- Support for document-level undo and redo (only plugin-level was supported before)
- Support for pattern and symbol editing modes
- Support for constructing tools in the same group or set as another tool, based on its number
- Improvements to Preferences and Registration classes
- Improvements to Layer class
- Improvements to existing linked/placed art support
- Improvements to existing isolation mode support
- Improvements to ControlBar class
- HierarchicalView and HierarchicalColumnView entry improvements and fixes
- WidgetGroup fixes
- ComboBox fixes on Mac
- Workaround for Tools folder location bug introduced by Adobe in 19.2.1
0.6.1 release notes:
Important note regarding ADM support:
We have officially deprecated support for Illustrator CS3, CS4, and CS5 (13, 14, and 15). Please see the release notes for CORE 0.6.0 for details.
Download Hot Door CORE 0.6.1 for macOS and Windows
0.6.0 release changelog:
- New WebView class
- New UTF-8, UTF-16, and UTF-32 conversion functions
- Added support for mixed state checkboxes
- New polygon art drawing functions
- Many new constructors to create CORE-level objects from AI-level handles/refs
- CurrentDocument class improvements
- RadioButtonGroup class improvements
- Improvements to tool dragging detection
- Disabled UI scaling on Windows
- Fixes for flyout entry checkmarks
- HierarchicalView fixes on Mac
- UI font fixes on Mac
- Unicode string fixes on Windows
- Support for Ai 13, 14, and 15 is deprecated (see below)
0.6.0 release notes:
Important note regarding ADM support:
Our testing with Illustrator CS3, CS4, and CS5 (Ai 13, 14, and 15) in OS X 10.11 (El Capitan) indicates that these older versions of Illustrator are beginning to become unstable. For example, on our test machines, the UI for CS3 does not fully load on occasion, CS4 receives several errors on launch regarding Photoshop import/export plugins, and CS5 crashes on quit most of the time.
Attempting to build a CS3, CS4, or CS5 plugin against our binaries with Xcode 7 is problematic as well (the linker gives an error regarding "compact unwinding", among others; linking can be achieved with the "-no_compact_unwind" option, but crashing at runtime has been observed). While the binaries themselves should continue to function, Xcode 7 cannot be used to develop for these versions of Illustrator (you will need Xcode 4, 5, or 6).
As such, we are officially deprecating support for these versions of Illustrator. As they are the versions of Illustrator still using ADM for plugin UI, we will cease further development of ADM-related features and only fix major bugs regarding these versions. When CORE reaches version 0.7.0 we will officially drop support for these versions of Illustrator and stop compiling our binaries for them.
Download Hot Door CORE 0.6.0 for macOS and Windows
0.5.9 release changelog:
- Support for Adobe Illustrator 19 (CC 2015)
- Improved widget "ideal width" calculations for all platforms
- Flyout entries can now be disabled/enabled
- Additional flyout callbacks
- CustomWidget mouse location accessor
- Tool icon accessors
- Additional virtual key enum values
- Improvements to Date, Time, and DateTime classes
- Many class method signatures are improved for consistency/clarity
- Improved modal dialog z-order on Windows
- Improved pixel accuracy of placement of widgets in their window
- Fix for Layer class seg faults
- Fix for rollover effects on image-based widgets
- Various hierarchical view fixes on Windows
- Various text field fixes on Windows
Download Hot Door CORE 0.5.9 for macOS and Windows
0.5.8 release changelog:
- New ColumnView widget and supporting classes
- New HierarchicalColumnView widget and supporting classes
- Improvements to HierarchicalView widget and supporting classes
- New WidgetGroup class to simplify logical grouping of widgets
- Improvements to widget rollovers
- Many widgets now draw properly when disabled
- Preparation for future support of HiDPI image variants in widgets
- Added double-click support for some widgets
- Widget click callbacks now occur on mouse-up instead of mouse-down
- Widget tooltip fixes and improvements
- File save/open dialog support
- Added HSB support to ArtColor class
- Added pre- and post-callback variants to the Plugin class
- New clipboard manipulation functions (only text is supported for now)
Download Hot Door CORE 0.5.8 for macOS and Windows
0.5.7 release changelog:
- New Date, Time, DateTime, and Duration classes
- New FileFormat class and supporting methods
- Multiple callbacks now supported for individual notifiers
- Support for undo context types
- ColorWell class supports drawing of "none" colors
- RadioButtonGroup fixes on Mac
- InternetGET and InternetPOST fixes on Windows
- Tool group/set fixes
- Overloaded assignment operator fix for Flyout class
- Improvements to clip mask support in HitData class
- Improvements for STL containers
- Documentation improvements
Download Hot Door CORE 0.5.7 for macOS and Windows
0.5.6 release changelog:
- New floating dialog class for all platforms
- New InternetPOST class
- New BuiltinTool class
- New ai::Preferences class
- New MaskArt, MeshArt, PlacedArt, and RasterArt classes
- New EyeDropperTool class, for use with panels, control bars, and floating dialogs (functional on Mac, experimental on Windows)
- More complete text engine implementation
- More complete ArtStyle and LiveEffect implementation
- Better support for built-in menu groups
- Improved Cursor class
- Improved Font class
- Additional Art and ArtColor class methods
- Additional HitData class methods
- Additional Illustrator class methods
- Additional Plugin class members and methods
- DictionaryPref iteration
- Hidden tool support
- PathStyle fixes
- Panel size fixes for Illustrator 18.1
- Divider widget fixes on Mac
- General widget focus ring improvements on Mac
- Fixes for ComboBox, ListView, and PopupMenu widgets on Windows
- Documentation improvements
Download Hot Door CORE 0.5.6 for macOS and Windows
0.5.5 release changelog:
- New TextView widget
- New InternetGET class to replace HTTPClient and HTTPSClient
- Additional annotation support
- Mouse button detection function
- Right-click support for CustomWidget class
- Short-term font caching in Illustrator class for speeding up font-intensive operations
Download Hot Door CORE 0.5.5 for macOS and Windows
0.5.4 release changelog:
- Fixes for drawing issues with Box widgets in Illustrator 16 and above on Windows
- Fixes for resizing issues with ListView widgets in Illustrator 16 and above on Windows
- Improvements to alert dialogs in Illustrator 15 and below
- Internal memory management fixes for Annotators, Notifiers, and Timers
Download Hot Door CORE 0.5.4 for macOS and Windows
0.5.3 release changelog:
- ThirdPartyPlugin class for acquiring and messaging other plug-ins (along with the appropriate support methods)
- Support for general keypress monitoring and state acquistion
- Support for querying the keyboard layout
- Support for querying the OS version at runtime
- Support for annotation opacity changes in Illustrator 15 and above
- Improvements to Dispatcher class and internal message handling
- Panels are now fully resizable
- Labels and text fields can now be linked, such that clicking on a label focuses the text field
- Windows Widget drawing improvements to reduce flicker
- Slider bug fixes
Download Hot Door CORE 0.5.3 for macOS and Windows
0.5.2 release changelog:
- A new sample project for using annotations and basic tool events (mouse drag, mouse up, tracking, etc.)
- Improved documentation
- Bugfixes for base-64 encoding/decoding
Download Hot Door CORE 0.5.2 for macOS and Windows
0.5.1 release changelog:
- CORE now uses private globals for Illustrator suites, making it much easier for developers to acquire/release suites on their own. Prior to this version, a developer had to potentially change the name of their suite globals to match ours, and also had to check whether the suite had already been acquired. This is no longer necessary.
- Flyout fixes and improvements. A bug was resolved that prevented flyouts from showing, and flyout entries can now have their checkmark manipulated.
- The annotation context can now be accessed during an annotation callback from the hdi::core::AnnotatorMessage class.
- Text field insertion points and selection ranges can now be manipulated.
- Some static library files have had their size reduced.
Download Hot Door CORE 0.5.1 for macOS and Windows
0.5.0 release changelog:
- This is the initial release of Hot Door CORE
Download Hot Door CORE 0.5.0 for macOS and Windows