Lees weergave

5.2.7

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Bug fixes

  •  

2.6.0

Changes from 2.5.6 to 2.6.0:

Updates:

  • Updated LAV Filters to version 0.80-14-gb6959
  • Updated MPC Video Renderer to version 0.9.19.2490

Fixes:

  • Several small fixes and improvements.

  •  

NVIDIA Driver 591.74

Release Highlights:
Although GeForce Game Ready Drivers and NVIDIA Studio Drivers can be installed on supported notebook GPUs, the original equipment manufacturer (OEM) provides certified drivers for your specific notebook on their website. NVIDIA recommends that you check with your notebook OEM for recommended software updates for your notebook.

Game Ready for DLSS 4.5

This new Game Ready Driver provides the best gaming experience for the latest new games and updates and resolves key issues which were found in the previous release.

Fixed Gaming Bugs
  • Arena Breakout: Infinite: Game stability issues [5748974]

Fixed General Bugs

  • Brightness adjustment issues on various displays [5739739]
  • Colors are not applied correctly when using Digital Vibrance [5718365]
  • Slight banding may be observed on gradients in SDR color mode [5720512]
  • Unable to deselect "Show Notification Tray Icon" from NVIDIA Control Panel [5622213]
  • Using RTX HDR in Vulkan games causes black screen on LG OLED TVs [5763163]

Learn more in our Game Ready Driver article here.

Game Ready  Driver

  •  

Early Stable Update for Desktop

 The Stable channel has been updated to 144.0.7559.59 for Windows and Mac as part of our early stable release to a small percentage of users. A full list of changes in this build is available in the log.

You can find more details about early Stable releases here.

Interested in switching release channels?  Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Srinivas Sista

Google Chrome

  •  

2026.1: Home is where the dashboard is 🥂

Happy New Year! 🥂

I hope you had a wonderful holiday, spending time with your loved ones. We’re kicking off 2026 with a smaller release, as our contributors and maintainers have been enjoying some well-deserved time off as well. But don’t worry, there’s still plenty of good stuff in this release!

Home Assistant 2026.1 brings a refreshed Home dashboard experience on mobile, with summary cards right at your fingertips without extra taps. We’ve also made it easier than ever to navigate to the protocol connecting your devices, such as Zigbee, Z-Wave, Thread and more.

For automation enthusiasts, we’re continuing our work on our even more “human-friendly” triggers, which can be enabled via Home Assistant Labs, so you can build automations using easy-to-understand language instead of technical state changes, like initiating automations if a button is pressed or someone arrives home.

On the integrations front, we welcome eight new integrations to the family, including pet tracking with Fressnapf, energy monitoring with eGauge, and smart heating control with Watts Vision +. Plus, improvements to existing integrations from our amazing community contributors.

I wish you a happy and healthy 2026! Enjoy the release!

../Frenck

A huge thank you to all the contributors who made this release possible! And a special shout-out to @bramkragten, @piitaya, and @abmantis who helped write the release notes for this release. ❤️

Home dashboard improvements

The Home dashboard continues to evolve! In the previous release, we introduced a brand-new sidebar layout, weather tiles, and energy distribution summaries. This release takes it even further with a streamlined mobile experience and better device management.

Streamlined mobile navigation

On mobile devices, the Home dashboard now displays summary cards (like lights, climate, security, media players, weather, and energy) directly at the top of the view, followed by your favorites and areas. This replaces the previous tab-based navigation, giving you instant access to everything that matters without any extra taps.

Screenshot showing the Home dashboard on mobile with summary cards at the top.

The desktop experience remains unchanged, with summaries displayed in the sidebar under the For you heading.

New devices page

Ever wondered where your devices went after you removed them from an area? A new Devices page now appears on the Home dashboard, showing all devices that aren’t currently assigned to a specific area. This makes it easy to find and control those “orphaned” devices without hunting through the settings.

Screenshot showing the Devices page on the Home dashboard for unassigned devices.The new Devices page shows devices not assigned to any area.

Purpose-specific triggers and conditions progress

In the previous release, we introduced purpose-specific triggers and conditions. Instead of thinking in technical state changes, you can now simply pick things like “When a light turns on” or “If the climate is heating” when building your automations.

