Skip to content

Latest commit

 

History

History
665 lines (363 loc) · 24.5 KB

CHANGELOG.md

File metadata and controls

665 lines (363 loc) · 24.5 KB

Release notes

0.10.1

New Features

  • Add Auth0AppClient, thanks to 78wesley (#589)
  • configurable toast duration (#587), thanks to @comhar

0.10.0

Breaking changes

  • The OAuth API is now simplified to only require chk_auth, and no longer uses login. chk_auth should either return False (meaning not authenticated) or a RedirectResponse. After authentication, the auth parameter will be provided to handlers, which will have the oauth ID.

New Features

  • Simplify OAuth API (#580)
  • Include session param in websockets handlers (#563), thanks to @callmephilip
  • Add path to jupy HTMX (#503)

0.9.1

New Features

  • Add oauth error_path (#570), thanks to @comhar
  • Add qp to create routes with query params (#560)
  • render_rt() function enables automatic rendering of FT components in notebook (#558)
  • In HTMX() height is now fixed if passed, and FT components can be rendered instead of paths (#557)

0.9.0

Breaking changes

  • Rename .rt method to .to (#539)

New Features

  • Support json request key parameters (#555)
  • Add fh_cfg["auto_name"] option (#548)
  • Allow generators etc as responses (#547)
  • Add experimental body_wrap attr to FastHTML (#546)
  • Auto-add headers to notebook in FastHTML (#544)
  • Allow FT components to be used directly as id and hx_target values #544)
  • Add host param to JupyUvi, defaulting to "0.0.0.0" (#543)
  • In-jupyter HTMX web apps! (#541)
  • Add HTTP verb methods to APIRouter (#538)
  • Support WebSocket type annotation in app.ws handlers (#538)

Bugs Squashed

0.8.0

Breaking changes

  • jupy_app and FastJupy removed; their functionality is now built into fast_app and FastHTML and enabled automatically in notebooks
  • RouteX and RouterX removed; use FastHTML.add_route instead

New Features

  • Add APIRouter (#535)

0.7.1

Breaking changes

  • ws_hdr and cts_hdr both removed from FastHTML and fast_app; replaced with exts, which takes a list of extension names (e.g. exts='ws')

New Features

0.6.14

New Features

  • Replace experimental Pusher with experimental setup_ws and ws_client (#522)
  • Add experimental with_sid() (#521)
  • Ensure FT children are tuples
  • Adding mermaidJS for mermaid graphs (#518), thanks to @ImtiazKhanDS

Bugs Squashed

  • Uploading a single file on a multiple file field requires try/except (#513)

0.6.13

New Features

  • Add scope param (#519)
  • Allow FastHTML.ws to be used without a function (#519)
  • Allow setting of xmlns in Svg (#519)

Bugs Squashed

  • Add missing unqid import (#519)

0.6.12

New Features

  • Add pusher() for real time DOM updates; add fh_cfg.auto_id to automatically add unique IDs (#517)
  • Support background tasks (#512)
  • Allows for passing route functions (#511), thanks to @Isaac-Flath
  • Add path arg to HTMX (#504), thanks to @Isaac-Flath

Bugs Squashed

  • Multi file upload does not work (#509)

0.6.10

New Features

  • Document usage with Jupyter (#469)

0.6.9

New Features

  • Add oauth.redir_url function (#476)

0.6.8

New Features

  • Allow for handler names with same name as an http verb, even if path not provided (#459)
  • Support explicit iframe height in Jupyter HTMX (#458), thanks to @callmephilip
  • Improve type annotations for element attributes (#453), thanks to @callmephilip
  • Make compatible w/ ddtrace (#452), thanks to @derekgliwa

0.6.7

Bugs Squashed

  • Remove IPython dep (#456)

0.6.6

New Features

  • Add def_hdrs (#446)

0.6.5

New Features

  • Jupyter compatibility (#445)
  • Redefining a route overwrites existing definition (e.g for use in notebooks) (#444)

Bugs Squashed

  • [BUG] d argument is not passed in Path function for SVGs (#437)

0.6.4

New Features

  • Pass query params to custom class annotated args (#439)

0.6.3

Bugs Squashed

  • svg.Path not passing d param (#438)

0.6.2

New Features

  • Include both m (me) and p (prev) in On and Prev handlers, and run after DOM ready (#429)

Bugs Squashed

  • proc_htmx not exported correctly (#434)

0.6.0

Breaking changes

  • date has been renamed to parsed_date

New Features

  • Handle non-list/tuple hdrs and ftrs in FastHTML() (#426)
  • Handle automatic datetime.date form field conversion (#415)

Bugs Squashed

  • Make sure only the selected radio button in a radio group is checked during form_fill (#424), thanks to @rbavery
  • All radio buttons in a radio group are checked during fill_form (#423)
  • receiving a list[str] as a parameter doesn't work with get request (#422)
  • Multipart error when submitting with empty form-data (#405)

0.5.3

New Features

  • Add FtResponse (#425)
  • Add sid_scr (#425)
  • Scope On selector to p (#414)
  • Store p=me() before On handler (#413)
  • Convert dict children in ft_htmx and ft_hx to kwargs (#412)
  • Add reload on CSS and JS file changes (#401)

Bugs Squashed

  • static_path ignored in fast_app (#410)

0.5.2

New Features

  • Greatly improved SVG support (#409)
  • Add SVG HTMX helpers: svg_sel, SvgOob, and SvgInb (#408)
  • Add Client and Nbsp (#403)
  • Add Redirect() and handle magic __response__ method (#400)
  • Add HtmxResponseHeaders (#399)
  • Add session to OAuth.chk_auth (#394)
  • Add static_routes and static_route_exts methods to FastHTML (#387)

Bugs Squashed

  • toasts do not show if response empty or tuple (#386)
  • toasts.py not updated for router refactor (#385)

0.5.1

New Features

  • Add sse_message, EventStream, and signal_shutdown (#384)

0.5.0

New Features

  • Make hdrs, ftrs, htmlkw, bodykw, etc available to RouterX and RouteX via ._app (#381)
  • Add OAuth class (#381)
    • Move redirect url into methods for oauth
  • Add options to change default static media directory (#373), thanks to @coreman14
  • Add PicoBusy() function to display loading spinner during html load (#372)
  • Add HtmxOn() to allow adding htmx event listeners more easily (#371)
  • Set toasts to only work with FT responses (#368), thanks to @pydanny
  • Routing subapp improvements (#365), thanks to @Isaac-Flath
  • Add all HTMX attrs to component signatures (#363)
  • Add markdown version of all docs (#361)
  • add easy to use chunked transfer extension header (#346), thanks to @fabge
  • Set 404 exception handling to give "404 Not Found" message (#335), thanks to @Isaac-Flath

Bugs Squashed

  • [BUG] Toasts don't show after redirect (#358)

0.4.5

New Features

  • Support for web components in html2ft (#354)
  • Support options http verb as function name (#350)

Bugs Squashed

  • railway deployment not checking deployed projects correctly (#340)
  • Socials tag only appears in head tag when added via FastHTML.hdrs (#324)

0.4.4

New Features

  • Replace __call__ with rt in handler functions (#334)
  • Add flat_tuple and use it to allow nested tuples in route responses
  • Add body parameter for decoded body
  • Move pico-specific components to separate module (#327)
  • Add "get" and "post" as default methods on routes (#317)
  • Support Reverse URL lookups by exposing url_for (#189)

0.4.3

New Features

  • Fastlite 0.0.9 dep

0.4.2

New Features

  • Rename Checkbox to CheckboxX (#314)
    • CheckboxX also adds a hidden field before the checkbox
  • Automatically choose last field in form data if list provided by non-list parameter

0.4.1

Bugs Squashed

  • post release fix for fill_form (#309)

0.4.0

Breaking changes

  • __init.py__ now only contains fasthtml.core

New Features

  • Fastcore 1.7 compatibility (#307)
  • Add fasthtml.basics for importing the main fasthtml modules

0.3.7

New Features

  • Add reload_includes and reload_excludes options to serve (#291), thanks to @pydanny

Bugs Squashed

  • katex.js missing (#305)

0.3.6

Bugs Squashed

  • postrelease fix markdown js (#290)

0.3.5

New Features

  • Support dict value in hx_vals (#288)
  • Add sess_cls param to FastHTML (#284)
  • Make index a special handler name for path "/" get request (#274)
  • Use run_in_threadpool for non-async handlers (#270)
  • Enhance LaTeX rendering in Markdown with support for environments (#269), thanks to @rian-dolphin

Bugs Squashed

  • Duplicate parameters in components.pyi (#255)

0.3.4

New Features

  • Experimental new named-based HTMX routing system (#267)
    • uri function to construct url_for path params
    • patch HTTPConnection.url_path_for
    • replace HTTP verb FT attr names with hx- prefixed versions, and look up values in route names (with link used for href attrs)
    • Default route paths to /{func.__name__}
    • Default route method to post if func name isn't an http verb
    • Support skipping () in route decorators

0.3.3

New Features

  • Default route name to function name if method provided (#263)
  • surreal and htmx bool params for FastHTML and fast_app (#258)

0.3.2

New Features

  • generic list annotated params double-wrapped (#253)
  • Add Prev() (#253)
  • ft_cfg config defaults (#251)
  • Make fill_form set selected option (#185), thanks to @ostwilkens

Bugs Squashed

  • Use re.fullmatch for Beforeware (#221), thanks to @justbur

0.3.0

Breaking changes

  • Do not make session vars available as direct params (#237)

New Features

  • Add surreal.js helpers Me, Any, On (#238)
  • Add support for application/json in POST requests (#234), thanks to @khoaHyh
  • Wrap Starlette's session in an AttrDict (#213), thanks to @jbellis
  • Handle mismatches between existing db and schema (#202), thanks to @ncoop57
  • Raise warning if type is not passed (#195)

Bugs Squashed

  • railway deploy doesn't check for project name (#230), thanks to @gautam-e

0.2.4

Bugs Squashed

  • Signature may not resolve types from str (#198)

0.2.3

New Features

0.2.2

New Features

  • Check for railway app version (#192)
  • Update flat_xt to handle single FT item (#190)
  • Support FT in HTTPException handling (#175)
  • Add pep8_app.py (#163)
  • Add support for LaTeX formula rendering when rendering markdown (#158), thanks to @yym68686
  • Add to request: req.hdrs,req.ftrs,req.htmlkw,req.bodykw (#152)
  • Add htmlkw to fast_app (#145), thanks to @ranzuh
  • Add Form for multipart form data; initial poetry compatibility for serve (#137)
  • changes toast names to avoid conflict with bootstrap (#133), thanks to @vacmar01
  • Automatically move ('title','meta','link','style','base') into head (#122)
  • Allow for Any or FT as return type of routes (#112)

0.2.1

Bugs Squashed

  • railway deploy did not connect mount point on first use (#89)

0.2.0

  • Initial launch version

0.1.11

Breaking changes

  • Rename run_uv to serve (#84)

0.1.10

Dependencies

  • Update for fastcore XT to FT name change

0.1.9

New Features

  • Skip redundant formatting in loose_format (#79)
  • Add htmlkw param to FastHTML (#78)

0.1.8

New Features

  • Remove comments in html2xt (#76)
  • Handle relative paths in Social (#70)
  • Add ftrs for scripts etc at end of body element (#62)
  • Updated html2xt to use unpacked dicts when attr keys are not valid python names (#57), thanks to @matdmiller

Bugs Squashed

  • fix social relative urls (#77)

0.1.7

New Features

  • Add indent to html2xt (#53)
  • New fasthtml.ft namespace for components (#50)
  • Add bodykw in fast_app (#49)

0.1.6

New Features

  • File function (#48)
  • Remove picolink in fast_app if default_hdrs is False (#47), thanks to @pydanny

0.1.5

New Features

  • Add Favicon and Socials header creators (#45)
  • cookie function (#43)

0.1.4

New Features

  • ScriptX and StyleX for templated generation from external files (#42)

0.1.2

Breaking changes

  • fast_app returns app.route as well as app (#38)

New Features

  • Add viewport and charset to Meta by default (#36)
  • New function run_js (#36)

0.1.1

New Features

  • Add fasthtml.toasts (#35)
  • 'Afterware' support
  • Add injects to request
  • Basic websocket support (#29)
  • Support meta tags in returned tuple (#28)
  • Support npm provider in jsdelivr (#27)

Bugs Squashed

  • Style does not accept multiple positional args correctly (#34)

0.1.0

New Features

  • Add railway_deploy (#26)

0.0.17

New Features

  • Add run_uv() (#25)
  • New demo app (#25)
  • Add Container component (#24)
  • Add all HTML elements (#22)
  • Add svg.py (#21)

0.0.16

New Features

  • Update dashes to underscores in attrs in html2xt (#20)
  • Rename fasthtml.all to fasthtml.common (#19)

0.0.15

New Features

  • Add Titled (#18)
  • Disable PicoCSS font scaling
  • Use constant time string comparison for password checking, h/t José Valim (#17)

0.0.14

New Features

  • Add surreal js and scope scripts to default headers, and add default_hdrs bool to allow removing default headers (#16)
  • Add xtend.py Script and Style that do not need NotStr (#15)
  • Add jsd (#14)
  • Handle lists of hdrs (#14)
  • Autogen HTML wrapper for non-htmx partials (#13)

Bugs Squashed

  • html2txt only parses first partial (#12)

0.0.13

New Features

  • Add html2xt (#11)

0.0.12

New Features

  • Live Reloading (#9), thanks to @comhar
  • Add adv_app example (#8)

Bugs Squashed

  • use sqlite_minutils in all.py (#10)

0.0.10

New Features

  • sortable js support (#7)
  • Add MarkdownJS and support textareas (#6)
  • Handle multi-value form data correctly

0.0.9

New Features

  • Module __getattr__ for components (#5)
  • add railway cli link command (#4)

0.0.5

Bugs Squashed

  • fix body arg parsing (#2)

0.0.3

  • Init release