Releases: XpressAI/xircuits
v1.8.1
Highlights
✨ 🐛 Improved Node Reloading Functionality and Bug Fixes in #251
- Node reloading now preserves link points.
- Multiple node selections can now be reloaded.
- 'Reload All' button added on the toolbar.
- Fixed node duplication on reload bug.
- Error popout added for components that does not exist on reload.
✨ 🐛 Enhancing Copy-Paste Functionality and Keyboard Event in #253
- Prevented multiple firing of keyboard events across multiple canvas tabs.
- Enabled spawning on mouse coordinates and cross-canvas paste.
- Enabled cut-copy-pasting from keyboard shortcuts.
- Enabled links and link points for cut-copy-pasting.
Bug Fixes
- 🐛 Fix Literal Integer and String Type Check in #249
- 🐛 Update xircuits-components to fetch from local in #252
Other
- 🔗 Reduce Resource Consumption for Link Animation in #250
Full Changelog: v1.8.0...v1.8.1
v1.8.0
We're excited to announce the release of Xircuits v1.8.0, which brings several enhancements and bug fixes to improve your Xircuits experience. This update from the 1.7.0 release includes automatic initialization of In/OutArgs, a new Compile Error Handler, and fixes for Literal List and Dict compile issues. We've also integrated an external XAI library with an installation command.
The display of long strings and canvas size effects on literal strings has been improved, and we've added support for multiple types of ports and input types.
We're also introducing new component libraries, including OpenAI, GPT Agent Toolkit, Slack and Discord! Lastly, we've added literal data validation to prevent compilation breaks and a new Literal Secret Component. We would like to extend a warm welcome to our new contributor @romina1601, who made their first contribution in this release.
What's Changed
Breaking Changes:
-
We've updated the way you initialize the In/OutArgs so it's automatic. If your ports are all None / empty() ports, you can remove it all together and let Xircuits auto-init it for you.
Code
Previous
@xai_component class SaveTorchModelState(Component): model: InCompArg[nn.Module] model_path: InArg[str] def __init__(self): self.done = False self.model = InCompArg(None) self.model_path = InArg(None) def execute(self,ctx) -> None: # execution code
Updated
@xai_component class SaveTorchModelState(Component): model: InCompArg[nn.Module] model_path: InArg[str] def execute(self,ctx) -> None: # execution code
-
If you need to init a value, add
super().__init__()
, remove the empty ports, then update the value like this:Code
Previous
def __init__(self): self.model_in = InArg.empty() self.loss_in = InArg.empty() self.learning_rate = InArg(1e-3) self.optimizer_in = InArg.empty() self.should_flatten = InArg(False) self.model_config = OutArg.empty() self.loss_fn = OutArg.empty() self.optimizer = OutArg.empty()
Updated
def __init__(self): super().__init__() self.learning_rate.value = 1e-3 self.should_flatten.value = False
- We've removed the old debugger to prepare for the new one. For this one, all you need to do is update your
xai_components/base.py
to the new one. You can also remove all theself.done
from your component codes.
Xircuits Core Features:
- Make initializing In/OutArgs automatic. by @wmeddie in #223
- 🔔 Compile Fail Handler by @MFA-X-AI in #224
- ⚡ Pull external XAI library and install cmd by @MFA-X-AI in #226
- 💾 Re-arrange the main Toolbar by @mansouralawi in #228
- Update Long String Overflow Display by @MFA-X-AI in #229
- Align the text for Triangle ports. by @wmeddie in #233
- 🔢 Support Multiple Types Port by @mansouralawi in #231
- Make input ports support multiple input types by @romina1601 in #201
- Fix for multi-triangle components. by @wmeddie in #234
- Remove unused code by @treo in #237
- 🧹 Remove unused debugger code from component libraries by @MFA-X-AI in #238
- ⚡ make output panel auto-scroll and spawn on the right by @MFA-X-AI in #241
- 🗝️ Add Literal Secret Component by @MFA-X-AI in #245
Component Library
- 📖 OpenAI Component Library by @MFA-X-AI in #239
- 📖 GPT Agent Toolkit Component Library by @MFA-X-AI in #240
- Add Slack Connector Components Library by @mansouralawi in #243
- [xai-rpa] Add mouse clicking and hover components by @yuenherny in #236
- 📖 Discord Component Library by @MFA-X-AI in #246
Bug Fixes:
- 🐛 Fix Literal List and Dict compile by @MFA-X-AI in #225
- 🔤 Fix Canvas Size Effect on Literal String by @mansouralawi in #232
- 🐛 Fix Action Panel Spawn Location by @mansouralawi in #235
- 🐛 Literal Data Validation to Prevent Compilation Breaks by @MFA-X-AI in #244
Other
- Bump webpack from 5.67.0 to 5.76.2 by @dependabot in #227
New Contributors
- @romina1601 made their first contribution in #201
Full Changelog: v1.7.0...v1.8.0
v1.7.1
What's Changed
Highlight
✨ Make initializing In/OutArgs automatic. by @wmeddie in #223
This PR simplifies component creation by using Python's annotations to auto-initialize InArg/OutArg arguments. Now, init functions are only required for setting default values. Say goodbye to repetitive and tedious typing when creating components!
Other New Features
- 🔔 Compile Fail Handler by @MFA-X-AI in #224
- ⚡ Pull external XAI library and install cmd by @MFA-X-AI in #226
Bug Fixes:
Other:
- Bump webpack from 5.67.0 to 5.76.2 by @dependabot in #227
Full Changelog: v1.7.0...v1.7.1
v1.7.0
It's been a few months since the last official update, but we're excited to finally release Xircuits 1.7! This release finally merges #193 which implements branch components as well as loop components. You can now create crazier workflows with do
or if
like logic.
We also have refactored our compiler to be python-based. Users can now compile .xircuits workflows outside Jupyterlab using xircuits-compile
!
Finally we're also happy to add more component libraries to the collection - RPA, Streamlit, as well as RabbitMQ, and MQTT!
What's Changed
Xircuits Core Features:
- ✨Enable branching component by @AdrySky in #193
- Add concat component and add typing. by @wmeddie in #202
- Add streamlit components and add ability to run via Remote. by @wmeddie in #206
- Update General Component by @mansouralawi in #207
- Update typing to match current usage. by @wmeddie in #208
- New compiler by @treo in #209
- 🔧 Update Xircuits Config Init by @MFA-X-AI in #219
Component Libraries:
- Extend Xircuits to include RPA features by @yuenherny in #203 #204
- Add layer definition for sequential models in pytorch component library. by @wmeddie in #205
- 📖 XAI Learning -> XAI Tensorflow Keras by @MFA-X-AI in #217
Workflows:
- 📖 / 🐛 XAI Spark Examples Update by @MFA-X-AI in #218
▶️ Controlflow Example Workflows by @MFA-X-AI in #220
Bug Fixes:
- 🐛 Fix compulsory inPort args in new compiler by @MFA-X-AI in #211
- 🐛 Fix Save and compile run from not compiling correctly by @MFA-X-AI in #215
Others:
- Bump loader-utils from 1.4.0 to 1.4.2 by @dependabot in #198
- Bump minimatch from 3.0.4 to 3.0.8 by @dependabot in #197
- Bump jsonwebtoken and verdaccio by @dependabot in #214
- Bump http-cache-semantics from 4.1.0 to 4.1.1 by @dependabot in #213
- Bump json5 from 1.0.1 to 1.0.2 by @dependabot in #212
- Bump got and @jupyterlab/builder by @dependabot in #216
New Contributors
- @yuenherny made their first contribution in #203
Full Changelog: v1.6.1...v1.7.0
Upcoming Updates
We're planning on refactoring more of our core features, including merging #200 and #201. More Xircuits charging your way!
v1.6.1
v1.6.0
Xircuits Project Template Release
With the Xircuits 1.6 update, we are excited to showcase the Xircuits Project Templates.
A Xircuits template is a project repository that utilizes Xircuits as its engine. Unlike Xircuits component libraries which are framework focused, a Xircuits project template is more focused on use case implementation.
The following are some open source Xircuits template projects by our developers and open source contributors.
For more information, checkout our documentation on how to use Xircuits project templates or how to create your own project from our template.
What's Changed
- 🎨 Truncate long strings by @AdrySky in #190
- 🐛Fix links not rendering for unopened xircuits tab by @AdrySky in #191
- 🐛 Fix Extra Ports for Start and Finish Nodes by @MFA-X-AI in #192
Full Changelog: v1.5.1...v1.6.0
v1.5.1
v1.5.0
What's Changed
Xircuits Core Features:
- ⚡️Open node's script at specific line by @AdrySky in #160
- ⚡️Compatibility with python 3.8 and above versions by @mansouralawi in #161
- 🎨 Replace window prompt() with dialog for Literal and Hyperparameter nodes by @AdrySky in #167
- ✨Add toolbar dropdown to do remote run options by @AdrySky in #164
- ✨Able save points on link and add listener when moving node by @AdrySky in #165
- ⚡️Optimize xircuits workflow save file by @AdrySky in #170
- ✨Render python component descriptions as markdown by @AdrySky in #171
- 🎨Update port error tooltip to display expected type. Add timer and default port type symbols. by @AdrySky in #173
- ⚡ Enable Dynamic Component Library Installation from Wheel by @MFA-X-AI in #181
Component Libraries:
- 📖 Quick Start Pytorch Components & Workflows by @MFA-X-AI in #177
- 📖 Library Component Descriptions Update by @MFA-X-AI in #180
- Transfer learning support with tensorflow keras models and tensorflow datasets by @yusufraji in #176
Bug Fixes:
- ✏️ typo fix for pycaret component library by @annabelle1217 in #157
- 🐛Fix adding node via link by @AdrySky in #162
- 🐛Fix comment component not rendering the content by @AdrySky in #166
- 🐛Fix nodes being de-selected due to dirty state by @AdrySky in #168
- 🐛Fix context menu and components panel spawn coordinates by @AdrySky in #169
- 🐛Fix node position changes by @AdrySky in #174
- 🐛Update spawn point when component panel is open by @AdrySky in #179
Others:
- Bump eventsource from 1.1.0 to 1.1.1 by @dependabot in #163
- Bump moment from 2.29.2 to 2.29.4 by @dependabot in #172
- Bump terser from 5.10.0 to 5.14.2 by @dependabot in #178
Full Changelog: v1.4.0...v1.5.0
v1.4.0
What's Changed
- ✨Add component that enable to add import by @AdrySky in #136
- 🐛Fix component panel auto-scroll back to top. by @AdrySky in #143
- ♻️ Refactor requirements.txt by @MFA-X-AI in #140
- ✨Add rendering latest node option by @AdrySky in #141
- 📉 Pycaret Regression Components + Examples by @mansouralawi in #138
- 🕵🏻 Pycaret Anomaly Detection Components + Examples by @mansouralawi in #139
- Bump minimist from 1.2.5 to 1.2.6 by @dependabot in #145
- 🧱 Pycaret Clustering Components + Examples by @mansouralawi in #142
- 🔡 Pycaret NLP Components + Examples by @mansouralawi in #144
- 🎨Add UI for port type by @AdrySky in #146
- ✨Allow multiple link for port with string, list and dict type by @AdrySky in #137
- Bump moment from 2.29.1 to 2.29.2 by @dependabot in #147
- ♻️ Refactor Component Libraries as Submodules by @MFA-X-AI in #148
- ✨ Enable Arg Parsing in Xircuits Entry Point by @MFA-X-AI in #149
- ✨Add Comment Component by @AdrySky in #150
- ✨ Xircuits Entry Handler for Components + Submodule Components Download by @MFA-X-AI in #152
- 🐛Fix same type port cannot linked by @AdrySky in #155
- ⚡️Link obvious port by @AdrySky in #153
- 🎨Update toolbar button and switch context menu shortcut key by @AdrySky in #156
- 🐛Skip any type check of outport by @AdrySky in #154
- ✨Add Component's Description Tooltip by @AdrySky in #151
Full Changelog: v1.3.0...v1.4.0
v1.3.0
What's Changed
- ✨Remember last input of added arguments for spark submit by @AdrySky in #116
- Don't compile when doing spark submit by @AdrySky in #117
- 🎨Create optional python compiler code generator by @AdrySky in #118
- 🎨Add string msg when running xircuits by @AdrySky in #119
- 📖 xai lib utils zip component by @MFA-X-AI in #120
- 🐛Skip category when error occurred during components parsing by @AdrySky in #123
- ✨Enable to do pip installation in different version by @AdrySky in #122
- Bump minimist from 1.2.5 to 1.2.6 by @dependabot in #124
- 💥Dropped link to add node and automatically connect its link via components panel by @AdrySky in #121
- 🐛 Fix Xircuits start in Linux by @MFA-X-AI in #125
- ✨Add context menu option to open node's script by @AdrySky in #127
- ♻️Refactor customDeserializeModel by @AdrySky in #128
- 🐛Fix any type input doesn't accept literal by @AdrySky in #130
- ✨ Pull components from repo by @MFA-X-AI in #131
- ⚡️Dynamic positioning of panel from going off canvas by @AdrySky in #129
- 🎨Create custom and triangle link animation by @AdrySky in #134
- ✨ Add console command to download examples + datasets by @MFA-X-AI in #132
- 🪨 Pycaret classification components + examples by @mansouralawi in #133
- Bump jupyter-server from 1.10.2 to 1.15.4 by @dependabot in #135
New Contributors
- @mansouralawi made their first contribution in #133
Full Changelog: v1.2.0...v1.3.0