AI SaaS Template Changelog
We're continuously enhancing our template to bring you the latest and greatest features. Here's what's new:
Feb 14, 2025
- ❤️ Happy Valentine's Day!
- Heroku: Replaced
runtime.txtwith.python-versionasruntime.txtis deprecated in favor of the more widely supported.python-versionfile. - 🔼 Upgraded: Bumped Python version to
3.11.11.
Jan 31, 2025
- Updated serveral libraries to latest version including
openai,Pillow,psycopg, etc. - Bug fixes.
May 29, 2024
- Bumped django-allauth to latest version 0.63.2
- Backwards incompatible changes: adding
django-allauth[socialaccount]to therequirements.txtfile associalaccountis no longer included in the main package.
May 14, 2024
What's New
- Bumped OpenAI Python client to version 1.30.1.
- Replaced global OpenAI client with client instances instantiations for improved customization and to avoid repetition, which will help boost your AI app performance.
April 11, 2024
Added Support for Bootstrap 5
In addition to Tailwind CSS, we now fully support Bootstrap 5. This update allows users to choose their preferred styling framework more flexibly for their projects.
How to choose Bootstrap 5: On the Django Boilerplate download page, you can now select Bootstrap 5 instead of the default Tailwind CSS. This enables you to start your projects with Bootstrap's styling conventions and components from the get-go.
March 24, 2024
Added x-cloak CSS class to the Navbar
To prevent the Navbar from flickering when Alpine.js loads, we've added the x-cloak CSS class. This class is defined
in the header of base.html and is applied to the Navbar to prevent the 'blip' effect when the page loads.
- Definition
[x-cloak] {
display: none;
}
- Usage
<nav x-data="{ open: false }" x-cloak>
You can also invoke the x-cloak class in your HTML code to prevent flickering of other elements that rely on Alpine.js.
March 23, 2024
New Python Script for Populating Related Blog Posts
We've introduced a Python script to automatically populate related blog posts for each entry.
- Location: Find the script in the
blog/utils/folder. - Ease of Use: A management command,
populate_related_blogs, has been added to facilitate script execution. This command is located inblog/management/commands/. - Execution: The management script
blog/management/commands/populate_related_blogs.pyinvokes thepopulate_related_blogsfunction from theblog/utils/populate_related_blogs.pyfile.
To run the script, ensure you have blog posts in your database and execute:
python manage.py populate_related_blogs
For a deeper understanding of how the script works, including its reliance on Jaccard similarity for determining relatedness, visit our detailed blog: How to Programmatically Populate Related Blogs in Django: Boosting User Experience and SEO .
March 22, 2024
New Paginator Component
A new paginator component has been added. Incorporate it into your pages as shown below:
{% include 'pages/components/paginator' %}
See it in action on the interviewDB Blog at the page bottom: interviewDB Blog
March 15, 2024
Added sitemap.xml
A sitemap.xml file has been added to the template for improved SEO. Locate it in the config folder.
March 10, 2024
Restyled Error Pages
The 300, 400, and 500 error pages have been restyled to be more user-friendly.
March 5, 2024
Added robots.txt file
A robots.txt file has been added to the template, located in the templates folder, to guide web crawlers in indexing your site.