Skip to content

Latest commit

 

History

History
424 lines (314 loc) · 19.3 KB

File metadata and controls

424 lines (314 loc) · 19.3 KB

0.6.4

What's Changed

  • Bump actions/setup-python from 4 to 5 by @dependabot in #165
  • Bump types-ujson from 5.8.0.1 to 5.9.0.0 by @dependabot in #164
  • Bump uvicorn[standard] from 0.23.2 to 0.25.0 by @dependabot in #163
  • Bump ruff from 0.1.7 to 0.1.9 by @dependabot in #162
  • Async application context by @eadwinCode in #167

Full Changelog: https://github.com/python-ellar/ellar/compare/0.6.2...0.6.4

0.6.2

What's Changed

  • Files System And File Mounting by @eadwinCode in #147
  • 100% test coverage by @eadwinCode in #158
  • App stack build on lifespan by @eadwinCode in #159
  • Added support for Swagger Doc dark theme.

0.6.0

What's Changed

  • Feat(LazyModuleImport): New feature by @eadwinCode in #155
  • Feat - Lazy Loading ApplicationModule by @eadwinCode in #156
  • code refactoring by @eadwinCode in #157

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.8...0.6.0

0.5.8

What's Changed

  • Bump ruff from 0.1.4 to 0.1.6 by @dependabot in #152
  • Bump types-redis from 4.6.0.8 to 4.6.0.11 by @dependabot in #153
  • Bump black from 23.10.1 to 23.11.0 by @dependabot in #151
  • Bump aiohttp from 3.8.5 to 3.9.1 by @dependabot in #150
  • Pydantic v2 migration by @eadwinCode in #148

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.7...0.5.8

0.5.7

What's Changed

  • Test coverage fix by @eadwinCode in #144
  • Feat: Lazy Object by @eadwinCode in #146

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.6...0.5.7

0.5.6

What's Changed

  • fixed file data as bytes by @eadwinCode in #143

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.5...0.5.6

0.5.5

What's Changed

  • fix file and form schema route function by @eadwinCode in #142

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.4...0.5.5

0.5.4

What's Changed

  • Route Function Parameter Aliasing Bug Fix by @eadwinCode in #140
  • file upload openapi doc fix by @eadwinCode in #141

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.3...0.5.4

0.5.3

What's Changed

  • Fixed Auth And Core pkg Dependency by @eadwinCode in #139

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.2...0.5.3

0.5.2

What's Changed

  • Bump ruff from 0.0.275 to 0.1.3 by @dependabot in #135
  • Bump black from 23.9.1 to 23.10.1 by @dependabot in #136
  • Bump types-redis from 4.6.0.5 to 4.6.0.8 by @dependabot in #133
  • Bump mypy from 1.5.1 to 1.6.1 by @dependabot in #134
  • Authentication Docs by @eadwinCode in #137

Breaking Changes

  • OpenAPI module Refactor by @eadwinCode in #138

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.1...0.5.2

0.5.1

What's Changed

  • Fix grammar error in dynamic-modules.md by @artemyfmv in #132
  • Exception Docs Update by @eadwinCode in #131
  • Bump black from 22.12.0 to 23.9.1 by @dependabot in #129
  • Bump aiohttp from 3.8.4 to 3.8.5 by @dependabot in #113

New Contributors

  • @artemyfmv made their first contribution in #132

Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.0...0.5.1

0.5.0

What's Changed

  • Bump uvicorn[standard] from 0.22.0 to 0.23.2 by @dependabot in #128
  • Bump types-ujson from 5.8.0.0 to 5.8.0.1 by @dependabot in #127
  • Bump actions/checkout from 3 to 4 by @dependabot in #126
  • Route handlers dependencies type annotation support by @eadwinCode in #130

Full Changelog: https://github.com/python-ellar/ellar/compare/0.4.9...0.5.0

0.4.9

What's Changed

  • fixed 400 error parsing body on windows by @eadwinCode in #125

Full Changelog: https://github.com/python-ellar/ellar/compare/0.4.8...0.4.9

0.4.7

What's Changed

  • Libraries Bump up by @eadwinCode in #122

Full Changelog: https://github.com/python-ellar/ellar/compare/0.4.6...0.4.7

0.4.6

What's Changed

  • drop python 3.7 by @eadwinCode in #118
  • Added scope to provider config by @eadwinCode in #121

Full Changelog: https://github.com/python-ellar/ellar/compare/0.4.5...0.4.6

0.4.5

What's Changed

  • Added auth example by @eadwinCode in #116
  • MyPy Liniting Fix And Embedded Body by @eadwinCode in #117
  • Moved authorization guard to interceptor by @eadwinCode in #117

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.4.4...0.4.5

0.4.4

What's Changed

  • Documentation update by @eadwinCode in #102
  • OPENAPI Refactor by @eadwinCode in #103
  • Bump starlette from 0.27.0 to 0.28.0 by @dependabot in #105
  • Expanding Sessions by @eadwinCode in #109
  • Authentication and Authorization by @eadwinCode in #104
  • Bump types-ujson from 5.7.0.5 to 5.8.0.0 by @dependabot in #107
  • Ruff linting and mypy upgrade by @eadwinCode in #115
  • Linting, MyPy Upgrade and Example fixes by @eadwinCode in #111

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.4.2...0.4.4

