Releases: mostafa/grest
Latest stable release
This minor releases fixes some issues:
- Update all dependencies to their latest versions
- Remove unnecessary directories from setuptools
- Fix type annotation to pass mypy checks
- Fix shebang in grest command for fixing venv issues (reported by @whatSocks #330)
Along with this release, all previous versions of pygrest are yanked on pypi.org. So, please upgrade to the latest version if you still want to use this package.
v2.2.0
This release includes some changes:
- Travis-CI is replaced with GitHub Actions.
- PyPy-3 is removed from tests.
- Type annotations are added to the library.
mypy
andflake8
actions are added for type and syntax checking.- All the dependencies are latest releases, except webargs v7.x.
- Removed unused imports.
- Sorted imports
- Removed shenanigans related to
__version__
handling. - Fix many bugs and refactor parts of the code.
I'll try to work more on it, when I find some time.
Archived
v2.1.0
It's been long since I released any version and I had my reasons. Now, I've fixed some issues with new libraries like webargs 6
and the like and also removed some legacy code. Most of the changes are from the lovely pyup.io bot that checks dependencies and sends PRs to update them. Some of them are security fixes suggested by the meticulous snyk.io bot. Many dependencies are updated, where you can read more about them here.
Upon update of webargs
, the location of the data for validation is no longer optional, so I updated gREST to reflect the breaking changes in that library. Also I've updated a failing test that was caused by the new default behavior of marshmallow
library for dealing with unknown fields. It used to include those fields before, but now it raises exception, which forced me to include the secret_field
in the extended app inside the validation rules.
Also I've upgraded the patch version of Neo4j to the latest (3.5.24). I've tested gREST against Neo4j 4.1.4 and it worked perfectly, but I couldn't update Travis-CI config to add tests for both 3.5 and 4.1 versions of Neo4j, which is fine. So, if you want to use the Neo4j 4.1, just go for it! 🥳
This release has breaking changes, due to the upgrade of webargs
5 to 6, so make sure to read this guide to know how to fix issues you might face while upgrading.
Archived
Latest release supporting only Python 3.x and webargs 5
It's been long since I have released a version. Since the official support for Python 2.x has ended, I had plans to remove support for it, too. I have made a bunch of commits to make this happen and this version bump from 1.4.0 to 2.0.0 happened because of that. So, If I find enough time, I would contribute more. From start of the project, I tried to make use of bots to automate updating of Python package dependencies and that helped me update requirements.txt
to be up-to-date with all the security- and bug-fixes.
You can view the commits from version 1.4.0 up to current version (2.0.0).
This release uses webargs
version 5, and the next release uses version 6, so read this guide in case the v2.1.0 upgrade breaks your software.
Archived
Latest stable release supporting Python 2 and 3
This is the latest version that supports Python 2.7 and 3.x.
It's been a while since I've released a version. After all this time and minor updates to dependency and version bumping, I felt the need to release a new version to include all the changes throughout.
Change log:
- The cookie-cutter template directory is now included in the package.
- These library has been updated to their latest versions:
- Autologging==1.3.2
- Flask==1.0.3
- MarkupSafe==1.1.1
- pytest==4.5.0
- pytest-flask==0.15.0
- requests==2.22.0
- setuptools==41.0.1
- webargs==5.3.1
- Werkzeug==0.15.4
- PyYAML==5.1
Archived
v1.3.0
- Updated dependencies to their latest version.
- Updated the project (example, tests and requirements) to reflect the new changes in
neomodel
library:Node Class Registry
. - Added
grest
command-line utility to generate a skeleton for agREST
project (actually introduced in v1.2.0).
Archived
v1.2.0
v1.1.0
It has been long since I released the previous version, so I thought it would be necessary to release a new update. This version mostly contains bugfixes, updates and improvements.
Change log:
- Updated (almost) all dependencies to their latest version, except
neomodel
due to this issue.
NOTE: The issue withneomodel
is almost resolved, but it needs work. - Added delete all feature (#12) and a global config variable to enable/disable it (ENABLE_DELETE_ALL) and added tests to ensure it works as expected.
- Added
simplejson
as explicit dependency with (unneeded) monkey-patching, for Flask to usesimplejson
instead of the internaljson
library, because there is API inconsistencies between Python 2.7 and 3.7. (marshmallow-code/webargs#360) - Refactored
to_dict
method and made it more efficient and readable. - Added minor tests.
Archived
v1.0.1
v1.0.0
The gREST is stable now and has been heavily refactored to make it optimized and fast enough for production environment. It has been long since I've released a new version and I hope that after adding so many changes, it is now safe to say that the version 1.0.0 would be a good starting point for other changes, resolving of issues and adding new features.
Change log:
- Completely refactored and optimized grest.py code and separated all the http verbs into their respective files.
- Added functions docs.
- Removed unnecessary imports.
- Moved input validation functions to utils.py.
- Reordered imports and extracted static messages.
- Fixed absolute import issue of python 2.
- __validation_rules__ dict should be used for manual validation and validation_rules property should be used when automatic validation is needed. (validation_rules is a class property and only available on class instances).
- validate_model now return a tuple of (primary, secondary) classes, thus fixed in all previously refactored pieces of code.
- Added get_all and relation_exists helper methods to models helper classes.
- Updated packages (dependencies) to latest versions, except neomodel which is incompatible with inheritance (that is used heavily in gREST).
- Migrated docstrings to grest top level methods (verbs).
- Updated tests to reflect new changes in grest.py (messages and error codes).
- Fixed travis-ci configuration which previously led to build and test failures.
Archived