My understanding of the {% cache %} tag is that if the content between it changes, the cache is invalidated and you see the new content.
I'm having an issue where a new entry is created in section, but it doesn't show up on the front-end unless I manually clear the cache in the control panel.
The content is pulled in via a loop such as:
{% for entry in craft.entries.section( "news" ).limit(3) %}
Am I not understanding how this tag works or is something going wrong?
Edit: Here is the full code block wrapped by cache tags
{% cache %}
{% for entry in craft.entries.section( item.nameId ).limit(3) %}
<div class="cardRow_column-carousel">
<a href="{{ entry.url }}" class="card" >
<div class="card_imageHolder">
<img class="card_image" src="{{ entry.tileImage.first().getUrl(cardCrop) }}">
</div>
<div class="card_content">
<h4 class="card_content_heading">{{ entry.title }}</h4>
<div class="card_content_icon">
{% if item.type == "video" %}
{% set iconType = "icon-video" %}
{% elseif item.type == "game" %}
{% set iconType = "icon-games" %}
{% elseif item.type == "image" or item.type == "imageGallery" %}
{% set iconType = "icon-image" %}
{% else %}
{% set iconType = "icon-paper" %}
{% endif %}
<i class="{{ iconType }} card_content_icon-category"></i>
<i class="icon-arrow-right card_content_icon_arrow"></i>
</div>
</div>
</a>
</div>
{% endfor %}
{% endcache %}
The strange thing that I'm noticing is if I add an entry it never shows up, but if I delete one it does get cleared out. And deleting an entry then causes the new one to show up.
UPDATE: Craft support determined there was a bug and plans to fix it in the next version. Current version is Craft 2.1 build 2563.