Changelog

Release Notes

Every feature, every improvement, every fix since v1.0.0.

Page 10 of 20 — 576 releases, newest first.

v2.65.33

URL Slugs Keep Turkish Letters When a Draft Is Saved

  • As you typed a title, the URL slug was built correctly ("Sokak Modası" → sokak-modasi). But the first time the draft was saved — by autosave or the Save button — the slug was rebuilt by a different, broken routine that dropped Turkish letters instead of converting them, turning sokak-modasi into sokak-modas. Because the editor then re-read that broken slug, a manual save kept it broken too. All slug generation now goes through the single correct routine that converts Turkish letters (ı→i, ş→s, ğ→g…) rather than dropping them.
v2.65.32

Checklist Boxes Line Up With Their Text

  • In a checklist, each checkbox sat slightly above its line of text. The box is now vertically centered on the first line of the item, so the list reads cleanly — and on a checklist item that wraps to two lines the box still lines up with the first line.
v2.65.31

Tables, Checklists and Captions Look Right on the Page

  • In the posts list, the row "Trash" action did nothing when clicked. The row's little form was nested inside the bulk-actions form, which browsers quietly ignore; the click is now handled correctly and the post moves to Trash. Restore, Delete and the "add sample content" button in the same list were affected the same way and are fixed too.
  • Tables written in the editor appeared on the page as plain text with no borders or spacing. They now have proper borders, a shaded header row and cell padding, and scroll sideways on narrow screens instead of overflowing.
  • Checklists (task lists) showed a bullet next to each checkbox with the text on a separate line. They now render as a clean checkbox and text on one line, with checked items struck through.
  • An image caption sat far below its image, looking disconnected. It now sits directly under the image, centered and quietly styled.
  • When a brand-new post was first saved automatically as a draft, the Revisions panel and the preview-link button did not appear until a manual reload — because the page was still showing its "new post" layout. The editor now switches to the full draft-editing view once the draft is saved, without interrupting your typing.
v2.65.30

Analytics Daily Totals No Longer Drift

  • ZeroTrack Analytics builds a daily summary from visited paths and referrers. If a single visit carried text in a broken encoding, saving that whole day's summary could fail. The summary now stores such values safely, so a day's totals are never lost to one unusual request.
v2.65.29

Analytics Reach Subfolder Installs — and Forms Never Crash

  • On a site installed in a subfolder, ZeroTrack Analytics silently recorded nothing: the visit beacon was sent to the domain root, where nothing answers. It now targets the install itself, so visits are counted wherever jekcms lives.
  • The newsletter, comment and contact forms answered with a server error when a field arrived in an unexpected shape. They now reject such input politely instead of failing the page.
  • Recipe schema times typed as plain numbers — "15" instead of the ISO form — were published as-is, which fails Google's Rich Results validation. Times are now normalised on output ("15", "15 min" and "15 dk" all become PT15M), and a value that cannot be understood is left out rather than published broken.
v2.65.28

What You Type in the SEO Panel Is What Google Sees

  • The social share image chosen in the post editor was saved but never shown: every theme kept using the featured image when a post was shared. The image you pick is now the one social networks display.
  • On the Lifestyle, News and Pets themes the SEO title you wrote was ignored — the browser tab and search results showed the plain post title instead. Lifestyle also ignored the SEO description. All three now honour the SEO panel.
  • On the Health theme, category, tag, search and author pages all carried the same title — just the site name. Each archive now gets its own descriptive title, as on the other themes.
  • A post whose SEO title field was cleared ended up with a browser-tab title that began with the separator, like " | My Site". It now falls back to the post title.
  • A featured image stored with an extra path prefix produced a broken image address and silently dropped the share image. The prefix is now corrected on the way out.
v2.65.27

Search Returns Posts, Not Legal Pages

  • Site search on the Lifestyle, Minimalist and Tech themes returned pages — privacy policy, terms, cookie policy — mixed in with blog posts, and counted them in the result total. Search now returns posts only, and the count matches. The Pets theme's "not found" page listed pages among its recent posts for the same reason.
  • A malformed request could make any page answer with a server error. Sending a form field in the wrong shape was enough; the page returned HTTP 500, which search engines read as "this page is broken". Such requests are now ignored instead of failing the page. The same applied to the login, contact and comment forms.
  • Content carrying an older character encoding — typically brought over from WordPress — could stop a meta description or a URL slug from being generated, which in turn could halt an import. The text is now repaired as it comes in.
  • Under the same conditions, media details, SEO analysis records and scheduled task logs could fail to save. They now store the repaired text instead of failing.
v2.65.26

