Version 1.4.33

June 16, 2023

Fixed

  • Fix an error when moving nodes.

Version 1.4.32

May 27, 2023

Fixed

  • Fix disabled node border color.
  • Fix alignment issues with node builder.

Version 1.4.31

November 21, 2022

Fixed

  • Fix an issue where empty custom attributes would create invalid HTML.

Version 1.4.30

October 28, 2022

Fixed

  • Fix URL Suffix setting not being reset when changing from an element to non-element node type.

Version 1.4.29

October 25, 2022

Added

  • Add support for GraphQL querying on Navigation field within other elements.

Version 1.4.28

July 15, 2022

Fixed

  • Fix an error when resaving nodes for a site.

Version 1.4.27

July 2, 2022

Fixed

  • Fix partial URLs incorrectly marked as active /newsletter and /news.
  • Fix duplicated nodes when not propagating nodes, when a new site is enabled in the nav settings, and existing nodes already exist.

Version 1.4.26

April 23, 2022

Fixed

  • Fix fetching element sources when rendering nodes (causing of many things, user temporary upload folders to be created) and improve performance.
  • Fix SQL query error when trying to restore trashed nodes for a nav.

Version 1.4.25

April 6, 2022

Added

  • Add more error handling to navigation migrations.
  • Add resave/navigation-nodes CLI command to resave nodes in bulk.

Changed

  • Improve performance of node->url.

Fixed

  • Fix an error with Navee migration and parent nodes.
  • Fix linkAttributes() not merging in attributes defined in the control panel for the node, with template attributes
  • Fix an error when migrating navigations from A&M Nav or Navee regarding enabled sites.

Version 1.4.24

January 22, 2022

Fixed

  • Fix when turning on node propagation, node elements aren't re-saved in each site (for multi-sites).
  • Fix an error when turning off node propagation, which would effect all navigation nodes, instead of the navigation being edited.

Version 1.4.23

December 31, 2021

Fixed

  • Fix custom node types not having their class set correctly in the control panel.
  • Fix validation errors not appearing when saving a navigation.

Version 1.4.22

October 30, 2021

Changed

  • Now requires Craft 3.6.0+.

Fixed

  • Fix Navee migration, where nodes weren't maintaining their structure. (thanks @iainsaxon).
  • Fix GraphQL generator issues in some cases (Gatsby Helper).
  • Fix an error with Gatsby Helper plugin.
  • Fix when deleting navigations their nodes not being marked as deleted, on a multi-site, without node propagation disabled.

Version 1.4.21

August 25, 2021

Fixed

  • Improve displayName twig function.
  • Fix an error when saving a linked element, when the node was deleted.

Version 1.4.20

July 19, 2021

Fixed

  • Fix HUD overflow issue for some plugins (Icon Picker).
  • Fix an error when propagating elements on multi-sites, where navigation nodes didn’t support the site an element is propagating into.

Version 1.4.19

July 10, 2021

Fixed

  • Fix an error when saving settings for the first time. (thanks @boboldehampsink).

Version 1.4.18

June 20, 2021

Fixed

  • Fix when turning off node propagation, duplicate nodes would occur.
  • Fix when turning off node propagation, the node hierarchy and order would be incorrect.
  • Fix nodes not propagating correctly when a navigation was turned on. Nodes should only be duplicated when turned off.

Version 1.4.17

June 5, 2021

Changed

  • Improve query performance for large sites (with a large project config). Typically a 50-70% improvement in rendering speed.

Fixed

  • Fix navHandle and navName for GraphQL producing errors.

Version 1.4.16

May 8, 2021

Added

  • Add edit structure authorize to save node controller action.
  • Add validation rules for navigations to ensure at least one site is enabled, for multi-site installs.

Fixed

  • Fix an error when adding a new site, and propagating nodes.
  • Fix an error when saving a site node.
  • Fix querying navigation nodes with GraphQL with only “View all navigations” schema permissions set.
  • Fix getActiveNode() no matching a node if the current URL contained a query string.
  • Fix potential error when non-element type nodes have element information leftover.

Version 1.4.15

March 13, 2021

