Change Log
Here are the major changes to Full Stack Python in reverse chronological
order since its inception in December 2012. You can view commit-level
changes via the
source repository's commit log
on GitHub.
2019
January
2018
December
November
October
September
- A ton of new tools and links on the debugging page.
- Added a starter Django REST Framework
page.
- New web app security,
task queue and WebRTC resources.
- Added a bunch of new resources across the site and removed a few out of
date ones as well.
- Added initial pages for WebRTC and JavaScript frameworks.
More resources coming to those pages soon.
August
July
- Added a bunch of new PyCharm resources.
- Merged PR #177
that adds a new Docker Swarm tutorial.
- Merged PR #176
to update the Django page by removing some old links and
adding newer ones.
- New section on source control page and resources
for mono vs multi repo debate.
- Added a new section and additional Vim links.
- Added even more Emacs resources and a new section for Elisp
resources, the programming language used to customize the editor.
June
May
April
March
February
January
2017
December
- Passed 1,000,000 characters written on Full Stack Python according to
wc
on my Markdown content files. It's a super arbitrary but
fun little milestone.
- Removed a couple of Best Python Resources
and added new resources to the Morepath page.
- Added a ton of new SQLite resources.
- Cleaned up broken and redirected links on all pages including blog posts.
- Added 5 years of Full Stack Python
retrospective blog post.
- Merged PR#147 to
fix an issue installing MySQL server package.
- Major performance improvements by reducing all page sizes by 15-20%. Split apart
the CSS, tuned it and minified the classes.
- Merged pull request for
How to Build Your First Slack Bot with Python
tutorial from Slack dev advocates because bot building has changed since
I originally wrote the post with custom integrations. Thanks Ankur and Bear!
- Added new blog post based on latest email newsletter on
GitPython and new Git tutorials.
- Working on revamping older pages such as Django by
eliminating outdated resources and adding the latest and greatest.
- Removing Guide to Deployments
links until the next version is out (estimated Spring 2018 after
Ubuntu 18.04 LTS releases).
- Crossed the 120k words mark for content, thanks to a slew of new tutorials
and pages.
- New serverless and
AWS Lambda resources.
- Merged PR#144
which fixes an issue with the wrong
psql
command in the blog post on
Setting up PostgreSQL with Python 3 and psycopg on Ubuntu 16.04.
November
October
September
August
July
June
May
April
March
Feburary
January
2016
December
- Crossed 800,000 readers so far in 2016!
- Added a small MkDocs page that needs to be expanded.
- Updated the Nginx page with a better description of reverse
proxies.
- Add new Lektor page. Will be expanded upon during the
month as I get to use the library.
- Merged PR #111
that fixed some typos on the Django page, added clarity to
a Django Channels statement and provided a new Django resource.
November
October
September
August
July
June
May
April
- Updated the Nginx page with a security section.
- Added new Channels section to Django page.
- Clean up on some existing pages to remove broken links.
- Added new subnav under the logo and title so readers can more easily
access the table of contents.
March
- Added new DevOps resources.
- Removed unfortunate dead links from the Django page.
- Made a huge improvement to the layout of the full-sized table of contents
that appears on pages that are above 768px wide (the collapsed table of
contents for mobile stays the same).
- Began work on an Apache HTTP Server page.
- Added some new awesome deployment resources.
February
January
- Added initial page for SQLite that will be built out over
the next few weeks.
- Added a couple of new resources to the
ORMs
page.
- More resources on the PostgreSQL page and now grouped
into Python-specific and general sections.
- Major update to relational databases page with new
sections and resources.
- Updated the Jinja2 page with new sections and resources.
Also added a new tutorial link on the Bottle page.
- Added new summaries and links to the Docker and
Best Python Resources pages.
- Expanding the PostgreSQL page with more detail and
additional resources.
- Split the relational databases page sections on
PostgreSQL and MySQL out into their
own pages so there is more room to write about the three topics without
making the databases page a behemoth.
- Updated the template engines page with a new image
to show the spectrum between arbitrary code execution and no logic in templates.
- Added a new Jinja2 page specifically for that template engine.
- Happy New Year! Finished 2015 with over 455,000 users according to Google
Analytics. Thanks everyone! Can't wait to write more pages and improve the
existing ones in 2016.
2015
December
November
October
September
August
July
June
- New API Creation and Django resources
added.
- Added new Peewee resources on the
ORMs page.
- Nice little update to the ORMs page
with a diagram showing that different ORMs can work with varying
web frameworks and backends.
- Added a new section just for Nginx resources and Removed broken links on
the web servers page.
- Added a new page on Python
object-relational mappers, which
helped condense that information on a single page and lighten the loads on
the Django and relational databases pages.
- Added new page with a little advice on
learning programming.
- Proofread and tweaked the web frameworks page.
- Added a new section entitled "Do I have to use a web framework?" to the
web frameworks page.
- Reviewed and updated the introduction with slight
modifications.
- Added new Docker resources.
- Made some changes to what is contained in the Markdown files versus the
HTML Jinja2 templates. Behind the scenes work that needed to be done to
move the project forward.
- Work continues on the
Full Stack Python Guide to Deployments book.
May
- Got a whole lot of work done on my upcoming
Full Stack Python Guide to Deployments book.
Very close to releasing it (looking at mid-June).
- Added new Django resources, especially around migrations
in Django 1.7+.
- Worked on making Why Use Python? page specific to
that topic now that the Enterprise Python page
contains enterprise-y info.
- New page on the super broad topic of Data with Python.
Eventually it'll link to all sorts of data topics such as analysis,
visualization and processing.
- New page on Enterprise Python. A bit op-ed-ish
perhaps, but I think it captures some of the spirit of the open source
ecosystem with regards to Python for enterprise software development.
- Added additional Django resources, specifically related to
testing.
April
- Added more NoSQL resources, especially ones involving
Redis.
- New Pyramid resource where the primary author is
interviewed about the web framework.
- New Vim resources.
- Updated the Django page with new resources. The page is
getting unwieldy at its current size so I'll likely pare it down with
better categorizes sometime soon.
- Added new resources on the Flask page.
March
- Added new source control resources.
- Major site performance improvements. I removed font awesome and replaced
icons with SVG elements that mimic the font awesome icons.
- Pushed the 1000th commit
to Full Stack Python!
- Major update to Vim page to add screenshots, a better example
.vimrc configuration and many more resources.
- Updated the web analytics page with a new
Python-specific section for walkthroughs that are specific to building or
using analytics with Python applications.
- Adding a slew of new Django resources.
- Working on including Crossbar.io and Autobahn to the
websockets page.
- Added the Muffin framework to the
other web frameworks page.
- Added new Emacs page based on
pull request #49
base information. Thank you!
- Added a new page on best Python videos that
breaks out all the videos I had scattered around the site and puts the
best ones in a single place.
- Beefing up the Django resources and will soon break them further down
into subcategories so they are easier to find by topic.
February
- Cleaned up the sidebar and email subscribe messaging.
- Added new monitoring, websockets and
continuous integration resources.
- New Django resources.
- Updated the Vim page with a Vimrc configuration file
explanation along with Vimrc resources.
- Added a generators page that's mostly a stub that I will
be building out to explain this core language feature.
- Updated table of contents with new layout that'll
allow me to expand on core Python language topics.
- Updated several out of date resources and added a new
logging resource.
- New Pyramid resources. I definitely need to flesh that page
out further.
- Added a Vim page and resources for learning Vim as a Python
code editor.
- Reorganized content pages to make for better logical groupings as I add new
content.
- Major improvements to Websockets page after suggestions
from
issue #47 on GitHub repository.
January
- Rewrote the Mailchimp sign up form for the email list so it doesn't have
the external JQuery libraries as dependencies. Site should be even faster
now.
- Stripped a significant portion of unused Bootstrap boilerplate from the CSS
file and minified it. The resulting CSS file is over 100KB less (about
25KB down from 130KB) so the site should load faster now.
- Major update to WebSockets page with new diagrams
and better explanations for why server push is useful.
- New task queue resources.
- Major update with the beginning of a page on Docker, split
out static file handling resources on the Django page
and a new section on Python programming language popularity on the
"Why Use Python?" page.
- Working on a Why Use Python? page with my own
assessment of the strengths and weaknesses of Python along with links to
resources where other folks discuss their own experiences.
- Continuing to add WebSockets resources, especially Python-specific ones.
- Added a new separate page for the Morepath framework.
- Updated the future directions page for 2015.
- Added new WebSockets resources.
- Added WebSockets page and some initial resources.
2014
December
- Added new security resources and splitting HTTPS resources into their own
section.
- Split out Djangular resources into a separate section.
- New NoSQL Python client resources.
- Added new API resources for integration and creation.
November
- Added a nice new continuous integration diagram.
- More Django and database resources.
- Revising development environments page and adding new resources.
- Adding my new Flask blog post on choose your own adventure presentations
along with the open source repository.
- More resources under Best Python Resources.
- Removing broken links from Best Python Resources and Django pages.
- New monitoring and development environments resources.
October
- Added the first new page in awhile! All about
development environments.
- Always adding new links to the best resources. More resources for
deployments, web analytics and Flask.
- More API creation and consumption resources.
- Merged a bunch of pull requests that cleaned up spelling and grammar
errors. Thank you contributors!
- Adding new Django 1.7-specific resources section on the Django page.
- New web frameworks, Bottle and Flask resources.
September
- New resources for Flask, Django and task queues sections.
- A few new resources for NoSQL data stores.
August
- New interesting link for web framework code complexity visualizations.
- Merged pull request that fixed some issues on WSGI page.
- Updated table of contents so it's easier to read and broken down by
sections.
- Added new Web Design page to cleanly separate CSS from
design topics and resources.
- New resources for code metrics and NoSQL databases.
- Added another Flask open source example app.
- Added new Code Metrics page.
- Updated CI page with more services and open source projects.
- Added Continuous Integration page.
- Splitting out deployment from automation so I can add chapters on continuous
integration, configuration management (which will be moved from the
existing deployment chapter) and related topics.
- Small tweaks to NoSQL, introduction and a few other pages.
- Moved topics map from introduction page to deployment page.
July
- Merged pull request for Django page and updated Django page with project
template section.
- New Django example project resources.
- Rewrote parts of source control and CSS pages for clarity.
- Merged typo fixes PR #32.
- Added my Full Stack Python video from the EuroPython 2014 conference.
- Updated map with further details.
- Added a map to the front page. May move that elsewhere later though based
on feedback.
- Merged a pull request for new REST frameworks.
- Lots of new Django, Flask and task queue resources.
- Added two new Python libraries lists to the Best Python Resources page.
- Thanks Hacker News for
doubling my traffic so far in 2014! 65k uniques and counting...
June
- Added more monitoring and logging resources.
- New resources for Flask and NoSQL projects.
- Updated NoSQL data store page with specific open source projects.
- Added diagram to source control page.
- Split version control resources from Git resources. Added new version
control resources.
- Updated logging page with better explanations and content ordering.
- Added learning checklists for all sections. The remaining sections that now
also have checklists are logging, web analytics and web application security.
May
- Added link to my O'Reilly Programming blog post on demand for full stack
developer capabilities.
- Updated APIs page with basic information on webhooks.
- Added learning checklists for source control, application dependencies,
configuration management, NoSQL data stores, APIs, API integration,
API creation, static content and caching sections.
- Moving learning checklists to the bottom of the pages since they are
specific advice for steps to take after reading a section.
- Added a stub section for APIs.
- Cleaned up and polished the task queues and web analytics pages.
- Added learning checklist to operating systems, web servers, task queues,
monitoring pages and WSGI servers.
- Adding more logging resources.
- Continuing to add learning checklists to sections such as servers.
- Moving navigation options into meta tags on markdown pages.
April
- Adding the concept of "learning checklists" to web frameworks, Django, CSS
and JavaScript pages to give readers some guidance for how to learn each
topic. Will expand these checklists out into other pages over the next
couple of weeks.
- Added an email sign up form to determine how many people are interested in
a full book since I've had a lot of requests in person to write one.
- Added new resources to the other web frameworks section.
- Updated the way choices to go from one page to another are generated. It's
now done off metadata instead of duplicated HTML content.
- Huge site update to reorganize the way content is presented and navigated.
Kinda has that "choose your own adventure" thing going for it, doesn't it?
-
New logo! This one's way more Python software stack, way less boring
folder-thingy. Here's how the old one looked in comparison:
-
Added a future direction section to explain
current priorities for further developments on the site.
- More resources for web frameworks and configuration management sections.
- Added small JavaScript section. Updating witih basic resources.
- Updated application dependencies with new links to Python library
collections.
- Merged a couple of awesome pull requests that fixed typos and added
additional Bottle resources.
March
- Updated logging page with new resources.
- Added new CSS page.
- New intermediate learning links on the best resources page.
- Updated task queues page with better explanations and many more curated
resources.
- Added why is this piece necessary for databases, WSGI servers, web
frameworks and application dependencies.
- Updating best resources page with newsletters and a few additional beyond
the basics resources.
- Adding 'why is this necessary' sections to servers, operating systems,
and web servers pages.
- Extracting best Python resources from the introduction into a separate
page.
- Cleaned up links on the first ten chapters and added new resources for
web frameworks.
- Updated application dependencies section with new resources and initial
content description.
- Updated the change log (how meta!) to have a cleaner layout.
February
- Added Bottle as a web framework next to Django and Flask.
- Added new Django resources.
- New sitemap.xml.
- Rewriting all sections to fix first draft typos and grammar mistakes
as well as add new content.
- Added task queues section due to reader feedback.
- Rewrote intro section.
- Merged several pull requests (see closed
GitHub repo pull requests).
- New resources for platform-as-a-service section.
- Added new sections specified by the community as missing.
- Reorganized ordering of content.
- Broke out subsections for Django and Flask.
- Added signficant content to the WSGI section.
- Converted from RST to Markdown (some of the downstream tools I want to
use work better with Markdown than RST).
- Reorganized content into rough outline of "final" chapters.
January
- Added configuration management, application dependencies, and source
control sections.
- Updated about section.
- Fully responsive web design.
2013
December
- Changed CDN section to static content section.
- Transitioned diagrams from Paper app drawings to Balsamiq mockups
exported to PNG files.
- Added Python database connectors to database section.
November
- Modified color scheme.
- Updated caching and introduction section.
- Added NoSQL data stores section.
October
- Created separate monitoring section.
August
- Added more resources for web servers and other categories.
June
- Updated styling.
- Switching around several sections.
January
- Fleshed out web server, OS, and server sections, particularly IaaS
and PaaS topics.
- Added initial "hand drawn" diagram placeholders for better diagrams later.
2012
December
- Initial incomplete release on fullstackpython.com, created
introduction, CDN, web frameworks, and database sections with stubs for
other areas.
这就是FSP的历史。你学习清单上的下一步是什么?