Releases: CheeseCake87/flask-imp
2.7.7
New minimal init option
flask-imp init --minimal
:
app/
├── extensions
│ └── __init__.py
│
├── global
│ ├── static
│ │ ├── css
│ │ │ └── water.css
│ │ ├── img
│ │ │ └── flask-imp-logo.png
│ │ └── favicon.ico
│ ├── templates
│ │ └── index.html
│ └── routes.py
│
├── __init__.py
└── default.config.toml
Generates a Flask-Imp app with no blueprints.
2.7.6
New init slim app.
flask-imp init -n app --slim
app/
├── extensions
│ └── __init__.py
│
├── global
│ ├── cli
│ │ └── cli.py
│ ├── error_handlers
│ │ └── error_handlers.py
│ ├── static
│ │ └── favicon.ico
│ └── templates
│ └── errors
│ ├── 400.html
│ ├── 401.html
│ ├── 403.html
│ ├── 404.html
│ ├── 405.html
│ └── 500.html
│
├── www
│ ├── config.toml
│ ├── __init__.py
│ ├── routes
│ │ └── index.py
│ ├── static
│ │ ├── css
│ │ │ └── water.css
│ │ ├── img
│ │ │ └── flask-imp-logo.png
│ │ └── js
│ │ └── main.js
│ └── templates
│ └── www
│ ├── extends
│ │ └── main.html
│ ├── includes
│ │ ├── footer.html
│ │ └── header.html
│ └── index.html
│
├── __init__.py
└── default.config.toml
This deploys a Flask app with only one blueprint, and no models.
This release also sees a new blueprint file structure, seen above.
2.7.5
Improved CLI command project deployments.
flask-imp init
flask-imp blueprint
2.7.3
Updates to the generated config file.
2.7.2
Blueprints now have a new section to their config files, DATABASE_BIND
[DATABASE_BIND]
ENABLED = true
DIALECT = "sqlite"
DATABASE_NAME = "www"
LOCATION = ""
PORT = ""
USERNAME = ""
PASSWORD = ""
This allows each blueprint to be shipped or stored with a connection to its own database.
Changes to the way blueprints are registered in this change. The blueprints no longer try and find the imp instance, partials are created instead, then ran later to inject the imp instance.
2.7.0
from flask_imp.auth import authenticate_password
authenticate_password()
function now uses multiprocessing and threads to authenticate the users password.
Processes are set using the pepper_length value. If you are encrypting passwords with a pepper length of 3, 3 processes will
be used in a multiprocessing pool.
When attempting to guess the password that has been peppered, every combination of pepper is generated. This is now split into
batches of 1000 possible tries. These batches are then sent to a thread to be processed, making the process faster.
2.6.3
Condensed the encryption and authentication functions.
2.6.2
Doc string cleanup.
Moved auth and security to Python packages.
2.6.1
Typing bug fixed, error was only present in Python 3.8
2.6.0
Version was increased by x.1.x due to some method name changes and args requirements.
Changes to Auth class:
Cleanup of methods and their docstrings.
is_username_valid method is now stable.
generate_private_key method will auto generate a hook if none is provided.
new generate_alphanumeric_validator method, used in favour of generate_numeric_validator in the generate_email_validator method.
new _attach_pepper method, made private to be coupled more close to password encryption.
new encrypt_password method now works with pepper_position.
new authenticate_password method now works with pepper_position.
Both above had renamed args to be more explicit.
The following methods have been made legacy, but still exist:
auth_password
hash_password
sha_password
generate_pepper
generate_form_token