Fixed

  • Fix an error when trying to view the default navigation, if the user didn’t have permission to access the primary site.
  • Fix an error that would occur when switching an element node to a non-element node (Entry to Passive).
  • Fix type label not updating when switching to a different node type.

Version 1.4.14

March 4, 2021

Fixed

  • Fix nodeUri returning the incorrect value for multi-sites with GraphQL.
  • Fix when no site selected, the primary site not being used when editing a navigation.
  • Fix when selecting element nodes on multi-sites, the element selector modal now defaults to the currently editing site.

Version 1.4.13

January 26, 2021

Fixed

  • Fix passive nodes being marked as active.
  • Ensure active state checks only check against nodes with URLs.
  • Fix potential error with GraphQL and querying customAttributes and data.

Version 1.4.12

January 15, 2021

Added

Fixed

  • Fix “Clear Nodes” clearing the primary site’s nodes, instead of the currently-editing site’s nodes.
  • Fix incorrect redirect when clearing nodes.
  • Fix when disabling propagation, node levels weren’t being retained and resetting to the root level.

Version 1.4.11

January 14, 2021

Fixed

  • Fix for non-absolute, non-root-relative nodes not getting their active state set correctly.

Version 1.4.10

December 22, 2020

Fixed

  • Fix getSupportedSites() for a node always returning all sites.

Version 1.4.9

December 15, 2020

Added

  • Add node.isSite() and node.isPassive().

Fixed

  • Fix a potential error during migration, where a “All elements must have at least one site associated with them” warning might appear.
  • Fix an error when trying to edit a navigation with no enabled sites.

Version 1.4.8

December 11, 2020

Fixed

  • Fix EVENT_REGISTER_GQL_SCHEMA_COMPONENTS error when running Navigation on Craft 3.4.x sites.
  • Fix showing sites where a user might not have permission to access.
  • Fix when setting a navigation to not propagate nodes, existing nodes should be created for new sites.

Version 1.4.7

December 7, 2020

Fixed

  • Fix node type not persisting to a custom URL when editing a node (again).

Version 1.4.6

December 7, 2020

Changed

  • Navigation node queries via GraphQL are now no longer automatically included in the public schema.

Fixed

  • Fix node type not persisting to a custom URL when editing a node.
  • Fix nodes propagating to all user-enabled sites, instead of the site a navigation is enabled for.

Version 1.4.5

December 2, 2020

Fixed

  • Fix potential issue with Feed Me throwing errors when not installed or found.
  • Fix node type dropdown in node edit modal not showing the correct enabled node types.

Version 1.4.4

November 29, 2020

Changed

  • Node field layout designer no longer allows tabs of fields.

Fixed

  • Fix error when accessing navigation nodes for a navigation that was not enabled.
  • Fix list of editable navigations not being correct, when editing a navigation. This could cause loading the incorrect (un-editable) nav in some instances.
  • Fix node custom fields not showing overrides (label, instructions) as defined in the field layout designer.

Version 1.4.3

November 16, 2020

Added

  • Add hasUrl() node query param.

Fixed

  • Fix element permissions for navigations not working correctly for non-english users.
  • Allow navigation instructions to include line-breaks.

Version 1.4.2

November 3, 2020

Added

  • Add support for all registered elements, including third-party ones that support hasUris. Element support can be managed in the navigation settings.
  • Add URL for element nodes when hovering over the node type.
  • Add URL for element nodes in node edit modal.

Changed

  • Refactor render template to use Twig attr function for cleaner templates.

Fixed

  • Fix unnecessary empty attributes being outputted when using craft.navigation.render().

Version 1.4.1

October 20, 2020

Fixed

  • Fix unnecessary additional queries for nodes.

Version 1.4.0

October 18, 2020

Added

  • Significantly improved performance when adding multiple nodes at once.
  • Add passive node type. Perfect for headings, dividers or other UI-related nodes that don't have a URL.
  • Add “Clear Nodes” button when editing navigations.
  • Add “Settings” button when editing navigations.
  • Add Permissions to navigations, allowing specific sections/groups/volumes/etc to be enabled to add elements from.
  • Add Enable/Disable for each node type for navigations. Allows easier customising of available nodes to add from.
  • Add Feed Me support. Navigation nodes can now be imported using Feed Me.
  • Add site settings to navigations, to control which sites can have the navigation enabled for.
  • Add hasAttributes function to node types.