Screenshot showing the new purpose-specific triggers and conditions in the automation editor.

This feature is still being refined in Home Assistant Labs, but this release adds a lot more trigger types, making this new approach even more useful. Here is an overview of all the new triggers added in this release:

  • Button triggers fire when a button entity has been pressed.
  • Climate triggers now cover all common scenarios. You can trigger on HVAC mode changes, target temperature changes, or when the target temperature crosses a threshold. There are also triggers for current temperature and humidity changes, and even target humidity changes.
  • Device tracker triggers let you automate based on when a device entered or left home, with support for the first device arriving, last device leaving, or any change. Don’t worry, person-specific triggers are coming soon, the device tracker ones were simply available sooner.
  • Humidifier triggers will fire when a humidifier turns on or off, starts humidifying, or starts drying. You can also trigger on humidity changes or when humidity crosses a threshold.
  • Light triggers let you automate based on brightness changes or when brightness crosses a specific threshold.
  • Lock triggers can now fire when a lock is locked, unlocked, opened, or jammed.
  • Scene triggers fire when a scene is activated.
  • Siren triggers fire when sirens are turned on or off.
  • Update trigger fires when an update becomes available.

As the new purpose-specific triggers and conditions all support targeting something bigger than a simple entity (an area, a floor, or even a label), we also redesigned how the target gets displayed on the automation flow.

The goal of this change is to allow you to quickly glance at your automation, and understand its purpose.

Screenshot showing the new target summary in the automation editor.

Head over to Settings > System > Labs to enable purpose-specific triggers and conditions and give them a try!

Easier navigation to protocol dashboards

For an organization that loves the open standards that seamlessly connect our devices, we sure didn’t promote them enough! Most people didn’t even know that Home Assistant has dedicated dashboards for protocols like Zigbee, Z-Wave, and more.

This release reorganizes the Settings page to give these open protocols a more prominent spot. The protocols section now appears right after the core settings, making it much easier to find all the different ways you’re connecting your devices and quickly access some very useful protocol-specific configurations.

Screenshot showing the new protocols section in the Settings page with Matter, Zigbee, Z-Wave, Thread, Bluetooth, KNX, and Insteon.

The menu items only appear when you have the corresponding integration set up, so you’ll only see what’s relevant to your setup.

Integrations

Thanks to our community for keeping pace with the new integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] and improvements to existing ones! You’re all awesome 🥰

New integrations

We welcome the following new integrations in this release:

  • AirPatrol, added by @antondalgren
    Control your air conditioning units through AirPatrol Wi-Fi devices directly from Home Assistant.
  • eGauge, added by @neggert
    Integrate eGauge energy monitors for residential and commercial applications, commonly used with solar energy installations.
  • Fluss+, added by @Marcello17
    Connect your Fluss+ Button to Home Assistant for quick and easy control of your smart home.
  • Fish Audio, added by @noambav
    Use Fish Audio’s text-to-speech service to generate natural-sounding speech in Home Assistant.
  • Fressnapf Tracker, added by @eifinger
    Track the location of your pets and monitor their activity using Fressnapf GPS Trackers.
  • HomeLink, added by @ryanjones-gentex
    Integrate your HomeLink devices to trigger smart home routines from the comfort of your vehicle.
  • Watts Vision +, added by @theobld-ww
    Control your Watts Vision + smart heating system, allowing remote control of individual home heating zones.
  • WebRTC, added by @balloob
    An internal integration providing WebRTC functionality for camera streaming in Home Assistant.

This release also has new virtual integrations. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. These ones are new:

Noteworthy improvements to existing integrations

