{"id":536,"date":"2024-06-25T13:50:49","date_gmt":"2024-06-25T12:50:49","guid":{"rendered":"https:\/\/autosign.app\/?page_id=536"},"modified":"2025-01-07T10:33:19","modified_gmt":"2025-01-07T09:33:19","slug":"release-notes","status":"publish","type":"page","link":"https:\/\/autosign.app\/de\/release-notes\/","title":{"rendered":"Release Notes"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"536\" class=\"elementor elementor-536 elementor-484\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-08c0580 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"08c0580\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-18900f6\" data-id=\"18900f6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-3da9bd5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3da9bd5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-5b521fe\" data-id=\"5b521fe\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0038367 elementor-widget elementor-widget-html\" data-id=\"0038367\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"release-note-content\"><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-21c40b7 elementor-widget elementor-widget-html\" data-id=\"21c40b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\nvar allReleaseItems=null;\nvar contentPlaceholder=null;\n\/\/init content\n(function() {\n    \/\/CreateFilter('');\n    InitContent();\n    \n}\n\n)();\nfunction FilterByTag(filterString) {\n\n    var listToDisplay=null;\n    if(contentPlaceholder==null || contentPlaceholder=='') {\n        return;\n    }\n    if(filterString=='') {\n        listToDisplay=allReleaseItems;\n    }\n    else {\n        \/\/for(var i=0; i<filterStringArray.length; i++) {}\n        \n        var filterResult=allReleaseItems.filter(function (entry) {\n            \n            \n            var filterStringArray = filterString.split(\",\");\n            \n            for(var i=0; i<filterStringArray.length; i++) {\n                if(entry.tags.toLowerCase().includes(filterStringArray[i].toLowerCase()))\n                {\n                    return true;\n                }\n            }\n            \n            return false;\n        }\n        );\n        \n        listToDisplay=SortReleaseItems(filterResult, \"version\", false);\n        listToDisplay=SortReleaseItems(listToDisplay, \"sortorder\", true);\n    }\n    contentPlaceholder.innerHTML=\"\";\n    CreateFilter(filterString);\n    CreateHTMLfromJSON(listToDisplay, contentPlaceholder);\n    UpdateURLParameter(\"filter-tag\", filterString);\n}\n\nfunction CreateFilter(filterString) {\n    contentPlaceholder=document.getElementById(\"release-note-content\");\n    \n    if(contentPlaceholder==null || contentPlaceholder=='') {\n        return;\n    }\n    let linksToCreate=[ { \"name\": \"All\", \"filter\": \"\" },\n                        \/\/{ \"name\": \"CarIT\", \"filter\": \"CarIT,Core\" },\n                        \/\/{ \"name\": \"Carlo\", \"filter\": \"Carlo,Core\" },\n                        \/\/{ \"name\": \"Formel1\", \"filter\": \"Formel1,Core\" },\n                        { \"name\": \"incadea.DMS\", \"filter\": \"incadea.DMS,Core\" },\n                        { \"name\": \"NAV & Business Central\", \"filter\": \"BC14,Core,BC365\"}\n                        \n    ]; \n    \n    var filterWrapper=document.createElement(\"div\");\n    filterWrapper.classList.add(\"rn-filter-wrapper\");\n    \n    for (var i=0; i < linksToCreate.length; i++) {\n        var filterElement=document.createElement(\"a\");\n        filterElement.classList.add(\"rn-filter-link\", \"avia-button\", \"avia-icon_select-no\", \"avia-size-small\", \"avia-color-dark\");\n        filterElement.setAttribute(\"href\", \"javascript:FilterByTag('\"+linksToCreate[i].filter+\"')\");\n        filterElement.innerHTML=linksToCreate[i].name;\n        if(linksToCreate[i].filter.toLowerCase() == filterString.toLowerCase()) {\n            filterElement.classList.add(\"rn-filter-link-active\");\n        }\n        filterWrapper.appendChild(filterElement);\n    }\n    contentPlaceholder.appendChild(filterWrapper);\n}\n\n\nfunction InitContent() {\n    \n    contentPlaceholder=document.getElementById(\"release-note-content\"); \n    \n    if(contentPlaceholder==null || contentPlaceholder=='') {\n        return;\n    }\n    \n    \n    \n    var request=new XMLHttpRequest(); \/\/request.open('GET', 'https:\/\/autoscan.app\/wp-content\/uploads\/2022\/02\/ReleaseNotes.json', true);\n    \n    \n    \/\/kinsta is caching and does not detect changes in files\n    var d = new Date();\n    let hour = d.getHours();\n    let day = d.getDay();\n    \n    request.open('GET', 'https:\/\/autosign.app\/files\/ReleaseNotes.json?'+d+hour, true); \/\/ https:\/\/autoscan.app\/files\/ReleaseNotes.json https:\/\/autoscan.app\/releasenotes\/\n    request.send(null);\n    request.onreadystatechange=function () {\n        if (request.readyState===4 && request.status===200) {\n            var type=request.getResponseHeader('Content-Type');\n            if (type.indexOf(\"text\") !==1) {\n                var content=request.responseText; \/\/contentPlaceholder.innerHTML = content;\n                var jsonObject=JSON.parse(content);\n                allReleaseItems=jsonObject.releaseitems;\n                \n                var sortedList=SortReleaseItems(allReleaseItems, \"version\", false);\n                sortedList=SortReleaseItems(allReleaseItems, \"sortorder\", true);\n                \n                CreateHTMLfromJSON(sortedList, contentPlaceholder);\n                \n                \/\/if query parameter is set, filter the items    \n                var urlParams = new URLSearchParams(window.location.search);\n                var filterTag = urlParams.get('filter-tag');\n                if(filterTag!=null) {\n                    FilterByTag(filterTag);\n                }\n    \n            }\n        }\n    }\n}\n\nfunction SortReleaseItems(releaseItems, prop, asc) {\n    releaseItems.sort(function(a, b) {\n    \n            var aSplit = a[prop].split('.');\n            var bSplit = b[prop].split('.');\n            \n            var aWithLeadingZeros = '';\n            var bWithLeadingZeros = '';\n            \n            for(var i =0; i<aSplit.length;i++)\n            {\n                aWithLeadingZeros += ('0000' + aSplit[i]).slice(-5);\n            }\n            \n            for(var i =0; i<bSplit.length;i++)\n            {\n                bWithLeadingZeros += ('0000' + bSplit[i]).slice(-5);\n            }\n          \n            \n            if (asc) {\n                return (aWithLeadingZeros > bWithLeadingZeros) ? 1: ((aWithLeadingZeros < bWithLeadingZeros) ? -1: 0);\n            }\n            else {\n                return (bWithLeadingZeros > aWithLeadingZeros) ? 1: ((bWithLeadingZeros < aWithLeadingZeros) ? -1: 0);\n            }\n        \n        }\n    );\n    return releaseItems;\n}\n\nfunction CreateHTMLfromJSON(releaseItems, placeholder) {\n    var language=document.getElementsByTagName('html')[0].getAttribute('lang');\n    \n    var lastVersion=\"\";\n    for (var i=0; i < releaseItems.length; i++) \n    {\n        if(releaseItems[i].version !=lastVersion) {\n            var versionElement=document.createElement(\"div\");\n            versionElement.classList.add(\"rn-version\");\n            versionElement.innerHTML=releaseItems[i].version;\n            placeholder.appendChild(versionElement);\n            lastVersion=releaseItems[i].version;\n        } \n        \/\/outer element        \n        var releaseElement=document.createElement(\"div\");\n        releaseElement.classList.add(\"rn-item\");\n        releaseElement.setAttribute(\"data-tags\", releaseItems[i].tags); \n        \n        \/\/first row with type and title\n        var titleRowElement=document.createElement(\"div\");\n        titleRowElement.classList.add(\"rn-titlerow\");\n        var typeElement=document.createElement(\"div\");\n        typeElement.classList.add(\"rn-type\");\n        typeElement.innerHTML=releaseItems[i].Type;\n        \n        if(releaseItems[i].tags.toLowerCase().includes(\"dms-contract-breaking\"))\n        {\n            typeElement.classList.add(\"rn-type-breaking\");\n            typeElement.innerHTML=\"break\";\n        } \n        else if(releaseItems[i].type==\"Bug\") {\n            typeElement.classList.add(\"rn-type-bug\");\n            typeElement.innerHTML=\"fixed\";\n        }\n        else if(releaseItems[i].type==\"User Story\") {\n            typeElement.classList.add(\"rn-type-story\");\n            typeElement.innerHTML=\"new\";\n        }\n        \n        var titleElement=document.createElement(\"div\");\n        titleElement.classList.add(\"rn-title\");\n        var descElement=document.createElement(\"div\");\n        descElement.classList.add(\"rn-desc\");\n        \n        if(language.startsWith(\"de\")) {\n            titleElement.innerHTML=releaseItems[i].titlede;\n            descElement.innerHTML=releaseItems[i].descde.replace(\"autoscan\",\"<strong>autoscan<\/strong>\");\n        }\n        else {\n            titleElement.innerHTML=releaseItems[i].titleen;\n            descElement.innerHTML=releaseItems[i].descen.replace(\"autoscan\",\"<strong>autoscan<\/strong>\");\n        }\n        \n        \/\/var tags=document.createElement(\"div\");\n        \/\/tags.classList.add(\"rn-filter-link\", \"avia-button\", \"avia-icon_select-no\", \"avia-size-small\", \"avia-color-dark\");\n        \/\/tags.innerHTML=releaseItems[i].tags.toLowerCase();\n        \n        \n        titleRowElement.appendChild(typeElement);\n        titleRowElement.appendChild(titleElement);\n        releaseElement.appendChild(titleRowElement);\n        releaseElement.appendChild(descElement);\n        \/\/releaseElement.appendChild(tags);\n        placeholder.appendChild(releaseElement);\n    }\n}\n\nfunction UpdateURLParameter(param, paramVal)\n{\n    var url = window.location.href;\n    var TheAnchor = null;\n    var newAdditionalURL = \"\";\n    var tempArray = url.split(\"?\");\n    var baseURL = tempArray[0];\n    var additionalURL = tempArray[1];\n    var temp = \"\";\n\n    if (additionalURL) \n    {\n        var tmpAnchor = additionalURL.split(\"#\");\n        var TheParams = tmpAnchor[0];\n            TheAnchor = tmpAnchor[1];\n        if(TheAnchor)\n            additionalURL = TheParams;\n\n        tempArray = additionalURL.split(\"&\");\n\n        for (var i=0; i<tempArray.length; i++)\n        {\n            if(tempArray[i].split('=')[0] != param)\n            {\n                newAdditionalURL += temp + tempArray[i];\n                temp = \"&\";\n            }\n        }        \n    }\n    else\n    {\n        var tmpAnchor = baseURL.split(\"#\");\n        var TheParams = tmpAnchor[0];\n            TheAnchor  = tmpAnchor[1];\n\n        if(TheParams)\n            baseURL = TheParams;\n    }\n\n    if(TheAnchor)\n        paramVal += \"#\" + TheAnchor;\n\n    var rows_txt = temp + \"\" + param + \"=\" + paramVal;\n    var resultUrl = baseURL + \"?\" + newAdditionalURL + rows_txt;\n    \n    window.history.replaceState(\"\", \"\", resultUrl);\n}\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","footnotes":""},"class_list":["post-536","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Release Notes - autosign<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/autosign.app\/de\/release-notes\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Release Notes - autosign\" \/>\n<meta property=\"og:url\" content=\"https:\/\/autosign.app\/de\/release-notes\/\" \/>\n<meta property=\"og:site_name\" content=\"autosign\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-07T09:33:19+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/release-notes\\\/\",\"url\":\"https:\\\/\\\/autosign.app\\\/de\\\/release-notes\\\/\",\"name\":\"Release Notes - autosign\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/#website\"},\"datePublished\":\"2024-06-25T12:50:49+00:00\",\"dateModified\":\"2025-01-07T09:33:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/release-notes\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/autosign.app\\\/de\\\/release-notes\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/release-notes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/autosign.app\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Release Notes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/autosign.app\\\/de\\\/\",\"name\":\"autosign\",\"description\":\"Electronic Signatures for your system\",\"publisher\":{\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/autosign.app\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/#organization\",\"name\":\"autosign\",\"url\":\"https:\\\/\\\/autosign.app\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/autosign.app\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Logo-Test_03.png\",\"contentUrl\":\"https:\\\/\\\/autosign.app\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Logo-Test_03.png\",\"width\":563,\"height\":190,\"caption\":\"autosign\"},\"image\":{\"@id\":\"https:\\\/\\\/autosign.app\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Release Notes - autosign","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/autosign.app\/de\/release-notes\/","og_locale":"de_DE","og_type":"article","og_title":"Release Notes - autosign","og_url":"https:\/\/autosign.app\/de\/release-notes\/","og_site_name":"autosign","article_modified_time":"2025-01-07T09:33:19+00:00","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/autosign.app\/de\/release-notes\/","url":"https:\/\/autosign.app\/de\/release-notes\/","name":"Release Notes - autosign","isPartOf":{"@id":"https:\/\/autosign.app\/de\/#website"},"datePublished":"2024-06-25T12:50:49+00:00","dateModified":"2025-01-07T09:33:19+00:00","breadcrumb":{"@id":"https:\/\/autosign.app\/de\/release-notes\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/autosign.app\/de\/release-notes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/autosign.app\/de\/release-notes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/autosign.app\/de\/"},{"@type":"ListItem","position":2,"name":"Release Notes"}]},{"@type":"WebSite","@id":"https:\/\/autosign.app\/de\/#website","url":"https:\/\/autosign.app\/de\/","name":"autosign","description":"Electronic Signatures for your system","publisher":{"@id":"https:\/\/autosign.app\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/autosign.app\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/autosign.app\/de\/#organization","name":"autosign","url":"https:\/\/autosign.app\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/autosign.app\/de\/#\/schema\/logo\/image\/","url":"https:\/\/autosign.app\/wp-content\/uploads\/2023\/08\/Logo-Test_03.png","contentUrl":"https:\/\/autosign.app\/wp-content\/uploads\/2023\/08\/Logo-Test_03.png","width":563,"height":190,"caption":"autosign"},"image":{"@id":"https:\/\/autosign.app\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/autosign.app\/de\/wp-json\/wp\/v2\/pages\/536","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/autosign.app\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/autosign.app\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/autosign.app\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/autosign.app\/de\/wp-json\/wp\/v2\/comments?post=536"}],"version-history":[{"count":10,"href":"https:\/\/autosign.app\/de\/wp-json\/wp\/v2\/pages\/536\/revisions"}],"predecessor-version":[{"id":648,"href":"https:\/\/autosign.app\/de\/wp-json\/wp\/v2\/pages\/536\/revisions\/648"}],"wp:attachment":[{"href":"https:\/\/autosign.app\/de\/wp-json\/wp\/v2\/media?parent=536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}