Changed

  • Removed disabledElements config setting. This is now managed at the plugin level.

Fixed

  • Fix active node checking when special characters are in URLs.
  • Navee migration is now complete, handling migrating nested nodes.
  • Fix modal node editor not respecting node type settings for field options available to edit.
  • Fix adding multiple nodes at once often being added out of order.

Version 1.3.31

September 29, 2020

Added

  • Add propagateSiteElements config setting to help with multi-site menus. Navigation will use the equivalent element for each site automatically for multi-site menus. But you might want to pick specific elements across your sites, and have them the same across all your navigations.

Version 1.3.30

September 27, 2020

Fixed

  • Fix homepage entry active state check when outputting multiple different sites navs on a single site.
  • Fix error when trying to get the active state for a node with an empty URL.
  • Fix custom attributes in GraphQL not returning an object.

Version 1.3.29

September 16, 2020

Fixed

  • Fix detection of active parameter on multi-site setups.
  • Fix nodes being unlinked to their element in some special circumstances.

Version 1.3.28

August 31, 2020

Changed

  • For site nodes, the trailing slash is now trimmed for the site URL.

Fixed

  • Fix node being marked as active for partial matches where the URLs contain the same words.
  • Fix default site when editing a nav to be the first editable for a user.

Version 1.3.27

August 20, 2020

Fixed

  • Fix edit menu button showing with allowAdminChanges = false.
  • Fix overflow in model node edit window, effecting some custom fields.

Version 1.3.26

August 14, 2020

Fixed

  • Fix active-state check for nodes, which weren't catering for multi-sites with a sub-directory in their base url.

Version 1.3.25

August 11, 2020

Fixed

  • Update node->uri to node->nodeUri, prevents URI issues when saving elements.
  • Update migration to log potential errors.

Version 1.3.24

August 10, 2020

Added

  • Add settings button when editing a navigation.
  • Add uri property to node.

Fixed

  • Fix incorrect translation for settings in navigation index.
  • Fix elementSiteId error caused by Craft 3.5 changes.

Version 1.3.23

August 5, 2020

Fixed

  • Fix elementSiteId not saving for nodes in Craft 3.5+.
  • Fix deprecation notice for enabledForSite.

Version 1.3.22

July 22, 2020

Fixed

  • Fix custom node types with hasTitle = false.
  • Fix custom node types with long names in the CP.
  • Ensure the the primary site is selected when editing a nav, rather than the first editable nav.

Version 1.3.21

June 24, 2020

Fixed

  • Fix element still being referenced for a node when switching it to a custom URL..

Version 1.3.20

June 22, 2020

Added

  • Add getModalHtml for custom node types.

Fixed

  • Fix JS errors when there are multiple custom node types.
  • Ensure custom node types have their node set, as early as possible.
  • Ensure custom node types save the url property.

Version 1.3.19

June 6, 2020

Fixed

  • Fix JS error when editing navigations.

Version 1.3.18

June 5, 2020

Fixed

  • Fix checking to see if Commerce is installed to enable products.

Version 1.3.17

June 2, 2020

Fixed

  • Fix incorrect site being selected when editing a nav.

Version 1.3.16

May 29, 2020

Fixed

  • Fix site dropdown selection not persisting from element indexes

Version 1.3.15

May 20, 2020

Fixed

  • Fix activeNode taking into account the suffix for a URL. Active nodes will now return regardless of the defined suffix.
  • Fixed deprecation error on buildNavTree . (thanks @jaydensmith).

Version 1.3.14

May 11, 2020

Fixed

  • Fix site URL errors on Craft 3.5 beta.

Version 1.3.13

April 28, 2020

Fixed

  • Fix custom URL getting overwritten when selecting elements in custom fields.

Version 1.3.12

April 18, 2020

Added

  • Allow getActiveNode() to include option to match against children being active.

Version 1.3.11

