• Pl chevron_right

      Ignite Realtime Blog: Openfire 4.9.1 release

      news.movim.eu / PlanetJabber • 1 November 2024 • 1 minute

    The Ignite Realtime community is happy to be able to announce the immediate availability of version 4.9.1 of Openfire , its cross-platform real-time collaboration server based on the XMPP protocol!

    4.9.1 is a bugfix and maintenance release. Among its most important fixes is one for a memory leak that affected all recent versions of Openfire (but was likely noticeable only on those servers that see high volume of users logging in and out). The complete list of changes that have gone into this release can be seen in the change log .

    Please give this version a try! You can download installers of Openfire here . Our documentation contains an upgrade guide that helps you update from an older version.

    The integrity of these artifacts can be checked with the following sha256sum values:

    8c489503f24e35003e2930873037950a4a08bc276be1338b6a0928db0f0eb37d  openfire-4.9.1-1.noarch.rpm
    1e80a119c4e1d0b57d79aa83cbdbccf138a1dc8a4086ac10ae851dec4f78742d  openfire_4.9.1_all.deb
    69a946dacd5e4f515aa4d935c05978b5a60279119379bcfe0df477023e7a6f05  openfire_4_9_1.dmg
    c4d7b15ab6814086ce5e8a1d6b243a442b8743a21282a1a4c5b7d615f9e52638  openfire_4_9_1.exe
    d9f0dd50600ee726802bba8bc8415bf9f0f427be54933e6c987cef7cca012bb4  openfire_4_9_1.tar.gz
    de45aaf1ad01235f2b812db5127af7d3dc4bc63984a9e4852f1f3d5332df7659  openfire_4_9_1_x64.exe
    89b61cbdab265981fad4ab4562066222a2c3a9a68f83b6597ab2cb5609b2b1d7  openfire_4_9_1.zip
    

    We would love to hear from you! If you have any questions, please stop by our community forum or our live groupchat . We are always looking for volunteers interested in helping out with Openfire development!

    For other release announcements and news follow us on Mastodon or X

    1 post - 1 participant

    Read full topic

    • Pl chevron_right

      Ignite Realtime Blog: Openfire 4.9.1 release

      news.movim.eu / PlanetJabber • 1 November 2024 • 1 minute

    The Ignite Realtime community is happy to be able to announce the immediate availability of version 4.9.1 of Openfire , its cross-platform real-time collaboration server based on the XMPP protocol!

    4.9.1 is a bugfix and maintenance release. Among its most important fixes is one for a memory leak that affected all recent versions of Openfire (but was likely noticeable only on those servers that see high volume of users logging in and out). The complete list of changes that have gone into this release can be seen in the change log .

    Please give this version a try! You can download installers of Openfire here . Our documentation contains an upgrade guide that helps you update from an older version.

    The integrity of these artifacts can be checked with the following sha256sum values:

    8c489503f24e35003e2930873037950a4a08bc276be1338b6a0928db0f0eb37d  openfire-4.9.1-1.noarch.rpm
    1e80a119c4e1d0b57d79aa83cbdbccf138a1dc8a4086ac10ae851dec4f78742d  openfire_4.9.1_all.deb
    69a946dacd5e4f515aa4d935c05978b5a60279119379bcfe0df477023e7a6f05  openfire_4_9_1.dmg
    c4d7b15ab6814086ce5e8a1d6b243a442b8743a21282a1a4c5b7d615f9e52638  openfire_4_9_1.exe
    d9f0dd50600ee726802bba8bc8415bf9f0f427be54933e6c987cef7cca012bb4  openfire_4_9_1.tar.gz
    de45aaf1ad01235f2b812db5127af7d3dc4bc63984a9e4852f1f3d5332df7659  openfire_4_9_1_x64.exe
    89b61cbdab265981fad4ab4562066222a2c3a9a68f83b6597ab2cb5609b2b1d7  openfire_4_9_1.zip
    

    We would love to hear from you! If you have any questions, please stop by our community forum or our live groupchat . We are always looking for volunteers interested in helping out with Openfire development!

    For other release announcements and news follow us on Mastodon or X

    1 post - 1 participant

    Read full topic

    • Pl chevron_right

      Ignite Realtime Blog: Openfire 4.9.1 release

      news.movim.eu / PlanetJabber • 1 November 2024 • 1 minute

    The Ignite Realtime community is happy to be able to announce the immediate availability of version 4.9.1 of Openfire , its cross-platform real-time collaboration server based on the XMPP protocol!

    4.9.1 is a bugfix and maintenance release. Among its most important fixes is one for a memory leak that affected all recent versions of Openfire (but was likely noticeable only on those servers that see high volume of users logging in and out). The complete list of changes that have gone into this release can be seen in the change log .

    Please give this version a try! You can download installers of Openfire here . Our documentation contains an upgrade guide that helps you update from an older version.

    The integrity of these artifacts can be checked with the following sha256sum values:

    8c489503f24e35003e2930873037950a4a08bc276be1338b6a0928db0f0eb37d  openfire-4.9.1-1.noarch.rpm
    1e80a119c4e1d0b57d79aa83cbdbccf138a1dc8a4086ac10ae851dec4f78742d  openfire_4.9.1_all.deb
    69a946dacd5e4f515aa4d935c05978b5a60279119379bcfe0df477023e7a6f05  openfire_4_9_1.dmg
    c4d7b15ab6814086ce5e8a1d6b243a442b8743a21282a1a4c5b7d615f9e52638  openfire_4_9_1.exe
    d9f0dd50600ee726802bba8bc8415bf9f0f427be54933e6c987cef7cca012bb4  openfire_4_9_1.tar.gz
    de45aaf1ad01235f2b812db5127af7d3dc4bc63984a9e4852f1f3d5332df7659  openfire_4_9_1_x64.exe
    89b61cbdab265981fad4ab4562066222a2c3a9a68f83b6597ab2cb5609b2b1d7  openfire_4_9_1.zip
    

    We would love to hear from you! If you have any questions, please stop by our community forum or our live groupchat . We are always looking for volunteers interested in helping out with Openfire development!

    For other release announcements and news follow us on Mastodon or X

    1 post - 1 participant

    Read full topic

    • Pl chevron_right

      Erlang Solutions: Why you should consider machine learning for business

      news.movim.eu / PlanetJabber • 31 October 2024 • 10 minutes

    Adopting machine learning for business is necessary for companies that want to sharpen their competitive industries. With the global market for machine learning projected to reach an impressive $210 billion by 2030 , businesses are keen to seek active solutions that streamline processes and improve customer interactions.

    While organisations may already employ some form of data analysis, traditional methods can need more sophistication to address the complexities of today’s market. Businesses that consider optimising machines unlock valuable data insights, make accurate predictions and deliver personalised experiences that truly resonate with customers, ultimately driving growth and efficiency.

    What is Machine Learning?

    Machine learning (ML) is a subset of artificial intelligence (AI). It uses machine learning algorithms , designed to learn from data, identify patterns, and make predictions or decisions, without explicit programming. By analysing patterns in the data, a machine learning algorithm identifies key features that define a particular data point, allowing it to apply this knowledge to new, unseen information.

    Fundamentally data-driven, machine learning relies on vast information to learn, adapt, and improve over time. Its predictive capabilities allow models to forecast future outcomes based on the patterns they uncover. These models are generalisable, so they can apply insights from existing data to make decisions or predictions in unfamiliar situations.

    You can read more about machine learning and AI in our previous post .

    Approaches to Machine Learning

    Machine learning for business typically involves two key approaches: supervised and unsupervised learning , each suited to different types of problems. Below, we explain each approach and provide examples of machine learning use cases where these techniques are applied effectively.

    • Supervised Machine Learning: This approach demands labelled data, where the input is matched with the correct output. The algorithms learn to map inputs to outputs based on this training set, honing their accuracy over time.
    • Unsupervised Machine Learning: In contrast, unsupervised learning tackles unlabelled data, compelling the algorithm to uncover patterns and structures independently. This method can involve tasks like clustering and dimensionality reduction. While unsupervised techniques are powerful, interpreting their results can be tricky, leading to challenges in assessing whether the model is truly on the right track.
    Machine learning for business Supervised vs unsupervised learning

    Example of Supervised vs unsupervised learning

    Supervised learning uses historical data to make predictions, helping businesses optimise performance based on past outcomes. For example, a retailer might use supervised learning to predict customer churn . By feeding the algorithm data such as customer purchase history and engagement metrics, it learns to identify patterns that indicate a high risk of churn, allowing the business to implement proactive retention strategies.

    Unsupervised learning , on the other hand, uncovers hidden patterns within data. It is particularly useful for discovering new customer segments without prior labels. For instance, an e-commerce platform might use unsupervised learning to group customers by their browsing habits, discovering niche audiences that were previously overlooked.

    The Impact of Machine Learning on Business

    A recent survey by McKinsey revealed that 56% of organisations surveyed are using machine learning in at least one business function to optimise their operations. This growing trend shows how machine learning for business is becoming integral to staying competitive.

    The AI market as a whole is also on an impressive growth trajectory, projected to reach USD 407.0 billion by 2027 .

    Machine learning for business AI Global Market Forecast to 2030

    AI Global Market Forecast to 2030

    We’re expected to see an astounding compound growth rate (CAGR) of 35.7% by 2030, proving that business analytics is no longer just a trend; it’s moving into a core component of modern enterprises.

    Machine Learning for Business Use Cases

    Machine learning can be used in numerous ways across industries to enhance workflows. From image recognition to fraud detection , businesses are actively using AI to streamline operations.

    Image Recognition

    Image recognition, or image classification is a powerful machine learning technique used to identify and classify objects or features in digital images.

    Artificial intelligence (AI) and machine learning (ML) are revolutionising image recognition systems by uncovering hidden patterns in images that may not be visible to the human eye. This technology allows these systems to make independent and informed decisions, significantly reducing the reliance on human input and feedback.

    As a result, visual data streams can be processed automatically at an ever-increasing scale, streamlining operations and enhancing efficiency. By harnessing the power of AI, businesses can leverage these insights to improve their decision-making processes and gain a competitive edge in their respective markets.

    It plays a crucial role in tasks like pattern recognition, face detection, and facial recognition, making it indispensable in security and social media sectors.

    Fraud Detection

    With financial institutions handling millions of transactions daily, distinguishing between legitimate and fraudulent activity can be a challenge. As online banking and cashless payments grow, so too has the volume of fraud. A 2023 report from TransUnion revealed a 122% increase in digital fraud attempts in the US between 2019 and 2022.

    Machine learning helps businesses by flagging suspicious transactions in real-time, with companies like Mastercard using AI to predict and prevent fraud before it occurs, protecting consumers from potential theft.

    Speech Recognition

    Voice commands have become a common feature in smart devices, from setting timers to searching for shows.

    Thanks to machine learning, devices like Google Nest speakers and Amazon Blink security systems can recognise and act on voice inputs, making hands-free operation more convenient for users in everyday situations.

    Improved Healthcare

    Machine learning in healthcare has led to major improvements in patient care and medical discoveries. By analysing vast amounts of healthcare data, machine learning enhances the accuracy of diagnoses, optimises treatments, and accelerates research outcomes.

    For instance, AI systems are already employed in radiology to detect diseases in medical images, such as identifying cancerous growths. Additionally, machine learning is playing a crucial role in genomic research by uncovering patterns linked to genetic disorders and potential therapies. These advancements are paving the way for improved diagnostics and faster medical research, offering tremendous potential for the future of healthcare.

    Key applications of machine learning in healthcare include:

    • Developing predictive modelling
    • Improving diagnostic accuracy
    • Personalising patient care
    • Automating clinical workflows
    • Enhancing patient interaction

    Machine learning in healthcare utilises algorithms and statistical models to analyse large medical datasets, facilitating better decision-making and personalised care. As a subset of AI, machine learning identifies patterns, makes predictions, and continuously improves by learning from data. Different types of learning, including supervised and unsupervised learning, find applications in disease classification and personalised treatment recommendations.

    Chatbots

    Many businesses rely on customer support to maintain satisfaction. However, staffing trained specialists can be expensive and inefficient. AI-powered chatbots, equipped with natural language processing (NLP), assist by handling basic customer queries. This frees up human agents to focus on more complicated issues. Companies can provide more efficient and effective support without overburdening their teams.

    Each of these applications offers businesses the chance to streamline operations and improve customer experiences.

    Machine Learning Case Studies

    Machine learning for business is transforming industries by enabling companies to enhance their operations, improve customer experiences, and drive innovation.

    Here are a few machine learning case studies showing how leading organisations have integrated machine learning into their business strategies.

    PayPal

    PayPal, a worldwide payment platform, faced huge challenges in identifying and preventing fraudulent transactions.

    Machine learning for business PayPal case study


    To tackle this issue, the company implemented machine learning algorithms designed for fraud detection . These algorithms analyse various aspects of each transaction, including the transaction location, the device used, and the user’s historical behaviour. This approach has significantly enhanced PayPal’s ability to protect users and maintain the integrity of its payment platform.

    YouTube

    YouTube has long employed machine learning to optimise its operations, particularly through its recommendation algorithms . By analysing vast amounts of historical data, YouTube suggests videos to its viewers based on their preferences. Currently, the platform processes over 80 billion data points for each user, requiring large-scale neural networks that have been in use since 2008 to effectively manage this immense dataset.

    Machine learning for business YouTube case study

    Dell

    Recognising the importance of data in marketing, Dell’s marketing team sought a data-driven solution to enhance response rates and understand the effectiveness of various words and phrases. Dell partnered with Persado, a firm that leverages AI to create compelling marketing content. This collab led to an overhaul of Dell’s email marketing strategy, resulting in a 22% average increase in page visits and a 50% boost in click-through rates (CTR). Dell now utilises machine learning methods to refine its marketing strategies across emails, banners, direct mail, Facebook ads, and radio content.

    Machine learning for business case study Dell

    Tesla

    Tesla employs machine learning to enhance the performance and features of its electric vehicles. A key application is its Autopilot system , which combines cameras, sensors, and machine learning algorithms to provide advanced driver assistance features such as lane centring, adaptive cruise control, and automatic emergency braking.

    case study Tesla

    The Autopilot system uses deep neural networks to process vast amounts of real-world driving data, enabling it to predict driving behaviour and identify potential hazards. Additionally, Tesla leverages machine learning in its battery management systems to optimise battery performance and longevity by predicting behaviour under various conditions.

    Netflix

    Netflix is a leader in personalised content recommendations. It uses machine learning to analyse user viewing habits and suggest shows and movies tailored to individual preferences. This feature has proven essential for improving customer satisfaction and increasing subscription renewals. To develop this system, Netflix utilises viewing data—including viewing durations, metadata, release dates, timestamps etc. Netflix then employs collaborative filtering, matrix factorisation, and deep learning techniques to accurately predict user preferences.

    case study Netflix

    Benefits of Machine Learning in Business

    If you’re still contemplating the value of machine learning for your business, consider the following key benefits:

    Automation Across Business Processes Machine learning automates key business functions, from marketing to manufacturing, boosting yield by up to 30%, reducing scrap, and cutting testing costs. This frees employees from more creative, strategic tasks.
    Efficient Predictive Maintenance
    ML helps manufacturing predict equipment failures, reducing downtime and extending machinery lifespan, ensuring operational continuity.
    Enhanced Customer Experience and Accurate Sales Forecasts Retailers use machine learning to analyse consumer behaviour, accurately forecast demand, and personalise offers, greatly improving customer experience.
    Data-Driven Decision-Making ML algorithms quickly extract insights from data, enabling faster, more informed decision-making and helping businesses develop effective strategies.
    Error Reduction By automating tasks, machine learning reduces human error, so employees to focus on complex tasks, significantly minimising mistakes.
    Increased Operational Efficiency Automation and error reduction from ML lead to efficiency gains. AI systems like chatbots boost productivity by up to 54%, operating 24/7 without fatigue.
    Enhanced Decision-Making ML processes large data sets swiftly, turning information into objective, data-driven decisions, removing human bias and improving trend analysis.
    Addressing Complex Business Issues Machine learning tackles complex challenges by streamlining operations and boosting performance, enhancing productivity and scalability.


    As organisations increasingly adopt machine learning, they position themselves to not only meet current demands but poise them for future innovation.

    Elixir and Erlang in Machine Learning

    As organisations explore machine learning tools, many are turning to Erlang and Elixir programming languages to develop customised solutions that cater to their needs. Erlang’s fault tolerance and scalability make it ideal for AI applications, as described in our blog on adopting AI and machine learning for business . Additionally, Elixir’s concurrency features and simplicity enable businesses to build high-performance AI applications.

    Learn more about how to build a machine-learning project in Elixir here .

    As organisations become more familiar with AI and machine learning tools, many are turning to Erlang and Elixir programming languages to develop customised solutions that cater to their needs.

    Elixir, built on the Erlang virtual machine (BEAM), delivers top concurrency and low latency. Designed for real-time, distributed systems, Erlang prioritises fault tolerance and scalability, and Elixir builds on this foundation with a high-level, functional programming approach. By using pure functions and immutable data, Elixir reduces complexity and minimises unexpected behaviours in code. It excels at handling multiple tasks simultaneously, making it ideal for AI applications that need to process large amounts of data without compromising performance.

    Elixir’s simplicity in problem-solving also aligns perfectly with AI development, where reliable and straightforward algorithms are essential for machine learning. Furthermore, its distribution features make deploying AI applications across multiple machines easier, meeting the high computational demands of AI systems.

    With a rich ecosystem of libraries and tools, Elixir streamlines development, so AI applications are scalable, efficient, and reliable. As AI and machine learning become increasingly vital to business success, creating high-performing solutions will become a key competitive advantage.

    Final Thoughts

    Embracing machine learning for business is no longer optional for companies that want to remain competitive. Machine learning tools empower businesses to make faster, data-driven decisions, streamline operations, and offer personalised customer experiences. Contact the Erlang Solutions team today if you’d like to discuss building AI systems using Elixir and Erlang or for more insights into implementing machine learning solutions,

    The post Why you should consider machine learning for business appeared first on Erlang Solutions .

    • Pl chevron_right

      Erlang Solutions: Why you should consider machine learning for business

      news.movim.eu / PlanetJabber • 31 October 2024 • 10 minutes

    Adopting machine learning for business is necessary for companies that want to sharpen their competitive industries. With the global market for machine learning projected to reach an impressive $210 billion by 2030 , businesses are keen to seek active solutions that streamline processes and improve customer interactions.

    While organisations may already employ some form of data analysis, traditional methods can need more sophistication to address the complexities of today’s market. Businesses that consider optimising machines unlock valuable data insights, make accurate predictions and deliver personalised experiences that truly resonate with customers, ultimately driving growth and efficiency.

    What is Machine Learning?

    Machine learning (ML) is a subset of artificial intelligence (AI). It uses machine learning algorithms , designed to learn from data, identify patterns, and make predictions or decisions, without explicit programming. By analysing patterns in the data, a machine learning algorithm identifies key features that define a particular data point, allowing it to apply this knowledge to new, unseen information.

    Fundamentally data-driven, machine learning relies on vast information to learn, adapt, and improve over time. Its predictive capabilities allow models to forecast future outcomes based on the patterns they uncover. These models are generalisable, so they can apply insights from existing data to make decisions or predictions in unfamiliar situations.

    You can read more about machine learning and AI in our previous post .

    Approaches to Machine Learning

    Machine learning for business typically involves two key approaches: supervised and unsupervised learning , each suited to different types of problems. Below, we explain each approach and provide examples of machine learning use cases where these techniques are applied effectively.

    • Supervised Machine Learning: This approach demands labelled data, where the input is matched with the correct output. The algorithms learn to map inputs to outputs based on this training set, honing their accuracy over time.
    • Unsupervised Machine Learning: In contrast, unsupervised learning tackles unlabelled data, compelling the algorithm to uncover patterns and structures independently. This method can involve tasks like clustering and dimensionality reduction. While unsupervised techniques are powerful, interpreting their results can be tricky, leading to challenges in assessing whether the model is truly on the right track.
    Machine learning for business Supervised vs unsupervised learning

    Example of Supervised vs unsupervised learning

    Supervised learning uses historical data to make predictions, helping businesses optimise performance based on past outcomes. For example, a retailer might use supervised learning to predict customer churn . By feeding the algorithm data such as customer purchase history and engagement metrics, it learns to identify patterns that indicate a high risk of churn, allowing the business to implement proactive retention strategies.

    Unsupervised learning , on the other hand, uncovers hidden patterns within data. It is particularly useful for discovering new customer segments without prior labels. For instance, an e-commerce platform might use unsupervised learning to group customers by their browsing habits, discovering niche audiences that were previously overlooked.

    The Impact of Machine Learning on Business

    A recent survey by McKinsey revealed that 56% of organisations surveyed are using machine learning in at least one business function to optimise their operations. This growing trend shows how machine learning for business is becoming integral to staying competitive.

    The AI market as a whole is also on an impressive growth trajectory, projected to reach USD 407.0 billion by 2027 .

    Machine learning for business AI Global Market Forecast to 2030

    AI Global Market Forecast to 2030

    We’re expected to see an astounding compound growth rate (CAGR) of 35.7% by 2030, proving that business analytics is no longer just a trend; it’s moving into a core component of modern enterprises.

    Machine Learning for Business Use Cases

    Machine learning can be used in numerous ways across industries to enhance workflows. From image recognition to fraud detection , businesses are actively using AI to streamline operations.

    Image Recognition

    Image recognition, or image classification is a powerful machine learning technique used to identify and classify objects or features in digital images.

    Artificial intelligence (AI) and machine learning (ML) are revolutionising image recognition systems by uncovering hidden patterns in images that may not be visible to the human eye. This technology allows these systems to make independent and informed decisions, significantly reducing the reliance on human input and feedback.

    As a result, visual data streams can be processed automatically at an ever-increasing scale, streamlining operations and enhancing efficiency. By harnessing the power of AI, businesses can leverage these insights to improve their decision-making processes and gain a competitive edge in their respective markets.

    It plays a crucial role in tasks like pattern recognition, face detection, and facial recognition, making it indispensable in security and social media sectors.

    Fraud Detection

    With financial institutions handling millions of transactions daily, distinguishing between legitimate and fraudulent activity can be a challenge. As online banking and cashless payments grow, so too has the volume of fraud. A 2023 report from TransUnion revealed a 122% increase in digital fraud attempts in the US between 2019 and 2022.

    Machine learning helps businesses by flagging suspicious transactions in real-time, with companies like Mastercard using AI to predict and prevent fraud before it occurs, protecting consumers from potential theft.

    Speech Recognition

    Voice commands have become a common feature in smart devices, from setting timers to searching for shows.

    Thanks to machine learning, devices like Google Nest speakers and Amazon Blink security systems can recognise and act on voice inputs, making hands-free operation more convenient for users in everyday situations.

    Improved Healthcare

    Machine learning in healthcare has led to major improvements in patient care and medical discoveries. By analysing vast amounts of healthcare data, machine learning enhances the accuracy of diagnoses, optimises treatments, and accelerates research outcomes.

    For instance, AI systems are already employed in radiology to detect diseases in medical images, such as identifying cancerous growths. Additionally, machine learning is playing a crucial role in genomic research by uncovering patterns linked to genetic disorders and potential therapies. These advancements are paving the way for improved diagnostics and faster medical research, offering tremendous potential for the future of healthcare.

    Key applications of machine learning in healthcare include:

    • Developing predictive modelling
    • Improving diagnostic accuracy
    • Personalising patient care
    • Automating clinical workflows
    • Enhancing patient interaction

    Machine learning in healthcare utilises algorithms and statistical models to analyse large medical datasets, facilitating better decision-making and personalised care. As a subset of AI, machine learning identifies patterns, makes predictions, and continuously improves by learning from data. Different types of learning, including supervised and unsupervised learning, find applications in disease classification and personalised treatment recommendations.

    Chatbots

    Many businesses rely on customer support to maintain satisfaction. However, staffing trained specialists can be expensive and inefficient. AI-powered chatbots, equipped with natural language processing (NLP), assist by handling basic customer queries. This frees up human agents to focus on more complicated issues. Companies can provide more efficient and effective support without overburdening their teams.

    Each of these applications offers businesses the chance to streamline operations and improve customer experiences.

    Machine Learning Case Studies

    Machine learning for business is transforming industries by enabling companies to enhance their operations, improve customer experiences, and drive innovation.

    Here are a few machine learning case studies showing how leading organisations have integrated machine learning into their business strategies.

    PayPal

    PayPal, a worldwide payment platform, faced huge challenges in identifying and preventing fraudulent transactions.

    Machine learning for business PayPal case study


    To tackle this issue, the company implemented machine learning algorithms designed for fraud detection . These algorithms analyse various aspects of each transaction, including the transaction location, the device used, and the user’s historical behaviour. This approach has significantly enhanced PayPal’s ability to protect users and maintain the integrity of its payment platform.

    YouTube

    YouTube has long employed machine learning to optimise its operations, particularly through its recommendation algorithms . By analysing vast amounts of historical data, YouTube suggests videos to its viewers based on their preferences. Currently, the platform processes over 80 billion data points for each user, requiring large-scale neural networks that have been in use since 2008 to effectively manage this immense dataset.

    Machine learning for business YouTube case study

    Dell

    Recognising the importance of data in marketing, Dell’s marketing team sought a data-driven solution to enhance response rates and understand the effectiveness of various words and phrases. Dell partnered with Persado, a firm that leverages AI to create compelling marketing content. This collab led to an overhaul of Dell’s email marketing strategy, resulting in a 22% average increase in page visits and a 50% boost in click-through rates (CTR). Dell now utilises machine learning methods to refine its marketing strategies across emails, banners, direct mail, Facebook ads, and radio content.

    Machine learning for business case study Dell

    Tesla

    Tesla employs machine learning to enhance the performance and features of its electric vehicles. A key application is its Autopilot system , which combines cameras, sensors, and machine learning algorithms to provide advanced driver assistance features such as lane centring, adaptive cruise control, and automatic emergency braking.

    case study Tesla

    The Autopilot system uses deep neural networks to process vast amounts of real-world driving data, enabling it to predict driving behaviour and identify potential hazards. Additionally, Tesla leverages machine learning in its battery management systems to optimise battery performance and longevity by predicting behaviour under various conditions.

    Netflix

    Netflix is a leader in personalised content recommendations. It uses machine learning to analyse user viewing habits and suggest shows and movies tailored to individual preferences. This feature has proven essential for improving customer satisfaction and increasing subscription renewals. To develop this system, Netflix utilises viewing data—including viewing durations, metadata, release dates, timestamps etc. Netflix then employs collaborative filtering, matrix factorisation, and deep learning techniques to accurately predict user preferences.

    case study Netflix

    Benefits of Machine Learning in Business

    If you’re still contemplating the value of machine learning for your business, consider the following key benefits:

    Automation Across Business Processes Machine learning automates key business functions, from marketing to manufacturing, boosting yield by up to 30%, reducing scrap, and cutting testing costs. This frees employees from more creative, strategic tasks.
    Efficient Predictive Maintenance
    ML helps manufacturing predict equipment failures, reducing downtime and extending machinery lifespan, ensuring operational continuity.
    Enhanced Customer Experience and Accurate Sales Forecasts Retailers use machine learning to analyse consumer behaviour, accurately forecast demand, and personalise offers, greatly improving customer experience.
    Data-Driven Decision-Making ML algorithms quickly extract insights from data, enabling faster, more informed decision-making and helping businesses develop effective strategies.
    Error Reduction By automating tasks, machine learning reduces human error, so employees to focus on complex tasks, significantly minimising mistakes.
    Increased Operational Efficiency Automation and error reduction from ML lead to efficiency gains. AI systems like chatbots boost productivity by up to 54%, operating 24/7 without fatigue.
    Enhanced Decision-Making ML processes large data sets swiftly, turning information into objective, data-driven decisions, removing human bias and improving trend analysis.
    Addressing Complex Business Issues Machine learning tackles complex challenges by streamlining operations and boosting performance, enhancing productivity and scalability.


    As organisations increasingly adopt machine learning, they position themselves to not only meet current demands but poise them for future innovation.

    Elixir and Erlang in Machine Learning

    As organisations explore machine learning tools, many are turning to Erlang and Elixir programming languages to develop customised solutions that cater to their needs. Erlang’s fault tolerance and scalability make it ideal for AI applications, as described in our blog on adopting AI and machine learning for business . Additionally, Elixir’s concurrency features and simplicity enable businesses to build high-performance AI applications.

    Learn more about how to build a machine-learning project in Elixir here .

    As organisations become more familiar with AI and machine learning tools, many are turning to Erlang and Elixir programming languages to develop customised solutions that cater to their needs.

    Elixir, built on the Erlang virtual machine (BEAM), delivers top concurrency and low latency. Designed for real-time, distributed systems, Erlang prioritises fault tolerance and scalability, and Elixir builds on this foundation with a high-level, functional programming approach. By using pure functions and immutable data, Elixir reduces complexity and minimises unexpected behaviours in code. It excels at handling multiple tasks simultaneously, making it ideal for AI applications that need to process large amounts of data without compromising performance.

    Elixir’s simplicity in problem-solving also aligns perfectly with AI development, where reliable and straightforward algorithms are essential for machine learning. Furthermore, its distribution features make deploying AI applications across multiple machines easier, meeting the high computational demands of AI systems.

    With a rich ecosystem of libraries and tools, Elixir streamlines development, so AI applications are scalable, efficient, and reliable. As AI and machine learning become increasingly vital to business success, creating high-performing solutions will become a key competitive advantage.

    Final Thoughts

    Embracing machine learning for business is no longer optional for companies that want to remain competitive. Machine learning tools empower businesses to make faster, data-driven decisions, streamline operations, and offer personalised customer experiences. Contact the Erlang Solutions team today if you’d like to discuss building AI systems using Elixir and Erlang or for more insights into implementing machine learning solutions,

    The post Why you should consider machine learning for business appeared first on Erlang Solutions .

    • Pl chevron_right

      Erlang Solutions: Why you should consider machine learning for business

      news.movim.eu / PlanetJabber • 31 October 2024 • 10 minutes

    Adopting machine learning for business is necessary for companies that want to sharpen their competitive industries. With the global market for machine learning projected to reach an impressive $210 billion by 2030 , businesses are keen to seek active solutions that streamline processes and improve customer interactions.

    While organisations may already employ some form of data analysis, traditional methods can need more sophistication to address the complexities of today’s market. Businesses that consider optimising machines unlock valuable data insights, make accurate predictions and deliver personalised experiences that truly resonate with customers, ultimately driving growth and efficiency.

    What is Machine Learning?

    Machine learning (ML) is a subset of artificial intelligence (AI). It uses machine learning algorithms , designed to learn from data, identify patterns, and make predictions or decisions, without explicit programming. By analysing patterns in the data, a machine learning algorithm identifies key features that define a particular data point, allowing it to apply this knowledge to new, unseen information.

    Fundamentally data-driven, machine learning relies on vast information to learn, adapt, and improve over time. Its predictive capabilities allow models to forecast future outcomes based on the patterns they uncover. These models are generalisable, so they can apply insights from existing data to make decisions or predictions in unfamiliar situations.

    You can read more about machine learning and AI in our previous post .

    Approaches to Machine Learning

    Machine learning for business typically involves two key approaches: supervised and unsupervised learning , each suited to different types of problems. Below, we explain each approach and provide examples of machine learning use cases where these techniques are applied effectively.

    • Supervised Machine Learning: This approach demands labelled data, where the input is matched with the correct output. The algorithms learn to map inputs to outputs based on this training set, honing their accuracy over time.
    • Unsupervised Machine Learning: In contrast, unsupervised learning tackles unlabelled data, compelling the algorithm to uncover patterns and structures independently. This method can involve tasks like clustering and dimensionality reduction. While unsupervised techniques are powerful, interpreting their results can be tricky, leading to challenges in assessing whether the model is truly on the right track.
    Machine learning for business Supervised vs unsupervised learning

    Example of Supervised vs unsupervised learning

    Supervised learning uses historical data to make predictions, helping businesses optimise performance based on past outcomes. For example, a retailer might use supervised learning to predict customer churn . By feeding the algorithm data such as customer purchase history and engagement metrics, it learns to identify patterns that indicate a high risk of churn, allowing the business to implement proactive retention strategies.

    Unsupervised learning , on the other hand, uncovers hidden patterns within data. It is particularly useful for discovering new customer segments without prior labels. For instance, an e-commerce platform might use unsupervised learning to group customers by their browsing habits, discovering niche audiences that were previously overlooked.

    The Impact of Machine Learning on Business

    A recent survey by McKinsey revealed that 56% of organisations surveyed are using machine learning in at least one business function to optimise their operations. This growing trend shows how machine learning for business is becoming integral to staying competitive.

    The AI market as a whole is also on an impressive growth trajectory, projected to reach USD 407.0 billion by 2027 .

    Machine learning for business AI Global Market Forecast to 2030

    AI Global Market Forecast to 2030

    We’re expected to see an astounding compound growth rate (CAGR) of 35.7% by 2030, proving that business analytics is no longer just a trend; it’s moving into a core component of modern enterprises.

    Machine Learning for Business Use Cases

    Machine learning can be used in numerous ways across industries to enhance workflows. From image recognition to fraud detection , businesses are actively using AI to streamline operations.

    Image Recognition

    Image recognition, or image classification is a powerful machine learning technique used to identify and classify objects or features in digital images.

    Artificial intelligence (AI) and machine learning (ML) are revolutionising image recognition systems by uncovering hidden patterns in images that may not be visible to the human eye. This technology allows these systems to make independent and informed decisions, significantly reducing the reliance on human input and feedback.

    As a result, visual data streams can be processed automatically at an ever-increasing scale, streamlining operations and enhancing efficiency. By harnessing the power of AI, businesses can leverage these insights to improve their decision-making processes and gain a competitive edge in their respective markets.

    It plays a crucial role in tasks like pattern recognition, face detection, and facial recognition, making it indispensable in security and social media sectors.

    Fraud Detection

    With financial institutions handling millions of transactions daily, distinguishing between legitimate and fraudulent activity can be a challenge. As online banking and cashless payments grow, so too has the volume of fraud. A 2023 report from TransUnion revealed a 122% increase in digital fraud attempts in the US between 2019 and 2022.

    Machine learning helps businesses by flagging suspicious transactions in real-time, with companies like Mastercard using AI to predict and prevent fraud before it occurs, protecting consumers from potential theft.

    Speech Recognition

    Voice commands have become a common feature in smart devices, from setting timers to searching for shows.

    Thanks to machine learning, devices like Google Nest speakers and Amazon Blink security systems can recognise and act on voice inputs, making hands-free operation more convenient for users in everyday situations.

    Improved Healthcare

    Machine learning in healthcare has led to major improvements in patient care and medical discoveries. By analysing vast amounts of healthcare data, machine learning enhances the accuracy of diagnoses, optimises treatments, and accelerates research outcomes.

    For instance, AI systems are already employed in radiology to detect diseases in medical images, such as identifying cancerous growths. Additionally, machine learning is playing a crucial role in genomic research by uncovering patterns linked to genetic disorders and potential therapies. These advancements are paving the way for improved diagnostics and faster medical research, offering tremendous potential for the future of healthcare.

    Key applications of machine learning in healthcare include:

    • Developing predictive modelling
    • Improving diagnostic accuracy
    • Personalising patient care
    • Automating clinical workflows
    • Enhancing patient interaction

    Machine learning in healthcare utilises algorithms and statistical models to analyse large medical datasets, facilitating better decision-making and personalised care. As a subset of AI, machine learning identifies patterns, makes predictions, and continuously improves by learning from data. Different types of learning, including supervised and unsupervised learning, find applications in disease classification and personalised treatment recommendations.

    Chatbots

    Many businesses rely on customer support to maintain satisfaction. However, staffing trained specialists can be expensive and inefficient. AI-powered chatbots, equipped with natural language processing (NLP), assist by handling basic customer queries. This frees up human agents to focus on more complicated issues. Companies can provide more efficient and effective support without overburdening their teams.

    Each of these applications offers businesses the chance to streamline operations and improve customer experiences.

    Machine Learning Case Studies

    Machine learning for business is transforming industries by enabling companies to enhance their operations, improve customer experiences, and drive innovation.

    Here are a few machine learning case studies showing how leading organisations have integrated machine learning into their business strategies.

    PayPal

    PayPal, a worldwide payment platform, faced huge challenges in identifying and preventing fraudulent transactions.

    Machine learning for business PayPal case study


    To tackle this issue, the company implemented machine learning algorithms designed for fraud detection . These algorithms analyse various aspects of each transaction, including the transaction location, the device used, and the user’s historical behaviour. This approach has significantly enhanced PayPal’s ability to protect users and maintain the integrity of its payment platform.

    YouTube

    YouTube has long employed machine learning to optimise its operations, particularly through its recommendation algorithms . By analysing vast amounts of historical data, YouTube suggests videos to its viewers based on their preferences. Currently, the platform processes over 80 billion data points for each user, requiring large-scale neural networks that have been in use since 2008 to effectively manage this immense dataset.

    Machine learning for business YouTube case study

    Dell

    Recognising the importance of data in marketing, Dell’s marketing team sought a data-driven solution to enhance response rates and understand the effectiveness of various words and phrases. Dell partnered with Persado, a firm that leverages AI to create compelling marketing content. This collab led to an overhaul of Dell’s email marketing strategy, resulting in a 22% average increase in page visits and a 50% boost in click-through rates (CTR). Dell now utilises machine learning methods to refine its marketing strategies across emails, banners, direct mail, Facebook ads, and radio content.

    Machine learning for business case study Dell

    Tesla

    Tesla employs machine learning to enhance the performance and features of its electric vehicles. A key application is its Autopilot system , which combines cameras, sensors, and machine learning algorithms to provide advanced driver assistance features such as lane centring, adaptive cruise control, and automatic emergency braking.

    case study Tesla

    The Autopilot system uses deep neural networks to process vast amounts of real-world driving data, enabling it to predict driving behaviour and identify potential hazards. Additionally, Tesla leverages machine learning in its battery management systems to optimise battery performance and longevity by predicting behaviour under various conditions.

    Netflix

    Netflix is a leader in personalised content recommendations. It uses machine learning to analyse user viewing habits and suggest shows and movies tailored to individual preferences. This feature has proven essential for improving customer satisfaction and increasing subscription renewals. To develop this system, Netflix utilises viewing data—including viewing durations, metadata, release dates, timestamps etc. Netflix then employs collaborative filtering, matrix factorisation, and deep learning techniques to accurately predict user preferences.

    case study Netflix

    Benefits of Machine Learning in Business

    If you’re still contemplating the value of machine learning for your business, consider the following key benefits:

    Automation Across Business Processes Machine learning automates key business functions, from marketing to manufacturing, boosting yield by up to 30%, reducing scrap, and cutting testing costs. This frees employees from more creative, strategic tasks.
    Efficient Predictive Maintenance
    ML helps manufacturing predict equipment failures, reducing downtime and extending machinery lifespan, ensuring operational continuity.
    Enhanced Customer Experience and Accurate Sales Forecasts Retailers use machine learning to analyse consumer behaviour, accurately forecast demand, and personalise offers, greatly improving customer experience.
    Data-Driven Decision-Making ML algorithms quickly extract insights from data, enabling faster, more informed decision-making and helping businesses develop effective strategies.
    Error Reduction By automating tasks, machine learning reduces human error, so employees to focus on complex tasks, significantly minimising mistakes.
    Increased Operational Efficiency Automation and error reduction from ML lead to efficiency gains. AI systems like chatbots boost productivity by up to 54%, operating 24/7 without fatigue.
    Enhanced Decision-Making ML processes large data sets swiftly, turning information into objective, data-driven decisions, removing human bias and improving trend analysis.
    Addressing Complex Business Issues Machine learning tackles complex challenges by streamlining operations and boosting performance, enhancing productivity and scalability.


    As organisations increasingly adopt machine learning, they position themselves to not only meet current demands but poise them for future innovation.

    Elixir and Erlang in Machine Learning

    As organisations explore machine learning tools, many are turning to Erlang and Elixir programming languages to develop customised solutions that cater to their needs. Erlang’s fault tolerance and scalability make it ideal for AI applications, as described in our blog on adopting AI and machine learning for business . Additionally, Elixir’s concurrency features and simplicity enable businesses to build high-performance AI applications.

    Learn more about how to build a machine-learning project in Elixir here .

    As organisations become more familiar with AI and machine learning tools, many are turning to Erlang and Elixir programming languages to develop customised solutions that cater to their needs.

    Elixir, built on the Erlang virtual machine (BEAM), delivers top concurrency and low latency. Designed for real-time, distributed systems, Erlang prioritises fault tolerance and scalability, and Elixir builds on this foundation with a high-level, functional programming approach. By using pure functions and immutable data, Elixir reduces complexity and minimises unexpected behaviours in code. It excels at handling multiple tasks simultaneously, making it ideal for AI applications that need to process large amounts of data without compromising performance.

    Elixir’s simplicity in problem-solving also aligns perfectly with AI development, where reliable and straightforward algorithms are essential for machine learning. Furthermore, its distribution features make deploying AI applications across multiple machines easier, meeting the high computational demands of AI systems.

    With a rich ecosystem of libraries and tools, Elixir streamlines development, so AI applications are scalable, efficient, and reliable. As AI and machine learning become increasingly vital to business success, creating high-performing solutions will become a key competitive advantage.

    Final Thoughts

    Embracing machine learning for business is no longer optional for companies that want to remain competitive. Machine learning tools empower businesses to make faster, data-driven decisions, streamline operations, and offer personalised customer experiences. Contact the Erlang Solutions team today if you’d like to discuss building AI systems using Elixir and Erlang or for more insights into implementing machine learning solutions,

    The post Why you should consider machine learning for business appeared first on Erlang Solutions .

    • Pl chevron_right

      ProcessOne: ejabberd 24.10

      news.movim.eu / PlanetJabber • 29 October 2024 • 9 minutes

    ejabberd 24.10

    We’re excited to announce ejabberd 24.10, a major release packed with substantial improvements and support for important extensions specified by the XMPP Standard Foundation (XSF). This release represents three months of focused development, bringing around 100 commits to the core repository alongside key updates in dependencies. The improvements span enhanced security, streamlined connectivity, and new administrative tools—all designed to make ejabberd more powerful and easier to use than ever.

    ejabberd 24.10

    Release Highlights:

    If you are upgrading from a previous version, please note minor changes in commands and two changes in hooks . There are no configuration or SQL schema changes in this release.

    Below is a detailed breakdown of the new features, fixes, and enhancements:

    Support for XEP-0288: Bidirectional Server-to-Server Connections

    The new mod_s2s_bidi module introduces support for XEP-0288: Bidirectional Server-to-Server Connections . This update removes the requirement for two connections per server pair in XMPP federations, allowing for more streamlined inter-server communications. However, for full compatibility, ejabberd can still connect to servers that do not support bidirectional connections, using two connections when necessary. The module is enabled by default in the sample configuration.

    Support for XEP-0480: SASL Upgrade Tasks

    The new mod_scram_upgrade module implements XEP-0480: SASL Upgrade Tasks . Compatible clients can now automatically upgrade encrypted passwords to more secure formats, enhancing security with minimal user intervention.

    PubSub Service Improvements

    We’ve implemented six noteworthy fixes to improve PubSub functionality:

    • PEP notifications are sent only to owners when +notify ( 3469a51 )
    • Non-delivery errors for locally generated notifications are now skipped ( d4b3095 )
    • Fix default node config parsing ( b439929 )
    • Fix merging of default node options ( ca54f81 )
    • Fix choice of node config defaults ( a9583b4 )
    • Fall back to default plugin options ( 36187e0 )

    IQ permission for privileged entities

    The mod_privilege module now supports IQ permission based on version 0.4 of XEP-0356: Privileged Entity . See #3889 for details. This feature is especially useful for XMPP gateways using the Slidge library.

    WebAdmin improvements

    ejabberd 24.06 release laid the foundation for a more streamlined WebAdmin interface, reusing existing commands instead of using specific code, with a possibly different logic. This major change allows developers to add new pages very fast, just by calling existing commands. It also allows administrators to use the same commands than in ejabberdctl or any other command frontend .

    As a result, many new pages and content were added. Building on that, the 24.10 update introduces MAM (Message Archive Management) support, allowing administrators to view message counts, remove all MAM messages, or only for a specific contact, and also view the MAM Archive directly from WebAdmin.

    ejabberd 24.10

    Additionally, WebAdmin now hides pages related to modules that are disabled, preventing unnecessary options from displaying. This affects mod_last, mod_mam, mod_offline, mod_privacy, mod_private, mod_roster, mod_vcard.

    Fixes in commands

    • set_presence : Now returns an error when the session is not found.

    • send_direct_invitation : Improved handling of malformed JIDs.

    • update : Fix command output. So far, ejabberd_update:update/0 returned the return value of release_handler_1:eval_script/1 . That function returns the list of updated but unpurged modules, i.e., modules where one or more processes are still running an old version of the code. Since commit 5a34020d23f455f80a144bcb0d8ee94770c0dbb1 , the ejabberd update command assumes that value to be the list of updated modules instead. As that seems more useful, modify ejabberd_update:update/0 accordingly. This fixes the update command output.

    • get_mam_count : New command to retrieve the number of archived messages for a specific account.

    Changes in hooks

    Two key changes in hooks:

    • New check_register_user hook in ejabberd_auth.erl to allow blocking account registration when a tombstone exists.

    • Modified room_destroyed hook in mod_muc_room.erl . Until now the hook passed as arguments: LServer, Room, Host . Now it passes: LServer, Room, Host, Persistent That new Persistent argument passes the room persistent option, required by mod_tombstones because only persistent rooms should generate a tombstone, temporary ones should not. And the persistent option should not be completely overwritten, as we must still known its real value even when room is being destroyed.

    Log Erlang/OTP and Elixir versions

    During server start, ejabberd now shows in the log not only its version number, but also the Erlang/OTP and Elixir versions being used. This will help the administrator to determine what software versions are being used, which is specially useful when investigating some problem, and explaining it to other people for help.

    The ejabberd.log file now looks like this:

    ...
    2024-10-22 13:47:05.424 [info] Creating Mnesia disc_only table &aposoauth_token&apos
    2024-10-22 13:47:05.427 [info] Creating Mnesia disc table &aposoauth_client&apos
    2024-10-22 13:47:05.455 [info] Waiting for Mnesia synchronization to complete
    2024-10-22 13:47:05.591 [info] ejabberd 24.10 is started in the node :ejabberd@localhost in 1.93s
    2024-10-22 13:47:05.606 [info] Elixir 1.16.3 (compiled with Erlang/OTP 26)
    2024-10-22 13:47:05.606 [info] Erlang/OTP 26 [erts-14.2.5.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
    
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at 127.0.0.1:7777 for :mod_proxy65_stream
    2024-10-22 13:47:05.608 [info] Start accepting UDP connections at [::]:3478 for :ejabberd_stun
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at [::]:1883 for :mod_mqtt
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at [::]:5280 for :ejabberd_http
    ...
    

    Brand new ProcessOne and ejabberd web sites

    We’re excited to unveil the redesigned ProcessOne website, crafted to better showcase our expertise in large-scale messaging across XMPP, MQTT, Matrix, and more. This update highlights our core mission of delivering scalable, reliable messaging solutions, with a fresh layout and streamlined structure that reflect our cutting-edge work in the field.

    You now get a cleaner ejabberd page , offering quick access to important URLs for downloads, blog posts, and documentation.

    Behind the scenes, we’ve transitioned from WordPress to Ghost, a move inspired by its efficient, user-friendly authoring tools and long-term maintainability. All previous blog content has been preserved, and with this new setup, we’re poised to deliver more frequent updates on messaging, XMPP, ejabberd, and related topics.

    We welcome your feedback—join us on our new site to share your thoughts, or let us know about any issue or broken link!

    Acknowledgments

    We would like to thank the contributions to the source code, documentation, and translation provided for this release by:

    And also to all the people contributing in the ejabberd chatroom, issue tracker...

    Improvements in ejabberd Business Edition

    Customers of the ejabberd Business Edition , in addition to all those improvements and bugfixes, also get MUC support in mod_unread .

    ejabberd keeps a counter of unread messages per conversation using the mod_unread module. This now also works in MUC rooms: each user can retrieve the number of unread messages in each of their rooms.

    ChangeLog

    This is a more detailed list of changes in this ejabberd release:

    Miscelanea

    • ejabberd_c2s : Optionally allow unencrypted SASL2
    • ejabberd_system_monitor : Handle call by gen_event:swap_handler ( #4233 )
    • ejabberd_http_ws : Remove support for old websocket connection protocol
    • ejabberd_stun : Omit auth_realm log message
    • ext_mod : Handle info message when contrib module transfers table ownership
    • mod_block_strangers : Add feature announcement to disco-info ( #4039 )
    • mod_mam : Advertise XEP-0424 feature in server disco-info ( #3340 )
    • mod_muc_admin : Better handling of malformed jids in send_direct_invitation command
    • mod_muc_rtbl : Fix call to gen_server:stop ( #4260 )
    • mod_privilege : Support "IQ permission" from XEP-0356 0.4.1 ( #3889 )
    • mod_pubsub : Don&apost blindly echo PEP notification
    • mod_pubsub : Skip non-delivery errors for local pubsub generated notifications
    • mod_pubsub : Fall back to default plugin options
    • mod_pubsub : Fix choice of node config defaults
    • mod_pubsub : Fix merging of default node options
    • mod_pubsub : Fix default node config parsing
    • mod_register : Support to block IPs in a vhost using append_host_config ( #4038 )
    • mod_s2s_bidi : Add support for S2S Bidirectional
    • mod_scram_upgrade : Add support for SCRAM upgrade tasks
    • mod_vcard : Return error stanza when storage doesn&apost support vcard update ( #4266 )
    • mod_vcard : Return explicit error stanza when user attempts to modify other&aposs vcard
    • Minor improvements to support mod_tombstones (#2456)
    • Update fast_xml to use use_maps and remove obsolete elixir files
    • Update fast_tls and xmpp to improve s2s fallback for invalid direct tls connections
    • make-binaries : Bump dependency versions: Elixir 1.17.2, OpenSSL 3.3.2, ...

    Administration

    • ejabberdctl : If ERLANG_NODE lacks host, add hostname ( #4288 )
    • ejabberd_app : At server start, log Erlang and Elixir versions
    • MySQL: Fix column type in the schema update of archive table in schema update

    Commands API

    • get_mam_count : New command to get number of archived messages for an account
    • set_presence : Return error when session not found
    • update : Fix command output
    • Add mam and offline tags to the related purge commands

    Code Quality

    • Fix warnings about unused macro definitions reported by Erlang LS
    • Fix Elvis report: Fix dollar space syntax
    • Fix Elvis report: Remove spaces in weird places
    • Fix Elvis report: Don&apost use ignored variables
    • Fix Elvis report: Remove trailing whitespace characters
    • Define the types of options that opt_type.sh cannot derive automatically
    • ejabberd_http_ws : Fix dialyzer warnings
    • mod_matrix_gw : Remove useless option persist
    • mod_privilege : Replace try...catch with a clean alternative

    Development Help

    • elvis.config : Fix file syntax, set vim mode, disable many tests
    • erlang_ls.config : Let it find paths, update to Erlang 26, enable crossref
    • hooks_deps : Hide false-positive warnings about gen_mod
    • Makefile : Add support for make elvis when using rebar3
    • .vscode/launch.json : Experimental support for debugging with Neovim
    • CI: Add Elvis tests
    • CI: Add XMPP Interop tests
    • Runtime: Cache hex.pm archive from rebar3 and mix

    Documentation

    • Add links in top-level options documentation to their Docs website sections
    • Document which SQL servers can really use update_sql_schema
    • Improve documentation of ldap_servers and ldap_backups options ( #3977 )
    • mod_register : Document behavior when access is set to none ( #4078 )

    Elixir

    • Handle case when elixir support is enabled but not available
    • Start ExSync manually to ensure it&aposs started if (and only if) Relive
    • mix.exs : Fix mix release error: logger being regular and included application ( #4265 )
    • mix.exs : Remove from extra_applications the apps already defined in deps ( #4265 )

    WebAdmin

    • Add links in user page to offline and roster pages
    • Add new "MAM Archive" page to webadmin
    • Improve many pages to handle when modules are disabled
    • mod_admin_extra : Move some webadmin pages to their modules

    Full Changelog

    https://github.com/processone/ejabberd/compare/24.07...24.10

    ejabberd 24.10 download & feedback

    As usual, the release is tagged in the Git source code repository on GitHub .

    The source package and installers are available in ejabberd Downloads page. To check the *.asc signature files, see How to verify ProcessOne downloads integrity .

    For convenience, there are alternative download locations like the ejabberd DEB/RPM Packages Repository and the GitHub Release / Tags .

    The ecs container image is available in docker.io/ejabberd/ecs and ghcr.io/processone/ecs . The alternative ejabberd container image is available in ghcr.io/processone/ejabberd .

    If you consider that you&aposve found a bug, please search or fill a bug report on GitHub Issues .

    • Pl chevron_right

      ProcessOne: ejabberd 24.10

      news.movim.eu / PlanetJabber • 29 October 2024 • 9 minutes

    ejabberd 24.10

    We’re excited to announce ejabberd 24.10, a major release packed with substantial improvements and support for important extensions specified by the XMPP Standard Foundation (XSF). This release represents three months of focused development, bringing around 100 commits to the core repository alongside key updates in dependencies. The improvements span enhanced security, streamlined connectivity, and new administrative tools—all designed to make ejabberd more powerful and easier to use than ever.

    ejabberd 24.10

    Release Highlights:

    If you are upgrading from a previous version, please note minor changes in commands and two changes in hooks . There are no configuration or SQL schema changes in this release.

    Below is a detailed breakdown of the new features, fixes, and enhancements:

    Support for XEP-0288: Bidirectional Server-to-Server Connections

    The new mod_s2s_bidi module introduces support for XEP-0288: Bidirectional Server-to-Server Connections . This update removes the requirement for two connections per server pair in XMPP federations, allowing for more streamlined inter-server communications. However, for full compatibility, ejabberd can still connect to servers that do not support bidirectional connections, using two connections when necessary. The module is enabled by default in the sample configuration.

    Support for XEP-0480: SASL Upgrade Tasks

    The new mod_scram_upgrade module implements XEP-0480: SASL Upgrade Tasks . Compatible clients can now automatically upgrade encrypted passwords to more secure formats, enhancing security with minimal user intervention.

    PubSub Service Improvements

    We’ve implemented six noteworthy fixes to improve PubSub functionality:

    • PEP notifications are sent only to owners when +notify ( 3469a51 )
    • Non-delivery errors for locally generated notifications are now skipped ( d4b3095 )
    • Fix default node config parsing ( b439929 )
    • Fix merging of default node options ( ca54f81 )
    • Fix choice of node config defaults ( a9583b4 )
    • Fall back to default plugin options ( 36187e0 )

    IQ permission for privileged entities

    The mod_privilege module now supports IQ permission based on version 0.4 of XEP-0356: Privileged Entity . See #3889 for details. This feature is especially useful for XMPP gateways using the Slidge library.

    WebAdmin improvements

    ejabberd 24.06 release laid the foundation for a more streamlined WebAdmin interface, reusing existing commands instead of using specific code, with a possibly different logic. This major change allows developers to add new pages very fast, just by calling existing commands. It also allows administrators to use the same commands than in ejabberdctl or any other command frontend .

    As a result, many new pages and content were added. Building on that, the 24.10 update introduces MAM (Message Archive Management) support, allowing administrators to view message counts, remove all MAM messages, or only for a specific contact, and also view the MAM Archive directly from WebAdmin.

    ejabberd 24.10

    Additionally, WebAdmin now hides pages related to modules that are disabled, preventing unnecessary options from displaying. This affects mod_last, mod_mam, mod_offline, mod_privacy, mod_private, mod_roster, mod_vcard.

    Fixes in commands

    • set_presence : Now returns an error when the session is not found.

    • send_direct_invitation : Improved handling of malformed JIDs.

    • update : Fix command output. So far, ejabberd_update:update/0 returned the return value of release_handler_1:eval_script/1 . That function returns the list of updated but unpurged modules, i.e., modules where one or more processes are still running an old version of the code. Since commit 5a34020d23f455f80a144bcb0d8ee94770c0dbb1 , the ejabberd update command assumes that value to be the list of updated modules instead. As that seems more useful, modify ejabberd_update:update/0 accordingly. This fixes the update command output.

    • get_mam_count : New command to retrieve the number of archived messages for a specific account.

    Changes in hooks

    Two key changes in hooks:

    • New check_register_user hook in ejabberd_auth.erl to allow blocking account registration when a tombstone exists.

    • Modified room_destroyed hook in mod_muc_room.erl . Until now the hook passed as arguments: LServer, Room, Host . Now it passes: LServer, Room, Host, Persistent That new Persistent argument passes the room persistent option, required by mod_tombstones because only persistent rooms should generate a tombstone, temporary ones should not. And the persistent option should not be completely overwritten, as we must still known its real value even when room is being destroyed.

    Log Erlang/OTP and Elixir versions

    During server start, ejabberd now shows in the log not only its version number, but also the Erlang/OTP and Elixir versions being used. This will help the administrator to determine what software versions are being used, which is specially useful when investigating some problem, and explaining it to other people for help.

    The ejabberd.log file now looks like this:

    ...
    2024-10-22 13:47:05.424 [info] Creating Mnesia disc_only table &aposoauth_token&apos
    2024-10-22 13:47:05.427 [info] Creating Mnesia disc table &aposoauth_client&apos
    2024-10-22 13:47:05.455 [info] Waiting for Mnesia synchronization to complete
    2024-10-22 13:47:05.591 [info] ejabberd 24.10 is started in the node :ejabberd@localhost in 1.93s
    2024-10-22 13:47:05.606 [info] Elixir 1.16.3 (compiled with Erlang/OTP 26)
    2024-10-22 13:47:05.606 [info] Erlang/OTP 26 [erts-14.2.5.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
    
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at 127.0.0.1:7777 for :mod_proxy65_stream
    2024-10-22 13:47:05.608 [info] Start accepting UDP connections at [::]:3478 for :ejabberd_stun
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at [::]:1883 for :mod_mqtt
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at [::]:5280 for :ejabberd_http
    ...
    

    Brand new ProcessOne and ejabberd web sites

    We’re excited to unveil the redesigned ProcessOne website, crafted to better showcase our expertise in large-scale messaging across XMPP, MQTT, Matrix, and more. This update highlights our core mission of delivering scalable, reliable messaging solutions, with a fresh layout and streamlined structure that reflect our cutting-edge work in the field.

    You now get a cleaner ejabberd page , offering quick access to important URLs for downloads, blog posts, and documentation.

    Behind the scenes, we’ve transitioned from WordPress to Ghost, a move inspired by its efficient, user-friendly authoring tools and long-term maintainability. All previous blog content has been preserved, and with this new setup, we’re poised to deliver more frequent updates on messaging, XMPP, ejabberd, and related topics.

    We welcome your feedback—join us on our new site to share your thoughts, or let us know about any issue or broken link!

    Acknowledgments

    We would like to thank the contributions to the source code, documentation, and translation provided for this release by:

    And also to all the people contributing in the ejabberd chatroom, issue tracker...

    Improvements in ejabberd Business Edition

    Customers of the ejabberd Business Edition , in addition to all those improvements and bugfixes, also get MUC support in mod_unread .

    ejabberd keeps a counter of unread messages per conversation using the mod_unread module. This now also works in MUC rooms: each user can retrieve the number of unread messages in each of their rooms.

    ChangeLog

    This is a more detailed list of changes in this ejabberd release:

    Miscelanea

    • ejabberd_c2s : Optionally allow unencrypted SASL2
    • ejabberd_system_monitor : Handle call by gen_event:swap_handler ( #4233 )
    • ejabberd_http_ws : Remove support for old websocket connection protocol
    • ejabberd_stun : Omit auth_realm log message
    • ext_mod : Handle info message when contrib module transfers table ownership
    • mod_block_strangers : Add feature announcement to disco-info ( #4039 )
    • mod_mam : Advertise XEP-0424 feature in server disco-info ( #3340 )
    • mod_muc_admin : Better handling of malformed jids in send_direct_invitation command
    • mod_muc_rtbl : Fix call to gen_server:stop ( #4260 )
    • mod_privilege : Support "IQ permission" from XEP-0356 0.4.1 ( #3889 )
    • mod_pubsub : Don&apost blindly echo PEP notification
    • mod_pubsub : Skip non-delivery errors for local pubsub generated notifications
    • mod_pubsub : Fall back to default plugin options
    • mod_pubsub : Fix choice of node config defaults
    • mod_pubsub : Fix merging of default node options
    • mod_pubsub : Fix default node config parsing
    • mod_register : Support to block IPs in a vhost using append_host_config ( #4038 )
    • mod_s2s_bidi : Add support for S2S Bidirectional
    • mod_scram_upgrade : Add support for SCRAM upgrade tasks
    • mod_vcard : Return error stanza when storage doesn&apost support vcard update ( #4266 )
    • mod_vcard : Return explicit error stanza when user attempts to modify other&aposs vcard
    • Minor improvements to support mod_tombstones (#2456)
    • Update fast_xml to use use_maps and remove obsolete elixir files
    • Update fast_tls and xmpp to improve s2s fallback for invalid direct tls connections
    • make-binaries : Bump dependency versions: Elixir 1.17.2, OpenSSL 3.3.2, ...

    Administration

    • ejabberdctl : If ERLANG_NODE lacks host, add hostname ( #4288 )
    • ejabberd_app : At server start, log Erlang and Elixir versions
    • MySQL: Fix column type in the schema update of archive table in schema update

    Commands API

    • get_mam_count : New command to get number of archived messages for an account
    • set_presence : Return error when session not found
    • update : Fix command output
    • Add mam and offline tags to the related purge commands

    Code Quality

    • Fix warnings about unused macro definitions reported by Erlang LS
    • Fix Elvis report: Fix dollar space syntax
    • Fix Elvis report: Remove spaces in weird places
    • Fix Elvis report: Don&apost use ignored variables
    • Fix Elvis report: Remove trailing whitespace characters
    • Define the types of options that opt_type.sh cannot derive automatically
    • ejabberd_http_ws : Fix dialyzer warnings
    • mod_matrix_gw : Remove useless option persist
    • mod_privilege : Replace try...catch with a clean alternative

    Development Help

    • elvis.config : Fix file syntax, set vim mode, disable many tests
    • erlang_ls.config : Let it find paths, update to Erlang 26, enable crossref
    • hooks_deps : Hide false-positive warnings about gen_mod
    • Makefile : Add support for make elvis when using rebar3
    • .vscode/launch.json : Experimental support for debugging with Neovim
    • CI: Add Elvis tests
    • CI: Add XMPP Interop tests
    • Runtime: Cache hex.pm archive from rebar3 and mix

    Documentation

    • Add links in top-level options documentation to their Docs website sections
    • Document which SQL servers can really use update_sql_schema
    • Improve documentation of ldap_servers and ldap_backups options ( #3977 )
    • mod_register : Document behavior when access is set to none ( #4078 )

    Elixir

    • Handle case when elixir support is enabled but not available
    • Start ExSync manually to ensure it&aposs started if (and only if) Relive
    • mix.exs : Fix mix release error: logger being regular and included application ( #4265 )
    • mix.exs : Remove from extra_applications the apps already defined in deps ( #4265 )

    WebAdmin

    • Add links in user page to offline and roster pages
    • Add new "MAM Archive" page to webadmin
    • Improve many pages to handle when modules are disabled
    • mod_admin_extra : Move some webadmin pages to their modules

    Full Changelog

    https://github.com/processone/ejabberd/compare/24.07...24.10

    ejabberd 24.10 download & feedback

    As usual, the release is tagged in the Git source code repository on GitHub .

    The source package and installers are available in ejabberd Downloads page. To check the *.asc signature files, see How to verify ProcessOne downloads integrity .

    For convenience, there are alternative download locations like the ejabberd DEB/RPM Packages Repository and the GitHub Release / Tags .

    The ecs container image is available in docker.io/ejabberd/ecs and ghcr.io/processone/ecs . The alternative ejabberd container image is available in ghcr.io/processone/ejabberd .

    If you consider that you&aposve found a bug, please search or fill a bug report on GitHub Issues .

    • Pl chevron_right

      ProcessOne: ejabberd 24.10

      news.movim.eu / PlanetJabber • 29 October 2024 • 9 minutes

    ejabberd 24.10

    We’re excited to announce ejabberd 24.10, a major release packed with substantial improvements and support for important extensions specified by the XMPP Standard Foundation (XSF). This release represents three months of focused development, bringing around 100 commits to the core repository alongside key updates in dependencies. The improvements span enhanced security, streamlined connectivity, and new administrative tools—all designed to make ejabberd more powerful and easier to use than ever.

    ejabberd 24.10

    Release Highlights:

    If you are upgrading from a previous version, please note minor changes in commands and two changes in hooks . There are no configuration or SQL schema changes in this release.

    Below is a detailed breakdown of the new features, fixes, and enhancements:

    Support for XEP-0288: Bidirectional Server-to-Server Connections

    The new mod_s2s_bidi module introduces support for XEP-0288: Bidirectional Server-to-Server Connections . This update removes the requirement for two connections per server pair in XMPP federations, allowing for more streamlined inter-server communications. However, for full compatibility, ejabberd can still connect to servers that do not support bidirectional connections, using two connections when necessary. The module is enabled by default in the sample configuration.

    Support for XEP-0480: SASL Upgrade Tasks

    The new mod_scram_upgrade module implements XEP-0480: SASL Upgrade Tasks . Compatible clients can now automatically upgrade encrypted passwords to more secure formats, enhancing security with minimal user intervention.

    PubSub Service Improvements

    We’ve implemented six noteworthy fixes to improve PubSub functionality:

    • PEP notifications are sent only to owners when +notify ( 3469a51 )
    • Non-delivery errors for locally generated notifications are now skipped ( d4b3095 )
    • Fix default node config parsing ( b439929 )
    • Fix merging of default node options ( ca54f81 )
    • Fix choice of node config defaults ( a9583b4 )
    • Fall back to default plugin options ( 36187e0 )

    IQ permission for privileged entities

    The mod_privilege module now supports IQ permission based on version 0.4 of XEP-0356: Privileged Entity . See #3889 for details. This feature is especially useful for XMPP gateways using the Slidge library.

    WebAdmin improvements

    ejabberd 24.06 release laid the foundation for a more streamlined WebAdmin interface, reusing existing commands instead of using specific code, with a possibly different logic. This major change allows developers to add new pages very fast, just by calling existing commands. It also allows administrators to use the same commands than in ejabberdctl or any other command frontend .

    As a result, many new pages and content were added. Building on that, the 24.10 update introduces MAM (Message Archive Management) support, allowing administrators to view message counts, remove all MAM messages, or only for a specific contact, and also view the MAM Archive directly from WebAdmin.

    ejabberd 24.10

    Additionally, WebAdmin now hides pages related to modules that are disabled, preventing unnecessary options from displaying. This affects mod_last, mod_mam, mod_offline, mod_privacy, mod_private, mod_roster, mod_vcard.

    Fixes in commands

    • set_presence : Now returns an error when the session is not found.

    • send_direct_invitation : Improved handling of malformed JIDs.

    • update : Fix command output. So far, ejabberd_update:update/0 returned the return value of release_handler_1:eval_script/1 . That function returns the list of updated but unpurged modules, i.e., modules where one or more processes are still running an old version of the code. Since commit 5a34020d23f455f80a144bcb0d8ee94770c0dbb1 , the ejabberd update command assumes that value to be the list of updated modules instead. As that seems more useful, modify ejabberd_update:update/0 accordingly. This fixes the update command output.

    • get_mam_count : New command to retrieve the number of archived messages for a specific account.

    Changes in hooks

    Two key changes in hooks:

    • New check_register_user hook in ejabberd_auth.erl to allow blocking account registration when a tombstone exists.

    • Modified room_destroyed hook in mod_muc_room.erl . Until now the hook passed as arguments: LServer, Room, Host . Now it passes: LServer, Room, Host, Persistent That new Persistent argument passes the room persistent option, required by mod_tombstones because only persistent rooms should generate a tombstone, temporary ones should not. And the persistent option should not be completely overwritten, as we must still known its real value even when room is being destroyed.

    Log Erlang/OTP and Elixir versions

    During server start, ejabberd now shows in the log not only its version number, but also the Erlang/OTP and Elixir versions being used. This will help the administrator to determine what software versions are being used, which is specially useful when investigating some problem, and explaining it to other people for help.

    The ejabberd.log file now looks like this:

    ...
    2024-10-22 13:47:05.424 [info] Creating Mnesia disc_only table &aposoauth_token&apos
    2024-10-22 13:47:05.427 [info] Creating Mnesia disc table &aposoauth_client&apos
    2024-10-22 13:47:05.455 [info] Waiting for Mnesia synchronization to complete
    2024-10-22 13:47:05.591 [info] ejabberd 24.10 is started in the node :ejabberd@localhost in 1.93s
    2024-10-22 13:47:05.606 [info] Elixir 1.16.3 (compiled with Erlang/OTP 26)
    2024-10-22 13:47:05.606 [info] Erlang/OTP 26 [erts-14.2.5.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
    
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at 127.0.0.1:7777 for :mod_proxy65_stream
    2024-10-22 13:47:05.608 [info] Start accepting UDP connections at [::]:3478 for :ejabberd_stun
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at [::]:1883 for :mod_mqtt
    2024-10-22 13:47:05.608 [info] Start accepting TCP connections at [::]:5280 for :ejabberd_http
    ...
    

    Brand new ProcessOne and ejabberd web sites

    We’re excited to unveil the redesigned ProcessOne website, crafted to better showcase our expertise in large-scale messaging across XMPP, MQTT, Matrix, and more. This update highlights our core mission of delivering scalable, reliable messaging solutions, with a fresh layout and streamlined structure that reflect our cutting-edge work in the field.

    You now get a cleaner ejabberd page , offering quick access to important URLs for downloads, blog posts, and documentation.

    Behind the scenes, we’ve transitioned from WordPress to Ghost, a move inspired by its efficient, user-friendly authoring tools and long-term maintainability. All previous blog content has been preserved, and with this new setup, we’re poised to deliver more frequent updates on messaging, XMPP, ejabberd, and related topics.

    We welcome your feedback—join us on our new site to share your thoughts, or let us know about any issue or broken link!

    Acknowledgments

    We would like to thank the contributions to the source code, documentation, and translation provided for this release by:

    And also to all the people contributing in the ejabberd chatroom, issue tracker...

    Improvements in ejabberd Business Edition

    Customers of the ejabberd Business Edition , in addition to all those improvements and bugfixes, also get MUC support in mod_unread .

    ejabberd keeps a counter of unread messages per conversation using the mod_unread module. This now also works in MUC rooms: each user can retrieve the number of unread messages in each of their rooms.

    ChangeLog

    This is a more detailed list of changes in this ejabberd release:

    Miscelanea

    • ejabberd_c2s : Optionally allow unencrypted SASL2
    • ejabberd_system_monitor : Handle call by gen_event:swap_handler ( #4233 )
    • ejabberd_http_ws : Remove support for old websocket connection protocol
    • ejabberd_stun : Omit auth_realm log message
    • ext_mod : Handle info message when contrib module transfers table ownership
    • mod_block_strangers : Add feature announcement to disco-info ( #4039 )
    • mod_mam : Advertise XEP-0424 feature in server disco-info ( #3340 )
    • mod_muc_admin : Better handling of malformed jids in send_direct_invitation command
    • mod_muc_rtbl : Fix call to gen_server:stop ( #4260 )
    • mod_privilege : Support "IQ permission" from XEP-0356 0.4.1 ( #3889 )
    • mod_pubsub : Don&apost blindly echo PEP notification
    • mod_pubsub : Skip non-delivery errors for local pubsub generated notifications
    • mod_pubsub : Fall back to default plugin options
    • mod_pubsub : Fix choice of node config defaults
    • mod_pubsub : Fix merging of default node options
    • mod_pubsub : Fix default node config parsing
    • mod_register : Support to block IPs in a vhost using append_host_config ( #4038 )
    • mod_s2s_bidi : Add support for S2S Bidirectional
    • mod_scram_upgrade : Add support for SCRAM upgrade tasks
    • mod_vcard : Return error stanza when storage doesn&apost support vcard update ( #4266 )
    • mod_vcard : Return explicit error stanza when user attempts to modify other&aposs vcard
    • Minor improvements to support mod_tombstones (#2456)
    • Update fast_xml to use use_maps and remove obsolete elixir files
    • Update fast_tls and xmpp to improve s2s fallback for invalid direct tls connections
    • make-binaries : Bump dependency versions: Elixir 1.17.2, OpenSSL 3.3.2, ...

    Administration

    • ejabberdctl : If ERLANG_NODE lacks host, add hostname ( #4288 )
    • ejabberd_app : At server start, log Erlang and Elixir versions
    • MySQL: Fix column type in the schema update of archive table in schema update

    Commands API

    • get_mam_count : New command to get number of archived messages for an account
    • set_presence : Return error when session not found
    • update : Fix command output
    • Add mam and offline tags to the related purge commands

    Code Quality

    • Fix warnings about unused macro definitions reported by Erlang LS
    • Fix Elvis report: Fix dollar space syntax
    • Fix Elvis report: Remove spaces in weird places
    • Fix Elvis report: Don&apost use ignored variables
    • Fix Elvis report: Remove trailing whitespace characters
    • Define the types of options that opt_type.sh cannot derive automatically
    • ejabberd_http_ws : Fix dialyzer warnings
    • mod_matrix_gw : Remove useless option persist
    • mod_privilege : Replace try...catch with a clean alternative

    Development Help

    • elvis.config : Fix file syntax, set vim mode, disable many tests
    • erlang_ls.config : Let it find paths, update to Erlang 26, enable crossref
    • hooks_deps : Hide false-positive warnings about gen_mod
    • Makefile : Add support for make elvis when using rebar3
    • .vscode/launch.json : Experimental support for debugging with Neovim
    • CI: Add Elvis tests
    • CI: Add XMPP Interop tests
    • Runtime: Cache hex.pm archive from rebar3 and mix

    Documentation

    • Add links in top-level options documentation to their Docs website sections
    • Document which SQL servers can really use update_sql_schema
    • Improve documentation of ldap_servers and ldap_backups options ( #3977 )
    • mod_register : Document behavior when access is set to none ( #4078 )

    Elixir

    • Handle case when elixir support is enabled but not available
    • Start ExSync manually to ensure it&aposs started if (and only if) Relive
    • mix.exs : Fix mix release error: logger being regular and included application ( #4265 )
    • mix.exs : Remove from extra_applications the apps already defined in deps ( #4265 )

    WebAdmin

    • Add links in user page to offline and roster pages
    • Add new "MAM Archive" page to webadmin
    • Improve many pages to handle when modules are disabled
    • mod_admin_extra : Move some webadmin pages to their modules

    Full Changelog

    https://github.com/processone/ejabberd/compare/24.07...24.10

    ejabberd 24.10 download & feedback

    As usual, the release is tagged in the Git source code repository on GitHub .

    The source package and installers are available in ejabberd Downloads page. To check the *.asc signature files, see How to verify ProcessOne downloads integrity .

    For convenience, there are alternative download locations like the ejabberd DEB/RPM Packages Repository and the GitHub Release / Tags .

    The ecs container image is available in docker.io/ejabberd/ecs and ghcr.io/processone/ecs . The alternative ejabberd container image is available in ghcr.io/processone/ejabberd .

    If you consider that you&aposve found a bug, please search or fill a bug report on GitHub Issues .