Skip to content

Latest commit

 

History

History
784 lines (494 loc) · 43.7 KB

CHANGELOG.md

File metadata and controls

784 lines (494 loc) · 43.7 KB

Release notes

2.3.20

Bugs Squashed

  • fixes UnboundLocalError: cannot access local variable _TEMPLATE where it is not associated with a value (#1413), thanks to @stepetal

2.3.19

Bugs Squashed

  • Remove boxes since they broke ToC (#1411)

2.3.18

New Features

  • Add magic __ symbols to show_doc output (#1410)
  • wrap exports cells in a shadowed box (like a card) (#1409), thanks to @hamelsmu

2.3.17

New Features

  • Move exports source after the show_doc (#1408)

2.3.16

New Features

  • Add code folding for exports (#1407)

2.3.15

Bugs Squashed

  • Reverted #1390

2.3.14

New Features

  • Add --no_browser option to nbdev_preview (#1400), thanks to @bamford
  • added conda_user and package_data to cfg_tail (#1351), thanks to @dsm-72
  • add repo and tag options to nbdev_new (#1350), thanks to @dsm-72

Bugs Squashed

  • Changed serve.proc_nbs so that it makes use of its arguments file_glob and file_re (#1390), thanks to @lukastk

2.3.13

New Features

  • add support for 3.11 (#1373), thanks to @deven367
  • update install_quarto to distinguish arm64 and amd64 (#1356), thanks to @JonasHarnau
  • allow trailing : in directives for YAML compliance (#1312), thanks to @hamelsmu
  • CI error on uncleaned notebooks suggests upgrading nbdev (#1308)
  • Auto-add index file onto section (#1307), thanks to @p4perf4ce
  • nbdev_clean: Add trailing newlines to mask diff between Jupyter and VSCode (#1292), thanks to @xl0
  • exported modules can scrub_magics (#1250), thanks to @yegeniy
  • Add extensions tutorial (#1228), thanks to @muellerzr

Bugs Squashed

  • pin ipywidgets version (#1318), thanks to @hamelsmu
  • Fix encoding issue for Windows OS User especially for non-English user (#1314), thanks to @JunDamin

2.3.11

New Features

Bugs Squashed

2.3.9

New Features

  • utility that creates a requirements.txt file from settings.ini (#1202), thanks to @hamelsmu
  • user-friendly error if py file has # %% comments with unexpected format (#1211), thanks to @seeM
  • add parameter for name to nb_export (#1204), thanks to @hamelsmu
  • ensure newline at end of _modidx.py (#1186)

Bugs Squashed

  • end sidebar.yml with newline (#1212), thanks to @seeM
  • fix: incorrect regex pattern for setting output-file (#1210), thanks to @seeM
  • ensure newline at end of _modidx.py (#1209), thanks to @seeM
  • fix: nbdev_install_quarto may install and remove unrelated packages (#1208), thanks to @seeM
  • fix: key error if widgets is missing state (#1207), thanks to @seeM -nbdev_install_quarto may install and remove unrelated packages (#1182)
  • Key error if widgets is missing state (#1167)

2.3.8

New Features

  • better error messages for nbdev_migrate (#1177)
  • experimental: Users can provide extra processors via the procs key in settings.ini (#1157), thanks to @seeM
  • enable Documentation Only Sites With nbdev ( + tutorial ) (#1121), thanks to @hamelsmu
  • support non-library projects (#1119)
  • throw a warning when imports and code are mixed in a cell (#714)

Bugs Squashed

  • fix duplicated sections in the sidebar (#1165), thanks to @seeM
  • setting #| echo in a cell with show_doc causes a Quarto error (#1163)
  • fix copying of index assets (#1143), thanks to @hamelsmu
  • images in index.ipynb causing deployments issues (#1140)
  • clean takes forever on notebooks with large output (#1132)
  • nbdev_update includes folders starting with _ or . (e.g. .ipynb_checkpoints) (#1130), thanks to @seeM
  • nbdev_new defaults bool parameters to False (e.g. put_version_in_init) (#1129), thanks to @seeM
  • black_formatting setting is ignored (#1122), thanks to @jmoralez
  • nbdev_readme() fails on the second run for the notebook with support files (e.g. Fig image). (#1106)
  • nbdev_new fails with AttributeError: path_ (#1063)
  • fix #1041 (#1049), thanks to @seeM

2.3.7

New Features

  • Set recursive True by default (#1117), thanks to @seeM
  • exec_doc supports re-rendering widgets (#1113), thanks to @seeM
    • If users update widgets with the exec_doc directive, the widget "view" is updated (in the cell output), but the old widget "state" is used (in notebook metadata). This refreshes widget state using ipywidgets.Widget.get_manager_state.
  • nbdev_new pins on major+minor version of nbdev-template (#1091)
  • nbdev_proc_nbs completes all steps to build _proc for publishing (#1086)
  • nbdev_new defaults nbs_path setting to 'nbs' (#1083)
    • Since all website files (quarto config, css, images, etc) are in nbs_path, the current default nbs_path='.' can clutter the root folder.
  • nbdev_new queries branch from GitHub (#1080)

Bugs Squashed

  • fix exporting patch_to which is decorated with staticmethod (#1100), thanks to @seeM
  • show_doc errors if a dependency in the nbdev group has a sub-dependency that isn't installed (#1097)
  • Running nbdev_migrate while upgrading removes nbdev2 compatible directives (#1089)
  • respect #|hide and #|include: false for showdoc (#1079), thanks to @hamelsmu
  • Export class to library but hide from documentation (#1076)
  • nbdev_clean removes widget state (#1069)
    • If widget state is present, it means the user had intentionally changed settings in their notebook editor.

2.3.4

New Features

Bugs Squashed

2.3.3

New Features

2.3.2

New Features

  • Support GitHub Enterprise (#944)

Bugs Squashed

  • nbdev_new fails with AttributeError: path_ (#1063)

2.3.1

Breaking Changes

  • _quarto.yml no longer replaced with automatically generated version (#1059)
    • This was listed in 2.3.0 but wasn't actually included in the release

Bugs Squashed

  • fix nbdev_update (#1058), thanks to @seeM
    • fix bug in nbdev.maker.update_import which meant that nbdev_update didn't convert relative imports without None module (e.g from . import foo -> from pkg import foo)
    • fix FileNotFoundError in nbdev_update by passing the correct py module and corresponding notebook paths
    • fix nbdev_update introducing whitespace changes to notebooks

2.3.0

Breaking Changes

  • _quarto.yml no longer replaced with automatically generated version
    • You can now customise your _quarto.yml file and it will not be overridden by nbdev
    • This means that custom_host and custom_port in settings.ini are no longer supported -- use the standard quarto configuration instead
  • Parallel ipynb filter (#961)
    • ipynb-filters in _quarto.yml is no longer needed or recommended. Instead, nbdev preprocesses your notebooks in parallel into a folder called _proc before calling quarto
    • The new processing system generally results in speedups of around 10x compared to the previous approach
  • Deprecate config_key in favor of get_config (#856), thanks to @seeM

New Features

  • Setting put_version_in_init to make adding __version__ to __init__.py optional (#1051), thanks to @MichaelJFishmanBA
  • nbdev_new support for GitHub Enterprise (#1043), thanks to @seeM
  • Use GITHUB_TOKEN if present for nbdev.release (#1025)
  • Support non qmd py rendering scripts (#1014)
  • Use penultimate suffix for extension of rendered .py scripts (#1010)
  • Print nbdev_test cell errors to stderr instead of using logging.warning (#1003)
  • Make nb meta display_name consistent with name to simplify diffs (#995)
  • Windows support for clean nb (#989), thanks to @jvanelteren
  • Preview support for parallel filter (#976)
  • Settings.ini option for choosing preview listen port (#967)
  • Vscode extension for nbdev which cleans notebooks (#952)
  • Authenticate nbdev-template github API call (#940)
  • Add printit arg to nbdev_filter so it can be called with fname and still print to stdout (#931), thanks to @seeM
  • Run nbdev_readme in nbdev_new (#919), thanks to @seeM
  • Improve config documentation in read module (#864), thanks to @seeM
  • Simplify jupyter_hooks configuration (#780), thanks to @seeM

Bugs Squashed

  • Class method doclinks target mod.html#method instead of mod.html#class.method (#1046), thanks to @seeM
  • "Bad credentials" error in nbdev_new if GitHub Enterprise GH_HOST and GITHUB_TOKEN are used (#1038)
  • Suppress UserWarning for unset GITHUB_TOKEN in nbdev_new (#1028), thanks to @seeM
  • nbdev.release uses cfg.lib_name instead of cfg.repo (#1024), thanks to @seeM
  • nbdev_test does not restore the original working directory (#1004)
  • clean_ids corrupts string outputs (#794), thanks to @seeM

2.2.10

Bugs Squashed

  • missing doc_path.name in _docs move (#973)

2.2.9

New Features

  • Experimental: pre-commit hooks (#959), thanks to @seeM
  • setup GitHub repo automatically (#955), thanks to @hamelsmu
  • Authenticate nbdev-template github API call (#940)
  • Support module level docstrings (#473)

Bugs Squashed

  • show_doc includes parsed sections from numpy docstrings (#964)
  • AnnAssign object has no attribute 'targets' (#953)
  • Exported images not found in docs (#951)
  • fix #769 (#946), thanks to @hamelsmu
  • recursive in settings.ini ignored (#942)
  • Wrong source link when using @patch (#939)
  • Deploy Action fails with ModuleNotFoundError: No module named 'https://github' (#936)
  • Recursive mode doesn't seem to work when running nbdev_preview (#935)
  • Update All Python Scripts to nbs similar to nbdev_update_lib in v1 (#769)

2.2.7

New Features

  • Add printit arg to nbdev_filter so it can be called with fname and still print to stdout (#931), thanks to @seeM
  • Run nbdev_readme in nbdev_new (#919), thanks to @seeM
  • In nbdev_prepare() auto render README if needed (#913)
  • Filter keys stored in modidx settings (#903)
  • Regression: reintroduce [source] link (#692)

Bugs Squashed

  • Deploy Action fails with ModuleNotFoundError: No module named 'https://github' (#936)
  • Correct cell index in nbdev_update (#934), thanks to @hamelsmu
  • Handle repo names with dashes and correct index page rendering with file attachments (#930), thanks to @hamelsmu
  • IPython.display.Image(embed=True) results in incorrect image reference in GitHub Pages (#924)
  • nbdev_preview not starting if there is a folder with no notebook in it (#922)
  • Fix images (#918), thanks to @seeM
  • nbdev_update creates a new cell, instead of updating the original code (#775)

2.2.6

New Features

  • Build _modidx.py on demand in order to git conflicts (#911)
  • Add source link to index (#909)
  • Order left navigation sections using numeric prefix (#901)
  • Automatic rendering of python files with frontmatter (#895)

Bugs Squashed

  • Make sure #|exec_doc triggers an update even when there is no export or show_doc (#906), thanks to @hamelsmu
  • allow nbdev directives to work with cell magic (#905), thanks to @hamelsmu

2.2.0

Breaking Changes

  • Combine preprocs and postprocs into new Processor class (#874)
  • Rename nbdev.read to nbdev.config (#879)
  • Use H3 for functions and properties, instead of H4 (#875)
  • Remove nbflags directive (#871)
  • Deprecate config_key in favor of get_config (#856), thanks to @seeM

New Features

  • Add simple qmd generation functions in nbdev.qmd (#893)
  • Add FrontmatterProc (#890)
  • Improvements to nbdev_new and nbdev_create_config (#878), thanks to @seeM
    • nbdev_create_config infers settings from git/GitHub, prompts for missing settings, and renders the settings file with commented sections
    • nbdev_new uses nbdev_create_config instead of a file provided by nbdev-template, which means it'll benefit from future improvements to nbdev_create_config as well as always using latest defaults
  • Add frontmatter bullet point processor (#873)
  • Allow specifying port for preview (#872), thanks to @dleen
  • nbdev_new renders notebooks with information from your config file (#866), thanks to @seeM
  • Improve config documentation in read module (#864), thanks to @seeM
  • Install quarto without root access (#860)
  • Explain more detail during quarto installation process (#859)
  • Automatically maintain __version__ in __init__.py (#854)
  • Prettify output for nbdev_test (#849), thanks to @deven367
  • Ignore .ipynb_checkpoints folder in module dir (#848), thanks to @dleen
  • Escape Footnotes from Docments Table (#847), thanks to @hamelsmu
  • Include filename in nbdev_export warning when nbdev1 syntax is used (#838), thanks to @seeM
  • Show title if nbdev_filter errors (#828), thanks to @hamelsmu
  • Added "topics" to match GitHub's terminology (#817), thanks to @tylere
  • Accelerate quarto preview (#748)
  • Throw a warning when imports and code are mixed in a cell (#714)
  • Make conda release work for anyone (#653)

Bugs Squashed

  • _all_ works for strings but not objects in py3.7 (#870)
  • show_doc title_level argument has no effect (#869)
  • show_doc sometimes does not show wrapped functions correctly (#863)
  • show_doc treats functions decorated with lru_cache as classes (#862), thanks to @seeM
  • Fix show_doc signature whitespace removal (#855), thanks to @seeM
  • nbdev_new doesn't infer anything if no gitconfig (#846)
  • show_doc paremeter default may render as footnote (#796)
  • Conda description is empty (#745)

2.1.6

New Features

  • add nbdev_conda to create and upload conda packages (#850)

2.1.4

New Features

  • Add custom_quarto_yml setting (#842), thanks to @benoit-cty
  • Display multiline docstrings (#841)
  • Include filename in nbdev_export warning when nbdev1 syntax is used (#835)
  • Streamline nbdev_new: outputs are now in color, you can pass --lib_name, and it calls nbdev_export (#820), thanks to @seeM
  • A command for uploading to the test pypi server (#818), thanks to @tourdownunder
  • Include notebook title in nbdev_preview error message (#802)
  • Migrate collapsible code cell directives (#783), thanks to @hamelsmu
  • Simplify jupyter_hooks configuration (#780), thanks to @seeM
  • Support nbdev_install_hooks in non-nbdev repos (#779), thanks to @seeM
  • Allow users to provide user-level settings in ~/.config/nbdev/settings.ini (#778), thanks to @seeM
  • Support nbdev_install_hooks in non-nbdev repos (#777)
  • Port doc() from nbdev1 (#772)
  • Make show_doc for function parameter defaults concise and deterministic (#771)
  • Clean id from text repr outputs to further avoid git merge conflicts (#749)
  • Add repo root to sys path on exec (#735)
  • Use frontmatter eval and showdoc for controlling notebook execution (#734)

Bugs Squashed

  • #|exports directive does not show source code in the docs (#822)
  • nbdev commands fail when doc_path contains whitespace (#813), thanks to @mone27
  • show_doc html renderer is incorrectly formatted (#808)
  • show_doc cell output is incorrectly styled (#807)
  • links aren't rendered as code (#795), thanks to @seeM
  • clean_ids corrupts string outputs (#794), thanks to @seeM
  • quarto frontmatter is removed (#789)
  • nbdev_merge fails on git stash pop conflict (#787), thanks to @seeM
  • Hooks search Jupyter start directory instead of notebook directory for settings file (#784), thanks to @dleen
  • Allow for dash in Quarto directives (#782), thanks to @hamelsmu
  • Fix directive migration when there is no test flag (#781), thanks to @hamelsmu
  • nbdev_prepare throws BrokenProcessPool error on MacOS (#731)
  • settings.ini not inferred by nbdev_new on newly cloned repo on MacOS (#710)

2.1.2

New Features

  • use global defaults instead of respecifying each time (#770), thanks to @seeM
  • get_config works without a settings file (#768), thanks to @seeM
  • add site url (#767), thanks to @hamelsmu
  • add show_src to display rich source code (#763), thanks to @seeM
  • add support for #|exports (#762)
  • nbdev_merge prints info like git merge (#753)
  • helpers to convert fp front matter to quarto front matter (#750), thanks to @hamelsmu
  • Streamline default settings (#747)
  • Config keys (and their defaults) should all be documented in one place
  • add user option to jupyter_hooks setting (#738), thanks to @seeM
  • Add appropriate output-file to existing frontmatter (#728)

Bugs Squashed

  • nbdev_prepare sometimes throws BrokenProcessPool error on MacOS (#731)
  • Incorrect relative import from package root inside nested module (#773)
  • Jupyter hooks break in environments without nbdev installed (#760)
  • nbdev_fix breaks with empty ours patch (#752)
  • fix nbdev_merge during rebase; fix nbdev_fix nobackup default (#737), thanks to @seeM
  • non-notebooks do not have nbformat field (#732), thanks to @dleen

2.1.1

New Features

  • add tools from fastrelease to nbdev (#733)

Bugs Squashed

  • fix nbdev_test with no --fname in non-nbdev repos (#730), thanks to @seeM
  • Auto-generated showdoc headers not in ToC (#703)

2.1.0

Breaking Changes

  • nbdev_sidebar now looks for .qmd files instead of .md files

New Features

  • automatically add output:asis for showdoc cells (#726)
  • accelerate nbdev_readme (#715)
  • deterministic show_doc and DocmentTbl repr (#707), thanks to @seeM

Bugs Squashed

  • KeyError 'repo' when trying to create a new nbdev project with nbdev_new (#720)
  • show_doc ends the details column at any | character (#712)
  • only add to .gitattributes if missing (#706), thanks to @seeM

2.0.7

New Features

  • git merge hooks: automatically resolve conflicts and render markers as separate cells (#704), thanks to @seeM
  • Allow clean to keep some metadata keys (#672), thanks to @dleen
  • enable mac terminal install instead of visual installer (#705), thanks to @hamelsmu
  • Conditional content for markdown vs HTML for README (#694), thanks to @hamelsmu
  • Export a single module (#652)

Bugs Squashed

  • Re-enable Mac CI #425)

2.0.6

New Features

  • new jupyter save hook to clean NBs (#697), thanks to @seeM
  • new directive exec_doc to auto-exec cell when building docs (#699)
  • automatically escape YAML strings for title and description in frontmatter (#691)
  • add unbump param to nbdev_bump_version (#689)
  • install ghapi automatically (#690)

2.0.5

New Features

  • add nbdev_readme (#688)

2.0.4

New Features

  • add readme_nb config option (#668)

Bugs Squashed

  • exporti cells can cause showdocs exec to fail (#679)
  • missing .html suffix in links (#674)
  • Add early return (#670), thanks to @dleen

2.0.0

  • From-scratch rewrite of nbdev! nbdev now uses Quarto to create beautiful and full-featured websites
  • nbdev2 is much faster than previous versions
  • Note that you should run nbdev_migrate_directives after upgrading to use the new comment directive format (e.g #| export instead of #export)

1.2.11

New Features

  • support py310 style union annotations (#636), thanks to @seeM

Bugs Squashed

  • fix show_doc for properties (#635), thanks to @seeM
  • nbdev_nb2md throws error when called in a notebook (#381)

1.2.10

New Features

Bugs Squashed

1.2.9

New Features

  • Implement show_doc for dataclass (#622), thanks to @MarkB2

Bugs Squashed

  • Fix show doc for object, class methods. (#621), thanks to @v-ahuja
  • Fix show doc for keywords. (#619), thanks to @v-ahuja
  • Including @dataclass breaks nbdev_build_lib (#595)
  • nbdev_nb2md throws error when called in a notebook (#381)

1.2.7

Bugs Squashed

  • Don't build NBs with no #default_exp

1.2.6

New Features

  • nbdev_build_libs now works on a single file even without a settings.ini or any #default_exp cell
  • Handle #| as directive prefix

Bugs Squashed

  • nbdev_nb2md throws error when called in a notebook (#381)

1.2.5

New Features

  • Update dependencies

1.2.3

Bugs Squashed

  • Pin jinja2 due to deprecation bug in nbconvert

1.2.2

New Features

  • Update dependencies

1.2.1

New Features

  • Make sure docments have linking capability (#585), thanks to @muellerzr
  • better logging for duplicate titles (#584), thanks to @hamelsmu

Bugs Squashed

1.2.0

  • upgrade nbconvert dep to v6

1.1.23

Bugs Squashed

  • fix verbose flag

1.1.20

New Features

  • skip symlinks in recursive glob (#515)

1.1.15

Breaking Changes

  • make recursive behavior for nbdev_build_docs consistent with nbdev_build_lib (#467), thanks to @hamelsmu

New Features

  • Allow for a one-time only (potentially) .py -> .ipynb generation (#369)

Bugs Squashed

  • Images with attachment: break export (#501), thanks to @yacchin1205
  • Docs nav doesn't work on gitlab (#488), thanks to @tcapelle
  • clean up all instances of recursive (#470), thanks to @hamelsmu
  • After 'conda install -c fastai nbdev', error "HTMLExporter object has no attribute template_path" (#431)

1.1.13

New Features

  • support windows (#392), thanks to @mszhanyi
  • nbdev_new: get template from latest release asset (#382), thanks to @hamelsmu
  • Add more license options

Bugs Squashed

  • Fix recursive flag (#433), thanks to @hamelsmu
  • conda not installing nbdev properly on WSL2 (#430)
  • fix nb2md (#424), thanks to @hamelsmu
  • nbdev_build_lib seems to convert more notebooks than expected (#423)
  • fix default arg issue with nbdev_update_lib (#416), thanks to @hamelsmu
  • nbdev_update_lib errors out when fname not supplied (#415)
  • nbdev_new fails on calling the GitHub API without guidance (#404)
  • fix recurse issue (#391), thanks to @hamelsmu
  • nbdev_build_docs----ModuleNotFoundError: No module named 'fastcore' (#390)
  • nbdev_test_nbs --fname broke in 1.1.7 (#388)
  • set recursive=True for docs (#387), thanks to @hamelsmu
  • fix url for getting branch (#386), thanks to @hamelsmu
  • nbdev_nb2md throws error when called in a notebook (#381)

1.1.12

New Features

  • nbdev_new should grab files from a release asset in nbdev_template (#383)
  • Use Jekyll Theme instead of vendoring all required files (#379)
  • Create relevant directories in docs/_data if do not already exist (#377)

1.1.6

New Features

  • Clean Google Colab metadata and line endings (#364), thanks to @muellerzr
  • add ability to find notebooks recursively (#359), thanks to @hamelsmu
  • Add bare flag to nbdev_build_lib (#336)
  • install git hooks in nbdev_new (#308)
  • nbdev_new now works on an existing cloned repo, instead of creating a new repo (#307)

Bugs Squashed

  • nbdev_update_lib --fname notebook.ipynb crashes (while nbdev_update_lib works) (#341)
  • Copy new files only if they don't exist for nbdev_new (#309)

1.1.3

New Features

  • Place source code below heading on #exports (#265), thanks to @hamelsmu

1.1.2

Bugs Squashed

  • update fastcore requirement (#281)

1.1.1

New Features

  • Make CLI faster by removing unneeded imports and moving CLI commands to source modules (#271)
  • Move Config to fastcore (#280)

1.1.0

Breaking Changes

  • Remove magics (#269)
  • Removed callbacks (#253), thanks to @pete88b
  • move conda packager to fastrelease (#252)

New Features

  • Place source code below heading on #exports (#265), thanks to @hamelsmu
  • always skip cells labeled "skip" in test (#257)

1.0.17

Bugs Squashed

  • restrict nbconvert<6 to avoid upgrade problems (#249)

1.0.16

Bugs Squashed

  • When generating docs, import cells are run even if not exported (#248)

1.0.15

New Features

  • add option to not exec nb for fastpages (#244)
  • Enable Codespaces for nbdev (#243)

Bugs Squashed

  • Fix: correct notebook2html path operation for Windows. (#239)

1.0.13

New Features

  • remove numpy conda dep and update to fastcore 1.0.5 (#241)

Bugs Squashed

  • allow nbdev imports when not in an nbdev project (#238)

1.0.10

New Features

  • Magic flags for tests (#232)
  • Add ability to have Colab badges on pages (#210)
  • Support for doc_path (#235)

Bugs Squashed

  • Remove colab vendor specific tags which cause nbdev_build_docs to fail (#207)
  • hooks folder inside .git must be manually created before nbdev_install_git_hooks (#230)
  • updates to how backtick names are converted to doc links (#218)

Version 1.0.0

  • Initial release