April 16, 2020

Fixed

  • Fix logging error Call to undefined method setFileLogging().

Version 1.3.10

April 15, 2020

Changed

  • File logging now checks if the overall Craft app uses file logging.
  • Log files now only include GET and POST additional variables.

Version 1.3.9

April 14, 2020

Fixed

  • Use getBaseUrl() for parsing Site node type URLs.
  • Fix sort order not persisting when saving navs.
  • Fix custom attributes rendering incorrectly when using node.link.

Version 1.3.8

April 2, 2020

Fixed

  • Ensure plugin project config is removed when uninstalling.
  • Fix incorrect permissions being enforced for new navs.

Version 1.3.7

March 30, 2020

Changed

  • Refactored getLink() and pass classes and custom attribute values through renderObjectTemplate(). (thanks @jaydensmith).

Fixed

  • Hide nav settings URL if the user doesn’t have permission.
  • Fix malformed UTF-8 characters when adding a node.

Version 1.3.6

February 24, 2020

Changed

  • Ensure saving node’s URL is kept raw, and not the generated URL.
  • Allow Twig to be used in node’s URLs, so you can use for example {{ siteUrl('blog') }} for site-specific URLs.

Fixed

  • Add element site menu to node editor HUD. (thanks @steverowling).
  • Fix double escaping of nav titles in vue admin tables. (thanks @steverowling).

Version 1.3.5

February 12, 2020

Fixed

  • Fix potential fatal error when upgrading from previous Craft/plugin versions.

Version 1.3.4

February 11, 2020

Added

  • Add more functionality to node types, now fully-featured!
  • Add Site node type, for selecting whole sites, and using their Base URL.

Fixed

  • Fix error for site node types when propagating.
  • Bring gql implementation up to speed.
  • Fix JS error when adding a manual node.

Version 1.3.3

February 5, 2020

Fixed

  • Fix disabled state incorrectly showing when saving a node.
  • Fix Navee migration.

Version 1.3.2

February 3, 2020

Fixed

  • Fix migration issues when other migrations save elements.

Version 1.3.1

February 1, 2020

Changed

  • Revert behaviour of URL generation. No longer enforce the use of Craft’s url() function when generating URLs for nodes.

Version 1.3.0

January 29, 2020

Added

  • Craft 3.4 compatibility.

Version 1.2.4

January 9, 2020

Fixed

  • Fix empty URL being overridden.
  • Change url to use siteUrl instead of url.

Version 1.2.3

January 9, 2020

Fixed

  • Fix error thrown when saving a node's element in some cases.

Version 1.2.2

January 9, 2020

Fixed

  • Fix missing displayName twig function.
  • Fix project config issue with maxNodes.

Version 1.2.1

January 9, 2020

Fixed

  • Fix GraphQL issue when querying children.

Version 1.2.0

January 8, 2020

Added

  • Add custom field support for navigation nodes. Add any additional fields to each node! (thanks @jaydensmith).
  • Allow swapping of an element in the HUD for a node, once the node has been created.
  • Add feature to switch node type for existing nodes. Makes it easy to switch from Entry to Custom URL.
  • Add GraphQL support. See docs.
  • Add custom node types. The ability to define your own custom type of nodes. See docs.
  • Add custom attributes for nodes. Define your own attributes (think data-scroll, etc) attached to the anchor tag for each node.
  • Add URL suffix for nodes - in case you want to add #example or ?some-query=value to element URLs.
  • Add max nodes option for navs to limit the number of nodes in a nav.
  • Add separate user permissions for create/edit/delete navs.

Changed

  • Run non-full URLs through Craft's url() function. This will help defining relative URLs, so they don't always need to begin with a /.

Version 1.1.14.1

November 27, 2019

Fixed

  • Fix pesky debug output!

Version 1.1.14

November 27, 2019

Added

  • Add Navee migration + add panels to settings.
  • Add EVENT_NODE_ACTIVE.
  • Add disabledElements to disable certain element from being added to navs.
  • Add getAllNavs(). Thanks @lewisjenkins.