The Dashboard Stops Counting Pages as Posts

  • The dashboard greeting could report posts you had not written. Publishing pages — the legal pages generator creates several at once — was counted as "5 posts published today", while the content calendar right below it correctly showed nothing for the same day. The greeting now counts posts only, so the two agree.
  • The "Scheduled" list on the dashboard also showed scheduled pages among the posts. It now lists posts only, matching the drafts list next to it.
v2.65.25

Author Selection Works — and Your SEO Fields Stay Put

  • The Author dropdown in the post editor was empty on a newly installed site, so there was no way to say who a post belongs to. It now lists everyone who can write on the site — the administrator included — and opens on the account you are signed in with.
  • When you did choose an author, your choice could be quietly replaced with a different writer on sites that have more than one. The name you pick is now the name that is saved.
  • Text carrying an older character encoding — most often content brought over from a WordPress site — could stop a post from saving, or let it save while silently discarding the whole SEO panel with it: meta title, description and focus keyword all disappeared without a word. Such text is now repaired as it comes in and the SEO fields are kept.
  • On installations served over a non-standard port, every save in the admin panel was refused as a security failure, which left the panel unusable. Ports are no longer part of that check.
  • A writer account could publish a post under someone else's name, and a post could be assigned to a deleted or subscriber account. Both are now rejected on the server.
v2.65.24

Your Logo Shows Up — and You Decide How Big

  • Görünüm → Customize now has a logo height control for the header and the footer. Each theme starts from a sensible default for its own header, and you can change it with a slider; the width follows automatically and the aspect ratio is never distorted.
  • A logo uploaded under Settings → Brand did not appear in the header or footer on several themes — the favicon, social share image and search-engine logo were all correct, only the site itself never showed it. Every theme now displays it.
  • Saving your profile failed with a server error whenever social links were filled in. Saved links were not being shown back to you either. Both are fixed.
v2.65.23

Sites Stay Crawlable When the Database Is Busy

  • On shared hosting the database refuses new connections once the account hits its simultaneous-connection ceiling. A page that hit that moment returned HTTP 500 — the code search engines read as "this page is broken", which costs indexing. Measured under a parallel crawl, 1.7% to 6.7% of requests were failing this way.
  • The connection is now retried briefly with a randomised backoff, so short collisions resolve invisibly. If the database is still unreachable, the page answers 503 with Retry-After instead of 500 — the signal that means "temporarily busy, come back" rather than "broken".
  • Error responses are no longer cacheable, so a CDN cannot keep serving an outage page after the site has recovered.
  • About page (travel theme): a stray backslash was printed in the "Popular topics" text.
v2.65.22

Footer Designer, Now in Every Theme

  • Appearance → Footer now opens the full footer designer in every theme: pick one of eight layouts, build your own columns (menu, categories, text, newsletter, contact, brand), set the brand block, social icons and bottom bar — with a live preview.
  • Previously only one theme had this; the other thirteen offered a handful of fields. The designer now lives in the core, so any theme gets it.
  • A footer saved before this release no longer changes your site on its own — the new designer only takes over once you save it yourself.
v2.65.21

Sidebar Label Fix

  • On Turkish installs the sidebar link for footer settings still read "Footer" instead of matching the tab name.
v2.65.20

Appearance → Footer Opens the Footer Settings Directly

  • Clicking Appearance → Footer bounced you to a different screen, which read as "this theme has no footer settings". The menu item now opens the footer settings directly, with no redirect in between.
  • The sidebar item was still labelled "Footer" in Turkish; it now matches the tab name, "Alt Bilgi".
v2.65.19

Footer Tab Is Visible Again

  • In every theme the Footer settings were folded into the Advanced panel, so clicking Appearance → Footer opened Advanced and no Footer tab was anywhere to be seen. Footer is now its own tab, right next to Menu.
  • Three tab labels in one theme were still in English.
v2.65.18

Menu and Footer Customization in Every Theme

  • Five themes — including the one new sites start with — opened an empty screen when you went to customise the menu or the footer. Every theme now has both.
  • The "Copyright text" field under Appearance → Footer was saved but never appeared on the site. It works now, and supports {year} and {site_name} placeholders.
v2.65.17

Dark Mode Switch Fixes

  • In one theme the dark mode switch stopped responding after moving to another page, and only worked again after a refresh.
  • In two themes the dark mode switch did nothing at all.
  • Because those switches never worked, their dark palettes had gone unchecked: several cards kept a fixed white background and turned white-on-white in dark mode. Both themes are now readable in dark mode.
v2.65.16

