Skip to content

Latest commit

 

History

History
3131 lines (1564 loc) · 155 KB

CHANGELOG.md

File metadata and controls

3131 lines (1564 loc) · 155 KB

Changelog

v1.4.0-beta2 (2025-02-12)

Features

  • subgraph allow produce graph containing subgraph representations both original (from state graph ) and merged (from compile graph) (db5dfb587902acc)

  • representation set dotted line for conditional edges (c4e2f7d50840d07)

  • CompiledGraph.java enhance subgraph processing in state graph (4d61965829c6c0e)

    It ensures that interruptions (nodes marked as "before") are correctly redirected to the real target ID after subgraph expansion. work on #73

  • StateGraph.java Add error message for non-existent interruption node (40cc8ed94ed5c20)

    Added an error message to handle the scenario where a node configured as an interruption does not exist in the StateGraph.

  • CompiledGraph.java add interruption node checks (345edf9dd9d31f9)

    Added checks for interruption nodes before processing state graph nodes and edges.

  • CompiledGraph.java enhance subgraph processing in state graph (15213935aa39e03)

    It ensures that interruptions (nodes marked as "before") are correctly redirected to the real target ID after subgraph expansion. work on #73

  • SubGraphNode.java introduce SubGraphNode interface (5ef408ca9d5987a)

    Add a new interface `SubGraphNode` in package `org.bsc.langgraph4j`, which defines methods related to managing sub-graph nodes with specific states. This interface includes a method for obtaining the sub-graph and a static utility method for formatting node IDs to distinct subgraph nodes from standard ones work on #73

  • CompiledGraph.java Refactor CompiledGraph to prepare for support of sub-graphs merge (1e588777e6c1419)

    • Removed deprecated methods `getEntryPoint` and `getFinishPoint` work on #73

Bug Fixes

  • site rename folder studio/core to studio/base (0c27a6bbd36ede1)

  • Node.java Ensured the equals method only casts to Node<?> if the object is not null, (69fb19709efa6a6)

    work on #73

Documentation

Refactor

  • CompiledGraph.java streamline method signatures by removing unnecessary exceptions (3d7522603f9c97c)

  • create package internal containing internal classes (f2af63d2b9c1780)

    prepare for java module integration

  • CompiledGraph.java remove redundant graph validation and edge processing (dd24149f79d464c)

  • create package internal containing internal classes (d65b4a509b35c0b)

    prepare for java module integration

  • Edge.java update method signature and simplify target id handling (ce1ec881697abff)

    Updated the `withSourceAndTargetIdsUpdated` method in `Edge.java` to use a `Function<String, EdgeValue<State>>` instead of `Function<String, String>` for target ids.

Added constructors that allow creating an `EdgeValue` with only an ID or only a condition value.

  • StateGraph.java remove unnecessary parameters from EdgeValue (ba726369987b7d1)
    • Removed redundant parameters in `EdgeValue` constructor calls to simplify code
  • Updated commented out conditional logic, potentially for future use
  • CompileConfig.java replace List with Set in interrupt fields (9e1487907ca724b)

  • howtos/subgraph add more tests and bump to new langgraph4j SNAPSHOT (97c94499e7ffae9)

    work on #73

  • howtos bump to new langgraph4j SNAPSHOT (941b3c20a24da40)

  • create package internal containing internal classes (5fdc50b2483b095)

    prepare for java module integration

  • core/CompileConfig.java update interrupt fields to List (29ccd1ed96cff0c)

    • Changed `interruptBefore` and `interruptAfter` from String arrays to Lists to allow for more flexible configuration.
  • Deprecated the old getter methods in favor of new methods that return immutable lists.
  • Add copy constructor.
  • CompiledGraph.java use new Edge.withSourceAndTargetIdsUpdated that accept Function<String,EdgeValue> (14b1e51e0c6730b)

  • Node.java refine node class hierarchy (ab83ffc300f1d82)

  • CompiledGraph.java Renamed method to correctly filter out sub-state graph nodes (dbe8d473e693343)

    • Renamed `onlySubStateGraphNodes` to `withoutSubGraphNodes`
  • Updated variable names and references throughout the method for clarity
  • Changed the creation and handling of `resultEdges` to use a single `StateGraphNodesAndEdges` object
  • Edge.java update EdgeValue to handle multiple target IDs (46dbdff97da99f4)
    • add `EdgeCondition` and `AsyncEdgeAction` class in the same file for improve incapsulation and maintanability
  • Updated `EdgeValue` to use a new method `withTargetIdsUpdated` which handles updates for multiple target IDs.
  • Removed the `EdgeCondition` and `EdgeValue` classes as independent file unit work on #73
  • DiagramGenerator.java simplify subgraph detection (08917371818ff51)

  • StateGraph.java update node construction and refactor subgraph management (2070c009f43a6e3)

    • Replace `SubGraphNodeAction` with `SubCompiledGraphNode`
  • Rename methods to clarify their purpose (`onlySubStateGraphNodes`, `exceptSubStateGraphNodes`)
  • CollectionsUtils.java update methods to improve null safety and deprecate old factory methods (369992230c614e5)

  • langchain4jToolNodeTest.java remove deprecation in update tool parameters definition (f0436296f22163a)

  • Node.java introduce interfaces and classes for subgraph handling (a673f8ef0dd3465)

    Refactored SubGraphNode to interface, added concrete implementations for different types of subgraph nodes (State, Compiled).

  • Edge.java replace Collection with StateGraph.Nodes for improved performance and readability (4f2f10d53697ed7)

    • Updated `validate` methods to use `StateGraph.Nodes.anyMatchById` instead of manual containment checks within a collection, enhancing both performance and code clarity.

