{"id":4336,"date":"2021-11-14T14:32:12","date_gmt":"2021-11-14T22:32:12","guid":{"rendered":"https:\/\/w4os.org\/wijzigingsoverzicht\/"},"modified":"2024-01-29T17:32:04","modified_gmt":"2024-01-30T01:32:04","slug":"wijzigingsoverzicht","status":"publish","type":"page","link":"https:\/\/w4os.org\/nl\/download\/wijzigingsoverzicht\/","title":{"rendered":"Wijzigingsoverzicht"},"content":{"rendered":"<div class=\"markdown-body\"><div class=\"markdown-heading\"><h2 class=\"heading-element\">Changelog<\/h2><a id=\"user-content-changelog\" class=\"anchor\" aria-label=\"Permalink: Changelog\" href=\"#changelog\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">Unreleased<\/h3><a id=\"user-content-unreleased\" class=\"anchor\" aria-label=\"Permalink: Unreleased\" href=\"#unreleased\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix SSRF vulnerability in guide.php with comprehensive URL validation<\/li>\n<li>fix database connection crashing when leaving default port<\/li>\n<li>fix head title conflicts with themes and SEO plugins (backport from 3.x)<\/li>\n<li>fix minor warnings when using wp-cli<\/li>\n<li>(dev) add URL helper functions (os_get_headers, os_file_get_contents) for restrictive hosting environments<\/li>\n<li>(dev) add database connection failure caching and exception handling<\/li>\n<li>(dev) add ExceptionHandling trait for unified error handling<\/li>\n<li>(dev) fix tests misinterpreting no mysql port (use default) as a custom port<\/li>\n<li>(dev) enhancement tests dependency checking<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">v2.10.0-beta-3 (2025-09-02)<\/h3><a id=\"user-content-v2100-beta-3-2025-09-02\" class=\"anchor\" aria-label=\"Permalink: v2.10.0-beta-3 (2025-09-02)\" href=\"#v2100-beta-3-2025-09-02\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p><strong>Important Bug Fixes:<\/strong><\/p>\n<ul>\n<li>fix MySQL non-standard ports not properly tested to validate DB credentials #88<\/li>\n<li>fix MySQL not handling custom port when set to localhost (added warning)<\/li>\n<li>fix improper localhost conversion to host name, potentially causing grant issues<\/li>\n<li>\n<strong>fix Profile 404 Status Codes (Issue #118)<\/strong>: Invalid avatars now return proper 404 HTTP status codes\n<ul>\n<li>Backported proven 3.x solution using header('HTTP\/1.0 404 Not Found') to 2.x branch<\/li>\n<li>Fixed inconsistent behavior where first call returned 404 but subsequent calls returned 200<\/li>\n<li>Uses early 'wp' hook detection instead of late template_include processing<\/li>\n<li>Proper WordPress 404 template hierarchy for invalid avatar pages<\/li>\n<li>SEO compliant: Search engines correctly index\/ignore pages based on status<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>V3 Beta Features:<\/strong><\/p>\n<ul>\n<li>add Robust configuration drift detection when console is enabled\n<ul>\n<li>Automatically detects when grid configuration differs from plugin stored settings<\/li>\n<li>Warns administrators when stored credentials don't match current Robust.ini settings<\/li>\n<\/ul>\n<\/li>\n<li>enhancement Improved database connection validation and error reporting<\/li>\n<\/ul>\n<p><strong>Development &amp; Testing:<\/strong><\/p>\n<ul>\n<li>(dev) Add OpenSim REST library as subtree for better maintenance<\/li>\n<li>(dev) Add comprehensive V3 credentials integrity testing<\/li>\n<li>(dev) Consolidated connection string parsing functions for consistency<\/li>\n<li>(dev) Restructure test suite with proper test sequence validation<\/li>\n<li>(dev) Improve test output formatting and failure reporting<\/li>\n<li>(dev) Add configuration drift detection to prevent credential transformation bugs<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.10.0-beta-2 (2025-08-30)<\/h3><a id=\"user-content-2100-beta-2-2025-08-30\" class=\"anchor\" aria-label=\"Permalink: 2.10.0-beta-2 (2025-08-30)\" href=\"#2100-beta-2-2025-08-30\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p><g-emoji class=\"g-emoji\" alias=\"warning\">\u26a0\ufe0f<\/g-emoji> This is a <strong>beta release<\/strong>. Please backup both your WordPress website and OpenSimulator databases before updating. Test thoroughly in a development environment first.<\/p>\n<p><strong>Major New Features:<\/strong><\/p>\n<ul>\n<li>new Avatar menu, in classic menu and as block for WordPress Gutenberg editor\n<ul>\n<li>login and register for anonymous users<\/li>\n<li>avatar profile, account settings and logout for logged-in users<\/li>\n<\/ul>\n<\/li>\n<li>new Flux feature: enables activity stream in OpenSim viewer and on web profile page<\/li>\n<li>new Enhanced user menu system with registration page integration<\/li>\n<li>new Textgen helper script (create dynamic texture from url)<\/li>\n<\/ul>\n<p><strong>Important Bug Fixes:<\/strong><\/p>\n<ul>\n<li>fix SearchURL to use HTTPS when available (#109)<\/li>\n<li>fix avatar name validation and character conversion (#112)<\/li>\n<li>fix avatar creation redirect and page loading issues (#114)<\/li>\n<li>fix PHP fatal error (wp-load.php missing in release)<\/li>\n<li>fix Home page empty in some setups<\/li>\n<li>fix Default model not applied on avatar creation<\/li>\n<li>fix Some grid uri not properly sanitized<\/li>\n<li>fix Logout url broken for standard users<\/li>\n<li>fix Usermenu regressions introduced with classic menus<\/li>\n<\/ul>\n<p><strong>Enhancements:<\/strong><\/p>\n<ul>\n<li>enhancement Grid_info() method also get foreign grid info<\/li>\n<li>enhancement name validation preserves mixed case (DeVito, McAfee)<\/li>\n<li>enhancement validation consistency between frontend and backend<\/li>\n<li>enhancement Better user feedback during avatar creation process<\/li>\n<\/ul>\n<p><strong>Translation Updates:<\/strong><\/p>\n<ul>\n<li>translation Updated translations for multiple languages<\/li>\n<li>translation Fix \"Register\" button translation issues<\/li>\n<\/ul>\n<p><strong>Development &amp; Testing:<\/strong><\/p>\n<ul>\n<li>(dev) Comprehensive modular testing framework with WordPress and OpenSimulator environment validation<\/li>\n<li>(dev) Convert helpers from submodule to subtree for better maintenance<\/li>\n<li>(dev) Added modular test structure with environment validation<\/li>\n<li>(dev) Executable test runner with guaranteed execution order<\/li>\n<li>(dev) Update DEVELOPERS.md (add instructions to properly setup submodules)<\/li>\n<li>(dev) Userless authentication foundation (proof of concept)<\/li>\n<\/ul>\n<p><strong>V3 Beta Features:<\/strong><\/p>\n<ul>\n<li>enhancement better flux single post and archive display<\/li>\n<li>flux author column after title<\/li>\n<li>fix profile tabs empty (regression interoduced in 796a1c2f)<\/li>\n<\/ul>\n<p><em>Thanks to <a href=\"https:\/\/github.com\/mteedev\">@mteedev<\/a> for detailed bug reports.<\/em><\/p>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.9.4<\/h3><a id=\"user-content-294\" class=\"anchor\" aria-label=\"Permalink: 2.9.4\" href=\"#294\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix avatar mini profile block crashing<\/li>\n<li>fix all menu titles replaced in some themes on profile page<\/li>\n<\/ul>\n<p>v3 beta features<\/p>\n<ul>\n<li>enhancement better flux single post and archive display<\/li>\n<li>flux author column after title<\/li>\n<li>fix profile tabs empty (regression interoduced in 796a1c2f)<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.9.3<\/h3><a id=\"user-content-293\" class=\"anchor\" aria-label=\"Permalink: 2.9.3\" href=\"#293\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix profile not displayed in block (regression)<\/li>\n<li>fix profile custom template not always working<\/li>\n<li>fix arrays passed as if they were strings in w4os_array2table<\/li>\n<li>fix crash on wp core profile save<\/li>\n<\/ul>\n<p>v3 beta features<\/p>\n<ul>\n<li>new activity feed, allow avatars to post statuses on their profile page<\/li>\n<li>new profile page, including tabs and activity feed<\/li>\n<li>new in-world feed profile tab<\/li>\n<li>handles GridInfoService web_profile_url (with ?name= argument)<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.9.1<\/h3><a id=\"user-content-291\" class=\"anchor\" aria-label=\"Permalink: 2.9.1\" href=\"#291\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix admin header shown in SL viewer embed and modal<\/li>\n<li>fix permissions issues with $option_group<\/li>\n<li>fix crash if W4OS_NULL_KEY is called too early<\/li>\n<li>fix hop teleport links<\/li>\n<\/ul>\n<p>v3 beta features (available from github or w4os website releases):<\/p>\n<ul>\n<li>new Connections settings page<\/li>\n<li>new encrypt simulators credentials<\/li>\n<li>enhanced Avatars list with modal profile preview<\/li>\n<li>enhanced fetch database credentials from console if console is enabled<\/li>\n<li>enhanced fetch ini config from console if available<\/li>\n<li>enhanced settings API<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.9.0<\/h3><a id=\"user-content-290\" class=\"anchor\" aria-label=\"Permalink: 2.9.0\" href=\"#290\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix crash on fresh install caused by calls to opensim db while it is not yet configured<\/li>\n<li>fix avatar-profile shortcode crashing php on fresh install<\/li>\n<li>fix avatar registration fail on other pages than canonical profile (issue #72)<\/li>\n<li>fix password verification on profile avatar registration form<\/li>\n<li>fix user notices not displayed on profile page<\/li>\n<li>fix avatar registration form layout<\/li>\n<li>fix requirements alert shown only on w4os status page<\/li>\n<li>fix minor PHP warnings on fresh install<\/li>\n<li>don't load templates.php for feeds and admin pages (fix #52)<\/li>\n<\/ul>\n<p>Transitional release, progressively integrate upcoming v3 features as beta\nDo not enabe v3 beta features in production environment<\/p>\n<p>v3 beta features (available from github or w4os website releases):<\/p>\n<ul>\n<li>option in classic settings to enable v3 beta features<\/li>\n<li>new v3 settings page (limited, main options still in classic settings page)<\/li>\n<li>new v3 avatars admin page, including\n<ul>\n<li>avatar list: sortable, filterable, searchable<\/li>\n<li>avatar settings (placeholder, not implemented)<\/li>\n<li>avatar model settings, replacing classic avatar models settings page<\/li>\n<\/ul>\n<\/li>\n<li>new v3 regions admin page, including\n<ul>\n<li>region list: sortable, filterable, searchable<\/li>\n<li>region settings (placeholder, not implemented)<\/li>\n<\/ul>\n<\/li>\n<li>ensure backwards compatibility if v3 features are not enabled<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.8<\/h3><a id=\"user-content-28\" class=\"anchor\" aria-label=\"Permalink: 2.8\" href=\"#28\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix database credential not shown in settings<\/li>\n<li>fix PHP Fatal error:  Uncaught Error: Call to undefined method MetaBoxSupportArr::to_depth (updated metabox dependencies)<\/li>\n<li>Tested up to 6.7-RC1<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7.9<\/h3><a id=\"user-content-279\" class=\"anchor\" aria-label=\"Permalink: 2.7.9\" href=\"#279\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>updated Economy settings instructions<\/li>\n<li>fix Offline Message url instructions for Robust (we used 'message' variable, which Firestorm Viewer seems to use for another purpose)<\/li>\n<li>offline message : move sender info after the message for better display in mailbox list<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7.8<\/h3><a id=\"user-content-278\" class=\"anchor\" aria-label=\"Permalink: 2.7.8\" href=\"#278\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix scheduled jobs list growing indefinitely<\/li>\n<li>fix w4os_get_urls_statuses and w4os_sync_users scheduled action failng (not properly registered)<\/li>\n<li>fix empty content passed to ImageMagic<\/li>\n<li>fix PHP Fatal error  Zero size image string passed to Imagick<\/li>\n<li>fix deprecation warnings Optional parameter  declared before required parameter<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7.7<\/h3><a id=\"user-content-277\" class=\"anchor\" aria-label=\"Permalink: 2.7.7\" href=\"#277\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>Tested up to WP 6.6.1 (fix #78)<\/li>\n<li>don't process template content if original language page is not found<\/li>\n<li>minor dev changes<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7.6<\/h3><a id=\"user-content-276\" class=\"anchor\" aria-label=\"Permalink: 2.7.6\" href=\"#276\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix eventsparser crashing (undefined varfiable $array)<\/li>\n<li>(dev) get helpers as submodule instead of composer dependency<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7.5<\/h3><a id=\"user-content-275\" class=\"anchor\" aria-label=\"Permalink: 2.7.5\" href=\"#275\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>tested up to WP 6.5<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7.3<\/h3><a id=\"user-content-273\" class=\"anchor\" aria-label=\"Permalink: 2.7.3\" href=\"#273\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>updated INSTALLATION.md, link to githup pages in README<\/li>\n<li>updated libraries<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7.2<\/h3><a id=\"user-content-272\" class=\"anchor\" aria-label=\"Permalink: 2.7.2\" href=\"#272\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added permalink option for helpers slug<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7.1<\/h3><a id=\"user-content-271\" class=\"anchor\" aria-label=\"Permalink: 2.7.1\" href=\"#271\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added clearer instructions for missing requirements on status page<\/li>\n<li>fix web search output unnecessary closing tag<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.7<\/h3><a id=\"user-content-27\" class=\"anchor\" aria-label=\"Permalink: 2.7\" href=\"#27\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>new web search block (experimental)<\/li>\n<li>new destinations guide (experimental)<\/li>\n<li>added bases for localization<\/li>\n<li>added helpers\/guide.php<\/li>\n<li>fix avatar creation form not displayed for new accounts<\/li>\n<li>search settings: only show the applicable SearchURL to avoid confusions<\/li>\n<li>use dialog modal box for avatar creation form when form container is too small<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.6.4<\/h3><a id=\"user-content-264\" class=\"anchor\" aria-label=\"Permalink: 2.6.4\" href=\"#264\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix W4OS_DIR not defined when database is not configured<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.6.3<\/h3><a id=\"user-content-263\" class=\"anchor\" aria-label=\"Permalink: 2.6.3\" href=\"#263\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>Not stable: bugs introduced in this version were fixed in 2.6.4<\/li>\n<li>fix regression in 41dfe8e 2.6.2 (some admin menus missing)<\/li>\n<li>fixed profile displayed twice when profile page is personalized with Divi Builder<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.6.2<\/h3><a id=\"user-content-262\" class=\"anchor\" aria-label=\"Permalink: 2.6.2\" href=\"#262\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>Not stable: bugs introduced in this version were fixed in 2.6.4<\/li>\n<li>added terms of service checkbox<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.6.0<\/h3><a id=\"user-content-260\" class=\"anchor\" aria-label=\"Permalink: 2.6.0\" href=\"#260\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>prevent fatal errors with wrongly formatted translations or any other sprintf() error<\/li>\n<li>added support for WPML and Polylang (other translation plugin don't need it)<\/li>\n<li>added Italian and Portuguese translations (to already present French, Dutch, German and Welsh)<\/li>\n<li>added admin bar menu<\/li>\n<li>Popular Places block displays now only local results and exclude land for sale by default, added options to override<\/li>\n<li>helpers: show only local results in popular places<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.5<\/h3><a id=\"user-content-25\" class=\"anchor\" aria-label=\"Permalink: 2.5\" href=\"#25\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>Stable release, includes updates from 2.4.2 to 2.4.7, mainly:<\/p>\n<ul>\n<li>optimized Grid Status, Grid Info, Popular Places and Avatar Profile Gutenberg block<\/li>\n<li>added \"mini profile\" option to avatar profile<\/li>\n<li>added Divi modules for Grid Status, Grid Info, Popular Places and Avatar Profile<\/li>\n<li>added option to define avatar models by a custom list in addition to name rules<\/li>\n<li>added Gloebit configuration instructions<\/li>\n<li>reorganized settings in several page<\/li>\n<li>fix potential crash due to incorrectly formatted translations<\/li>\n<li>and a bunch of other fixes and enhancements detailed below<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.4.7<\/h3><a id=\"user-content-247\" class=\"anchor\" aria-label=\"Permalink: 2.4.7\" href=\"#247\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix crash caused by translation on nl and de pages<\/li>\n<li>fix popular-place page would crash if mpty answer given by the helper<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.4.6<\/h3><a id=\"user-content-246\" class=\"anchor\" aria-label=\"Permalink: 2.4.6\" href=\"#246\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added Gloebit configuration instructions<\/li>\n<li>added link to economy binaries download<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.4.5<\/h3><a id=\"user-content-245\" class=\"anchor\" aria-label=\"Permalink: 2.4.5\" href=\"#245\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added \"mini profile\" option to avatar block<\/li>\n<li>added Grid Status, Grid Info and Avatar Profile Divi module<\/li>\n<li>fixed Grid Status, Grid Info and Avatar Profile Gutenberg block<\/li>\n<li>reorganized Search Engine, Economy and Offline Messages settings<\/li>\n<li>clarified profile page settings<\/li>\n<li>fixed Podex redirect message broken<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.4.4<\/h3><a id=\"user-content-244\" class=\"anchor\" aria-label=\"Permalink: 2.4.4\" href=\"#244\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added title level option to Popular Places block, shortcode and Divi module<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.4.3<\/h3><a id=\"user-content-243\" class=\"anchor\" aria-label=\"Permalink: 2.4.3\" href=\"#243\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added Popular Places Divi Builder module<\/li>\n<li>added separate web assets server settings page<\/li>\n<li>added separate Shortcode admin page<\/li>\n<li>added [popular-places] to Shortcode page<\/li>\n<li>renamed shortcodes for clarity and constistency:\n<ul>\n<li>[grid-info] instead of [gridinfo]<\/li>\n<li>[grid-status] instead of [gridstatus]<\/li>\n<li>[avatar-profile] instead of [gridprofile]<\/li>\n<li>Legacy shortcodes kept for backwards compatibility<\/li>\n<\/ul>\n<\/li>\n<li>added warning when attempting to edit profile page (or any page generated by w4os) with Divi Builder.<\/li>\n<li>prettier and more efficient db credentials options in settings page (getting ready for optimized use in the future)<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.4.2<\/h3><a id=\"user-content-242\" class=\"anchor\" aria-label=\"Permalink: 2.4.2\" href=\"#242\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added option to define avatar models with a custom list in addition to name rule<\/li>\n<li>update available models dynamically on models settings page<\/li>\n<li>fix settings action link displayed in the wrong plugin row on plugin page<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.4.1<\/h3><a id=\"user-content-241\" class=\"anchor\" aria-label=\"Permalink: 2.4.1\" href=\"#241\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix fatal error when updating from WP directory (\"MetaBoxUpdaterOption\" not found)<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.4<\/h3><a id=\"user-content-24\" class=\"anchor\" aria-label=\"Permalink: 2.4\" href=\"#24\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>new Avatar Models settings page, including list of available avatars<\/li>\n<li>added defaults for plugin-provider or external search engines<\/li>\n<li>added troubleshooting guide<\/li>\n<li>added instructions for nginx users<\/li>\n<li>optimized assets rendering from cache<\/li>\n<li>fix profile and avatar models pictures broken<\/li>\n<li>fix regression arguments not accepted for query.php<\/li>\n<li>fix invalid DATA_SRV_ example variable when gridname contains invalid characters<\/li>\n<li>fix helpers nginx icompatibility (use REQUEST_URI instead of REDIRECT_URL)<\/li>\n<li>fix helpers settings hints missing http:\/\/ protocol for gatekeeper<\/li>\n<li>fix no result if gatekeeper is passed without http:\/\/ protocol<\/li>\n<li>fix search and register url settings<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.3.10 &gt; 2.3.15<\/h3><a id=\"user-content-2310--2315\" class=\"anchor\" aria-label=\"Permalink: 2.3.10 &gt; 2.3.15\" href=\"#2310--2315\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>restored WooCommerce Account Dashboard avatar section<\/li>\n<li>fix array_unique(): Argument #1 ($array) must be of type array, null given on plugin first activation<\/li>\n<li>fix Undefined constant \"W4OS_PROFILE_URL\" fatal error<\/li>\n<li>fix wrong event time in in-world search (UTC shown instead of grid time)<\/li>\n<li>fix w4os_profile_sync() fatal error when profiles are disabled<\/li>\n<li>fix fatal error when wp object is passed as user_id<\/li>\n<li>minor fixes (profile page title, profile image, profile text display)<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.3.9<\/h3><a id=\"user-content-239\" class=\"anchor\" aria-label=\"Permalink: 2.3.9\" href=\"#239\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>new search helper<\/li>\n<li>new offline messages helper. Messages are stored in OfflineMessageModule V2 format, so one can switch between core and external service (fix #47)<\/li>\n<li>new currency helpers<\/li>\n<li>new Popular Places block and [popular-places] shortcode<\/li>\n<li>new events parser (fetch events from 2do.pm or another HYPEvents server)<\/li>\n<li>added password reset link to profile page<\/li>\n<li>added prebuilt binaries for opensim 0.9.1 and 0.9.2<\/li>\n<li>added currency conversion rate setting<\/li>\n<li>separate helpers settings page<\/li>\n<li>updated translations<\/li>\n<li>fix userprofile table queried even if not present (issue #64) when User Profiles are not enabled on robust<\/li>\n<li>fix fatal error Argument #2 ($haystack) must be of type array, bool given (issue #64)<\/li>\n<li>fix offline messages not forwarded by mail (opensim db not properly loaded by helpers)<\/li>\n<li>fix profile picture aspect ratio (4\/3, as in viewer)<\/li>\n<li>fix fatal error in helpers for poorly encoded unicode text sources<\/li>\n<li>fix fatal errors in helpers when database is not connected<\/li>\n<li>fix #57 password not updated on grid when using password recovery in WordPdress<\/li>\n<li>fix fatal error and warnings with popular-places shortcode<\/li>\n<li>avoid fatal error if php xml-rpc is not installed, show error notice instead<\/li>\n<li>helpers migrated from old mysqli db connection method to PDO<\/li>\n<li>dropped aurora and OpenSim 0.6 support<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.2.10<\/h3><a id=\"user-content-2210\" class=\"anchor\" aria-label=\"Permalink: 2.2.10\" href=\"#2210\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>\n<p>new web assets server<\/p>\n<\/li>\n<li>\n<p>new profile page<\/p>\n<\/li>\n<li>\n<p>new config instructions for new grid users<\/p>\n<\/li>\n<li>\n<p>new blocks support<\/p>\n<\/li>\n<li>\n<p>new grid and wordpress users sync<\/p>\n<\/li>\n<li>\n<p>new grid based authentication; if wp user exists, password is reset to grid password; if not, a new wp user is created<\/p>\n<\/li>\n<li>\n<p>new admin can create avatars for existing users<\/p>\n<\/li>\n<li>\n<p>new grid info settings are fetched from Robust server if set or localhost:8002<\/p>\n<\/li>\n<li>\n<p>new check grid info url validity (cron and manual)<\/p>\n<\/li>\n<li>\n<p>added option to replace name by avatar name in users list<\/p>\n<\/li>\n<li>\n<p>added profile image to gridprofile<\/p>\n<\/li>\n<li>\n<p>added assets permalink settings<\/p>\n<\/li>\n<li>\n<p>added states in admin pages list for known urls (from grid_info)<\/p>\n<\/li>\n<li>\n<p>added lost password and register links on login page<\/p>\n<\/li>\n<li>\n<p>added buttons to create missing pages on status dashboard<\/p>\n<\/li>\n<li>\n<p>added Born and Last Seen columns to users list<\/p>\n<\/li>\n<li>\n<p>added hop:\/\/ link to login uri<\/p>\n<\/li>\n<li>\n<p>added in-world profile link to profile page<\/p>\n<\/li>\n<li>\n<p>added Partner, Wants, Skills and RL to web profile<\/p>\n<\/li>\n<li>\n<p>removed Avatar section from WooCommerce account page until fixed<\/p>\n<\/li>\n<li>\n<p>removed W4OS Grid Info and W4OS Grid Status widgets (now available as blocks)<\/p>\n<\/li>\n<li>\n<p>fix duplicate admin notices<\/p>\n<\/li>\n<li>\n<p>fix squished profile picture<\/p>\n<\/li>\n<li>\n<p>fix avatar not created, or not created at first attempt<\/p>\n<\/li>\n<li>\n<p>fix inventory items not transferred to new avatars<\/p>\n<\/li>\n<li>\n<p>fix errors not displayed on avatar creation page<\/p>\n<\/li>\n<li>\n<p>fix avatar model not shown if default account never connected<\/p>\n<\/li>\n<li>\n<p>fix missing error messages on login page<\/p>\n<\/li>\n<li>\n<p>fix user login broken if w4os_login_page is set to profile and OpenSim database is not connected<\/p>\n<\/li>\n<li>\n<p>fix a couple of fatal errors<\/p>\n<\/li>\n<li>\n<p>fix slow assets, store cached images in upload folder to serve them directly by the web server<\/p>\n<\/li>\n<li>\n<p>fix Fatal error Call to undefined function each()<\/p>\n<\/li>\n<li>\n<p>show a link to profile page instead of the form in profile shortcode<\/p>\n<\/li>\n<li>\n<p>responsive profile display for smartphones<\/p>\n<\/li>\n<li>\n<p>show image placeholder if profile picture not set<\/p>\n<\/li>\n<li>\n<p>added imagick to the recommended php extensions<\/p>\n<\/li>\n<li>\n<p>lighter template for profiles when loaded from the viewer<\/p>\n<\/li>\n<li>\n<p>guess new avatar name from user_login if first name and last name not provided<\/p>\n<\/li>\n<li>\n<p>replace wp avatar picture with in-world profile picture if set<\/p>\n<\/li>\n<li>\n<p>use version provided by .version if present<\/p>\n<\/li>\n<li>\n<p>More comprehensive database connection error reporting<\/p>\n<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.1<\/h3><a id=\"user-content-21\" class=\"anchor\" aria-label=\"Permalink: 2.1\" href=\"#21\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added login form to gridprofile shortcode when not connected instead of login message<\/li>\n<li>added w4os-shortcode classes<\/li>\n<li>added screenshots<\/li>\n<li>fix fatal error when trying to display  WooCommerce Avatar tab form in My Account<\/li>\n<li>fix localisation not loading<\/li>\n<li>shorter \"Avatar\" label, removed uuid in gridprofile shortcode<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">2.0.8<\/h3><a id=\"user-content-208\" class=\"anchor\" aria-label=\"Permalink: 2.0.8\" href=\"#208\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>Now distributed via WordPress plugins directory<\/li>\n<li>Official git repository changed to GitHub<\/li>\n<li>renamed plugin as W4OS - OpenSimulator Web Interface<\/li>\n<li>fix other WP plugins directory requirements<\/li>\n<li>fix localizations not loading<\/li>\n<li>fix regression, automatic updates restored. Users with version 2.0 to 2.0.3 will need to reinstall the plugin from source. Sorry.<\/li>\n<li>use plugin dir to detect slug instead of hardcoded value<\/li>\n<li>renamed [w4os_profile] shortcode as [gridprofile] for consistency. w4os_profile is kept for backwards compatibility<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">1.2.12<\/h3><a id=\"user-content-1212\" class=\"anchor\" aria-label=\"Permalink: 1.2.12\" href=\"#1212\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>fix #2 Database check fails if mysql is case insensitive<\/li>\n<li>fix #4  Database connection error triggered if userprofile table is absent<\/li>\n<li>fix #10 invalid JSON response when adding [w4os_profile] shortcode element<\/li>\n<li>fix wrong letter cases in auth table name<\/li>\n<li>fix only show profile form for current user<\/li>\n<li>better css loading<\/li>\n<li>only check once if w4os db is connected<\/li>\n<li>added login page link to message displayed when trying to see profile while not connected<\/li>\n<li>more detailed error messages for avatar creation<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">1.1.4<\/h3><a id=\"user-content-114\" class=\"anchor\" aria-label=\"Permalink: 1.1.4\" href=\"#114\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>added changelog, banners and icons to view details<\/li>\n<li>fix \"Yes\" and \"No\" translations<\/li>\n<li>fix typo in banners and icons urls, can't believe I didn't see this before...<\/li>\n<li>fixed conflict with other extensions settings pages<\/li>\n<li>changed update server library to <a href=\"https:\/\/github.com\/froger-me\/wp-plugin-update-server\">frogerme's WP Plugin Update Server<\/a>\n<\/li>\n<\/ul>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">Previous<\/h3><a id=\"user-content-previous\" class=\"anchor\" aria-label=\"Permalink: Previous\" href=\"#previous\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<ul>\n<li>For full change history see <a href=\"https:\/\/github.com\/GuduleLapointe\/w4os\/commits\/master\">GitHub repository<\/a>\n<\/li>\n<\/ul>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":4318,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4336","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/pages\/4336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/comments?post=4336"}],"version-history":[{"count":4,"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/pages\/4336\/revisions"}],"predecessor-version":[{"id":4395,"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/pages\/4336\/revisions\/4395"}],"up":[{"embeddable":true,"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/pages\/4318"}],"wp:attachment":[{"href":"https:\/\/w4os.org\/nl\/wp-json\/wp\/v2\/media?parent=4336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}