Skip to content

Releases: XpressAI/xircuits

v1.9.5

07 Feb 08:40

Choose a tag to compare

This release primarily targets backporting the recent features into the Jupyterlab 3 version.

What's Changed

  • 🐛 Fix Open Component Script Features by @MFA-X-AI in #279
  • 🧩 Execute Jupyter Notebook Component by @MFA-X-AI in #280
  • Fahreza/context menu update by @MFA-X-AI in #281
  • ✨ Allow Users to Set Component Library Configurations by @MFA-X-AI in #282
  • 🐛 / ✨ Enhance Dynaport Logic and Data Structure Handling for Dynamic Component References by @MFA-X-AI in #283
  • 📚 Migrate Component Libraries to Dedicated Repositories by @MFA-X-AI in #284
  • Ignore hidden files when parsing for components by @treo in #286
  • ✨ Add Core Workflow Examples by @MFA-X-AI in #287

Full Changelog: v1.9.1...v1.9.5

v1.9.4

04 Feb 08:49

Choose a tag to compare

This release primarily fixes the install bug mentioned in #285
as well as backport component changes in the recent updates.

Full Changelog: v1.9.3...v1.9.4

v1.9.3

01 Feb 18:09

Choose a tag to compare

Full Changelog: v1.9.2...v1.9.3

v1.9.2

01 Feb 17:29

Choose a tag to compare

Full Changelog: v1.9.1...v1.9.2

v1.9.1

07 Nov 03:55

Choose a tag to compare

What's Changed

Full Changelog: v1.9.0...v1.9.1

v1.9.0

30 Sep 17:46

Choose a tag to compare

We're excited to announce Xircuits v1.9.0! This update brings numerous new Xircuits tools and component libraries, enhancing functionality and offering specialized updates for large language models and chatbots. With this release, we hope users will experience a broader and more diversified building experience in Xircuits.

🌟 What's New:

  • Dynamic Ports - A new type of port that expands dynamically when you link items to it! #265

    Preview

    DynaPorts

Enhancements:

  • 🔋 Toggle Link Animation - Useful when you have massive workflows with limited compute resources. #258
  • Literal Chat - New Literal component that interfaces for Chat-like messages. Specifically, it allows users to specify messages in an list of dicts. #259
  • ✨/♻️ Bools are now togglable. #260
  • ✨ You can also configure your Output Panel Spawn Location through .xircuits/config.ini! #266

🚀 Component Libraries:

  • 📖 Anthropic Component Library: A set of components to interface with Anthropic. #268
  • 📖 HuggingFace Agent Component Library: Integrate cutting-edge natural language processing components powered by HuggingFace into your projects. #269
  • 📖 Flask Component Library: Develop lightweight, scalable, and secure web applications swiftly with our Flask components. #270
  • 📖 Actor Component Library: A component library that wraps Thespian so that you can have different actors in your Xircuits diagram that have message queues. #271
  • 📖 SQLite Components Library: Manage your databases effectively with our SQLite components, ensuring fast, reliable, and isolated data storage. #272
  • 📖 Google Drive and Spreadsheet Component Library: Integrate and manage your Google Drive and Spreadsheet data seamlessly with these components. #273

🤖 Testing & Automation:

  • New Datatype Automation Tests along with Xircuits - Playwright Interface Library for more reliable and robust components. #262

🐛 Bug Fixes:

  • 🐛 Fix Various Literal Parameter Input Handling #267

🛠 Under the Hood:

Breaking Changes:

We've updated the existing workflows to the latest format. However, if you run into compilation problems, simply open the workflow and resave it. This should update it to the latest and greatest format.

We hope you enjoy the improvements and new features in this release! As always, we value your feedback, so please let us know if you have any suggestions, questions, or find any issues. Happy developing with Xircuits! 🚀

v1.8.3

02 Jun 21:50

Choose a tag to compare

What's Changed

Full Changelog: v1.8.2...v1.8.3

v1.8.2

01 Jun 09:37

Choose a tag to compare

What's Changed

  • 🐛 Stop event propagating between different active widgets by @MFA-X-AI in #254

Full Changelog: v1.8.1...v1.8.2

v1.8.1

31 May 10:06

Choose a tag to compare

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

12 May 08:43

Choose a tag to compare

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 the self.done from your component codes.

Xircuits Core Features:

Component Library

Bug Fixes:

Other

New Contributors

Full Changelog: v1.7.0...v1.8.0