work on #73

  • StateGraph consolidate subgraph processing into a single method (d2c4fd5ebd1cdc2)
    • Extracted subgraph processing logic into `StateGraph::processSubgraphs`
  • Moved subgraph-related updates to new `StateGraph::Nodes` and `StateGraph::Edges` classes for better separation of concerns work on #73
  • DiagramGenerator.java access node elements directly (770c0036cc2c04e)

    work on #73

  • StateGraph.java update node handling with new Nodes class (226523887b4478a)

    • Introduced a new `Nodes` class to encapsulate management of graph nodes, providing methods for checking if a node with a given ID exists, finding sub-graph nodes, and filtering out sub-graph nodes.
  • Updated the `StateGraph` class to use the new `Nodes` class for managing nodes, improving code readability and modularity.
  • Modified edge lookup methods from `findEdgeBySourceId` and `findEdgesByTargetId` to `edgeBySourceId` and `edgesByTargetId` . work on #73
  • DiagramGenerator.java update edge processing streams to use 'elements' (68ae2df39d0c42a)

    work on #73

  • StateGraph.java update edge collection management and improve graph validation (de25bb2ff09884b)

    Refactored `StateGraph.java` to use a custom `Edges<State>` class for managing edge collections, enhancing maintainability.

Updated methods to find edges by source and target IDs, and added a comprehensive `validateGraph()` method to ensure edge consistency during compilation. work on #73

  • EdgeValue.java update EdgeValue implementation to use record and add withTargetIdUpdated method (7cba7b784c4d0f1)
    • Adding a new method, `withTargetIdUpdated`, which updates the `id` field while copying other values or modifying mappings based on the input function.

work on #73

ALM

v1.4.0-beta1 (2025-02-11)

Features

  • representation set dotted line for conditional edges (36fe11fffec3968)

  • subgraph allow produce graph containing subgraph representations both original (from state graph ) and merged (from compile graph) (b1550c773d3cf21)

  • core/CompiledGraph.java enhance subgraph processing in state graph (94322b6ef726f7e)

    It ensures that interruptions (nodes marked as "before") are correctly redirected to the real target ID after subgraph expansion. work on #73

  • core/CompiledGraph.java enhance subgraph processing in state graph (00679e902d3f9ab)

    It ensures that interruptions (nodes marked as "before") are correctly redirected to the real target ID after subgraph expansion. work on #73

  • core/CompiledGraph.java add interruption node checks (bf97c1b8e51a742)

    Added checks for interruption nodes before processing state graph nodes and edges.

  • core/StateGraph.java Add error message for non-existent interruption node (d8decf4cde589e7)

    Added an error message to handle the scenario where a node configured as an interruption does not exist in the StateGraph.

  • core//SubGraphNode.java introduce SubGraphNode interface (4065ce68c20333f)

    Add a new interface `SubGraphNode` in package `org.bsc.langgraph4j`, which defines methods related to managing sub-graph nodes with specific states. This interface includes a method for obtaining the sub-graph and a static utility method for formatting node IDs to distinct subgraph nodes from standard ones work on #73

  • core/CompiledGraph.java Refactor CompiledGraph to prepare for support of sub-graphs merge (6e534cc81cf880b)

    • Removed deprecated methods `getEntryPoint` and `getFinishPoint` work on #73
  • core/Edge.java add methods for target ID matching and source/target id updates (4971ad41235a7f7)

    • Added `anyMatchByTargetId` method to check if there is a target with a specific ID by comparing IDs or value mappings.
    • Created `withSourceAndTargetIdsUpdated` method to update both the source and target IDs in an Edge, leveraging a Node and provided functions for new IDs. work on #73

Bug Fixes

  • site rename folder studio/core to studio/base (17610eeb37a20e3)

  • core/Node.java Ensured the equals method only casts to Node<?> if the object is not null, (79f83954ba0308c)

    work on #73

Documentation

