Changelog¶
This page lists updates to the Computer Science Field Guide. All notable changes to this project will be documented in this file.
Note
We base our numbering system from the guidelines at Semantic Versioning 2.0.0, however since our project started before it was migrated to GitHub, the first open source release is being labeled as 2.0.0.
Given a version number MAJOR.MINOR.HOTFIX:
MAJOR version change when system-wide modifications incompatible with previous versions are made (for example: switching to a new backend system).
MINOR version change when content or functionality is added or updated (for example: new chapter, new interactive, large number of text (typo/grammar) fixes).
HOTFIX version change when bug hotfixes are made (for example: fixing a typo, fixing a bug in an interactive).
A pre-release version is denoted by appending a hyphen and the alpha label followed by the pre-release version.
We have listed major changes for each release below. All downloads are available on GitHub
3.13.0¶
Release date: 15th December 2022
Changelog:
Add section about Shannon’s Experiment to the Compression chapter.
Add more comprehensive Getting Started documentation.
Add an “Adding a chapter” section to the Author Documentation.
Update infrastructure to fix issues with local development on multi-user Linux machines.
Fix majority of loading bugs caused by the 3.12.6 release.
Core dependency changes:
Update crowdin/github-action from 1.5.0 to 1.5.2
Update decode-uri-component from 0.2.0 to 0.2.2
Update dependabot/fetch-metadata from v1.3.4 to v1.3.5
Update django-debug-toolbar from 3.7.0 to 3.8.1
Update django-modeltranslation from 0.18.5 to 0.18.7
Update engine.io from 6.2.0 to 6.2.1
Update jquery from 3.6.1 to 3.6.2
Update lxml from 4.9.1 to 4.9.2
Update postcss from 8.4.18 to 8.4.20
Update sass from 1.55.0 to 1.56.2
Update selenium from 4.5.0 to 4.7.0
Update socket.io-parser from 4.0.4 to 4.0.5
Update sphinx-rtd-theme from 1.1.0 to 1.1.1
Update yargs from 17.6.0 to 17.6.2
Interactive scene-editor dependency changes:
Update three from 0.146.0 to 0.147.0
3.12.6¶
Release date: 3rd November 2022
Changelog:
Update content rather than recreating it when
update_data
script is run.Dependency updates:
Update crowdin/github-action from 1.4.16 to 1.5.0.
Update sphinx-rtd-theme from 1.0.0 to 1.1.0.
3.12.5¶
Release date: 31st October 2022
Changelog:
Fix bug where rgb-mixer interactive couldn’t load required CSS file.
Dependency updates:
Update cssnano from 5.1.13 to 5.1.14.
3.12.4¶
Release date: 31st October 2022
Changelog:
Add abiltiy to set initial zoom level in pixel-viewer interactive via URL parameter.
Remove broken documentation link.
Disable healthcheck on Docker task service to prevent deletion while running.
3.12.3¶
Release date: 29th October 2022
Changelog:
Add abiltiy to hide pixel colour codes in pixel-viewer interactive via URL parameter.
Fix bug where imported package CSS files were not imported.
Fix bug where pixel-viewer interactive isn’t sized correctly when embedded via iframe.
Replaced deprecation method in matrix-simplifier interactive.
Update analytics to Plausible.
Rewrite documentation to project specific content, and linking to general UCCSER documentation where required.
Display white favicon when browser dark theme is used. #1957
Add project logo variants with text.
Core dependency changes:
Update autoprefixer from 10.4.12 to 10.4.13.
Update crowdin/github-action from 1.4.15 to 1.4.16.
Update cssselect from 1.1.0 to 1.2.0.
Update django from 3.2.15 to 3.2.16.
Update psycopg2 from 2.9.4 to 2.9.5.
Interactive scene-editor dependency changes:
Update three from 0.145.0 to 0.146.0.
3.12.2¶
Release date: 20th October 2022
Changelog:
Add ability to hide mode headings and initial text in Parity interactive.
Add ability to circle a row and column in Parity interactive by clicking on a grid reference label (or where they would be if they’re hidden).
Fix bug where edges of barcode where visible in the Product Code Check Digit Calculation interactive when embedded. #1965
Modify Docker deployment workflow to be in line with UCCSER repositories. #1971
3.12.1¶
Release date: 19th October 2022
Changelog:
Allow QR Code Generator interactive controls to be hidden via URL parameter.
Allow Parity interactive settings be changed via URL parameter, including setting grid size, presetting intial bit values, hiding controls, and showing grid references.
Core dependency changes:
Update crowdin/github-action from 1.4.14 to 1.4.15.
Update django-modeltranslation from 0.18.4 to 0.18.5.
Update docker/build-push-action from 3.1.1 to 3.2.0.
Update docker/login-action from 2.0.0 to 2.1.0.
Update postcss from 8.4.17 to 8.4.18.
Update sphinx from 5.2.3 to 5.3.0.
3.12.0¶
Release date: 11th October 2022
Changelog:
Add Product Code Check Digit Calculation interactive.
Add QR Code Generator interactive.
Rename Shannan Experiment interactive to Shannon’s prediction and entropy of printed text experiment.
Fix bug where interactive NPM dependecies were being overriden by base NPM dependencies. Interactive dependencies have been updated accordingly.
Remove FSA dependency with simplified JavaScript solution.
Core dependency changes:
Update autoprefixer from 10.4.8 to 10.4.12.
Update coverage from 6.4.4 to 6.5.0.
Update crowdin/github-action from 1.4.12 to 1.4.14.
Update dependabot/fetch-metadata from v1.3.3 to v1.3.4.
Update django-debug-toolbar from 3.6.0 to 3.7.0.
Update node from 14.19.0-buster to 14.20.0-buster.
Update postcss from 8.4.16 to 8.4.17.
Update psycopg2 from 2.9.3 to 2.9.4.
Update sass from 1.54.5 to 1.55.0.
Update selenium from 4.4.0 to 4.5.0.
Update sphinx 5.1.1 to 5.2.3.
Update uniseg from 0.7.1.post2 to 0.7.2.
Update yargs from 17.5.1 to 17.6.0.
Interactive city-trip dependency changes:
Update cytoscape from 3.22.1 to 3.23.0.
Interactive product-code-check-digit-calculation dependency changes:
Add arrows-svg 1.5.6.
Add jsbarcode 3.11.5.
Interactive qr-code-generator dependency changes:
Add qrcode-generator 1.4.4.
Interactive scene-editor dependency changes:
Update three from 0.143.0 to 0.145.0.
Add sprintf-js 1.1.2 (to be independent from base package.json file).
Interactive shannon-experiment dependency changes:
Add chart.js 3.9.1.
3.11.0¶
Release date: 30th August 2022
Changelog:
Add Shannon Experiment interactive prototype.
Update Computer Security URLs and typo. #1913
Fix outdated references to interactive. #1902
Fix issue where items on the top navigation bar couldn’t fit on one line on small screens.
Update project to use uccser-development-stack v3.
Show full Git SHA on development website.
Add OCI labels to Django Docker image.
Update Traefik middleware to use a unique name in production deployment.
Fix bug preventing translation pipeline from completing.
Core dependency changes:
Add gulp-dependents 1.2.5.
Update autoprefixer from 10.4.7 to 10.4.8.
Update bootstrap from 4.6.1 to 4.6.2.
Update coverage from 6.4.1 to 6.4.4.
Update crowdin/github-action from 1.4.9 to 1.4.12.
Update cssnano from 5.1.12 to 5.1.13.
Update django from 3.2.14 to 3.2.15.
Update django-debug-toolbar from 3.4.0 to 3.6.0.
Update django-modeltranslation from 0.18.2 to 0.18.4.
Update django-statici18n from 2.2.0 to 2.3.1.
Update docker/build-push-action from v3.0.0 to v3.1.1.
Update jquery from 3.6.0 to 3.6.1.
Update postcss from 8.4.14 to 8.4.16.
Update postgres from 13.3 tp 13.8.
Update Pygments from 2.12.0 to 2.13.0.
Update sass from 1.53.0 to 1.54.5.
Update selenium from 4.3.0 to 4.4.0.
Update sphinx from 5.0.2 to 5.1.1.
Remove urijs.
Interactive big-number-calculator dependency changes:
Update big.js from 6.2.0 to 6.2.1.
Interactive bin-packing dependency changes:
Update interactjs from 1.10.14 to 1.10.17.
Interactive box-rotation dependency changes:
Update three from 0.142.0 to 0.143.0.
Interactive box-translation dependency changes:
Update three from 0.142.0 to 0.143.0.
Interactive city-trip dependency changes:
Update cytoscape from 3.21.2 to 3.22.1.
Interactive jpeg-compression dependency changes:
Update interactjs from 1.10.14 to 1.10.17.
Interactive scene-editor dependency changes:
Update three from 0.142.0 to 0.143.0.
Interactive unicode-binary dependency changes:
Remove urijs.
Interactive viola-jones-face-detector dependency changes:
Update interactjs from 1.10.14 to 1.10.17.
3.10.2¶
Release date: 6th July 2022
Changelog:
Update Trainsylvania interactives imagery and station names.
Combine trainsylvania-blank and trainsylvania-complete into trainsylvania-map interactive.
Remove trainsylvania blank map file in favor of trainsylvania-map interactive.
Add options to binary-cards interactive for hiding UI elements and displaying right to left.
Fix bug where scene-editor interactive wasn’t working. #1837
Fix indentation within Dependabot configuration file.
Fix Gulp watch task to watch correct files.
Add attribution to texture used in scene-editor interactive.
Update Gulp JS task to only update files changed since last run.
Core dependency changes:
Update dependabot/fetch-metadata from v1.3.1 to v1.3.3.
Update django from 3.2.13 to 3.2.14.
Update lxml from 4.9.0 to 4.9.1.
Interactive box-rotation dependency changes:
Update three from 0.141.0 to 0.142.0.
Interactive box-translation dependency changes:
Update three from 0.141.0 to 0.142.0.
Interactive scene-editor dependency changes:
Update three from 0.141.0 to 0.142.0.
3.10.1¶
Release date: 28th June 2022
Changelog:
Add search functionality for English language.
Updates to binary cards interactive:
Only creates card elements as required.
Fixes bug with defining number of cards.
Allows card total to be toggled or hidden.
Remove broken link in the Images and Colours section witin the Data Representation chapter.
Update glossary definition of Algorithm.
Allow centered interactives to be embedded anywhere (this will likely change in the future to be restricted only to UCCSER domains).
Add permalinks to glossary page entries.
Fix bug where interactive thumbnails were missing assets during creation. #1745
Fix bug where CFG Parser examples weren’t loaded. #1789
Update test coverage to codecov.
Suppress gunicorn access and error logs during local development.
Auto-merge minor dependency updates (this includes minor and patch updates).
Allow all dependency update pull requests to be created (remove open limit on Dependabot).
Ignore updates to non-LTS Django packages.
Core dependency changes:
Update actions/checkout from v2 to v3.
Update actions/download-artifact from v2 to v3.
Update actions/setup-python from v2 to v4.
Update actions/upload-artifact from v2 to v3.
Update ansi-colours from 4.1.1 to 4.1.3.
Update autoprefixer from 10.3.7 to 10.4.7.
Update browser-sync from 2.27.5 to 2.27.10.
Update codemirror from 5.65.0 to 5.65.6.
Update coverage from 6.2 to 6.4.1.
Update crowdin/github-action from 1.4.7 to 1.4.9.
Update cssnano from 5.0.8 to 5.1.12.
Update django from 3.2.12 to 3.2.13.
Update django-cors-headers from 3.11.0 to 3.13.0.
Update django-debug-toolbar from 3.2.4 to 3.4.0.
Update django-environ from 0.8.1 to 0.9.0.
Update django-modeltranslation from 0.17.3 to 0.18.2.
Update docker/build-push-action from v2.9.0 to v3.0.0.
Update docker/build-push-action from v2.9.0 to v3.0.0.
Update docker/login-action from v1.13.0 to v2.0.0.
Update docker/metadata-action from v3 to v4.
Update fancy-log from 1.3.3 to 2.0.0.
Update flake8 from 3.9.2 to 4.0.1.
Update gulp-sass from 5.0.0 to 5.1.0.
Update lxml from 4.8.0 to 4.9.0.
Update postcss 8.4.5 to 8.4.14.
Update Pygments from 2.11.2 to 2.12.0.
Update sass from 1.49.8 to 1.53.0.
Update selenium from 4.1.1 to 4.3.0.
Update sphinx from 4.4.0 to 5.0.2.
Update whitenoise from 6.0.0 to 6.2.0.
Update yargs from 10.3.1 to 10.5.1.
Remove intro.js 4.2.2.
Interactive big-number-calculator dependency changes:
Update big.js from 5.1.2 to 6.2.0.
Interactive bin-packing dependency changes:
Update interactjs from 1.10.11 to 1.10.14.
Interactive box-rotation dependency changes:
Update three from 0.138.0 to 0.141.0.
Update @tweenjs/tween.js from 17.3.0 to 18.6.4.
Interactive box-translation dependency changes:
Update three from 0.138.0 to 0.141.0.
Update @tweenjs/tween.js from 17.3.0 to 18.6.4.
Interactive city-trip dependency changes:
Update cytoscape from 3.21.0 to 3.21.2.
Interactive frequency-analysis dependency changes:
Update es5-shim from 4.6.5 to 4.6.7.
Interactive jpeg-compression dependency changes:
Update interactjs from 1.10.11 to 1.10.14.
Interactive scene-editor dependency changes:
Update three from 0.138.0 to 0.141.0.
Interactive unicode-binary dependency changes:
Update urijs from 1.19.8 to 1.19.11.
Update string.fromcodepoint from 0.2.1 to 1.0.0.
Interactive unicode-chars dependency changes:
Update string.fromcodepoint from 0.2.1 to 1.0.0.
Interactive viola-jones-face-detector dependency changes:
Update interactjs from 1.10.11 to 1.10.14.
3.10.0¶
Release date: 31st March 2022
Changelog:
Add new chapter ‘Computer Security’.
The chapter only contains text currently, images and interactives will be added at a later time.
Minor text changes (e.g. grammar corrections) in ‘Grammars and Parsing’ section.
Add glossary definitions for:
Terminal
Non-terminal
Production
Add new panel type ‘Exercise’.
Fix alignment of panels within a nested list.
Show chapter section name in browser title.
Increase size of context-free grammar parsing challenge working box.
Improve interface when context-free grammar parsing challenge has examples.
Change relative links within chapter and chapter section text to open in a new tab.
Remove search functionality, due to high costs and no user usage.
Dependency changes:
Remove django-haystack[elasticsearch] 3.1.1.
Remove elasticsearch 5.5.3.
Remove django-widget-tweaks 1.4.8.
3.9.0¶
Release date: 26th February 2022
Summary of changes:
This release adds new content on grammars and parsing, QR codes, Fitts’ law, and other ways to represent FSAs.
Changelog:
Add new section in ‘Formal Languages’ chapter on ‘Grammars and Parsing’.
Add new section in ‘Coding - Error Control’ chapter on ‘QR codes’.
Add new section in ‘Human Computer Interaction’ chapter on ‘Pointing at things: Fitts’ Law’
Add new content in ‘Finite State Automata’ section on ‘Other ways to represent finite state automata’.
Add seven new interactives for new and upcoming content:
Fitts’ law
Clicking with shaking
Index of difficulty calculator
Plane turbulence
Firewall sorting
Password strength - Brute force variant
Password strength - Dictionary attack variant
Update definition of ‘Parse tree’ in glossary.
Fix broken link to padding in cryptography Wikipedia page.
Update ‘CFG Parsing Challenge’ interactive:
Disable the text field that allows customising the equation text, as it’s prone to errors. This can be re-enabled with the URL parameter
editable-target
.Modify ‘New productions’ button to ‘Customise productions’, and lower it’s priority in the interactive. The productions menu is also prefilled with the currently loaded exercise. This can be disabled with the URL parameter
hide-builder
.Increase average difficulty of random equations.
Update terms used for user prompts.
Update ‘NFA Guesser’ interactive:
Allow answer to be optionally viewed after multiple failed attempts.
Change answer options to match appearance in NFA map.
Update ‘Parity Trick’ interactive:
Add optional grid references.
Fix incorrect solution for representing ‘water’ as binary.
Add tracking of dependencies within interactives using Dependabot.
Modify command names to be consistent across UCCSER projects.
Remove resource links to websites that do not exist anymore.
Add open/close symbols and types titles (for example ‘Curiosity’) on panels. Panels can also be forced to be always open.
Pause of playing Vimeo video within a closed panel.
Add URL for website status information.
Open button links in a new tab.
Fix bug where translation files were not generated.
Allow build helper command to pass parameters.
Allow translations of words within custom Verto templates.
Update interactive template block names to avoid overriding.
Add notes to documentation on writing custom Verto templates.
Change recommended JavaScript indentation to 4 spaces from 2 spaces. Existing code has not be updated.
Modify URL parameter decoder to accept equal signs within a parameter.
Enable CORS headers for providing version information across domains.
Add templatetag for reading file to template.
Add syntax highlighting within code blocks.
Change environment variable to allow wider Traefik router variations.
Update SCSS division symbol away from deprecated ‘/’ symbol.
Update logging configuration.
Add package-lock.json file.
Core dependency changes:
Add django-cors-headers 3.11.0.
Add Pygments 2.11.2.
Update bootstrap from 4.6.0 to 4.6.1.
Update codemirror from 5.63.1 to 5.65.0.
Update coverage from 5.5 to 6.2.
Update crowdin/github-action from 1.4.0 to 1.4.7.
Update django from 3.2.8 to 3.2.12.
Update django-debug-toolbar from 3.2.2 to 3.2.4.
Update django-environ from 0.7.0 to 0.8.1.
Update django-statici18n from 2.0.1 to 2.2.0.
Update docker/build-push-action from 2.7.0 to 2.9.0.
Update docker/login-action from 1.10.0 to 1.13.0.
Update lxml from 4.6.3 to 4.8.0.
Update MathJax from 2.7.5 to 2.7.9.
Update Node 14.17.0 to 14.19.0.
Update postcss from 8.3.9 to 8.4.5.
Update psycopg2 from 2.9.1 to 2.9.3.
Update sass from 1.42.1 to 1.49.8.
Update selenium omfr 3.141.0 to 4.1.1.
Update sphinx from 4.2.0 to 4.4.0.
Update whitenoise from 5.3.0 to 6.0.0.
Update yargs from 17.2.1 to 17.3.1.
Interactive bin-packing dependency changes:
Update interactjs from 1.4.0-alpha.17 to 1.10.11.
Interactive box-rotation dependency changes:
Update three from 0.101.1 to 0.138.0.
Interactive box-translation dependency changes:
Update three from 0.101.1 to 0.138.0.
Interactive city-trip dependency changes:
Update cytoscape from 3.4.2 to 3.21.0.
Update cytoscape-automove from 1.10.1 to 1.10.3.
Interactive colour-matcher dependency changes:
Update wnumb from 1.1.0 to 1.2.0.
Interactive frequency-analysis dependency changes:
Update es5-shim from 4.5.12 to 4.6.5.
Update es6-shim from 0.35.4 to 0.35.6.
Interactive jpeg-compression dependency changes:
Update dct from 0.0.3 to 0.1.0.
Update interactjs from 1.4.0-alpha.17 to 1.10.111.
Interactive matrix-simplifier dependency changes:
Update dragula from 3.7.2 to 3.7.3.
Interactive packet-attack dependency changes:
Update phaser from 3.16.2 to 3.55.2.
Interactive python-interpreter dependency changes:
Update skulpt from 0.11.1 to 1.2.0.
Interactive rsa-decryption dependency changes:
Update big-integer from 1.6.44 to 1.6.51.
Update node-rsa from 1.0.5 to 1.1.1.
Interactive rsa-encryption dependency changes:
Update big-integer from 1.6.44 to 1.6.51.
Update node-rsa from 1.0.5 to 1.1.1.
Interactive rsa-key-generator dependency changes:
Update node-rsa from 1.0.5 to 1.1.1.
Interactive scene-editor dependency changes:
Update three from 0.108.0 to 0.138.0.
Interactive sorting-algorithms dependency changes:
Update dragula from 3.7.2 to 3.7.3.
Interactive unicode-binary dependency changes:
Update urijs from 1.19.1 to 1.19.8.
Update underscore.string from 3.3.5 to 3.3.6.
Interactive viola-jones-face-detector dependency changes:
Update interactjs from 1.4.0 to 1.10.11.
3.8.5¶
Release date: 6th October 2021
Changelog:
Fix bug where interactives in chapters were not displaying.
Redirect non-www requests to www subdomain at Traefik router.
Run migration commands in existing container to allow access to created files.
Remove Docker compose volumes to avoid issues with development.
Dependency changes:
Update autoprefixer from 10.3.6 to 10.3.7.
Update codemirror from 5.62.3 to 5.63.1.
Update django from 3.2.7 to 3.2.8.
Update gulp-postcss from 2.0.1 to 2.1.0.
Update postcss from 8.3.6 to 8.3.9.
Update yargs from 17.1.1 to 17.2.1.
3.8.4¶
Release date: 29th September 2021
Changelog:
Allow greater customisation for the website’s Traefik routing rule.
3.8.3¶
Release date: 28th September 2021
Changelog:
Rebuild search index when updating data, instead of application start.
Modify configuration for Docker Swarm services to specify updatedata task.
Dependency changes:
Update crowdin/github-action from 1.3.2 to 1.4.0.
Update autoprefixer from 10.3.2 to 10.3.6.
Update intro.js from 4.1.0 to 4.2.2.
Update sass from 1.38.0 to 1.42.1.
Update sphinx from 4.1.2 to 4.2.1.
Update sphinx-rtd-theme from 0.5.2 to 1.0.0.
Update django from 3.2.6 to 3.2.7.
Update django-environ from 0.4.5 to 0.7.0.
Update django-haystack[elasticsearch] from 3.0 to 3.1.1.
3.8.2¶
Release date: 6th September 2021
Changelog:
Modify network name for production deployments.
3.8.1¶
Release date: 28th August 2021
Changelog:
Fix encoding of JPG image that prevented minifying.
Modify workflow to only produce production docker image run on published release.
3.8.0¶
Release date: 25th August 2021
Changelog:
Move website from Google Cloud Platform to Docker Swarm hosted at the University of Canterbury. #1380
Modifies website infrastructure to use Docker Swarm, running all website components as services.
Use GitHub actions for automated workflows. This includes testing, deployment, and internationalisation jobs.
Simplify static file pipeline, runs as separate service.
Switch to GitHub dependency manager.
New Depth section for Computer Vision chapter:
Includes new Depth from Stereo Vision interactive. #1375
Update Context-free Grammar interactive to always generate valid expressions via brute force, and improve the interface with a history log and consistent formatting.
Allow Big Number Calculator to calculate numbers with low digit counts. #1340
Dependency changes:
Add ansi-colors 4.1.1.
Add browser-sync 2.27.5.
Add child_process 1.0.2.
Add cssnano 5.0.8.
Add django-bootstrap-breadcrumbs 0.9.2.
Add elasticsearch 5.5.3.
Add fancy-log 1.3.3.
Add got 11.8.2.
Add gulp-concat 2.6.1.
Add gulp-imagemin 7.1.0.
Add intro.js 4.1.0.
Add lity 2.4.1.
Add pixrem 5.0.0.
Add postcss 8.3.6.
Add sass 1.38.0.
Add whitenoise 5.0.3.
Remove @babel/core 7.1.2
Remove @babel/preset-env 7.1.0
Remove del 3.0.0
Remove featherlight 1.7.13
Remove gevent 1.4.0.
Remove gulp-babel 8.0.0
Remove gulp-jshint 2.1.0
Remove gulp-notify 3.2.0
Remove gulp-util 3.0.8
Remove gulplog 1.0.0
Remove gumshoejs 5.1.2
Remove jshint 2.9.6.
Remove jshint-stylish 2.2.1.
Remove node-gyp 3.8.0
Remove Pillow 7.2.0.
Remove request 2.88.0
Remove run-sequence 2.2.1
Remove sticky-state 2.4.1
Remove wheel 0.35.1.
Remove Whoosh 2.7.4.
Update autoprefixer from 9.3.1 to 10.3.2.
Update bootstrap from 4.3.1 to 4.6.0.
Update browserify from 16.2.2 to 17.0.0.
Update codemirror from 5.42.0 to 5.62.3.
Update coverage from 5.3 to 5.5.
Update details-element-polyfill from 2.3.1 to 2.4.0.
Update django from 2.2.3 to 3.2.6.
Update django-debug-toolbar from 3.1.1 to 3.2.2.
Update django-haystack 3.0 to django-haystack[elasticsearch] 3.0.
Update django-modeltranslation from 0.15.2 to 0.17.3.
Update django-statici18n from 1.9.0 to 2.0.1.
Update flake8 from 3.8.4 to 3.9.2
Update gulp from 3.9.1 to 4.0.2.
Update gulp-filter from 5.1.0 to 7.0.0.
Update gulp-if from 2.0.2 to 3.0.0.
Update gulp-postcss from 7.0.1 to 9.0.0.
Update gulp-rename from 1.4.0 to 2.0.0.
Update gulp-sass from 4.0.2 to 5.0.0.
Update gulp-sourcemaps from 2.6.4 to 3.0.0.
Update gulp-tap from 1.0.1 to 2.0.0.
Update gulp-terser from 1.1.5 to 2.0.1.
Update gunicorn from 19.9.0 to 20.1.0.
Update iframe-resizer from 4.1.1 to 4.3.2.
Update jquery from 3.4.1 to 3.6.0.
Update lxml from 4.6.2 to 4.6.3.
Update multiple-select from 1.2.1 to 1.5.2.
Update popper.js from 1.15.0 to 1.16.1.
Update postcss-flexbugs-fixes from 4.1.0 to 5.0.2.
Update Postgres database from 9.6 to 13.3.
Update psycopg2 from 2.7.6.1 to 2.9.1.
Update puppeteer from 1.9.0 to Docker image 10.0.0.
Update pydocstyle from 5.1.1 to 6.1.1.
Update PyYAML from 5.3.1 to 5.4.1.
Update sphinx from 3.3.0 to 4.1.2.
Update sphinx-rtd-theme from 0.5.0 to 0.5.2.
Update uniseg from 0.7.1 to 0.7.1.post2.
Update verto 0.11.0 to 1.0.1.
Update yargs from 12.0.2 to 17.1.1.
3.7.0¶
Release date: 2nd February 2021
Changelog:
3.6.0¶
Release date: 11th January 2021
Changelog:
Improve consistency of the URL parameters for the RGB Mixer interactive: #1309
Update CMY Mixer interactive to be consistent with RGB Mixer: #1306
Improve limitations of the Algorithm Timer interactive: #1332
Replace broken link in the HCI chapter: #1316
Dependency updates:
Update lxml from 4.5.2 to 4.6.2.
Update wheel from 0.34.2 to 0.35.1.
Update django-haystack from 2.8.1 to 3.0.
Update django-modeltranslation from 0.15.1 to 0.15.2.
Update sphinx from 3.1.2 to 3.3.0.
Update django-debug-toolbar from 2.2 to 3.1.1.
Update flake8 from 3.8.3 to 3.8.4.
Update pydocstyle from 5.0.2 to 5.1.1.
Update coverage from 5.2.1 to 5.3.
3.5.1¶
Release date: 1st August 2020
Changelog:
Add URL redirects for CS Unplugged Pixelmania activity. #1303
Update Pixel Viewer interactive: #1300 #1302 #1304
Add brightness value mode.
Add ability to zoom to specific starting point for an image.
Set image when zooming to be pixelated (only on modern browsers).
Add parameter to hide mode selector.
Add parameter to hide value type selector.
Add parameter to show Pixelmania branding.
Update RGB Mixer interactive: #1305
Show full value of colour in mixed colour.
Add parameter to show Pixelmania branding and force hexadecimal notation.
Fix incorrect hexadecimal value in content.
Dependency updates:
Update lxml from 4.5.1 to 4.5.2.
Update django-modeltranslation from 0.15 to 0.15.1.
Update sphinx from 3.1.1 to 3.1.2.
Update coverage from 5.1 to 5.2.1.
3.5.0¶
Release date: 7th July 2020
Changelog:
3.4.0¶
Release date: 1st July 2020
Changelog:
Allow user to choose number of cards shown in the Binary Cards interactive, plus fit cards in groups of 8 on large screens. #1262 #1271
Fix issues in LZSS Compression algorithm, expand its functionality, and replace space characters with the open box character for clarity. #1271 #1285
Fix bug in JPEG Compression interactive where sometimes a checked checkbox was treated as unchecked and vice versa. #1269
Prevent visual overflow of matrices in Matrix Simplifier interactive. #1138
Replace downloadable Python programs for searching and sorting with links to updated Python programs on repl.it. #1279
Dependency updates:
Update coverage from 5.0 to 5.1.
Update django-debug-toolbar from 2.1 to 2.2.
Update django-modeltranslation from 0.14.1 to 0.15.
Update django-statici18n from 1.8.3 to 1.9.0.
Update django-widget-tweaks from 1.4.5 to 1.4.8.
Update flake8 from 3.7.9 to 3.8.3.
Update lxml from 4.4.2 to 4.5.1.
Update Pillow from 7.1.1 to 7.1.2.
Update pydocstyle from 5.0.1 to 5.0.2.
Update sphinx from 2.3.0 to 3.1.1.
Update wheel from 0.33.6 to 0.34.2.
3.3.1¶
Release date: 22nd April 2020
Changelog:
Solved bug in pixel viewer that was affecting some users. #1254
Dependency updates:
Update Pillow from 6.2.1 to 7.1.1.
Update PyYAML from 5.2 to 5.3.1.
3.3.0¶
Release date: 26th December 2019
Summary of changes:
This release adds a new chapter on ‘Big Data’, various improvements for interactives, and updated project and chapter icons. A configuration tool for the sorting boxes interactive has been added, allowing teachers to setup specific examples for testing.
Changelog:
Add new chapter: Big Data.
Update project icon.
Update chapter icons to better reflect their topics.
Update rendering of some mathemetical equations.
Add missing glossary terms. #1017
Add ability for resulting equation in matrix-simplifier to be copied and pasted into all versions of the scene-editor interactive. #1168
Add ability to remove all equations in the matrix-simplifier interactive at once. #1168
Fix spelling in title of regular expression search interactive. #1172
Update layout, simplify difficult password, and hide plaintext passwords of password guesser interactive. #1172
Improve sorting boxes interactive with clearer feedback and configurator for teachers. #1196
Update number memory interactive to reuse shorter password if the user remembers the longer one. #1172
Fix bug in colour matcher where some bits did not flip when clicked on. #1167
Set some external links to open in a new tab. #1175
Update sentence about mesh points in computer graphics chapter. #1170
Remove deprecated Google App Engine health check logic. #1187
Remove use of float-left and float-right Bootstrap mixins. #1171
Minor typo and grammar fixes.
Dependency updates:
Update coverage from 4.5.4 to 5.0.
Update django-debug-toolbar from 2.0 to 2.1.
Update django-modeltranslation from 0.13.3 to 0.14.1.
Update flake8 from 3.7.8 to 3.7.9.
Update lxml from 4.4.1 to 4.4.2.
Update Pillow from 6.2.0 to 6.2.1.
Update pydocstyle from 4.0.1 to 5.0.1.
Update PyYAML from 5.1.2 to 5.2.
Update sphinx from 2.2.0 to 2.3.0.
3.2.0¶
Release date: 16th October 2019
Changelog:
Rebuild scene editor interactive. #1115
Create password guessing interactive. #606
Add the ability to edit existing equations in matrix simplifier interactive. #1137
Fix print preview to have ability to print more than just one page in Chrome. #1110
Add glossary entries for the Computer Vision, Formal Languages and Network Communication Protocols chapters. #1017
Enable subtitles in chapter introduction videos. #1089
Exclude licences directory from Linkie. #1153
Update Django from 1.11.16 to 2.2.3. #1111
3.1.0¶
Release date: 7th October 2019
Changelog:
Rebuild AI sticks game. #574
Rewrite RSA interactives. #1119
Add note to users about broken interactives. #1152
Content fixes and add glossary entries for the Computer Graphics and Complexity and Tractability chapters. #1017
Amend content licence to exclude certain properties we don’t own. #1149
Update versioning system description to reflect its use in practice. #1143
Dependency updates:
Update
pillow
from 6.1.0 to 6.2.0.
3.0.5¶
Release date: 6th September 2019
Changelog:
Fix broken URLs. #1141
3.0.4¶
Release date: 5th September 2019
Changelog:
Rebuild matrix simplifier interactive. #375
Fix URL parameters in searching boxes interactive. #1129
Improvements to regular expression filter interactive. #1020
Content fixes and add glossary entries for coding, data representation and HCI chapters. #1017
Add glossary entries for AI chapter. #1136
Improve list of contributors. #1127
Dependency updates:
Update
lxml
from 4.3.4 to 4.4.1.Update
coverage
from 4.5.3 to 4.5.4.Update
pyyaml
from 5.1.1 to 5.1.2.Update
cssselect
from 1.0.3 to 1.1.0.Update
pydocstyle
from 4.0.0 to 4.0.1.Update
wheel
from 0.33.4 to 0.33.6.Update
sphinx
from 2.1.2 to 2.2.0.
3.0.3¶
Release date: 24th July 2019
Changelog:
Fix bug where navbar mobile menu is positioned incorrectly. #1068
Add link to the release archive in footer. #1098
Remove references to Picasa. #1099
Replace brackets with UTF-8 equivalent in archive links. #1093
Update Google Cloud Platform health checks. #1105
Dependency updates:
Update
flake8
from 3.7.7 to 3.7.8.Update
pydocstyle
from 3.0.0 to 4.0.0.Update
django-modeltranslation
from 0.13.2 to 0.13.3.
3.0.2¶
Release date: 18th July 2019
Changelog:
Add interactive to demonstrate limitations of short term memory. #144
Add second short term memory interactive. #1090
Fix broken links to old interactives in the computer graphics chapter.
Update about page and introduction chapter. #1082
Improve consistency in chapter section beginnings. #1065
Align and resize homepage logos. #1050
Center homepage icons on Firefox mobile. #1066
Add link to Vox video on how snapchat filters work in the computer vision chapter. #367
Reduce length of search bar on mobile. #1080
Dependency updates:
Update
django-modeltranslation
from 0.13.1 to 0.13.2.Update
Pillow
from 6.0.0 to 6.1.0.Update
python-bidi
from 0.4.0 to 0.4.2.
3.0.1¶
Release date: 3rd July 2019
Changelog:
Fix bug where binary cards were not flipping back to white on Chrome. #1056
Add background to navigation dropdown on mobile. #1054
Add option to reshuffle weights in sorting algorithms interactive. #1070
Add link to curriculum guides in useful links. #1052
Fix several content errors. #1044
Remove broken links that have no replacement link.
Improve formatting and correct spelling errors.
Correct sentence that states there are 0.6 kilometers in a mile.
Fix formatting issues, add glossary links and a glossary term for bozo search. #1060
Floating elements no longer overlap the subsection divider. #1059
Add a redirect for the old homepage URL to the new homepage URL. #1058
Correct spelling and formatting in the changelog. #1037
Add a temporary fix for deploying static files. #1046
3.0.0¶
Release date: 30th June 2019
Changelog:
Rebuild the Computer Science Field Guide website to use an open source Django system based off CS Unplugged (see the GitHub milestone). Major features include:
Greatly improved translation features.
Allowing student and teacher pages to use the same URLs (switch between modes available in page footer).
Search functionality for English chapters.
Improve chapter content:
Chapter sections are now split across pages for better readability.
General content, grammar, and spelling fixes.
View glossary definitions within a page.
Introduce new chapter sections:
‘User experience’ by Hayley van Waas for the Human Computer Interaction chapter.
‘General purpose compression’ by Hayley van Waas for the Coding - Compression chapter.
Improve interactives:
Introduce automated thumbnail generator.
Introduce many ‘uninteractives’ - allowing image text to be translated.
Update existing interactives for better accessibility.
Introduce new interactives:
Algorithm Timer
Braille Alphabet
City Trip
Dictionary Compression
Dot combinations
LZSS compression
LZW Compression
Pixel Grid
Remove obsolete interactives:
MD5-hash
ncea-guide-selector
ziv-lempel-coding
Redesign homepage.
Update documentation and contributing guides.
Update contributors page.
Improve licencing structure to make it easier to find and navigate on GitHub.
Rename ‘2D Arrow Manipulations’ interactive to ‘2D Shape Manipulations’.
Introduce initial German and Spanish translations.
2.12.2¶
Release date: 5th June 2018
Changelog:
2.12.1¶
Release date: 7th March 2018
Changelog:
Update Artificial Intelligence chapter to use shorter introduction video.
Update Unicode Binary interactive to display UTF mode.
Bugfixes for Sorting/Searching Boxes interactives.
Grammar/spelling fixes for HCI chapter.
Correct quote by Mike Fellows in Introduction chapter.
2.12.0¶
Release date: 13th February 2018
Changelog:
Add Huffman coding section to compression chapter with Huffman Tree generator interactive.
Add Viola-Jones face detection interactive.
Add 2018 NCEA curriculum guides.
Update Pixel Viewer interactive with threshold, blur, and edge detection modes for computer vision chapter. #32 #388
Fix bug in Base Calculator interactive where computed value displayed incorrectly. #558
Update Microsoft logo. #527
Add videos to Formal Languages chapter #518
Fix capitalisation of title of complexity and tractability chapter. #513
Migrate Mathjax to new CDN. #482
2.11.0¶
Release date: 18th October 2017
Changelog:
Add Bin Packing interactive. #490
Correct Two’s Complement text. #503
Remove contributor names from changelogs.
Update JPEG interactive. #488
Remove search as it focuses on outdated releases. #508
Correctly detect text size for Unicode Length interactive. #501
Fix broken link to CSFG in Network Protocols chapter. #504
Fix typo in section 2.1.3. #507
2.10.1¶
Release date: 3rd September 2017
Changelog:
2.10.0¶
Release date: 2nd September 2017
Notable changes:
This release adds a JPEG compression interactive, along with many bug fixes, and corrections.
The version numbering scheme now does not start with the v character (so v2.9.1 is 2.9.1). This to make the numbering consistent with our other projects (CS Unplugged and cs4teachers).
Changelog:
Update Delay Analyser reset button to avoid accidental resets. #413
Add video subtitle files.
Clean up homepage for the NCEA Curriculum Guides. #358
Replace cosine image. #73
Fix bug in detecting defined permissions of files. #73
Add Google Analytic skit videos to HCI chapter. #247
Fix Washing Machine interactive in Formal Languages chapter. #411
Correct spelling of aesthetics and add glossary definition. #405
Fix rendering of glossary definition headings.
Fix PBM image data. #412
Fix link error in HCI chapter. #410
Add missing NCEA guides files. #472
Fix link to private YouTube video on packets. #408
Update binary-cards interactive to handle a higher number of cards. #407
Add ability to hide pixel colours in pixel value interactive. #476
2.9.1¶
Release date: 20th February 2017
Notable changes:
This release fixes a bug in the Computer Graphics chapter where some links to the 2D Arrow Manipulation interactives were broken due to an incorrect regex.
Changelog:
2.9.0¶
Release date: 27th January 2017
Notable changes:
This release adds an introductory video for the Complexity and Tractability chapter, updated text for Graphics Transformations section of the Computer Graphics chapter, as well as updated versions of the 2D Arrow Manipulation and FSA interactives.
Changelog:
2.8.1¶
Release date: 21st October 2016
Changelog:
Update introduction chapter. #231
Add notice of changes to AP-CSP curriculum in Fall 2016 release.
Skip parsing # characters at start of Markdown links.
2.8.0¶
Release date: 19th October 2016
Notable changes:
This release adds an introductory video for the Human Computer Interaction chapter, plus a draft of guides for mapping the Computer Science Field Guide to the AP CSP curriculum.
Changelog:
Add introductory video to Human Computer Interaction chapter.
Add draft of guides for the AP CSP curriculum. #316
Update and fix issues in high-score-boxes interactive. #390 #391 #393
Add subtraction command to mips-simulator interactive. The interactive can now handle subtraction down to zero. #382
Update sponsor information in footer.
Improve the visibilty of warning panels. #389
Fix positioning of table of contents sidebar. #387
Fix typos in Formal Languages chapter. #385
Update 404 page to avoid updating after each release. #394
Remove duplicate introduction to teacher guide. #213
Add link to article on representing a 1 bit image. #376
Fix broken link to contributors page in footer. #383
Replace broken link to Eliza chatterbot. #384
Fix footer link colour in teacher version. #395
2.7.1¶
Release date: 5th September 2016
Notable changes:
Fixed broken link in footer to contributors page.
A full list of changes in this version is available on GitHub
2.7.0¶
Release date: 23rd August 2016
Notable changes:
New video: Formal Languages now has an introductory video. New interactive: The [hexadecimal background colour interactive interactives/hex-background-colour/index.html) allows a user to change the background colour of the page. New curriculum guide: A guide for NCEA Artificial Intelligence: Turing Test has been added. Updated interactives: The box translation and box rotation interactives are now open source and have been given a new look and made mobile friendly. Generation improvements: Basic translation support. Settings are now specific to each language, and contain the translation text. Website improvements: Added help guide for WebGL interactives. - Also includes bug fixes to interactives, new links to supporting videos, and various text corrections from our staff and contributors.
A full list of changes in this version is available on GitHub
2.6.1¶
Release date: 14th July 2016
Notable changes:
Fixed issue on Human Computer Interaction chapter where duplicate library was causing several UI elements to not behave correctly.
2.6.0¶
Release date: 16th June 2016
Notable changes:
New feature: PDF output - A downloadable PDF of both student and teacher versions is now available from the homepage. The PDF also functions well as an ebook, with functional links to headings, glossary entries, interactives, and online resources. New feature: Printer friendly webpages - When printing a page of the CSFG through a browser, the page displays in a printer friendly manner by hiding navigational panels, opening all panels, and providing extra links to online resources. New interactive: The binary cards interactive emulates the Binary Cards CS Unplugged activity, used to teach binary numbers. New interactive: The high score boxes interactive was developed to give an example of searching boxes to find a maximum value to the student. New interactive: The action menu interactive is a small dropdown menu with one option that has severe consequences, but no confirmation screen if the user selects that option (used to demonstrate a key HCI concept). Updated interactive: The trainsylvania interactive (and supporting images/files) have been given a fresh coat of colour and a new station name. Updated interactive: The trainsylvania planner is used alongside the trainsylvania interactive, and allows the user to input a path of train trips to see the resulting destination. Updated interactive: The base calculator allows a student to calculate a number, using a specific number base (binary, hexadecimal, etc). Updated interactive: The big number calculator allows a student to perform calculations with very large numbers/results. Website improvements: Redesigned homepage and footer with useful links and a splash of colour. Math equations are now line wrapped, and MathJax is loaded from a CDN. Images can now have text wrapped around them on a page. Generation improvements: Improvements to internal link creation (glossary links in particular). Separated dependency installation from generation script (see documentation for how to install and run generation script). Project improvements: Added documentation for contributing to and developing this project, including a code of conduct.
A full list of changes in this version is available on GitHub
2.5.0¶
Release date: 13th May 2016
Notable changes:
The Data Representation chapter has been rewritten and reorganised to be easier to follow, and three NCEA assessment guides have been written for students aiming for merit/excellence:
The chapter and assessment guides have been rewritten to take account of new feedback from the marking process and our own observations of student work.
As part of the rewrite of the Data Representation chapter, the following interactives were developed:
New interactive: The unicode binary displays the binary for a given character (or character by decimal number) dynamically with different encodings.
New interactive: The unicode character displays the character for a given decimal value.
New interactive: The unicode length displays the length (in bits) of text encoded using different encodings.
Updated interactive: The colour matcher has been redesigned to display values in binary, plus allow students to see and edit the bit values. The interface has also been restructured for readability and ease of use.
The old version of the Data Representation chapter can be found here
Website improvements: A new image previewer was implemented, along with bugfixes to iFrame and panel rendering.
Generation improvements: The Markdown parser has been replaced due to existing parsing issues. The new parser also gives us a large performance boost. A text box tag has also been added to highlight important text.
A full list of changes in this version is available on GitHub
2.4.1¶
Release date: 29th April 2016
Notable changes:
Fixed version numbering system to allow hotfix changes
A full list of changes in this version is available on GitHub
2.4¶
Release date: 29th April 2016
Notable changes:
Large number of typo, grammar, link, and math syntax fixes and also content corrections by contributors.
New interactive: Added GTIN-13 checksum calculator interactive for calculating the last digit for a GTIN-13 barcode.
Updated interactive: The regular expression search interactive has been updated and added to the repository.
Updated interactive: The image bit comparer interactive has been updated and added to the repository. It also has a changing bits mode which allows the user to modify the number of bits for storing each colour.
Added XKCD mouseover text (similar behaviour to website).
Added feedback modal to allow developers to directly post issues to GitHub.
Added encoding for HTML entities to stop certain characters not appearing correctly in browsers.
Added summary of output at end of generation script.
Added message for developers to contribute in the web console.
A full list of changes in this version is available on GitHub
2.3¶
Release date: 10th March 2016
Notable changes:
Readability improvements to text within many chapters (grammer issues/typos) and to the Python scripts within the Algorithms chapter.
Updated interactive: The RSA encryption and decryption interactives within Encryption have been updated and added to the repository.
Updated interactive: The searching algorithms interactive within Algorithms have been updated and added to the repository.
Updated interactive: The word filter interactive within Formal Languages have been updated and added to the repository.
Updated interactives: Both the MIPS assembler and MIPS simulator were made open source by the original author, and we were given permission to incorporate our repository, and have been added to Programming Languages.
A list of all interactives are now available on the interactives page
A full list of changes in this version is available on GitHub
2.2¶
Release date: 19th February 2016
Notable changes:
New interactive: Parity trick with separate modes for practicing setting parity, practicing detecting parity, and the whole trick. Also has a sandbox mode.
Updated interactives: Two colour mixers, one for RGB and one for CMY have been added.
Updated interactive: A colour matcher interactive has been added for matching a colour in both 24 bit and 8 bit.
Updated interactive: A python interpreter interactive has been added for the programming languages chapter.
Website improvements: Code blocks now have syntax highlighting when a language is specified, dropdown arrows are fixed in Mozilla Firefox browsers, and whole page interactives now have nicer link buttons.
A full list of changes in this version is available on GitHub
2.1¶
Release date: 12th February 2016
Notable changes:
Fixed many broken links and typos from 2.0.0
Added calculator interactives to Introduction
Added RSA key generator to Encryption
Rewritten Braille Section in Data Representation
A full list of changes in this version is available on GitHub
2.0¶
Release date: 5th February 2016
Notable changes:
First open source release
Produces both student and teacher versions
Produces landing page for selecting language
Added new NCEA curriculum guides on Encryption and Human Computer Interaction
A full list of changes in this version is available on GitHub
Comments:
The first major step in releasing a open source version of the Computer Science Field Guide. While some content (most notably interactives) have yet to be added to the new system, we are releasing this update for New Zealand teachers to use at the beginning of their academic year. For any interactives that are missing, links are in place to the older interactives.
2.0-alpha.3¶
Release date: 29th January 2016
2.0-alpha.2¶
Release date: 25th January 2016
2.0-alpha.1¶
Release date: 2nd December 2015
Comments: Released at CS4HS 2015.
1.?.?¶
Release date: 3rd February 2015
Comments:
The last version of the CSFG before the open source version was adopted.