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
andnavName
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
anddata
.
Version 1.4.12
January 15, 2021
Added
- Add support for Gatsby Helper.
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()
andnode.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
tonode->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
andPOST
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 throughrenderObjectTemplate()
. (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 ofurl
.
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 preventactiveClass
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
torender()
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.