Changelog
Version history for Herodotus Free 1.7.0 and the Herodotus Pro 1.7.0 add-on. Each component has its own history below.
Herodotus Free
Version 1.7.0
- Improved: the RSS2 feed includes Featured Images, standard category/tag metadata and links to the original event, with teasers limited to 20 words. The teaser does not repeat the date or taxonomy labels. Full event texts and a duplicate Read more link are not published.
- New: independent category/tag subscriptions and rolling windows of 1 to 31 calendar days, with a subscription link builder in General settings. Daily, 7-day and 30-day choices are provided. Newest occurrences come first across month/year boundaries; occurrence identifiers remain stable across subscription types.
- Fixed: RSS items use a dated identifier and current occurrence publication date, allowing recurring events to appear again next year. HTTP cache validation follows the site's local midnight.
- Fixed: the daily feed stays on today's events even with Pro's Around today or Upcoming settings, honours Posts Limit instead of WordPress's general RSS limit and excludes password-protected events.
- Fixed: event cards used a small medium-size thumbnail even when displayed across the full page. Featured images now include responsive sources so the browser can select a sharp version for each card.
- Changed: image source selection follows the actual image size and crop, including custom container widths, responsive layouts and high-density screens. Existing image filters and fallback images are preserved.
- Changed: initial image sizes follow the layout and its breakpoints before JavaScript refines the value, reducing unnecessary large-image downloads.
- New: the event date (day, month, year and optional era) is available under
metain authenticated REST API requests withcontext=edit, for users who can edit the event. Invalid field values are rejected. - Fixed: an event whose date was set outside the editor, for example through the REST API or WP-CLI, did not appear on its day. The keys the query matches on are now recalculated whenever the date changes, wherever the change comes from.
- Changed: pending date keys are synchronized before a completed REST write response or the next event query, with a shutdown fallback for other metadata writes.
- Fixed: query, random-pool and related-event caches now invalidate together after changes, including when an object cache holds the previous transient values.
Version 1.6.7
- Fixed: the gap between an event title and its description differed from site to site, because the theme's own heading and paragraph margins reached into the card. Both are now spelled out, and the title no longer holds a fixed height.
- Changed: in the compact layout the text starts at the top of the card instead of floating below the middle.
- Fixed: on a block theme the category archive came out bare, with none of the theme's header or footer. Those are now asked for as template parts.
Version 1.6
- Changed: the event title in the list layout no longer sits on a grey band.
- New: add-ons can add their own tab to the settings page through the
herodotus_admin_tabsfilter, and fill it throughherodotus_admin_tab_{id}. - New:
herodotus_admin_saveable_tabsdecides which tabs show the Save Changes button.
Version 1.5.5
- New: a panel on the settings page listing what the Herodotus Pro add-on adds.
- The Cinzel font used by that panel ships with the plugin, so nothing is loaded from an outside server.
Version 1.5.0
- New: Related events - an "Also on this day" block at the bottom of every single event page, listing other events that share the same date.
- New: Random event shortcode -
[herodotus_random]highlights a random pick out of today's events. Acceptslimit,category,layout,excerpt_wordsandshow_image. - New: Text layout -
[herodotus layout="text"]renders a plain list with no images and no card styling. - New: Quick Edit - the day, month, year and era can be changed straight from the events list, without opening the editor.
- New: Dashboard widget - today's events on the WordPress dashboard, with links to add a new event or view them all.
- New: RSS feed -
/herodotus/feed/now delivers the events of the current day instead of the most recently published ones. - New: Anniversary counter - "X years ago" on event cards and on the single event page. BC dates are counted across the missing year zero.
- New: Clear Cache button under Advanced, to clear the plugin cache without waiting for it to expire.
- Changed: the settings page moved from Settings to Herodotus - On This Day → Settings, next to the events themselves.
- Changed: the empty state now reads "No events for today." instead of "No posts found for this date."
- Changed: plugin author is now Igrika.
- Fixed: long titles in the compact layout are truncated with an ellipsis instead of overflowing the widget.
- Fixed: the meta block on single event pages is passed through an allow-list before being returned by the content filter.
- Performance: events are now matched through a single combined day+month key instead of one database join per date. Existing events are converted automatically on the first page load after the update.
- Fixed: a date range that runs from December into January now keeps its events in chronological order instead of putting next year's dates first.
- Updated translations for all eight bundled languages: German, Spanish, French, Italian, Georgian, Russian, Ukrainian and Turkish.
- Compatibility: the date picker in the editor now reads the selected date through the public jQuery UI API, so it keeps working with the jQuery UI 1.14 update shipped in WordPress 7.1.
- Tested up to WordPress 7.1.
Version 1.0.0
- Initial public release.
- Dedicated Custom Post Type (
herodotus_post) and Custom Taxonomy (herodotus_category). - Shortcode
[herodotus]with attributes:layout,limit,category,excerpt_words,show_image,order. - Two layouts:
list(standard page layout) andcompact(sidebar/widget layout). - Compact layout: long titles are truncated with ellipsis to keep the sidebar widget tidy.
- Gutenberg block support.
- Custom date metabox with day, month and year fields.
- BC/AD era field in metabox - mark events as BC or AD. Chronological sorting: BC events sort before AD events using a signed sort key. The "AD" suffix is shown in the year badge when era is set to AD.
- Red warning in metabox and ⚠ icon in posts list for posts missing date.
- Built-in transient caching with configurable lifetime.
- WPML compatibility via
wpml-config.xml. - Polylang compatibility - cache key includes locale.
- Plugin settings page: posts limit, sort order, excerpt length, default image, cache TTL, uninstall behavior.
- Translation ready - includes translations for: French, German, Spanish, Italian, Turkish, Georgian, Ukrainian, Russian.
Herodotus Pro
Version 1.7.0
- Changed: navigation links combine month and day in date=MM-DD and omit empty filters, the default AD era and page 1. Existing links and native GET forms remain supported.
- Changed: search fields and the rounded, borderless Search button share a 44px height. Search uses a pointer cursor; select options have a transparent background.
- Changed: the Search button uses the Year badge background and text colours from Appearance. Its font size stays independent; cleared colours fall back to the theme.
- New: opt-in date search and pagination in every existing layout. Search a full year, a month, a recurring day/month, an exact date or all dates, with an optional category filter.
- New: navigation="full" displays the search form and day arrows; navigation="arrows" displays day navigation without the form. Captions are visible in wide layouts; compact and narrow screens use icons only. Each shortcode with navigation needs a unique id="archive". Existing shortcodes retain their current behaviour.
- New: Gutenberg navigation controls with a saved automatic instance ID; a duplicated block receives a new ID.
- New: filters and results pages are preserved in shareable URLs. Browser history works through regular GET forms and links. Searches retain the shortcode's category, tag and exclusion restrictions.
- New: paginated results cache includes events, total count and page count. The existing event cache invalidation also clears search results.
- New: filtered result URLs use noindex, including Yoast and Rank Math integrations and an HTTP header fallback. Ordinary pages and event URLs retain their existing indexing settings.
- Fixed: grid, carousel and timeline cards use the responsive image rendering in the free plugin, avoiding enlarged small thumbnails. Existing image shape, fit and placement settings are preserved.
- Fixed: an existing Upcoming Event follows its new date when that date is changed through the standard REST API or another metadata writer.
Version 1.6.7
- New: a shortcode can carry its own picture settings -
image_shape="1:1",image_fit="whole"or"crop", andimage_place="left","above"or"left-edge". A page can then hold a grid of squares beside a carousel of wide pictures; a block that says nothing keeps what the Appearance tab says. - Changed: the timeline no longer cuts a description to fifteen words, so
excerpt_wordsis obeyed there as in every other layout. - Fixed: in a carousel the right-hand card had its border clipped by the edge of the strip, and three or four across came out at the card's own width instead of the width asked for.
- Changed: the arrows under a carousel take the card background, the card border colour and the colour of the Read more link.
- New: the heading, date and description of a category or tag archive follow the Appearance settings, so the date there is no longer a fixed blue.
- New: the thin rules inside a card, above the source on an event page and between the related events take their colour and thickness from the card border setting.
- Fixed: in grid, carousel and timeline, the year badge of a card with no picture sat on top of the title. It now stands in the line of text.
- Fixed: on a block theme the tag archive came out bare, with none of the theme's header or footer.
Version 1.6.6
- New: the events list can be narrowed by month, by day and by category, and the three work together. An archive built a day at a time runs to hundreds of pages, and until now the only way to reach one date was to scroll. The list of days follows the month, so an impossible date cannot be asked for.
- New: Upload another file appears when an import finishes, so the next file can be chosen without stepping back through the browser. The events just created stay where they are.
Version 1.6.5
- New: day files (.txt) can be chosen several at once, or uploaded packed in one .zip, and are checked and imported together. A month in the name of the ZIP, such as May.zip, or of a folder inside it is used. More files than the server takes in one upload are refused with a pointer to the ZIP, rather than imported in part.
- Changed: a line of a day file now goes whole into the description, and the title is its first seven words followed by an ellipsis, to be rewritten by hand. The title used to be the first sentence, and a long one was cut mid-phrase with the rest pushed into the description. Repeats among day files are now recognised by their whole text and full date, year and era included, so two events that open with the same words are both kept.
- Changed: one upload may hold up to 3000 rows, counted across all its files, instead of 2000.
- New: the encoding of an uploaded file can be chosen by hand - UTF-8, Windows-1252 or Windows-1251 - and the preview shows which one was used.
- New: every event created by an import is marked with it, and a list of recent imports moves one import's events to the Trash in one step, leaving events added any other way alone. Where the Trash is switched off, the button says the events will be deleted for good.
- Fixed: on a server without mbstring, rows saved in Windows-1252 or Windows-1251 were silently dropped. They are now converted like the rest.
- Fixed: western text rich in accented letters, such as é and ü, could be read as Cyrillic.
- Fixed: an event whose title had double spaces was not recognised as already on the site, and a second import created it again.
- New: Hide Excerpt under Display, which takes the event description off the cards in all layouts.
- Changed: in list, grid, carousel and timeline, a picture shown whole beside the text follows the height of the card when Shape is "As it is now", and moves above the text when space is limited.
Version 1.6.1
- Fixed: with the picture placed in a column to the left of the text, the chosen image shape was ignored. The picture now keeps its shape inside that column, and the column still runs the full height of the card.
Version 1.6
- New: Appearance tab - colour and font size for the block heading, date separator, card background, year badge, event title, description, "years ago", categories, tags, location and the Read more link, plus colour and thickness for the card border, the rule under the heading and the timeline line. All on one compact screen, with a Reset button; an empty field leaves the element as the stylesheet draws it.
- New: event image settings in the same tab - a shape held in every layout at any screen width (square, 4:3, 3:2, 16:9, 4:5, 3:4 or 2:3), a choice between cropping the picture to fill the card and showing it whole, and a choice of where it sits: above the text, above the text flush left, or in a column to the left of the text running the full height of the card.
- New: Hide Years Ago under Display, which takes the "X years ago" line off the cards and off the single event page.
- Fixed: a CSV row with an empty
eracolumn was imported as AD. An empty column now stays empty, and the year is shown without a suffix;BCandADwritten in the file work as before. - Changed: the carousel no longer shows a scrollbar under the strip. The arrows and a swipe still move it.
- Fixed: in the carousel, a card under a date heading sat a few pixels lower than its neighbours.
Version 1.5.5
- Fixed: with "Around today" selected and Upcoming Days set, the shortcode showed only today's events instead of yesterday, today, tomorrow and the days ahead.
Version 1.0.0
- First release.