Refactor

  • create package internal containing internal classes (76de12bfdd0cd83)

    prepare for java module integration

  • create package internal containing internal classes (04594fdbd28a184)

    prepare for java module integration

  • create package internal containing internal classes (f50f85ed348559d)

    prepare for java module integration

  • core/CompileConfig.java replace List with Set in interrupt fields (3a646b34dafc912)

  • core/CompiledGraph.java use new Edge.withSourceAndTargetIdsUpdated that accept Function<String,EdgeValue> (07dfb3bbf4addea)

  • StateGraph.java remove unnecessary parameters from EdgeValue (91e7798fe922224)

    • Removed redundant parameters in `EdgeValue` constructor calls to simplify code
  • Updated commented out conditional logic, potentially for future use
  • core/Edge.java update method signature and simplify target id handling (9ddf1d0710f1bb9)

    Updated the `withSourceAndTargetIdsUpdated` method in `Edge.java` to use a `Function<String, EdgeValue<State>>` instead of `Function<String, String>` for target ids.

Added constructors that allow creating an `EdgeValue` with only an ID or only a condition value.

  • core/CompileConfig.java update interrupt fields to List (4729fd8cceabdcb)
    • Changed `interruptBefore` and `interruptAfter` from String arrays to Lists to allow for more flexible configuration.
  • Deprecated the old getter methods in favor of new methods that return immutable lists.
  • Add copy constructor.
  • howtos/subgraph add more tests and bump to new langgraph4j SNAPSHOT (d8cd2a2ca03f147)

    work on #73

  • howtos bump to new langgraph4j SNAPSHOT (f43122ed4464445)

  • core/CompiledGraph.java remove redundant graph validation and edge processing (5ea5d6b1c4a06a6)

  • core/Node.java refine node class hierarchy (3752498e84201cd)

  • core/Edge.java update EdgeValue to handle multiple target IDs (a6d269e88df9320)

    • add `EdgeCondition` and `AsyncEdgeAction` class in the same file for improve incapsulation and maintanability
  • Updated `EdgeValue` to use a new method `withTargetIdsUpdated` which handles updates for multiple target IDs.
  • Removed the `EdgeCondition` and `EdgeValue` classes as independent file unit work on #73
  • CompiledGraph.java Renamed method to correctly filter out sub-state graph nodes (bb78ac3ecb40bee)
    • Renamed `onlySubStateGraphNodes` to `withoutSubGraphNodes`
  • Updated variable names and references throughout the method for clarity
  • Changed the creation and handling of `resultEdges` to use a single `StateGraphNodesAndEdges` object
  • core/DiagramGenerator.java simplify subgraph detection (c7aa3919093d4df)

  • core/StateGraph.java update node construction and refactor subgraph management (6dc6be4fe81a9d4)

    • Replace `SubGraphNodeAction` with `SubCompiledGraphNode`
  • Rename methods to clarify their purpose (`onlySubStateGraphNodes`, `exceptSubStateGraphNodes`)
  • core/Node.java introduce interfaces and classes for subgraph handling (f98c40ee56e30e1)

    Refactored SubGraphNode to interface, added concrete implementations for different types of subgraph nodes (State, Compiled).

  • langchain4jToolNodeTest.java remove deprecation in update tool parameters definition (c4b90d64f961bbf)

  • Edge.java replace Collection with StateGraph.Nodes for improved performance and readability (9e703115afe22bf)

    • Updated `validate` methods to use `StateGraph.Nodes.anyMatchById` instead of manual containment checks within a collection, enhancing both performance and code clarity.

work on #73

  • core/StateGraph consolidate subgraph processing into a single method (03abb16e604c886)
    • Extracted subgraph processing logic into `StateGraph::processSubgraphs`
  • Moved subgraph-related updates to new `StateGraph::Nodes` and `StateGraph::Edges` classes for better separation of concerns work on #73
  • core/DiagramGenerator.java access node elements directly (6792e9fdb586042)

    work on #73

  • core/StateGraph.java update node handling with new Nodes class (3e45264449ddebf)

    • Introduced a new `Nodes` class to encapsulate management of graph nodes, providing methods for checking if a node with a given ID exists, finding sub-graph nodes, and filtering out sub-graph nodes.
  • Updated the `StateGraph` class to use the new `Nodes` class for managing nodes, improving code readability and modularity.
  • Modified edge lookup methods from `findEdgeBySourceId` and `findEdgesByTargetId` to `edgeBySourceId` and `edgesByTargetId` . work on #73
  • core/DiagramGenerator.java update edge processing streams to use 'elements' (e59edfd4f6e62ec)

    work on #73

  • core/StateGraph.java update edge collection management and improve graph validation (898f5fd2d435492)

    Refactored `StateGraph.java` to use a custom `Edges<State>` class for managing edge collections, enhancing maintainability.

Updated methods to find edges by source and target IDs, and added a comprehensive `validateGraph()` method to ensure edge consistency during compilation. work on #73

  • core/EdgeValue.java update EdgeValue implementation to use record and add withTargetIdUpdated method (9891961af89cd3f)
    • Adding a new method, `withTargetIdUpdated`, which updates the `id` field while copying other values or modifying mappings based on the input function.