It is not just new integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that have been added; existing ones are also being constantly improved. Here are some of the noteworthy changes to existing integrations:

  • The Matter integration gained three new diagnostic binary sensors for thermostat remote sensing status from @lboue, helping you keep an eye on your climate system.
  • @joostlek added lots of new sensors to the SmartThings integration, including air quality sensors for PM1, PM2.5, and PM10, hood filter usage tracking, fridge temperature sensors for One Door refrigerators, and fan speed control for range hoods.
  • Roborock owners with Q7 devices can now integrate them thanks to @Lash-L, who added basic read-only support with sensors for battery, status, and cleaning data.
  • @mib1185 improved the FRITZ!SmartHome integration by adding switch entities that let you enable or disable FRITZ! Smart Home routines (triggers) directly from Home Assistant.
  • The Ping integration now tracks packet loss, thanks to @mib1185. The new sensor shows packet loss as a percentage and is disabled by default.
  • @Shulyaka added support for GPT-5.2 and GPT-5.2-pro models to the OpenAI integration, including a new “xhigh” reasoning effort level.
  • The HomeWizard integration gained two new battery charge modes from @DCSBL: zero charge only and zero discharge only, giving you more control over your energy storage.
  • @Abestanis expanded the KNX UI configuration to support time, date, and datetime entities, while @farmio added sensor, scene, text, and fan entities, making it easier than ever to set up your KNX installation.
  • The Squeezebox integration now offers alarm monitoring, thanks to @wollew: you get binary sensors to track if an alarm is upcoming, active, or snoozed, plus a timestamp sensor showing when the next alarm is scheduled.
  • @andrew-codechimp added support for new meal plan types in Mealie 3.7, including dessert, drink, and snack plans, giving you more flexibility in your meal planning.
  • The Hikvision integration gained NVR support from @ptarjan, including extended event detection and automatic discovery of video channels.
  • @FredericMa added a set_time action to the Risco integration, allowing you to sync your local alarm panel’s clock and fix those pesky clock drift issues.
  • The Nederlandse Spoorwegen integration got a major overhaul from @heindrichpaul, splitting the monolithic sensor into over 15 individual sensors, one for each train route, making it much easier to track specific journeys.
  • @zweckj added a beautiful entity picture of your coffee machine to the La Marzocco integration’s main switch entity.
  • The Actron Air integration gained a new switch platform from @kclif9, exposing Away Mode, Continuous Fan, Quiet Mode, and Turbo Mode controls.
  • @Djelibeybi gave the Pooldose integration a massive upgrade: you now get water meter sensors for monitoring levels, number entities for configuring dosing targets, and select entities for controlling your pool’s operating mode.
  • The AirPatrol integration now lets you monitor temperature and humidity, thanks to new sensor entities added by @antondalgren.
  • @mettolen added sensor and number platforms to the Airobot integration, letting you monitor air quality data and control hysteresis band settings.

A huge thank you to all the contributors who improved these integrations, and to everyone else who contributed improvements that aren’t listed here. Your work makes Home Assistant better for everyone! ❤️

Integration quality scale achievements

One thing we are incredibly proud of in Home Assistant is our integration quality scale. This scale helps us and our contributors to ensure integrations are of high quality, maintainable, and provide the best possible user experience.

This release, we celebrate several integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that have improved their quality scale:

This is a huge achievement for these integrations and their maintainers. The effort and dedication required to reach these quality levels is significant, as it involves extensive testing, documentation, error handling, and often complete rewrites of parts of the integration.

A big thank you to all the contributors involved! 👏

Now available to set up from the UI

While most integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] can be set up directly from the Home Assistant user interface, some were only available using YAML configuration. We keep moving more integrations to the UI, making them more accessible for everyone to set up and use.

The following integrations are now available via the Home Assistant UI:

Other noteworthy changes

There are many more improvements in this release; here are some of the other noteworthy changes:

  • If you monitor your home’s oil tank or other slow flow rates, you might appreciate the new gallons per day unit of volume flow rate added by @StaleLoafOfBread. This unit is particularly useful for tracking daily consumption rates of heating oil or similar resources.
  • Got a Matter speaker? @lboue added volume control support to the Matter integration, exposing a volume slider entity for Matter speakers using the LevelControl cluster.
  • The statistics graph card now includes a link to the history panel in its header, just like the history graph card already had. Selecting the link takes you directly to the history with the same entities and time range pre-selected, thanks to @joepio.
  • When using the state badge element in your picture elements card, you can now set a custom name option, giving you more flexibility in your dashboard designs, thanks to @ildar170975.
  • In 2025.11 we improved the logging efficiency by disabling the duplicated log file. This release adds a new configuration option to re-enable it if needed. If you are using the official Terminal & SSH add-on, make sure it is updated to 9.22.0 or higher to be able to use that option. The Advanced SSH & Web Terminal add-on has not been updated yet, but will be soon.
  • For integration developers: @bramkragten added a new choose selector, allowing users to select between different input types in the UI. You’ll start seeing this pop up in various places where flexible input is needed.