Readability, Pages and Checkout Reliability

  • Text contrast across themes was reviewed and raised where it fell short, improving readability and accessibility scores.
  • Upgrading from the free plan to a paid licence now carries your existing site over instead of leaving it unlicensed.
  • Licence checks are more forgiving of temporary network problems and no longer misread addresses that start with www.
  • Password reset and update downloads fail less often on slow connections.
  • Order confirmation after payment could fail to record. Payments now complete reliably.
  • Visitors whose device is set to dark mode could see unreadable text on some themes. Light and dark are now both checked.
  • About and Contact pages written in the admin were ignored by several themes and never appeared on the site. They now show up.
  • The homepage slider is aligned with the header width, keeps its rounded corners and shadow, and no longer clips its text on phones.
  • Page numbers in one theme were listed vertically with bullet points instead of a row of buttons.
  • The editorial box under articles had no styling and blended into the article text.
  • Social icons in one theme's footer were invisible.
v2.65.15

Stability & Integrity Improvements

  • Internal reliability and integrity improvements across the core. No changes to how you write or manage content.
v2.65.14

License Seats Stay in Sync

  • When a site's seat is released from the customer panel, that change now takes effect on the site itself. Previously a site could keep running on a seat that had already been freed, so the seat count and what was actually installed could drift apart. The admin now re-checks with the license server shortly after you open it and, if this domain is no longer registered to the license, shows a clear notice with a one-click reactivation link.
v2.65.13

What You Write Is What You Get

  • Galleries: multiple images render as a responsive grid, and clicking one opens it full-screen in a lightbox.
  • The editor now matches the published page. Paragraph spacing and Shift+Enter line breaks looked one way while writing and another way live — a shared content-typography standard now drives both the editor and every theme, so what you see in the editor is what readers get.
  • A single, modern icon set (Lucide, self-hosted) replaces scattered inline SVGs. The news theme's Font Awesome CDN dependency is gone — icons now load from your own server, better for privacy, offline installs and speed.
  • Images can now be placed left or right with text wrapping around them (like a magazine layout), or centered — straight from the editor's align buttons.
  • The automatic logo is now also produced as a PNG, so Google's Organization logo and social shares get a real raster image instead of an SVG some platforms won't render.
  • The homepage slider now actually works. Its settings (slide count, autoplay, duration, arrows, dots) were in Customize but no theme shipped a slider template, so choosing "Slider" quietly fell back to a plain hero. A universal slider template now honours every setting, in any theme.
v2.65.12

A Sharper Brand Image

  • The automatic brand-image generator got a real upgrade. Your social share image (OG) now carries a proper corporate signature — a domain line along the bottom, depth on the title, and a lifted monogram badge — instead of a flat, generated look. Shared links finally look like they belong to a brand.
  • The Branding screen's template picker now shows what each layout actually produces — badge, headline, tagline and signature line — with clean square corners, so you pick by seeing the real composition instead of guessing from two flat bars.
  • The social share image is now managed in one place — Branding. The duplicate field that also lived in the SEO tab is gone, replaced by a pointer, so there's no more confusion about which one the site actually uses.
  • Deactivating your license from the admin now actually brings the license warning back. Before, "Deactivate" cleared only part of the stored license, so the panel still believed a valid license was present and the reminder banner never returned — the deactivation was effectively invisible. It now clears the full local license state, and works even when only the settings-side token was left behind.
v2.65.11

A Fresh Install Tells the Truth

  • Theme previews in the setup wizard are now twice the size, so you can actually see what you are choosing. Hovering a card reveals a "View demo" link that opens the live theme showcase in a new tab — pick with your eyes, not from a thumbnail.
  • On the wizard's finish screen, "View Site" now opens your site in a new tab, so the completion page with your next steps stays where you left it.
  • Right after installation the admin greeted you with "License validation has not succeeded for 999 days" — alarming, and not what was happening. When no license key has been entered yet, the panel now simply asks you to enter it; the day counter only ever appears after a real validation has aged.
  • The free edition's Updates screen claimed every theme and 13 plugins were installed. "Installed Components" now reports what is actually on your server — and when you upgrade to a paid license, the missing premium components are offered for install exactly as before.
  • On installs without the distribution plugins, the dashboard showed a "Traffic Control" panel with a made-up setup score and links to screens that don't exist. Plugin panels now appear only when the plugin is actually installed, and the score is computed only from the channels you have.
v2.65.10

Quizzes Speak Your Panel's Language

  • The Recipe plugin now has a place in the admin menu. It used to work invisibly — recipe data is filled in per post in the editor — so there was nothing to click and no way to see which posts carry a recipe card. A Recipe Cards screen now lists those posts with their status, links straight to the editor, and explains where the data lives.
  • The quiz screens now follow the panel language. On a Turkish panel the list page greeted you with "New Quiz", "All / Published / Draft", "Search quizzes…", "No quizzes found" — and the editor's placeholders and buttons were English too. Every label on the list and editor screens now reads in the panel language, and the search row uses the same layout as the rest of the panel instead of a stacked, misaligned one.
  • Opening a quiz screen before the plugin was ever activated no longer ends in a server error. The quiz tables were created only when the plugin started; the screens now create them on first visit, the same self-healing the contact form received.