work on #73

  • core/Node.java introduce class hierarchy for better structure (f86c51906faf960)
    • Change `Node` from a record to a class for more flexibility.
  • Add getter methods for `id` and `actionFactory`.
  • Introduce `ParallelNode` and `SubGraphNode` subclasses to handle complex node structures.
  • Update constructors and refactor method implementations accordingly.
  • Add Javadoc comments for better understanding of each type, method, and field. work on #73

ALM

v1.3.1 (2025-02-04)

Features

Documentation

Refactor

  • AbstractLangGraphStudioConfig.java remove final method qualifier (333bf29418aeae0)

  • studio change modules layout for studio implementation (fbad211339b1440)

    • Make it more flexible to allow different studio server implementation

ALM

v1.3.0 (2025-01-30)

Features

  • how-to/parallel-branch add more usage examples (1fcb7cb77624da6)

  • prebuilt/MessagesState.java add utility method 'lastMinus(int)' for accessing messages state (e0610a2d6773e0e)

  • how-to add notebook for parallel branch execution (46891fc5048897a)

  • prebuilt Added MessagesState and MessagesStateGraph classes (7859c321f04de55)

    This commit introduces new classes `MessagesState` and `MessagesStateGraph` in the `org.bsc.langgraph4j.prebuilt` package as utilities classes

    • MessagesState<T>: manages a collection of messages .
    • MessagesStateGraph<T> a `StateGraph` specialized for use of `MessagesState`.
  • CompiledGraph Refactor compiled graph edge processing (c8ae36a87568bc0)

    • Update edge mapping logic to handle parallel nodes and conditional edges
    • Introduce parallel action nodes for handling multiple targets
    • Remove deprecated methods getEntryPoint() and getFinishPoint() work on #72
  • Node add parallel execution support (d50f56c5937251f)

    work on #72

Documentation

Refactor

  • CompiledGraph.java replace node removal with retrieval (72169ebf7b4dfa0)

    Modified `parallelNodeStream` to retrieve nodes instead of removing.

  • how-to update langgraph version (76680b6f086c150)

  • prebuilt/MessagesStateGraph.java simplify state serializer (9581a8d918f93f6)

    Removed unnecessary `Serializer`

  • prebuilt/MessagesState.java make SCHEMA field public static final (91f28290150873e)

  • prebuilt/MessagesState.java make message-related methods public (6152b6820e5f7ba)

  • how-to update notebook for parallel branch execution (cfedf4869727b0a)

  • AppendableValue.java AppendableValueRW.java mark as deprecated for removal (85135828b6aa4bc)

  • graph update node validation and refactoring (ed475c9f090082f)

    • Removed deprecated `nodeById` method and replaced it with a streamlined approach utilizing Node object directly in edge validation.
  • Updated edge validation logic to simplify the checks for source and target nodes.
  • Ensured consistency across validations improving error handling. work on #72
  • Edge refactor edge representation to support multiple targets (89ac2d39b0d54e8)

    work on #72

  • Edge.java change class type to record (49a7adb44ad0e8d)

    Refactored `Edge` class from a Lombok-generated value object to a record for improved immutability and syntax simplicity.

ALM

v1.2.5 (2025-01-23)

Features

  • AppenderChannel introduce functional interface and refactoring for list updates (d95f28191e8f8f9)
    • Introduced `RemoveByHash` class.
    • Refactored `AppenderChannel.java` to support list updates with a functional interface `RemoveIdentifier`.
    • Consolidated the logic for evaluating list updates within the `evaluateRemoval` method.
    • Updated test cases to cover the new functionality. resolve #75

Documentation

Refactor

  • pom.xml consolidate profiles (c356d9275f85339)
    • Removed unused jdk-8 and jdk-17 profiles to streamline configuration and reduce complexity.

ALM

v1.2.4 (2025-01-22)

Features

Bug Fixes

Documentation

Refactor

  • core update dependency version (c85f4928a5301e0)

    Updated the `async-generator-jdk8` to `async-generator` and bumped its version from 2.3.0 to 3.0.0 to incorporate new features and potential bug fixes.

  • maven-config update maven-javadoc-plugin configuration (6647247eb331e62)

    This commit updates the maven-javadoc-plugin configuration to ensure it does not fail on warnings or errors and disables doclint. The changes are applied

across all instances of the plugin configuration.

ALM

v1.2.3 (2025-01-13)

Bug Fixes

  • CompiledGraph.java update state handling to assume subgraph returns complete state (3a53ae30eca8ad1)

    Refactors `CompiledGraph` to update state handling by assuming that the subgraph returns a complete state.

Documentation