Energy dashboard date picker

In the previous release, the Energy dashboard received a big update with real-time power monitoring and downstream water tracking. However, some of you noticed that navigating between periods required scrolling back up, making it harder to compare data while looking at graphs further down the page.

This release fixes that! The date picker is now sticky at the bottom of the screen, so you can easily switch between days, weeks, or months without losing sight of the graph you’re viewing. This also makes it much easier to access on mobile devices.

Screenshot showing the Energy dashboard with the date picker fixed at the bottom of the screen.

ESPHome action responses

ESPHome 2025.12 introduced a powerful new feature called API action responses, enabling true bidirectional communication between your ESPHome devices and Home Assistant. With this release, Home Assistant now fully supports receiving these responses!

Previously, when calling an action on an ESPHome device, communication was one-way: you could send a command, but the device couldn’t send structured data back. Now, your ESPHome devices can return JSON data in response to actions, unlocking new possibilities like querying device configuration, reading sensor values on demand, or retrieving diagnostic information.

This is particularly useful for actions that answer questions rather than perform tasks. For example, you could create an action that returns your device’s current Wi-Fi signal strength, firmware version, or any custom sensor readings, all as structured data you can use in your automations.

To get started, check out the ESPHome documentation on action responses for configuration examples.

Patch releases

We will also release patch releases for Home Assistant 2026.1 in January. These patch releases only contain bug fixes. Our goal is to release a patch release once a week, aiming for Friday.

2026.1.1 - January 12

2026.1.2 - January 16

2026.1.3 - January 23

Need help? Join the community

Home Assistant has a great community of users who are all more than willing to help each other out. So, join us!

Our very active Discord chat server is an excellent place to be, and don’t forget to join our amazing forums.

Found a bug or issue? Please report it in our issue tracker to get it fixed! Or check our help page for guidance on more places you can go.

Are you more into email? Sign up for the Open Home Foundation Newsletter to get the latest news about features, things happening in our community, and other projects that support the Open Home straight into your inbox.

Backward-incompatible changes

We do our best to avoid making changes to existing functionality that might unexpectedly impact your Home Assistant installation. Unfortunately, sometimes it is inevitable.

We always make sure to document these changes to make the transition as easy as possible for you. This release has the following backward-incompatible changes:

Coolmaster

The climate entities provided by the Coolmaster integration now use medium for the medium fan mode; before this change, it was med. If your automations are using med when setting or querying the fan speed, you’ll have to change it to medium.

