@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix content: <http://purl.org/rss/1.0/modules/content/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<https://lhero.org/?post_type=lh-portfolio-doc&#038;p=150360>
  a sioc:Post ;
  dc:title "Changelog" ;
  dcterms:identifier 150360 ;
  dc:modified "2026-10-15T02:05:13Z"^^xsd:dateTime ;
  dc:created "2026-10-15T02:05:13Z"^^xsd:dateTime ;
  sioc:link <https://lhero.org/portfolio/lh-user-insights/changelog/> ;
  sioc:has_creator <https://lhero.org/author/1/#account> ;
  sioc:has_container <https://lhero.org/#posts> ;
  content:encoded "<ul class=\"lh_portfolio-meta\"><li><strong>Part of:</strong> <a href=\"https://lhero.org/portfolio/lh-user-insights/\">LH User Insights</a></li></ul><ul class=\"lh_portfolio-changelog\"><li><strong>0.3.2:</strong> Task #150552: close the query-users input schema and its filter items with additionalProperties false, so a misspelt parameter or filter key is rejected instead of silently ignored.</li><li><strong>0.3.1:</strong> Group names in the Groups, Public Groups and Private Groups filters now show as plain text (&quot;Touch &amp; Go&quot;, not &quot;Touch &amp; Go&quot;).</li><li><strong>0.3.0:</strong> User ID is now always the first column, followed by the username; both can no longer be hidden. Adds a BuddyPress module with Group Number, Groups Created, Groups (filter by membership of chosen groups), Public Groups, Private Groups, Friends, Activity Updates and Member Type, and a post types module with a &#039;created&#039; count and a &#039;Last&#039; date for every public post type, replacing lh-users-insights-buddypress-extender, lh-users-insights-post-types-extender and Custom Post Type Filters for Users Insights. Group lists show group names and can be filtered by &#039;includes all&#039; or &#039;includes none&#039;. BuddyPress fields, including xProfile, now come from the tables BuddyPress uses for the current site, so sites with their own BuddyPress network (Princes Park Touch) show their own profile fields and data instead of the main network&#039;s. Adds two filter types, include_exclude_with_nulls and comma_multioption, to the field type registry and the query-users ability.</li><li><strong>0.2.1:</strong> Stops a deprecation notice being logged for every column of every user returned: query results are now allowed dynamic properties explicitly, as PHP 8.2 and later require. Shortens the plugin&#039;s short description to fit wordpress.org&#039;s 150-character limit.</li><li><strong>0.2.0:</strong> Adds the User Insights screen under Users: a DataViews table of the site&#039;s users, with sortable columns you can show or hide, filters on account, role, BuddyPress profile and custom fields, search by username, email or display name, and paging. Each administrator&#039;s columns, sort, filters and page size are remembered between visits. The REST endpoint behind the screen now checks every filter exactly as the query-users ability does (both use the new LH_UI_Filters), refusing an unknown field or operator instead of returning every user, and can return just the columns asked for. query-users gains a search parameter, and its condition is now documented as a single value, which is all the engine has ever accepted. plugin_version() now reads the version from the plugin header.</li><li><strong>0.1.2:</strong> query-users now refuses a filter it cannot apply instead of silently ignoring it and returning every user: an unknown field id, an operator that is not valid for the field&#039;s filter type, a type that does not match the field, or a missing condition for an operator that needs one each return an invalid_filter error naming the problem and the valid choices. A filter&#039;s type is now optional and taken from the field when omitted. total and alltotal are returned as integers, and the output schema documents them.</li><li><strong>0.1.1:</strong> The User Insights abilities now end their descriptions with the permission they need (&quot;Requires install_plugins.&quot;, following the lh_ui_capability filter), and query-users declares the types a filter condition can take. The ability category is renamed from user-insights to lh-user-insights, matching the plugin&#039;s text domain like every other LocalHero plugin.</li></ul>"^^rdf:XMLLiteral ;
  sioc:content "Part of: LH User Insights0.3.2: Task #150552: close the query-users input schema and its filter items with additionalProperties false, so a misspelt parameter or filter key is rejected instead of silently ignored.0.3.1: Group names in the Groups, Public Groups and Private Groups filters now show as plain text (&quot;Touch &amp; Go&quot;, not &quot;Touch &amp; Go&quot;).0.3.0: User ID is now always the first column, followed by the username; both can no longer be hidden. Adds a BuddyPress module with Group Number, Groups Created, Groups (filter by membership of chosen groups), Public Groups, Private Groups, Friends, Activity Updates and Member Type, and a post types module with a &#039;created&#039; count and a &#039;Last&#039; date for every public post type, replacing lh-users-insights-buddypress-extender, lh-users-insights-post-types-extender and Custom Post Type Filters for Users Insights. Group lists show group names and can be filtered by &#039;includes all&#039; or &#039;includes none&#039;. BuddyPress fields, including xProfile, now come from the tables BuddyPress uses for the current site, so sites with their own BuddyPress network (Princes Park Touch) show their own profile fields and data instead of the main network&#039;s. Adds two filter types, include_exclude_with_nulls and comma_multioption, to the field type registry and the query-users ability.0.2.1: Stops a deprecation notice being logged for every column of every user returned: query results are now allowed dynamic properties explicitly, as PHP 8.2 and later require. Shortens the plugin&#039;s short description to fit wordpress.org&#039;s 150-character limit.0.2.0: Adds the User Insights screen under Users: a DataViews table of the site&#039;s users, with sortable columns you can show or hide, filters on account, role, BuddyPress profile and custom fields, search by username, email or display name, and paging. Each administrator&#039;s columns, sort, filters and page size are remembered between visits. The REST endpoint behind the screen now checks every filter exactly as the query-users ability does (both use the new LH_UI_Filters), refusing an unknown field or operator instead of returning every user, and can return just the columns asked for. query-users gains a search parameter, and its condition is now documented as a single value, which is all the engine has ever accepted. plugin_version() now reads the version from the plugin header.0.1.2: query-users now refuses a filter it cannot apply instead of silently ignoring it and returning every user: an unknown field id, an operator that is not valid for the field&#039;s filter type, a type that does not match the field, or a missing condition for an operator that needs one each return an invalid_filter error naming the problem and the valid choices. A filter&#039;s type is now optional and taken from the field when omitted. total and alltotal are returned as integers, and the output schema documents them.0.1.1: The User Insights abilities now end their descriptions with the permission they need (&quot;Requires install_plugins.&quot;, following the lh_ui_capability filter), and query-users declares the types a filter condition can take. The ability category is renamed from user-insights to lh-user-insights, matching the plugin&#039;s text domain like every other LocalHero plugin." ;
  sioc:topic <https://lhero.org/?taxonomy=author&term=cap-1> .

<https://lhero.org/author/1/#account> rdfs:seeAlso <https://lhero.org/author/1/?feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=author&term=cap-1> rdfs:seeAlso <https://lhero.org/?taxonomy=author&term=cap-1&feed=lhrdf&format=turtle> .