v2.65.9

The Messages Link Opens the Messages

  • The Contact Form entry in the admin menu answered "not found". The messages screen moved to its current address a while ago and old bookmarks were being redirected — but the menu itself still pointed at the old address, which redirects only from the old location, not from the one the menu produced. The menu now links straight to the messages screen.
v2.65.8

License State Is Not Public Reading

  • Your installation's internal state files — version.json and VERSION.txt — are no longer served over the web. They hold licence and component details that belong to your admin panel, not to the public internet; the panel keeps reading them from disk exactly as before, so nothing changes in daily use.
v2.65.7

The Wizard Cleans Up After Itself

  • The setup wizard now proves its own files are gone when installation finishes. The wizard and the package zip were already being deleted at the end, but the deletion was never checked — if the server refused it, both files stayed behind without a word, and a forgotten installer is an open door. Removal is now verified on disk, and when any file survives, the finish screen names it and gives exact instructions: open FTP or your hosting file manager, go to the site root, delete these files. Same behaviour on the paid and the free package.
v2.65.6

Only Your Software on Your Server

  • The setup wizard belongs to whoever opens it first. The first visit claims the wizard for that browser session, and a session from another address is refused while installation is still in progress; the way out is one line on screen: delete config/.install-claim. The claim expires by itself after twelve hours, so an abandoned setup never locks the site permanently.
  • The footer editor no longer ends in a missing page. It used to forward every unsupported theme to the theme customizer, which the free edition does not ship — so the link answered "not found". It now explains where the footer logo lives on the free edition and links straight to it, and the menu entry is hidden when neither editor is available.
  • The SEO analysis panel is no longer shown on the free edition. It appeared in the post editor and reported nothing, because the scoring engine is part of the paid package. The save and preview bar above it stays exactly where it was.
  • The License screen now knows the free plan. A site running a valid free license was labelled "Unlicensed" on both the License and Updates screens, because the free tier was missing from the plan table — the product did not recognise the license it had issued itself. Plan names also read in the panel language now instead of always in English.
  • Paid plans no longer show bought features as switched off. The feature badges came from an older tiering in which Personal had no premium themes and Standard had no plugins; every paid plan includes everything and only the number of sites differs, so the badges said otherwise to paying customers.
  • A fresh installation no longer answers with an error on its own home page. The table that records reads was created only when the first post was viewed, but on a new site the first page anyone opens is the home page — and the Minimalist theme reads that table to build its popular-posts list. The table is now part of the installation, and the Reports screen, which is built entirely on it, opens on a brand-new site as well.
v2.65.2

One Language Per Page

  • Theme wording now follows the site language everywhere, not only in the footer. Sixty-six labels in the bundled themes carried a single hard-coded default — some English, some Turkish — so a page could show both at once. Each label now carries both languages, and the page language attribute follows the site setting instead of the language declared by the theme.
v2.65.1

A Site That Behaves: Logo, Language and Newsletter

  • Setup wizard: the site language and the admin panel language are chosen separately during installation, instead of being inherited from the language of the wizard itself.
  • Setup wizard: the theme step shows a real preview of each theme instead of a coloured strip.
  • The newsletter form no longer appears on installations that do not have the newsletter plugin. The free edition ships without it, yet themes still printed the form on every page — and a visitor who typed an email received a server error. The interface is now drawn only when the feature exists, and the endpoint answers "not found" instead of failing.
  • A logo uploaded during setup now also appears in the footer. The footer was reading a separate setting and, when it was empty, printed a fixed letter left over from the original site the theme came from — so the site name could be anything and the footer still showed the same initial. You can still set a different footer logo, or remove it, under Appearance.
  • Theme wording follows the site language. A site installed in Turkish had Turkish legal pages but an English footer, newsletter box and "Page Not Found" screen — two languages on one page. Theme labels may now carry both languages, and an English label from a theme no longer leaks onto a Turkish site.

Go live today

Setup, content management, SEO and image optimization — all in one platform. Get started in 30 minutes.

View Pricing
  • Setup and live in 30 minutes
  • 14 ready-made themes
  • AVIF/WebP image optimization
  • Automatic SEO — Sitemap, Schema.org
  • Cookieless built-in analytics (ZeroTrack)

Be the first to know

New features, release notes & CMS guides — a couple of emails a month, no spam.