0.4.2

What's Changed

  • Bump starlette from 0.26.1 to 0.27.0 by @dependabot in #97
  • Update typer requirement from <0.8.0,>=0.6.1 to >=0.6.1,<0.10.0 by @dependabot in #96
  • Bump uvicorn[standard] from 0.20.0 to 0.22.0 by @dependabot in #95
  • Bump codecov/codecov-action from 3.1.3 to 3.1.4 by @dependabot in #94
  • Config with prefix by @eadwinCode in #99
  • Extended Lifespan to Module classes by @eadwinCode in #100
  • Ellar Documentation Redesign by @eadwinCode in https://github.com/eadwinCode/ellar/pull/100/commits/7b5d60b149b6ad786b6bf682278e6d7fac83fd8e
  • Fixed register_services not calling in modules by @eadwinCode in #101

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.4.0...0.4.2

0.4.0

What's Changed

  • [BREAKING] Renamed Guards decorator to UseGuards decorator by @eadwinCode in #93

New Features

  • Background Task Feature by @eadwinCode in #91 You can inject BackgroundTasks instance to you route handler
async def send_welcome_email(email):
    print(f'Send Welcome Email Task Called with "{email}"')

@router.post('/signup')
def sign_up(username: str, password: str, email: str, tasks: BackgroundTasks):
    tasks.add_task(send_welcome_email, email=email)

    return {'status': 'Signup successful'}
  • EllarInterceptors by @eadwinCode in #92 Use of interceptors to add more custom implementation to your route handlers and controller as define by Aspect Oriented Programming (AOP) technique
@injectable
class ResponseModifierInterceptor(EllarInterceptor):
    async def intercept(
        self, context: IExecutionContext, next_interceptor: t.Callable[..., t.Coroutine]
    ) -> t.Any:
        data = await next_interceptor()
        if data:
            data.update(ResponseModifierInterceptor="ResponseModifierInterceptor modified returned resulted")
        return data
        
@Controller("")
class InterceptorControllerTest(ControllerBase):
    @UseInterceptors(ResponseModifierInterceptor)
    @get("/interceptor-1")
    async def interceptor_1(self):
        return {"message": "intercepted okay"}

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.8...0.4.0

0.3.8

What's Changed

  • Socket IO integration and Websocket documentation by @eadwinCode in #82
  • Bump codecov/codecov-action from 3.1.1 to 3.1.3 by @dependabot in #83
  • Update email-validator requirement from <2.0.0,>=1.1.1 to >=1.1.1,<3.0.0 by @dependabot in #84
  • Update mkdocs-material requirement from <9.0.0,>=7.1.9 to >=7.1.9,<10.0.0 by @dependabot in #86
  • Bump types-ujson from 5.7.0.1 to 5.7.0.5 by @dependabot in #88
  • ellar package dependency refactor by @eadwinCode in #89
  • 0.3.8 by @eadwinCode in #90
  • Breaking: any missing import from ellar.core can be found in ellar.common

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.6...0.3.8

0.3.6

What's Changed

  • Added doc on rate limiting by @eadwinCode in #74
  • Guard Documentation by @eadwinCode in #64
  • Dynamic Setup Fix by @eadwinCode in #75
  • Versioning Documentation by @eadwinCode in #79
  • Update python-multipart requirement from <0.0.6,>=0.0.5 to >=0.0.5,<0.0.7 by @dependabot in #66
  • Bump types-ujson from 5.7.0.0 to 5.7.0.1 by @dependabot in #68
  • Testing Documentation by @eadwinCode in #80
  • Starlette Upgrade by @eadwinCode in #81

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.4...0.3.6

0.3.4

What's Changed

  • Caching Featuring by @eadwinCode in #65
  • Cache attributes update by @eadwinCode in #71
  • Module Setup Feature by @eadwinCode in #73

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.2...0.3.4

0.3.2

What's Changed

  • fix itsdangerous bug in session middleware by @eadwinCode in #63

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.0...0.3.2

0.3.0

What's Changed

  • Bump black from 22.8.0 to 22.12.0 by @dependabot in #50
  • Bump types-ujson from 0.1.1 to 5.6.0.0 by @dependabot in #49
  • Update typer requirement from <0.7.0,>=0.6.1 to >=0.6.1,<0.8.0 by @dependabot in #40
  • Removed ASGI args from contextvar by @eadwinCode in #53
  • Document updates Jan 2023 by @eadwinCode in #54
  • Injectable Class should be resolved at runtime without errors by @eadwinCode in #60
  • More Doc Updates by @eadwinCode in #55
  • Guards Refactor by @eadwinCode in #59
  • restored commented tests by @eadwinCode in #61
  • Bump starlette from 0.21.0 to 0.23.1 by @dependabot in #48
  • Bump types-ujson from 5.6.0.0 to 5.7.0.0 by @dependabot in #58
  • Bump types-dataclasses from 0.1.7 to 0.6.6 by @dependabot in #57
  • Update flake8 requirement from <4.0.0,>=3.8.3 to >=3.8.3,<7.0.0 by @dependabot in #56

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.8...0.3.0