Refactor

  • StateGraph.java the addSubgraph(CompiledGraph) method is no longer deprecated. (2bf3126ae4b16e2)

  • Nodej Node Action Factory Interface (6d00585968efcd7)

    Reformatted the `Node` record to use an interface for action factory implementation.

  • DiagramGenerator add graph state exception handling and update node action factory (7a76fdb0e834254)

  • CompiledGraph.java change constructor to throw GraphStateException (c70b5c3f27d3aa9)

ALM

v1.2.2 (2025-01-10)

Bug Fixes

  • core conditionally use input based on checkpointSaver presence (3291e6485e199f1)
    • refactored async generator handling to conditionally use `state.data()` or an empty map (`Map.of()`) based on the presence of `checkpointSaver` work on #60

Documentation

Refactor

  • CompiledGraph.java update node action initialization (a6467614f519946)

    Refactored the way node actions are initialized to use an action factory from the `StateNode` and apply it with the compile configuration. Ensured that each node has a non-null action factory before proceeding.

BREAKING CHANGE: The previous approach of directly associating nodes with their actions without factories is deprecated. work on #60

  • StateGraph update addSubgraph method behavior using actionFactory (fffce294a657cf9)
    • Deprecate the `addSubgraph(CompiledGraph)
  • Add `addSubgraph(StateGraph)` work on #60
  • DiagramGenerator.java Refactored subgraph node action handling to use factory method (ac0e989ad7fa674)

    work on #60

  • Node.java refine class structure and add factory method (56474015bdacf5f)

    • Update class to be a record for improved immutability and simplicity.
  • Replace constructor overloads with a single constructor for `id` only, using a lambda expression for optional action factory.
  • Remove deprecated fields and methods (`action` field, redundant constructors). work on #60
  • update SubgraphNodeAction constructor and method parameters (e5254216017a072)

    Refactored `SubgraphNodeAction` to accept `StateGraph<State>` and `CompileConfig` instead of just `CompiledGraph<State>`. Updated the method parameter for the stream call to use a default empty map instead of state data.

work on #60

  • StateGraphTest.java add debugging output to workflow stream (1582432e6b5040f)

  • Channel.java add type casting suppression in update method (6e3ff39cae4d930)

  • CompiledGraph.java optimize invoke method (b55be86be761949)

    Refactored the `invoke` method in `CompiledGraph.java` to streamline the reduction process. This change reduces the overhead by eliminating unnecessary intermediate collections and stream operations.

ALM

v1.2.1 (2025-01-08)

Features

Bug Fixes

  • README.md update dependency version (128f5f080d54cd7)

    The commit updates the dependency version in the README.md file to 1.2.0, ensuring that users can easily install the correct version of the LangGraph for Java library.

    • CHANGELOG: incremented langgraph4j-core dependency version
  • update javadoc (3ed265942dabb13)

Documentation

ALM

  • bump version to 1.2.1 (3ee702eb088553f)

  • bump version to 1.2.1 (0f35d0a934a48d7)

  • update version to SNAPSHOT (ba8e5fb20e8fa3b)

    Bump the project version from 1.2.0 to 1.2-SNAPSHOT, preparing for development of the next release cycle.

  • update version to SNAPSHOT (1cd97afed49a531)

    Bump the project version from 1.2.0 to 1.2-SNAPSHOT, preparing for development of the next release cycle.

v1.2.0 (2025-01-05)

Features

Bug Fixes

  • notebook use langgraph4j-core instead of langgraph4j-core-jdk8 (efdd9fd78d38257)

Documentation

Refactor

  • refactor(site-run.sh) work on #54
  • remove redundant JDK-8 version configuration (3bdf67a05fb4b0d)
    • refactor(deploy-pages.yml)
  • refactor(deploy-snapshot.yaml)
  • refactor(deploy.yaml) work on #54
  • core rename module core-jdk8 to core (58b366d81ad7fe3)

    work on #54

  • core rename langgraph4j-core-jdk8 to langgraph4j-core (db3b5224865e82a)

    work on #54

  • AgentFunctionCallbackWrapper.java Annotate methods with @SuppressWarnings("unchecked") to suppress compiler warnings. (a28b7d55d837e1d)

  • CallAgent.java remove unused imports and unnecessary imports (3e861ce02b99202)

ALM

  • Bumped parent-pom version to 1.1-SNAPSHOT

v1.1.5 (2024-12-14)

Documentation

Refactor

  • agent-executor remove unused maven plugins (90734fd33818a98)
    • Removed `maven-site-plugin`, `maven-deploy-plugin`, and `maven-surefire-plugin` configurations that were unnecessarily skipping steps.

.

ALM

v1.1.4 (2024-12-11)

Documentation

Refactor

ALM

  • bump version to 1.1.4 (141e81b4f4de729)

  • update doxia-module-markdown version to latest stable (595c124979917df)

    • Updated the version of the doxia-module-markdown dependency from 2.0.0-M12 to 2.0.0 to address any known issues and ensure compatibility with recent projects.
  • bump to new SNAPSHOT (0333b25987a3293)

  • AgentExecutor add support for Azure OpenAI using langchain4j (3d7a7a68dd5f8ce)

    work on #50

v1.1.3 (2024-12-03)

Features

  • studio add subgraph management (088b2ddaaec153b)

    • remove unnecessary ObjectMapper injection
    • Refactored GraphStreamServlet to no longer require an objectMapper, simplifying dependency management.
    • Removed redundant ObjectMapper configuration in LangGraphStreamingServerJetty builder.
  • add subGraph field to NodeOutput class (06a4acc4f6764a4)

  • image-to-diagram handle imageData as JSONPrimitive or JsonObject (4e114e84139a59f)

  • studio add image-to-diagram workflow (390dc819a52ef89)

  • studio update argument metadata to use enums and (f95bd80e7afb9c5)

    lists

  • studio Add a new component for image upload (946ba93b0176021)

Bug Fixes

Documentation

Refactor

  • studio remove unused ObjectMapper from AgentExecutorStreamingServer (a7d05a750a24fa9)

  • CompiledGraph set subGraph flag to async generator output (8d11886d1cc6b0a)

  • MermaidGenerator make SUBGRAPH_PREFIX final and public (e65f75709765cea)

  • studio update base64 encoding method in lg4j-image-uploader.js (ce34c5183fd1c4f)

  • lg4j-image-uploader convert file to Base64 and update value method (fa8f5b211a90a00)

  • diagram refine mermaid subgraph generation (ab720c24a96702f)

ALM

v1.1.2 (2024-11-29)

Features

  • image-to-diagram update diagrams and workflow for image processing (778c8cc5fe3c669)

  • add notebook for subgraph sample (26f9993f56d114d)

  • add support of subgraph in graph representation generation (99ff7b4761a1cd8)

    • streamline diagram generation with Context class

Documentation

ALM

v1.1.1 (2024-11-26)

Features

Bug Fixes

  • subgraph makes AsyncNodeActionWithConfig the standard action and acceps null result from embed generator (68228a2d1481a0e)

Documentation

Refactor

value( key, Supplier<T> )

ALM

v1.1.0 (2024-11-26)

Features

  • adds subgraph action support in state graph (38988780cf22cb6)

    resolve #39

  • makes compliant with new node action that accepts RunnableConfig (c640f3aa8f582ec)

    work on #39

  • adds subgraph node action (266fe4a2d3f51d8)

    work on #39

  • adds node action that accept either Map and RunnableConfig (aaf57f15199df40)

    work on #39

  • refine jackson & gson serialization impl (8ebd7df555a9180)

    • update agent executor serialization impl
    • update image to diagram serailization impl
  • refine jackson & gson serialization impl (a7e1619b3e1feb1)

    • update agent executor serialization impl
    • update image to diagram serailization impl

Documentation

Refactor

ALM

v1.0.0 (2024-11-15)

Documentation

ALM

v1.0-20241113 (2024-11-13)

Features

Documentation

ALM

v1.0-20241112 (2024-11-12)

Features

Bug Fixes

Documentation

ALM

v1.0-20241111 (2024-11-11)

Features

  • ToolNode Support for Tools specified dynamically (d5d387baba0fa40)

    resolve #44

  • AsyncNodeGenerator add 'resumedFromEmbed' state management in AsyncNodeGenerator (d4a5dd2f65d1e3f)

    work on #31

  • LLMStreamingGenerator make compliant with StreamingOutput (d39eef962b417bd)

    work on #31

  • StreamingOutput add NodeOutput<> specialization to support LLM streaming (aed9c23c09ed37d)

    work on #31

  • langchain4j bump async-generator version (253cd7d5b1ed353)

    work on #31

  • langchain4j handle completion on LLMStreamingGenerator (5740d1394aa35a6)

    • provide an operator to convert response to Map<> work on #31
  • CompiledGraph integrate embedding generator. (e7938e49c137f12)

    • manage resume state after completion of an embed generator work on #31
  • CompiledGraph add support of AsyncIterator.WithEmbed (3c254e8e800a346)

    work on #31

  • make LLMStreamingGenerator an implementation of AsyncGenerator.WithResult (c838f618ce9553c)

    work on #31

  • add a LLMStreamingGenerator class (d38eac5586b0ecd)

    Convert the langchain4j StreamingResponseHandler to AsyncStream work on #31

  • add react demo notebook (b19ab5e7456d4bc)

Documentation

ALM

work on #31

v1.0-20241029 (2024-10-29)

Features

  • serializable remove ClassHolder, StringHolder to avoid class loading problem (a137abd7c5bea6f)

  • add file system checkpoint saver (5d8036d5ceabe99)

    work on #35

  • studio decouple the Studio implementation from Jetty Server (98f070e6fa910b7)

    resolve #42

Bug Fixes

Documentation

ALM

v1.0-rc2 (2024-10-25)

Bug Fixes

Documentation

ALM

v1.0-20241024 (2024-10-24)

Features

  • add sample using langgraph4j with springai (069b1dae671419d)

    resolve #15

  • serializer change the standard serialization implementation to avoid class loading issues (13fed3780bec648)

Documentation

Refactor

  • update to project DTS (9de853487ecc665)

    added samples folder

  • agentexecutor update to be compliant with new serialization implementation (6a408b2868e4fc7)

  • notebook update to be compliant with new serialization implementation (cbba10a0f551a56)

  • update to be compliant with new serialization implementation (baf6fae5d9c6170)

ALM

v1.0-rc1 (2024-10-12)

Documentation

ALM

v1.0-20241011 (2024-10-11)

Features

  • refine Serialization implementation (199ae8d396d6e27)

    • add StateSerializer abstract class that owns a StateFactory
    • refactor tests, samples and how-tos accordly work on #29
  • create branch on CompileGraph.updateState() (0f1ecdb1cca8d5a)

  • serialization make serialization implementation supporting more serialization strategies (23af74bf35514c9)

    resolve #29

Bug Fixes

  • serializer propagate ObjectOutputMapper and ObjectInputMapper (1693b43314936db)

Documentation

Refactor

ALM

v1.0-20241006 (2024-10-06)

Features

Bug Fixes

Documentation

Refactor

ALM

v1.0-20240926 (2024-09-26)

Features

  • improve logging (ec148d763587456)

  • add module with langchain4j integration utility (769887576ec20f0)

    • Add Message Serializers
    • Add ToolExecutionRequestSerializer
    • Add ToolNode utility resolve #26

Documentation

Refactor

ALM

v1.0-20240924 (2024-09-24)

Bug Fixes

Documentation

ALM

Continuous Integration

v1.0-beta5 (2024-09-24)

Features

  • Server finalize thread support (3f4ee84236c1aa6)

    • NodeOutput Json Serialization
    • read thread from get parameter
    • add thread on straming result resolve #24
  • backend add threads into init servlet (1f0f20afe80db2c)

    work on #24

  • set initial thread (525286a37f767a4)

    work on #24

  • frontend thread management refinement (24042d4b65b505a)

    work on #24

  • CompiledGraph add streamSnapshots() method (11fc73be5e7a89f)

    work on #24

  • allow stream return subclass of NodeOutput (780b2b90bf56af2)

    allow return of StateSnapshot work on #24

  • frontend add support for thread(tab) switch (39b651d67ac0f7a)

    work on #24

  • AsyncNodeGenerator add output factory method (0f612363c68f9e6)

    work on #24

  • CompliedGraph update AsyncGenerator implementation (04bcd136803086a)

    remove AsyncGeneratorQueue add a custom AsyncNodeGenerator update unit test

  • RunnableConfig add StreamMode enum (40fad25c6b2e327)

    work on #24

  • add toString() (7445a88be87845f)

  • server threads Implementation refinements (3e291dbc62b98c0)

    start preparing backend and fronend to manage threads work on #24

  • move main implementation of getGraph() on StateGraph (39da1f4c07db473)

    work on #24

  • move main implementation of getGraph() on StateGraph (9c1b39b2f5fd5ab)

    work on #24

  • collection add last() and lastMinus() support for the List (52bfbec8084adfb)

    work on #24

  • serializer add support for mimetype (7ca1a6169376932)

    work on #24

  • frontend add thread button (75f975e9bea7ce8)

    work on #24

Bug Fixes

Documentation

Refactor

ALM

work on #24

v1.0-20240915 (2024-09-15)

ALM

v1.0-20240907 (2024-09-07)

Features

Bug Fixes

Documentation

ALM

v1.0-20240906 (2024-09-06)

Features

Documentation

Refactor

ALM

v1.0-beta4 (2024-09-06)

Features

Bug Fixes

  • pause management (9ec77fb711d11c3)
    • check resume startpoint
    • refine state cloning
    • improve unit test work on #14

Documentation

Refactor

ALM

v1.0-20240905 (2024-09-05)

Features

Bug Fixes

  • pause management (7042bce11521c91)
    • check resume startpoint
    • refine state cloning
    • improve unit test

Documentation

Refactor

ALM

v1.0-beta3 (2024-09-03)

Features

Bug Fixes

  • CompiledGraph when asNode is provided next node is evaluated keeping in consideration edges (d3595cb41ec9f64)

    work on #14

Documentation

Refactor

ALM

v1.0-20240828 (2024-08-28)

Features

  • add support for 'interruptBeforereak' and 'interruptAfter' (3083d9d95d05393)

  • MemorySaver add rw lock to memory saver (a00054b2169e348)

  • CompiledGraph expose state Management (183a0ceb7069f1f)

    • getState
    • getStateHistory
    • updateState
    • update streaming processing to support graph resume work on #14
  • StateSnapshot add support StateSnaphot object (cc86564cc2f2759)

    work on #14

  • RunnableConfig add checkpointId and nextNode properties (509d7ebd50eef7a)

    work on #14 #20

  • Checkpoint store the nextNodeId (6e1ca60de4572af)

    work on #14

  • BaseCheckpointSaver add support for ThreadId (05c293faa56cfad)

    work on #20

  • add MapSerializer (1407b41f8d412eb)

Documentation

Refactor

ALM

v1.0-beta2 (2024-08-10)

Documentation

Refactor

  • rename AgentExecutor.builder to AgentExecutor.graphBuilder (7f2416657a7cff8)

ALM

v1.0-20240809 (2024-08-09)

Features

  • add utitlity for support serialization of nullable value (7a820294f37b9e1)

Bug Fixes

Documentation

v1.0-20240807-1 (2024-08-07)

Features

  • refine collection utilities (1be0f7279663fb4)

  • enable fluent interface on graph definition (787d41c3537821f)

    deprecate: setEntryPoint, setFinishPoint, setConditionalEntryPoint

  • add Channel support (cd500132ef8b133)

    add reducer, default value provider add AppenderChannel to manage accumulated list of values deprecate AppendableValue work on #13

Documentation

Refactor

Continuous Integration

v1.0-20240807 (2024-08-07)

Features

  • finalize Checkpoint implementation (77e4723753a79b1)

    resolve #11

  • finalize checkpoint implementation (1564efca643c31c)

    add AgentState and Checkpointer serializer add support for MemorySaver work on #11

  • start implementing checkpoint (f9800ec98253f50)

    • add BaseCheckpointSaver
    • add Checkpoint
    • add CheckpointConfig
    • add CompileConfig
    • add InvokeConfig work on #11

Documentation

Refactor

ALM

Continuous Integration

work on #4

work on #4

v1.0-beta1 (2024-08-02)

Documentation

Refactor

  • rename core module from langgraph4j-jdk8 to langgraph4j--core-jdk8 (ccf6282e9ab9d5e)

ALM

Continuous Integration

v1.0-20240729 (2024-07-29)

Bug Fixes

Documentation

Refactor

ALM

v1.0-20240723 (2024-07-23)

Features

  • frontend add zoom support on graph view (c6d7fab152c1edb)

    • switch to vanilla webcomponent t betetr control mermaid rendering
    • add d3 zoom support
    • remember zoom trasformation between rendering
  • experiment using d3 zoom on svg (44be1a1f52f6d20)

  • server-jetty set dark theme by default (c4a06ec88e12332)

  • server-jetty add adaptiveRAG test (050c628f45e369a)

Bug Fixes

  • core generation graph (df75b6db12a659f)

    check printConditionalEdge on declareConditionalStart()

Documentation

Refactor

ALM

v1.0-20240719 (2024-07-19)

Features

Bug Fixes

  • mermaid loading diagram error (5ccef4548baa66f)

    avoid use of (deprecated) mermaidAPI

Documentation

Refactor

resolve #9

work on #9

ALM

v1.0-20240621 (2024-06-21)

Features

  • core add support of Mermaid diagram-as-node syntax generation (a0fd5a95a4d0493)

    resolve #5

  • core add support for contidional entrypoint in getGraph() method (1a81fe399211a62)

Documentation

Refactor

  • update project layout (4cbd5c042052c32)

  • adaptive-rag make opening Chroma Store lazy (6892438d158e6dd)

    resolve #5

  • core support of multiple diagram-as-node syntax generation (9af787d3b85d03f)

    make diagram as code generation through an abstract class

work on #5

ALM

  • adaptive-rag add exec tasks (985275c10292bfe)
    • upsert: Populate Chroma Vector store
  • chroma: start Chroma Server
  • app: start demo app

v1.0-20240619 (2024-06-19)

Features

Bug Fixes

Documentation

Refactor

ALM

v1.0-20240610 (2024-06-10)

Documentation

Refactor

Continuous Integration

v1.0-20240520 (2024-05-20)

Features

Documentation

Refactor

v1.0-20240516 (2024-05-16)

Features

Documentation

v1.0-20240514 (2024-05-14)

Features

  • agent-jdk8 finalize image_to_diagram_with_correction graph implementation (bc1ef69d21c7f98)

  • agent-jdk8 implementing ImageToDiagram auto correction process (e6e89e63bd2156a)

    1. evaluate generated diagram
    2. catch errors
    3. submit errors to Agent Review
    4. Generate new diagram
    5. got to (1)
  • add image to diagram use case (0d7d09f1ba1e49b)

Documentation

Refactor

  • AppendableValue a readonly interface
  • Create internal AppendableValueRW to update state

jdk17 and above

ALM

v1.0-20240329 (2024-03-29)

Features

Bug Fixes

Documentation

Refactor

jdk17 and above

jdk17 and above

add module for demo starting implements Agent class

ALM