Fixed

  • Update permissions to act correctly.
  • Fix potential error when deleting nodes.
  • Improve save-element checks for elements that have a URL.
  • Fix being unable to create new nav with the same handle as a deleted one.

Version 1.1.13

July 24, 2019

Added

  • Add better multi-site handling to A&M nav migration.

Changed

  • Hide the “Parent” select field when the nav’s max levels are 1.
  • Update node propagation to use getSupportedSites().

Fixed

  • Fix error when saving a nav in some instances.
  • Fix lack of permission enforcement for navs.
  • Fix type mismatch error on PostgreSQL. (thanks @boboldehampsink).

Version 1.1.12

May 15, 2019

Added

  • Add craft.navigation.getNavById().
  • Add craft.navigation.getNavByHandle().
  • Add feedback to A&M nav migration.

Changed

  • Min requirement to Craft 3.1.x.

Fixed

  • Fix A&M migration not using the sites’ language to match nodes on.

Version 1.1.11

March 19, 2019

Fixed

  • Fix not being able to edit nodes with allowAdminChanges enabled.
  • Fix error when propagating a manual node in a multi-site setup.

Version 1.1.10

March 17, 2019

Fixed

  • Fix schema version check in migration.
  • Ensure navs are read-only when allowAdminChanges is true.

Version 1.1.9.1

March 15, 2019

Fixed

  • Fix migration issue, caused in some instances.

Version 1.1.9

March 15, 2019

Added

  • Add override notice for settings fields.
  • Support for project config.

Fixed

  • Fix linked element URL query to afterPrepare().
  • Fix error when deleting nodes.
  • Fix Postgres error for querying linked element URLs.

Version 1.1.8

March 10, 2019

Added

  • Add craft.navigation.tree().

Changed

  • Remove elementSiteId and refactor linked element’s siteId handling.
  • Removes the need to create individual elements for each node when propagating is true.
  • Better way to store the linked element’s siteId, via the node’s slug.

Fixed

  • Fix errors when adding multiple site-enabled nodes to a nav.
  • Better validation when trying to create a nav with a duplicate handle.

Version 1.1.7.3

March 7, 2019

Fixed

  • Fix migration a little more.

Version 1.1.7.2

March 7, 2019

Fixed

  • Fix navigation field to use handle.
  • Add migration for IDs or Nav models saved for content.

Version 1.1.7.1

March 7, 2019

Fixed

  • Fix string being passed to getNavById(), no need to be that strict.

Version 1.1.7

March 7, 2019

Changed

  • Improved the field to return the navigation model.

Version 1.1.6

March 3, 2019

Fixed

  • Remove A&M Nav migration from install, where it can produce an error in some circumstances.

Version 1.1.5

February 27, 2019

Added

  • Add node.target to return either _blank or an empty string if the node should open in a new window.

Version 1.1.4

February 24, 2019

Added

  • Add permissions for navs.
  • Support aliases in custom URL.

Fixed

  • Fix node titles’s not propagating correctly for nodes.

Version 1.1.3

February 11, 2019

Fixed

  • Fix error thrown on new installs (missing db column).

Version 1.1.2

February 10, 2019

Fixed

  • Fix node level not being applied on new nodes.
  • Fix not being able to see new nodes after all have been removed in the CP.
  • Fix sortOrder not being set for new navs.
  • Fix getActiveNode() reporting back parent as active.
  • Allow getActiveNode to use query criteria.

Version 1.1.1

February 9, 2019

Fixed

  • Fix migration issue for new installs.

Version 1.1.0

February 9, 2019

Added

  • Add navigation field.
  • Added classes to node.link.
  • Add new window and class indicators to nodes in CP.
  • Add indicator of custom title for nodes in the CP.
  • Add instructions to nav.
  • Add A&M Nav migration.
  • Added translatable icon to title.

Fixed

  • Fix error when deleting elements in a multi-site.
  • Fix node’s being active when they shouldn’t be (matching URLs too early).
  • Refactor multi-site propagation of nodes.
  • Fix node-type display issues when dragging node in CP.
  • Fix not fetching URL for elements that aren’t localised (assets).

Version 1.0.18

December 6, 2018

