• Welcome to the Chevereto user community!

    Here users from all over the world gather around to learn the latest about Chevereto and contribute with ideas to improve the software.

    Please keep in mind:

    • 😌 This community is user driven. Be polite with other users.
    • 👉 Is required to purchase a Chevereto license to participate in this community (doesn't apply to Pre-sales).
    • 💸 Purchase a Pro Subscription to get access to active software support and faster ticket response times.

Chevereto v4.2.0 announcement

Added support for custom upload plugins

Chevereto v4.2.0 enhances the existing PUP.js (popup upload plugin) by introducing a universally compatible implementation that can seamlessly integrate with any website. Unlike the previous stuff, this new approach allows developers to create fully customized upload experiences with reduced maintenance overhead, eliminating the need for PUP.js altogether.

Developers can now easily interact with the Chevereto uploader through a popup, which facilitates a configurable uploading experience. Once the upload is complete, the uploader sends a message back to the application window. The following code snippet demonstrates the basic setup:

HTML:
<html>
<head>
    <title>postMessage example</title>
    <style>
        input {
            display: block;
            width: 100%;
        }
    </style>
</head>
<body>
    <h1>postMessage example</h1>
    <p>Chevereto uploader supports `window.opener` event. It detects when loaded via popup window, and when completing an upload process it will automatically send the contents of a target upload result textarea back to the opener (your website), where you can intercept the message and act accordingly.</p>
    <p>Enter the `/upload` URL endpoint, the autoInsert target and click submit:</p>
    <div>
        <label for="url">Url</label>
        <input type="text" id="url" placeholder="https://demo.chevereto.com/upload">
    </div>
    <div>
        <label for ="autoInsert">autoInsert</label>
        <select type="text" id="autoInsert">
            <option value="0">FALSE</option>
            <option value="viewer-links">viewer-links</option>
            <option value="direct-links">direct-links</option>
            <option value="frame-links">frame-links</option>
            <option value="thumb-links">thumb-links</option>
            <option value="medium-links">medium-links</option>
            <option value="delete-links">delete-links</option>
            <option value="html-embed">html-embed</option>
            <option value="full-html-embed">full-html-embed</option>
            <option value="medium-html-embed">medium-html-embed</option>
            <option value="thumb-html-embed">thumb-html-embed</option>
            <option value="markdown-embed">markdown-embed</option>
            <option value="full-markdown-embed">full-markdown-embed</option>
            <option value="medium-markdown-embed">medium-markdown-embed</option>
            <option value="thumb-markdown-embed">thumb-markdown-embed</option>
            <option value="bbcode-embed">bbcode-embed</option>
            <option value="full-bbcode-embed">full-bbcode-embed</option>
            <option value="medium-bbcode-embed">medium-bbcode-embed"> </option></option>
            <option value="thumb-bbcode-embed">thumb-bbcode-embed</option>
        </select>
    </div>
    <div>
        <label for ="autoClose">autoClose</label>
        <select type="text" id="autoClose">
            <option value="0">FALSE</option>
            <option value="1">TRUE</option>
        </select>
    </div>
    <p>
        <button type="submit">Submit</button>
    </p>
    <p>
        <label>Messages sent by popup window:</label>
        <textarea name="result" style="width: 100%; height: 200px;"></textarea>
    </p>
</body>
</html>
<script>
    var popup;
    var url = 'https://demo.chevereto.com/upload';
    var settings = {
        autoInsert: false, // false | target select box id
        autoClose: false, // true, false
    };
    window.addEventListener('message', function(event) {
        // Chevereto request sending the initial settings
        if (event.data.requestAction
            && event.data.requestAction === 'postSettings'
        ) {
            popup.window.postMessage(
                {
                    id: event.data.id,
                    settings: settings
                },
                url
            );
            return;
        }
        // Chevereto request sending the upload result
        var textarea = document.querySelector('textarea[name=result]');
        textarea.value = textarea.value + event.data.message + "\n";
    });
    document.querySelector('button[type=submit]').addEventListener('click', function() {
        url = document.querySelector('#url').value;
        settings.autoInsert = document.querySelector('#autoInsert').value;
        settings.autoClose = document.querySelector('#autoClose').value;
        popup = window.open(url, 'my-popup', 'width=960,height=992');
        popup.focus();
    });
</script>

The workflow is straightforward: by opening a popup to the /upload endpoint, Chevereto automatically detects this action and requests the integration settings (such as autoInsert and autoClose). Users can then upload their files as usual, and upon completion, they can choose the codes to insert into their application.

For a clearer understanding, check out this video that explains the process in detail:

 
Added support for custom upload expiration via API

In Chevereto v4.2.0, the upload expiration feature has been enhanced. You can now specify the expiration as a date interval (the current method) or as a number of seconds in the future. This added flexibility allows for more precise control over content expiration. Additionally, you can set any value between the predefined minimum of 5 minutes and the maximum of 1 year.
 
Added API documentation page

Chevereto v4.2.0 introduces a brand-new page dedicated to showcasing how to use your Chevereto API. This page provides detailed steps and examples, making it easy for your users to integrate the API into their workflows. All the code provided is generated specifically based on your website, ensuring it's tailored to your exact setup.

1728593985546.png
 
💅 Mobile menus now display two columns

In Chevereto v4.2.0, the mobile menu now displays items in a two-column layout, making better use of the screen space and improving navigation efficiency on smaller devices.

1728687199969.png
 
💅 Improved "hamburger" menu

Chevereto v4.2.0 improves the hamburger menu by displaying the top bar alongside a close icon, making it more intuitive and easier for users to navigate and close the menu when needed.

1728687299243.png
 
💅 Added Explore button to mobile top bar

In Chevereto v4.2.0, the Explore menu has been optimized for mobile users by adding a quick access feature, reducing the steps needed to navigate the content. The "random" button has been removed and replaced with the Explore button for a more streamlined experience.

1728687641551.png
 
🕷️ Added support for Arachnid Shield API v1.0

Chevereto v4.2.0 now supports the latest Project Arachnid Shield API v1.0, allowing you to integrate CSAM (Child Sexual Abuse Material) protection into your Chevereto websites. You can sign up for free to access this important security feature and enhance the safety of your platform.

Project Arachnid is an innovative, victim-centric set of tools to combat the growing proliferation of child sexual abuse material (CSAM) on the internet. Launched in 2017, Project Arachnid unifies automated CSAM detection methods with a team of dedicated analysts around the world to quickly send removal notices to electronic service providers (ESPs).
 
📱 Changed mobile font root size to 16px

Chevereto v4.2.0 increases the mobile base font size to 16px, making the user interface much more pleasant and comfortable to read on smaller screens. This improvement significantly enhances the overall mobile experience, offering better legibility and a more polished look.
 
🐞 Fixed bug in stop words filter system

Chevereto v4.2.0 addresses a bug that was preventing the stop words filter from blocking certain words in user attributes like username, email, and website URL. This fix ensures that the stop words filter now works as expected across all relevant fields.
 
Added meta robots noindex, follow for search results

Chevereto v4.2.0 introduces the meta robots tag with the noindex, follow directive for internal search results (such as search and user pages). This helps improve SEO by preventing search engines from indexing these pages while still allowing them to follow links on those pages.
 
Added PUP.js support for XenForo 2.3

Chevereto v4.2.0 brings support for PUP.js integration with XenForo 2.3, allowing seamless popup uploads directly within XenForo forums. This improves compatibility and offers an easier way to integrate Chevereto with XenForo’s latest version.
 
Back
Top