CHANGES 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125
  1. Version 0.12.3.1 released 31 Dec 2018
  2. * Improve compatibility with GHC 8.6 (Phil Ruffwind, #625).
  3. + Replaced uses of uri (out of date package) with uri-bytestring, which
  4. gitit already uses in other places.
  5. + Bumped hoauth2 version bounds to support 1.8.*.
  6. Version 0.12.3 released 09 Oct 2018
  7. * Change hk-pyg.css to highlighting.css with new CSS for pandoc 2
  8. and skylighting 0.7.4. NOTE: You must change your existing
  9. custom.css to refer to highlighting.css instead of
  10. hk-pyg.css, or highlighted code will not display properly.
  11. * Ensure that the proper extensions are used for each format.
  12. * Add Ext_emoji to readerExtensions (#616).
  13. * Add Paths_gitit to other-modules to avoid warning.
  14. * screen.css: remove special padding and border and color for code.
  15. This interferes with pandoc's new highlighting.
  16. * Fixed static in gitignore
  17. * Update stack.yaml, use latest lts-12.
  18. * Updates for pandoc 2.x (Myron Wu).
  19. * Require skylighting >= 0.7.4.
  20. * Remove jsMath as it was dropped from pandoc >= 2 (#617, Myron Wu).
  21. * Add Ext_emoji to readerExtensions (#616, Conal Elliott).
  22. * Changes to use recent versions of dependencies.
  23. Especially feed 1.0, which uses a different xml type
  24. and requires a new dependency on xml-conduit to render it.
  25. * Remove support for ghc versions < 8 (Myron Wu).
  26. * Bump hoauth2 to 1.3.0 && < 1.6 to catch up with nix and other
  27. curated package sets (Myron Wu).
  28. * Updated mathjax cdn to cloudflare.
  29. * Redirect to requested wiki page after github oauth callback (Myron Wu).
  30. * Use skylighting instead of deprecated highlighting-kate.
  31. Version 0.12.2.1 released 14 Feb 2017
  32. * Bump version bounds for time, pandoc, blaze-html, aeson.
  33. * Added MTable plugin (Simon Heath).
  34. Adds simple but easy-to-use variable-width table syntax.
  35. * Fixed Subst plugin (Simon Heath, #548).
  36. * Fixed Dot plugin (Simon Heath, #568).
  37. Version 0.12.2 released 09 Nov 2016
  38. * Allow pandoc 1.18, tagsoup 0.14, aeson, 1.x.
  39. Version 0.12.1.1 released 22 Mar 2016
  40. * Allow pandoc 1.17 (Phil Ruffwind).
  41. * Allow aeson 0.11.
  42. Version 0.12.1 released 17 Feb 2016
  43. * Use fmap instead of <$> so ghc 7.8 won't fail.
  44. * Allow latest hoauth2
  45. * Fix typo (Chas Leichner).
  46. * Allow compiling with pandoc 1.16.x.
  47. * Add page for login failure when authorization is required for reading
  48. (Phil Ruffwind). When authorization is required to read the wiki, the
  49. error message from a failed GitHub login cannot be displayed. Instead it
  50. will redirect to GitHub for another OAuth authentication, which can lead to
  51. a redirect loop. To avoid this, the user is now redirected to a special
  52. landing page to display the login failure. Note: no changes are made for
  53. the case where authorization is not required to read the wiki.
  54. * Improve error message of GitHub membership check (Phil Ruffwind).
  55. * Add delete-summary config variable (Phil Ruffwind).
  56. Used to change the commit message when a page is deleted.
  57. * Use primary GitHub email rather than just the first (Phil Ruffwind).
  58. The order in which user emails are returned via the GitHub API is not
  59. specified, so the first may not be the one that the user prefers,
  60. i.e. the so-called "primary" email. To fix this problem, we eliminate
  61. all emails except for the one marked as "primary".
  62. * Make default theme responsive (Lincoln Mullen, #450).
  63. This commit makes the default theme responsive. For smaller browsers, it
  64. will move the sidebar below the main content div and make the sidebar
  65. three columns. On phones, it will also collapse the sidebar into a
  66. single column.
  67. * README: Tell how to enable rtsopts for disabling GC (norpol).
  68. Version 0.12.0.1 released 24 Aug 2015
  69. * Revert change of curly to straight quote for starting
  70. User's Guide page (Wouter Oosterveld).
  71. * stack.yaml: removed pandoc flag setting.
  72. Version 0.12 released 19 Aug 2015
  73. * Export all modules.
  74. * Make executable builds depend on the library in cabal file.
  75. * Moved library files to src directory.
  76. * Added stack.yaml.
  77. * Updated README with stack install instructions.
  78. Version 0.11.1.1 released 14 Aug 2015
  79. * Fixed Network.Gitit.Initialize so it compiles with older pandoc (#506).
  80. * Removed extra import of liftIO in Dot.hs plugin.
  81. Version 0.11.1 released 23 Jul 2015
  82. * Allow `commonmark` as a page type.
  83. * Handle CommonMark page type on initialization.
  84. Version 0.11 released 02 Jun 2015
  85. * Allow page extensions to be configurable (not just `.page`)
  86. (Caleb McDaniel).
  87. - Added `page-extension` option in config file (Caleb McDaniel).
  88. - Added new type for `defaultExtension`
  89. - Changed `isPageFile` to get extension from config
  90. - New function `isNotDiscussPageFile`
  91. - `pathForPage` must be passed extension as String
  92. - `isPageFile` now returns GititServerPart Bool instead of just Bool.
  93. * Reverted some changes to Plugins that caused excessive memory use.
  94. * Allow pandoc 1.15.
  95. * Added missing `<br>` tag in form on registration page (Vaughn Iverson).
  96. * Show page diffs in feed (Imuli).
  97. * Display commit messages in feed entry titles (Imuli).
  98. * Fix preview button for modern jQuery (Imuli).
  99. * Feed titles reflect site and page names (Imuli).
  100. * Present feed in canonical order (recent first, Imuli).
  101. * https support for base-url config option (Imuli).
  102. Version 0.10.7 released 02 Jun 2015
  103. * Fixes to allow building with pandoc 1.14. `CommonMark` added
  104. as a constructor of `PageType`. CommonMark can now be used as
  105. a page format and is also available for page export.
  106. * Plugins: added some recommended option flags.
  107. * Allow `---` as well as `...` to end metadata (#493).
  108. * README: changed dead links (Rick Hanson).
  109. Version 0.10.6.3 released 08 May 2015
  110. * README: use shortcut style markdown links.
  111. * Fixed profiling options.
  112. * Added .travis.yml.
  113. * Allow both time >= 1.5.0.0 and time < 1.5.0.0 with old-locale
  114. (Michal Antkiewicz)
  115. Version 0.10.6.2 released 02 April 2015
  116. * Bumped upper version bounds.
  117. * Fix typos in README.markdown (Igor Vuk).
  118. * Update bug tracker link (Waldir Pimenta).
  119. Version 0.10.6.1 released 28 October 2014
  120. * Added Network.Gitit.Compat.Except to cabal module list.
  121. Version 0.10.6 released 28 October 2014
  122. * Escape HTML characters in user name when showing it on a web page.
  123. This addresses a security flaw in previous versions, pointed out
  124. by Davy Stoffel. A fake password reset email could be provided
  125. to users, with the link:
  126. http://gitit.net/_doResetPassword?reset_code=azeaze&username=
  127. davy%3Cscript%3Ealert%281%29%3C/script%3E
  128. If the person clicked the link, the unknown username would be
  129. displayed (unescaped), and the javascript would run.
  130. This fix addresses the flaw, not by preventing the funny user name,
  131. but by ensuring that the HTML tags are escaped when the user name
  132. is shown on the page.
  133. * Network.Gitit.Initialize: Allow mediawiki for default pages.
  134. * Enable readerParseRaw for all formats.
  135. This will enable things like script and iframe tags to get
  136. parsed from HTML sources, and unrecognized latex tags from LaTeX.
  137. * Refined github login (Freiric Barral).
  138. * Include jquery sources in sdist tarballs (Anthony Towns).
  139. * Add support for `mediawiki` as a page format (Raymond Gauthier).
  140. Version 0.10.5.1 released 21 September 2014
  141. * Added markup help for org mode. Closes #449.
  142. * Utils.parsePageType: Added case for "org".
  143. * Allow newer versions of dependencies.
  144. Version 0.10.5 released 23 August 2014
  145. * Added github login option (Freiric Barral).
  146. * Change default math display to mathjax.
  147. * Relaxed package bounds, fixed compiler warnings.
  148. Added Network.Gitit.Compat.Except module for compatibility
  149. with earlier and later mtl versions.
  150. * Added network-uri flag to accommodate network-uri/network split.
  151. * Fixed failure when loading the Subst plugin (Glenn Searby).
  152. * Added Makefile, for use in installing on server.
  153. * Include takeBaseName in System.FilePath import (Caleb McDaniel).
  154. * Update README.markdown on Apache installation (Peter Gallagher).
  155. * Add full versions of minified JavaScript (#400) (Peter Gallagher).
  156. * Enable highlighting of patterns that start or end with punctuation
  157. (Caleb McDaniel).
  158. * Moved oauth secret to separate config file (Freiric Barral).
  159. * Corrected MathJax CDN URL (Maciek Makowski).
  160. Version 0.10.4 released 30 Jun 2014
  161. * Updated package bounds for happstack (#382), pandoc, blaze-html,
  162. network.
  163. * Display EPS as image, not code.
  164. * Fixed recent activity page for binary files (Sergey Koposov).
  165. * Use normal spaces instead of nbsp in activity page (Sergey Koposov).
  166. * Display a delete link next to uploads in file list (rekado).
  167. * Change _search to use HTTP GET, so searches can be linked
  168. and refreshed (Joe Hillenbrand).
  169. * Document mod_proxy_html setting in README. Added a mod_proxy_html
  170. configuration directive to insert a DOCTYPE string (Johann Visagie).
  171. * Added new template variables `isdiscusspage`, `isarticleUrl`,
  172. `discussionUrl`. This makes it possible to treat discussion pages
  173. specially in templates, and insert appropriate links (Shane O'Brien).
  174. * Added template variables `articlename`, `discussionname`,
  175. `isarticlepage` (Shane O'Brien).
  176. * Added redirects (#233). You can now create a redirect page by adding
  177. a `redirect` field to the metadata of a page (Shane O'Brien).
  178. - When a user visits a redirect page, they are redirected to the
  179. destination page.
  180. - At the destination page, a message is displayed telling the user
  181. that they have been redirected from the source page. A link is
  182. provided back to the source page, with a parameter to disable the
  183. redirect (so that it can be edited).
  184. - Gitit will detects circular redirects and explain to the user
  185. what is going on in such cases.
  186. * Added "search for pages containing..." option to `createPage`.
  187. Changed "page not found" page to give the option of searching for
  188. the page name or creating a page with that name (Shane O'Brien).
  189. * Set `pgTitle` in `showDiff` (Shane O'Brien).
  190. * Made the default "since" for the activity page configurable
  191. (Shane O'Brien).
  192. * Only set the `tabs` template variable if there are tabs (Shane O'Brien).
  193. * Removed access question from password reset form. It's only
  194. needed for the register form (Shane O'Brien).
  195. * Added `for` attribute to all labels on forms (Shane O'Brien).
  196. * Updated `pageToString` to use new metadata format (Shane O'Brien).
  197. * Handlers: Fixed duplicate function defn for `fileAnchor`.
  198. * Added `Org` and `BocBook` to `PageType` (API change). Pages
  199. may now be written in Ord mode or DocBook syntax.
  200. * Allow multiple categories, separated by commas,
  201. in a `_category` URL (Caleb McDaniel). The pages in all listed
  202. categories will be returned.
  203. * Added filter links for `_category` pages (Cabel McDaniel).
  204. * Fixed image exports in Docx, RTF, slides, PDF (#399, #353).
  205. * Restored inline syntax highlighting.
  206. * Fixed highlighting in exports (#356).
  207. * Added `ICML` and `beamer` as export formats (#391).
  208. * Added github-style backgrounds to code blocks (Joe Hillenbrand).
  209. * Lighter heading border (like wikimedia) (Joe Hillenbrand).
  210. * Fixed links on activity page (Shane O'Brien).
  211. * Added markup help for Textile, Org, DocBook (#434).
  212. * Modified plugins/Subst.hs to work with latest pandoc (Tianyi Cui).
  213. * Fixed wiki links when `base-url` is empty and `absolute-urls` yes
  214. (Tianyi Cui).
  215. * README: document that changes to templates require a restart (Raphael).
  216. Version 0.10.3.1 released 19 Mar 2013
  217. * Fixed filename encoding problem affecting caching,
  218. for gitit compiled with GHC 7.4 or later.
  219. * Fixed padding on some buttons (akerbos).
  220. * Specify correct format in header for initial pages (benmachine).
  221. Version 0.10.3 released 09 Mar 2013
  222. * Allow latest versions of pandoc, blaze-html, HStringTemplate.
  223. * Fixed duplicate ids in user box.
  224. * Added `mathjax-script` option, specifies the mathjax script to
  225. use. (Dmitry Gerasimov.)
  226. * Set focus on editedText on page load. (Mathieu Larose.)
  227. * Added `address` config option. (Matieu Larose.)
  228. Version 0.10.2 released 09 Feb 2013
  229. * Updated to work with pandoc 1.10.
  230. * Fixed path for MathMLInHTML.js script. Closes #345.
  231. Thanks to tstgruby.
  232. * Updated interwiki plugin (gwern).
  233. * Made it possible to export pages with images stored in the
  234. repository itself (as opposed to the static directory). Thanks
  235. to Claudio Bley for the patch.
  236. Version 0.10.1.2 released 11 Jan 2013
  237. * Fixed regression in option parsing. An earlier patch
  238. caused the '-f' option not to work. Closes #336.
  239. Version 0.10.1.1 released 01 Jan 2013
  240. * Allow compilation with directory < 1.2.
  241. Version 0.10.1 released 31 Dec 2012
  242. * Fixed duplicate dropExtension on categoryPage. (atsuo yamada)
  243. This created problems with categories containing periods.
  244. * Fixed duplicate unescaping of HTML entities. (atsuo yamada)
  245. * Supply $revision$ at _diff if "Changes from beginning to..."
  246. (atsuo yamada)
  247. * MathJax rendering is now working in edit preview mode
  248. (Dmitry Gerasimov).
  249. * Upgrade directory package dependency to 1.2, and
  250. fix compilation issue with GHC 7.6.1 (Bin Jin).
  251. * Allow metadata keys to include digits, _, -. Closes #328.
  252. * Don't read config for --help or --version (Ben Millwood).
  253. Also involves a refactor of options into those that make the program
  254. quit immediately, and those that just alter the configuration.
  255. * Updated to use filestore 0.6 (new diff API).
  256. Thanks to markwright for partial patch.
  257. * Include format metadata in default installed pages.
  258. This allows them to continue working when the user changes the
  259. default page format. Closes #329.
  260. * Added explicit path to Gitit User's Guide in default front page.
  261. * Fix Gitit User's Guide link on front page.
  262. Previously it was broken due to "smart punctuation."
  263. * Fixed validation messages. Switched from using lookRead "messages"
  264. to using looks "message" for messages. Closes #294.
  265. Version 0.10.0.2 released 02 Nov 2012
  266. * Raised version bounds for dependencies.
  267. * Updated post-update script to use new forms of git commands.
  268. Closes #317.
  269. * Fixed withTempDir so it returns to old directory.
  270. Closes #303. This is a slightly different solution than the one
  271. proposed by tstgruby, but it has the advantage that only withTempDir
  272. itself needs to be changed.
  273. * Added nginx example for proxy setup (README) (Andre Kelpe).
  274. Version 0.10.0.1 released 07 Jun 2012
  275. * Fixed double-encoding bug for unicode page names
  276. (Alexander Vershilov).
  277. * Require happstack-server >= 7.
  278. Version 0.10 released 30 May 2012
  279. * Changed 'readFileUTF8' so it doesn't encode filename on ghc 7.4.
  280. * Upgraded for compatibility with blaze-html 0.5. Closes #299.
  281. * Improved categories. Files are now read strictly to avoid a 'too
  282. many open files' error. 'Page' now exports 'readCategories' instead of
  283. 'extractCategories'.
  284. * Require filestore 0.5. This brings in (a) correct handling
  285. of unicode paths when compiled under GHC 7.4, and (b) a 'limit'
  286. parameter for 'history'. The limit parameter is essential when
  287. gitit is used with very large repositories; otherwise history
  288. commands would have to parse the entire log. Handler functions
  289. that use 'history' have been updated to use the optional
  290. 'limit' parameter.
  291. * Atom feeds are now limited to 200 entries, to prevent server
  292. overload.
  293. * Indicate size of default logo picture in README. Closes #291.
  294. * Added a README section on restricting access. Closes #292.
  295. Version 0.9.0.1 released 15 Feb 2012
  296. * Fixed bug in fromEntities that caused text to be lost in the page
  297. source after semicolons. Thanks to Perry Wagle for reporting the bug.
  298. * Updated code to run on happstack 7.
  299. * Removed dependency on happstack-util; depend on base64-bytestring
  300. instead.
  301. * Updated gitit.cabal to include footnotes.js (Ben Sinclair).
  302. Version 0.9 released 29 Feb 2012
  303. * Gitit now uses the latest pandoc (1.9.x) and happstack-server (6.6.x),
  304. and compiles on ghc 7.4.1.
  305. * Added Docx, AsciiDoc, and DZSlides as export formats.
  306. * HTML slide show exports are now "self-contained": they embed all
  307. required js, css, and images, so they can be used offline.
  308. * Allow spaces in usernames (Juraj Hercek).
  309. * Improve PDF/RTF exports containing images in the wiki.
  310. Wikidata paths are translated to absolute ones, so pandoc/pdflatex
  311. can find them (Juraj Hercek).
  312. * Protect against XSS in slide show exports. Previous versions
  313. of gitit sanitized wikipages, but not HTML slide shows.
  314. * Table of contents is now in a div with ID `TOC`, so it can
  315. be styled.
  316. * Removed letter and word spacing from print.css.
  317. * Added s5 directory to static. This is needed by pandoc 1.9.
  318. * Updated Interwiki plugin (gwern).
  319. * Added `fromEntities` to `Types`, since `decodeCharacterReferences`
  320. is no longer exported from Pandoc. Added dependency on tagsoup.
  321. * Provided `FromReqURI` instance for `[String]`, since
  322. this is not automatic with recent happstack.
  323. Version 0.8.1 released 02 Sep 2011
  324. * Support mathjax as a math option.
  325. Added MathJax as MathMethod, and mathjax as an option in
  326. the 'math' config field. Resolves GoogleCode 122.
  327. * Added xss-sanitize configuaration option.
  328. Setting it to 'no' turns off sanitization, enabling
  329. file:// URLs and other things that get filtered out
  330. by xss-sanitize.
  331. * Listen interface explanation on help file could be more clear (#266)
  332. (andyring)
  333. * Add the new configuration option 'absolute-urls'.
  334. When turned on, this makes wikilinks absolute w.r.t. the base-url.
  335. By default, they are relative. So, for example, in a wiki served
  336. at the path 'wiki', on a page Sub/Page, the wikilink '[Cactus]()'
  337. will produce a link to '/wiki/Cactus' if absolute-urls is on,
  338. and otherwise the relative link 'Cactus'. Patch due to lemmih.
  339. * Change default listen address to 0.0.0.0.
  340. * Serve svg file as image, not source code!
  341. * Page history: use 'limit' instead of restricting to past year.
  342. limit defaults to 100. If 100 are displayed, you'll get a
  343. "Show more..." link that will increase the limit.
  344. Also fixed bug that caused a 404 when no history was returned.
  345. * Require pandoc >= 1.8.2.
  346. * Allow build with happstack-server 6.2.
  347. * Updated for use with xss-sanitize 0.3, which uses Text.
  348. New dependency on text.
  349. Version 0.8.0.1 released 07 Jun 2011
  350. * Fixed file upload problem with recent versions of directory
  351. package. (Thanks to Oliver Braun.)
  352. * Relaxed some version upper bounds.
  353. Version 0.8 released 13 May 2011
  354. * Uses happstack 6.
  355. * Added textile and org export formats, textile page format.
  356. * Added support for RPXNow authentication, based on a patch from
  357. Pasqualino Titto Assini.
  358. * Added `authentication-required` field in config.
  359. * If set to 'modify', authentication is required to modify the wiki.
  360. * If set to 'read', atuhentication is required to view the wiki.
  361. * If set to 'none', authentication is never required, and pages can
  362. be edited anonymously.
  363. API changes:
  364. * currentUser moved to Authentication module
  365. * requireAuthentication added to Config
  366. * Added AuthenticationLevel type
  367. * requireUser renamed authenticate, parameter for AuthenticationLevel
  368. added; requireUserThat renamed authenticateUserThat
  369. * MathML and jsMath now work in the preview pane (Sean Seefried).
  370. * Use footnotes.js for fancy footnote styling (gwern).
  371. * Added a `--listen` parameter to specify the listen device
  372. (Timo B. Hübel).
  373. * Removed withInput.
  374. * Replaced fileContents with filePath in Params.
  375. * Fixed bug in uploadForm.js which caused a prefix to be added in the
  376. default wikiname.
  377. Version 0.7.3.12 released 01 Feb 2011
  378. * Use pandoc 1.8.
  379. * New export formats: textile, org.
  380. * New page form: textile.
  381. Version 0.7.3.11 released 28 Jan 2011
  382. * Allow time 1.2.
  383. Version 0.7.3.10 released 26 Jan 2011
  384. * Updated for filestore-0.4.0.2. Gitit should now compile with ghc 7.
  385. Note: It may be necessary to supply the --disable-library-for-ghci
  386. flag to 'cabal install highlighting-kate'.
  387. Version 0.7.3.9 released 25 Jan 2011
  388. * Removed dependency on cautious-file.
  389. It no longer seems to be actively maintained, and the current
  390. configuration does not compile on windows.
  391. * Removed dependency on datetime package.
  392. It is no longer maintained.
  393. Everything can be done just as well with the time package.
  394. * Depend on filestore >= 0.4 (without datetime dependency).
  395. * Bump version bounds on hslogger, network and HTTP.
  396. * Support for GHC 7.0 in Plugins (thanks to Max Bollingbroke).
  397. * Use xss-sanitize for sanitizing HTML.
  398. Previously pandoc's sanitization was used, but this will be
  399. removed in the next pandoc release. xss-sanitize is a more complete
  400. solution, and also prevents people from messing up layout by inserting
  401. unbalanced </div>.
  402. * Updated Feed module to make it decouplable from gitit.
  403. * jQuery.load wasn't working on Safari. Use jQuery.post instead.
  404. Also, the convert function was not always in scope. (It is only in
  405. scope when MathML is enabled?) We check if it is defined before
  406. calling it. (Thanks to Sean Seefried.)
  407. * Export Page module.
  408. * Templates are in data directory
  409. * Fixed bug in Subst plugin (Lars Petersen).
  410. Subst plugin could not deal with non-existing pages, resulting
  411. in an server error when trying to substitute with an absent file.
  412. This patch now creates a link to the page in order to create it.
  413. * Added alt attribute to logo.
  414. Version 0.7.3.8 released 24 July 2010
  415. * Fixed MathML in Slidy and S5 exports.
  416. * Use languagesByFilename instead of languagesByExtension in isSource.
  417. Version 0.7.3.7 released 24 July 2010
  418. * Depend on pandoc >= 1.6, highlighting-kate >= 0.2.7.1
  419. * Added epub and slidy export formats.
  420. * Require happstack >= 0.5.
  421. * Added google math option (uses google charts api).
  422. Slightly modified from a patch by lpeterse.
  423. * Made WebArchiver plugin more parallel (gwern).
  424. * Fixed Dot plugin to work with GHC 6.12.
  425. We were having string encoding issues reading the output
  426. of dot with readProcess. Solution is to pass dot an output
  427. filename so we don't have to read its output.
  428. Version 0.7.3.6 released 05 May 2010
  429. * Fixed ODT/PDF export for files in subdirectories. Resolves Issue #81.
  430. * Fix image URLs before calling the ODT or PDF processors
  431. * Added plain text export format.
  432. * Raised upper bound for datetime, parsec, and happstack dependencies.
  433. * Fix wikilinks to they don't get a leading slash.
  434. This reverts a bug introduced by 2128afb070b7, which added leading
  435. slashes to wikilinks, breaking them for people using gitit as a
  436. library on a path other than /.
  437. Version 0.7.3.5 released 21 Mar 2010
  438. * Returned to using pandoc's MathML writer option.
  439. This is fixed in pandoc 1.5.0.1. Depend on pandoc >= 1.5.0.1.
  440. Version 0.7.3.4 released 21 Mar 2010
  441. * Use custom readFileUTF8 (exported in Network.Gitit.Util) instead of
  442. broken System.IO.UTF8. This way we have a uniform solution for GHC
  443. 6.10 and 6.12, and don't have to use CPP tricks. This change fixes
  444. categories on GHC 6.12. Resolves Issue #98.
  445. Version 0.7.3.3 released 21 Mar 2010
  446. * Reverted to handling math in MathML mode in the old way, using
  447. a transform, rather than relying on pandoc's MathML writer option.
  448. The latter was causing amazing CPU and memory usage, for reasons
  449. I don't yet understand. This should fix the problem for now.
  450. * Fixed caching for unicode page names.
  451. * Added max-page-size config option. Thanks to Jinjing Wang for the patch.
  452. * Prevented _expire/ from failing if the page is not cached.
  453. * Fixed URL encoding for pages. (Note: Don't use + for spaces;
  454. that breaks the Ctrl-R cache expiration.)
  455. Version 0.7.3.2 released 20 Mar 2010
  456. * Fixed editing of pages when max-upload-size=0.
  457. max-upload-size should not double as max-page-size.
  458. Resolves Issue #96.
  459. Version 0.7.3.1 released 20 Mar 2010
  460. * Changed "In" to "in" in MathMLinJS.js link.
  461. Version 0.7.3 released 20 Mar 2010
  462. * Added PDF export option and pdf-export config field.
  463. (Based on a patch by gwern.)
  464. * Added markdown export.
  465. * Use pandoc's new MathML math mode for more efficient
  466. MathML.
  467. * Improved multi-wiki example code in haddocks.
  468. * Added session-timeout config setting.
  469. * Config module: Added readSize (recognizing K,M,G suffix).
  470. Previously readNumber always recognized K,M,G suffixes,
  471. but these only make sense in some contexts (not e.g. for
  472. times).
  473. * Added Subst plugin (thanks to gwern).
  474. * Added notes on PDF caching and idle.
  475. * Fixed table of contents in wiki pages (resolving Issue #91).
  476. * Added pandoc-user-data config option, allowing the user
  477. to specify a directory with e.g. templates that override
  478. the defaults used for exported pages.
  479. * Fix filesToClean GHC panic when loading plugins on GHC HEAD
  480. * Fixed problem with doubled // in updir links.
  481. Resolves Issue #88.
  482. * Updated interwiki plugin.
  483. * Fixed caching for feeds. Thanks to brian.sniffen for pointing
  484. out the need to normalize the time diff. Resolves Issue #87.
  485. * Improved Feed module (gwern).
  486. * Use line anchors from highlighting-source, so that you can link
  487. directly to a particular line in a source file.
  488. * Disable upload functionality if maxUploadSize is 0.
  489. * Exported queryGititState, updateGititState, Network.Gitit.Layout.
  490. Exported filledPageTemplate. (Thanks to tphyahoo.)
  491. Split off and expose createDefaultPages.
  492. Exposed compilePageTemplate.
  493. * Use charset=utf-8 on output from Layout.
  494. * Use isUnescapedInURI with escapeURIString rather than isAllowedInURI.
  495. The latter does not escape % signs.
  496. Version 0.7.2 released 02 Jan 2010
  497. * Now compiles with GHC 6.12.
  498. Version 0.7.1 released 02 Jan 2010
  499. * Updated exports to work with pandoc 1.4.
  500. * Began updating to work with GHC 6.12. (Still untested; there may
  501. be further issues involving filestore.)
  502. Version 0.7 released 20 Dec 2009
  503. * Updated cabal file to allow happstack 0.4.
  504. * Added support for the new mercurial filestore backend.
  505. (Depending on filestore >= 0.3.4.)
  506. * Depend on xml >= 1.3.5. This fixes a bug in the display of
  507. mathml. Previously the self-closed tags in matrices with empty
  508. cells confused browsers and caused them to construct the
  509. DOM incorrectly. The problem is fixed by using xml's new
  510. ppcElement function to render the MathML without self-closed tags.
  511. * Depend on pandoc >= 1.3.
  512. * Properly handle UTF-8 in config files.
  513. * Moved option parsing code from Config module to main program.
  514. The Config module now exports getConfigFromFile instead of
  515. getConfigFromOpts. This should be more useful for those using gitit as
  516. a library.
  517. * Use wikiTitle config field in default HTML title.
  518. * Improved search results:
  519. + Highlight search terms in search results.
  520. Partially resolves Issue #76.
  521. + Made search results message uniform when no results.
  522. + Search: don't match page name against empty patterns.
  523. + Allow search matches on subdirectory part of page name.
  524. + Search: catch error status from filestore search.
  525. Filestore <= 0.3.3 does not properly handle the error status
  526. returned by later versions of 'git grep' when no match is found.
  527. The problem has been fixed in darcs filestore.
  528. * CSS tweaks:
  529. + Removed base-min.css, folded necessary styles into screen.css.
  530. + Removed 'text-align: left' for th from CSS reset.
  531. * Feed improvements:
  532. + Modified feed handling so that feeds validate.
  533. + Perform proper escaping in Feed.hs (thanks to gwern).
  534. + Don't reveal author email in feeds.
  535. + Sitewide feed is /_feed/ (with trailing slash).
  536. + Add "http://" to base-url config option if needed.
  537. * Use + for spaces in URLs linking to wiki pages and folders.
  538. * Updated plugins:
  539. + Updated Interwiki plugin (gwern).
  540. + Modified WebArchiver plugin to make Alexa requests (gwern).
  541. Version 0.6.6 released 06 Nov 2009
  542. * Require filestore >= 0.3.3, which closes a security
  543. vulnerability.
  544. * Don't allow web file uploads to the static or templates directory,
  545. even if these are subdirectories of the repository directory.
  546. We don't want users uploading new CSS, javascript, or templates
  547. that might break the site.
  548. * Renamed gitit-dog.png -> logo.png in data/static/img.
  549. This way the logo will show up even without a local img directory.
  550. Thanks to Thomas Hartmann for the patch.
  551. * Return 404 when page not found. Thanks to Richard Fergie.
  552. * Improved layout of Export button.
  553. * Added links for atom feeds to sitenav.st and pagetools.st, to
  554. make the feeds more discoverable.
  555. * Minor code safety improvements.
  556. * Check for commit messages consisting of whitespace.
  557. Commit messages consisting only of whitespace characters are
  558. rejected by Git as empty. Gitit should behave similarly.
  559. * Allow gitit to start up if custom template directory not found.
  560. Thanks to Thomas Hartmann.
  561. * Fixed incorrect usage of nullGroup (a debugging function). Thanks
  562. to Thomas Hartmann.
  563. Version 0.6.5 released 06 Oct 2009
  564. * Added metadata to Page and Context, provided askMeta for plugins.
  565. This patch gives plugins access to all of the key/value pairs
  566. in the page metadata block. Thanks to Dan Cook.
  567. * Added PigLatin plugin to demonstrate use of askMeta.
  568. * Display informative message on authentication failure.
  569. * Fixed library stanza in cabal file so plugins are properly enabled.
  570. Version 0.6.4 released 28 Sep 2009
  571. * Fixed preview javascript so that tex math works properly in
  572. preview.
  573. Version 0.6.3 released 27 Sep 2009
  574. * Fixed MathML conversion so it doesn't happen when exporting to
  575. non-HTML output formats.
  576. * Fixed shadowing on page templates: previously page.st was always
  577. taken from the defaults, even if a modified version existed
  578. in templates/.
  579. * Modified YUI CSS reset so that ordered list enumerators can be
  580. styled properly.
  581. * Modified showPage to work with both POST and GET requests.
  582. Version 0.6.2 released 25 Aug 2009
  583. * Use "reference obfuscation" for emails, rather than javascript
  584. obfuscation, which seems to interfere with preview. Resolves
  585. Issue #59.
  586. Version 0.6.1 released 25 Aug 2009
  587. Instructions for upgrading from 0.5.3:
  588. - If you were using a Haskell configuration file, you will
  589. need to create a new configuration file. 'gitit --print-default-config'
  590. will print a self-documenting default configuration file in the new
  591. format, which you can modify.
  592. - If your wiki contains discuss pages of the form 'foo:discuss.page',
  593. rename them to '@foo.page'.
  594. - Delete template.html and the static directory so that these will
  595. be replaced by the newest versions when you run gitit. If you have
  596. customized these, you should back them up first, then merge your
  597. changes into the new versions after they are created. (Note that
  598. template.html will be replaced by a templates/ directory.)
  599. Summary of main changes:
  600. * Added support for plugins -- dynamically loaded Haskell programs that
  601. transform pages. See the haddock documentation for Gitit.Interface for
  602. plugin documentation. The plugins directory contains several sample
  603. plugins.
  604. * Gitit's configuration file is now a text file with key-value pairs,
  605. rather than a Haskell file. The default configuration file
  606. (which can be printed using `gitit --print-default-config`
  607. contains comments that document all of the options.
  608. * Pages may now be written in (limited dialects of) LaTeX or HTML,
  609. as well as markdown and reStructuredText. The default format
  610. is determined by a configuration option, but can be overridden
  611. on a per-page basis using metadata (see below). The default
  612. Front Page and Help page are created in the default format specified
  613. by the configuration file. In addition, syntax help is now displayed
  614. to the left of the editing box when a page is being edited.
  615. * Pages may be written in literate Haskell, using either bird
  616. style with markdown or reStructuredText, or LaTeX style with
  617. LaTeX. Literate Haskell can be made the default or specified on
  618. a per-page basis.
  619. * Gitit now exports a library, Network.Gitit, that makes it easy for
  620. any happstack application to embed a gitit wiki.
  621. * Added optional atom feeds, for whole site (at /_feed)
  622. and for individual pages (at /_feed/path/to/page).
  623. Feeds are cached with a configurable expiration time.
  624. * Completely new caching system. Caching is turned off by default and
  625. can be enabled by a configuration option. Complete pages are cached
  626. on disk and expired when pages are revised through the web interface.
  627. When pages are modified directly through a VCS, the cache must be
  628. refreshed manually, either by pressing Ctrl-R while viewing a page,
  629. or by sending an HTTP request to /_expire/path/to/page, or by using
  630. the included program expireGititPath. The new system is much faster
  631. than the old in-memory cache, because it avoids the considerable
  632. overhead of filestore calls to get the current revision id.
  633. * To make whole-page caching possible, the user login/out box has been
  634. made into an ajax request to /_user. jQuery is now loaded on every
  635. page.
  636. * Math is converted to MathML by default (using the texmath library),
  637. and a javascript is linked in that renders it correctly in IE+mathplayer,
  638. Firefox, and Opera. The 'math' configuration setting can alternatively
  639. be set to 'jsMath' (to use jsMath javascript, which is more portable
  640. but ugly and slower) or 'raw' (plain LaTeX code).
  641. * Routing changes for better handling of web spiders. Instead of
  642. "/foo?history" we now have "/_history/foo"; instead of "/foo?edit"
  643. we haev "/_edit/foo"; etc. This makes it possible to exclude web
  644. spiders from non-cached pages by excluding URLs that start with
  645. '/_'. A default robots.txt file is now provided. Users need not
  646. do anything special for this to be enabled.
  647. * The authentication system has been revised and made much more
  648. flexible. In the configuration file, you can specify either
  649. 'form', 'http', or 'generic' as authentication-method. Form
  650. authentication is the old form-based gitit authentication system. HTTP
  651. authentication presupposes that the wiki pages are locked down under
  652. HTTP authentication; the gitit user will be set to the username used
  653. for HTTP authentication. Generic authentication takes the username
  654. from the REMOTE_USER request header. When gitit is being used as a
  655. library, one can specify a custom withUser filter (which determines
  656. the logged in user and sets REMOTE_USER accordingly) and a custom
  657. authHandler (including handlers for /_login, /_logout, and whatever
  658. else is needed).
  659. * Security fix: Gitit did not verify that a change password request
  660. is genuine when it receives the final POST. It has been changed to
  661. re-verify the reset code, otherwise an attacker could simply steal
  662. anyone's account by spoofing a POST request. (Thanks to Robin Green.)
  663. * template.html has now been replaced by a directory, templates/, with
  664. separate templates for each component of a page.
  665. * Added /_reloadTemplates action that recompiles the templates. (By
  666. default the templates are compiled only on startup.)
  667. * Gitit's form-based authentication now includes a "password reset"
  668. email. Slightly modified from a patch from Henry Laxen.
  669. * The naming scheme for discussion pages has changed: the discussion
  670. page for foo is now @foo, not foo:discuss. Reason: Windows, and
  671. thus darcs, does not like colons in filenames.
  672. * Improved logging, with configurable verbosity.
  673. * Major code reorganization and cleanup. Gitit has been moved under
  674. the Network namespace. The old WebT handlers are replaced by new ones
  675. in ServerPartT. 'handle' has been removed; instead, we use happstack's
  676. routing combinators. Configuration and filestores are now passed
  677. around in a reader monad, in WikiState. (This also allows different
  678. wikis to have different configurations.) Most handlers have been
  679. simplified so that they no longer require Page and Params arguments.
  680. A new function, 'withInput', is used to avoid the need to pass Params
  681. between handlers.
  682. * The static handler now "falls back" to the cabal data directory if the
  683. requested file is not in "static" (or staticDir). So the user need
  684. no longer have a copy of the standard gitit CSS, javascript, and
  685. image files in "static" (unless these are to be overridden). This
  686. should make updates easier. By default only 'custom.css' and
  687. 'logo.png' are put in the user's static directory.
  688. * Similarly, the templates in "templates" "fall back" to defaults in
  689. the cabal data directory. By default only 'footer.st' is put in
  690. the user's static directory.
  691. * Gitit State now includes a renderPage function. This is more flexible
  692. than storing a page template, since the user may want to use a custom
  693. page rendering function, even one not based on string templates.
  694. * Added Network.Gitit.ContentTransformer module (thanks to Anton van
  695. Straaten). The ContentTransformer module replaces Gitit.Convert. It
  696. defines a number of single-purpose combinators that can be combined to
  697. yield various kinds of content conversions. These are used to define
  698. showPage, preview, showHighlightedSource, and other handlers that used
  699. to be defined in Gitit.hs.
  700. * Verify in delete POST requests that filetodelete parameter matches
  701. page.
  702. * Fixed revert when called from diff pages. Revert now reverts to the
  703. older of the two revisions being compared.
  704. * Revamped auto-merging: user must now verify an edited page after
  705. a merge, even if there were no conflicts.
  706. * Fixed Content-Disposition header on export so that filenames have
  707. proper extensions.
  708. * Updated for happstack-server-0.3.3. Since this version of happstack
  709. supports UTF-8, gitit's old manual decoding and encoding were removed.
  710. * Use fileServeStrict instead of fileServe. Resolves Issue #57.
  711. * 'limit' is no longer used in search. The way it worked before was
  712. confusing, since it limited total matches (usually to just a few files)
  713. rather than limiting the number of matches in each file.
  714. * rdgreen's cautious-file library is now used to write the gitit-users
  715. file. This makes it less likely that the file will be corrupted on
  716. a power outage or hardware failure.
  717. * Redirects set properly after account creation. If users go from
  718. the Login form to the Register form, they are no longer redirected
  719. back to the Login form after creating an account.
  720. * indexPage now uses filestore's new 'directory' function. It shows one
  721. directory at a time. Subdirectories link to further index pages. This
  722. improves on the old javascript folding interface, which did not preserve
  723. state. (Thanks to Thomas Hartman for suggestions.)
  724. * URLs of the form /a/b/ are now equivalent to /_index/a/b.
  725. * Improvements and bug fixes to deleting. Deleting a non-page now works.
  726. You get a nice informative message if you try to delete a nonexistent
  727. page or file.
  728. * Page names containing "..", "?", or "*", and '_' at beginning are
  729. disallowed. Page names may now contain periods.
  730. * The "Permanent link" link has been removed. It relied on the sha1
  731. parameter always being set, but we've changed that for performance
  732. reasons.
  733. * Gitit can now be proxied to a subdirectory path. Thanks to Henry Laxen
  734. for the idea and patches. See README for instructions.
  735. * Performance improvements (mostly due to Gwern Branwen): Pages can be
  736. compressed (configurable); unneeded filestore calls removed; cache-control:
  737. max-age used.
  738. * Moved sidebar to end of HTML to make things easier for screen readers.
  739. * Moved search box and go box to templates.
  740. * Yahoo YUI CSS framework is now used for better consistency across browsers.
  741. CSS cleaned up. Icons for page types removed.
  742. * Fixed handling of 'forUser' parameter in 'recent activity'.
  743. * Made default maxUploadSize 10 Mb.
  744. * Renamed AppState -> GititState.
  745. Version 0.5.3 released 1 Feb 2009
  746. * Fixed bug which caused jsMath not to load.
  747. Version 0.5.2 released 1 Feb 2009
  748. * Fixed cookie problem caused by empty value fields.
  749. Version 0.5.1 released 1 Feb 2009
  750. * Major code reorganization, making gitit more modular.
  751. * Gitit can now optionally be built using Happstack instead of HAppS
  752. (just use -fhappstack when cabal installing).
  753. * Fixed bug with directories that had the same names as pages.
  754. * Added code from HAppS-Extra to fix cookie parsing problems.
  755. * New command-line options for --port, --debug.
  756. * New debug feature prints the date, the raw request, and
  757. the processed request data to standard output on each request.
  758. * Files with ".page" extension can no longer be uploaded.
  759. * Apostrophes and quotation marks now allowed in page names.