Skip to content
This repository has been archived by the owner on Dec 13, 2022. It is now read-only.

Releases: mostafa/grest

Latest stable release

03 Jul 21:09
Compare
Choose a tag to compare

This minor releases fixes some issues:

  1. Update all dependencies to their latest versions
  2. Remove unnecessary directories from setuptools
  3. Fix type annotation to pass mypy checks
  4. 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

08 Mar 20:28
Compare
Choose a tag to compare

This release includes some changes:

  1. Travis-CI is replaced with GitHub Actions.
  2. PyPy-3 is removed from tests.
  3. Type annotations are added to the library.
  4. mypy and flake8 actions are added for type and syntax checking.
  5. All the dependencies are latest releases, except webargs v7.x.
  6. Removed unused imports.
  7. Sorted imports
  8. Removed shenanigans related to __version__ handling.
  9. 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

14 Nov 15:29
Compare
Choose a tag to compare

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

13 Jan 16:05
Compare
Choose a tag to compare

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

17 May 22:23
Compare
Choose a tag to compare

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:

  1. The cookie-cutter template directory is now included in the package.
  2. 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

09 Feb 03:43
Compare
Choose a tag to compare
  1. Updated dependencies to their latest version.
  2. Updated the project (example, tests and requirements) to reflect the new changes in neomodel library: Node Class Registry.
  3. Added grest command-line utility to generate a skeleton for a gREST project (actually introduced in v1.2.0).
    Archived

v1.2.0

09 Feb 03:35
7dd6940
Compare
Choose a tag to compare
  1. Added grest command-line utility.
  2. Updated dependencies.
    Archived

v1.1.0

29 Jan 15:34
Compare
Choose a tag to compare

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:

  1. Updated (almost) all dependencies to their latest version, except neomodel due to this issue.
    NOTE: The issue with neomodel is almost resolved, but it needs work.
  2. 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.
  3. Added simplejson as explicit dependency with (unneeded) monkey-patching, for Flask to use simplejson instead of the internal json library, because there is API inconsistencies between Python 2.7 and 3.7. (marshmallow-code/webargs#360)
  4. Refactored to_dict method and made it more efficient and readable.
  5. Added minor tests.
    Archived

v1.0.1

01 Nov 17:26
Compare
Choose a tag to compare

Changelog:

  1. added MANIFEST.in to include non-code files.
  2. added parsing of requirements.txt to keep the dependencies in sync.
    Archived

v1.0.0

28 Oct 08:50
Compare
Choose a tag to compare

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:

  1. Completely refactored and optimized grest.py code and separated all the http verbs into their respective files.
  2. Added functions docs.
  3. Removed unnecessary imports.
  4. Moved input validation functions to utils.py.
  5. Reordered imports and extracted static messages.
  6. Fixed absolute import issue of python 2.
  7. __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).
  8. validate_model now return a tuple of (primary, secondary) classes, thus fixed in all previously refactored pieces of code.
  9. Added get_all and relation_exists helper methods to models helper classes.
  10. Updated packages (dependencies) to latest versions, except neomodel which is incompatible with inheritance (that is used heavily in gREST).
  11. Migrated docstrings to grest top level methods (verbs).
  12. Updated tests to reflect new changes in grest.py (messages and error codes).
  13. Fixed travis-ci configuration which previously led to build and test failures.
    Archived