mirror of
https://github.com/humanlayer/humanlayer.git
synced 2025-08-20 19:01:22 +03:00
10 KiB
10 KiB
0.7.9
Features
- Add
channelfield toEscalationmodel to allow channel overrides during escalation - Escalations can now specify a different contact channel than the original request
0.7.8
Changes
- Rename
humanlayerpackage in npm to@humanlayer/sdk- if you are using the humanlayer sdk, you should change your package.json to use the new package.
0.7.7
Fixes
- Add
additional_recipientsfield toEmailContactChannelin TypeScript SDK - No Python SDK changes, this field was already supported in the Python SDK and the upstream API
0.7.6
Features
- Add
thread_tssupport forSlackContactChannelto enable sending messages in threads - Add
slack_message_tstoFunctionCallStatusfor tracking slack message timestamps - Export v1beta2 webhook types from typescript package root for better developer experience
Examples
- Add langchain example demonstrating Slack thread creation and management
- Update typescript examples with email escalation patterns
Documentation
- Update examples to latest version and dependency management
0.7.5
Features
- Add
additional_recipientstoEmailContactChannelto enableto,cc,bccemail recipients - Add
escalate_emailmethods for Function Call and Human Contact objects, allowing for followup/escalation emails to be sent with additional recipients
Documentation
- Add quickstart guide for using the humanlayer typescript sdk
- Add guide for using Function Calls for Classification with human-in-the-loop
- Add framework guide for using humanlayer with chainlit
- Add framework guide for using humanlayer with the vercel ai sdk
- Update humanlayer-ts readme to include quickstart guide
Examples
- Add example of a fullstack chat app with nextjs and the vercel ai sdk
- Simplify the chainlit example by using
AsyncHumanLayer - Update langchain email example to showcase the use of custom jinja templates for email payloads
0.7.4
- Add v1beta2 webhook payload types to ts and python sdks
- Add
spec.channel.email.templateto all operation types, allowing custom jinja templates for email payloads
0.7.3
This was an internal release with build/release process changes, but no user-facing changes.
0.7.2 - Deprecated
This was an internal release with no user-facing changes. It did introduce a small issue, so please upgrade to 0.7.3.
0.7.1
Features
- Support for
interactive: boolon ReponseOption - setting to false will cause prompts to be written in by default- BREAKING - if you are using prompt_fill on ReponseOption, and want to give users the option to edit prompt, you will need to add interactive=True
# before
@hl.require_approval(
# reject options lets you show custom pre-filled rejection prompts to the human
reject_options=[
ResponseOption(
name="reject",
description="Reject the message",
prompt_fill="try again but this time ",
),
# ...
# after
@hl.require_approval(
# reject options lets you show custom pre-filled rejection prompts to the human
reject_options=[
ResponseOption(
name="reject",
description="Reject the message",
prompt_fill="try again but this time ",
+ interactive=True
),
# ...
- API now returns
HumanContactStatus.response_option_nameandFunctionCallStatus.reject_option_nameon objects for consuming human classification/steering reponses with deterministic (non-llm) code
Updates
- Changed default http client timeout to 30s in python clients
Examples
- Added ts_email_classifier example in ./examples/ts_email_classifier
- Added in-depth examples docs in ./examples/README.md
0.7.0
- AsyncHumanLayer.human_as_tool() is no longer async (but the tool it returns still is)
- simplifies syntax to
await hl.human_as_tool()(message="lorem ipsum")instead ofawait (await hl.human_as_tool())(message="lorem ipsum")
- simplifies syntax to
- remove all approval_method logic for AsyncHumanLayer - only
backendusage is supported. Use a sync HumanLayer if you want to use the cli or toggle between backend/cli methods - BREAKING - remove AsyncHumanLayer.cloud()
- BREAKING - reduce ways to configure approval method by remoing env var for HUMANLAYER_APPROVAL_METHOD
0.6.5
Features
- Added state preservation support to FunctionCallSpec and HumanContactSpec for maintaining context across request lifecycles (docs) (example)
Enhancements
- Moved to
uvfor project management (examples still encourage throwaway envs withpip/requirements.txt) - Updated CI/CD pipeline to use uv instead of poetry
- Improved PR template with clearer sections and guidance
- Updated all example dependencies to use v0.6.5
0.6.4
Features
- Add support for required slack responders, restricting who can respond to a slack message. See https://humanlayer.dev/docs/channels/slack for more detail
0.6.3
Features
- Added async support for HumanLayer python SDK with
AsyncHumanLayerclass (example) - Added FastAPI example demonstrating webhooks and async usage (example)
Documentation
- Improved webhook documentation and added concrete examples
0.6.2
Features
- Added beta support for agent webhooks to launch agents in response to emails (docs) - support for slack inbound coming soon!
Enhancements
-
Added support for non-experimental email threading fields:
subjectreplacesexperimental_subject_linereferences_message_idreplacesexperimental_references_message_idin_reply_to_message_idreplacesexperimental_in_reply_to_message_id- Old fields remain supported for backwards compatibility
-
Added convienience method
EmailContactChannel.in_reply_tofor easily creating an email contact channel that is in reply to another email -
Improved handling of
human_as_tool.__name__generation to exclude more special characters
Documentation
- Enhanced Slack channel documentation with setup instructions and ID lookup tips
- Improved email channel documentation with clearer threading examples
- Added Ruby and cURL examples for API reference
- Updated documentation navigation and cross-linking
- Added webhook documentation clarifications
Branding
- Updated logo and documentation assets
- Updated documentation links and social references
0.6.1
Features
- Added initial Mintlify documentation structure
- Added API reference documentation for function calls and classifications
- Added smoke test target for faster example testing
- Added email threading support (docs) with:
experimental_subject_lineexperimental_references_message_idexperimental_in_reply_to_message_id
Documentation
- Updated documentation links to point to humanlayer.dev
- Added Docker configuration for local documentation development
0.6.0
Features
- Added email channel support with subject line customization and threading capabilities (docs)
- Added new examples demonstrating email channel usage:
- Updated TypeScript definitions for email channel models
- Updated all example dependencies to latest versions
0.5.11
Initial prep for email feature, use 0.6.0 instead
0.5.10
Enhancements
- Add support for client-side usage of
respondmethods for responding to function calls / human contacts. This enables building custom approval UX in your web app / client of choice. - Added some contrived examples for client-side approvals in TS and PY
0.5.9
Fixes
- Ensure HumanLayer cloud errors are correctly forwarded into thrown execeptions
Cloud
- Switched from subscriptions to more flexible credits-based usage model
0.5.8
Features
Functionality to enable lower-level control over approval and human interaction. We had requests from users for more control over these processes compared to higher-order-function approaches.
- Add lower-level
fetch_approval,create_function_call,get_function_callmethods toHumanLayer - Add lower-level
fetch_human_response,create_human_contact,get_human_contactmethods toHumanLayer
Examples:
Enhancements
- Improved Makefile harness for running/testing examples with prerelease version or local API instances
- Updated examples to use
run_idto identify agents in slack and in approval history - Support for python 3.10 - please let us know if you hit any issues with 3.10!
0.5.7
- Support for GripTape Custom Tools
0.5.6
- Support for
reject_optionsandresponse_optionsinrequire_approvalandhuman_as_tool, respectively, allowing custom response buttons in slack and web platforms