(@tan-lawrence - #157253) (coolmaster docs)

Tailscale

The “Supports hairpinning” binary sensor has been removed from the Tailscale integration. According to the official Tailscale API documentation, this information is no longer tracked and will always return null.

(@CraigCallender - #156728) (tailscale docs)

UniFi Protect

Select entity state values have been changed from their original mixed-case format to snake_case format with proper translations. This improves consistency and enables proper localization support.

Affected select entities include: chime type, recording mode, infrared mode, status light mode, HDR mode, doorbell text, LCD message, and others.

Example changes:

  • Chime type: Mechanicalmechanical, Digitaldigital
  • Recording mode: Alwaysalways, Detectionsdetections, Nevernever
  • Infrared mode: Autoauto, Onon, AutoNoLEDsOnauto_no_leds_on
  • Status light mode: Onon, Offoff, OnWhenDarkon_when_dark
  • HDR mode: Autoauto, Onon, Offoff

If you have automations, scripts, or templates that check or set the state of UniFi Protect select entities, you need to update them to use the new snake_case values. The UI will continue to display properly translated, human-readable text.

(@RaHehl - #159284) (unifiprotect docs)

Telegram bot

Allowing extra/unused parameters has been removed from the action for Telegram bot. Only users who have used undefined parameters for Telegram bot actions are affected. If you are affected, remove such parameters from your automations and scripts. Supported parameters can be found in the Telegram bot notification actions documentation.

(@hanwg - #158886) (telegram_bot docs)

VeSync

The advancedSleep fan mode has been changed to advanced_sleep. If you have automations or scripts using this fan mode, please update them accordingly.

(@cdnninja - #158956) (vesync docs)

If you are a custom integration developer and want to learn about changes and new features available for your integration, be sure to follow our developer blog.

All changes

Of course, there is a lot more in this release. You can find a list of all changes made here: Full changelog for Home Assistant Core 2026.1.

  •  

5.2.6

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Features

Bug fixes

Others

Npm dependencies

  • 3d68442: npm-dep: bump @inlang/paraglide-js from 2.7.0 to 2.7.1 in /frontend (@dependabot[bot])
  • 8714f93: npm-dep: bump @inlang/paraglide-js from 2.7.1 to 2.7.2 in /frontend (@dependabot[bot])
  • d1c6ee5: npm-dep: bump @sveltejs/kit from 2.49.2 to 2.49.3 in /frontend (@dependabot[bot])
  • dbcdd2b: npm-dep: bump typescript-eslint from 8.50.1 to 8.51.0 in /frontend (@dependabot[bot])
  • 341d6b7: npm-dep: bump typescript-eslint from 8.51.0 to 8.52.0 in /frontend (@dependabot[bot])

  •  

Minecraft 26.1-snapshot-2 (snapshot) Released

26.1 Snapshot 2 (known as 26.1-snapshot-2 in the launcher) is the second snapshot for Java Edition 26.1, released on January 7, 2026. It adds retextured and remodeled baby mobs, remodeled rabbits, craftable name tags, and more. This is the first snapshot released in 2026. Full changelog: https://minecraft.wiki/Java_Edition_26.1-snapshot-2
  •  

Extended Stable Updates for Desktop

 The Extended Stable channel has been updated to 142.0.7444.265 for Windows and Mac which will roll out over the coming days/weeks.

A full list of changes in this build is available in the log. Interested in switching release channels? Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.

Harry Souders
Google Chrome
  •  

Stable Channel Update for Desktop

The Stable channel has been updated to 143.0.7499.192/.193 for Windows/Mac  and 143.0.7499.192 for Linux, which will roll out over the coming days/weeks. A full list of changes in this build is available in the Log.

Security Fixes and Rewards

Note: Access to bug details and links may be kept restricted until a majority of users are updated with a fix. We will also retain restrictions if the bug exists in a third party library that other projects similarly depend on, but haven’t yet fixed.


Note: Access to bug details and links may be kept restricted until a majority of users are updated with a fix.

We will also retain restrictions if the bug exists in a third party library that other projects similarly depend on,

but haven’t yet fixed.


This update includes 1 security fix.

Below, we highlight fixes that were contributed by external researchers.

Please see the Chrome Security Page for more information.



[TBD][463155954] High CVE-2026-0628: Insufficient policy enforcement in WebView tag. Reported by Gal Weizman on 2025-11-23


We would also like to thank all security researchers that worked with us during the development cycle to prevent security bugs from ever reaching the stable channel.

Many of our security bugs are detected using AddressSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, Control Flow Integrity, libFuzzer, or AFL.

Interested in switching release channels? Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Harry Souders
Google Chrome
  •  

Xml Notepad 2.9.0.17

Fix issue #463: Don't add a missing XML declaration on save.
Fix issue #460: Remove formatting for XML elements that are not allowed to contain whitespace (XSD Schema content model is Empty, Mixed, or TextOnly).

  •  

Xml Notepad 2.9.0.16

Fix issue #430: Autoformat on Save with empty XML-Elements.
Formatting Options has new setting to format Xml attributes each on a separate line.

  •  

Xml Notepad 2.9.0.15

Fix issue #425: "No byte order mark on save" option throws stream closed exception add unit test.
Apply dark mode to window titlebar.

  •  

Xml Notepad 2.9.0.14

Fix issue #418: check setttings-file for "read-only".
Fix issue #398: XmlNotepad detects xml-errors at empty nillable xsd:date Elements, but xml is correct

  •  

Xml Notepad 2.9.0.13

Issue 409: Not able to validate XML against multiple not referenced Schemas
Issue 329: Incomplete schema validation of large XML files ( > ~20 MB).
Report invalid characters undex 0x20.
Fix unit tests so they run on Windows 11, including a work around for dotnet/winforms#10244.

  •  

Xml Notepad 2.9.0.12

Issue 324: Generate xml from schema, see ttps://youtu.be/5I_q1oXz02I.
Issue 385:: "XML Reload" removes loaded XSLT. You can now get auto-reload when xml file changes on disk
and you can turn off the prompt in options dialog and it will reapply the XSLT automatically.
update to WebView2 version 1.0.2739.15
Also preserve the selection in the XML tree view across file reloads.

  •  

Xml Notepad 2.9.0.11

Issue 382: Add progress bar on long XSLT transform operations.
Issue 379: Add Preserve Whitespace option so your XSLT transforms can output the whitespace correctly.
Bug 383: Reload of a "not loaded" file
Bug 381: Multiple instances resets the settings
Bug 380: Opening bad XML file keeps watching the file

  •  

Xml Notepad 2.9.0.10

Issue 382: Add progress bar on long XSLT transform operations.
Issue 379: Add Preserve Whitespace option so your XSLT transforms can output the whitespace correctly.
Bug 383: Reload of a "not loaded" file
Bug 381: Multiple instances resets the settings
Bug 380: Opening bad XML file keeps watching the file

  •  

v1.7.0.9

What's Changed

This release is only to provide an updated TestFlight build since the current build has expired.
There are no notable changes since the published 1.7.0.8 version.

🔧 Additional changes

⬆️ Dependency upgrades

Full Changelog: v1.7.0.8...v1.7.0.9

  •  

Part-DB 2.4.0

Part-DB 2.4.0

Tip

If you like Part-DB, consider donating to support the development. Press the sponsor button on the main github page, for more info.

Important

If you are using Part-DB it would be helpful if you fill out this short survey on your usage of Part-DB (Google Forms): https://forms.gle/Q15twx3YYq3qCNfe8

New features

  • Added info provider for Buerklin (thanks to @mkne, #1151)
  • Show part IDs in project BOMs

Improvements

  • Use more performant hash algorithms for cache keys
  • Increase label generator PDF preview height to show PDF toolbar (@mkne , #1171)
  • Show info provider capabilities in fixed order

Bug fixes

  • Fixed exception if DigiKey has no media for a part (#1154)

Miscellaneous

  • Updated dependencies

New Contributors

Full Changelog: v2.3.0...v2.4.0

  •  

Asterisk Release 22.7.0

The Asterisk Development Team would like to announce
the release of asterisk-22.7.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.7.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.7.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.7.0

Links:

Summary:

  • Commits: 52
  • Commit Authors: 16
  • Issues Resolved: 36
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 21.12.0

The Asterisk Development Team would like to announce
the release of asterisk-21.12.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/21.12.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 21.12.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-21.12.0

Links:

Summary:

  • Commits: 20
  • Commit Authors: 10
  • Issues Resolved: 13
  • Security Advisories Resolved: 0

User Notes:

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

Developer Notes:

Commit Authors:

  • Bastian Triller: (1)
  • Ben Ford: (1)
  • George Joseph: (4)
  • Igor Goncharovsky: (1)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (4)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • phoneben: (1)

  •  

Asterisk Release 23.1.0

The Asterisk Development Team would like to announce
the release of asterisk-23.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.1.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.1.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.1.0

Links:

Summary:

  • Commits: 53
  • Commit Authors: 17
  • Issues Resolved: 37
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Allan Nathanson: (1)
  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 20.17.0

The Asterisk Development Team would like to announce
the release of asterisk-20.17.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.17.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 20.17.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-20.17.0

Links:

Summary:

  • Commits: 50
  • Commit Authors: 16
  • Issues Resolved: 34
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (1)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (17)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 23.1.0-rc2

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-23.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.1.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.1.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.1.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 22.7.0-rc2

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-22.7.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.7.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.7.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.7.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  
❌