Added

  • Added hasActiveChild to node, for use when not using the {% nav %} twig tag.

Fixed

  • Fix migration issue from 1.0.16.1 to 1.0.17.2.

Version 1.0.17.2

November 25, 2018

Fixed

  • Fixed error in migration.

Version 1.0.17.1

November 24, 2018

Fixed

  • Fix migration from 1.0.17 in multi-site.

Version 1.0.17

November 23, 2018

Fixed

  • Fix some elements not having their elementSiteId set, causing multi-site navs to have no URLs.

Version 1.0.16.1

November 15, 2018

Fixed

  • Fix error thrown from console or queue requests when updating elements (for reals).

Version 1.0.16

November 15, 2018

Fixed

  • Fix error thrown from console or queue requests when updating elements.

Version 1.0.15

November 13, 2018

Fixed

  • Fix SQL errors thrown for new installs.

Version 1.0.14

November 12, 2018

Fixed

  • Fix error thrown on homepages.

Version 1.0.13

November 11, 2018

Changed

  • Massive performance improvements, lowering database queries by 98% and rendering speed to two-thirds the time.
  • Added elementSiteId for all nodes for better site-specific linked element handling.

Version 1.0.12

October 3, 2018

Fixed

  • Fixed a 404 issue due to incorrect URL when editing a nav's nodes.
  • Fixed a multi-site issue where the primary site's nodes were being shown, even if the user didn't have permission to edit those nodes.
  • Improved handling of pre-selecting localStorage siteId's (when already selecting a site from an element index).

Version 1.0.11

September 27, 2018

Added

  • Add attributes item to object for render() tag.
  • Add translation for enabledForSite (thanks @Saboteur777).

Fixed

  • Ensure nodes are propagated to newly-created sites (if set to propogate nodes in nav settings).
  • Adds support for detecting and updating the site id based on changes made when editing entries. (thanks @lemiwinkz).

Version 1.0.10

September 17, 2018

Fixed

  • Trim trailing slash in getActive method when addTrailingSlashesToUrls.
  • Add enabledForSite functionality to allow nodes to be enabled/disabled per site.
  • Fix error that could occur when trying to add a new node on a multi site setup.
  • Refactor render() variables to be cleaner and prevent activeClass error.
  • Fix node.link not working with the newWindow option set.

Version 1.0.9

August 28, 2018

Fixed

  • Fix missing column for propagateNodes in install (whoops).

Version 1.0.8

August 27, 2018

Fixed

  • Fix migration potentially not firing for propagateNodes.

Version 1.0.7

August 27, 2018

Fixed

  • Fix error thrown when not setting 'Propagate nodes'.

Version 1.0.6

August 26, 2018

Added

  • Added propagateNodes nav setting.
  • Added getNavByHandle().
  • Added activeClass to render() function.
  • Added getActiveNode().

Changed

  • Remove required URL for manual node.

Fixed

  • Fix lack of element registration.
  • Fix navigation’s maxLevels not working after changing or adding elements to the nav.
  • Improve active state on homepage.

Version 1.0.5

August 15, 2018

Added

  • Added breadcrumbs() functionality.
  • Hungarian translations added (thanks to @Saboteur777).

Fixed

  • Fix manual links and active state.

Version 1.0.4

August 6, 2018

Fixed

  • Fix parent select not always keeping value after adding a new node.
  • Remove leftover test values in manual node settings.
  • Fixed an error which could prevent the plugin from installing on PostgreSQL.

Version 1.0.3

July 27, 2018

Fixed

  • Fix being unable to fetch elements that are only in a non-primary site
  • Fix homepage being set to active on child page.
  • Fix deprecated notice.

Version 1.0.2

July 18, 2018

Changed

  • Modified active class to set the active class based on the current URL used.

Fixed

  • Fix render() method not resetting into template mode (thanks @billythekid).
  • Fix node parent not being active when child node is.

Version 1.0.1

July 17, 2018

Fixed

  • Fix missing alias name for prefixed tables (thanks @qbasic16).
  • Fix nodes saving URL for elements in some cases.

Version 1.0.0

July 13, 2018
  • Initial release.