All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Sentimental Versioning.
2.2.b2 - 2019-04-27
- Added a accept(*) to the upload drivers
- Added a lot more view helpers
- Added better test case for database tests
- Changed Craft serve command now reloads by default. You can still pass in the -r flag but it is not required. You can also disable reloading by using craft serve -d for --dont-reload
- Changed all pytest tests to unittests
2.1.27 - 2019-04-27
2.1.26 - 2019-03-31
- Fixed issue where channel was not reopening after closing for AMQP driver
2.1.25 - 2019-03-31
- Fixed issue where the amqp driver was not closing connections and channels after use
2.1.24 - 2019-03-31
- Fixed issue where queue jobs would fail because of a Unicode character (the checkmark) being printed out which would cause the job to fail. Now the command will print out a [Y] character if it cannot print out of a check mark.
2.1.23 - 2019-03-24
- Command command now appends
Command
to the end of the class name - Exception is now thrown when a route name is not found using the
route
method on the request class
- Fixed deprecation warnings with regex strings in tests
2.1.22 - 2019-03-17
- Fixed Auth command not adding route names
- Fixed issue with compact command not working with multiple None types
- Fixed issue Japanese characters not returning correct content length
2.1.21 - 2019-03-14
2.1.20 - 2019-03-09
- Fixed issue with comments on resource controller being flipped.
- Fixed issue with misspelling of logger
2.1.19 - 2019-03-05
- Fixed issue with
.
template splices not working
2.1.18 - 2019-03-04
- Added a
--connection
option to themodel:doctring
command to use other connections
- Fixed issue with csrf not being able to correctly detect csrf wildcard routes.
2.1.17 - 2019-02-24
- Added
-m
and-s
to the model command to create a migration or a seed - Added ability to use dot notation to get a dictionary value
- Added google and stack overflow links to the top of the exception page
- Added optional helper
- Fixed issue with not being able to set 404 status codes
2.1.16 - 2019-02-11
- Fixed issue with setting status codes on json responses
- Fixed issue with specifying exempt CSRF protection routes that contained route parameters
2.1.15 - 2019-02-10
- Added ability to specify a list as the second parameter to routes instead of a dictionary
- Added ability to return a model which then returns a JSON response
- Added ability to show when you have unmigrated migrations
- Added improvements to the queue feature
- Added ability to pass in default as the driver method to get the default driver.
2.1.14 - 2019-02-01
- Fixed issue with login authentication
2.1.13 - 2019-01-26
- Fixed issue where a JSON null value could raise an exception 71d9016
- Fixed issue where a body type of 0 would throw an exception with the delete method type 9659363
- Fixed issue where status code could not be set in a controller 5ede5d8
- Added a better exception when passing in a set instead of a dictionary to the render method. This is a common mistake that would throw an ambiguous error
- Added route redirection
2.1.12 - 2019-01-19
- Fixed issue where incoming JSON response would only return the first value in a list.
2.1.11 - 2019-01-18
- Fixed issue when cleaning a multi dimensional dictionary
2.1.10 - 2019-01-11
- Removed ability to set the password column using password
2.1.9 - 2019-01-11
- Fixed issue with auth requiring a password attribute when it should not have been.
2.1.8 - 2019-01-10
- Fixed issue with whitenoise not auto refreshing static files
2.1.7 - 2019-01-10
- Fixed issue with storage folder not updating for static assets
2.1.6 - 2019-01-09
- Added config helper #517
- Added ability to use
in
keyword for the container #520 - Added ability to use multiple columns to authenticate #521
- Added ability to specify the user password column #521
2.1.5 - 2019-01-03
- Fixed issue with LoginController not working properly because of incorrectly specified input
- Fixed issue with view render method storing variables from previous renders
- Fixed issue with s3 not working properly when using both location and filename
- Fixed issue with Amazon S3 storing all files in root directory
- Changed how S3 temporarily stores file uploads
- Changed where the exception is thrown in the s3 driver to prevent a temporary file being saved before uploading if the driver is not installed.
- Added the ability for disk driver to create directories if they do not exist
2.1.4 - 2018-12-30
- Fixed issue where uploading a file resulted in None being returned.
2.1.3 - 2018-12-22
- Fixed possibility of an XSS attack through query strings
- Fixed possibility of uploading arbitrary files by default
- Fixed issue where a 400 response was returning a 200 status code
2.1.2 - 2018-12-16
- Added queue drivers so any objects can be queued
- Added ShouldQueue class
- Added new redirection method options
- Fixed issue with deeper module controllers
- Fixed issue when returning integer from a view
- Fixed container error warning
2.1.1 - 2018-12-04
- Fixed issue with header redirection
2.1.0 - 2018-12-01
- Added middleware classes instead of strings.
- Added migrate:status command
- Added a simple container binding
- Added Mail Helper
- Added status code mapping and
request.status(int)
features - Added several methods to the service provider class to helper bind things into the container
- Added view Routes
- Added request.without() method
- Added port to database dictionary
- Added way to set an integer as a status code
- Added a way to set headers with a dictionary
- Added basic testing framework
- Added Match routes for multiple route methods
- Added Masonite events into core
- Added email verification
- Added request.without
- Added craft middleware command
- Added Headers can be added via a dictionary
- Added views can now use dot notation
- Added swap to container
- Added masonite env function for cast conversions
- Added ability to resolve with normal parameters like
.resolve(obj, var1, var2)
- Added password reset to auth command
- Added Response Middleware and removed the StartResponse provider
- Added better pep 8 standards
- Added code of conduct
- Added test for file system helpers
- Added Masonite events to core
- Added Response object
- Removed the arbitrary
payload
input when fetching a json response 308b3b1 - Removed container Resolving - #255
- Removed the need for the |safe filters on Masonite template helpers
- Removed patch from serve command
- Fixed param method not working with custom route compilers
- Fixed issue when removing mailprovider from the optional providers section
- Changed
Auth
class into theauth
directory and removed the facades directory. - Changed cache_exists to cache
- Changed Request redirections now set status codes
- Changed and refactored commands to inherit from scaffolding based classes
- Changed built in templates to bootstrap 4
- Changed all scaffolding commands to use view templates now
- Changed routes to work without adding a slash at the end
- Changed all dependencies to the most up to date versions
2.0.36 - 2018-11-16
- Added the
-b
,-p
and-i
options to the serve command for bind, port and interval.
- Fixed issue where the server would crash when there was a syntax error.
- Changed the developer server completely and replaced waitress with a different pure python development server.
2.0.35 - 2018-11-10
- Added upload driver's abilities to accept an open file as a file item.
2.0.34 - 2018-11-09
- Fixed dependencies being fixed to a specific version number
2.0.33 - 2018-11-01
- Fixed issue with mail templates throwing
'function' object has no attribute 'render
2.0.32 - 2018-10-31
- Added Redis cache driver
- Added
dd()
and custom exception handlers - Added ability to add jinja2 extensions
2.0.31 - 2018-10-31
- Security fix because of the
requests
package
2.0.30 - 2018-10-16
- Fixed issue where
amqp
driver was not reconnecting automatically if the connection was lost
2.0.29 - 2018-10-08
- Fixed
amqp
driver connection credentials when connecting to remote servers
2.0.28 - 2018-10-08
- Fixed
amqp
driver not requiring a port
2.0.27 - 2018-10-08
- Fixed
amqp
driver not accepting a vhost
2.0.26 - 2018-10-08
2.0.25 - 2018-10-07
- Added 2 new mail drivers:
terminal
andlog
- Added
amqp
queue driver andqueue:work
command - Added
model:docstring
command
2.0.24 - 2018-09-30
- Added ability to "make" a class from the container
- Added a way to make a full route
2.0.23 - 2018-09-16
- Fixed Issue where url parameters were not resetting at the end of each request and being carried over when the second route does not have any URL parameters.
2.0.22 - 2018-09-13
- Fixed Issue where multiple select inputs were not fetching all values and also made it so it will fetch via dot notation
2.0.21 - 2018-09-13
- Fixed Issue where Masonite was not overriding environment variables that were already set
2.0.20 - 2018-09-09
-
Contracts to managers
-
Better exception handling for invalid secret keys
-
Python 3.7 to travis.yml file
-
SSL option in config
-
View tests
- Made the view class more modular
2.0.19 - 2018-09-01
- Fixed Issue where the reset migration command was not throwing
QueryExceptions
.
2.0.18 - 2018-08-30
- Fixed Issue where route groups were overriding middleware
2.0.17 - 2018-08-27
- Fixed Issue where the autoloader was loading more directories than it was suppose to
2.0.16 - 2018-08-22
- Added docstrings to nearly all classes
- Added container hooks
- Added strict and override options to the container
- Added a validator command
- Added middleware groups
- Added change log
- Added route compilers
2.0.15 - 2018-08-12
- Fixed an issue where the craft info command was calling the masonite-cli command prematurely.
2.0.14 - 2018-08-08
- Added casting for validations and added a validation helper
- Added ability to set a dictionary in the session and be able to automatically JSON encode and decode.
- Fixed cryptography dependency
- Fixed issue where URL endpoints could not have - or . in them.
2.0.13 - 2018-07-28
- Fixed seed files not being able to import user models
- Fixed models not being able to be created in deeper directories
2.0.12 - 2018-07-19
- Fixed exception thrown when a route inside a group route did not have a name but the route did
2.0.11 - 2018-07-14
- Made a hot fix for the .env file not being found on some systems
2.0.10 - 2018-07-10
- Added back method to request class
- Added ability to add custom filters
- Added better route groups
2.0.9 - 2018-07-06
- Added a possible default value to the request input
- Added a way to do multiple values in the request.has() method
- Added request route #203
- Added a pop method to request to remove inputs
- Added a url_from_controller method to request
- Added a contain method to request to request
- Added a is named route method to request
2.0.8 - 2018-06-26
- Added craft info command
- Added the ability to add environments to the container and View Class
- Moved the route middleware to the top of the container so it can be appended onto by packages.
- Fixed what errors the status code provider is executed on (500 and 404)
2.0.7 - 2018-06-24
- Added warning message to craft serve command if applications are not correctly patched for 2.0
2.0.6 - 2018-06-22
- Fixed windows throwing bad exceptions in the exception view
2.0.5 - 2018-06-22
- Added better exception handling for Masonite encrypted key signing
2.0.4 - 2018-06-16
- Fixed circular cleo version.
2.0.3 - 2018-06-16
- Fixed controller constructors not being resolved by the container
2.0.2 - 2018-06-15
- Bumped requests version
2.0.1 - 2018-06-14
- Added Tinker Command #116
- Added Show Routes Command #117
- Added Automatic Code Reloading to Serve Command #119
- Added autoloading support #146
- Adds a new get_request_method method to request class
- Adds a new parameter to the all() method to get all the inputs without the framework internals
- Added Masontite Scheduler
- Added Database Seeding Support #168
- Added static file helper #167
- Added Password helper
- Added dot notation to upload drivers
- Added Status Code provider and support #165
- Added support for making location dictionaries to upload drivers
- Adds better .env environment support #172
- Added activate subdomain #173
- Added class based drivers
- Added collect method the he autoload class and changes the return type of instance and collect as well as added an instantiate to the load method #178
- Controller constructors are resolved by the container
- Updated all dependencies to latest version.
- Providers now need to be imported into a provider.py file and removed from the application.py file. #177
- Renamed Request.redirectTo to Request.redirect_to #152
- Changed the csrf middleware accordingly.
- Removed all duplicated import class names
- Removed need for providers list to also have duplicated class names
- Removed redirection provider completely
- Removed database specific dependencies
- Need documentation for the new Request.only() method.