0.2.8

What's Changed

  • Separated IHostContext from IExecutionContext and added factory class that manages their creation by @eadwinCode in #51
  • Made Guards classes Injectable by @eadwinCode in #52
  • Switched from thread.local to ContextVar to manage request_scopes properly by @eadwinCode in #52
  • Added Documentation for ExecutionContext.
  • Increased test coverage.

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.6...0.2.8

0.2.6

What's Changed

  • Documentation Updates by @eadwinCode in #43
  • Reverted building routes from a single list to a list of routers with a well-managed route not found cross routes @eadwinCode in #43
  • Python 3.11 Support by @eadwinCode in #44
  • Changed ASCII drawing to the image by @eadwinCode in #45
  • Added an IExceptionHandler contract for defining custom exception handler by @eadwinCode in #46. Doc
  • Dropped use for BaseHTTPMiddleware from Starlette and added a FunctionBasedMiddleware by @eadwinCode in #47
  • Added file decorator for FileResponseModel and StreamingResponseModel by @eadwinCode in #47
import asyncio
from ellar.common import ModuleRouter, file

async def slow_numbers(minimum: int, maximum: int):
    yield ("<html><body><ul>")
    for number in range(minimum, maximum + 1):
        yield "<li>%d</li>" % number
        await asyncio.sleep(0.01)
    yield ("</ul></body></html>")

router = ModuleRouter('/file')

@router.get()
@file(media_type='text/html')
def file_download():
    return {'path': 'path/to/file.html', 'filename': 'code.html', 'content_disposition_type': 'attachment'}

@router.get('/stream')
@file(media_type='text/html', streaming=True)
def file_stream():
    return slow_numbers(1, 4)

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.4...0.2.6

0.2.4

What's Changed

  • Update mkdocs-material requirement from <8.0.0,>=7.1.9 to >=7.1.9,<9.0.0 by @dependabot in #37
  • Update pytest-cov requirement from <4.0.0,>=2.12.0 to >=2.12.0,<5.0.0 by @dependabot in #35
  • Pydependencies upgrade by @eadwinCode in #32
  • Bump types-orjson from 3.6.0 to 3.6.2 by @dependabot in #34
  • Made CLI tool an optional requirement by @eadwinCode in #38

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.2...0.2.4

0.2.2

What's Changed

  • update readme by @areski in #30
  • Cli help command fix by @eadwinCode in #31

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.0...0.2.2

0.2.0

What's Changed

  • Project dependency fix by @eadwinCode in #29
  • Python 3.6 support ends here

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.1.8...0.2.0

0.1.8

What's Changed

  • starlette dependencies fix by @eadwinCode in #28

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.1.6...0.1.8

0.1.6

What's Changed

  • package stats update by @eadwinCode in #17
  • fixed static package type by @eadwinCode in #18
  • Doc Preparation by @eadwinCode in #19
  • Moved Configuration From File To Class Based by @eadwinCode in #21
  • Bump codecov/codecov-action from 3.1.0 to 3.1.1 by @dependabot in #25
  • CLI Commands And Basic Project Scaffolding by @eadwinCode in #20
  • Quick-Start Doc by @eadwinCode in #27

CLI Commands

To scaffold ellar project

ellar create-project `project-name`

To scaffold ellar app

ellar create-module `app-name`

To start application server

ellar runserver

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.1.4...0.1.6

0.1.4

What's Changed

  • Bump actions/setup-python from 3 to 4 by @dependabot in #8
  • Starlette Class Renames by @eadwinCode in #9
  • Common Package Testing by @eadwinCode in #10
  • Constant Value All Caps by @eadwinCode in #11
  • Openapi Module Test by @eadwinCode in #12
  • Guard Module Testing by @eadwinCode in #13
  • Configuration Module Test by @eadwinCode in #14
  • App Test by @eadwinCode in #15
  • AppFactory and TestClientFactory Test by @eadwinCode in #16

Full Changelog: https://github.com/eadwinCode/ellar/compare/0.1.2...0.1.4

Version 0.1.2

What's Changed

  • Refactored route operation functions @eadwinCode in #7

Version 0.1.0

First Release

  • Pydantic integration
  • DI Container
  • Templating with Jinja2
  • OpenAPI Documentation (Swagger and ReDoc)
  • Controller (MVC)
  • Guards (Authentications, roles and permissions)
  • Modularization (eg: flask blueprint)
  • Websocket support
  • Session and Cookie support
  • CORS, GZip, Static Files, Streaming responses
  • Test client built on requests
  • In-process background tasks.
  • Startup and shutdown events.
  • Application Events

New Contributors

  • @eadwinCode made their first contribution in #6