Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
It's recommended that you update to the latest versions of CTools and Features (if you are using it) in conjunction with this release of Context.
#734232: Check that plugin is loaded properly before trying to call methods.
Ensure block info cache is not stale after administrative actions alter block info (e.g. creating new views)
Features integration: Removing redundant implementation of hookflushcaches() and removing hookfeaturesapi() -- moved back into features in http://drupal.org/cvs?commit=337700.
Block reaction: Bad call to normal, public, member method. Replaced with static (member?) method.
#754436 by ceardach: More versatile class implementation of addable blocks.
#781792 by vectoroc: Ensure default roles are localized properly before checking user role condition.
Add a sort to context links.
#767070 by marcp: Fix for bad dependency text in README.
#738514: test path conditions granularly
Slight optimizations to block building.
API CHANGE Reduce the number of calls to drupalalter() - move alter from property fetch event to contextload().
#757614 by ceardach: Human-readable labels for regions.
#786722 by jose.guevara: Fix for broken block caching in context.
This release contains an important security fix for sites using the 3.x branch of context that prevents access to admin operations against contexts by insufficiently permissioned users. If you are not able to update context on your site in the near future you can prevent access to these pages by disabling context_ui until you can upgrade.
The 3.x branch is, for the most part, conceptually consistent with the 2.x
branch of Context. Here are some of the notable changes:
Context definitions no longer use a set of namespace, attribute, value
identifiers. Instead, they have a single 'name' field which acts as a
primary string identifier. Any contexts that are migrated from 2.x will be
named using a dash-separated convention, i.e. "foo-bar-baz".
#526770 by brmassa: Remove unneeded GROUP BY from query to improve PGSQL compatibility.
#518350 by alexpott: Provide a wide enough #delta range for block weights to accommodate block configurations.
#552370 by q0rban: Fixing disabled regions handling for drupal_set_content() content.
Removing stale hook_schema, .install from context_ui.
#521542 by tim.cosgrove: Aggregate theme body classes from all active contexts.
#514126: Fix for text on revert confirmation page.
#527950 by jhedstrom: Match path conditions against both canonical paths and aliases.
#517020 by q0rban: Fix bad argument for css injector condition.
#528956 by Pasqualle: Code style cleanup.
#526770 by brmassa: Fix for context_ui blocks query Postgres compatibility.
#522690 by Scott Reynolds: Smarter context condition check for node forms.
Don't set default values for text columns.
The path condition has been updated in beta2 to use drupal_match_path(). If you are using this condition in your contexts, you can update your paths automatically using the update.php script. Otherwise you can capture the same behavior as the previous path setter using a wildcard:
#367057: Overhaul of admin/build/context interface by dmitrig01.
Added an experimental path-based context setter.
#336469: Fixing sticky checkbox for hidden blocks and using more human-friendly labels in block UI. From dmitrig01.
#367775: Consistifying use of namespace/attribute/value delimiters in code. From dmitrig01.
Fixed for menu primary/secondary link menu active trail handling -- previously only secondary links would receive a context-based active class when both were employed.
This release makes several changes to the DB schema! Please backup before upgrading.
There has been a minor change to exported context definitions. If you are using exported contexts, please update your definitions to use a string value instead of an array for associated menu paths.
If you have written any implementations of hook_context_items(), you will need to split your definition across hook_context_getters() and hook_context_setters(). Please see context_ui_context_setters() and _getters() as examples.